[package]
name = "interpretthis"
description = "Sandboxed Python AST interpreter for untrusted and LLM-generated code"
readme = "../../README.md"
keywords = ["python", "interpreter", "sandbox", "ast", "llm"]
categories = ["compilers", "parser-implementations", "asynchronous"]
documentation = "https://docs.rs/interpretthis"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
exclude = [
"benches/baseline.json",
"tests/integration/cpython_vendored/**",
]
autobenches = false
[dependencies]
rustpython-parser = { workspace = true }
rustpython-ast = { workspace = true }
tokio = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
indexmap = { workspace = true }
async-trait = { workspace = true }
parking_lot = { workspace = true }
regex = { workspace = true }
chrono = { workspace = true }
sha2 = { workspace = true }
base64 = { workspace = true }
hex = { workspace = true }
bigdecimal = { workspace = true }
num-rational = { workspace = true }
num-bigint = { workspace = true }
num-traits = { workspace = true }
num-integer = { workspace = true }
num-complex = { workspace = true }
rustc-hash = { workspace = true }
compact_str = { workspace = true }
stacker = { workspace = true }
tikv-jemallocator = { workspace = true, optional = true }
tikv-jemalloc-ctl = { workspace = true, optional = true }
mimalloc = { workspace = true, optional = true }
unicode-general-category = "1.1.0"
md-5 = "=0.10.6"
sha1 = "=0.10.6"
siphasher = "=1.0.3"
[features]
bench-alloc-jemalloc = ["dep:tikv-jemallocator", "dep:tikv-jemalloc-ctl"]
bench-alloc-mimalloc = ["dep:mimalloc"]
[dev-dependencies]
criterion = { workspace = true }
[[test]]
name = "integration"
path = "tests/integration/main.rs"
[[bench]]
name = "interpreter"
path = "benches/main.rs"
harness = false
[lints]
workspace = true