[package] name = "rustpython-vm" version = "0.1.2" description = "Rust Python virtual machine." authors = ["RustPython Team"] repository = "https://github.com/RustPython/RustPython" license = "MIT" edition = "2018" include = ["src/**/*.rs", "Cargo.toml", "build.rs", "Lib/**/*.py"] [features] default = ["compile-parse", "threading"] vm-tracing-logging = [] flame-it = ["flame", "flamer"] freeze-stdlib = ["rustpython-pylib"] jit = ["rustpython-jit"] threading = ["rustpython-common/threading"] compile-parse = ["parser", "compiler"] ast = ["rustpython-ast"] compiler = ["rustpython-compiler", "rustpython-compiler-core", "ast"] parser = ["rustpython-parser", "ast"] ssl = ["openssl", "openssl-sys", "openssl-probe"] [dependencies] # Crypto: digest = "0.8.1" md-5 = "0.8" sha-1 = "0.8" sha2 = "0.8" sha3 = "0.8" blake2 = "0.8" num-complex = { version = "0.3", features = ["serde"] } num-bigint = { version = "0.3", features = ["serde"] } num-traits = "0.2.8" num-integer = "0.1.41" num-rational = "0.3" num-iter = "0.1.39" rand = "0.8" rand_core = "0.6" getrandom = { version = "0.2", features = ["js"] } log = "0.4" rustpython-derive = { path = "../derive", version = "0.1.2" } rustpython-ast = { path = "../ast", optional = true, version = "0.1" } rustpython-parser = { path = "../parser", optional = true, version = "0.1.2" } rustpython-compiler = { path = "../compiler/porcelain", optional = true, version = "0.1.2" } rustpython-compiler-core = { path = "../compiler", optional = true, version = "0.1.2" } rustpython-bytecode = { path = "../bytecode", version = "0.1.2" } rustpython-jit = { path = "../jit", optional = true, version = "0.1.2" } rustpython-pylib = { path = "pylib-crate", optional = true, version = "0.1.0" } serde = { version = "1.0.66", features = ["derive"] } serde_json = "1.0" regex = "1" rustc_version_runtime = "0.1.*" puruspe = "0.1" caseless = "0.2.1" chrono = { version = "0.4", features = ["wasmbind"] } lexical-core = "0.7" itertools = "0.9" hex = "0.4.0" hexf-parse = "0.1.0" indexmap = "1.0.2" ahash = "0.6" crc = "^1.0.0" bitflags = "1.2.1" libc = "0.2" nix = "0.19" csv-core = "0.1" paste = "0.1" base64 = "0.13" is-macro = "0.1" result-like = "^0.3" foreign-types-shared = "0.1" num_enum = "0.5" bstr = "0.2.12" crossbeam-utils = "0.8" parking_lot = "0.11" thread_local = "1.0" cfg-if = "1.0" timsort = "0.1" thiserror = "1.0" atty = "0.2" static_assertions = "1.1" half = "1.6" memchr = "2" # RustPython crates implementing functionality based on CPython mt19937 = "2.0" sre-engine = { git = "https://github.com/RustPython/sre-engine" } # to work on sre-engine locally # sre-engine = { path = "../../sre-engine" } ## unicode stuff unicode_names2 = "0.4" # TODO: use unic for this; needed for title case: # https://github.com/RustPython/RustPython/pull/832#discussion_r275428939 unicode-casing = "0.1" # update version all at the same time unic-char-property = "0.9" unic-normal = "0.9" unic-ucd-bidi = "0.9" unic-ucd-category = "0.9" unic-ucd-age = "0.9" unic-ucd-ident = "0.9" flame = { version = "0.2", optional = true } flamer = { version = "0.4", optional = true } rustpython-common = { path = "../common" } [target.'cfg(unix)'.dependencies] exitcode = "1.1.2" uname = "0.1.1" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] crc32fast = "1.2.0" adler32 = "1.0.3" gethostname = "0.2.0" socket2 = "0.3.19" rustyline = "6.0" openssl = { version = "0.10.32", features = ["vendored"], optional = true } openssl-sys = { version = "0.9", optional = true } openssl-probe = { version = "0.1", optional = true } which = "4.0" [target.'cfg(any(not(target_arch = "wasm32"), target_os = "wasi"))'.dependencies] num_cpus = "1" [target.'cfg(not(any(target_arch = "wasm32", target_os = "redox")))'.dependencies] dns-lookup = "1.0" flate2 = { version = "1.0.20", features = ["zlib"], default-features = false } libz-sys = "1.0" [target.'cfg(windows)'.dependencies] winreg = "0.7" schannel = "0.1" [target.'cfg(windows)'.dependencies.winapi] version = "0.3" features = [ "winsock2", "handleapi", "ws2def", "std", "winbase", "wincrypt", "fileapi", "processenv", "namedpipeapi", "winnt", "processthreadsapi", "errhandlingapi", "winuser", "synchapi", "wincon", "impl-default", ] [target.'cfg(target_arch = "wasm32")'.dependencies] wasm-bindgen = "0.2" [build-dependencies] itertools = "0.9"