Files
RustPython/stdlib/Cargo.toml
2025-03-05 13:49:37 -06:00

136 lines
3.8 KiB
TOML

[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"]
bz2 = ["bzip2"]
sqlite = ["dep:libsqlite3-sys"]
ssl = ["openssl", "openssl-sys", "foreign-types-shared", "openssl-probe"]
ssl-vendor = ["ssl", "openssl/vendored"]
[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.11"
dyn-clone = "1.0.10"
puruspe = "0.4.0"
xml-rs = "0.8.14"
# random
rand = { workspace = true }
mt19937 = "3.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 = { version = "1.1", default-features = false, features = ["zlib-rs"] }
libz-sys = { package = "libz-rs-sys", version = "0.4" }
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"] }
# mmap
[target.'cfg(all(unix, not(target_arch = "wasm32")))'.dependencies]
memmap2 = "0.5.10"
page_size = "0.6"
[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 = "1.0.0"
socket2 = { version = "0.5.8", 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.windows-sys]
workspace = true
features = [
"Win32_Networking_WinSock",
"Win32_NetworkManagement_IpHelper",
"Win32_NetworkManagement_Ndis",
"Win32_Security_Cryptography",
"Win32_System_Environment",
"Win32_System_IO"
]
[target.'cfg(target_os = "macos")'.dependencies]
system-configuration = "0.5.1"
[lints]
workspace = true