[package]
name = "laddu"
version = "0.1.6"
edition = "2021"
description = "Amplitude analysis made short and sweet"
documentation = "https://docs.rs/laddu"
readme = "README.md"
homepage = "https://github.com/denehoffman/laddu"
repository = "https://github.com/denehoffman/laddu"
license = "MIT OR Apache-2.0"
keywords = ["PWA", "amplitude", "particle", "physics", "modeling"]
categories = ["science", "mathematics"]
exclude = ["/python_examples"]

[lib]
name = "laddu"
crate-type = ["cdylib", "rlib"]

[dependencies]
indexmap = "2.6.0"
num = "0.4.3"
nalgebra = "0.33.0"
arrow = "53.1.0"
parquet = "53.1.0"
factorial = "0.4.0"
parking_lot = "0.12.3"
dyn-clone = "1.0.17"
auto_ops = "0.3.0"
rand = "0.8.5"
rand_chacha = "0.3.1"
rayon = { version = "1.10.0", optional = true }
pyo3 = { version = "0.22.5", optional = true, features = [
  "num-complex",
  "abi3-py37",
] }
numpy = { version = "0.22.0", optional = true, features = ["nalgebra"] }
ganesh = "0.13.0"
thiserror = "2.0.0"
shellexpand = "3.1.0"
accurate = "0.4.1"
serde = "1.0.214"
serde-pickle = "1.1.1"

[dev-dependencies]
approx = "0.5.1"
criterion = { version = "2.7.2", package = "codspeed-criterion-compat", features = [
  "html_reports",
] }

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

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

[features]
default = ["rayon", "python"]
extension-module = ["pyo3/extension-module"]
rayon = ["dep:rayon"]
f32 = []
python = ["dep:pyo3", "dep:numpy", "extension-module"]

[profile.release]
lto = true
codegen-units = 1
panic = "abort"

[profile.bench]
lto = true
codegen-units = 1
panic = "unwind"

[profile.perf]
inherits = "release"
debug = true

[package.metadata.docs.rs]
rustdoc-args = ["--html-in-header", "./docs/docs-header.html"]

[package.metadata.maturin]
python-source = "python"
