70e9cbb397
Minor bump (not patch) because the [Unreleased] section since 0.2.7 has accumulated a sweep of additive changes that justify a new minor: - Family 9-16 indicator catalogue expansion (Bands & Channels, Trailing Stops, Volume, Statistics, Ehlers/Cycle DSP, Pivots, DeMark, Ichimoku, Candlestick Patterns, Market Profile, Risk/Performance) — roughly 100+ new indicators since 0.2.7 across all four bindings. - New `wickra_core::FAMILIES` const + family-taxonomy guard tests. - GitHub org migration (kingchenc -> wickra-lib) and new maintainer email (wickra.lib@gmail.com). - New `repo-metadata.toml` + `sync-metadata.yml` audit workflow. - WASM CI tests now run on every PR (existing tests had been manually-only). - CycloneDX SBOMs + npm provenance attestations attached to releases. - Three end-to-end strategy examples. - Governance polish: ARCHITECTURE / ROADMAP / CITATION / FUNDING / .editorconfig. - Curated benchmark suite (~33 representative indicators). - Three cold-path coverage fixes (mama, rsi, sine_wave). - bindings/node/package-lock.json now committed. Workspace + bindings (Rust crate, Python wheel, Node main + 6 platform sub-packages, WASM) all step to 0.3.0. CHANGELOG opens the [0.3.0] section dated 2026-05-28 with the full Changed / Added inventory. Compare-URL block adds the v0.2.7...v0.3.0 line under [Unreleased] and points [Unreleased] at v0.3.0...HEAD using the new wickra-lib org. **Supersedes PR #61** (0.2.7 -> 0.2.8 patch bump). Close #61 when this one merges. Merge ordering remains: #59 (org migration) + #60 (family-api) + the polish PRs first, rebase this PR on top of the new main, then merge. Tag-push `v0.3.0` is a SEPARATE, manual step after merge — it triggers release.yml's irreversible publish to crates.io / PyPI / npm.
65 lines
1.8 KiB
TOML
65 lines
1.8 KiB
TOML
[build-system]
|
|
requires = ["maturin>=1.7,<2.0"]
|
|
build-backend = "maturin"
|
|
|
|
[project]
|
|
name = "wickra"
|
|
version = "0.3.0"
|
|
description = "Streaming-first technical indicators: incremental, fast, install-free."
|
|
readme = "README.md"
|
|
license = { text = "PolyForm-Noncommercial-1.0.0" }
|
|
authors = [{ name = "kingchenc", email = "wickra.lib@gmail.com" }]
|
|
requires-python = ">=3.9"
|
|
keywords = ["finance", "trading", "indicators", "technical-analysis", "ta-lib"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Financial and Insurance Industry",
|
|
"License :: Free for non-commercial use",
|
|
"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",
|
|
"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"]
|