pandas-ta-classic
Technical Analysis Indicators - Pandas TA Classic is an easy to use Python 3 Pandas Extension with a comprehensive collection of indicators and TA-Lib patterns.
What it is and what it does
Pandas TA Classic is a Pandas DataFrame extension that adds 193 technical indicators and 62 native candlestick patterns to your trading and financial analysis workflows. It works by attaching methods to pandas DataFrames (e.g., `df.ta.sma()`, `df.ta.rsi()`), making indicators accessible directly on your price data without external dependencies like TA-Lib. The library includes common indicators such as Simple Moving Average, MACD, Bollinger Bands, and On-Balance Volume, plus less common ones like Hull Exponential Moving Average and Squeeze.
The package depends only on numpy and pandas at runtime, keeping installation lightweight. It offers optional integrations: TA-Lib can accelerate 34 core indicators when installed, numba can speed up specific hot-loop indicators by 6–230×, and tulipy serves as a parity oracle for testing. All candlestick patterns are implemented natively in Python, so you never need TA-Lib just to use CDL patterns. The library supports fluent API chaining to combine multiple indicators in one expression and includes a strategy system for bulk processing.
Use it for:
- Build moving average crossover trading strategies by chaining sma() calls and comparing signals on historical price data
- Detect candlestick patterns (doji, engulfing, hammer) on OHLC data using native Python implementations without external C libraries
- Backtest momentum indicators (RSI, MACD, Stochastic) on multi-timeframe data to identify entry and exit points
- Accelerate indicator computation on large datasets using optional numba for hot-loop functions like Supertrend or RSX
- Verify custom indicator implementations against TA-Lib or tulipy using the built-in oracle test suite
- Integrate technical signals into a vectorbt backtesting pipeline for performance analysis and optimization
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pandas TA Classic provides 193 technical indicators and 62 native candlestick patterns as a Pandas DataFrame extension, enabling technical analysis workflows without requiring TA-Lib.
Yes. Pandas TA Classic is actively maintained, has no known vulnerabilities, installs with minimal friction (only numpy and pandas), and offers a comprehensive set of 253 indicators and patterns under a permissive MIT license. It is production-ready (Development Status 5) and suitable for both research and commercial trading systems. Install it if you need technical analysis indicators in pandas workflows and want to avoid TA-Lib compilation or licensing complexity.
Install
pandas-ta-classic on PyPI
pip
pip install pandas-ta-classicuv
uv add pandas-ta-classicpoetry
poetry add pandas-ta-classicInstalling pandas-ta-classic
Before you install
Low friction install with only numpy and pandas as runtime dependencies. Actively maintained with a recent release 51 days ago and 419 repository stars. Supports modern Python versions (3.10–3.14) and offers optional numba acceleration for performance-critical indicators.
License in practice
MIT license permits unrestricted commercial and private use, modification, and distribution with minimal restrictions, making it suitable for proprietary trading systems and closed-source applications.
Quickstart
pip install pandas-ta-classic
import pandas as pd
import pandas_ta_classic as ta
df = pd.read_csv("data.csv")
df.ta.sma(length=20, append=True)
df.ta.rsi(append=True)
df.ta.macd(append=True)
Requires Python 3.10 or later. Optional TA-Lib and tulipy can accelerate some indicators but are not required.
Verify before relying
- Whether the 6–230× numba speedup claims are measured on typical trading datasets or synthetic benchmarks
- Specific performance characteristics of the 62 native candlestick patterns versus TA-Lib implementations
- How the fluent API chaining (v0.6+) handles error propagation and state management across chained calls
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — numpy, pandas |
| Maintenance | actively maintained — 51 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 208,792/month — #9,525 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pandas_ta_classic-0.6.52-py3-none-any.whl
Keywords: technical analysis, trading, python3, pandas
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
ft-pandas-taProvides 130+ technical analysis indicators and…
permissive · top 15,000 on PyPI
TA-LibPython wrapper for the TA-Lib C library…
unclear · top 5,000 on PyPI
pandas-taProvides over 150 technical analysis indicators…
unclear · top 5,000 on PyPI
taComputes technical analysis indicators (volume,…
permissive · top 5,000 on PyPI
stockstatsAdds technical analysis indicators and…
permissive · top 15,000 on PyPI
technicalTechnical provides a collection of technical…
copyleft · top 15,000 on PyPI
tradingview-taRetrieves technical analysis indicators and…
permissive · top 15,000 on PyPI
alpha-vantageFetches real-time and historical stock,…
permissive · top 15,000 on PyPI
tradingeconomicsProvides Python access to over 300,000 economic…
permissive · top 15,000 on PyPI
mplfinancemplfinance provides matplotlib-based…
permissive · top 15,000 on PyPI