pmdarima
Python's forecast::auto.arima equivalent
Decision gist · record as of 2026-08-14
Yes, if you need automated ARIMA forecasting with scikit-learn integration. The package is mature, well-maintained, MIT-licensed, and widely downloaded (top 5000 PyPI). Install friction is moderate due to multiple dependencies and potential C compilation, but prebuilt wheels for Python 3.10+ on major platforms mitigate this. No known security vulnerabilities. Suitable for production time series work in finance, insurance, and research.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- If a prebuilt wheel is unavailable for your platform, building from source requires Cython >= 0.29 and a C compiler (gcc/Clang on Mac/Linux, MinGW on Windows).
- Medium install friction due to 10 runtime dependencies including Cython, numpy, pandas, scikit-learn, scipy, and statsmodels.
License · maintenance · safety
MIT (permissive) — Licensed under MIT (permissive), allowing use in commercial and proprietary projects without restriction, though attribution is customary.
last release 2025-11-17 (270 days) · last repo commit 2025-11-17 · 1,733 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,290,471 downloads/mo, #2,672 on PyPI
Alternatives
Verify before relying
pip install pmdarima
import pmdarima as pm
from pmdarima.model_selection import train_test_split
y = pm.datasets.load_wineind()
train, test = train_test_split(y, train_size=150)
model = pm.auto_arima(train, seasonal=True, m=12)
forecasts = model.predict(test.shape[0])- Whether the package's aging status (270 days since release) reflects maintenance slowdown or stable maturity.
- Performance characteristics on large datasets or high-frequency time series.
- Compatibility of serialized models across pmdarima versions when using pickle.
What it is and what it does
Pmdarima is a statistical library that brings R's auto.arima forecasting capability to Python with a scikit-learn-style API. It wraps statsmodels internally but presents a more accessible interface for developers familiar with scikit-learn's estimator and pipeline patterns. The package includes automated ARIMA order selection, stationarity and seasonality tests, time series transformations (Box-Cox, Fourier), seasonal decomposition, cross-validation utilities, and built-in datasets for prototyping.
You use it to fit forecasting models on historical time series data and generate predictions for future periods. It supports both simple auto-ARIMA calls and complex preprocessing pipelines with multiple transformers. The library targets financial, insurance, and research domains where time series forecasting is central. Its main dependencies—numpy, pandas, scikit-learn, scipy, statsmodels—are standard in the data science ecosystem, making it a natural fit for projects already using those tools.
Use it for
- Automatically select optimal ARIMA parameters and fit a forecasting model without manual hyperparameter tuning.
- Build a preprocessing pipeline combining Box-Cox transformation with seasonal ARIMA for improved forecast accuracy.
- Serialize and deploy a fitted time series model to production using pickle, then load and predict on new data.
- Detect and handle seasonality in sales, demand, or financial data using seasonal decomposition and m-parameter tuning.
- Perform cross-validation on time series splits to evaluate model generalization before deployment.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need automated ARIMA forecasting with scikit-learn integration.
The package is mature, well-maintained, MIT-licensed, and widely downloaded (top 5000 PyPI). Install friction is moderate due to multiple dependencies and potential C compilation, but prebuilt wheels for Python 3.10+ on major platforms mitigate this. No known security vulnerabilities. Suitable for production time series work in finance, insurance, and research.
Install
pmdarima on PyPI
Before you install
Medium install friction due to 10 runtime dependencies including Cython, numpy, pandas, scikit-learn, scipy, and statsmodels. The package is aging (270 days since last release) but maintains an active repository with 1733 stars and recent commits. Prebuilt wheels available for Python 3.10–3.13 on major platforms reduce compilation burden.
Requires Python 3.10 or later. If a prebuilt wheel is unavailable for your platform, building from source requires Cython >= 0.29 and a C compiler (gcc/Clang on Mac/Linux, MinGW on Windows).
License in practice
Licensed under MIT (permissive), allowing use in commercial and proprietary projects without restriction, though attribution is customary.
Quickstart
pip install pmdarima
import pmdarima as pm
from pmdarima.model_selection import train_test_split
y = pm.datasets.load_wineind()
train, test = train_test_split(y, train_size=150)
model = pm.auto_arima(train, seasonal=True, m=12)
forecasts = model.predict(test.shape[0])
Verify before relying
- Whether the package's aging status (270 days since release) reflects maintenance slowdown or stable maturity.
- Performance characteristics on large datasets or high-frequency time series.
- Compatibility of serialized models across pmdarima versions when using pickle.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 10 packagesjoblibCythonnumpypandasscikit-learnscipystatsmodelsurllib3setuptoolspackaging |
| Maintenance | Aging 270 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,290,471 / month, #2,672 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonTopic :: Scientific/EngineeringTopic :: Software Development |
Evidence: pmdarima-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl; pmdarima-2.1.1-cp310-cp310-macosx_11_0_arm64.whl; pmdarima-2.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pmdarima-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pmdarima-2.1.1-cp310-cp310-win_amd64.whl; pmdarima-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl; pmdarima-2.1.1-cp311-cp311-macosx_11_0_arm64.whl; pmdarima-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pmdarima-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pmdarima-2.1.1-cp311-cp311-win_amd64.whl; pmdarima-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl; pmdarima-2.1.1-cp312-cp312-macosx_11_0_arm64.whl; pmdarima-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pmdarima-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pmdarima-2.1.1-cp312-cp312-win_amd64.whl; pmdarima-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl; pmdarima-2.1.1-cp313-cp313-macosx_11_0_arm64.whl; pmdarima-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; pmdarima-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; pmdarima-2.1.1-cp313-cp313-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “auto arima python”
- pmdarimaPmdarima provides automated ARIMA time series forecasting with a…
- statsforecastStatsForecast provides fast implementations of statistical…
- dartsDarts provides forecasting and anomaly detection for time series…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also darts · tbats · statsforecast · u8darts · statsmodels · prophet · pytorch-forecasting · hierarchicalforecast · chronos-forecasting · skforecast