1.5k stars · BSD-3-Clause · v0.6.8 (2026-02-16)
Fifty indicators as DataFrame columns, under a licence you can actually ship.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A thin wrapper that turns a pandas DataFrame of OHLCV bars into a StockDataFrame, where asking for df['macd'] or df['rsi_14'] computes the indicator on demand. More than fifty momentum, trend, volatility and volume indicators, with no compiled dependencies to install.
Why it matters
ScalpingMate's chain in this ledger is all research machinery: tsfresh generating 700 features, Optuna searching, arch testing whether the winner is luck, SHAP explaining what it leans on. What is missing is the unglamorous layer where a human-legible indicator is computed the same way every time — in the product, for a chart a paying user looks at and recognises. This is that layer, it installs in one command, and BSD-3-Clause means it can sit inside a paid ScalpingMate screen, unlike backtesting.py (AGPL) or vectorbt (Commons Clause).
- BSD-3-Clause — genuinely shippable inside a commercial feature, which is rare in this corner of the ecosystem.
- No TA-Lib C library to compile, which removes the classic install wall on a plain VPS.
- The column-access API is small enough that Claude Code will get it right on the first attempt.
- Seven months since the last release and a small maintainer team — stable rather than abandoned, but verify before it becomes load-bearing.
- Indicators are conveniences, not edges. Computing fifty of them is not a strategy, and it is an easy way to fool yourself into feeling productive.
- On three years of one-minute EURUSD bars, casual column access recomputes far more than you expect. Cache deliberately.
This is that layer, it installs in one command, and BSD-3-Clause means it can sit inside a paid ScalpingMate screen, unlike backtesting.py (AGPL) or vectorbt (Commons Clause).
Sits directly beside the existing pandas loading in ScalpingMate.
Sits directly beside the existing pandas loading in ScalpingMate.