[package]
edition = "2024"
rust-version = "1.93.0"
name = "rustpython"
version = "0.5.0"
authors = ["RustPython Team"]
build = false
include = [
"LICENSE",
"Cargo.toml",
"src/**/*.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A python interpreter written in rust."
readme = "README.md"
license = "MIT"
repository = "https://github.com/RustPython/RustPython"
resolver = "2"
[package.metadata.packager]
product-name = "RustPython"
identifier = "com.rustpython.rustpython"
description = "An open source Python 3 interpreter written in Rust"
homepage = "https://rustpython.github.io/"
license_file = "LICENSE"
authors = ["RustPython Team"]
publisher = "RustPython Team"
resources = [
"LICENSE",
"README.md",
"Lib",
]
icons = ["32x32.png"]
[package.metadata.packager.nsis]
installer_mode = "both"
template = "installer-config/installer.nsi"
[package.metadata.packager.wix]
template = "installer-config/installer.wxs"
[features]
default = [
"threading",
"stdlib",
"stdio",
"importlib",
"ssl-rustls",
"host_env",
]
encodings = ["rustpython-vm/encodings"]
flame-it = [
"rustpython-vm/flame-it",
"rustpython-stdlib/flame-it",
"flame",
"flamescope",
]
freeze-stdlib = [
"stdlib",
"rustpython-vm/freeze-stdlib",
"rustpython-pylib?/freeze-stdlib",
]
host_env = [
"rustpython-vm/host_env",
"rustpython-stdlib?/host_env",
]
importlib = ["rustpython-vm/importlib"]
jit = ["rustpython-vm/jit"]
sqlite = ["rustpython-stdlib/sqlite"]
ssl = []
ssl-openssl = [
"ssl",
"rustpython-stdlib/ssl-openssl",
]
ssl-rustls = [
"ssl",
"rustpython-stdlib/ssl-rustls",
]
ssl-vendor = [
"ssl-openssl",
"rustpython-stdlib/ssl-vendor",
]
stdio = ["rustpython-vm/stdio"]
stdlib = [
"rustpython-stdlib",
"rustpython-pylib",
"encodings",
]
threading = [
"rustpython-vm/threading",
"rustpython-stdlib/threading",
]
tkinter = ["rustpython-stdlib/tkinter"]
[lib]
name = "rustpython"
path = "src/lib.rs"
[[bin]]
name = "rustpython"
path = "src/main.rs"
[dependencies.cfg-if]
version = "1.0"
[dependencies.dirs]
version = "2.0"
package = "dirs-next"
[dependencies.env_logger]
version = "0.11"
[dependencies.flame]
version = "0.2.2"
optional = true
[dependencies.flamescope]
version = "0.1.2"
optional = true
[dependencies.lexopt]
version = "0.3"
[dependencies.log]
version = "0.4.29"
[dependencies.rustpython-compiler]
version = "0.5.0"
[dependencies.rustpython-pylib]
version = "0.5.0"
optional = true
[dependencies.rustpython-stdlib]
version = "0.5.0"
features = ["compiler"]
optional = true
default-features = false
[dependencies.rustpython-vm]
version = "0.5.0"
features = [
"compiler",
"gc",
]
default-features = false
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.pyo3]
version = "0.28.2"
features = ["auto-initialize"]
[dev-dependencies.ruff_python_parser]
version = "0.15.8"
package = "rustpython-ruff_python_parser"
[dev-dependencies.rustpython-stdlib]
version = "0.5.0"
default-features = false
[build-dependencies.winresource]
version = "0.1"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustyline]
version = "17.0.1"
[target."cfg(windows)".dependencies.libc]
version = "0.2.183"
[profile.bench]
opt-level = 3
lto = "thin"
codegen-units = 1
[profile.dev.package."*"]
opt-level = 3
[profile.release]
lto = "thin"
[profile.release.package.rustpython-common]
codegen-units = 1
[profile.release.package.rustpython-doc]
codegen-units = 1
[profile.release.package.rustpython-literal]
codegen-units = 1
[profile.release.package.rustpython-wtf8]
codegen-units = 1
[profile.test]
opt-level = 3