[−][src]Struct maturin::BuildContext
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
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
manylinux: Manylinux
Whether to use the the manylinux and check compliance (on), use it but don't check compliance (no-auditwheel) 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
Methods
impl BuildContext
[src]
pub fn build_wheels(
&self
) -> Result<Vec<(PathBuf, String, Option<PythonInterpreter>)>, Error>
[src]
&self
) -> Result<Vec<(PathBuf, String, Option<PythonInterpreter>)>, Error>
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. py2.py3 or cp35) and for bindings the python interpreter they bind against.
pub fn build_source_distribution(
&self
) -> Result<Option<(PathBuf, String, Option<PythonInterpreter>)>, Error>
[src]
&self
) -> Result<Option<(PathBuf, String, Option<PythonInterpreter>)>, Error>
Builds a source distribution and returns the same metadata as BuildContext::build_wheels
pub fn build_binding_wheels(
&self
) -> Result<Vec<(PathBuf, String, Option<PythonInterpreter>)>, Error>
[src]
&self
) -> Result<Vec<(PathBuf, String, Option<PythonInterpreter>)>, Error>
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, Error>
[src]
&self,
python_interpreter: Option<&PythonInterpreter>,
module_name: Option<&str>
) -> Result<PathBuf, Error>
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<PathBuf, Error>
[src]
Builds a wheel with cffi bindings
pub fn build_bin_wheel(&self) -> Result<PathBuf, Error>
[src]
Builds a wheel that contains a binary
Runs auditwheel_rs() if not deactivated
Auto Trait Implementations
impl Sync for BuildContext
impl Send for BuildContext
impl Unpin for BuildContext
impl UnwindSafe for BuildContext
impl RefUnwindSafe for BuildContext
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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.
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.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,
fn vzip(self) -> V
impl<T> Erased for T
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
U: TryFrom<T>,