Files
youknowdotandCodex 648b3b886b Support Python 3.15 array half and complex formats (#9419)
Add e, Zf and Zd storage, typecode routing, component byteswap and portable pickle decoding, preserving half float32 narrowing and complex sequence comparison semantics. Migrate test_array unchanged from CPython d220409 via update_lib. Replace byte-allocation ownership casts with aligned typed copies and correct signed pickle format selection.

Assisted-by: OpenAI Codex: model version unavailable

Co-authored-by: Codex <codex@openai.com>
2026-10-28 17:35:27 +09:00

115 lines
4.2 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", "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