Repository navigation
fix(python): package markkit with OIDC publishing - #14
Merged
Merged
Conversation
chaliy
marked this pull request as ready for review
October 23, 2026 20:53
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.
What
Package the first Python distribution as
markkit, exposingimport markkitwith no legacymarkkit_pythonalias. The internal Rust package remainsmarkkit-python; core Rust and npm APIs/versions are unchanged.Why
The old Python build inherited the Rust package name and required a missing PyPI token. The first public Python release needs its intended package/import identity and the configured PyPI Trusted Publisher.
How
pyproject.tomlsupplies Python metadata and selects the binding crate. Git-based sdists retain the complete workspace and byte-identical security lockfile; the irrelevant directory symlink is excluded.id-token: write; it uses the pinned official PyPA publishing action without stored credentials.Risk
v0.1.1remains immutable for already-published Rust/npm artifacts. Python 0.1.1 is the first Python publication and is built from this merged change.Security
Reviewed package identity, immutable artifact handoff, preserved dependency locks and publisher credential exposure. OIDC permission is limited to the upload job; builds and public-install verification have read-only permissions. No token, custom trust-policy or global security changes.
Validation
just pre-pr: formatting, clippy, 221 passing Rust tests, cargo-deny all categories passed.maturin build --release --locked --offline --sdist: rebuilt the wheel from the actual source archive. Workspace Cargo.toml and Cargo.lock in the archive are byte-identical to source.twine check --strictpassed for wheel and sdist.import markkit, sync/async/options extraction pass;find_spec("markkit_python") is None.actionlintpassed for both Python workflows.Actual installed-wheel smoke:
Follow-ups
Additional prebuilt wheel platforms are outside this initial release. The source distribution is included and verified for source installs.
Checklist