pandera
A light-weight and flexible data validation and testing tool for statistical data objects.
Description
<br> <div align="center"><a href="https://www.union.ai/pandera"><img src="docs/source/_static/pandera-banner.png" width="400"></a></div> <h1 align="center"> The Open-source Framework for Dataset Validation </h1> <p align="center"> 📊 🔎 ✅ </p> <p align="center"> <i>Data validation for scientists, engineers, and analysts seeking correctness.</i> </p> <br> [](https://github.com/unionai-oss/pandera/actions/workflows/ci-tests.yml?query=branch%3Amain) [](https://pandera.readthedocs.io/en/stable/?badge=stable) [](https://pypi.org/project/pandera/) [](https://pypi.python.org/pypi/) [](https://github.com/pyOpenSci/software-review/issues/12) [](https://www.repostatus.org/#active) [](https://pandera.readthedocs.io/en/latest/?badge=latest) [](https://codecov.io/gh/unionai-oss/pandera) [](https://pypi.python.org/pypi/pandera/) [](https://doi.org/10.5281/zenodo.3385265) [](https://pandera-dev.github.io/pandera-asv-logs/) [](https://pepy.tech/project/pandera) [](https://anaconda.org/conda-forge/pandera) [](https://flyte-org.slack.com/archives/C08FDTY2X3L) Pandera is a [Union.ai](https://union.ai/blog-post/pandera-joins-union-ai) open source project that provides a flexible and expressive API for performing data validation on dataframe-like objects. The goal of Pandera is to make data processing pipelines more readable and robust with statistically typed dataframes. ## Install Pandera supports [multiple dataframe libraries](https://pandera.readthedocs.io/en/stable/supported_libraries.html), including [pandas](http://pandas.pydata.org), [polars](https://docs.pola.rs/), [pyspark](https://spark.apache.org/docs/latest/api/python/index.html), and more. To validate `pandas` DataFrames, install Pandera with the `pandas` extra: **With `pip`:** ``` pip install 'pandera[pandas]' ``` **With `uv`:** ``` uv pip install 'pandera[pandas]' ``` **With `conda`:** ``` conda install -c conda-forge pandera-pandas ``` ## Get started First, create a dataframe: ```python import pandas as pd import pandera.pandas as pa # data to validate df = pd.DataFrame({ "column1": [1, 2, 3], "column2": [1.1, 1.2, 1.3], "column3": ["a", "b", "c"], }) ``` Validate the data using the object-based API: ```python # define a schema schema = pa.DataFrameSchema({ "column1": pa.Column(int, pa.Check.ge(0)), "column2": pa.Column(float, pa.Check.lt(10)), "column3": pa.Column( str, [ pa.Check.isin([*"abc"]), pa.Check(lambda series: series.str.len() == 1), ] ), }) print(schema.validate(df)) # column1 column2 column3 # 0 1 1.1 a # 1 2 1.2 b # 2 3 1.3 c ``` Or validate the data using the class-based API: ```python # define a schema class Schema(pa.DataFrameModel): column1: int = pa.Field(ge=0) column2: float = pa.Field(lt=10) column3: str = pa.Field(isin=[*"abc"]) @pa.check("column3") def custom_check(cls, series: pd.Series) -> pd.Series: return series.str.len() == 1 print(Schema.validate(df)) # column1 column2 column3 # 0 1 1.1 a # 1 2 1.2 b # 2 3 1.3 c ``` > [!WARNING] > Pandera `v0.24.0` introduces the `pandera.pandas` module, which is now the > (highly) recommended way of defining `DataFrameSchema`s and `DataFrameModel`s > for `pandas` data structures like `DataFrame`s. Defining a dataframe schema from > the top-level `pandera` module will produce a `FutureWarning`: > > ```python > import pandera as pa > > schema = pa.DataFrameSchema({"col": pa.Column(s
Release History
| Version | Changes | Urgency | Date |
|---|---|---|---|
| 0.31.1 | Imported from PyPI (0.31.1) | Low | 4/21/2026 |
| v0.31.1 | ## What's Changed * Fix pandera[polars] import without pandas by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2291 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.31.0...v0.31.1 | High | 4/15/2026 |
| v0.31.0 | # ⭐️ Highlights This is the release for all of you geospatial and multidimensional array-handling folks out there. ## `xarray` support Pandera now provides full support for `xarray` 🚀 Write a `DatasetSchema` with the object-based API ```python import numpy as np import xarray as xr import pandera.xarray as pa schema = pa.DatasetSchema( data_vars={ "temperature": pa.DataVar(dtype=np.float64, dims=("x", "y")), "pressure": pa.DataVar(dtype=np.float64, di | Medium | 4/14/2026 |
| v0.31.0rc1 | ## What's Changed * Bugfix/2213: handle schema errors correctly when strict and ordered are True by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2242 * fix column errors by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2244 * Bugfix/polars performance warning and housekeeping by @fabianbergermann in https://github.com/unionai-oss/pandera/pull/2254 * Fix pandas typing empty-list constructor inference (#2247) by @RedZapdos123 in https://github.com/unionai-oss/pandera | Medium | 4/9/2026 |
| v0.30.1 | ## What's Changed * Refactor Pandera accessors to use schema registry for managing schemas by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2241 * polars: support instance types by @paramsehrdl in https://github.com/unionai-oss/pandera/pull/2239 ## New Contributors * @paramsehrdl made their first contribution in https://github.com/unionai-oss/pandera/pull/2239 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.30.0...v0.30.1 | Low | 3/18/2026 |
| v0.30.0 | # ⭐️ Highlight Pandera now supports Pandas >= 3! ## What's Changed * Support pandas 3.0 by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2214 * Replace `pre-commit` with `prek` and fix existing violations by @Dev-iL in https://github.com/unionai-oss/pandera/pull/2225 * Remove vestigial `ordering` parameter from polars `Categorical` by @Dev-iL in https://github.com/unionai-oss/pandera/pull/2226 * Add AGENTS.md by @Dev-iL in https://github.com/unionai-oss/pandera/pull/2224 | Low | 3/16/2026 |
| v0.29.0 | ## ⭐️ Highlight Pandera now supports collection types containing dataframes, shoutout to @garethellis0 with an amazing first contribution! ```python @pa.check_types def process_tuple_and_return_dict( dfs: tuple[DataFrame[OnlyZeroesSchema], DataFrame[OnlyOnesSchema]], ) -> dict[str, DataFrame[OnlyZeroesSchema]]: return { "foo": dfs[0], "bar": dfs[0] } result = process_tuple_and_return_dict(( pd.DataFrame({"a": [0, 0]}), pd.DataFrame({"a": [ | Low | 1/29/2026 |
| v0.28.1 | ## What's Changed * fix bugs in Check interface and Field by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2203 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.28.0...v0.28.1 | Low | 1/8/2026 |
| v0.28.0 | ## ⭐️ Highlight Pandera now supports Pyspark 4 🚀 ## What's Changed * refactor(pyspark): restructure pyspark components by @ELC in https://github.com/unionai-oss/pandera/pull/2007 * add support for pyspark 4 by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2193 * Decouple import dependencies for io serialization formats by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2195 * Use `get_annotations` instead of direct `__annotations__` access by @amerberg in https | Low | 1/6/2026 |
| v0.27.1 | ## What's Changed * enhancement #2122 by @Jarek-Rolski in https://github.com/unionai-oss/pandera/pull/2177 * Fix failure_cases index value for MultiIndex schema errors by @amerberg in https://github.com/unionai-oss/pandera/pull/2186 * handle new numpy 2.4.0 ValueError when type is not recognized by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2191 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.27.0...v0.27.1 | Low | 12/22/2025 |
| v0.27.0 | ## ⭐️ Highlight Pandera now supports Python 3.14! We also dropped support for Python 3.9 ## What's Changed * `scipy-stubs` by @jorenham in https://github.com/unionai-oss/pandera/pull/2121 * bugfix: set `SPARK_LOCAL_IP` to `127.0.0.1` if not set. by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2123 * fix: collect `failure_cases` in `check_column_values_are_unique` by @MikeEvansLarah in https://github.com/unionai-oss/pandera/pull/2120 * Adding import to code example in data | Low | 11/25/2025 |
| v0.27.0b0 | ## What's Changed * `scipy-stubs` by @jorenham in https://github.com/unionai-oss/pandera/pull/2121 * bugfix: set `SPARK_LOCAL_IP` to `127.0.0.1` if not set. by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2123 * fix: collect `failure_cases` in `check_column_values_are_unique` by @MikeEvansLarah in https://github.com/unionai-oss/pandera/pull/2120 * Adding import to code example in data_synthesis_strategies.md by @OwenLund in https://github.com/unionai-oss/pandera/pull/2126 * Pi | Low | 11/23/2025 |
| v0.26.1 | ## What's Changed * fix MultiIndex check regression by @amerberg in https://github.com/unionai-oss/pandera/pull/2116 * implement multiindex_strict and multiindex_unique add test cases by @amerberg in https://github.com/unionai-oss/pandera/pull/2114 * Bugfix: #2058 Check_types for callable by @ybressler in https://github.com/unionai-oss/pandera/pull/2069 ## New Contributors * @ybressler made their first contribution in https://github.com/unionai-oss/pandera/pull/2069 **Full Changelog**: | Low | 8/26/2025 |
| v0.26.0 | ## ⭐️ Highlight 📣 Pandera now supports Python 3.13! Now go forth and use [bare forward reference](https://peps.python.org/pep-0649/) types to your hearts content 🤗 ## What's Changed * Enh/future annotations py3.13 by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1980 * fix pyspark check registration by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2087 * remove top-level pandera __init__ import warning by @cosmicBboy in https://github.com/unionai-oss/pandera/ | Low | 8/13/2025 |
| v0.25.0 | ## ⭐️ Highlight Pandera now supports [Ibis](https://ibis-project.org/) 🦩! You can now validate data on all [available ibis backends](https://ibis-project.org/backends/support/matrix) using the `pandera.ibis` module. In-memory table example: ```python import ibis import pandera.ibis as pa class Schema(pa.DataFrameModel): state: str city: str price: int = pa.Field(in_range={"min_value": 5, "max_value": 20}) t = ibis.memtable( { 'state': ['FL','FL','FL | Low | 7/8/2025 |
| v0.25.0rc0 | ## What's Changed * Add Polars pydantic integration with format support and native JSON schema generation by @halicki in https://github.com/unionai-oss/pandera/pull/1979 * exclude python 3.12 and pyspark combo in ci by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/2005 * Delete previously-added foo.txt and new_example.py by @deepyaman in https://github.com/unionai-oss/pandera/pull/2013 * Pin PySpark due to test failures/incompatibilities by @deepyaman in https://github.com/union | Low | 7/7/2025 |
| v0.24.0 | ## ✨ Highlights ✨ ### Import `pandera.pandas` to define schemas for `pandas` objects ## 🚨 Breaking Change `pandera==0.24.0` has dropped the dependency on `pandas` and `numpy` and has introduced a `pandas` extra. This will break any users who relied on `pandas` as a the transitive dependency of `pandera` to install `pandas`. To remediate this, do the following: ### Install `pandas` explicitly or use the `pandas` extra ```bash pip install 'pandera[pandas]' # recommended # or pi | Low | 5/15/2025 |
| v0.24.0rc0 | ## ✨ Highlights ✨ ### Import `pandera.pandas` to define schemas for `pandas` objects ## 🚨 Breaking Change `pandera==0.24.0` has dropped the dependency on `pandas` and `numpy` and has introduced a `pandas` extra. This will break any users who relied on `pandas` as a the transitive dependency of `pandera` to install `pandas`. To remediate this, do the following: ### Install `pandas` explicitly or use the `pandas` extra ```bash pip install pandas pandera # or pip install 'pandera | Low | 4/25/2025 |
| v0.23.1 | ## What's Changed * handle None dtype when constructing json schema from DataFrameModel by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1931 * Fix: 1933 - @pa.dataframe_check pass the check_args to the class method by @danield-catalyst in https://github.com/unionai-oss/pandera/pull/1934 * :bug: add field types for ExtensionDtype by @mauro-dribia in https://github.com/unionai-oss/pandera/pull/1929 * fix the reversion of schema component mutations by @cosmicBboy in https://github | Low | 3/8/2025 |
| v0.23.0 | ## What's Changed * Create empty dataframe from Pandas DataFrame Model by @mamo3gr in https://github.com/unionai-oss/pandera/pull/1880 * bugfix/1835: Keep nulls in polars when dropping invalid rows and nullable=True by @baldwinj30 in https://github.com/unionai-oss/pandera/pull/1890 * Enhancment/1886 Add json_normalize to pandas read formats by @Jarek-Rolski in https://github.com/unionai-oss/pandera/pull/1892 * only call parsers once by @cosmicBboy in https://github.com/unionai-oss/pandera/pu | Low | 3/1/2025 |
| v0.23.0b2 | ## What's Changed * Create empty dataframe from Pandas DataFrame Model by @mamo3gr in https://github.com/unionai-oss/pandera/pull/1880 * bugfix/1835: Keep nulls in polars when dropping invalid rows and nullable=True by @baldwinj30 in https://github.com/unionai-oss/pandera/pull/1890 * Enhancment/1886 Add json_normalize to pandas read formats by @Jarek-Rolski in https://github.com/unionai-oss/pandera/pull/1892 * only call parsers once by @cosmicBboy in https://github.com/unionai-oss/pandera/pu | Low | 3/1/2025 |
| v0.22.1 | ## What's Changed * bugfix: check_input decorator handles functions with kwargs by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1888 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.22.0...v0.22.1 | Low | 12/26/2024 |
| v0.22.0 | # ⭐️ Highlight In this release, dependencies on `multimethod` and `wrapt` were removed and optimizations were made to speed up validation performance by up to 4x (depending on the validation rules. For simple cases speedup is ~4x see [here](https://github.com/unionai-oss/pandera/issues/1879)). ## What's Changed * change order of Engine datatype resolution by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1869 * Add missing Polars data types to docs by @ksolarski in https://gi | Low | 12/23/2024 |
| v0.21.1 | ## What's Changed * fix: remove Category inheritance from ArrowDictionary by @darenliang in https://github.com/unionai-oss/pandera/pull/1848 * fix: preserve Check options in schema statistics roundtrip by @alexismanuel in https://github.com/unionai-oss/pandera/pull/1844 * fix validation and coercion on init bug by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1868 ## New Contributors * @darenliang made their first contribution in https://github.com/unionai-oss/pandera/pull/18 | Low | 12/4/2024 |
| v0.21.0 | ## ⭐️ Highlights This release optimizes the import and schema creation runtime so that importing pandera and creating a schema (without doing any validation) happens in ~5 ms (before it would be >800ms). It also updates the docs to use `docsearch` for a better search experience. * Defer backend registration to validation time by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1818 * Reduce import overhead to improve runtime by @cosmicBboy in https://github.com/unionai-oss/pande | Low | 11/15/2024 |
| v0.20.4 | ## What's Changed * Bugfix/1732: Fix misleading error when columns are missing and lazy=True by @benlee1284 in https://github.com/unionai-oss/pandera/pull/1752 * Bugfix/1644: refactor geopandas and pyarrow dtypes to avoid top-level import by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1753 * regex column errors should report the correct column name by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1754 * bugfix/1657: use rename instead of select in polars check bac | Low | 9/3/2024 |
| v0.20.3 | ## What's Changed * update dtype api reference docs by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1745 * handle deprecated methods/arguments in polars v1 by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1746 * handle case when pandera is run with optimized python mode by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1749 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.20.2...v0.20.3 | Low | 7/17/2024 |
| v0.20.2 | # ⭐️ Highlights: * feat: add remaining pyarrow types by @aaravind100 in https://github.com/unionai-oss/pandera/pull/1720 * Bugfix/1724: Add support for polars v1 by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1725 ## What's Changed * Depend on OpenJDK>8.0.0 for PySpark support by @billyvinning in https://github.com/unionai-oss/pandera/pull/1701 * Update polars checks.py to avoid calling the check function multiple times by @jcadam14 in https://github.com/unionai-oss/pande | Low | 7/16/2024 |
| v0.20.1 | ## What's Changed * fix: raising type error when pyarrow is not installed by @aaravind100 in https://github.com/unionai-oss/pandera/pull/1717 * feat: add pyarrow list and struct to pandas engine by @aaravind100 in https://github.com/unionai-oss/pandera/pull/1699 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.20.0...v0.20.1 | Low | 6/27/2024 |
| v0.20.0 | ## ⭐️ Highlights - Pandera now supports [pyarrow](https://arrow.apache.org/docs/python/index.html) datatypes in the pandera validation engine! Big shoutout to @aaravind100 for the heavy lifting here. - Added compatibility for numpy v2. - Add compatibility for polars v1 - `pandera.SchemaModel` is now deprecated, use `pandera.DataFrameModel` instead. ## What's Changed * Bugfix/1631: Series[Annotated[...]] DataFrameModel types should correctly create a DataFrameSchema by @cosmicBboy in h | Low | 6/26/2024 |
| v0.19.3 | ## What's Changed * bugfix: timezone-agnostic datetime in polars works in DataFrameModel by @cosmicBboy #1638 * Bugfix/1631: Series[Annotated[...]] DataFrameModel types should correctly create a DataFrameSchema by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1633 * Add missing pandas import line. by @kyleweise in https://github.com/unionai-oss/pandera/pull/1635 ## New Contributors * @kyleweise made their first contribution in https://github.com/unionai-oss/pandera/pull/1635 | Low | 5/14/2024 |
| v0.19.2 | ## What's Changed * bugfix: nullable check float dtype handles nan and null by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1627 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.19.1...v0.19.2 | Low | 5/8/2024 |
| v0.19.1 | ## What's Changed * Bugfix/1616: Polars data container validation by @cstabnick in https://github.com/unionai-oss/pandera/pull/1623 * use google colab instead of jupyterlite by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1618 ## New Contributors * @cstabnick made their first contribution in https://github.com/unionai-oss/pandera/pull/1623 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.19.0...v0.19.1 | Low | 5/8/2024 |
| v0.19.0 | # ✨ Highlights ✨ 📣 Pandera now supports validation of `polars.DataFrame` and `polars.LazyFrame` 🐻❄️! You can now do this: ```python import pandera.polars as pa import polars as pl class Schema(pa.DataFrameModel): state: str city: str price: int = pa.Field(in_range={"min_value": 5, "max_value": 20}) lf = pl.LazyFrame( { 'state': ['FL','FL','FL','CA','CA','CA'], 'city': [ 'Orlando', 'Miami', 'Tampa | Low | 5/6/2024 |
| v0.19.0b4 | ## What's Changed * fix pyspark tests when run on full test suite by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1593 * Bugfix/1580 by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1596 * Set pandas_io.from_frictionless_schema to use a raw string for docs by @mark-thm in https://github.com/unionai-oss/pandera/pull/1597 * Add a generic Series type for polars by @baldwinj30 in https://github.com/unionai-oss/pandera/pull/1595 * Add StructType and DDL extraction from | Low | 5/3/2024 |
| v0.19.0b3 | ## What's Changed * fix pyspark import error by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1591 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.19.0b2...v0.19.0b3 | Low | 4/20/2024 |
| v0.19.0b2 | ## What's Changed * do not format if test is not necessary by @mattB1989 in https://github.com/unionai-oss/pandera/pull/1530 * Register default backends when restoring state by @alkment in https://github.com/unionai-oss/pandera/pull/1550 * Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/unionai-oss/pandera/pull/1452 * fix: prevent environment pollution when importing pyspark by @sam-goodwin in https://github.com/unionai-oss/pandera/pull/1552 * use rst to speed up | Low | 4/19/2024 |
| v0.19.0b1 | ## What's Changed * Support polars DataFrames, LazyFrames by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1373 * bugfix: optional columns in polars schema should no longer raise errors when not present by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1532 * `check_nullable` does not uselessly compute `isna()` anymore in pandas backend by @smarie in https://github.com/unionai-oss/pandera/pull/1538 * Polars LazyFrames are validated at the schema-level by default by @ | Low | 4/5/2024 |
| v0.19.0b0 | ## What's Changed * Support polars DataFrames, LazyFrames by @cosmicBboy, @AndriiG13, and @FilipAisot in https://github.com/unionai-oss/pandera/pull/1373 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.18.3...v0.19.0b0 | Low | 3/15/2024 |
| v0.18.3 | ## What's Changed * bugfix: add index validation to SeriesSchema by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1524 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.18.2...v0.18.3 | Low | 3/11/2024 |
| v0.18.2 | Release v0.18.2 | Low | 3/11/2024 |
| v0.18.1 | ## ✨ Highlights ✨ ### Granular control of pandas validation https://github.com/unionai-oss/pandera/pull/1490 There is now support for granular control of schema-level or data-level validations. This can be done via the `PANDERA_VALIDATION_DEPTH` environment variable. Schema-level (or metadata) validation includes things like column name checks and column data types, while data-level validation involves checks that operate on actual data values. ``` export PANDERA_VALIDATION_DEPTH= SCHE | Low | 3/11/2024 |
| v0.18.0 | ## ✨ Highlight ✨ Pandera now supports the configuration environment variable `PANDERA_VALIDATION_ENABLED`. `export PANDERA_VALIDATION_ENABLED=False` now globally deactivates validation. ## What's Changed * Bump urllib3 from 2.0.4 to 2.0.7 by @dependabot in https://github.com/unionai-oss/pandera/pull/1383 * Bump urllib3 from 2.0.5 to 2.0.7 in /dev by @dependabot in https://github.com/unionai-oss/pandera/pull/1382 * Bump urllib3 from 2.0.4 to 2.0.7 in /ci by @dependabot in https://github | Low | 12/8/2023 |
| v0.18.0b0 | Release v0.18.0b0 | Low | 12/8/2023 |
| v0.17.2 | ## What's Changed * improve pydantic model efficiency by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1358 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.17.1...v0.17.2 | Low | 9/30/2023 |
| v0.17.1 | ## What's Changed * bugfix: empty list/dicts and None values should be handled by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1347 * add unit tests by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1351 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.17.0...v0.17.1 | Low | 9/27/2023 |
| v0.17.0 | ## ⭐️ Highlight This release adds support for [pydantic v2](https://docs.pydantic.dev/latest/). Pydantic < v2 should be supported for the foreseeable future. ## What's Changed * fix: docstrong for to_script by @tmcclintock in https://github.com/unionai-oss/pandera/pull/1266 * fix multimethod bug in pyspark by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1260 * Fix CI tests by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1303 * Very minor reworking of error | Low | 9/23/2023 |
| v0.17.0b0 | ## What's Changed * fix: docstrong for to_script by @tmcclintock in https://github.com/unionai-oss/pandera/pull/1266 * fix multimethod bug in pyspark by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1260 * Fix CI tests by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1303 * Very minor reworking of error message by @nathanjmcdougall in https://github.com/unionai-oss/pandera/pull/1304 * Fix typo in docs by @nathanjmcdougall in https://github.com/unionai-oss/pandera/p | Low | 9/21/2023 |
| v0.16.1 | ## What's Changed * Use pandera-dev in envrc to match the environment.yml by @thomasjpfan in https://github.com/unionai-oss/pandera/pull/1264 * remove pyspark dep from common types by @cosmicBboy in https://github.com/unionai-oss/pandera/pull/1268 ## New Contributors * @thomasjpfan made their first contribution in https://github.com/unionai-oss/pandera/pull/1264 **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.16.0...v0.16.1 | Low | 7/17/2023 |
| v0.16.0 | ## What's Changed * Use custom check strategies by @honno in https://github.com/unionai-oss/pandera/pull/1203 * Bugfix: check for presence of default attribute before calling by @kykyi in https://github.com/unionai-oss/pandera/pull/1191 * Remove outdated warning by @tpvasconcelos in https://github.com/unionai-oss/pandera/pull/1190 * Static type hint error on class pandera DataFrame by @manel-ab in https://github.com/unionai-oss/pandera/pull/1207 * Relax python_requires constraint by @danhje | Low | 7/16/2023 |
| v0.16.0b1 | **Full Changelog**: https://github.com/unionai-oss/pandera/compare/v0.16.0b0...v0.16.0b1 | Low | 7/10/2023 |
