# Install maturin with Homebrew

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

## Install

```sh
sudo av install brew:maturin
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install maturin
```

  Evidence: provider-native install command

## Package facts

- **Package key:** brew:maturin
- **Package manager:** Homebrew
- **Version:** 1.14.1
- **Source summary:** Build and publish Rust crates as Python packages
- **Homepage:** <https://github.com/PyO3/maturin>
- **Repository:** <https://github.com/PyO3/maturin>
- **Last updated:** 2026-06-19T08:00:43Z
- **Generated:** 2026-08-03T00:40:33+00:00

## Executables

- maturin (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.14.1
## 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.

### Sources

- <https://github.com/PyO3/maturin>
- <https://github.com/PyO3/maturin/releases/tag/v1.0.0>
- <https://raw.githubusercontent.com/PyO3/maturin/main/Changelog.md>
- <https://raw.githubusercontent.com/PyO3/maturin/main/README.md>
- <https://www.maturin.rs/>
- source_facts.package-manager


## Security Notes

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.



## 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

- Unix: pyproject.toml

## Combined YAML source

View the package source record on GitHub. [combined/maturin.yml](https://github.com/automic-vault/db/blob/main/combined/maturin.yml)


## Sources

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