Skip to content

Commit f846d7d

Browse files
committed
make release-tag: Merge branch 'main' into stable
2 parents 82aeee9 + 103c4fe commit f846d7d

File tree

97 files changed

+6525
-2987
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+6525
-2987
lines changed

CONTRIBUTING.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,17 +174,17 @@ Release Workflow
174174
The process of releasing a new version involves several steps combining both ``git`` and
175175
``bumpversion`` which, briefly:
176176

177-
1. Merge what is in ``master`` branch into ``stable`` branch.
177+
1. Merge what is in ``main`` branch into ``stable`` branch.
178178
2. Update the version in ``setup.cfg``, ``sdmetrics/__init__.py`` and
179179
``HISTORY.md`` files.
180180
3. Create a new git tag pointing at the corresponding commit in ``stable`` branch.
181-
4. Merge the new commit from ``stable`` into ``master``.
181+
4. Merge the new commit from ``stable`` into ``main``.
182182
5. Update the version in ``setup.cfg`` and ``sdmetrics/__init__.py``
183183
to open the next development iteration.
184184

185185
.. note:: Before starting the process, make sure that ``HISTORY.md`` has been updated with a new
186186
entry that explains the changes that will be included in the new version.
187-
Normally this is just a list of the Pull Requests that have been merged to master
187+
Normally this is just a list of the Pull Requests that have been merged to main
188188
since the last release.
189189

190190
Once this is done, run of the following commands:

HISTORY.md

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,80 @@
11
# History
22

3+
## v0.13.0 - 2023-12-04
4+
5+
This release makes significant improvements to the Diagnostic Reports! The report now runs a diagnostic to calculate scores for three basic but important properties of your data: data validity, data structure and in the multi table case, relationship validity. Data validity checks that the columns of your data are valid (eg. correct range or values). Data structure makes sure the synthetic data has the correct columns. Relationship validity checks to make sure key references are correct and the cardinality is within ranges seen in the real data. These changes are meant to make the `DiagnosticReport` a quick way for you to see if there are any major problems with your synthetic data.
6+
7+
Additionally, some general improvements were made and bugs were resolved. The `LogisticDetection` and `SVCDetection` metrics were fixed to only use boolean, categorical, datetime and numeric columns in their calculations. A bug that prevented visualizations from displaying on Jupyter notebooks was patched. The cardinality property in the multi table `QualityReport` can now handle multiple foreign keys to the same parent. Finally, a new visualization was added for sequential/timeseries data called `get_column_line_plot`.
8+
9+
### New Features
10+
11+
* Detection metrics should only use statistically modeled columns (filter out the rest) - Issue [#286](https://github.com/sdv-dev/SDMetrics/issues/286) by @lajohn4747
12+
* Add visualization for timeseries / sequential data - Issue [#376](https://github.com/sdv-dev/SDMetrics/issues/376) by @lajohn4747
13+
* Multi table quality report should handle multi-foreign keys (to same parent) - Issue [#406](https://github.com/sdv-dev/SDMetrics/issues/406) by @R-Palazzo
14+
* Add `KeyUniqueness` metric - Issue [#460](https://github.com/sdv-dev/SDMetrics/issues/460) by @R-Palazzo
15+
* Add `ReferentialIntegrity` metric - Issue [#461](https://github.com/sdv-dev/SDMetrics/issues/461) by @R-Palazzo
16+
* Add `CategoryAdherence` metric - Issue [#462](https://github.com/sdv-dev/SDMetrics/issues/462) by @R-Palazzo
17+
* Add `TableFormat` metric - Issue [#463](https://github.com/sdv-dev/SDMetrics/issues/463) by @R-Palazzo
18+
* Add `CardinalityBoundaryAdherence` metric - Issue [#464](https://github.com/sdv-dev/SDMetrics/issues/464) by @frances-h
19+
* Add `DataValidity` property - Issue [#467](https://github.com/sdv-dev/SDMetrics/issues/467) by @R-Palazzo
20+
* Add `Structure` property - Issue [#468](https://github.com/sdv-dev/SDMetrics/issues/468) by @R-Palazzo
21+
* Add `Relationship Validity` property - Issue [#469](https://github.com/sdv-dev/SDMetrics/issues/469) by @R-Palazzo
22+
* Update `DiagnosticReport` to calculate base correctness of synthetic data - Issue [#471](https://github.com/sdv-dev/SDMetrics/issues/471) by @R-Palazzo
23+
* Update the synthetic data that's available for the multi-table demo - Issue [#501](https://github.com/sdv-dev/SDMetrics/issues/501) by @R-Palazzo
24+
* Update the synthetic data that's available for the single-table demo - Issue [#502](https://github.com/sdv-dev/SDMetrics/issues/502) by @R-Palazzo
25+
* Update `TableFormat` metric to `TableStructure` + fix its computation - Issue [#518](https://github.com/sdv-dev/SDMetrics/issues/518) by @R-Palazzo
26+
27+
### Bugs Fixed
28+
29+
* Sometimes graphs don't show when using Jupyter notebook - Issue [#322](https://github.com/sdv-dev/SDMetrics/issues/322) by @pvk-developer
30+
* Fix ReferentialIntegrity NaN handling - Issue [#494](https://github.com/sdv-dev/SDMetrics/issues/494) by @R-Palazzo
31+
* KeyUniqueness metric should only be applied to primary and alternate keys - Issue [#503](https://github.com/sdv-dev/SDMetrics/issues/503) by @R-Palazzo
32+
* Single table Structure property should not have visualization - Issue [#504](https://github.com/sdv-dev/SDMetrics/issues/504) by @R-Palazzo
33+
* Multi table Structure property visualization has incorrect styling - Issue [#505](https://github.com/sdv-dev/SDMetrics/issues/505) by @R-Palazzo
34+
* `UserWarning: KeyError: 'relationships'` in DiagnosticReport if metadata missing relationships - Issue [#506](https://github.com/sdv-dev/SDMetrics/issues/506) by @R-Palazzo
35+
* Report `validate` method should be private - Issue [#507](https://github.com/sdv-dev/SDMetrics/issues/507) by @R-Palazzo
36+
* `ValueError` in DiagnosticReport if synthetic data does not match metadata - Issue [#508](https://github.com/sdv-dev/SDMetrics/issues/508) by @R-Palazzo
37+
* Check if QualityReport needs the synthetic data to match the metadata - Issue [#509](https://github.com/sdv-dev/SDMetrics/issues/509) by @R-Palazzo
38+
* Running single table report on multi table data (or vice versa) results in confusing error - Issue [#510](https://github.com/sdv-dev/SDMetrics/issues/510) by @R-Palazzo
39+
* Add metadata validation - Issue [#526](https://github.com/sdv-dev/SDMetrics/issues/526) by @R-Palazzo
40+
41+
## v0.12.1 - 2023-11-01
42+
43+
This release fixes a bug with the new Intertable Trends property and older pandas versions and a bug with how the ML Efficacy metric handled train and test data. Reports handle missing relationships more gracefully.
44+
45+
### Bugs Fixed
46+
47+
* Multiple FutureWarning lines printed out when running the Quality Report (Intertable Trends property) - Issue [#490](https://github.com/sdv-dev/SDMetrics/issues/490) by @frances-h
48+
* Transformer should not be fit on test data - Issue [#291](https://github.com/sdv-dev/SDMetrics/issues/291) by @fealho
49+
* Reports should not crash if there are no relationships - Issue [#481](https://github.com/sdv-dev/SDMetrics/issues/481) by @lajohn4747
50+
51+
## v0.12.0 - 2023-10-31
52+
53+
This release adds a new property, InterTable Trends. Several plots were moved from the reports module into the new visualizations module. The `metadata` parameter was removed for these plots, and the `plot_types` parameter was added. `plot_types` lets the user control which plot type is used. Several crashes have been resolved.
54+
55+
### New Features
56+
57+
* Provide meta information about the reports - Pull [#472](https://github.com/sdv-dev/SDMetrics/pull/472) by @frances-h
58+
* Validate that the metadata is always a dict - Issue [#428](https://github.com/sdv-dev/SDMetrics/issues/428) by @R-Palazzo
59+
* Expose reports module in top-level init - Pull [#459](https://github.com/sdv-dev/SDMetrics/pull/459) by @frances-h
60+
* Add new get_column_pair_plot - Issue [#444](https://github.com/sdv-dev/SDMetrics/issues/444) by @pvk-developer
61+
* Add InterTable Trends property - Issue [#451](https://github.com/sdv-dev/SDMetrics/issues/451) by @frances-h
62+
* Add new get_column_plot - Issue [#443](https://github.com/sdv-dev/SDMetrics/issues/443) by @pvk-developer
63+
* Add new get_cardinality_plot - Issue [#445](https://github.com/sdv-dev/SDMetrics/issues/445) by @frances-h
64+
* Create visualizations module - Issue [#442](https://github.com/sdv-dev/SDMetrics/issues/442) by @frances-h, @pvk-developer
65+
66+
### Bugs Fixed
67+
68+
* Fix `NewRowSynthesis` on datetime columns without formats - Issue [#473](https://github.com/sdv-dev/SDMetrics/issues/473) by @fealho
69+
* Intertable trends property crashes if a table has no statistical columns - Issue [#476](https://github.com/sdv-dev/SDMetrics/issues/476) by @lajohn4747
70+
* Fix BoundaryAdherence NaN handling - Issue [#470](https://github.com/sdv-dev/SDMetrics/issues/470) by @frances-h
71+
* The Intertable Trends visualization is mislabeled as 'Column Shapes' - Issue [#477](https://github.com/sdv-dev/SDMetrics/issues/477) by @lajohn4747
72+
* ValueError when using get_cardinality_plot on some schemas - Issue [#447](https://github.com/sdv-dev/SDMetrics/issues/447) by @frances-h
73+
74+
### Internal
75+
76+
* Switch default branch from master to main - Issue [#420](https://github.com/sdv-dev/SDMetrics/issues/420) by @amontanez24
77+
378
## v0.11.1 - 2023-09-14
479

580
This release makes multiple changes to better handle errors that get raised from the `DiagnosticReport`. The report should be able to run to completion now and have any errors that it encounters reported in a column on the details that can be observed from running `get_details`. It also resolves many warnings that were interrupting the printing of the report's results and progress.

INSTALL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ make install
4646

4747
If you intend to modify the source code or contribute to the project you will need to
4848
install it from the source using the `make install-develop` command. In this case, we
49-
recommend you to branch from `master` first:
49+
recommend you to branch from `main` first:
5050

5151
```bash
5252
git clone [email protected]:sdv-dev/SDMetrics
5353
cd SDMetrics
54-
git checkout master
54+
git checkout main
5555
git checkout -b <your-branch-name>
5656
make install-develp
5757
```

Makefile

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -146,22 +146,22 @@ publish: dist publish-confirm ## package and upload a release
146146
twine upload dist/*
147147

148148
.PHONY: bumpversion-release
149-
bumpversion-release: ## Merge master to stable and bumpversion release
149+
bumpversion-release: ## Merge main to stable and bumpversion release
150150
git checkout stable || git checkout -b stable
151-
git merge --no-ff master -m"make release-tag: Merge branch 'master' into stable"
151+
git merge --no-ff main -m"make release-tag: Merge branch 'main' into stable"
152152
bumpversion release
153153
git push --tags origin stable
154154

155155
.PHONY: bumpversion-release-test
156-
bumpversion-release-test: ## Merge master to stable and bumpversion release
156+
bumpversion-release-test: ## Merge main to stable and bumpversion release
157157
git checkout stable || git checkout -b stable
158-
git merge --no-ff master -m"make release-tag: Merge branch 'master' into stable"
158+
git merge --no-ff main -m"make release-tag: Merge branch 'main' into stable"
159159
bumpversion release --no-tag
160160
@echo git push --tags origin stable
161161

162162
.PHONY: bumpversion-patch
163-
bumpversion-patch: ## Merge stable to master and bumpversion patch
164-
git checkout master
163+
bumpversion-patch: ## Merge stable to main and bumpversion patch
164+
git checkout main
165165
git merge stable
166166
bumpversion --no-tag patch
167167
git push
@@ -180,7 +180,7 @@ bumpversion-major: ## Bump the version the next major skipping the release
180180

181181
.PHONY: bumpversion-revert
182182
bumpversion-revert: ## Undo a previous bumpversion-release
183-
git checkout master
183+
git checkout main
184184
git branch -D stable
185185

186186
CLEAN_DIR := $(shell git status --short | grep -v ??)
@@ -193,10 +193,10 @@ ifneq ($(CLEAN_DIR),)
193193
$(error There are uncommitted changes)
194194
endif
195195

196-
.PHONY: check-master
197-
check-master: ## Check if we are in master branch
198-
ifneq ($(CURRENT_BRANCH),master)
199-
$(error Please make the release from master branch\n)
196+
.PHONY: check-main
197+
check-main: ## Check if we are in main branch
198+
ifneq ($(CURRENT_BRANCH),main)
199+
$(error Please make the release from main branch\n)
200200
endif
201201

202202
.PHONY: check-history
@@ -206,7 +206,7 @@ ifeq ($(CHANGELOG_LINES),0)
206206
endif
207207

208208
.PHONY: check-release
209-
check-release: check-clean check-master check-history ## Check if the release can be made
209+
check-release: check-clean check-main check-history ## Check if the release can be made
210210
@echo "A new release can be made"
211211

212212
.PHONY: release
@@ -216,10 +216,10 @@ release: check-release bumpversion-release publish bumpversion-patch
216216
release-test: check-release bumpversion-release-test publish-test bumpversion-revert
217217

218218
.PHONY: release-candidate
219-
release-candidate: check-master publish bumpversion-candidate
219+
release-candidate: check-main publish bumpversion-candidate
220220

221221
.PHONY: release-candidate-test
222-
release-candidate-test: check-clean check-master publish-test
222+
release-candidate-test: check-clean check-main publish-test
223223

224224
.PHONY: release-minor
225225
release-minor: check-release bumpversion-minor release

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@
77
[![Development Status](https://img.shields.io/badge/Development%20Status-2%20--%20Pre--Alpha-yellow)](https://pypi.org/search/?c=Development+Status+%3A%3A+2+-+Pre-Alpha)
88
[![PyPI Shield](https://img.shields.io/pypi/v/sdmetrics.svg)](https://pypi.python.org/pypi/sdmetrics)
99
[![Downloads](https://pepy.tech/badge/sdmetrics)](https://pepy.tech/project/sdmetrics)
10-
[![Tests](https://github.com/sdv-dev/SDMetrics/workflows/Run%20Tests/badge.svg)](https://github.com/sdv-dev/SDMetrics/actions?query=workflow%3A%22Run+Tests%22+branch%3Amaster)
11-
[![Coverage Status](https://codecov.io/gh/sdv-dev/SDMetrics/branch/master/graph/badge.svg)](https://codecov.io/gh/sdv-dev/SDMetrics)
10+
[![Tests](https://github.com/sdv-dev/SDMetrics/workflows/Run%20Tests/badge.svg)](https://github.com/sdv-dev/SDMetrics/actions?query=workflow%3A%22Run+Tests%22+branch%3Amain)
11+
[![Coverage Status](https://codecov.io/gh/sdv-dev/SDMetrics/branch/main/graph/badge.svg)](https://codecov.io/gh/sdv-dev/SDMetrics)
1212
[![Slack](https://img.shields.io/badge/Community-Slack-blue?style=plastic&logo=slack)](https://bit.ly/sdv-slack-invite)
1313
[![Tutorial](https://img.shields.io/badge/Demo-Get%20started-orange?style=plastic&logo=googlecolab)](https://bit.ly/sdmetrics-demo)
1414

1515
<div align="left">
1616
<br/>
1717
<p align="center">
1818
<a href="https://github.com/sdv-dev/SDV">
19-
<img align="center" width=40% src="https://github.com/sdv-dev/SDV/blob/master/docs/images/SDMetrics-DataCebo.png"></img>
19+
<img align="center" width=40% src="https://github.com/sdv-dev/SDV/blob/stable/docs/images/SDMetrics-DataCebo.png"></img>
2020
</a>
2121
</p>
2222
</div>
@@ -121,7 +121,7 @@ To learn more about the reports and metrics, visit the [SDMetrics Documentation]
121121

122122

123123
<div align="center">
124-
<a href="https://datacebo.com"><img align="center" width=40% src="https://github.com/sdv-dev/SDV/blob/master/docs/images/DataCebo.png"></img></a>
124+
<a href="https://datacebo.com"><img align="center" width=40% src="https://github.com/sdv-dev/SDV/blob/stable/docs/images/DataCebo.png"></img></a>
125125
</div>
126126
<br/>
127127
<br/>

RELEASE.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ This document describes the steps required to perform a full release of **SDMetr
77
Before starting to prepare an **SDMetrics** release make sure of the following points:
88

99
1. All the changes that need to be included in the current release have been added to
10-
the [sdv-dev/SDMetrics repository](https://github.com/sdv-dev/SDMetrics) `master`
10+
the [sdv-dev/SDMetrics repository](https://github.com/sdv-dev/SDMetrics) `main`
1111
branch.
1212
2. All the issues related to code changes which were closed after the latest release
1313
have been assigned to the current milestone, given a `bug` or `enhancement` tag
@@ -18,7 +18,7 @@ Before starting to prepare an **SDMetrics** release make sure of the following p
1818
an issue and assign a developer, a tag and a milestone to it directly.
1919
4. The Milestone that corresponds to the release does not have any issue that is still open.
2020
If there is any, either close it (if possible), or deassign it from the Milestone.
21-
5. The latest build for the `master` branch performed by the CI systems (Github Actions
21+
5. The latest build for the `main` branch performed by the CI systems (Github Actions
2222
and Travis) was successful. If the builds are more than a couple of days old, re-trigger
2323
them and wait for them to finish successfully.
2424

@@ -146,7 +146,7 @@ Thanks to @<CONTRIBUTOR-USER-NAMES...> for contributing to this release.
146146

147147
In case of doubt, loo at the previous release notes and try to follow a similar style.
148148

149-
Once this is done, commit the change directly to `master` with the message `Add release notes for
149+
Once this is done, commit the change directly to `main` with the message `Add release notes for
150150
vX.Y.Z`.
151151

152152
## Make the final release

conda/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{% set version = '0.11.1' %}
1+
{% set version = '0.13.0.dev1' %}
22

33
package:
44
name: "{{ name|lower }}"

sdmetrics/__init__.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
__author__ = 'MIT Data To AI Lab'
66
__email__ = '[email protected]'
7-
__version__ = '0.11.1'
7+
__version__ = '0.13.0.dev1'
88

99
import sys
1010
import warnings as python_warnings
@@ -15,7 +15,7 @@
1515
from pkg_resources import iter_entry_points
1616

1717
from sdmetrics import (
18-
column_pairs, demos, goal, multi_table, single_column, single_table, timeseries)
18+
column_pairs, demos, goal, multi_table, reports, single_column, single_table, timeseries)
1919
from sdmetrics.demos import load_demo
2020

2121
__all__ = [
@@ -27,6 +27,7 @@
2727
'single_column',
2828
'single_table',
2929
'timeseries',
30+
'reports',
3031
]
3132

3233

sdmetrics/column_pairs/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
"""Metrics to compare column pairs."""
22

33
from sdmetrics.column_pairs.base import ColumnPairsMetric
4+
from sdmetrics.column_pairs.statistical.cardinality_boundary_adherence import (
5+
CardinalityBoundaryAdherence)
46
from sdmetrics.column_pairs.statistical.contingency_similarity import ContingencySimilarity
57
from sdmetrics.column_pairs.statistical.correlation_similarity import CorrelationSimilarity
68
from sdmetrics.column_pairs.statistical.kl_divergence import (
79
ContinuousKLDivergence, DiscreteKLDivergence)
10+
from sdmetrics.column_pairs.statistical.referential_integrity import ReferentialIntegrity
811

912
__all__ = [
13+
'CardinalityBoundaryAdherence',
1014
'ColumnPairsMetric',
1115
'ContingencySimilarity',
1216
'ContinuousKLDivergence',
1317
'CorrelationSimilarity',
1418
'DiscreteKLDivergence',
19+
'ReferentialIntegrity',
1520
]
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
"""Statistical Metrics to compare column pairs."""
22

3+
from sdmetrics.column_pairs.statistical.cardinality_boundary_adherence import (
4+
CardinalityBoundaryAdherence)
35
from sdmetrics.column_pairs.statistical.contingency_similarity import ContingencySimilarity
46
from sdmetrics.column_pairs.statistical.correlation_similarity import CorrelationSimilarity
57
from sdmetrics.column_pairs.statistical.kl_divergence import (
68
ContinuousKLDivergence, DiscreteKLDivergence)
9+
from sdmetrics.column_pairs.statistical.referential_integrity import ReferentialIntegrity
710

811
__all__ = [
12+
'CardinalityBoundaryAdherence',
913
'ContingencySimilarity',
1014
'ContinuousKLDivergence',
1115
'CorrelationSimilarity',
1216
'DiscreteKLDivergence',
17+
'ReferentialIntegrity',
1318
]

0 commit comments

Comments
 (0)