Repository navigation
Retroactive GitHub Release for v0.7.0 (already tagged and published to PyPI). See docs/changelog.md for the full history.
Added
- Complete classic TA-Lib surface (
quantwave.talib): 161 functions, up from 8 — RSI, MACD, SMA, EMA, ATR, ADX, BBANDS, STOCH, OBV, all 61 candlestick patterns, plus math/price transforms. The classic array-in/array-out API (talib.RSI(close, timeperiod=14), multi-output tuples, OHLC/candlestick inputs) delegates to the Polars.taplugins — values are the talib-rs-parity-tested Rust results. - Top-level native symbol access restored:
qw.FracDiff,qw.fracdiff,qw.rsi,qw.SuperTrend, … bind alongside the slug-basedqw.tanamespace.
Changed
- Unified the Python FFI on PyO3 (abi3), retiring uniffi. Indicator bindings, Polars expression plugins, and the backtest engine are now a single PyO3
abi3-py39extension in one crate (quantwave-py) producing one cdylib — a singlematurin buildyields onecp39-abi3wheel with no wheel-merge step. - Collapsed the three PyO3 crates (
quantwave-python,quantwave-plugins,quantwave-backtest-py) intoquantwave-py; deletedscripts/build_unified_wheel.py; consolidated to onepyproject.toml.
Fixed
- Wheel tag / install correctness: the published wheel is now
cp39-abi3and installs correctly on CPython 3.9–3.13. 0.6.1 shipped apy3-nonewheel bundling CPython-3.12-only extensions, which brokepip installon 3.9/3.10/3.11/3.13.