pandas-stubs
Type annotations for pandas
Decision gist · record as of 2026-08-14
Yes. If you use pandas and run static type checking, install this immediately. It has no runtime cost, low friction, is actively maintained, and catches real errors. The only prerequisite is Python >= 3.11 and a type checker; if you lack either, the stubs alone won't help.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >= 3.11.
- Type checker (mypy, pyright, or similar) must be installed separately to use the stubs.
- Low install friction; a pure-stub package with minimal dependencies.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause permissive license allows use in commercial and open-source projects with minimal restrictions.
last release 2026-07-30 (15 days) · last repo commit 2026-08-12 · 326 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 101,187,201 downloads/mo, #341 on PyPI
Alternatives
Verify before relying
pip install pandas-stubs
# Then run mypy or pyright on your pandas code
mypy your_script.py
# or
pyright your_script.py- Extent of pandas API coverage beyond 'most typical use cases' mentioned in the description
- Whether stubs are automatically updated when pandas releases new versions or if manual updates are required
What it is and what it does
pandas-stubs is a stub-only package that provides type annotations for the pandas library following PEP 561. It allows static type checkers like mypy and pyright to validate pandas code at development time, catching type mismatches before they reach runtime. The stubs are tested against multiple type checkers and are shipped with the Pylance extension for Visual Studio Code.
The stubs follow a narrower interpretation of pandas' API than what the library technically allows, emphasizing recommended best practices. They are versioned to track the pandas version they were tested against (e.g., 3.0.5 tested against pandas 3.0.0), but do not enforce a strict dependency on a specific pandas version, allowing forward compatibility. Using newer stubs with older pandas can help surface deprecated or removed APIs early.
Use it for
- Catch type errors in pandas DataFrame and Series operations during development with mypy or pyright
- Enforce type safety in data processing pipelines to prevent runtime failures from incorrect column or index types
- Migrate pandas code to newer versions by using newer stubs to identify deprecated or changed APIs before upgrading
- Improve IDE autocomplete and inline documentation for pandas methods in editors that support type stubs
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
If you use pandas and run static type checking, install this immediately. It has no runtime cost, low friction, is actively maintained, and catches real errors. The only prerequisite is Python >= 3.11 and a type checker; if you lack either, the stubs alone won't help.
Install
pandas-stubs on PyPI
Before you install
Low install friction; a pure-stub package with minimal dependencies. Actively maintained with releases every few weeks. Supports Python 3.11 through 3.14.
Requires Python >= 3.11. Type checker (mypy, pyright, or similar) must be installed separately to use the stubs.
License in practice
BSD-3-Clause permissive license allows use in commercial and open-source projects with minimal restrictions.
Quickstart
pip install pandas-stubs
# Then run mypy or pyright on your pandas code
mypy your_script.py
# or
pyright your_script.py
Verify before relying
- Extent of pandas API coverage beyond 'most typical use cases' mentioned in the description
- Whether stubs are automatically updated when pandas releases new versions or if manual updates are required
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Actively maintained 15 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 101,187,201 / month, #341 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTyping :: Stubs Only |
Evidence: pandas_stubs-3.0.5.260730-py3-none-any.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 › “pandas type stubs”
- pandas-stubsProvides type stubs for pandas, enabling static type checkers like…
- data-science-typesProvides PEP-561-compliant type stubs for NumPy, pandas, and…
- quantconnect-stubsProvides type stubs for QuantConnect's Lean algorithmic trading…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
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.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also types-Pillow · types-dateparser · scikit-learn-stubs · twilio-stubs · types-typed-ast · types-docker · types-gevent · types-SQLAlchemy · types-pyinstaller · djangorestframework-types