skillfed

pandera

A light-weight and flexible data validation and testing tool for statistical data objects.

pandera v0.32.1 9.2M downloads/30d#1,553 on PyPI4,431
Permissive license MIT License Copyright (c) 2018 Niels Bantilan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) Active released

What it is and what it does

Pandera is a data validation framework that lets you define schemas for dataframe-like objects and validate them at runtime. It supports multiple dataframe libraries and offers two ways to define schemas: an object-based API using DataFrameSchema and a class-based API using DataFrameModel with type annotations. You specify column types, constraints (like minimum/maximum values), and custom validation functions, then call validate() to check whether your data conforms.

The package is designed for data scientists, engineers, and analysts who want to make data pipelines more readable and catch data quality issues early. It integrates with pydantic for type validation and uses typeguard for runtime type checking. The framework has been in active development since 2018 and is maintained as an open-source project, with support for modern Python versions (3.10 through 3.14).

Use it for:

  • Validate incoming data before processing in a pipeline to catch upstream errors early
  • Define and enforce data contracts between pipeline stages with executable schema definitions
  • Test data quality in unit tests by asserting that fixtures conform to expected schemas
  • Document expected column types and constraints as executable code in data transformation functions
  • Catch type mismatches and constraint violations across multiple dataframe libraries with one API

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Pandera provides a flexible API for validating dataframe-like objects using declarative schemas with type checking and custom validation rules.

Yes. Pandera is actively maintained, has no known vulnerabilities, installs with low friction, and offers a mature, permissive MIT license. It solves a real problem—catching data quality issues early in pipelines—and supports multiple dataframe libraries. The only prerequisite is Python 3.10 or later.

Install

pandera on PyPI

pip

pip install pandera

uv

uv add pandera

poetry

poetry add pandera

Installing pandera

Before you install

Low friction installation with a pure-Python wheel. Active maintenance with a recent release 46 days ago and ongoing commits. Depends on common, stable packages (packaging, pydantic, typeguard, typing_extensions, typing_inspect).

License in practice

MIT License permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations.

Quickstart

pip install 'pandera[pandas]'

import pandera.pandas as pa

schema = pa.DataFrameSchema({
    "column1": pa.Column(int, pa.Check.ge(0)),
    "column2": pa.Column(float, pa.Check.lt(10)),
})

schema.validate(df)

Requires Python 3.10 or later. A supported dataframe library must be installed separately via extras.

Verify before relying

  • Whether the package handles all edge cases in complex, nested validation scenarios
  • Performance characteristics when validating very large dataframes
  • Compatibility guarantees across major versions of supported dataframe libraries

Package facts

License MIT License Copyright (c) 2018 Niels Bantilan Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 5 — packaging, pydantic, typeguard, typing_extensions, typing_inspect
Maintenance actively maintained — 46 days since the last release
Last repo commit
First released
Downloads 9,225,733/month — #1,553 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pandera-0.32.1-py3-none-any.whl

Keywords: pandas, validation, data-structures

Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering

Tags

dataframe validationschema validationdata quality checksstatistical data validationtype-checked dataframesdata pipeline validationschema enforcement
data-validationschema-enforcementquality-assurance

More Scientific/Engineering packages