pandas-schema
A validation library for Pandas data frames using user-friendly schemas
What it is and what it does
PandasSchema provides a declarative way to validate tabular data loaded into pandas DataFrames. You define a schema by specifying columns and attaching validation rules—such as range checks, pattern matching, whitespace detection, type coercion, and membership in allowed lists—then call validate() to get a list of all data quality errors found, including row and column location.
The package is built on top of pandas and numpy, making validation fast for CSV, TSV, and other tabular formats. It's designed for data pipelines where you need to catch malformed or out-of-spec input before processing. The repository is now archived and unmaintained; the last release was in February 2022.
Use it for:
- Validate incoming CSV files against a known schema before loading into a database or data warehouse
- Check data quality in ETL pipelines by defining column constraints and running them on each batch
- Enforce data type and range requirements on user-uploaded spreadsheets in web applications
- Detect formatting issues like leading/trailing whitespace or invalid patterns in bulk data imports
- Build automated data quality reports that list all validation failures with row and column references
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Validates pandas DataFrames against user-defined schemas, checking column types, value ranges, patterns, and whitespace to catch data quality issues in tabular data.
No. The package is abandoned (last commit 2023-03-24, no activity for over 1638 days) and will receive no bug fixes, security updates, or compatibility patches. While it has low install friction and a permissive license, the lack of maintenance makes it a liability for production use. Consider a maintained alternative for new projects.
Install
pandas-schema on PyPI
pip
pip install pandas-schemauv
uv add pandas-schemapoetry
poetry add pandas-schemaInstalling pandas-schema
Before you install
Low install friction with three stable runtime dependencies (numpy, pandas, packaging). However, the package is archived and abandoned as of 2023-03-24, with no maintenance for over 1638 days. Use only if you can accept no future updates or bug fixes.
License in practice
MIT license is permissive and imposes no restrictions on use, modification, or distribution in your own projects.
Quickstart
import pandas as pd
from pandas_schema import Column, Schema
from pandas_schema.validation import InRangeValidation, InListValidation
schema = Schema([
Column('Age', [InRangeValidation(0, 120)]),
Column('Sex', [InListValidation(['Male', 'Female'])])
])
errors = schema.validate(pd.read_csv('data.csv'))
Verify before relying
- Whether the package remains compatible with current pandas and numpy versions despite abandonment
- Whether validation performance scales acceptably for large datasets
- Active community forks or maintained alternatives that may have superseded this project
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — numpy, pandas, packaging |
| Maintenance | abandoned — 1,638 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 109,565/month — #12,510 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pandas_schema-0.3.6-py3-none-any.whl
Keywords: pandas, csv, verification, schema
Tags
More Quality Assurance packages
Coverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
ruffRuff is a Python linter and code formatter…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
blackBlack reformats Python source code to a…
permissive · top 1,000 on PyPI
pytest-xdistpytest-xdist distributes pytest tests across…
permissive · top 1,000 on PyPI
cfn-lintValidates AWS CloudFormation templates in YAML…
permissive · top 1,000 on PyPI
schemaValidates Python data structures (dicts, lists,…
permissive · top 1,000 on PyPI
tddatdda provides test-driven data analysis tools:…
permissive · top 15,000 on PyPI
pycsvschemaValidates CSV files against a schema…
permissive · top 15,000 on PyPI
tablibTablib converts tabular data between multiple…
permissive · top 5,000 on PyPI
panderaPandera provides a flexible API for validating…
permissive · top 5,000 on PyPI
csvwReads, writes, and validates tabular data…
permissive · top 5,000 on PyPI
tableschemaValidates, infers, and works with tabular data…
permissive · top 15,000 on PyPI
pystac-ext-tableExtends PySTAC to describe tabular data assets…
permissive · top 5,000 on PyPI
quinnQuinn provides helper methods for PySpark…
permissive · top 15,000 on PyPI
pytest-schemaValidates function return values and API…
permissive · top 15,000 on PyPI