[package]
name = "optimizr"
version = "1.0.0"
edition = "2021"
authors = ["HFThot Research Lab <contact@hfthot-lab.eu>"]
description = "High-performance optimization algorithms in Rust with Python bindings"
license = "MIT"
repository = "https://github.com/ThotDjehuty/optimiz-r"
keywords = ["optimization", "machine-learning", "statistics", "numerical", "scientific"]
categories = ["algorithms", "science", "mathematics"]
readme = "README.md"

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

[dependencies]
pyo3 = { version = "0.21", features = ["extension-module", "abi3-py38"], optional = true }
numpy = { version = "0.21", optional = true }
rand = "0.8"
rand_distr = "0.4"
ndarray = "0.15"
ndarray-linalg = { version = "0.16", features = ["openblas-system"] }
num-traits = "0.2"
rayon = "1.8"
thiserror = "1.0"
ordered-float = "4.2"
statrs = "0.17"

[features]
default = []
python-bindings = ["pyo3", "numpy"]
parallel = []

[dev-dependencies]
criterion = "0.5"
approx = "0.5"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
