Support Matrix
ferro-ta is a Rust-core technical analysis library. Python, Rust, JavaScript
(WASM), and Flutter are first-class bindings over ferro_ta_core. Python
keeps TA-Lib-style names and the richest ergonomic surface; it is not the
only supported product.
Indicator compatibility
Status |
Scope |
Notes |
|---|---|---|
Exact parity |
Common TA-Lib-compatible indicators such as |
Matches TA-Lib numerically within floating-point tolerance in the current comparison suite. |
Approximate parity |
EMA-family indicators ( |
Same API and intended use, with convergence-window or floating-point differences documented in the migration guide. |
Intentionally different |
ferro-ta-only indicators such as |
These extend the library beyond TA-Lib and are not parity claims. |
For migration details and known indicator-specific differences, see Migration from TA-Lib.
Module status
Surface |
Status |
Notes |
|---|---|---|
Top-level indicators and category submodules |
Stable core |
This is the main supported surface of the project. |
|
Supported |
Public API is supported; internal dispatch may evolve. |
|
Supported, still evolving |
Suitable for live workflows; some API details are still marked experimental in the stability policy. |
|
Supported extension |
Useful indicators beyond TA-Lib, but not part of drop-in parity claims. |
|
Adjacent tooling |
Useful analytics helpers, but not the primary product story. |
|
Supported (v1.1.0) |
|
|
Supported (v1.1.0) |
|
|
Supported (v1.1.0) |
|
|
Supported (v1.1.0) |
|
|
Supported (v1.1.0) |
|
|
Supported (v1.1.0) |
|
|
Supported (v1.1.0) |
|
MCP, GPU, plugin, and agent-oriented tooling |
Experimental or adjacent |
Evaluate these independently from the core indicator library. WASM and Flutter are first-class language bindings, not adjacent tooling — see the table below. |
Language bindings
ferro_ta_core is the Rust core API. Python, JavaScript/WASM, Flutter, and
Go are first-class wrappers over it; Go (and C/C++) go through the shared C ABI
crate ferro_ta_ffi. The counts below are a snapshot of the
generated Cross-language coverage table and must be refreshed with
python3 scripts/build_api_manifest.py.
Binding |
Channel |
Coverage |
Notes |
|---|---|---|---|
Python (PyO3) |
PyPI |
468 names on the coverage spine |
TA-Lib-style API; abi3 wheels for CPython 3.10+. |
Rust |
crates.io |
595 core symbols (functions + streaming types) |
Direct |
WASM / Node |
npm |
578 exports |
Node.js and browsers; 451 names shared with Python after normalization. |
Flutter / Dart |
pub.dev |
194 generated wrappers; 56 |
flutter_rust_bridge over core; prebuilt natives for Android, iOS,
macOS, Windows, and Linux. Flutter web reuses |
Go |
Go module |
503 C / Go coverage rows (324 C ABI exports; |
cgo over the |
C / C++ |
GitHub Release assets ( |
Same surface as Go |
Generated header; static and shared libraries per platform (MSVC build on Windows). |
Do not claim full parity from this page — use Cross-language coverage.
Backtesting engine features
Feature |
Status |
Notes |
|---|---|---|
Flat/proportional commission |
Supported |
Via |
Bid-ask spread model ( |
Supported (v1.1.0) |
New |
Short borrow cost ( |
Supported (v1.1.0) |
New |
Trailing stop loss |
Supported |
|
Breakeven stop ( |
Supported (v1.1.0) |
|
Bracket order priority |
Supported (v1.1.0) |
When both SL and TP are breached on the same bar, the level closer to open fires first. |
Leverage / margin modeling |
Supported (v1.1.0) |
|
Loss circuit breakers |
Supported (v1.1.0) |
|
Portfolio constraints |
Supported (v1.1.0) |
|
Volatility-target position sizing |
Supported |
|
Walk-forward / Monte Carlo |
Supported |
Available via |
Benchmark comparison |
Supported |
|
Supported Python versions
Python |
Status |
|---|---|
3.13 |
Supported and tested in CI |
3.12 |
Supported and tested in CI |
3.11 |
Supported and tested in CI |
3.10 |
Supported and tested in CI |
< 3.10 |
Not supported |
Tested wheel targets
OS |
Architecture |
Wheel status |
|---|---|---|
Linux |
|
Tested wheel target |
macOS |
|
Tested wheel target for Intel and Apple Silicon |
Windows |
|
Tested wheel target |
For source builds, packaging details, and platform notes, see PLATFORMS.md.
Release status
These docs track package version 1.6.0.
Release notes by version: Release Notes
Canonical project changelog: CHANGELOG.md
Stability policy: docs/stability.md
If the package version, docs version, or support matrix disagree, treat that as a documentation bug.