Skip to content

Releases: unionai-oss/pandera

v0.14.0: ✍️ Pandera Internals Rewrite [phase 1]

14 Mar 16:32
7774ab6
Compare
Choose a tag to compare

⭐️ Highlights

The main highlight of this release is that phase 1 of the Pandera internals re-write is complete 🎉🚀! This is a backwards-compatible re-write (unit tests FTW 😅) that should just work with your existing pandera code. Please submit bug reports if you encounter any regressions that weren't covered by the current test suite.

These PRs #913 #1109, and #1110 address #381, and essentially decouples pandas-specific logic from the pandera schema specification. In summary:

  • The pandera schema specifications are defined in pandera.api, containing:
    • schema base classes in pandera.api.base
    • pandera schema classes in pandera.api.pandas
    • the global check and hypothesis namespace in pandera.api.checks.Check and pandera.api.hypotheses.Hypothesis
    • decorators are provided in pandera.api.extensions to be able to register builtin and custom checks/hypotheses
  • The pandera backend validation logic is defined in pandera.backends, containing:
    • backend base classes in pandera.backends.base
    • pandas-specific backend validators in pandera.backends.pandas

Now, all pandas-specific logic is isolated to specific modules, where support for additional non-pandas-compliant schema specifications and their associated backends can be implemented either as 1st-party-maintained libraries (see issues for supporting polars and ibis) or 3rd party libraries.

🛣 Rewrite Roadmap

The bulk of the re-write is complete, however there are still some outstanding items:

  • Write validation backends for the existing pandas-like frameworks (dask, pyspark.pandas, modin). This may lead to refactoring some of the abstractions that came out of the rewrite.
  • Write an alpha version of the pandera-ibis package, which will create a schema specification and validation backends for ibis data structures (see issue #1105)
  • Document the process of writing your own 3rd party libraries based on pandera for any arbitrary statistical data container.

What's Changed

New Contributors

Full Changelog: v0.13.4...v0.14.0

Release 0.13.4: JSON serialization and bugfixes

02 Nov 15:32
09aeddd
Compare
Choose a tag to compare

What's Changed

New Contributors

Contributors

Shoutout to all the contributors of this release 🎉

Full Changelog: v0.13.3...v0.13.4

Beta Release: v0.13.4b0

31 Oct 14:34
6da537f
Compare
Choose a tag to compare
Pre-release

Beta Release v0.13.4b0

Release 0.13.3: Fix Decimal Type

10 Oct 02:06
1cc4f86
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.13.2...v0.13.3

Release 0.13.2: Fix modin tests

06 Oct 21:49
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.13.1...v0.13.2

Release 0.13.1: Bugfix on "Try Pandera" Jupyterlite Deployment

05 Oct 18:40
b24f08d
Compare
Choose a tag to compare

Release 0.13.0: Option to Report All Errors, "Try Pandera" with Jupyterlite

05 Oct 18:27
36fe267
Compare
Choose a tag to compare

Highlights ⭐️

  • try pandera: add jupyterlite notebooks, add support for py3.7 (#951) @cosmicBboy
  • Feature/922 add other ways to report unique errors as an argument (#914) @ng-henry

What's Changed 📈

New Contributors 🎉

Shout out to all the first-time contributors!

Full Changelog: v0.12.0...v0.13.0

Beta Release: v0.13.0b1

05 Oct 13:25
Compare
Choose a tag to compare
Pre-release
beta release v0.13.0b1

Beta Release v0.13.0b0

04 Oct 21:09
1bcfe01
Compare
Choose a tag to compare
Pre-release
beta release 0.13.0b0

Release 0.12.0: Logical Types, New Built-in Check, Bugfixes, Doc Improvements

22 Aug 19:53
a66d71f
Compare
Choose a tag to compare

Release 0.12.0

Highlights ⭐️

This release features:

  • Support for Logical Data Types #798: These data types check the actual values of the data container at runtime to support data types like "URL", "Name", etc.
  • Check.unique_values_eq #858: Make sure that all of the values in the data container cover the entire domain of the specified finite set of values.

What's Changed 📈

New Contributors 🎉

Full Changelog: v0.11.0...v0.12.0