From 8b1f3feceaae542abc9b39216fd44b836fa23192 Mon Sep 17 00:00:00 2001 From: Patrick Yost Date: Thu, 2 Oct 2025 12:18:14 -0700 Subject: [PATCH 1/6] Bump DSI version and include new transformations --- metricflow-semantics/requirements-files/requirements.txt | 4 +++- requirements-files/requirements.txt | 4 +++- .../test_mf_engine.py/list/test_list_metrics__result0.txt | 7 +++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/metricflow-semantics/requirements-files/requirements.txt b/metricflow-semantics/requirements-files/requirements.txt index cb0752460b..93e4fa7c22 100644 --- a/metricflow-semantics/requirements-files/requirements.txt +++ b/metricflow-semantics/requirements-files/requirements.txt @@ -2,7 +2,9 @@ # This allows us to sync new, non-breaking changes to dbt-core without getting a version mismatch in dbt-mantle, # which depends on a specific commit of DSI. # bumping to 0.9.3 will cause test failures, so pinning to dev2 until fixed -dbt-semantic-interfaces==0.9.3.dev2 +# dbt-semantic-interfaces==0.9.3.dev2 +dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@bf33f74 +# dbt-semantic-interfaces @ file:///Users/patricky/git/dbt-semantic-interfaces graphviz>=0.18.2, <0.21 python-dateutil>=2.9.0, <2.10.0 rapidfuzz>=3.0, <4.0 diff --git a/requirements-files/requirements.txt b/requirements-files/requirements.txt index 040609baa4..7afb9285ab 100644 --- a/requirements-files/requirements.txt +++ b/requirements-files/requirements.txt @@ -1,6 +1,8 @@ Jinja2>=3.1.6, <3.7.0 # bumping to 0.9.3 will cause test failures, so pinning to dev2 until fixed -dbt-semantic-interfaces==0.9.3.dev2 +# dbt-semantic-interfaces==0.9.3.dev2 +dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@bf33f74 +# dbt-semantic-interfaces @ file:///Users/patricky/git/dbt-semantic-interfaces more-itertools>=8.10.0, <10.2.0 pydantic>=1.10.0, <3.0 tabulate>=0.8.9 diff --git a/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt b/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt index 7dd7301175..6f92533e4a 100644 --- a/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt +++ b/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt @@ -12,6 +12,7 @@ docstring: 'average_booking_value', 'average_instant_booking_value', 'bookers', + 'bookers_fill_nulls_with_0_join_to_timespine', 'booking_fees', 'booking_fees_last_week_per_booker_this_week', 'booking_fees_per_booker', @@ -50,6 +51,10 @@ docstring: 'bookings_per_lux_listing_derived', 'bookings_per_view', 'bookings_since_start_of_month', + 'buys', + 'buys_fill_nulls_with_0', + 'buys_fill_nulls_with_0_join_to_timespine', + 'buys_month', 'current_account_balance_by_user', 'derived_bookings_0', 'derived_bookings_1', @@ -109,4 +114,6 @@ docstring: 'visit_buy_conversion_rate_by_session', 'visit_buy_conversion_rate_with_monthly_conversion', 'visit_buy_conversions', + 'visits', + 'visits_fill_nulls_with_0_join_to_timespine', ] From e85478e82c2f1ac2f530a9d12765f0b8a82bc181 Mon Sep 17 00:00:00 2001 From: Patrick Yost Date: Thu, 2 Oct 2025 15:31:01 -0700 Subject: [PATCH 2/6] Fix a snapshot test --- ..._set_for_distinct_values_query__result.txt | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_distinct_values_query__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_distinct_values_query__result.txt index e9ecb0a29f..2655f25457 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_distinct_values_query__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_distinct_values_query__result.txt @@ -94,6 +94,7 @@ Distinct-Values Query: │ company__listing__user__company__average_booking_value │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ │ company__listing__user__company__average_instant_booking_value │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ │ company__listing__user__company__bookers │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ + │ company__listing__user__company__bookers_fill_nulls_with_0_join_to_timespine │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ │ company__listing__user__company__booking_fees │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ │ company__listing__user__company__booking_fees_per_booker │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ │ company__listing__user__company__booking_payments │ listing,user,company │ METRIC │ JOINED,METRIC │ bookings_source,companies,listings_latest │ @@ -141,6 +142,10 @@ Distinct-Values Query: │ company__user__company__active_listings │ user,company │ METRIC │ JOINED,METRIC │ companies,listings_latest │ │ company__user__company__archived_users │ user,company │ METRIC │ JOINED,METRIC │ companies,users_ds_source │ │ company__user__company__archived_users_join_to_time_spine │ user,company │ METRIC │ JOINED,METRIC │ companies,users_ds_source │ + │ company__user__company__buys │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies │ + │ company__user__company__buys_fill_nulls_with_0 │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies │ + │ company__user__company__buys_fill_nulls_with_0_join_to_timespine │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies │ + │ company__user__company__buys_month │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies │ │ company__user__company__current_account_balance_by_user │ user,company │ METRIC │ JOINED,METRIC │ accounts_source,companies │ │ company__user__company__identity_verifications │ user,company │ METRIC │ JOINED,METRIC │ companies,id_verifications │ │ company__user__company__largest_listing │ user,company │ METRIC │ JOINED,METRIC │ companies,listings_latest │ @@ -164,17 +169,21 @@ Distinct-Values Query: │ company__user__company__visit_buy_conversion_rate_by_session │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies,visits_source │ │ company__user__company__visit_buy_conversion_rate_with_monthly_conversion │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies,visits_source │ │ company__user__company__visit_buy_conversions │ user,company │ METRIC │ JOINED,METRIC │ buys_source,companies,visits_source │ + │ company__user__company__visits │ user,company │ METRIC │ JOINED,METRIC │ companies,visits_source │ + │ company__user__company__visits_fill_nulls_with_0_join_to_timespine │ user,company │ METRIC │ JOINED,METRIC │ companies,visits_source │ │ guest │ │ ENTITY │ ENTITY,LOCAL │ bookings_source │ │ guest__approximate_continuous_booking_value_p99 │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__approximate_discrete_booking_value_p99 │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__average_booking_value │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__average_instant_booking_value │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__bookers │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ + │ guest__bookers_fill_nulls_with_0_join_to_timespine │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__approximate_continuous_booking_value_p99 │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__approximate_discrete_booking_value_p99 │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__average_booking_value │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__average_instant_booking_value │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__bookers │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ + │ guest__booking__guest__bookers_fill_nulls_with_0_join_to_timespine │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__booking_fees │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__booking_fees_per_booker │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__booking_payments │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ @@ -259,11 +268,13 @@ Distinct-Values Query: │ host__average_booking_value │ host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__average_instant_booking_value │ host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__bookers │ host │ METRIC │ JOINED,METRIC │ bookings_source │ + │ host__bookers_fill_nulls_with_0_join_to_timespine │ host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__approximate_continuous_booking_value_p99 │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__approximate_discrete_booking_value_p99 │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__average_booking_value │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__average_instant_booking_value │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__bookers │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ + │ host__booking__host__bookers_fill_nulls_with_0_join_to_timespine │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__booking_fees │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__booking_fees_per_booker │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__booking_payments │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ @@ -349,11 +360,13 @@ Distinct-Values Query: │ listing__average_booking_value │ listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__average_instant_booking_value │ listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__bookers │ listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ + │ listing__bookers_fill_nulls_with_0_join_to_timespine │ listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__approximate_continuous_booking_value_p99 │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__approximate_discrete_booking_value_p99 │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__average_booking_value │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__average_instant_booking_value │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__bookers │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ + │ listing__booking__listing__bookers_fill_nulls_with_0_join_to_timespine │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__booking_fees │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__booking_fees_per_booker │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ │ listing__booking__listing__booking_payments │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source,listings_latest,lux_listing_mapping,views_source │ @@ -480,6 +493,7 @@ Distinct-Values Query: │ lux_listing__listing__lux_listing__average_booking_value │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ │ lux_listing__listing__lux_listing__average_instant_booking_value │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ │ lux_listing__listing__lux_listing__bookers │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ + │ lux_listing__listing__lux_listing__bookers_fill_nulls_with_0_join_to_timespine │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ │ lux_listing__listing__lux_listing__booking_fees │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ │ lux_listing__listing__lux_listing__booking_fees_per_booker │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ │ lux_listing__listing__lux_listing__booking_payments │ listing,lux_listing │ METRIC │ JOINED,METRIC │ bookings_source,lux_listing_mapping │ @@ -568,13 +582,25 @@ Distinct-Values Query: │ session__visit__session__visit_buy_conversion_rate_by_session │ visit,session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit__session__visit_buy_conversion_rate_with_monthly_conversion │ visit,session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit__session__visit_buy_conversions │ visit,session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ + │ session__visit__session__visits │ visit,session │ METRIC │ JOINED,METRIC │ visits_source │ + │ session__visit__session__visits_fill_nulls_with_0_join_to_timespine │ visit,session │ METRIC │ JOINED,METRIC │ visits_source │ │ session__visit_buy_conversion_rate │ session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit_buy_conversion_rate_7days │ session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit_buy_conversion_rate_7days_fill_nulls_with_0 │ session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit_buy_conversion_rate_by_session │ session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit_buy_conversion_rate_with_monthly_conversion │ session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ │ session__visit_buy_conversions │ session │ METRIC │ JOINED,METRIC │ buys_source,visits_source │ + │ session__visits │ session │ METRIC │ JOINED,METRIC │ visits_source │ + │ session__visits_fill_nulls_with_0_join_to_timespine │ session │ METRIC │ JOINED,METRIC │ visits_source │ │ session_id │ │ ENTITY │ ENTITY,LOCAL │ buys_source │ + │ session_id__buy__session_id__buys │ buy,session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buy__session_id__buys_fill_nulls_with_0 │ buy,session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buy__session_id__buys_fill_nulls_with_0_join_to_timespine │ buy,session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buy__session_id__buys_month │ buy,session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buys │ session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buys_fill_nulls_with_0 │ session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buys_fill_nulls_with_0_join_to_timespine │ session_id │ METRIC │ JOINED,METRIC │ buys_source │ + │ session_id__buys_month │ session_id │ METRIC │ JOINED,METRIC │ buys_source │ │ user │ │ ENTITY │ ENTITY,LOCAL │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__account__user__current_account_balance_by_user │ account,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__account__user__regional_starting_balance_ratios │ account,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ @@ -611,6 +637,14 @@ Distinct-Values Query: │ user__bio_added_ts__second │ │ TIME_DIMENSION │ LOCAL │ users_ds_source │ │ user__bio_added_ts__week │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,LOCAL │ users_ds_source │ │ user__bio_added_ts__year │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,LOCAL │ users_ds_source │ + │ user__buy__user__buys │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buy__user__buys_fill_nulls_with_0 │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buy__user__buys_fill_nulls_with_0_join_to_timespine │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buy__user__buys_month │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buys │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buys_fill_nulls_with_0 │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buys_fill_nulls_with_0_join_to_timespine │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__buys_month │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__company │ │ ENTITY │ ENTITY,LOCAL │ companies │ │ user__company_name │ │ DIMENSION │ LOCAL │ companies │ │ user__created_at__alien_day │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,LOCAL │ users_ds_source │ @@ -702,6 +736,7 @@ Distinct-Values Query: │ user__listing__user__average_booking_value │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__listing__user__average_instant_booking_value │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__listing__user__bookers │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__listing__user__bookers_fill_nulls_with_0_join_to_timespine │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__listing__user__booking_fees │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__listing__user__booking_fees_per_booker │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__listing__user__booking_payments │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ @@ -776,12 +811,16 @@ Distinct-Values Query: │ user__visit__user__visit_buy_conversion_rate_by_session │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit__user__visit_buy_conversion_rate_with_monthly_conversion │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit__user__visit_buy_conversions │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__visit__user__visits │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__visit__user__visits_fill_nulls_with_0_join_to_timespine │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit_buy_conversion_rate │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit_buy_conversion_rate_7days │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit_buy_conversion_rate_7days_fill_nulls_with_0 │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit_buy_conversion_rate_by_session │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit_buy_conversion_rate_with_monthly_conversion │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ user__visit_buy_conversions │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__visits │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ + │ user__visits_fill_nulls_with_0_join_to_timespine │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,companies,id_verifications,listings_latest,revenue,users_ds_source,users_latest,views_source,visits_source │ │ verification │ │ ENTITY │ ENTITY,LOCAL │ id_verifications │ │ verification__ds__alien_day │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,LOCAL │ id_verifications │ │ verification__ds__day │ │ TIME_DIMENSION │ LOCAL │ id_verifications │ From d80d705772f60c2acc33f512de7b07d54683f8c3 Mon Sep 17 00:00:00 2001 From: Patrick Yost Date: Thu, 2 Oct 2025 16:13:39 -0700 Subject: [PATCH 3/6] Fix one more snapshot. --- .../str/test_set_for_measures__result.txt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_measures__result.txt b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_measures__result.txt index 6ec1253999..0b2bc68a90 100644 --- a/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_measures__result.txt +++ b/metricflow-semantics/tests_metricflow_semantics/snapshots/test_sg_resolver_output.py/str/test_set_for_measures__result.txt @@ -53,11 +53,13 @@ bookings: │ guest__average_booking_value │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__average_instant_booking_value │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__bookers │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ + │ guest__bookers_fill_nulls_with_0_join_to_timespine │ guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__approximate_continuous_booking_value_p99 │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__approximate_discrete_booking_value_p99 │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__average_booking_value │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__average_instant_booking_value │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__bookers │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ + │ guest__booking__guest__bookers_fill_nulls_with_0_join_to_timespine │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__booking_fees │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__booking_fees_per_booker │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ │ guest__booking__guest__booking_payments │ booking,guest │ METRIC │ JOINED,METRIC │ bookings_source │ @@ -142,11 +144,13 @@ bookings: │ host__average_booking_value │ host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__average_instant_booking_value │ host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__bookers │ host │ METRIC │ JOINED,METRIC │ bookings_source │ + │ host__bookers_fill_nulls_with_0_join_to_timespine │ host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__approximate_continuous_booking_value_p99 │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__approximate_discrete_booking_value_p99 │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__average_booking_value │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__average_instant_booking_value │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__bookers │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ + │ host__booking__host__bookers_fill_nulls_with_0_join_to_timespine │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__booking_fees │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__booking_fees_per_booker │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ │ host__booking__host__booking_payments │ booking,host │ METRIC │ JOINED,METRIC │ bookings_source │ @@ -232,11 +236,13 @@ bookings: │ listing__average_booking_value │ listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__average_instant_booking_value │ listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__bookers │ listing │ METRIC │ JOINED,METRIC │ bookings_source │ + │ listing__bookers_fill_nulls_with_0_join_to_timespine │ listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__approximate_continuous_booking_value_p99 │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__approximate_discrete_booking_value_p99 │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__average_booking_value │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__average_instant_booking_value │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__bookers │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ + │ listing__booking__listing__bookers_fill_nulls_with_0_join_to_timespine │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__booking_fees │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__booking_fees_per_booker │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ │ listing__booking__listing__booking_payments │ booking,listing │ METRIC │ JOINED,METRIC │ bookings_source │ @@ -552,6 +558,14 @@ account_balance: │ user__bio_added_ts__second │ │ TIME_DIMENSION │ JOINED │ accounts_source,users_ds_source │ │ user__bio_added_ts__week │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,JOINED │ accounts_source,users_ds_source │ │ user__bio_added_ts__year │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,JOINED │ accounts_source,users_ds_source │ + │ user__buy__user__buys │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buy__user__buys_fill_nulls_with_0 │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buy__user__buys_fill_nulls_with_0_join_to_timespine │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buy__user__buys_month │ buy,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buys │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buys_fill_nulls_with_0 │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buys_fill_nulls_with_0_join_to_timespine │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ + │ user__buys_month │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source │ │ user__company │ │ ENTITY │ ENTITY,JOINED │ accounts_source,companies │ │ user__company_name │ │ DIMENSION │ JOINED │ accounts_source,companies │ │ user__created_at__alien_day │ │ TIME_DIMENSION │ DERIVED_TIME_GRANULARITY,JOINED │ accounts_source,users_ds_source │ @@ -643,6 +657,7 @@ account_balance: │ user__listing__user__average_booking_value │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ │ user__listing__user__average_instant_booking_value │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ │ user__listing__user__bookers │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ + │ user__listing__user__bookers_fill_nulls_with_0_join_to_timespine │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ │ user__listing__user__booking_fees │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ │ user__listing__user__booking_fees_per_booker │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ │ user__listing__user__booking_payments │ listing,user │ METRIC │ JOINED,METRIC │ accounts_source,bookings_source,listings_latest │ @@ -717,10 +732,14 @@ account_balance: │ user__visit__user__visit_buy_conversion_rate_by_session │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit__user__visit_buy_conversion_rate_with_monthly_conversion │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit__user__visit_buy_conversions │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ + │ user__visit__user__visits │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,visits_source │ + │ user__visit__user__visits_fill_nulls_with_0_join_to_timespine │ visit,user │ METRIC │ JOINED,METRIC │ accounts_source,visits_source │ │ user__visit_buy_conversion_rate │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit_buy_conversion_rate_7days │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit_buy_conversion_rate_7days_fill_nulls_with_0 │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit_buy_conversion_rate_by_session │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit_buy_conversion_rate_with_monthly_conversion │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ │ user__visit_buy_conversions │ user │ METRIC │ JOINED,METRIC │ accounts_source,buys_source,visits_source │ + │ user__visits │ user │ METRIC │ JOINED,METRIC │ accounts_source,visits_source │ + │ user__visits_fill_nulls_with_0_join_to_timespine │ user │ METRIC │ JOINED,METRIC │ accounts_source,visits_source │ └────────────────────────────────────────────────────────────────────────────┴────────────────────────────────┴──────────────────┴────────────────────────────────────────┴────────────────────────────────────────────────────────────────┘ From 0fd70d9db17dffbe4055737fe13bee766e8b5115 Mon Sep 17 00:00:00 2001 From: Patrick Yost Date: Thu, 2 Oct 2025 16:34:32 -0700 Subject: [PATCH 4/6] Pin to a new commit. --- metricflow-semantics/requirements-files/requirements.txt | 2 +- requirements-files/requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/metricflow-semantics/requirements-files/requirements.txt b/metricflow-semantics/requirements-files/requirements.txt index 93e4fa7c22..a59bbbbf21 100644 --- a/metricflow-semantics/requirements-files/requirements.txt +++ b/metricflow-semantics/requirements-files/requirements.txt @@ -3,7 +3,7 @@ # which depends on a specific commit of DSI. # bumping to 0.9.3 will cause test failures, so pinning to dev2 until fixed # dbt-semantic-interfaces==0.9.3.dev2 -dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@bf33f74 +dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@74670d2 # dbt-semantic-interfaces @ file:///Users/patricky/git/dbt-semantic-interfaces graphviz>=0.18.2, <0.21 python-dateutil>=2.9.0, <2.10.0 diff --git a/requirements-files/requirements.txt b/requirements-files/requirements.txt index 7afb9285ab..9774a49ca0 100644 --- a/requirements-files/requirements.txt +++ b/requirements-files/requirements.txt @@ -1,7 +1,7 @@ Jinja2>=3.1.6, <3.7.0 # bumping to 0.9.3 will cause test failures, so pinning to dev2 until fixed # dbt-semantic-interfaces==0.9.3.dev2 -dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@bf33f74 +dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@74670d2 # dbt-semantic-interfaces @ file:///Users/patricky/git/dbt-semantic-interfaces more-itertools>=8.10.0, <10.2.0 pydantic>=1.10.0, <3.0 From 15b43c4f816dd7a058bed5ceb0ece7a50bcb2de0 Mon Sep 17 00:00:00 2001 From: Courtney Holcomb Date: Thu, 2 Oct 2025 17:41:09 -0700 Subject: [PATCH 5/6] Filter private metrics out of list_metrics API --- metricflow/engine/metricflow_engine.py | 2 ++ .../test_mf_engine.py/list/test_list_metrics__result0.txt | 7 ------- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/metricflow/engine/metricflow_engine.py b/metricflow/engine/metricflow_engine.py index 3ba0acf07b..a305fcb0d7 100644 --- a/metricflow/engine/metricflow_engine.py +++ b/metricflow/engine/metricflow_engine.py @@ -841,6 +841,8 @@ def list_metrics(self, include_dimensions: bool = True) -> List[Metric]: metric_lookup = self._semantic_manifest_lookup.metric_lookup metrics: List[Metric] = [] for pydantic_metric in metric_lookup.get_metrics(metric_lookup.metric_references): + if pydantic_metric.type_params.is_private: + continue semantic_models = [] for measure in pydantic_metric.input_measures: semantic_model_reference = ( diff --git a/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt b/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt index 6f92533e4a..7dd7301175 100644 --- a/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt +++ b/tests_metricflow/snapshots/test_mf_engine.py/list/test_list_metrics__result0.txt @@ -12,7 +12,6 @@ docstring: 'average_booking_value', 'average_instant_booking_value', 'bookers', - 'bookers_fill_nulls_with_0_join_to_timespine', 'booking_fees', 'booking_fees_last_week_per_booker_this_week', 'booking_fees_per_booker', @@ -51,10 +50,6 @@ docstring: 'bookings_per_lux_listing_derived', 'bookings_per_view', 'bookings_since_start_of_month', - 'buys', - 'buys_fill_nulls_with_0', - 'buys_fill_nulls_with_0_join_to_timespine', - 'buys_month', 'current_account_balance_by_user', 'derived_bookings_0', 'derived_bookings_1', @@ -114,6 +109,4 @@ docstring: 'visit_buy_conversion_rate_by_session', 'visit_buy_conversion_rate_with_monthly_conversion', 'visit_buy_conversions', - 'visits', - 'visits_fill_nulls_with_0_join_to_timespine', ] From 90b07c161ab39045390ce040248021b442dbbd62 Mon Sep 17 00:00:00 2001 From: Patrick Yost Date: Fri, 3 Oct 2025 08:03:11 -0700 Subject: [PATCH 6/6] Add changie file and update dsi reference to a real version. --- .changes/unreleased/Under the Hood-20251003-080025.yaml | 6 ++++++ metricflow-semantics/requirements-files/requirements.txt | 4 +--- requirements-files/requirements.txt | 4 +--- 3 files changed, 8 insertions(+), 6 deletions(-) create mode 100644 .changes/unreleased/Under the Hood-20251003-080025.yaml diff --git a/.changes/unreleased/Under the Hood-20251003-080025.yaml b/.changes/unreleased/Under the Hood-20251003-080025.yaml new file mode 100644 index 0000000000..698f1fbd56 --- /dev/null +++ b/.changes/unreleased/Under the Hood-20251003-080025.yaml @@ -0,0 +1,6 @@ +kind: Under the Hood +body: Bump dependence on dbt-semantic-interfaces to 0.9.3.dev4 to get newest transformations code. +time: 2025-10-03T08:00:25.705141-07:00 +custom: + Author: theyostalservice courtneyholcomb + Issue: "387" diff --git a/metricflow-semantics/requirements-files/requirements.txt b/metricflow-semantics/requirements-files/requirements.txt index a59bbbbf21..67179678a4 100644 --- a/metricflow-semantics/requirements-files/requirements.txt +++ b/metricflow-semantics/requirements-files/requirements.txt @@ -2,9 +2,7 @@ # This allows us to sync new, non-breaking changes to dbt-core without getting a version mismatch in dbt-mantle, # which depends on a specific commit of DSI. # bumping to 0.9.3 will cause test failures, so pinning to dev2 until fixed -# dbt-semantic-interfaces==0.9.3.dev2 -dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@74670d2 -# dbt-semantic-interfaces @ file:///Users/patricky/git/dbt-semantic-interfaces +dbt-semantic-interfaces==0.9.3.dev4 graphviz>=0.18.2, <0.21 python-dateutil>=2.9.0, <2.10.0 rapidfuzz>=3.0, <4.0 diff --git a/requirements-files/requirements.txt b/requirements-files/requirements.txt index 9774a49ca0..e6a295015f 100644 --- a/requirements-files/requirements.txt +++ b/requirements-files/requirements.txt @@ -1,8 +1,6 @@ Jinja2>=3.1.6, <3.7.0 # bumping to 0.9.3 will cause test failures, so pinning to dev2 until fixed -# dbt-semantic-interfaces==0.9.3.dev2 -dbt-semantic-interfaces @ git+https://github.com/dbt-labs/dbt-semantic-interfaces.git@74670d2 -# dbt-semantic-interfaces @ file:///Users/patricky/git/dbt-semantic-interfaces +dbt-semantic-interfaces==0.9.3.dev4 more-itertools>=8.10.0, <10.2.0 pydantic>=1.10.0, <3.0 tabulate>=0.8.9