Conversation
Rust/PyO3 bindings for the age file encryption tool. pyo3's abi3-py310 feature is unconditional in Cargo.toml, so a single abi3 wheel covers cp310-cp314 and the free-threaded build gets its own cp314t wheel. No C dependencies (age is pure Rust), so no in-container native toolchain beyond rustup is needed.
luhenry
added a commit
that referenced
this pull request
Sep 7, 2026
Verified via CI: v1.4.0's Cargo.lock pins pyo3 0.24.2, whose build
script hard-errors on any non-abi3 build against a 3.14 interpreter
("configured Python interpreter version (3.14) is newer than PyO3's
maximum supported version (3.13)"). A bump was tried locally: pyo3-file
0.12.0 also needs bumping (its pyo3 req is pinned to "0.24"), and pyo3
0.29.2 then fails to compile pyrage's own src/*.rs (Python::with_gil
was renamed to try_attach), which is too invasive to backport here.
… 314) pyrage has no [tool.maturin] python-source, so maturin auto-generates pyrage/__init__.py wrapping the compiled pyrage/pyrage.abi3.so submodule; pyrage.__file__ is the shim, not the extension.
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.
pyrage1.4.0Compiles PyO3/maturin bindings around the Rust
age/ragecrates for file encryption and decryption. Upstream publishes no riscv64 wheel.Mirrors the
testjob of upstream'sci.yml.Matrix:
cp310-abi3wheel reused across cp310-cp314, plus a separatecp314twheel - pyo3'sabi3-py310feature is unconditional inCargo.toml, and pyo3 disables abi3 underPy_GIL_DISABLED.Testing
License: OK
Confirmed no C dependencies:
age/age-core/pyo3-fileare pure Rust, so no in-container native toolchain beyondrustupis needed.