[package]
name = "farseer"
version = "0.1.0"
edition = "2021"
description = "A high-performance time series forecasting library with Prophet-compatible API"
license = "GPL-3.0-or-later"
repository = "https://github.com/ryanbieber/seer"
homepage = "https://github.com/ryanbieber/seer"
documentation = "https://github.com/ryanbieber/seer"
authors = ["Ryan Bieber"]
keywords = ["forecasting", "time-series", "prophet", "statistics"]
categories = ["science", "algorithms"]
readme = "README.md"

[lib]
name = "farseer"
crate-type = ["cdylib", "rlib"]  # cdylib for Python, rlib for Rust

[dependencies]
# Core dependencies
ndarray = "0.15"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
anyhow = "1.0"
chrono = "0.4"
tempfile = "3.0"

# Optimization
argmin = "0.10"
argmin-math = { version = "0.4", features = ["vec"] }

# Python bindings
pyo3 = { version = "0.26", features = ["extension-module"] }
numpy = "0.26"  # For numpy array conversion
pythonize = "0.26"  # For serialization

[package.metadata.maturin]
name = "farseer"

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

# Integration tests
[[test]]
name = "integration_tests"
path = "rust_tests/integration_tests.rs"

# Maturin will use this for building Python wheels
[build-dependencies]
pyo3-build-config = "0.22"
