[package]
edition = "2024"
rust-version = "1.85"
name = "evalbox"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unprivileged sandbox for arbitrary code execution"
readme = false
keywords = [
"sandbox",
"isolation",
"security",
"landlock",
"seccomp",
]
categories = [
"os::linux-apis",
"development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/fullzer4/evalbox"
[features]
default = [
"python",
"go",
"shell",
]
go = [
"dep:tempfile",
"dep:regex",
]
node = [
"dep:serde",
"dep:serde_json",
"dep:tempfile",
]
python = [
"dep:goblin",
"dep:memmap2",
"dep:walkdir",
"dep:dashmap",
"dep:serde",
"dep:serde_json",
]
rust-lang = [
"dep:tempfile",
"dep:serde",
"dep:serde_json",
]
shell = []
testing = []
[lib]
name = "evalbox"
path = "src/lib.rs"
[[example]]
name = "full_test"
path = "examples/full_test.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[dependencies.dashmap]
version = "6"
optional = true
[dependencies.evalbox-sandbox]
version = "0.1.0"
[dependencies.goblin]
version = "0.9"
optional = true
[dependencies.memmap2]
version = "0.9"
optional = true
[dependencies.regex]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tempfile]
version = "3"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.walkdir]
version = "2"
optional = true
[dependencies.which]
version = "7"
[lints.clippy]
cast_possible_truncation = "warn"
cast_sign_loss = "warn"
cloned_instead_of_copied = "warn"
doc_markdown = "warn"
explicit_iter_loop = "warn"
inefficient_to_string = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
ptr_as_ptr = "warn"
semicolon_if_nothing_returned = "warn"
uninlined_format_args = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
unused_imports = "warn"
unused_must_use = "warn"