Skip to content

feat: Respect show_perfect_column_matches for data inspection section - #51

Draft
Moritz Potthoff (MoritzPotthoffQC) wants to merge 1 commit into
mainfrom
data-metrics-show_perfect_column_matches
Draft

feat: Respect show_perfect_column_matches for data inspection section#51
Moritz Potthoff (MoritzPotthoffQC) wants to merge 1 commit into
mainfrom
data-metrics-show_perfect_column_matches

Conversation

@MoritzPotthoffQC

Copy link
Copy Markdown
Contributor

Motivation

Changes

@github-actions github-actions Bot added the enhancement New feature or request label Jul 28, 2026
@codecov

codecov Bot commented Jul 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (05b4df9) to head (5ad0201).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #51   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           13        13           
  Lines         1140      1146    +6     
=========================================
+ Hits          1140      1146    +6     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Diffly’s summary generation so show_perfect_column_matches=False also suppresses “Data Inspection” columns whose data metrics are identical between left/right, and refreshes the corresponding golden summary fixtures.

Changes:

  • Pass show_perfect_column_matches into _compute_data_inspection() and filter out columns with unchanged data metrics when disabled.
  • Clarify DataFrameComparison.summary() docs to state the option also affects the “Data Inspection” section.
  • Regenerate multiple summary fixture outputs to reflect the new filtering behavior.

Reviewed changes

Copilot reviewed 34 out of 34 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
diffly/summary.py Apply show_perfect_column_matches filtering to the Data Inspection section.
diffly/comparison.py Document that show_perfect_column_matches also affects Data Inspection output.
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_True_slim_True_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_True_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_True_slim_False_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_True_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_False_slim_True_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_False_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_False_slim_False_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_True_perfect_False_top_False_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_True_slim_True_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_True_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_True_slim_False_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_True_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_False_slim_True_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_False_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_False_slim_False_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_presets_many/gen/pretty_False_perfect_False_top_False_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_True_slim_True_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_True_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_True_slim_False_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_True_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_False_slim_True_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_False_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_False_slim_False_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_True_perfect_False_top_False_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_True_slim_True_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_True_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_True_slim_False_sample_rows_True_sample_pk_True.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_True_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_False_slim_True_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_False_slim_True_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_False_slim_False_sample_rows_True_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).
tests/summary/fixtures/metrics_data_no_pk/gen/pretty_False_perfect_False_top_False_slim_False_sample_rows_False_sample_pk_False.txt Update expected summary output fixture (omit perfect Data Inspection columns).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread diffly/summary.py
Comment on lines +1156 to +1162
columns = []
for col_name in sorted(data_metrics_by_column):
results = data_metrics_by_column[col_name]
if not show_perfect_column_matches and all(
r.left == r.right for r in results.values()
):
continue

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

irrelevant

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants