[package]
name = "mantis-ta"
version = "0.6.3"
edition = "2024"
rust-version = "1.88"
authors = ["MANTIS Contributors"]
description = "Composable technical analysis and strategy engine for Rust"
documentation = "https://docs.rs/mantis-ta"
repository = "https://github.com/SHA888/mantis-ta"
keywords = ["technical-analysis", "trading", "finance", "indicators", "backtesting"]
categories = ["algorithms", "mathematics", "finance"]
license = "MIT OR Apache-2.0"

[features]
default = ["serde", "strategy"]
serde = ["dep:serde", "dep:serde_json"]
ndarray = ["dep:ndarray"]
simd = []
full-indicators = []
strategy = []
backtest = ["strategy"]
all = ["serde", "ndarray", "simd", "full-indicators", "strategy", "backtest"]

[dependencies]
serde = { version = "1.0.228", features = ["derive"], optional = true }
serde_json = { version = "1.0.149", optional = true }
ndarray = { version = "0.17.2", optional = true }
thiserror = "2.0.18"

[dev-dependencies]
criterion = { version = "0.8.2", features = ["html_reports"] }
approx = "0.5.1"
csv = "1.4.0"
serde_json = "1.0.149"
rand = "0.10.0"

[[bench]]
name = "indicators"
harness = false

[[bench]]
name = "batch_b_indicators"
harness = false

[[bench]]
name = "strategy_eval"
harness = false
required-features = ["strategy"]

[[bench]]
name = "backtest"
harness = false
required-features = ["backtest"]

[[example]]
name = "golden_cross_strategy"
required-features = ["strategy"]
