[package]
name = "abaco"
version = "1.1.0"
edition = "2024"
rust-version = "1.89"
license = "AGPL-3.0-only"
description = "Math engine — expression evaluation, unit conversion, and numeric types for Rust"
homepage = "https://github.com/MacCracken/abaco"
repository = "https://github.com/MacCracken/abaco"
documentation = "https://docs.rs/abaco"
readme = "README.md"
keywords = ["math", "calculator", "units", "conversion", "expression"]
categories = ["mathematics", "science"]
exclude = [".claude/", "target/", "docs/", "scripts/", "bench-history.csv"]
[features]
default = []
ai = ["dep:chrono", "dep:serde_json", "dep:reqwest", "dep:tokio"]
full = ["ai"]
[dependencies]
serde = { version = "1", features = ["derive"] }
thiserror = "2"
tracing = "0.1"
chrono = { version = "0.4", features = ["serde"], optional = true }
serde_json = { version = "1", optional = true }
reqwest = { version = "0.12", features = ["json", "rustls-tls"], optional = true }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "time"], optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
[[bench]]
name = "benchmarks"
harness = false