sdv 1.34.2.dev0__tar.gz → 1.34.3.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {sdv-1.34.2.dev0/sdv.egg-info → sdv-1.34.3.dev0}/PKG-INFO +1 -1
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/pyproject.toml +1 -1
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/__init__.py +1 -1
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/multi_table.py +4 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/multi_table/base.py +1 -1
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0/sdv.egg-info}/PKG-INFO +1 -1
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/LICENSE +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/README.md +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/_utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/_errors.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/_utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/base.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/fixed_combinations.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/fixed_increments.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/inequality.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/one_hot_encoding.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/programmable_constraint.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/cag/range.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/constraints/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/constraints/base.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/constraints/errors.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/constraints/tabular.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/constraints/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/data_processing/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/data_processing/data_processor.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/data_processing/datetime_formatter.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/data_processing/errors.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/data_processing/numerical_formatter.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/data_processing/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/datasets/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/datasets/demo.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/datasets/local.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/errors.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/evaluation/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/evaluation/_utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/evaluation/multi_table.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/evaluation/single_table.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/io/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/io/local/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/io/local/local.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/lite/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/lite/single_table.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/logging/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/logging/logger.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/logging/sdv_logger_config.yml +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/logging/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/errors.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/metadata.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/metadata_upgrader.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/single_table.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metadata/visualization.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metrics/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metrics/demos.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metrics/relational.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metrics/tabular.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/metrics/timeseries.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/multi_table/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/multi_table/dayz.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/multi_table/hma.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/multi_table/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/sampling/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/sampling/hierarchical_sampler.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/sampling/independent_sampler.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/sampling/tabular.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/sequential/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/sequential/par.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/base.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/copulagan.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/copulas.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/ctgan.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/dayz.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/single_table/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/utils/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/utils/mixins.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/utils/poc.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/utils/utils.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv/version/__init__.py +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv.egg-info/SOURCES.txt +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv.egg-info/dependency_links.txt +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv.egg-info/entry_points.txt +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv.egg-info/requires.txt +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/sdv.egg-info/top_level.txt +0 -0
- {sdv-1.34.2.dev0 → sdv-1.34.3.dev0}/setup.cfg +0 -0
|
@@ -150,7 +150,7 @@ namespaces = false
|
|
|
150
150
|
version = {attr = 'sdv.__version__'}
|
|
151
151
|
|
|
152
152
|
[tool.bumpversion]
|
|
153
|
-
current_version = "1.34.
|
|
153
|
+
current_version = "1.34.3.dev0"
|
|
154
154
|
parse = '(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\.(?P<release>[a-z]+)(?P<candidate>\d+))?'
|
|
155
155
|
serialize = [
|
|
156
156
|
'{major}.{minor}.{patch}.{release}{candidate}',
|
|
@@ -536,6 +536,9 @@ class MultiTableMetadata:
|
|
|
536
536
|
def _detect_foreign_keys_by_column_name(self, data):
|
|
537
537
|
"""Detect the foreign keys based on if a column name matches a primary key.
|
|
538
538
|
|
|
539
|
+
If a column name (a child table) is a primary key, it will also be considered
|
|
540
|
+
to be a valid candidate for a foreign key.
|
|
541
|
+
|
|
539
542
|
Args:
|
|
540
543
|
data (dict):
|
|
541
544
|
Dictionary of table names to dataframes.
|
|
@@ -567,6 +570,7 @@ class MultiTableMetadata:
|
|
|
567
570
|
)
|
|
568
571
|
|
|
569
572
|
except InvalidMetadataError:
|
|
573
|
+
# circular relationship
|
|
570
574
|
if pk_sdtype == 'id' and original_fk_sdtype != 'id':
|
|
571
575
|
self.update_column(
|
|
572
576
|
table_name=child_candidate,
|
|
@@ -439,7 +439,7 @@ class BaseMultiTableSynthesizer:
|
|
|
439
439
|
def validate(self, data):
|
|
440
440
|
"""Validate the data.
|
|
441
441
|
|
|
442
|
-
Validate that the metadata matches the data and
|
|
442
|
+
Validate that the metadata matches the data and that every table's constraints are valid.
|
|
443
443
|
|
|
444
444
|
Args:
|
|
445
445
|
data (dict[str, pd.DataFrame]):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|