Pandas TA Classic is an easy-to-use library that leverages the Pandas package with 141 indicators and utility functions and 62 TA Lib candlestick patterns (203 total). Many commonly used indicators are included, such as: Simple Moving Average (sma), Moving Average Convergence Divergence (macd), Hull Exponential Moving Average (hma), Bollinger Bands (bbands), On-Balance Volume (obv), Aroon & Aroon Oscillator (aroon), Squeeze (squeeze) and many more.
This is the classic/community maintained version of the popular pandas-ta library.
- 203 Technical Indicators: 141 indicators + 62 TA-Lib candlestick patterns
- Native Candlestick Patterns: 5 patterns (cdl_doji, cdl_inside, cdl_z, cdl_pattern, ha) work without TA-Lib
- Automatic Versioning: Version management via git tags using setuptools-scm
- Modern Package Management: Full support for both
uv
andpip
- Production Ready: Stable status with comprehensive test coverage
- Active Development: Regular updates with community contributions
The library supports both modern uv and traditional pip package managers.
Stable Release
Using uv
(recommended - faster):
uv pip install pandas-ta-classic
Using pip
:
pip install pandas-ta-classic
Latest Version
Using uv
:
uv pip install git+https://github.com/xgboosted/pandas-ta-classic
Using pip
:
pip install -U git+https://github.com/xgboosted/pandas-ta-classic
Development Installation
Using uv
:
# Clone the repository
git clone https://github.com/xgboosted/pandas-ta-classic.git
cd pandas-ta-classic
# Install with all dependencies
uv pip install -e ".[all]"
# Or install specific dependency groups:
uv pip install -e ".[dev]" # Development tools
uv pip install -e ".[optional]" # Optional features like TA-Lib
Using pip
:
# Clone the repository
git clone https://github.com/xgboosted/pandas-ta-classic.git
cd pandas-ta-classic
# Install with all dependencies
pip install -e ".[all]"
# Or install specific dependency groups:
pip install -e ".[dev]" # Development tools
pip install -e ".[optional]" # Optional features like TA-Lib
import pandas as pd
import pandas_ta_classic as ta
# Load your data
df = pd.read_csv("path/to/symbol.csv")
# OR if you have yfinance installed
df = df.ta.ticker("aapl")
# Calculate indicators
df.ta.sma(length=20, append=True) # Simple Moving Average
df.ta.rsi(append=True) # Relative Strength Index
df.ta.macd(append=True) # MACD
df.ta.bbands(append=True) # Bollinger Bands
# Or run a strategy with multiple indicators
df.ta.strategy("CommonStrategy") # Runs commonly used indicators
- 141 Technical Indicators & Utilities across 9 categories (Candles, Momentum, Overlap, Trend, Volume, etc.)
- 62 TA Lib Candlestick Patterns for comprehensive pattern recognition
- 203 Total Indicators & Patterns - the most comprehensive Python TA library
- Dynamic Category Discovery - automatically detects all available indicators from the filesystem
- Strategy System with multiprocessing support for bulk indicator processing
- Pandas DataFrame Extension for seamless integration (
df.ta.indicator()
) - TA Lib Integration - automatically uses TA Lib versions when available
- Vectorbt Integration - compatible with popular backtesting framework
- Custom Indicators - easily create and chain your own indicators
Complete documentation is available at: π https://xgboosted.github.io/pandas-ta-classic/
- π Usage Guide - Programming conventions and basic usage
- ποΈ Strategy System - Multiprocessing and bulk indicator processing
- π Indicators Reference - Complete list of all 141 indicators & 62 patterns
- π§ DataFrame API - Properties and methods reference
- π Performance Metrics - Backtesting and performance analysis
- π‘ Examples - Jupyter notebooks and code examples
Pandas TA Classic follows a rolling support policy for the latest stable Python version plus 4 preceding minor versions.
Note: Python version support is dynamically managed via CI/CD workflows. When new Python versions are released, the library automatically updates to support the latest 5 minor versions. Check the CI workflow
LATEST_PYTHON_VERSION
for the current configuration.
Note: TA Lib installation enables all candlestick patterns:
- Using
uv
:uv pip install TA-Lib
- Using
pip
:pip install TA-Lib
We welcome contributions! Please see our contributing guidelines and issues page.
- Check existing issues first
- Provide reproducible code examples
- Include relevant error messages and data samples
For detailed information about changes, improvements, and new features, please see the CHANGELOG.md file.
Original TA-LIB | TradingView | Sierra Chart | MQL5 | FM Labs | Pro Real Code | User 42
If you find this library helpful, please consider:
This project is licensed under the MIT License - see the LICENSE file for details.