pkg.sopackage field notes

brew / rank 1599

Install maturin with Homebrew

Build and publish Rust crates as Python packages. Version 1.14.1 via Homebrew; verified 2026-06-19.

install

Additional install commands

macOS

Homebrewverified ยท 100%
brew install maturin

provider-native install command

overview

Package summary

Build and publish Rust crates as Python packages

Commands and aliases

  • maturin

history

Project history and usage

maturin is the PyO3 ecosystem's Rust-to-Python packaging tool. It builds Rust crates with PyO3, cffi, UniFFI, and binary bindings into Python wheels and source distributions, and can also publish packages to PyPI.

Project history

The README identifies maturin as formerly `pyo3-pack`, and the changelog records the 0.1.0 release on 2018-08-22. A later changelog entry states that the project changed its name from pyo3-pack to maturin and added PEP 517 support.

The project evolved from a PyO3-focused wheel builder into a broader Python packaging bridge for Rust. The README documents support for Python 3.8+ wheels on Windows, Linux, macOS, and FreeBSD, plus PyPy and GraalPy support. The changelog tracks packaging-specific work such as manylinux, musllinux, auditwheel behavior, PEP 621 metadata, PEP 660 editable installs, UniFFI support, Zig-based cross compilation, and PyPI attestations.

Adoption history

maturin's adoption followed the growth of Python packages with Rust native extensions. The README examples list prominent Rust-backed Python projects and bindings such as orjson, polars, pydantic-core, ruff, tantivy-py, watchfiles, DataFusion/Arrow bindings, and delta-rs Python bindings.

The batch input records packaging in Homebrew, Alpine, Fedora, Nix, and Arch. In practice, maturin is also commonly installed from PyPI with pip, pipx, uv, or as part of PEP 517 builds, making it both an end-user CLI and a build backend in Python packaging workflows.

How it is used

Common commands are `maturin new`, `maturin build`, and `maturin develop`. The README recommends `maturin build` for producing wheels under `target/wheels`, `maturin develop` for installing into the current virtualenv during development, and `uv publish` or related tooling for publication.

Configuration lives in `pyproject.toml` when projects need Python metadata, build-system configuration, `tool.maturin` options, Python source layout, binding type, compatibility settings, include rules, or PEP 621 metadata. For simple projects, the README says maturin can work with minimal extra configuration and merge metadata from Cargo.toml and pyproject.toml.

Why package nerds care

maturin is a package-nerd cornerstone because it sits exactly where Rust's Cargo model and Python's wheel/PEP ecosystem meet. It hides a lot of platform tagging, manylinux/musllinux, interpreter detection, native-library repair, metadata, and cross-compilation detail behind one command.

Its importance rose as Python projects adopted Rust for speed and safety while still needing ordinary `pip install` behavior. For distro and Homebrew maintainers, maturin is both a packaged tool and part of the build chain for other packages.

Timeline

  • 2018: Changelog records the 0.1.0 release.
  • 2020: Changelog records the rename from pyo3-pack to maturin and PEP 517 support.
  • 2023: GitHub release v1.0.0 is published.
  • 2020s: Changelog records support for PEP 621, PEP 660, musllinux, UniFFI, Zig cross compilation, SBOMs, and PyPI attestations.

Related projects

  • maturin is closely tied to PyO3 and Python packaging standards. Neighboring tools and projects include setuptools-rust, auditwheel, cibuildwheel, uv, pipx, Cargo, PyPI, and Rust-backed Python packages such as pydantic-core, ruff, orjson, polars, and watchfiles.

security posture

No protected-tool coverage found yet

No matching local secret-handling manifest was found for maturin. Nucleus package metadata is still published here so future coverage has a stable package URL.

Install behavior

  • No Homebrew bottle metadata was recorded.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
pyproject.toml

executables

Installed executables

CommandKindExposureNote
maturinexecutableindexed executableDiscovered from the local executable index.

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-08-03
manager version1.14.1
manager updated2026-06-19
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:maturin
Version1.14.1
Package managerHomebrew
Homepagehttps://github.com/PyO3/maturin
Repositoryhttps://github.com/PyO3/maturin
Last updated2026-06-19T08:00:43Z
Pulseupdated
Bottlenot recorded
Servicenone declared

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • curated configuration and credential file locations
  • curated package history
  • pkgdb category and tag curation