rustpython-vm 0.5.0

RustPython virtual machine.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.93.0"
name = "rustpython-vm"
version = "0.5.0"
authors = ["RustPython Team"]
build = "build.rs"
include = [
    "src/**/*.rs",
    "Cargo.toml",
    "build.rs",
    "Lib/**/*.py",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "RustPython virtual machine."
readme = false
license = "MIT"
repository = "https://github.com/RustPython/RustPython"
resolver = "2"

[features]
ast = [
    "ruff_python_ast",
    "ruff_text_size",
]
codegen = [
    "rustpython-codegen",
    "ast",
]
compiler = [
    "parser",
    "codegen",
    "rustpython-compiler",
]
default = [
    "compiler",
    "wasmbind",
    "gc",
    "host_env",
    "stdio",
]
encodings = ["importlib"]
flame-it = [
    "flame",
    "flamer",
]
freeze-stdlib = ["encodings"]
gc = []
host_env = []
importlib = []
jit = ["rustpython-jit"]
parser = ["ast"]
serde = ["dep:serde"]
stdio = []
threading = ["rustpython-common/threading"]
vm-tracing-logging = []
wasmbind = [
    "rustpython-common/wasm_js",
    "chrono/wasmbind",
    "wasm-bindgen",
]

[lib]
name = "rustpython_vm"
path = "src/lib.rs"

[dependencies.ahash]
version = "0.8.12"

[dependencies.ascii]
version = "1.1"

[dependencies.bitflags]
version = "2.11.0"

[dependencies.bstr]
version = "1"

[dependencies.caseless]
version = "0.2.2"

[dependencies.cfg-if]
version = "1.0"

[dependencies.chrono]
version = "0.4.44"
features = [
    "clock",
    "oldtime",
    "std",
]
default-features = false

[dependencies.constant_time_eq]
version = "0.4"

[dependencies.crossbeam-utils]
version = "0.8.21"

[dependencies.flame]
version = "0.2.2"
optional = true

[dependencies.flamer]
version = "0.5"
optional = true

[dependencies.getrandom]
version = "0.3"
features = ["std"]

[dependencies.half]
version = "2"

[dependencies.hex]
version = "0.4.3"

[dependencies.indexmap]
version = "2.13.0"
features = ["std"]

[dependencies.is-macro]
version = "0.3.7"

[dependencies.itertools]
version = "0.14.0"

[dependencies.libc]
version = "0.2.183"

[dependencies.log]
version = "0.4.29"

[dependencies.malachite-bigint]
version = "0.9.1"

[dependencies.memchr]
version = "2.8.0"

[dependencies.num-complex]
version = "0.4.6"

[dependencies.num-integer]
version = "0.1.46"

[dependencies.num-traits]
version = "0.2"

[dependencies.num_enum]
version = "0.7"
default-features = false

[dependencies.optional]
version = "0.5"

[dependencies.parking_lot]
version = "0.12.3"

[dependencies.paste]
version = "1.0.15"

[dependencies.psm]
version = "0.1"

[dependencies.result-like]
version = "0.5.0"

[dependencies.ruff_python_ast]
version = "0.15.8"
optional = true
package = "rustpython-ruff_python_ast"

[dependencies.ruff_python_parser]
version = "0.15.8"
package = "rustpython-ruff_python_parser"

[dependencies.ruff_text_size]
version = "0.15.8"
optional = true
package = "rustpython-ruff_text_size"

[dependencies.rustpython-codegen]
version = "0.5.0"
optional = true

[dependencies.rustpython-common]
version = "0.5.0"

[dependencies.rustpython-compiler]
version = "0.5.0"
optional = true

[dependencies.rustpython-compiler-core]
version = "0.5.0"

[dependencies.rustpython-derive]
version = "0.5.0"

[dependencies.rustpython-jit]
version = "0.5.0"
optional = true

[dependencies.rustpython-literal]
version = "0.5.0"

[dependencies.rustpython-sre_engine]
version = "0.5.0"

[dependencies.scoped-tls]
version = "1"

[dependencies.scopeguard]
version = "1"

[dependencies.serde]
version = "1.0.225"
features = ["alloc"]
optional = true
default-features = false
package = "serde_core"

[dependencies.static_assertions]
version = "1.1"

[dependencies.strum]
version = "0.28"

[dependencies.strum_macros]
version = "0.28"

[dependencies.thiserror]
version = "2.0"

[dependencies.timsort]
version = "0.1.2"

[dependencies.unic-ucd-bidi]
version = "0.9.0"

[dependencies.unic-ucd-category]
version = "0.9.0"

[dependencies.unic-ucd-ident]
version = "0.9.0"

[dependencies.unicode-casing]
version = "0.1.1"

[build-dependencies.glob]
version = "0.3"

[build-dependencies.itertools]
version = "0.14.0"

[target.'cfg(all(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"), not(any(target_env = "musl", target_env = "sgx"))))'.dependencies.libffi]
version = "5"
features = ["system"]

[target.'cfg(all(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"), not(any(target_env = "musl", target_env = "sgx"))))'.dependencies.libloading]
version = "0.9"

[target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies.wasm-bindgen]
version = "0.2.106"
optional = true

[target.'cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))'.dependencies.num_cpus]
version = "1.17.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.errno]
version = "0.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustyline]
version = "17.0.1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.which]
version = "8"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.widestring]
version = "1.2.0"

[target."cfg(unix)".dependencies.exitcode]
version = "1.1.2"

[target."cfg(unix)".dependencies.nix]
version = "0.30"
features = [
    "fs",
    "user",
    "process",
    "term",
    "time",
    "signal",
    "ioctl",
    "socket",
    "sched",
    "zerocopy",
    "dir",
    "hostname",
    "net",
    "poll",
]

[target."cfg(unix)".dependencies.rustix]
version = "1.1"
features = ["event"]

[target."cfg(unix)".dependencies.uname]
version = "0.1.1"

[target."cfg(windows)".dependencies.junction]
version = "1.4.2"

[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = [
    "Win32_Foundation",
    "Win32_Globalization",
    "Win32_Media_Audio",
    "Win32_Networking_WinSock",
    "Win32_Security",
    "Win32_Security_Authorization",
    "Win32_Storage_FileSystem",
    "Win32_System_Console",
    "Win32_System_Diagnostics_Debug",
    "Win32_System_Environment",
    "Win32_System_IO",
    "Win32_System_Ioctl",
    "Win32_System_JobObjects",
    "Win32_System_Kernel",
    "Win32_System_LibraryLoader",
    "Win32_System_Memory",
    "Win32_System_Performance",
    "Win32_System_Pipes",
    "Win32_System_Registry",
    "Win32_System_SystemInformation",
    "Win32_System_SystemServices",
    "Win32_System_Threading",
    "Win32_System_Time",
    "Win32_System_WindowsProgramming",
    "Win32_UI_Shell",
    "Win32_UI_WindowsAndMessaging",
]

[lints.clippy]
alloc_instead_of_core = "warn"
complexity = "warn"
correctness = "warn"
perf = "warn"
std_instead_of_alloc = "warn"
std_instead_of_core = "warn"
style = "warn"
suspicious = "warn"

[lints.rust]
elided_lifetimes_in_paths = "warn"
unsafe_code = "allow"
unsafe_op_in_unsafe_fn = "deny"