Changelog
1.12.0 - 2026.01.12
- Drop support impala as a backend.
- Add support for DuckDB as a backend.
1.11.0 - 2025.12.17
- Drop support for Python 3.8 and Python 3.9.
1.10.0 - 2025.02.13
- Address deprecation warnings from
sqlalchemy. - Provide more type hints.
1.9.3 - 2025.01.13
Bug fixes
- Fix a bug in
datajudge.WithinRequirement.add_date_no_overlap_constraintanddatajudge.WithinRequirement.add_date_no_overlap_2d_constraintanddatajudge.WithinRequirement.add_numeric_no_overlap_constraintin which some overlaps were not detected due to equality of their leftmost bounds.
1.9.2 - 2024.09.05
Bug fixes
- Fix a bug in
datajudge.constraints.numeric.NumericPercentilewhich could lead to off-by-one errors in retrieving a percentile value.
1.9.0 - 2024.06.25
New features
- Add styling for assertion messages. See
assertion-message-stylingfor more information. - Add
output_processorsandfilter_funcparameters todatajudge.WithinRequiremen.tadd_uniques_equality_constraint,datajudge.WithinRequirement.add_uniques_superset_constraintanddatajudge.WithinRequirement.add_uniques_subset_constraint. - Add
output_processors,filter_funcandcompare_distinctparameters todatajudge.BetweenRequirement.add_uniques_equality_constraint,datajudge.BetweenRequirement.add_uniques_superset_constraintanddatajudge.BetweenRequirement.add_uniques_subset_constraint. - Add
output_processorsparameter todatajudge.WithinRequirement.add_functional_dependency_constraint.
Other changes
- Provide a
py.typedfile. - Remove usage of
pkg_resources.
1.8.0 - 2023.06.16
New features
Other changes
- Improve error message when a
DataReferenceis constructed with a single column name instead of specifying a list of columns.
1.7.0 - 2023.05.11
New features
- Implement
datajudge.WithinRequirement.add_categorical_bound_constraint. - Extended
datajudge.WithinRequirement.add_column_type_constraintto support column type specification using string format, backend-specific SQLAlchemy types, and SQLAlchemy's generic types. - Implement
datajudge.WithinRequirement.add_numeric_no_gap_constraint,datajudge.WithinRequirement.add_numeric_no_overlap_constraint,
1.6.0 - 2023.04.12
Other changes
- Ensure compatibility with
sqlalchemy>= 2.0.
1.5.0 - 2023.03.14
New features
- Implement
datajudge.BetweenRequirement.add_max_null_fraction_constraintanddatajudge.WithinRequirement.add_max_null_fraction_constraint. - Implement
datajudge.BetweenRequirement.add_numeric_percentile_constraintanddatajudge.WithinRequirement.add_numeric_percentile_constraint.
1.4.0 - 2023.02.24
New features
- Add partial and experimental support for db2 as a backend.
1.3.0 - 2023.01.17
New features
- Implement
datajudge.BetweenRequirement.add_column_type_constraint. Previously, only theWithinRequirementmethod existed. - Implemented an option
infer_pkto automatically retrieve and primary key definition as part ofdatajudge.WithinRequirement.add_uniqueness_constraint. - Added a
nameparameter to alladd_x_constraintmethods ofWithinRequirementandBetweenRequirement. This will give pytest test a custom name. - Added preliminary support for Impala.
Other changes
- Improve assertion error for
datajudge.BetweenRequirement.add_row_matching_equality_constraint.
1.2.0 - 2022.10.21
New features
- Implemented specification of number of counterexamples in
datajudge.WithinRequirement.add_varchar_regex_constraint. - Implemented in-database regex matching for some dialects via
computation_in_dbparameter indatajudge.WithinRequirement.add_varchar_regex_constraint. - Added support for BigQuery backends.
Bug fix
- Snowflake-sqlalchemy version 1.4.0 introduced an unexpected change in behaviour. This problem is resolved by pinning it to the previous version, 1.3.4.
1.1.1 - 2022.06.30
New: SQL implementation for KS-test
- The Kolgomorov Smirnov test is now implemented in pure SQL, shifting the computation to the database engine, improving performance tremendously.
1.1.0 - 2022.06.01
New feature: Statistical Tests
- Implemented a new constraint
datajudge.constraints.stats.KolmogorovSmirnov2Samplefordatajudge.BetweenRequirementthat performs a Kolmogorov Smirnov Test between two data sources.
1.0.1 - 2022.05.24
Bug fix:
- The method
is_deprecatedofdatajudge.Conditionwas called despite not existing.