[package] name = "rustpython" version = "0.3.0" authors = ["RustPython Team"] edition = "2021" rust-version = "1.67.1" description = "A python interpreter written in rust." repository = "https://github.com/RustPython/RustPython" license = "MIT" include = ["LICENSE", "Cargo.toml", "src/**/*.rs"] [workspace] resolver = "2" members = [ "compiler", "compiler/core", "compiler/codegen", ".", "common", "derive", "jit", "vm", "pylib", "stdlib", "wasm/lib", "derive-impl", ] [workspace.dependencies] rustpython-compiler-core = { path = "compiler/core", version = "0.3.0" } rustpython-compiler = { path = "compiler", version = "0.3.0" } rustpython-codegen = { path = "compiler/codegen", version = "0.3.0" } rustpython-common = { path = "common", version = "0.3.0" } rustpython-derive = { path = "derive", version = "0.3.0" } rustpython-derive-impl = { path = "derive-impl", version = "0.3.0" } rustpython-jit = { path = "jit", version = "0.3.0" } rustpython-vm = { path = "vm", version = "0.3.0" } rustpython-pylib = { path = "pylib", version = "0.3.0" } rustpython-stdlib = { path = "stdlib", version = "0.3.0" } rustpython-doc = { git = "https://github.com/RustPython/__doc__", tag = "0.3.0", version = "0.3.0" } rustpython-literal = { git = "https://github.com/RustPython/Parser.git", tag = "0.3.0", version = "0.3.0" } rustpython-parser-core = { git = "https://github.com/RustPython/Parser.git", tag = "0.3.0", version = "0.3.0" } rustpython-parser = { git = "https://github.com/RustPython/Parser.git", tag = "0.3.0", version = "0.3.0" } rustpython-ast = { git = "https://github.com/RustPython/Parser.git", tag = "0.3.0", version = "0.3.0" } rustpython-format = { git = "https://github.com/RustPython/Parser.git", tag = "0.3.0", version = "0.3.0" } # rustpython-literal = { path = "../RustPython-parser/literal" } # rustpython-parser-core = { path = "../RustPython-parser/core" } # rustpython-parser = { path = "../RustPython-parser/parser" } # rustpython-ast = { path = "../RustPython-parser/ast" } # rustpython-format = { path = "../RustPython-parser/format" } ahash = "0.7.6" anyhow = "1.0.45" ascii = "1.0" atty = "0.2.14" bitflags = "2.2.1" bstr = "0.2.17" cfg-if = "1.0" chrono = "0.4.19" crossbeam-utils = "0.8.16" flame = "0.2.2" glob = "0.3" hex = "0.4.3" indexmap = "1.8.1" insta = "1.14.0" itertools = "0.10.3" libc = "0.2.133" log = "0.4.16" nix = "0.26" malachite-bigint = { version = "0.1.0" } malachite-q = "0.3.2" malachite-base = "0.3.2" num-complex = "0.4.0" num-integer = "0.1.44" num-traits = "0.2" num_enum = "0.5.7" once_cell = "1.13" parking_lot = "0.12" paste = "1.0.7" rand = "0.8.5" rustyline = "11" serde = "1.0" schannel = "0.1.19" static_assertions = "1.1" syn = "1.0.91" thiserror = "1.0" thread_local = "1.1.4" unicode_names2 = { version = "0.6.0", git = "https://github.com/youknowone/unicode_names2.git", rev = "4ce16aa85cbcdd9cc830410f1a72ef9a235f2fde" } widestring = "0.5.1" [features] default = ["threading", "stdlib", "zlib", "importlib"] importlib = ["rustpython-vm/importlib"] encodings = ["rustpython-vm/encodings"] stdlib = ["rustpython-stdlib", "rustpython-pylib", "encodings"] flame-it = ["rustpython-vm/flame-it", "flame", "flamescope"] freeze-stdlib = ["rustpython-vm/freeze-stdlib", "rustpython-pylib?/freeze-stdlib"] jit = ["rustpython-vm/jit"] threading = ["rustpython-vm/threading", "rustpython-stdlib/threading"] zlib = ["stdlib", "rustpython-stdlib/zlib"] bz2 = ["stdlib", "rustpython-stdlib/bz2"] ssl = ["rustpython-stdlib/ssl"] ssl-vendor = ["rustpython-stdlib/ssl-vendor"] [dependencies] rustpython-compiler = { workspace = true } rustpython-pylib = { workspace = true, optional = true } rustpython-stdlib = { workspace = true, optional = true } rustpython-vm = { workspace = true, default-features = false, features = ["compiler"] } rustpython-parser = { workspace = true } atty = { workspace = true } cfg-if = { workspace = true } log = { workspace = true } flame = { workspace = true, optional = true } clap = "2.34" dirs = { package = "dirs-next", version = "2.0.0" } env_logger = { version = "0.9.0", default-features = false, features = ["atty", "termcolor"] } flamescope = { version = "0.1.2", optional = true } [target.'cfg(windows)'.dependencies] libc = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] rustyline = { workspace = true } [dev-dependencies] cpython = "0.7.0" criterion = "0.3.5" python3-sys = "0.7.1" [[bench]] name = "execution" harness = false [[bench]] name = "microbenchmarks" harness = false [[bin]] name = "rustpython" path = "src/main.rs" [profile.dev.package."*"] opt-level = 3 [profile.test] opt-level = 3 # https://github.com/rust-lang/rust/issues/92869 # lto = "thin" [profile.bench] lto = "thin" codegen-units = 1 opt-level = 3 [profile.release] lto = "thin" [patch.crates-io] # REDOX START, Uncomment when you want to compile/check with redoxer # nix = { git = "https://github.com/coolreader18/nix", branch = "0.26.2-redox" } # REDOX END