Struct maturin::BuildContext [−][src]
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
scripts: HashMap<String, String>
The [console_scripts]
for the entry_points.txt
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 compliance
manylinux: Manylinux
Whether to use the the manylinux 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)
Implementations
impl BuildContext
[src]
pub fn build_wheels(&self) -> Result<Vec<(PathBuf, String)>>
[src]
Checks which kind of bindings we have (pyo3/rust-cypthon or cffi or bin) and calls the correct builder. Returns a Vec that contains location, python tag (e.g. py3 or cp35) and for bindings the python interpreter they bind against.
pub fn build_source_distribution(&self) -> Result<Option<(PathBuf, String)>>
[src]
Builds a source distribution and returns the same metadata as BuildContext::build_wheels
pub fn build_binding_wheel_abi3(
&self,
major: u8,
min_minor: u8
) -> Result<Vec<(PathBuf, String)>>
[src]
&self,
major: u8,
min_minor: u8
) -> Result<Vec<(PathBuf, String)>>
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) -> Result<Vec<(PathBuf, String)>>
[src]
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>,
module_name: Option<&str>
) -> Result<PathBuf>
[src]
&self,
python_interpreter: Option<&PythonInterpreter>,
module_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.
pub fn build_cffi_wheel(&self) -> Result<Vec<(PathBuf, String)>>
[src]
Builds a wheel with cffi bindings
pub fn build_bin_wheel(&self) -> Result<Vec<(PathBuf, String)>>
[src]
Builds a wheel that contains a binary
Runs auditwheel_rs() if not deactivated
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
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,