[package] name = "rustpython-stdlib" description = "RustPython standard libraries in Rust." version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true repository.workspace = true license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["compiler", "host_env", "doc", "ucd_3_2_0"] ucd_3_2_0 = ["rustpython-unicode/ucd_3_2_0"] doc = ["rustpython-vm/doc"] host_env = ["rustpython-vm/host_env"] compiler = ["rustpython-vm/compiler"] threading = ["rustpython-common/threading", "rustpython-vm/threading"] sqlite = ["dep:libsqlite3-sys"] # SSL backends ssl = ["rustpython-host_env/ssl"] ssl-rustls = ["__ssl-rustls", "host_env", "rustls/custom-provider"] ssl-openssl = ["ssl", "host_env", "openssl", "openssl-sys", "foreign-types-shared", "rustpython-host_env/native-certs"] ssl-openssl-vendor = ["ssl-openssl", "openssl/vendored"] tkinter = ["dep:tk-sys", "dep:tcl-sys", "dep:widestring"] flame-it = ["flame"] __ssl-rustls = ["ssl", "rustpython-host_env/ssl", "rustpython-host_env/rustls", "rustpython-host_env/native-certs", "rustls", "rustls-pemfile", "x509-parser", "pem-rfc7468", "webpki-roots"] [dependencies] # rustpython crates rustpython-derive = { workspace = true } rustpython-vm = { workspace = true, default-features = false, features = ["compiler"]} rustpython-common = { workspace = true, features = ["binascii", "bz2", "cjk-codecs", "hashlib", "inet", "json", "lzma", "zlib"] } rustpython-host_env = { workspace = true } rustpython-unicode = { workspace = true } ruff_python_parser = { workspace = true } ruff_python_ast = { workspace = true } ruff_text_size = { workspace = true } ruff_source_file = { workspace = true } ascii = { workspace = true } half = { workspace = true } crossbeam-utils = { workspace = true } flame = { workspace = true, optional = true } hex = { workspace = true } getrandom = { workspace = true } itertools = { workspace = true } indexmap = { workspace = true } libc = { workspace = true } num-complex = { workspace = true } malachite-bigint = { workspace = true } num-traits = { workspace = true } num_enum = { workspace = true } parking_lot = { workspace = true } phf = { workspace = true, default-features = true, features = ["macros"] } rapidhash = { workspace = true } scopeguard = { workspace = true } memchr = { workspace = true } pymath = { workspace = true } xml = { workspace = true } # random rand = { workspace = true } mt19937 = { workspace = true } # Crypto: constant_time_eq = { workspace = true } # compression adler32 = { workspace = true } # tkinter tk-sys = { workspace = true, optional = true } tcl-sys = { workspace = true, optional = true } widestring = { workspace = true, optional = true } # uuid [target.'cfg(not(any(target_os = "ios", target_os = "android", target_os = "windows", target_arch = "wasm32", target_os = "redox")))'.dependencies] uuid = { workspace = true, features = ["v1"] } # mmap + socket + OpenSSL dependencies [target.'cfg(not(target_arch = "wasm32"))'.dependencies] openssl = { workspace = true, optional = true } openssl-sys = { workspace = true, optional = true } foreign-types-shared = { workspace = true, optional = true } # Rustls is the WASI TLS engine as well as the native one. [target.'cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))'.dependencies] rustls = { workspace = true, default-features = false, features = ["std", "tls12"], optional = true } rustls-pemfile = { workspace = true, optional = true } x509-parser = { workspace = true, optional = true } pem-rfc7468 = { workspace = true, features = ["alloc"], optional = true } webpki-roots = { workspace = true, optional = true } [target.'cfg(not(any(target_os = "android", target_arch = "wasm32")))'.dependencies] libsqlite3-sys = { workspace = true, features = ["bundled"], optional = true } [target.'cfg(windows)'.dependencies] paste = { workspace = true } widestring = { workspace = true } [dev-dependencies] insta = { workspace = true } rustpython-pylib = { workspace = true, features = [ "freeze-stdlib" ] } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] rustls = { workspace = true, features = ["aws_lc_rs"] } [lints] workspace = true