Prepare 0.2.0 for PyPI - #1
Merged
Merged
Conversation
Add CI, docs, Python and license badges, a documentation link block, and a "When FlowRoute fits" section that states the selector boundary up front. Explain the narrowing guarantee under the pipeline diagram and point the documentation section at the published site rather than local Markdown. The README is the PyPI long description, so this is the first thing a reader sees on the project page. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Release on v* tags via a build job and a separate publish job that holds the only id-token: write permission, so build-time dependencies cannot reach the OIDC credential. No API token is stored in the repository. The build job refuses to publish when the tag does not match the version in pyproject.toml, and smoke tests the built wheel in a clean virtualenv before the artifact is handed to the publish job. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares the first PyPI release of FlowRoute. The name
flowrouteis unclaimed on PyPI — noflowroute*package exists today.What is here
README.md— badges, a documentation link block, a "When FlowRoute fits" section, and the narrowing guarantee under the pipeline diagram. The README is the PyPI long description, so this is the project page..github/workflows/release.yml— publishes onv*tags using PyPI trusted publishing (OIDC). No API token is stored anywhere:buildandpublishare separate jobs, and onlypublishholdsid-token: write, so build-time dependencies never sit in a job that can mint the OIDC credential;pyproject.toml(v0.3.0against a0.2.0pyproject fails closed rather than shipping a mislabelled release);examples/workflows.yamlbefore the artifact reachespublish.Verified locally against this branch
pytest -qruff check src tests training examplesmypy --no-incremental src/flowroutepython -m buildtwine check dist/*ROUTE/orders.get_statuspip checkmkdocs build --strictBefore this can publish
PyPI needs a pending publisher for
flowroute— repositoryopen-first/FlowRoute, workflowrelease.yml, environmentpypi— and a matchingpypienvironment on the repo. Taggingv0.2.0after merge then publishes.Until that is configured the workflow will fail at the publish step, which is the safe direction: 0.2.0 can never be re-uploaded once it lands.
🤖 Generated with Claude Code