307beeca02
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
53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
{% set name = "ferro-ta" %}
|
|
{% set version = "1.0.0" %}
|
|
|
|
package:
|
|
name: {{ name|lower }}
|
|
version: {{ version }}
|
|
|
|
source:
|
|
# Build from PyPI wheel (simplest approach; no Rust toolchain required).
|
|
# Replace with url/sha256 of the specific wheel for your platform or
|
|
# use `pip_install: true` to let conda-build fetch it.
|
|
pip_install: true
|
|
packages:
|
|
- ferro-ta=={{ version }}
|
|
|
|
build:
|
|
number: 0
|
|
# Use noarch: python only if wheels are already compiled. For source builds
|
|
# remove noarch and add the maturin build steps below.
|
|
noarch: python
|
|
script: |
|
|
{{ PYTHON }} -m pip install ferro-ta=={{ version }} --no-deps --ignore-installed -vv
|
|
|
|
requirements:
|
|
host:
|
|
- python
|
|
- pip
|
|
run:
|
|
- python >=3.10
|
|
- numpy >=1.20
|
|
|
|
test:
|
|
imports:
|
|
- ferro_ta
|
|
commands:
|
|
- python -c "from ferro_ta import SMA, RSI; import numpy as np; print(SMA(np.array([1.0,2.0,3.0,4.0,5.0]), timeperiod=3))"
|
|
|
|
about:
|
|
home: https://github.com/pratikbhadane24/ferro-ta
|
|
license: MIT
|
|
license_family: MIT
|
|
summary: A fast Technical Analysis library — TA-Lib alternative powered by Rust and PyO3
|
|
description: |
|
|
ferro-ta is a drop-in TA-Lib alternative with pre-compiled wheels for all
|
|
major platforms. It provides 155+ indicators via a Rust core and PyO3
|
|
bindings, with optional pandas / streaming APIs.
|
|
doc_url: https://github.com/pratikbhadane24/ferro-ta
|
|
dev_url: https://github.com/pratikbhadane24/ferro-ta
|
|
|
|
extra:
|
|
recipe-maintainers:
|
|
- pratikbhadane24
|