Enhance the documentation in PACKAGING.md and PLATFORMS.md to clarify the supported Python versions and platforms for wheel and source distribution releases. Update the CI workflow in CI.yml to include separate jobs for building wheels on Linux, macOS, and Windows, as well as a job for building the source distribution. Ensure that the publish job verifies the presence of expected distributions before publishing to PyPI.
2.1 KiB
Supported Platforms & Python Versions
Python versions
| Python | Status |
|---|---|
| 3.13 | ✅ Supported (tested in CI) |
| 3.12 | ✅ Supported (tested in CI) |
| 3.11 | ✅ Supported (tested in CI) |
| 3.10 | ✅ Supported (tested in CI) |
| < 3.10 | ❌ Not supported |
We follow the NEP 29 deprecation schedule: Python versions that have reached end-of-life are dropped in the next minor release of ferro-ta.
Operating systems & architectures
Pre-compiled wheels are published to PyPI for the following targets:
| OS | Architecture | Notes |
|---|---|---|
| Linux | x86_64 (manylinux2014 / manylinux_2_17) |
Pre-compiled wheel |
| macOS | universal2 | One wheel covers Intel + Apple Silicon |
| Windows | x86_64 |
Wheel releases target CPython 3.10, 3.11, 3.12, and 3.13. A source distribution is also published so other compatible environments can build from source.
Note: Python 3.14+ is not yet tested. Set
PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1to attempt a build on a newer interpreter and report any issues.
Installation
pip (recommended)
pip install ferro-ta
No C-compiler required on the wheel targets listed above.
conda / conda-forge
A Conda recipe is available in conda/meta.yaml. To build locally, see
PACKAGING.md. Quick start:
conda install conda-build
conda build conda/
conda install --use-local ferro_ta
Once submitted to conda-forge the package will be installable via:
conda install -c conda-forge ferro_ta
Source build
If no wheel is available for your platform, pip will attempt a source build:
# Requires Rust (stable toolchain) and maturin
pip install maturin
pip install ferro-ta --no-binary ferro-ta
Known limitations
- WASM binding: only 6 indicators exposed (see
wasm/README.md). - Python 3.14+: untested; may work with
PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1. - 32-bit platforms: not officially supported; source builds may succeed.