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
pub fn build_binding_wheel_abi3(
&self,
interpreters: &[PythonInterpreter],
major: u8,
min_minor: u8
) -> Result<Vec<BuiltWheelMetadata>>
pub fn build_binding_wheel_abi3(
&self,
interpreters: &[PythonInterpreter],
major: u8,
min_minor: u8
) -> Result<Vec<BuiltWheelMetadata>>
For abi3 we only need to build a single wheel and we don’t even need a python interpreter for it
pub fn build_binding_wheels(
&self,
interpreters: &[PythonInterpreter]
) -> Result<Vec<BuiltWheelMetadata>>
pub fn build_binding_wheels(
&self,
interpreters: &[PythonInterpreter]
) -> Result<Vec<BuiltWheelMetadata>>
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
pub fn compile_cdylib(
&self,
python_interpreter: Option<&PythonInterpreter>,
extension_name: Option<&str>
) -> Result<PathBuf>
pub fn compile_cdylib(
&self,
python_interpreter: Option<&PythonInterpreter>,
extension_name: Option<&str>
) -> Result<PathBuf>
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
Auto Trait Implementations
impl RefUnwindSafe for BuildContext
impl Send for BuildContext
impl Sync for BuildContext
impl Unpin for BuildContext
impl UnwindSafe for BuildContext
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V
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