PyO3/maturin
Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
Build with Backblaze B2
SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.
Loading star history...
Where it stands
Rank, growth pace and release cadence relative to everything GStars tracks.
2 releases in the last 90 days, the latest 7 days ago, with 223 contributors on GitHub.
Peaked at #98 in the weekly ranking the week of Oct 5, its best in the past year.
Use Cases & Benefits
- Build and publish Rust crates with pyo3, cffi, and uniffi bindings as Python packages and wheels across multiple platforms with minimal configuration.
- Enables seamless creation and distribution of native Python extensions from Rust code, supporting cross-compilation and manylinux compliance for broad compatibility.
- Use for packaging Rust libraries as Python modules to leverage Rust's performance in Python applications.
- Use for automating publishing of Python wheels to PyPI, including support for source distributions and manylinux Docker environments.
- Use for integrating Rust code into Python development workflows with direct installation into virtual environments for rapid iteration.
Should you depend on it?
License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.
License
Apache 2.0
Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.
Community files
- README: present
- Code of conduct: present
Watch-outs
No watch-outs from GStars' checks.
General guidance from repository metadata, not legal advice. How we score
From the README
Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages with minimal configuration. It supports building wheels for python 3.8+ on Windows, Linux, macOS and FreeBSD, can upload them to pypi and has basic PyPy and GraalPy support.
Check out the User Guide!
You can either download binaries from the latest release or install it with pipx or uv:
maturin doesn't need extra configuration files and doesn't clash with an existing setuptools-rust configuration. You can even integrate it with testing tools such as tox. There are examples for the different bindings in the
test-cratesfolder.The name of the package will be the name of the cargo project, i.e. the name field in the
[package]section ofCargo.toml. The name of the module, which you are using when importing, will be thenamevalue in the[lib]section (which defaults to the name of the package). For binaries, it's simply the name of the binary generated by cargo.When using
maturin buildandmaturin developcommands, you can compile a performance-optimized program by adding the-ror--releaseflag.
Daily snapshots
Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots
Forks
448+22
Open issues
52+0
Compared with peers in Backend
Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth
| Repository | Stars | +7d | Health | Last release |
|---|---|---|---|---|
| anthropics/skills | 187.8K | +2.9K | 15 | — |
| DuarteSantos8/openGym | 19.7K | +2.4K | 60 | 2 days ago |
| shiyu-coder/Kronos | 47.0K | +2.3K | 16 | — |
| NationalSecurityAgency/ghidra | 98.2K | +2.3K | 64 | 14 days ago |
| microsoft/VibeVoice | 56.0K | +1.1K | 29 | — |
| PyO3/maturin | 5.9K | — | 60 | 7 days ago |
| Category median | 56.0K | +2.3K | 29 | — |
Also by PyO3
Other repositories from this maintainer that GStars tracks
Discover Repositories
Search across tracked repositories by name or description