Maturin
maturin.rs
Spec sheet
- Purpose
- Maturin builds and publishes Rust crates with Python bindings, as well as Rust binaries, as Python packages.Read 7 Oct 2026 · maturin.rs
- Integrations
- The guide describes integration with tox and recommends using uv to publish packages with `uv publish`.Read 7 Oct 2026 · maturin.rs
- License
- Maturin is licensed under either Apache License 2.0 or MIT, at the user's option.Read 7 Oct 2026 · maturin.rs
- Bindings
- It supports PyO3, cffi, UniFFI, and binary bindings.Read 7 Oct 2026 · maturin.rs
- Bindings limitation
- For cffi and binary projects, the `bindings` setting is required because Maturin cannot automatically detect those bindings.Read 7 Oct 2026 · maturin.rs
- Build commands
- Its main commands are `maturin new` to create a configured Cargo project, `maturin build` to build wheels, and `maturin develop` to build and install a module in the current virtual environment.Read 7 Oct 2026 · maturin.rs
- Build workflow
- The `maturin build` command builds wheels into `target/wheels` by default and does not upload them.Read 7 Oct 2026 · maturin.rs
- CI integration
- The `maturin generate-ci` command can generate a GitHub Actions workflow for building and publishing release artifacts.Read 7 Oct 2026 · maturin.rs
- Development limit
- The guide notes that `maturin develop` is faster but does not support every feature available when installing after `maturin build`.Read 7 Oct 2026 · maturin.rs
- Development workflow
- The `maturin develop` command builds a crate and installs it as a Python module in the current virtual environment.Read 7 Oct 2026 · maturin.rs
- Installation
- The guide lists binary downloads, pipx, uv, and pip as installation options.Read 7 Oct 2026 · maturin.rs
- Linux compatibility
- For widely usable Linux wheels, the guide says to use a manylinux Docker image or build with zig; Maturin checks generated libraries and assigns wheel platform tags.Read 7 Oct 2026 · maturin.rs
- Linux wheel compatibility
- For widely usable Linux wheels on PyPI, the guide says to use a manylinux Docker image or build with zig.Read 7 Oct 2026 · maturin.rs
- Operating systems
- The guide lists Windows, Linux, macOS, and FreeBSD as supported wheel-building platforms.Read 7 Oct 2026 · maturin.rs
- Package publishing
- Maturin can upload built packages to PyPI.Read 7 Oct 2026 · maturin.rs
- Packaging
- Maturin can build source distributions when configured through `pyproject.toml` and invoked with `--sdist`.Read 7 Oct 2026 · maturin.rs
- Platform releases
- Downloadable binaries are built for Windows, Linux, and macOS, with listed architectures including x86, ARM, and PowerPC variants.Read 7 Oct 2026 · maturin.rs
- Publishing
- The guide says Maturin can upload packages to PyPI and recommends `uv publish` for publishing packages built with `maturin build`.Read 7 Oct 2026 · maturin.rs
- Python interpreters
- Maturin has basic PyPy and GraalPy support.Read 7 Oct 2026 · maturin.rs
- Python support
- The guide says Maturin supports building wheels for Python 3.8 and later, with basic PyPy and GraalPy support.Read 7 Oct 2026 · maturin.rs
- Security and compliance
- The guide describes manylinux compatibility checks for Linux wheels; no security certification or compliance program is stated on the pages reviewed.Read 7 Oct 2026 · maturin.rs
- Supported Python versions
- Maturin supports building wheels for Python 3.8 and later.Read 7 Oct 2026 · maturin.rs
- Trusted publishing
- Generated GitHub Actions workflows can use PyPI trusted publishing with OpenID Connect instead of an API token.Read 7 Oct 2026 · maturin.rs
Where Specifiction places it
- Python Package Managers#18 of 277.5