# Install maturin with Homebrew, apk, dnf, Nix, pacman

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: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add maturin
```

  Evidence: Alpine Linux edge package indexes: maturin from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- dnf (92%):

```sh
sudo dnf install maturin
```

  Evidence: Fedora Rawhide package metadata: maturin from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#maturin
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ma/maturin/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S maturin
```

  Evidence: Arch Linux sync databases: maturin from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:maturin
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/maturin>
- **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>
- **Upstream docs:** <https://www.maturin.rs/>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://github.com/PyO3/maturin/archive/refs/tags/v1.14.1.tar.gz>
- **Last updated:** 2026-06-19T08:00:43Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- maturin (cli)
- maturin (alias)

## Dependencies

- xz

## Build dependencies

- pkgconf
- rust

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.14.1
- Package-manager updated: 2026-06-19
- Local data: ok
- Upstream repository: https://github.com/PyO3/maturin
- Upstream latest detected: v1.14.1 (current)
## 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
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** maturin
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - maturin: normalized package name match | nixpkgs package indexes: pkgs/by-name/ma/maturin/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - maturin - 1.11.5-r1: normalized package name match | Alpine Linux edge package indexes: maturin from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Build and publish crates with pyo3, rust-cpython and cffi bindings | https://github.com/PyO3/maturin
- apk - maturin-bash-completion - 1.11.5-r1: normalized package name match | Alpine Linux edge package indexes: maturin-bash-completion from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Bash completions for maturin | https://github.com/PyO3/maturin
- apk - maturin-fish-completion - 1.11.5-r1: normalized package name match | Alpine Linux edge package indexes: maturin-fish-completion from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Fish completions for maturin | https://github.com/PyO3/maturin
- apk - maturin-zsh-completion - 1.11.5-r1: normalized package name match | Alpine Linux edge package indexes: maturin-zsh-completion from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Zsh completions for maturin | https://github.com/PyO3/maturin
- apk - py3-maturin - 1.11.5-r1: normalized package name match | Alpine Linux edge package indexes: py3-maturin from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Build and publish crates with pyo3, rust-cpython and cffi bindings (python module) | https://github.com/PyO3/maturin
- apk - py3-maturin-pyc - 1.11.5-r1: normalized package name match | Alpine Linux edge package indexes: py3-maturin-pyc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Precompiled Python bytecode for py3-maturin | https://github.com/PyO3/maturin
- dnf - maturin - 1.9.6-6.fc45: normalized package name match | Fedora Rawhide package metadata: maturin from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Build and publish Rust crates as Python packages | https://github.com/PyO3/maturin
- pacman - maturin - 1.13.3-1: normalized package name match | Arch Linux sync databases: maturin from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Build and publish crates with pyo3, rust-cpython and cffi bindings | https://github.com/PyO3/maturin


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Package publisher tools](https://www.automicvault.com/pkg/package-publishers/) - Belongs to a package publishing or registry command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [xz](https://www.automicvault.com/pkg/brew/xz/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [fobis](https://www.automicvault.com/pkg/brew/fobis/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools, python.
- [fypp](https://www.automicvault.com/pkg/brew/fypp/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools, python.
- [python-build](https://www.automicvault.com/pkg/brew/python-build/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, packaging, python.
- [yeet](https://www.automicvault.com/pkg/brew/yeet/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools, packaging.
- [ant](https://www.automicvault.com/pkg/brew/ant/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [compiledb](https://www.automicvault.com/pkg/brew/compiledb/) - Shares av.db curated category or tags: build-tools, cli, developer-tools, python.
- [dub](https://www.automicvault.com/pkg/brew/dub/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.
- [grunt-cli](https://www.automicvault.com/pkg/brew/grunt-cli/) - Shares av.db curated category or tags: build-tool, build-tools, cli, developer-tools.

## 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
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
