[package] authors = ["konstin ", "messense "] name = "maturin" version = "1.7.4" description = "Build and publish crates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages" exclude = [ "test-crates/**/*", "sysconfig/*", "test-data/*", "ci/*", "tests/*", "guide/*", ".github/*", ".devcontainer/*", "Dockerfile", ".dockerignore", "deny.toml", "noxfile.py", "test-dockerfile.sh", "Code-of-Conduct.md", ] homepage = "https://github.com/pyo3/maturin" readme = "README.md" repository = "https://github.com/pyo3/maturin" license = "MIT OR Apache-2.0" keywords = ["python", "cffi", "packaging", "pypi", "pyo3"] categories = [ "api-bindings", "development-tools::ffi", "command-line-utilities", ] edition = "2021" rust-version = "1.74" [[bin]] name = "maturin" [lib] name = "maturin" [dependencies] anyhow = "1.0.80" base64 = "0.21.0" glob = "0.3.0" cargo-config2 = "0.1.24" cargo_metadata = "0.18.0" cargo-options = "0.7.2" cbindgen = { version = "0.26.0", default-features = false } flate2 = "1.0.18" goblin = "0.8.0" platform-info = "2.0.2" regex = "1.7.0" serde = { version = "1.0.197", features = ["derive"] } serde_json = "1.0.114" sha2 = "0.10.3" tar = "0.4.38" tempfile = "3.2.0" toml = "0.8.10" toml_edit = "0.22.6" zip = { version = "0.6.1", default-features = false, features = [ "bzip2", "deflate", "time", ] } thiserror = "1.0.37" fs-err = "2.11.0" fat-macho = { version = "0.4.8", default-features = false } once_cell = "1.7.2" rustc_version = "0.4.0" semver = "1.0.22" target-lexicon = "0.12.14" indexmap = "2.2.3" pyproject-toml = "0.11.0" python-pkginfo = "0.6.0" textwrap = "0.16.1" ignore = "0.4.20" itertools = "0.12.1" lddtree = "0.3.4" cc = "1.0.88" dunce = "1.0.2" normpath = "1.1.1" path-slash = "0.2.1" pep440_rs = { version = "0.6.0", features = ["serde", "tracing"] } pep508_rs = { version = "0.6.0", features = ["serde", "tracing"] } same-file = "1.0.6" time = "0.3.17" url = "2.5.0" unicode-xid = { version = "0.2.4", optional = true } # cli clap = { version = "4.0.0", features = [ "derive", "env", "wrap_help", "unstable-styles", ] } clap_complete_command = { version = "0.6.1", optional = true } # cross compile cargo-zigbuild = { version = "0.19.3", default-features = false, optional = true } cargo-xwin = { version = "0.16.5", default-features = false, optional = true } # log tracing = "0.1.36" tracing-subscriber = { version = "0.3.15", features = ["env-filter"] } # project scaffolding, maturin new/init/generate-ci dialoguer = { version = "0.11.0", default-features = false, optional = true } console = { version = "0.15.4", optional = true } minijinja = { version = "1.0.7", optional = true } # upload bytesize = { version = "1.0.1", optional = true } configparser = { version = "3.0.3", optional = true } dirs = { version = "5.0.0", optional = true } multipart = { version = "0.18.0", features = [ "client", ], default-features = false, optional = true } ureq = { version = "2.9.4", features = [ "gzip", "json", "socks-proxy", ], default-features = false, optional = true } native-tls = { version = "0.2.8", optional = true } rustls = { version = "0.22.4", optional = true } rustls-pemfile = { version = "2.1.0", optional = true } keyring = { version = "2.3.2", default-features = false, features = [ "linux-no-secret-service", ], optional = true } wild = { version = "2.1.0", optional = true } # JSON schema schemars = { version = "0.8.16", optional = true } pretty_assertions = { version = "1.3.0", optional = true } [dev-dependencies] expect-test = "1.4.1" rstest = "0.22.0" indoc = "2.0.3" pretty_assertions = "1.3.0" rustversion = "1.0.9" time = { version = "0.3.34", features = ["macros"] } trycmd = "0.15.0" which = "6.0.0" [features] default = ["full", "rustls"] full = ["cli-completion", "cross-compile", "scaffolding", "upload"] cli-completion = ["dep:clap_complete_command"] upload = [ "ureq", "multipart", "configparser", "bytesize", "dialoguer/password", "wild", "dep:dirs", ] schemars = ["dep:schemars", "dep:pretty_assertions"] # keyring doesn't support *BSD so it's not enabled in `full` by default password-storage = ["upload", "keyring"] rustls = [ "dep:rustls", "ureq?/tls", "cargo-xwin?/rustls-tls", "dep:rustls-pemfile", ] native-tls = [ "dep:native-tls", "ureq?/native-tls", "cargo-xwin?/native-tls", "dep:rustls-pemfile", ] # cross compile using zig or xwin cross-compile = ["zig", "xwin"] zig = ["cargo-zigbuild"] xwin = ["cargo-xwin"] # project scaffolding scaffolding = ["dialoguer", "console", "minijinja", "unicode-xid"] # Internal feature to speed up the tests significantly faster-tests = [] # Deprecated features, keep them now for compatibility human-panic = [] log = [] [profile.profiling] inherits = "release" debug = true # Without this, compressing the .gz archive becomes notably slow for debug builds [profile.dev.package.miniz_oxide] opt-level = 3 # Speedup cargo-xwin for debug builds [profile.dev.package.cab] opt-level = 3 [profile.dev.package.msi] opt-level = 3