backpressure
This package is under active development and not yet ready for use.
It exists on PyPI as a minimal placeholder to reserve the project name while the real implementation is prepared. Please do not depend on it in production.
Development
This repo uses uv and hatchling as the build backend. Local Python is pinned in .python-version (currently 3.14); pyproject.toml declares requires-python = ">=3.11" so CI can exercise 3.11 through 3.14.
- Create a venv and install the project in editable mode:
uv sync - Install dev tools (ruff, basedpyright, pytest):
uv sync --all-extras --dev - Build sdist and wheel into
dist/:uv build
Continuous integration
On every push and pull request to main, GitHub Actions runs uv sync --locked --all-extras --dev, ruff, basedpyright, and pytest on Python 3.11–3.14. The same workflow is exposed as workflow_call so .github/workflows/publish.yml can run checks before publishing.
Publishing (PyPI trusted publisher, no API token)
Publishing runs only when you publish a GitHub Release (not on draft releases). The publish job uses OpenID Connect to PyPI—no UV_PUBLISH_TOKEN in GitHub secrets.
-
PyPI — add a pending trusted publisher (Account settings → Publishing → Trusted publisher management → Add a new pending publisher → GitHub):
- PyPI project name:
backpressure(must match[project].nameinpyproject.toml). - Owner: your GitHub username or organization (the
github.com/<owner>/...segment). - Repository name: this repo’s name (e.g.
backpressure-placeholder). - Workflow name:
publish.yml. - Environment name: if you use
pypihere, it must match the GitHub Environment below. If you leave it empty on PyPI, remove theenvironment:block from thepublishjob in.github/workflows/publish.ymlso the two match.
- PyPI project name:
-
GitHub — environment (only if you set “pypi” on PyPI)
In the repo: Settings → Environments → New environment → namepypi. You do not need to add a PyPI token; optional protection rules (e.g. required reviewers) control who can publish. -
Repo — ship the workflows
Ensuremaincontains.github/workflows/ci.ymland.github/workflows/publish.ymlas in this repository. -
Version — align
pyproject.tomland the release
Setversioninpyproject.tomlto the version you are about to ship (e.g.0.0.1). Commit and push tomain. PyPI will reject a version that already exists for that project. -
Tag and release
Create a git tag on that commit (convention:v0.0.1matching the version). In GitHub: Releases → Draft a new release, choose the tag, set title/notes, then Publish release. That firesrelease: types: [published], runsciviaworkflow_call, thenpublish(uv build --clearanduv publish --trusted-publishing always). -
Verify
Openhttps://pypi.org/project/backpressure/and confirm the new version appears.
Optional — publish from your laptop instead: after uv build --clear, use uv publish with a PyPI API token (UV_PUBLISH_TOKEN or --token). That path does not use the trusted publisher setup above.
PyPI ownership is independent of where the Git repository is hosted. After the name is claimed, you can move the project to another org or URL and update Homepage / Repository links in pyproject.toml (or on the PyPI project page) whenever you like.
Metadata
Release files for backpressure 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| backpressure-0.0.1.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| backpressure-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / backpressure-0.0.1.tar.gz
| Download URL | backpressure-0.0.1.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f542e947216319c47616e1ad108bf10671e94793fefc2c016be137994a9c21b5
|
|
BLAKE2b-256 checksum How to use checksums |
6ca105bdb9b7429c745da333eda0d1fe65b215bc8985b310f1a26eca79b4725f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / backpressure-0.0.1-py3-none-any.whl
| Download URL | backpressure-0.0.1-py3-none-any.whl |
|---|---|
| Size | 4.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ab635c509f18a50cb3beb7b72fb5a5cb36c37802ede3ea03ce07039e45350c83
|
|
BLAKE2b-256 checksum How to use checksums |
725607d1c970cfd1e34717c73e8e56cbf828054a5d1ba732dceaf4b4eab83b71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|