datajunction 0.0.249__tar.gz → 0.0.251__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.
Potentially problematic release.
This version of datajunction might be problematic. Click here for more details.
- {datajunction-0.0.249 → datajunction-0.0.251}/PKG-INFO +1 -1
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/__about__.py +1 -1
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/deployment.py +6 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction-semantic-model/SKILL.md +1 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_deploy.py +47 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/.coveragerc +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/.gitignore +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/.pre-commit-config.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/LICENSE.txt +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/Makefile +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/README.md +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/claude_desktop_config.example.json +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/__init__.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/_base.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/_internal.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/admin.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/builder.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/cli.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/client.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/compile.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/exceptions.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/mcp/__init__.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/mcp/cli.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/mcp/config.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/models.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/nodes.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/rendering.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/init_system_nodes.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/date.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/deployment.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/dimension_link.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/distinct_node_authors.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/distinct_node_editors.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/is_active.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/materialization.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_deployment_duration_seconds.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_dim_links_per_node.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_dimension_indegree.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_downstream_count.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_revisions_per_node.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_upstream_count.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/namespace.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/node_revision.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/node_type.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/nodes.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_branches.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_deployments.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_materializations.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_namespaces.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_nodes.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_orphan_nodes.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_unused_dimensions.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/repo.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/user.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction/SKILL.md +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction-api/SKILL.md +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction-query/SKILL.md +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction-repo/SKILL.md +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/datajunction/tags.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/pyproject.toml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/setup.cfg +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/__init__.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/conftest.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/companies.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/companies_dim.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/contractor.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/contractors.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/us_state.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/us_states.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/avg_length_of_employment.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/avg_repair_price.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/avg_time_to_dispatch.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/contractor.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/contractors.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/date.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/date_dim.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/dispatcher.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/dispatchers.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/hard_hat.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/hard_hat_state.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/hard_hats.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/local_hard_hats.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/municipality.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/municipality_dim.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/municipality_municipality_type.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/municipality_type.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/national_level_agg.transform.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/num_repair_orders.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/regional_level_agg.transform.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/regional_repair_efficiency.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_order.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_order_details.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_order_transform.transform.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_orders.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_orders_cube.cube.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_type.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/total_repair_cost.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/total_repair_order_discounts.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/us_region.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/us_state.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/us_states.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project10/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/avg_length_of_employment.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/avg_repair_price.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/avg_time_to_dispatch.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/contractor.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/contractors.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/date.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/date_dim.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/dispatcher.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/dispatchers.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/hard_hat.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/hard_hat_state.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/hard_hats.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/local_hard_hats.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/municipality.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/municipality_dim.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/municipality_municipality_type.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/municipality_type.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/national_level_agg.transform.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/num_repair_orders.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/regional_level_agg.transform.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/regional_repair_efficiency.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_order.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_order_details.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_order_transform.transform.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_orders.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_orders_cube.cube.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_type.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/total_repair_cost.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/total_repair_order_discounts.metric.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/us_region.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/us_state.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/us_states.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/companies.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/companies_dim.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/contractor.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/contractors.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/us_state.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/us_states.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project2/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project2/some_node.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project3/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project3/some_node.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project4/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project4/very/very/deeply/nested/namespace/some_node.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project5/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project5/some_node.a.b.c.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project6/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project6/roads/contractor.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project6/roads/contractors.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project7/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project7/roads/contractor.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project7/roads/contractors.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project8/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/dj.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/companies.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/companies_dim.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/contractor.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/contractors.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/us_state.dimension.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/us_states.source.yaml +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/examples.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/mcp/README.md +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/mcp/__init__.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/mcp/test_cli.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test__internal.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_admin.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_base.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_builder.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_cli.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_client.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_compile.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_generated_client.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_integration.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_models.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_plugin_mirror.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tests/test_skills.py +0 -0
- {datajunction-0.0.249 → datajunction-0.0.251}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: datajunction
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.251
|
|
4
4
|
Summary: DataJunction client library for connecting to a DataJunction server
|
|
5
5
|
Project-URL: repository, https://github.com/DataJunction/dj
|
|
6
6
|
Author-email: DataJunction Authors <yian.shang@gmail.com>
|
|
@@ -593,6 +593,12 @@ class DeploymentService:
|
|
|
593
593
|
if "managed_tag_types" in project_metadata:
|
|
594
594
|
deployment_spec["managed_tag_types"] = project_metadata["managed_tag_types"]
|
|
595
595
|
|
|
596
|
+
if "checks" in project_metadata:
|
|
597
|
+
deployment_spec["checks"] = project_metadata["checks"]
|
|
598
|
+
|
|
599
|
+
if "rulesets" in project_metadata:
|
|
600
|
+
deployment_spec["rulesets"] = project_metadata["rulesets"]
|
|
601
|
+
|
|
596
602
|
# Add deployment source if available from env vars
|
|
597
603
|
source = self._build_deployment_source(cwd=base_dir)
|
|
598
604
|
if source: # pragma: no branch
|
|
@@ -297,6 +297,7 @@ Same shape for MoM (`month_code`), QoQ (`quarter_code`), YoY (`year`).
|
|
|
297
297
|
| `direction` | ❌ Optional | `higher_is_better` / `lower_is_better` / `neutral` | Indicates performance direction |
|
|
298
298
|
| `unit` | ❌ Optional | `dollar` / `unitless` / **⚠️ NOT `count`** | Server rejects `count` — use `unitless` |
|
|
299
299
|
| `mode` | ❌ Optional | `draft` / `published` | Default: `published` |
|
|
300
|
+
| `fixed_grain` | ❌ Optional | List of dimension names | Grain the aggregate is computed at; omit for query grain, `[]` for global |
|
|
300
301
|
| `required_dimensions` | ❌ Optional | List of dimension names | For time-based / windowed metrics |
|
|
301
302
|
| `owners` | ❌ Optional but strongly recommended | List of email addresses | Prefer team emails |
|
|
302
303
|
|
|
@@ -185,6 +185,53 @@ def test_reconstruct_deployment_spec_forwards_managed_tag_types(tmp_path):
|
|
|
185
185
|
assert spec["managed_tag_types"] == ["domain"]
|
|
186
186
|
|
|
187
187
|
|
|
188
|
+
def test_reconstruct_deployment_spec_forwards_checks_and_rulesets(tmp_path):
|
|
189
|
+
"""`checks:` and `rulesets:` in dj.yaml reach the deployment payload.
|
|
190
|
+
|
|
191
|
+
Same defect as custom_metadata_schemas: the payload names its keys one by
|
|
192
|
+
one, so a manifest section nobody named is read and dropped. Dropped here
|
|
193
|
+
it fails silently -- the deploy succeeds having evaluated nothing.
|
|
194
|
+
"""
|
|
195
|
+
(tmp_path / "dj.yaml").write_text(
|
|
196
|
+
"namespace: ns\n"
|
|
197
|
+
"checks:\n"
|
|
198
|
+
" - name: demo.described\n"
|
|
199
|
+
" description: Every node has a description.\n"
|
|
200
|
+
" condition: \"node.description != ''\"\n"
|
|
201
|
+
" gate: warn\n"
|
|
202
|
+
"rulesets:\n"
|
|
203
|
+
" - name: baseline\n"
|
|
204
|
+
" checks: [demo.described]\n",
|
|
205
|
+
)
|
|
206
|
+
(tmp_path / "revenue.yaml").write_text(
|
|
207
|
+
"name: ns.revenue\nnode_type: metric\nquery: SELECT SUM(amount) FROM ns.fct\n",
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
svc = DeploymentService(MagicMock())
|
|
211
|
+
spec, _ = svc._reconstruct_deployment_spec(tmp_path)
|
|
212
|
+
|
|
213
|
+
assert [check["name"] for check in spec["checks"]] == ["demo.described"]
|
|
214
|
+
assert spec["rulesets"] == [{"name": "baseline", "checks": ["demo.described"]}]
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
def test_reconstruct_deployment_spec_omits_absent_checks(tmp_path):
|
|
218
|
+
"""A manifest that declares no checks must not send the key.
|
|
219
|
+
|
|
220
|
+
Absent leaves the namespace's governance alone; [] would say this manifest
|
|
221
|
+
manages checks and declares none.
|
|
222
|
+
"""
|
|
223
|
+
(tmp_path / "dj.yaml").write_text("namespace: ns\n")
|
|
224
|
+
(tmp_path / "revenue.yaml").write_text(
|
|
225
|
+
"name: ns.revenue\nnode_type: metric\nquery: SELECT SUM(amount) FROM ns.fct\n",
|
|
226
|
+
)
|
|
227
|
+
|
|
228
|
+
svc = DeploymentService(MagicMock())
|
|
229
|
+
spec, _ = svc._reconstruct_deployment_spec(tmp_path)
|
|
230
|
+
|
|
231
|
+
assert "checks" not in spec
|
|
232
|
+
assert "rulesets" not in spec
|
|
233
|
+
|
|
234
|
+
|
|
188
235
|
def test_reconstruct_deployment_spec_omits_absent_managed_tag_types(tmp_path):
|
|
189
236
|
"""A manifest with no claims must not send the key: [] would release them."""
|
|
190
237
|
(tmp_path / "dj.yaml").write_text("namespace: ns\n")
|
|
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
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/distinct_node_authors.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/distinct_node_editors.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_dim_links_per_node.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_dimension_indegree.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_downstream_count.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_revisions_per_node.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/median_upstream_count.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_branches.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_deployments.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_namespaces.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/seed/nodes/number_of_orphan_nodes.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction-query/SKILL.md
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/datajunction/skills/datajunction-repo/SKILL.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/deploy0/roads/companies_dim.yaml
RENAMED
|
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
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/contractors.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/date.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/date_dim.dimension.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/dispatchers.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/hard_hat.dimension.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/hard_hats.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/municipality.source.yaml
RENAMED
|
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
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/repair_type.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/us_region.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/us_state.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project1/roads/us_states.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/avg_repair_price.metric.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/contractor.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/contractors.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/date_dim.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/dispatcher.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/dispatchers.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/hard_hat.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/hard_hat_state.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/hard_hats.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/municipality.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/municipality_type.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/num_repair_orders.metric.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_order.dimension.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_orders.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_orders_cube.cube.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/repair_type.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/total_repair_cost.metric.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/us_region.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/us_state.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project11/us_states.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/companies.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/contractors.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/us_state.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project12/roads/us_states.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project5/some_node.a.b.c.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project6/roads/contractors.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project7/roads/contractors.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/companies.source.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/contractors.source.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/us_state.dimension.yaml
RENAMED
|
File without changes
|
{datajunction-0.0.249 → datajunction-0.0.251}/tests/examples/project9/roads/us_states.source.yaml
RENAMED
|
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
|