Struct maturin::BuildContext[][src]

pub struct BuildContext {
Show 18 fields pub target: Target, pub bridge: BridgeModel, pub project_layout: ProjectLayout, pub metadata21: Metadata21, pub crate_name: String, pub module_name: String, pub manifest_path: PathBuf, pub out: PathBuf, pub release: bool, pub strip: bool, pub skip_auditwheel: bool, pub platform_tag: Option<PlatformTag>, pub cargo_extra_args: Vec<String>, pub rustc_extra_args: Vec<String>, pub interpreter: Vec<PythonInterpreter>, pub cargo_metadata: Metadata, pub universal2: bool, pub editable: bool,
}
Expand description

Contains all the metadata required to build the crate

Fields

target: Target

The platform, i.e. os and pointer width

bridge: BridgeModel

Whether to use cffi or pyo3/rust-cpython

project_layout: ProjectLayout

Whether this project is pure rust or rust mixed with python

metadata21: Metadata21

Python Package Metadata 2.1

crate_name: String

The name of the crate

module_name: String

The name of the module can be distinct from the package name, mostly because package names normally contain minuses while module names have underscores. The package name is part of metadata21

manifest_path: PathBuf

The path to the Cargo.toml. Required for the cargo invocations

out: PathBuf

The directory to store the built wheels in. Defaults to a new “wheels” directory in the project’s target directory

release: bool

Pass –release to cargo

strip: bool

Strip the library for minimum file size

skip_auditwheel: bool

Whether to skip checking the linked libraries for manylinux/musllinux compliance

platform_tag: Option<PlatformTag>

Whether to use the the manylinux/musllinux or use the native linux tag (off)

cargo_extra_args: Vec<String>

Extra arguments that will be passed to cargo as cargo rustc [...] [arg1] [arg2] --

rustc_extra_args: Vec<String>

Extra arguments that will be passed to rustc as cargo rustc [...] -- [arg1] [arg2]

interpreter: Vec<PythonInterpreter>

The available python interpreter

cargo_metadata: Metadata

Cargo.toml as resolved by cargo_metadata

universal2: bool

Whether to use universal2 or use the native macOS tag (off)

editable: bool

Build editable wheels

Implementations

Checks which kind of bindings we have (pyo3/rust-cypthon or cffi or bin) and calls the correct builder.

Builds a source distribution and returns the same metadata as BuildContext::build_wheels

For abi3 we only need to build a single wheel and we don’t even need a python interpreter for it

Builds wheels for a Cargo project for all given python versions. Return type is the same as BuildContext::build_wheels()

Defaults to 3.{5, 6, 7, 8, 9} if no python versions are given and silently ignores all non-existent python versions.

Runs auditwheel_rs() if not deactivated

Runs cargo build, extracts the cdylib from the output, runs auditwheel and returns the artifact

The module name is used to warn about missing a PyInit_<module name> function for bindings modules.

Builds a wheel with cffi bindings

Builds a wheel that contains a binary

Runs auditwheel_rs() if not deactivated

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more