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
20 lines
613 B
Markdown
20 lines
613 B
Markdown
# Packaging and distribution
|
|
|
|
This document describes how ferro-ta is packaged and published.
|
|
|
|
## PyPI (pip)
|
|
|
|
Wheels are built by CI on release (see [RELEASE.md](RELEASE.md)).
|
|
Publishing uses PyPI Trusted Publishing via GitHub OIDC; no long-lived PyPI API
|
|
token is required.
|
|
|
|
Supported platforms and Python versions are documented in [PLATFORMS.md](PLATFORMS.md).
|
|
|
|
## npm (WASM)
|
|
|
|
The Node.js / browser WASM package is published to npm by the **wasm-publish** workflow on release.
|
|
|
|
## crates.io (Rust)
|
|
|
|
The pure-Rust library `ferro_ta_core` is published to crates.io by the CI job **publish-cratesio** on release.
|