{"library":"pandas-ta","title":"pandas-ta Technical Analysis Library","description":"pandas-ta is a comprehensive Python 3 library for technical analysis, extending Pandas Dataframes with a wide range of indicators. It's designed for quantitative researchers, traders, and investors, providing an easy-to-use API for applying financial indicators directly to Dataframes. The current version is 0.4.71b0 (beta), indicating active development and frequent updates.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install pandas_ta"],"cli":null},"imports":["import pandas_ta as ta"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import pandas as pd\nimport pandas_ta as ta\nimport io\n\n# Sample financial data (usually loaded from CSV, API, etc.)\ndata = \"\"\"Open,High,Low,Close,Volume\n100,105,99,103,1000\n103,108,102,107,1200\n107,112,106,110,1100\n110,115,109,114,1300\n114,119,113,117,1400\n117,122,116,120,1500\n120,125,119,123,1600\n123,128,122,127,1700\n127,132,126,130,1800\n130,135,129,133,1900\n\"\"\"\ndf = pd.read_csv(io.StringIO(data))\n\n# Extend pandas with pandas-ta and apply a strategy\n# By default, indicators are not appended to the original DataFrame in v0.4+\n# Use append=True if you want to modify the original df, or reassign.\n# For quickstart, we'll demonstrate adding to a new df to show the result clearly\n\n# Apply a single indicator (e.g., Simple Moving Average)\ndf['SMA_10'] = ta.sma(df['Close'], length=3) # Example length\n\n# Apply a full strategy (e.g., 'All' or a custom one)\n# By default, 'append=False' in v0.4+ for df.ta accessor.\n# Let's create a new DataFrame to show the strategy results cleanly.\nstrat_df = df.copy()\nstrat_df.ta.strategy(\"All\") # Applies a set of common indicators\n\nprint(\"DataFrame with SMA:\")\nprint(df.tail())\nprint(\"\\nDataFrame with 'All' strategy indicators (new columns only):\")\nprint(strat_df.tail())\n# To see only the newly added columns for strategy:\n# print(strat_df.drop(columns=['Open', 'High', 'Low', 'Close', 'Volume']).tail())","lang":"python","description":"This quickstart demonstrates how to load sample data, apply a single technical indicator (SMA) directly, and then use the `df.ta.strategy()` method to apply a collection of indicators. Note the behavior of `append=False` by default in `0.4.x` versions, meaning indicators are not automatically added to the original DataFrame unless explicitly handled.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"0.4.71b0","pypi_latest":"0.4.71b0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":20,"avg_install_s":10.6,"avg_import_s":1.69,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.4,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.5,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pandas_ta","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.6,"import_time_s":1.65,"mem_mb":48.9,"disk_size":"320M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pandas_ta","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.7,"import_time_s":1.73,"mem_mb":50.5,"disk_size":"319M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pandas_ta","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":1.6,"import_time_s":null,"mem_mb":null,"disk_size":null}]}}