release: cut v1.0.0
Prepare the first public 1.0.0 release and finish the remaining CI hardening work. Highlights: - align Python, Rust, WASM, Conda, API, MCP, and docs version metadata to 1.0.0 - promote package metadata to Production/Stable and update stability/versioning docs for the stable series - move the accumulated Unreleased notes into a dated 1.0.0 changelog section and keep a fresh top-level Unreleased block - strengthen the changelog checker so it validates a single top-level Unreleased section - fix the CI/package support mismatch by declaring Python >=3.10 consistently and gating pandas-ta extras to Python 3.12+ - restore Sphinx autodoc compatibility for documented ferro_ta.<module> imports by registering module aliases - make the TA-Lib benchmark guardrail less flaky by checking median and tail-percentile speedups instead of failing on a single mild outlier - switch PyPI publishing to OIDC-only trusted publishing and wire the changelog check into the required CI gate - apply the Ruff-driven cleanup across the Python and test tree and refresh uv/cargo lockfiles Validated locally: - python3 scripts/check_changelog.py - uv run --with ruff ruff check python tests - uv run --with ruff ruff format --check python tests - uv lock --check - sphinx-build -b html docs docs/_build -W --keep-going - build/install the ferro_ta 1.0.0 wheel successfully
This commit is contained in:
+11
-5
@@ -4,17 +4,17 @@ build-backend = "maturin"
|
||||
|
||||
[project]
|
||||
name = "ferro-ta"
|
||||
version = "0.1.0"
|
||||
version = "1.0.0"
|
||||
description = "A fast Technical Analysis library — TA-Lib alternative powered by Rust and PyO3"
|
||||
readme = "README.md"
|
||||
license = { text = "MIT" }
|
||||
requires-python = ">=3.12"
|
||||
requires-python = ">=3.10"
|
||||
keywords = [
|
||||
"technical-analysis", "trading", "finance", "rust", "pyo3",
|
||||
"ta-lib", "indicators", "candlestick", "pandas", "numpy",
|
||||
]
|
||||
classifiers = [
|
||||
"Development Status :: 4 - Beta",
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
"Intended Audience :: Financial and Insurance Industry",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
@@ -37,7 +37,13 @@ benchmark = ["pytest>=7.0", "pytest-benchmark>=4.0"]
|
||||
pandas = ["pandas>=1.0"]
|
||||
polars = ["polars>=0.19"]
|
||||
docs = ["sphinx>=7.0", "sphinx-rtd-theme>=1.3"]
|
||||
comparison = ["pytest>=7.0", "ta-lib>=0.4", "pandas-ta>=0.3", "ta>=0.10", "pandas>=1.0"]
|
||||
comparison = [
|
||||
"pytest>=7.0",
|
||||
"ta-lib>=0.4",
|
||||
"pandas-ta>=0.3; python_version >= '3.12'",
|
||||
"ta>=0.10",
|
||||
"pandas>=1.0",
|
||||
]
|
||||
gpu = ["torch>=2.0"]
|
||||
options = []
|
||||
mcp = ["mcp>=1.0"]
|
||||
@@ -128,6 +134,6 @@ dev = [
|
||||
"pyright>=1.1",
|
||||
"maturin>=1.0,<2.0",
|
||||
"pyyaml>=6.0",
|
||||
"pandas-ta>=0.3",
|
||||
"pandas-ta>=0.3; python_version >= '3.12'",
|
||||
"ta>=0.10",
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user