latest--maturin
shared| Type | object |
|---|---|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/pyproject/_shared/latest--maturin.json |
| Parent schema | pyproject |
The [tool.maturin] section of a pyproject.toml
Properties
Activate all available features
Audit wheel mode
Bindings type
Platform compatibility
Override a configuration value (unstable)
Path to the wheel directory, defaults to <module_name>.data
Same as profile but for "editable" builds
Exclude files matching the given glob pattern(s).
Patterns are resolved relative to the directory containing pyproject.toml.
List of features to activate.
Each entry can be a plain feature name string, or a conditional object
with feature and python-version keys.
Require Cargo.lock and cache are up to date
CI generation configuration
Include files matching the given glob pattern(s).
Patterns are resolved relative to the directory containing pyproject.toml.
When python-source is configured, patterns are also tried relative to
that directory if no matches are found.
Include the import library (.dll.lib) in the wheel on Windows
Require Cargo.lock is up to date
Path to Cargo.toml
Module name, accepts setuptools style import name like foo.bar
Do not activate the default feature
Build artifacts with the specified Cargo profile
Python packages to include
The directory with python module, contains <module_name>/__init__.py
Additional rustc arguments
SBOM configuration
Source distribution generator
Skip audit wheel
Strip the final binary
Cargo compile targets
Unstable (nightly-only) flags to Cargo, see 'cargo -Z help' for details
Use base Python executable instead of venv Python executable in PEP 517 build.
Definitions
Auditwheel mode
Supported cargo crate types
Cargo compile target
Name as given in the Cargo.toml or generated from the file name
Kind of target ("bin", "cdylib")
A cargo feature specification that can be either a plain feature name or a conditional feature that is only enabled for certain Python versions.
Examples
[tool.maturin]
features = [
"some-feature",
{ feature = "pyo3/abi3-py311", python-version = ">=3.11" },
{ feature = "pyo3/abi3-py38", python-version = "<3.11" },
{ feature = "pyo3/abi3-py311", python-version = ">=3.11", python-implementation = "cpython" },
{ feature = "pypy-compat", python-implementation = "pypy" },
]
The target format for the include or exclude [GlobPattern].
See [Formats].
A single [Format] or multiple [Format] values for a [GlobPattern].
The [tool.maturin.generate-ci] section
GitHub Actions configuration
The [tool.maturin.generate-ci.github] section
Android platform configuration
Extra arguments to pass to maturin (applies to all platforms)
Emscripten platform configuration
Linux (manylinux) platform configuration
macOS platform configuration
Musllinux platform configuration
Enable pytest
Skip artifact attestation
Windows platform configuration
Use zig for cross compilation
A glob pattern for the include and exclude configuration.
See [PyProjectToml::include] and [PyProject::exclude].
Based on https://python-poetry.org/docs/pyproject/#include-and-exclude.
Supported values for the from field in include patterns.
Per-platform CI configuration
Extra arguments to pass to maturin
Script to run before build on Linux
Container image to use
Docker options
Manylinux version (e.g. "auto", "2_28", "musllinux_1_2")
Default runner for this platform
Rust toolchain (e.g. "nightly", "stable")
Rustup components to install
Detailed per-target configuration (mutually exclusive with targets)
Simple list of target architectures (mutually exclusive with target)
Decides how to handle manylinux and musllinux compliance
SBOM configuration
Generate a CycloneDX SBOM for external shared libraries grafted during
auditwheel repair. Defaults to true when repair copies libraries.
The SBOM is written to <dist-info>/sboms/auditwheel.cdx.json and
records which OS packages (deb, rpm, apk) provided the grafted
libraries, following the same convention as Python's auditwheel.
Additional SBOM files to include in the .dist-info/sboms directory.
Generate an SBOM for Rust crates. Defaults to true.
Source distribution generator
Per-target CI configuration within a platform
Target architecture (e.g. "x86_64", "aarch64")
Extra arguments to pass to maturin
Before-script-linux override
Container image override
Docker options override
Manylinux version override
Runner override for this target
Rust toolchain override
Rustup components override
Target configuration
macOS deployment target version