[package]
edition = "2021"
rust-version = "1.89"
name = "batuta"
version = "0.7.2"
authors = ["Pragmatic AI Labs"]
build = false
exclude = [
"book/",
"docs/specifications/",
".github/",
"*.md.bak",
"target/",
"*.profraw",
"*.profdata",
".vscode/",
".idea/",
".pmat/",
"proptest-regressions/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Sovereign AI orchestration: autonomous agents, ML serving, code analysis, and transpilation pipelines"
readme = "README.md"
keywords = [
"ai-agent",
"ml-serving",
"code-analysis",
"transpiler",
"sovereign-ai",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "MIT"
repository = "https://github.com/paiml/Batuta"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--generate-link-to-definition"]
[package.metadata.release]
shared-version = true
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
replace = "## [{{version}}] - {{date}}"
search = '## \[Unreleased\]'
[features]
agents = ["native"]
agents-browser = [
"agents",
"jugar-probar",
"base64",
]
agents-contracts = [
"agents",
"provable-contracts",
"provable-contracts-macros",
]
agents-full = [
"agents-inference",
"agents-rag",
]
agents-inference = [
"agents",
"inference",
]
agents-mcp = [
"agents",
"pmcp",
"pforge-runtime",
]
agents-rag = [
"agents",
"rag",
]
agents-viz = [
"agents",
"presentar",
]
block-device = [
"trueno-ublk",
"compression",
]
compression = [
"trueno-zram-core",
"native",
]
coursera-assets = [
"resvg",
"native",
]
default = [
"native",
"rag",
]
distributed = [
"repartir",
"native",
]
highlighting = [
"syntect",
"native",
]
inference = [
"realizar",
"native",
]
kernel = [
"pepita",
"native",
]
ml = [
"aprender",
"entrenar",
"alimentar",
"native",
]
native = [
"clap",
"serde_yaml_ng",
"toml",
"tokio",
"tracing",
"tracing-subscriber",
"walkdir",
"glob",
"which",
"dirs",
"cargo_metadata",
"semver",
"reqwest",
"futures-util",
"pacha",
"quick-xml",
"blake3",
"indexmap",
]
oracle-mode = [
"trueno-graph",
"trueno-db",
"native",
]
rag = [
"trueno-rag",
"oracle-mode",
]
simulation = [
"simular",
"native",
]
sovereign-stack = [
"trueno-integration",
"oracle-mode",
"inference",
"distributed",
"ml",
"rag",
"viz",
"speech",
"compression",
"simulation",
"transpilers",
"testing",
"tui",
"highlighting",
"agents",
"agents-mcp",
]
speech = [
"whisper-apr",
"native",
]
testing = [
"probar",
"native",
]
transpilers = [
"bashrs",
"native",
]
trueno-integration = [
"trueno",
"native",
]
tui = [
"presentar-terminal",
"crossterm",
"native",
]
viz = [
"trueno-viz",
"presentar",
"native",
]
wasm = [
"wasm-bindgen",
"web-sys",
]
[lib]
name = "batuta"
path = "src/lib.rs"
[[bin]]
name = "batuta"
path = "src/main.rs"
[[example]]
name = "agent_contracts"
path = "examples/agent_contracts.rs"
[[example]]
name = "agent_demo"
path = "examples/agent_demo.rs"
[[example]]
name = "agent_guard"
path = "examples/agent_guard.rs"
[[example]]
name = "agent_memory"
path = "examples/agent_memory.rs"
[[example]]
name = "agent_pool"
path = "examples/agent_pool.rs"
[[example]]
name = "agent_routing"
path = "examples/agent_routing.rs"
[[example]]
name = "agent_signing"
path = "examples/agent_signing.rs"
[[example]]
name = "backend_selection"
path = "examples/backend_selection.rs"
[[example]]
name = "bug_hunter_demo"
path = "examples/bug_hunter_demo.rs"
[[example]]
name = "content_demo"
path = "examples/content_demo.rs"
[[example]]
name = "custom_plugin"
path = "examples/custom_plugin.rs"
[[example]]
name = "design_by_contract"
path = "examples/design_by_contract.rs"
[[example]]
name = "full_transpilation"
path = "examples/full_transpilation.rs"
[[example]]
name = "graph_tui_demo"
path = "examples/graph_tui_demo.rs"
[[example]]
name = "hf_catalog_demo"
path = "examples/hf_catalog_demo.rs"
[[example]]
name = "int8_rescore_demo"
path = "examples/int8_rescore_demo.rs"
[[example]]
name = "mcp_demo"
path = "examples/mcp_demo.rs"
[[example]]
name = "moe_routing"
path = "examples/moe_routing.rs"
[[example]]
name = "multi_machine_demo"
path = "examples/multi_machine_demo.rs"
[[example]]
name = "numpy_conversion"
path = "examples/numpy_conversion.rs"
[[example]]
name = "oracle_demo"
path = "examples/oracle_demo.rs"
[[example]]
name = "oracle_local_demo"
path = "examples/oracle_local_demo.rs"
[[example]]
name = "parf_analysis"
path = "examples/parf_analysis.rs"
[[example]]
name = "pepita_kernel_demo"
path = "examples/pepita_kernel_demo.rs"
[[example]]
name = "pipeline_demo"
path = "examples/pipeline_demo.rs"
[[example]]
name = "playbook_demo"
path = "examples/playbook_demo.rs"
[[example]]
name = "pmat_query_demo"
path = "examples/pmat_query_demo.rs"
[[example]]
name = "publish_status_demo"
path = "examples/publish_status_demo.rs"
[[example]]
name = "pytorch_conversion"
path = "examples/pytorch_conversion.rs"
[[example]]
name = "rag_oracle_demo"
path = "examples/rag_oracle_demo.rs"
[[example]]
name = "rag_profiling_demo"
path = "examples/rag_profiling_demo.rs"
[[example]]
name = "repartir_distributed"
path = "examples/repartir_distributed.rs"
[[example]]
name = "serve_demo"
path = "examples/serve_demo.rs"
[[example]]
name = "sklearn_conversion"
path = "examples/sklearn_conversion.rs"
[[example]]
name = "sovereign_stack_e2e"
path = "examples/sovereign_stack_e2e.rs"
[[example]]
name = "stack_comply_demo"
path = "examples/stack_comply_demo.rs"
[[example]]
name = "stack_diagnostics_demo"
path = "examples/stack_diagnostics_demo.rs"
[[example]]
name = "stack_dogfood"
path = "examples/stack_dogfood.rs"
[[example]]
name = "stack_graph_tui"
path = "examples/stack_graph_tui.rs"
[[example]]
name = "stack_quality_demo"
path = "examples/stack_quality_demo.rs"
[[example]]
name = "svg_generation_demo"
path = "examples/svg_generation_demo.rs"
[[example]]
name = "trueno_ublk_demo"
path = "examples/trueno_ublk_demo.rs"
[[example]]
name = "trueno_zram_demo"
path = "examples/trueno_zram_demo.rs"
[[example]]
name = "whisper_apr_demo"
path = "examples/whisper_apr_demo.rs"
[[test]]
name = "agent_integration"
path = "tests/agent_integration.rs"
[[test]]
name = "cuda_edge_cases"
path = "tests/cuda_edge_cases.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "property_test"
path = "tests/property_test.rs"
[[bench]]
name = "backend_selection"
path = "benches/backend_selection.rs"
harness = false
[[bench]]
name = "converter_performance"
path = "benches/converter_performance.rs"
harness = false
[dependencies.alimentar]
version = "0.2"
optional = true
[dependencies.anyhow]
version = "1.0"
[dependencies.aprender]
version = "0.27"
optional = true
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bashrs]
version = "6.65"
optional = true
[dependencies.batuta-common]
version = "0.1"
[dependencies.blake3]
version = "1.8"
optional = true
[dependencies.cargo_metadata]
version = "0.19"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = [
"derive",
"env",
]
optional = true
[dependencies.crossterm]
version = "0.28"
optional = true
[dependencies.dirs]
version = "5.0"
optional = true
[dependencies.entrenar]
version = "0.7"
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.glob]
version = "0.3"
optional = true
[dependencies.indexmap]
version = "2.7"
features = ["serde"]
optional = true
[dependencies.jugar-probar]
version = "1.0"
features = ["browser"]
optional = true
[dependencies.pacha]
version = "0.2"
optional = true
[dependencies.pepita]
version = "0.1"
optional = true
[dependencies.pforge-runtime]
version = "0.1"
optional = true
[dependencies.pmcp]
version = "1.10"
optional = true
[dependencies.presentar]
version = "0.3"
optional = true
[dependencies.presentar-terminal]
version = "0.3"
optional = true
[dependencies.probar]
version = "0.1"
optional = true
[dependencies.provable-contracts]
version = "0.1"
optional = true
[dependencies.provable-contracts-macros]
version = "0.1"
optional = true
[dependencies.quick-xml]
version = "0.37"
optional = true
[dependencies.realizar]
version = "0.8"
optional = true
[dependencies.renacer]
version = "0.10"
optional = true
[dependencies.repartir]
version = "2.0"
features = [
"cpu",
"remote",
]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
"stream",
]
optional = true
default-features = false
[dependencies.resvg]
version = "0.47"
optional = true
[dependencies.semver]
version = "1.0"
features = ["serde"]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml_ng]
version = "0.10"
optional = true
[dependencies.simular]
version = "0.3"
optional = true
[dependencies.syntect]
version = "5.2"
features = [
"default-syntaxes",
"default-themes",
"regex-fancy",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.48"
features = ["full"]
optional = true
[dependencies.toml]
version = "0.9"
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.trueno]
version = "0.16"
features = ["gpu"]
optional = true
[dependencies.trueno-db]
version = "0.3.16"
optional = true
[dependencies.trueno-graph]
version = "0.1.17"
optional = true
[dependencies.trueno-rag]
version = "0.2"
features = ["sqlite"]
optional = true
[dependencies.trueno-ublk]
version = "0.3"
optional = true
[dependencies.trueno-viz]
version = "0.2"
optional = true
[dependencies.trueno-zram-core]
version = "0.3"
optional = true
[dependencies.walkdir]
version = "2.5"
optional = true
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.web-sys]
version = "0.3"
features = ["console"]
optional = true
[dependencies.which]
version = "6.0"
optional = true
[dependencies.whisper-apr]
version = "0.2"
optional = true
[dev-dependencies.assert_cmd]
version = "2.0"
[dev-dependencies.blake3]
version = "1.8"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.predicates]
version = "3.1"
[dev-dependencies.proptest]
version = "1.5"
[dev-dependencies.tempfile]
version = "3.23"
[dev-dependencies.trueno-cuda-edge]
version = "0.1"
[lints.clippy]
assigning_clones = "allow"
bool_to_int_with_if = "allow"
case_sensitive_file_extension_comparisons = "allow"
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_possible_wrap = "allow"
cast_precision_loss = "allow"
cast_ptr_alignment = "allow"
cast_sign_loss = "allow"
clone_on_ref_ptr = "allow"
cognitive_complexity = "warn"
comparison_chain = "allow"
doc_link_with_quotes = "allow"
doc_markdown = "allow"
expect_used = "allow"
explicit_iter_loop = "allow"
fn_params_excessive_bools = "allow"
format_collect = "allow"
format_push_string = "allow"
if_not_else = "allow"
if_then_some_else_none = "allow"
implicit_clone = "allow"
implicit_hasher = "allow"
into_iter_without_iter = "allow"
items_after_statements = "allow"
iter_without_into_iter = "allow"
large_stack_arrays = "allow"
manual_let_else = "allow"
manual_string_new = "allow"
many_single_char_names = "allow"
map_unwrap_or = "allow"
match_same_arms = "allow"
match_wildcard_for_single_variants = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_continue = "allow"
needless_pass_by_value = "allow"
needless_raw_string_hashes = "allow"
no_effect_underscore_binding = "allow"
option_if_let_else = "allow"
option_option = "allow"
redundant_closure_for_method_calls = "allow"
ref_as_ptr = "allow"
ref_option = "allow"
return_self_not_must_use = "allow"
similar_names = "allow"
single_match_else = "allow"
stable_sort_primitive = "allow"
str_to_string = "allow"
struct_excessive_bools = "allow"
struct_field_names = "allow"
too_many_arguments = "warn"
too_many_lines = "allow"
trivially_copy_pass_by_ref = "allow"
uninlined_format_args = "allow"
unnecessary_debug_formatting = "allow"
unnecessary_literal_bound = "allow"
unnecessary_wraps = "allow"
unnested_or_patterns = "allow"
unreadable_literal = "allow"
unused_async = "allow"
unused_self = "allow"
unwrap_used = "warn"
used_underscore_binding = "allow"
wildcard_imports = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.correctness]
level = "deny"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.clippy.perf]
level = "warn"
priority = -1
[lints.clippy.style]
level = "warn"
priority = -1
[lints.rust]
missing_docs = "allow"
unreachable_pub = "allow"
unsafe_code = "deny"
unsafe_op_in_unsafe_fn = "warn"
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
[profile.dev]
panic = "abort"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true