Cargo Features

[dependencies]
maturin = { version = "1.7.4", default-features = false, features = ["full", "cli-completion", "upload", "schemars", "password-storage", "rustls", "native-tls", "cross-compile", "zig", "xwin", "scaffolding", "faster-tests", "human-panic", "log"] }
default = full, rustls

These default features are set whenever maturin is added without default-features = false somewhere in the dependency tree.

full default = cli-completion, cross-compile, scaffolding, upload
cli-completion full

Enables clap_complete_command

upload full password-storage? = bytesize, configparser, multipart, ureq, wild

Enables dirs and password of dialoguer

project scaffolding, maturin new/init/generate-ci

schemars

Enables pretty_assertions and schemars

schemars:

JSON schema

password-storage = keyring, upload

keyring doesn't support *BSD so it's not enabled in full by default

rustls default

Enables rustls ^0.22.4 and rustls-pemfile, rustls-tls of optional cargo-xwin ^0.16.5, tls of optional ureq

native-tls

Enables native-tls and rustls-pemfile, native-tls of optional ureq and native-tls of optional cargo-xwin ^0.16.5

cargo-xwin:

If this feature is enabled we instead use the native TLS implementation for the target platform

cross-compile full = xwin, zig

cross compile using zig or xwin

zig cross-compile? = cargo-zigbuild

Affects build_context::BuildContext.zig, build_options::BuildOptions.zig

xwin cross-compile? = cargo-xwin
scaffolding full = console, dialoguer, minijinja, unicode-xid

project scaffolding

Affects maturin::ci

faster-tests

Internal feature to speed up the tests significantly

human-panic

Deprecated features, keep them now for compatibility

log

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

unicode-xid scaffolding?
cargo-zigbuild zig?

Enables cargo-zigbuild

cross compile

cargo-xwin xwin?

Enables cargo-xwin ^0.16.5

dialoguer scaffolding? upload?
console scaffolding?
minijinja scaffolding?

Enables minijinja ^1.0.7

bytesize upload?

Enables bytesize

upload

configparser upload?
multipart upload?
ureq upload?
keyring password-storage?

Enables keyring ^2.3.2

wild upload?