NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2140 most downloaded on PyPI
Dataframe comparisons in Python
Last release 5 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of 60 stable releases
3 versions withdrawn
withdrawn after publishing
9 years old
70 releases · first in 2018
feat: add datacompy compare CLI with multi-backend support by @fdosani in #544
Full Changelog: v1.0.4...v1.1.0
One column per quarter.
Changes by run-edgetest action by @github-actions[bot] in #542
Full Changelog: v1.0.3...v1.0.4
feat: add programmatic Report API with structured comparison data by @fdosani in #532
Full Changelog: v1.0.2...v1.0.3
chore: relax polars top pin by @fdosani in #527
Full Changelog: v1.0.1...v1.0.2
docs: datacompy update release instructions by @fdosani in #518
Full Changelog: v1.0.0...v1.0.1
release: v1.0.0 by @fdosani in #516
Full Changelog: v0.19.5...v1.0.0
This is the v1.0.0 general availability release of DataComPy, a major version bump from 0.19.x. It introduces a new comparator architecture, sensitive column handling, and several quality-of-life improvements across all backends.
datacompy/comparator/): New strategy-pattern architecture for column comparison logic. Numeric, string, and array comparators are now backend-specific classes (PandasNumericComparator, SparkStringComparator, etc.) rather than inline logic. Custom comparators can be injected into any backend compare class.validate_tolerance_parameter is now a public API (renamed from _validate_tolerance_parameter).snowflake-snowpark-python minimum bumped to 1.37.cols_with_mismatches method — programmatic access to the set of mismatching column names.cache_intermediates option for SparkSQLCompare — controls intermediate DataFrame caching to tune Spark job performance.dict in addition to a global float.SparkSQLCompare: forbid case-sensitive join columns.max_diff now correctly defaults to 0 when None.None handling fixed.CLAUDE.md added.Update pandas version constraint in pyproject.toml by @fdosani in #513
Full Changelog: v1.0.0b3...v1.0.0b4
feat: hide sensitive columns in PandasCompare without modifying original dfs by @sh13m in #494
Full Changelog: v1.0.0b2...v1.0.0b3
fix: Snowflake compare when max_diff is None set to 0. by @fdosani in #501
Full Changelog: v1.0.0b1...v1.0.0b2
chore: bump version to 1.0.0b1 by @fdosani in https://github.com/capitalone/datacompy/pull/496
Full Changelog: https://github.com/capitalone/datacompy/compare/v1.0.0a5...v1.0.0b1
chore: license year update by @fdosani in https://github.com/capitalone/datacompy/pull/473
Full Changelog: https://github.com/capitalone/datacompy/compare/v1.0.0a4...v1.0.0a5
Release v1.0.0a4 by @fdosani in https://github.com/capitalone/datacompy/pull/471
Full Changelog: https://github.com/capitalone/datacompy/compare/v1.0.0a3...v1.0.0a4
fix: update version to 1.0.0a3 and include comparator package in setup by @fdosani in https://github.com/capitalone/datacompy/pull/470
Full Changelog: https://github.com/capitalone/datacompy/compare/v1.0.0a2...v1.0.0a3
edgetest and v1 readme updates by @fdosani in https://github.com/capitalone/datacompy/pull/466
Full Changelog: https://github.com/capitalone/datacompy/compare/v1.0.0a1...v1.0.0a2
First alpha release of the v1.0.0. datacompy is being refactored to use comparators which will provide an extendable interface.
First alpha release of the v1.0.0. datacompy is being refactored to use comparators which will provide an extendable interface.
chore: v0.19 pin snowflake-snowpark-python>=1.37,<=1.47 by @sh13m in #507
Full Changelog: v0.19.4...v0.19.5
Release v0.19.4 by @fdosani in #500
Release v0.19.3 by @fdosani in https://github.com/capitalone/datacompy/pull/497
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.19.2...v0.19.3
Release v0.19.2 by @fdosani in https://github.com/capitalone/datacompy/pull/475
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.19.1...v0.19.2
edgetest and v1 readme updates by @fdosani in https://github.com/capitalone/datacompy/pull/466
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.19.0...v0.19.1
refactor/init setup by @fdosani in https://github.com/capitalone/datacompy/pull/455
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.18.1...v0.19.0
bug: polars calculate_max_diff null handling fix by @fdosani in https://github.com/capitalone/datacompy/pull/442
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.18.0...v0.18.1
fix: add permissions for contents in publish-docs workflow by @fdosani in https://github.com/capitalone/datacompy/pull/428
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.17.1...v0.18.0
Release v0.17.1 by @fdosani in https://github.com/capitalone/datacompy/pull/430
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.17.0...v0.17.1
feat: custom jinja templating and cleanup by @fdosani in https://github.com/capitalone/datacompy/pull/424
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.8...v0.17.0
chore: normalize_string_column for polars and pandas by @fdosani in https://github.com/capitalone/datacompy/pull/415
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.7...v0.16.8
Fix bug where ID gen fails if first col is not in index by @SBMous in https://github.com/capitalone/datacompy/pull/410
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.6...v0.16.7
feat: Compatibility for Array and Lists by @fdosani in https://github.com/capitalone/datacompy/pull/404
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.5...v0.16.6
Pandas PerformanceWarning fix by @fdosani in https://github.com/capitalone/datacompy/pull/395
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.4...v0.16.5
intersection of rows as the datasets have no mutual key/connection by @fdosani in https://github.com/capitalone/datacompy/pull/385
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.3...v0.16.4
edgetest bump versions by @fdosani in https://github.com/capitalone/datacompy/pull/383
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.2...v0.16.3
fixing compare matching rows for spark compares and SF compare by @rhaffar in https://github.com/capitalone/datacompy/pull/378
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.1...v0.16.2
Addition of Hydra's Helper Functions by @allyfranken in https://github.com/capitalone/datacompy/pull/371
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.16.0...v0.16.1
Remove Python 3.9 support by @gliptak in https://github.com/capitalone/datacompy/pull/363
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.15.0...v0.16.0
Changes by run-edgetest action by @github-actions in https://github.com/capitalone/datacompy/pull/353
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.14.4...v0.15.0
Fix edgetest action by @jdawang in https://github.com/capitalone/datacompy/pull/349
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.14.3...v0.14.4
fix snowflake formatting issue by @fdosani in https://github.com/capitalone/datacompy/pull/346
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.14.2...v0.14.3
Fix comparison report when one column is all NAs by @yozzo in https://github.com/capitalone/datacompy/pull/343
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.14.1...v0.14.2
unique column name summary display by @fdosani in https://github.com/capitalone/datacompy/pull/338
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.14.0...v0.14.1
check for is_string_dtype and unsupported mixed type by @fdosani in https://github.com/capitalone/datacompy/pull/335
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.13.3...v0.14.0
adding Polars v1 tweaks for testing by @fdosani in https://github.com/capitalone/datacompy/pull/325
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.13.2...v0.13.3
switching version check to spark session by @fdosani in https://github.com/capitalone/datacompy/pull/321
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.13.1...v0.13.2
Changes by run-edgetest action by @github-actions in https://github.com/capitalone/datacompy/pull/304
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.12.1...v0.13.1
Nothing published for this version
adding in Python 3.12 support, warnings, and doc updates by @fdosani in https://github.com/capitalone/datacompy/pull/301
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.12.0...v0.12.1
This release has some breaking changes users should be aware of.
This release has some breaking changes users should be aware of.
SparkCompare can continue to do so using LegacySparkCompareFull Changelog: https://github.com/capitalone/datacompy/compare/v0.11.3...v0.12.0
non-join column unicode fix by @fdosani in https://github.com/capitalone/datacompy/pull/285
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.11.2...v0.11.3
Changes by run-edgetest action by @github-actions in https://github.com/capitalone/datacompy/pull/279
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.11.1...v0.11.2
bug fix when all columns match but no rows match by @fdosani in https://github.com/capitalone/datacompy/pull/277
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.11.0...v0.11.1
✨ Add mypy for static type checking and type annotations by @aguiddir in https://github.com/capitalone/datacompy/pull/249
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.10.5...v0.11.0
Point GHA to edgetest-dev/run-edgetest-action by @gliptak in https://github.com/capitalone/datacompy/pull/241
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.10.4...v0.10.5
Update CODEOWNERS by @fdosani in https://github.com/capitalone/datacompy/pull/234
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.10.3...v0.10.4
adding in unq_columns and intersect_columns for Fugue by @fdosani in https://github.com/capitalone/datacompy/pull/217
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.10.2...v0.10.3
Support for Pandas 2+ by @fdosani in https://github.com/capitalone/datacompy/pull/212
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.10.1...v0.10.2
bump version by @fdosani in https://github.com/capitalone/datacompy/pull/210
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.10.0...v0.10.1
Add Fugue support (Phase 1) by @goodwanghan in https://github.com/capitalone/datacompy/pull/201
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.9.0...v0.10.0
Changes by run-edgetest action by @github-actions in https://github.com/capitalone/datacompy/pull/184
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.8.4...v0.9.0
Changes by run-edgetest action by @github-actions in https://github.com/capitalone/datacompy/pull/176
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.8.3...v0.8.4
Changes by run-edgetest action by @github-actions in https://github.com/capitalone/datacompy/pull/168
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.8.2...v0.8.3
WhiteSource Configuration Migration by @mend-for-github-com in https://github.com/capitalone/datacompy/pull/145
Full Changelog: https://github.com/capitalone/datacompy/compare/v0.8.1...v0.8.2
Your coding agent can read these notes before it upgrades. Set up the MCP server →