[package] name = "rustpython-vm" description = "RustPython virtual machine." include = ["src/**/*.rs", "Cargo.toml", "build.rs", "Lib/**/*.py"] version.workspace = true authors.workspace = true edition.workspace = true rust-version.workspace = true repository.workspace = true license.workspace = true [features] default = ["compiler", "wasmbind", "gc", "host_env", "stdio", "doc"] doc = ["dep:rustpython-doc", "dep:xz"] host_env = ["rustpython-host_env/ctypes"] stdio = [] importlib = [] encodings = ["importlib"] vm-tracing-logging = [] opcode-histogram = [] flame-it = ["flame", "flamer"] freeze-stdlib = ["encodings"] jit = ["rustpython-jit"] threading = ["rustpython-common/threading"] gc = [] compiler = ["parser", "codegen", "rustpython-compiler"] ast = ["ruff_python_ast", "ruff_text_size"] codegen = ["rustpython-codegen", "ast"] parser = ["ast"] serde = ["dep:serde"] wasmbind = ["rustpython-common/wasm_js", "jiff/js", "wasm-bindgen"] [dependencies] rustpython-compiler = { workspace = true, optional = true } rustpython-codegen = { workspace = true, optional = true } rustpython-common = { workspace = true } rustpython-doc = { workspace = true, optional = true } rustpython-derive = { workspace = true } rustpython-host_env = { workspace = true } rustpython-jit = { workspace = true, optional = true } ruff_python_ast = { workspace = true, optional = true } ruff_python_parser = { workspace = true } ruff_text_size = { workspace = true, optional = true } rustpython-compiler-core = { workspace = true } rustpython-literal = { workspace = true } rustpython-sre_engine = { workspace = true } rustpython-unicode = { workspace = true } ascii = { workspace = true } bitflags = { workspace = true } bitflagset = { workspace = true } bstr = { workspace = true } crossbeam-utils = { workspace = true } constant_time_eq = { workspace = true } flame = { workspace = true, optional = true } hex = { workspace = true } indexmap = { workspace = true } itertools = { workspace = true } itoa = { workspace = true } is-macro = { workspace = true } jiff = { workspace = true } libc = { workspace = true } log = { workspace = true } malachite-bigint = { workspace = true } num-complex = { workspace = true } num-integer = { workspace = true } num-traits = { workspace = true } num_enum = { workspace = true } parking_lot = { workspace = true } paste = { workspace = true } rapidhash = { workspace = true } scopeguard = { workspace = true } serde = { workspace = true, optional = true } static_assertions = { workspace = true } xz = { workspace = true, optional = true } strum = { workspace = true } strum_macros = { workspace = true } thiserror = { workspace = true } thin-vec = { workspace = true } memchr = { workspace = true } flamer = { workspace = true, optional = true } half = { workspace = true } psm = { workspace = true } optional = { workspace = true } result-like = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] widestring = { workspace = true } [target.'cfg(all(target_arch = "wasm32", target_os = "unknown"))'.dependencies] wasm-bindgen = { workspace = true, optional = true } [build-dependencies] glob = { workspace = true } jiff = { workspace = true } [lints] workspace = true