diff --git a/HISTORY.md b/HISTORY.md index 762b14a7b..bbdc8b499 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -16,6 +16,7 @@ This release consolidates the `SingleTableMetadata` and `MultiTableMetadata` cla * Enable multi table synthesizers to use new Metadata - Issue [#2129](https://github.com/sdv-dev/SDV/issues/2129) by @lajohn4747 * Enable single table synthesizers to use new Metadata - Issue [#2128](https://github.com/sdv-dev/SDV/issues/2128) by @lajohn4747 * Create unified Metadata class - Issue [#2104](https://github.com/sdv-dev/SDV/issues/2104) by @lajohn4747 +* Make "table" default table name - Issue [#2245](https://github.com/sdv-dev/SDV/issues/2245) by @fealho ## v1.16.2 - 2024-09-25 diff --git a/sdv/metadata/metadata.py b/sdv/metadata/metadata.py index 06b9c2ddf..1d0ebaec2 100644 --- a/sdv/metadata/metadata.py +++ b/sdv/metadata/metadata.py @@ -14,7 +14,7 @@ class Metadata(MultiTableMetadata): """Metadata class that handles all metadata.""" METADATA_SPEC_VERSION = 'V1' - DEFAULT_SINGLE_TABLE_NAME = 'default_table_name' + DEFAULT_SINGLE_TABLE_NAME = 'table' @classmethod def load_from_json(cls, filepath, single_table_name=None): diff --git a/tests/integration/metadata/test_metadata.py b/tests/integration/metadata/test_metadata.py index fd5909b24..ffe9642c9 100644 --- a/tests/integration/metadata/test_metadata.py +++ b/tests/integration/metadata/test_metadata.py @@ -11,7 +11,7 @@ from sdv.multi_table.hma import HMASynthesizer from sdv.single_table.copulas import GaussianCopulaSynthesizer -DEFAULT_TABLE_NAME = 'default_table_name' +DEFAULT_TABLE_NAME = 'table' def test_metadata(): diff --git a/tests/unit/evaluation/test_single_table.py b/tests/unit/evaluation/test_single_table.py index 08106923f..f7a9c228b 100644 --- a/tests/unit/evaluation/test_single_table.py +++ b/tests/unit/evaluation/test_single_table.py @@ -48,7 +48,7 @@ def test_evaluate_quality_metadata(): evaluate_quality(data1, data2, metadata) # Assert - expected_metadata = metadata.tables['default_table_name'].to_dict() + expected_metadata = metadata.tables['table'].to_dict() QualityReport.generate.assert_called_once_with(data1, data2, expected_metadata, True) @@ -84,7 +84,7 @@ def test_run_diagnostic_metadata(): run_diagnostic(data1, data2, metadata) # Assert - expected_metadata = metadata.tables['default_table_name'].to_dict() + expected_metadata = metadata.tables['table'].to_dict() DiagnosticReport.generate.assert_called_once_with(data1, data2, expected_metadata, True) diff --git a/tests/unit/metadata/test_metadata.py b/tests/unit/metadata/test_metadata.py index c7f38052e..331110e15 100644 --- a/tests/unit/metadata/test_metadata.py +++ b/tests/unit/metadata/test_metadata.py @@ -125,7 +125,7 @@ def test_load_from_json_single_table(self, mock_read_json): expected_warning_with_table_name = re.escape(warning_message.format('filepath')) expected_warning_without_table_name = re.escape( - warning_message.format('default_table_name') + warning_message.format('table') ) # Run @@ -138,7 +138,7 @@ def test_load_from_json_single_table(self, mock_read_json): mock_read_json.assert_has_calls([call('filepath.json'), call('filepath.json')]) table_name_to_instance = { 'filepath': instance_with_table_name, - 'default_table_name': instance_without_table_name, + 'table': instance_without_table_name, } for table_name, instance in table_name_to_instance.items(): assert list(instance.tables.keys()) == [table_name] @@ -363,13 +363,13 @@ def test_load_from_dict_single_table(self): instance = Metadata.load_from_dict(my_metadata) # Assert - assert list(instance.tables.keys()) == ['default_table_name'] - assert instance.tables['default_table_name'].columns == {'my_column': 'value'} - assert instance.tables['default_table_name'].primary_key == 'pk' - assert instance.tables['default_table_name'].sequence_key is None - assert instance.tables['default_table_name'].alternate_keys == [] - assert instance.tables['default_table_name'].sequence_index is None - assert instance.tables['default_table_name']._version == 'SINGLE_TABLE_V1' + assert list(instance.tables.keys()) == ['table'] + assert instance.tables['table'].columns == {'my_column': 'value'} + assert instance.tables['table'].primary_key == 'pk' + assert instance.tables['table'].sequence_key is None + assert instance.tables['table'].alternate_keys == [] + assert instance.tables['table'].sequence_index is None + assert instance.tables['table']._version == 'SINGLE_TABLE_V1' def test_load_from_dict_integer_single_table(self): """Test that ``load_from_dict`` returns a instance of single-table ``Metadata``. @@ -393,12 +393,12 @@ def test_load_from_dict_integer_single_table(self): instance = Metadata.load_from_dict(my_metadata) # Assert - assert list(instance.tables.keys()) == ['default_table_name'] - assert instance.tables['default_table_name'].columns == {'1': 'value'} - assert instance.tables['default_table_name'].primary_key == 'pk' - assert instance.tables['default_table_name'].sequence_key is None - assert instance.tables['default_table_name'].alternate_keys == [] - assert instance.tables['default_table_name'].sequence_index is None + assert list(instance.tables.keys()) == ['table'] + assert instance.tables['table'].columns == {'1': 'value'} + assert instance.tables['table'].primary_key == 'pk' + assert instance.tables['table'].sequence_key is None + assert instance.tables['table'].alternate_keys == [] + assert instance.tables['table'].sequence_index is None @patch('sdv.metadata.multi_table.SingleTableMetadata') def test__set_metadata_multi_table(self, mock_singletablemetadata): @@ -490,12 +490,12 @@ def test__set_metadata_single_table(self): instance._set_metadata_dict(single_table_metadata) # Assert - assert instance.tables['default_table_name'].columns == {'my_column': 'value'} - assert instance.tables['default_table_name'].primary_key == 'pk' - assert instance.tables['default_table_name'].alternate_keys == [] - assert instance.tables['default_table_name'].sequence_key is None - assert instance.tables['default_table_name'].sequence_index is None - assert instance.tables['default_table_name'].METADATA_SPEC_VERSION == 'SINGLE_TABLE_V1' + assert instance.tables['table'].columns == {'my_column': 'value'} + assert instance.tables['table'].primary_key == 'pk' + assert instance.tables['table'].alternate_keys == [] + assert instance.tables['table'].sequence_key is None + assert instance.tables['table'].sequence_index is None + assert instance.tables['table'].METADATA_SPEC_VERSION == 'SINGLE_TABLE_V1' def test_validate(self): """Test the method ``validate``.