[package]
name = "qta"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/qta"
rust-version = "1.85"
readme = "README.md"
description = "Streaming technical analysis indicators for quantitative trading"
keywords = ["finance", "trading", "indicators", "technical-analysis", "zigzag"]
categories = ["algorithms", "science", "mathematics"]

[dependencies]
thiserror = "2.0"
tracing = "0.1"
serde = { version = "1.0", features = ["derive"], optional = true }

[dev-dependencies]
proptest = "1.10"

[features]
default = []
serde = ["dep:serde"]

[lints.clippy]
all = { level = "deny", priority = -1 }
pedantic = { level = "warn", priority = -1 }
module_name_repetitions = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
must_use_candidate = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
cast_lossless = "allow"
# T31 — usize→i64 casts in fixed-point price/index math are bounded by
# test/backtest corpus size; wrap is not reachable in practice.
cast_possible_wrap = "allow"
similar_names = "allow"
doc_markdown = "allow"
