From 2eafe52fe48c3b1ab3a5adef96eb3b52d3c83f06 Mon Sep 17 00:00:00 2001 From: Courtney Holcomb Date: Fri, 28 Jun 2024 07:31:37 -0700 Subject: [PATCH 1/2] Rename DefaultGrain -> DefaultGranularity in class & file names --- .../{default_grain.py => default_granularity.py} | 2 +- dbt_semantic_interfaces/validations/metrics.py | 6 +++--- tests/validations/test_metrics.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename dbt_semantic_interfaces/transformations/{default_grain.py => default_granularity.py} (95%) diff --git a/dbt_semantic_interfaces/transformations/default_grain.py b/dbt_semantic_interfaces/transformations/default_granularity.py similarity index 95% rename from dbt_semantic_interfaces/transformations/default_grain.py rename to dbt_semantic_interfaces/transformations/default_granularity.py index 0b31a8f0..6e5f9af6 100644 --- a/dbt_semantic_interfaces/transformations/default_grain.py +++ b/dbt_semantic_interfaces/transformations/default_granularity.py @@ -16,7 +16,7 @@ from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity -class SetDefaultGrainRule(ProtocolHint[SemanticManifestTransformRule[PydanticSemanticManifest]]): +class SetDefaultGranularityRule(ProtocolHint[SemanticManifestTransformRule[PydanticSemanticManifest]]): """If default_granularity is not set for a metric, set it to DAY if available, else the smallest available grain.""" @override diff --git a/dbt_semantic_interfaces/validations/metrics.py b/dbt_semantic_interfaces/validations/metrics.py index bced1a64..4e68afaa 100644 --- a/dbt_semantic_interfaces/validations/metrics.py +++ b/dbt_semantic_interfaces/validations/metrics.py @@ -577,7 +577,7 @@ def validate_manifest(semantic_manifest: SemanticManifestT) -> Sequence[Validati return issues -class DefaultGrainRule(SemanticManifestValidationRule[SemanticManifestT], Generic[SemanticManifestT]): +class DefaultGranularityRule(SemanticManifestValidationRule[SemanticManifestT], Generic[SemanticManifestT]): """Checks that default_granularity set for metric is queryable for that metric.""" @staticmethod @@ -619,7 +619,7 @@ def _validate_metric( ) if metric.default_granularity: - min_queryable_granularity = DefaultGrainRule._min_queryable_granularity_for_metric( + min_queryable_granularity = DefaultGranularityRule._min_queryable_granularity_for_metric( metric=metric, metric_index=metric_index, measure_to_agg_time_dimension=measure_to_agg_time_dimension ) valid_granularities = [ @@ -666,7 +666,7 @@ def validate_manifest(semantic_manifest: SemanticManifestT) -> Sequence[Validati metric_index = {MetricReference(metric.name): metric for metric in semantic_manifest.metrics} for metric in semantic_manifest.metrics or []: - issues += DefaultGrainRule._validate_metric( + issues += DefaultGranularityRule._validate_metric( metric=metric, metric_index=metric_index, measure_to_agg_time_dimension=measure_to_agg_time_dimension, diff --git a/tests/validations/test_metrics.py b/tests/validations/test_metrics.py index a84cbe6a..b6b25f7f 100644 --- a/tests/validations/test_metrics.py +++ b/tests/validations/test_metrics.py @@ -46,7 +46,7 @@ CUMULATIVE_TYPE_PARAMS_SUPPORTED, ConversionMetricRule, CumulativeMetricRule, - DefaultGrainRule, + DefaultGranularityRule, DerivedMetricRule, WhereFiltersAreParseable, ) @@ -722,7 +722,7 @@ def test_default_granularity() -> None: month_measure_name = "boo" week_time_dim_name = "ds__week" month_time_dim_name = "ds__month" - model_validator = SemanticManifestValidator[PydanticSemanticManifest]([DefaultGrainRule()]) + model_validator = SemanticManifestValidator[PydanticSemanticManifest]([DefaultGranularityRule()]) validation_results = model_validator.validate_semantic_manifest( PydanticSemanticManifest( semantic_models=[ From 1874d5395f6c5f7df4f68fca4cf4e52be5b1809c Mon Sep 17 00:00:00 2001 From: Courtney Holcomb Date: Fri, 28 Jun 2024 07:32:11 -0700 Subject: [PATCH 2/2] Bump dev version --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 60bb3415..30394519 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "dbt-semantic-interfaces" -version = "0.6.2.dev0" +version = "0.6.2.dev1" description = 'The shared semantic layer definitions that dbt-core and MetricFlow use' readme = "README.md" requires-python = ">=3.8"