[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"

[project]
name = "wickra"
version = "0.7.1"
description = "Streaming-first technical indicators: incremental, fast, install-free."
readme = "README.md"
license = "MIT OR Apache-2.0"
authors = [{ name = "kingchenc", email = "support@wickra.org" }]
requires-python = ">=3.9"
keywords = ["finance", "trading", "indicators", "technical-analysis", "ta-lib"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Financial and Insurance Industry",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3 :: Only",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Programming Language :: Rust",
    "Topic :: Office/Business :: Financial :: Investment",
    "Topic :: Scientific/Engineering :: Mathematics",
]
dependencies = [
    "numpy>=1.22",
]

[project.optional-dependencies]
test = [
    "pytest>=7",
    "numpy>=1.22",
    "hypothesis>=6",
]
bench = [
    "pytest-benchmark>=4",
    "TA-Lib; platform_system != 'Windows'",
    "pandas-ta>=0.3.14b",
    "tulipy>=0.4; platform_system != 'Windows'",
    "talipp>=2",
    "finta>=1.3",
    "pandas>=2",
    "numpy>=1.22",
]

[project.urls]
Homepage = "https://github.com/wickra-lib/wickra"
Repository = "https://github.com/wickra-lib/wickra"
Issues = "https://github.com/wickra-lib/wickra/issues"

[tool.maturin]
manifest-path = "Cargo.toml"
python-source = "python"
module-name = "wickra._wickra"
features = ["pyo3/extension-module"]
strip = true

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra -q"
filterwarnings = ["error"]
