[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"] compiler = ["rustpython-vm/compiler"] threading = ["rustpython-common/threading", "rustpython-vm/threading"] zlib = ["libz-sys", "flate2/zlib"] bz2 = ["bzip2"] sqlite = ["dep:libsqlite3-sys"] ssl = ["openssl", "openssl-sys", "foreign-types-shared"] ssl-vendor = ["ssl", "openssl/vendored", "openssl-probe"] [dependencies] # rustpython crates rustpython-derive = { workspace = true } rustpython-vm = { workspace = true, default-features = false } rustpython-common = { workspace = true } ahash = { workspace = true } ascii = { workspace = true } cfg-if = { workspace = true } crossbeam-utils = { workspace = true } hex = { workspace = true } itertools = { workspace = true } indexmap = { workspace = true } libc = { workspace = true } nix = { workspace = true } num-complex = { workspace = true } malachite-bigint = { workspace = true } num-integer = { workspace = true } num-traits = { workspace = true } num_enum = { workspace = true } once_cell = { workspace = true } parking_lot = { workspace = true } thread_local = { workspace = true } memchr = { workspace = true } base64 = "0.13.0" csv-core = "0.1.10" dyn-clone = "1.0.10" libz-sys = { version = "1.1", default-features = false, optional = true } puruspe = "0.2.4" xml-rs = "0.8.14" # random rand = { workspace = true } rand_core = "0.6.3" mt19937 = "2.0.1" # Crypto: digest = "0.10.3" md-5 = "0.10.1" sha-1 = "0.10.0" sha2 = "0.10.2" sha3 = "0.10.1" blake2 = "0.10.4" ## unicode stuff unicode_names2 = { workspace = true } # TODO: use unic for this; needed for title case: # https://github.com/RustPython/RustPython/pull/832#discussion_r275428939 unicode-casing = "0.1.0" # update version all at the same time unic-char-property = "0.9.0" unic-normal = "0.9.0" unic-ucd-bidi = "0.9.0" unic-ucd-category = "0.9.0" unic-ucd-age = "0.9.0" unic-ucd-ident = "0.9.0" ucd = "0.1.1" # compression adler32 = "1.2.0" crc32fast = "1.3.2" flate2 = "1.0.28" bzip2 = { version = "0.4", optional = true } # uuid [target.'cfg(not(any(target_os = "ios", target_os = "android", target_os = "windows", target_arch = "wasm32", target_os = "redox")))'.dependencies] mac_address = "1.1.3" uuid = { version = "1.1.2", features = ["v1", "fast-rng"] } # mmap [target.'cfg(all(unix, not(target_arch = "wasm32")))'.dependencies] memmap2 = "0.5.4" page_size = "0.4" [target.'cfg(all(unix, not(target_os = "redox"), not(target_os = "ios")))'.dependencies] termios = "0.3.3" [target.'cfg(unix)'.dependencies] rustix = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] gethostname = "0.2.3" socket2 = { version = "0.5.6", features = ["all"] } dns-lookup = "2" openssl = { version = "0.10.66", optional = true } openssl-sys = { version = "0.9.80", optional = true } openssl-probe = { version = "0.1.5", optional = true } foreign-types-shared = { version = "0.1.1", optional = true } [target.'cfg(not(any(target_os = "android", target_arch = "wasm32")))'.dependencies] libsqlite3-sys = { version = "0.28", features = ["bundled"], optional = true } [target.'cfg(windows)'.dependencies] junction = { workspace = true } paste = { workspace = true } schannel = { workspace = true } widestring = { workspace = true } [target.'cfg(windows)'.dependencies.winapi] version = "0.3.9" features = [ "winsock2", "ifdef", "netioapi", "ws2tcpip", ] [target.'cfg(windows)'.dependencies.windows-sys] workspace = true features = [ "Win32_Networking_WinSock", "Win32_NetworkManagement_IpHelper", "Win32_NetworkManagement_Ndis", "Win32_Security_Cryptography", "Win32_System_Environment", ] [target.'cfg(target_os = "macos")'.dependencies] system-configuration = "0.5.0" [lints] workspace = true