From f6d779a156d02196140dac40b16bb1f0a272b357 Mon Sep 17 00:00:00 2001 From: Ben Pankow Date: Fri, 14 Feb 2025 14:57:44 -0800 Subject: [PATCH] [components][docs] Add components doc on moving definitions into components (#27721) ## Summary Adds some brief, tested docs which migrate existing Python modules containing assets, jobs, schedules etc to components subfolders. https://dagster-docs-1c66510ji-elementl.vercel.app/guides/labs/components/migrating-definitions ## Test Plan See rendered docs, new test. --- .../labs/components/existing-code-location.md | 1 + .../labs/components/migrating-definitions.md | 67 ++ docs/src/code-examples-content.js | 593 ++++++++++++++++++ .../components/component-type-docs.png | Bin 99467 -> 98794 bytes .../components/existing-project/1-tree.txt | 5 +- .../migrating-definitions/1-tree.txt | 19 + .../10-definitions-after-all.py | 5 + .../2-definitions-before.py | 21 + .../migrating-definitions/3-scaffold.txt | 5 + .../components/migrating-definitions/4-mv.txt | 1 + .../5-elt-nested-definitions.py | 10 + .../6-component-yaml.txt | 4 + .../7-definitions-after.py | 19 + .../migrating-definitions/8-tree-after.txt | 22 + .../9-tree-after-all.txt | 24 + .../my_existing_project_tests/test_assets.py | 1 - .../__init__.py | 0 .../my-existing-project/README.md | 0 .../my_existing_project/__init__.py | 0 .../my_existing_project/assets.py | 0 .../my_existing_project/definitions.py | 0 .../my-existing-project/pyproject.toml | 0 .../test_existing_code_location.py} | 0 .../__init__.py | 0 .../my-existing-project/README.md | 1 + .../my_existing_project}/__init__.py | 0 .../my_existing_project/analytics/__init__.py | 0 .../my_existing_project/analytics/assets.py | 6 + .../my_existing_project/analytics/jobs.py | 13 + .../my_existing_project/definitions.py | 21 + .../my_existing_project/elt/__init__.py | 0 .../my_existing_project/elt/assets.py | 13 + .../my_existing_project/elt/jobs.py | 13 + .../my-existing-project/pyproject.toml | 30 + .../test_migrating_definitions.py | 228 +++++++ .../test_all_files_load.py | 5 +- examples/docs_beta_snippets/pyproject.toml | 3 +- 37 files changed, 1123 insertions(+), 7 deletions(-) create mode 100644 docs/docs/guides/labs/components/migrating-definitions.md create mode 100644 docs/src/code-examples-content.js create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/1-tree.txt create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/10-definitions-after-all.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/2-definitions-before.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/3-scaffold.txt create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/4-mv.txt create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/5-elt-nested-definitions.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/6-component-yaml.txt create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/7-definitions-after.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/8-tree-after.txt create mode 100644 examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/9-tree-after-all.txt delete mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/my-existing-project/my_existing_project_tests/test_assets.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_component_docs_existing_code_location/__init__.py rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{ => test_component_docs_existing_code_location}/my-existing-project/README.md (100%) rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{ => test_component_docs_existing_code_location}/my-existing-project/my_existing_project/__init__.py (100%) rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{ => test_component_docs_existing_code_location}/my-existing-project/my_existing_project/assets.py (100%) rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{ => test_component_docs_existing_code_location}/my-existing-project/my_existing_project/definitions.py (100%) rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{ => test_component_docs_existing_code_location}/my-existing-project/pyproject.toml (100%) rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{test_components_docs_existing_code_location.py => test_component_docs_existing_code_location/test_existing_code_location.py} (100%) create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/__init__.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/README.md rename examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/{my-existing-project/my_existing_project_tests => test_components_docs_migrating_definitions/my-existing-project/my_existing_project}/__init__.py (100%) create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/analytics/__init__.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/analytics/assets.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/analytics/jobs.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/definitions.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/elt/__init__.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/elt/assets.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/my_existing_project/elt/jobs.py create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/my-existing-project/pyproject.toml create mode 100644 examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/test_migrating_definitions.py diff --git a/docs/docs/guides/labs/components/existing-code-location.md b/docs/docs/guides/labs/components/existing-code-location.md index d8d97092f8690..266de5eaef98e 100644 --- a/docs/docs/guides/labs/components/existing-code-location.md +++ b/docs/docs/guides/labs/components/existing-code-location.md @@ -81,5 +81,6 @@ Now, your code location is ready to use components! `dg` can be used to scaffold ## Next steps +- [Migrate existing definitions to components](./migrating-definitions) - [Add a new component to your code location](./using-a-component) - [Create a new component type](./creating-a-component) diff --git a/docs/docs/guides/labs/components/migrating-definitions.md b/docs/docs/guides/labs/components/migrating-definitions.md new file mode 100644 index 0000000000000..04b5d769dfd22 --- /dev/null +++ b/docs/docs/guides/labs/components/migrating-definitions.md @@ -0,0 +1,67 @@ +--- +title: 'Migrating existing Definitions to components' +sidebar_position: 350 +--- + +:::note +This guide covers migrating existing Python `Definitions` to components. This guide presupposes a components-enabled project. See the [getting started guide](./) or [Making an existing code location components-compatible](./existing-code-location) guide for more information. +::: + +When adding components to an existing Dagster code location, it is often useful to restructure your definitions into component folders, making it easier to eventually migrate them entirely to using components. + +## Example project + +Let's walk through an example of how to migrate existing definitions to components, with a project that has the following structure: + + + +The root `Definitions` object combines definitions from various nested modules: + + + +Each of these modules contains a variety of Dagster definitions, including assets, jobs, and schedules. + +Let's migrate the `elt` module to a component. + +## Create a Definitions component + +We'll start by creating a `Definitions` component for the `elt` module: + + + +This creates a new folder in `my_existing_project/components/elt-definitions`, with a `component.yaml` file. This component requires a `definitions_path` parameter, which points to a file which contains a `Definitions` object. + +Let's begin by moving the `elt` module's contents to the new component folder: + + + +Next, let's create a new `definitions.py` file in the component folder, which will collect all of the `elt` module's definitions into a single `Definitions` object: + + + +Finally, we can update the `component.yaml` file to point to the new `definitions.py` file: + + + +Now that our component is defined, we can update the root `definitions.py` file to no longer explicitly load the `elt` module's `Definitions`: + + + +Now, our project structure looks like this: + + + +We can repeat the same process for our other modules. + +## Fully migrated project + +Once each of our definitions modules are migrated to components, our project is left with a standardized structure and minimal imports at the project root: + + + + + +## Next steps + +- [Add a new component to your code location](./using-a-component) +- [Create a new component type](./creating-a-component) diff --git a/docs/src/code-examples-content.js b/docs/src/code-examples-content.js new file mode 100644 index 0000000000000..8df9e9eb45bf4 --- /dev/null +++ b/docs/src/code-examples-content.js @@ -0,0 +1,593 @@ + +/// THIS FILE IS AUTOMATICALLY GENERATED BY `yarn generate-code-imports` DO NOT MODIFY /// + // +export const CODE_EXAMPLE_PATH_MAPPINGS = { + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/kubernetes/resource_request_job.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/kubernetes/resource_request_job.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/kubernetes/resource_request_asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/kubernetes/resource_request_asset.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/kubernetes/resource_request_pipes.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/kubernetes/resource_request_pipes.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/local_dagster.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/hybrid/agents/local_dagster.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/example_setup.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/example_setup.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_python_version.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_python_version.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/gitlab_template.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/gitlab_template.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/gitlab_python_version.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/gitlab_python_version.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_base_image.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_base_image.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/data_files_setup.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/data_files_setup.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_disable_pex.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_disable_pex.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/gitlab_disable_pex.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/gitlab_disable_pex.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_no_pex_custom_base_image.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/serverless/runtime-environment/github_no_pex_custom_base_image.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-email.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-email.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-microsoft_teams.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-microsoft_teams.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-pagerduty.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-pagerduty.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-slack.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/schedule-sensor-failure-slack.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-email.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-email.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-microsoft_teams.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-microsoft_teams.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-pagerduty.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-pagerduty.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-slack.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/job-running-over-one-hour-slack.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-email.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-email.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-microsoft_teams.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-microsoft_teams.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-pagerduty.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-pagerduty.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-slack.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/asset-check-failed-slack.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-email.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-email.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-microsoft_teams.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-microsoft_teams.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-pagerduty.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-pagerduty.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-slack.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/alerts/code-location-error-slack.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/access/rbac/audit-logs.graphql': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/access/rbac/audit-logs.graphql'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/branch-deployments/dagster.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/branch-deployments/dagster.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/branch-deployments/helm.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/branch-deployments/helm.yaml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/branch-deployments/dagster_cloud.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/deployment/branch-deployments/dagster_cloud.yaml'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/assets.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/repository_v1.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/repository_v1.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/clone_and_drop_db.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/clone_and_drop_db.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/repository_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/repository_v2.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/clone_prod.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/clone_prod.yaml'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/clone_prod.gitlab-ci.yml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/clone_prod.gitlab-ci.yml'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/drop_db_clone.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/drop_db_clone.yaml'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/drop_db_clone.gitlab-ci.yml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/branch_deployments/drop_db_clone.gitlab-ci.yml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-resource.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-resource.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-resource-insights.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-resource-insights.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-dbt-asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-dbt-asset.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-dbt-asset-insights.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/bigquery-dbt-asset-insights.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/dbt_project.yml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/dbt_project.yml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/dbt_project_insights.yml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/google-bigquery/dbt_project_insights.yml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-resource.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-resource.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-resource-insights.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-resource-insights.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-dbt-asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-dbt-asset.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-dbt-asset-insights.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/snowflake-dbt-asset-insights.py'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/dbt_project.yml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/dbt_project.yml'), + 'docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/dbt_project_insights.yml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/dagster-plus/insights/snowflake/dbt_project_insights.yml'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial/etl_tutorial/definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial/etl_tutorial/definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/assets.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/partitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/partitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/schedules.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/schedules.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/sensors.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/sensors.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/etl_tutorial_completed/etl_tutorial/definitions.py'), + 'docs_projects/project_llm_fine_tune/project_llm_fine_tune/assets.py': () => import('!!raw-loader!/../examples/docs_projects/project_llm_fine_tune/project_llm_fine_tune/assets.py'), + 'docs_projects/project_dagster_modal_pipes/project_dagster_modal_pipes/pipeline_factory.py': () => import('!!raw-loader!/../examples/docs_projects/project_dagster_modal_pipes/project_dagster_modal_pipes/pipeline_factory.py'), + 'docs_projects/project_dagster_modal_pipes/project_dagster_modal_pipes/definitions.py': () => import('!!raw-loader!/../examples/docs_projects/project_dagster_modal_pipes/project_dagster_modal_pipes/definitions.py'), + 'docs_projects/project_dagster_modal_pipes/modal_project/transcribe.py': () => import('!!raw-loader!/../examples/docs_projects/project_dagster_modal_pipes/modal_project/transcribe.py'), + 'docs_projects/project_prompt_eng/project_prompt_eng/assets.py': () => import('!!raw-loader!/../examples/docs_projects/project_prompt_eng/project_prompt_eng/assets.py'), + 'docs_projects/project_prompt_eng/project_prompt_eng/resources.py': () => import('!!raw-loader!/../examples/docs_projects/project_prompt_eng/project_prompt_eng/resources.py'), + 'docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/assets/ingestion.py': () => import('!!raw-loader!/../examples/docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/assets/ingestion.py'), + 'docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/definitions.py': () => import('!!raw-loader!/../examples/docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/definitions.py'), + 'docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/assets/retrieval.py': () => import('!!raw-loader!/../examples/docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/assets/retrieval.py'), + 'docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/resources/github.py': () => import('!!raw-loader!/../examples/docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/resources/github.py'), + 'docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/resources/scraper.py': () => import('!!raw-loader!/../examples/docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/resources/scraper.py'), + 'docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/resources/pinecone.py': () => import('!!raw-loader!/../examples/docs_projects/project_ask_ai_dagster/project_ask_ai_dagster/resources/pinecone.py'), + 'docs_beta_snippets/docs_beta_snippets/getting-started/quickstart.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/getting-started/quickstart.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/simple-asset-sensor-example.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/simple-asset-sensor-example.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/asset-sensor-custom-eval.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/asset-sensor-custom-eval.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/asset-sensor-with-config.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/asset-sensor-with-config.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/multi-asset-sensor.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/multi-asset-sensor.py'), + 'docs_snippets/docs_snippets/concepts/declarative_automation/allow_missing_upstreams.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/declarative_automation/allow_missing_upstreams.py'), + 'docs_snippets/docs_snippets/concepts/declarative_automation/update_older_time_partitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/declarative_automation/update_older_time_partitions.py'), + 'docs_snippets/docs_snippets/concepts/declarative_automation/update_specific_older_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/declarative_automation/update_specific_older_partition.py'), + 'docs_snippets/docs_snippets/concepts/declarative_automation/ignore_dependencies_cron.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/declarative_automation/ignore_dependencies_cron.py'), + 'docs_snippets/docs_snippets/concepts/declarative_automation/allow_dependencies_cron.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/declarative_automation/allow_dependencies_cron.py'), + 'docs_snippets/docs_snippets/concepts/declarative_automation/blocking_checks_condition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/declarative_automation/blocking_checks_condition.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/schedules/schedules.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/schedules/schedules.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/schedule_from_partitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/schedule_from_partitions.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/static_partitioned_asset_job.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/static_partitioned_asset_job.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partition_with_timezone.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partition_with_timezone.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/simple-schedule-example.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/simple-schedule-example.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/schedule-with-partition.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/schedule-with-partition.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/schedule-with-partition-ops.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/schedule-with-partition-ops.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/schedules/schedule_examples.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/schedules/schedule_examples.py'), + 'docs_snippets/docs_snippets/concepts/resources/pythonic_resources.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/resources/pythonic_resources.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/simple-sensor-example.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/simple-sensor-example.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/automation/sensor-cursor.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/automation/sensor-cursor.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/sensors/sensors.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/sensors/sensors.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/sensors/run_status_run_requests.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/sensors/run_status_run_requests.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/sensors/sensor_alert.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/sensors/sensor_alert.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-jobs/asset-jobs.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-jobs/asset-jobs.py'), + 'docs_snippets/docs_snippets/concepts/assets/jobs_to_definitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/assets/jobs_to_definitions.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/vanilla_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/vanilla_asset.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/vanilla_asset_with_code_version.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/vanilla_asset_with_code_version.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/vanilla_asset_with_code_version_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/vanilla_asset_with_code_version_v2.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/dependencies_code_version_only.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/dependencies_code_version_only.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/dependencies_code_version_only_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/dependencies_code_version_only_v2.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/manual_data_versions_1.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/manual_data_versions_1.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/manual_data_versions_2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/manual_data_versions_2.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/input_number.txt': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/input_number.txt'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/observable_source_asset_path_with_non_argument_deps.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/observable_source_asset_path_with_non_argument_deps.py'), + 'docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/input_number_v2.txt': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/asset_versioning_and_caching/input_number_v2.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/configuring-assets/config-schema.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/configuring-assets/config-schema.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/python-asset-factory.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/python-asset-factory.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/etl_jobs.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/etl_jobs.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/simple-yaml-asset-factory.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/simple-yaml-asset-factory.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/etl_jobs_with_jinja.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/etl_jobs_with_jinja.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/advanced-yaml-asset-factory.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories/advanced-yaml-asset-factory.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-dependencies/asset-dependencies.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-dependencies/asset-dependencies.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/data-assets/asset_decorator.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/data-assets/asset_decorator.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/data-assets/multi_asset_decorator.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/data-assets/multi_asset_decorator.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/data-assets/graph_asset_decorator.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/data-assets/graph_asset_decorator.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories-with-deps/table_definitions.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories-with-deps/table_definitions.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories-with-deps/asset-factory-with-deps.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories-with-deps/asset-factory-with-deps.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories-with-deps/asset_downstream_of_factory_assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/asset-factories-with-deps/asset_downstream_of_factory_assets.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/external-assets/creating-external-assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/external-assets/creating-external-assets.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/external-assets/pulling-with-sensors.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/external-assets/pulling-with-sensors.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/external-assets/dag-of-external-assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/external-assets/dag-of-external-assets.py'), + 'docs_snippets/docs_snippets/concepts/assets/observations.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/assets/observations.py'), + 'docs_snippets/docs_snippets/concepts/assets/observable_source_assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/assets/observable_source_assets.py'), + 'docs_snippets/docs_snippets/concepts/metadata-tags/asset_column_lineage.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/metadata-tags/asset_column_lineage.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/owners.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/owners.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/tags.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/tags.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/definition-metadata.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/definition-metadata.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/runtime-metadata.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/runtime-metadata.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/table-schema-metadata.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/table-schema-metadata.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/table-column-lineage-metadata.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/table-column-lineage-metadata.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/python-local-references.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/python-local-references.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/custom-local-references.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/custom-local-references.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/plus-references.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/plus-references.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/oss-references.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/metadata/oss-references.py'), + 'docs_snippets/docs_snippets/concepts/metadata-tags/asset_kinds.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/metadata-tags/asset_kinds.py'), + 'docs_snippets/docs_snippets/concepts/metadata-tags/asset_kinds_multi.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/metadata-tags/asset_kinds_multi.py'), + 'docs_snippets/docs_snippets/concepts/metadata-tags/asset_column_schema.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/metadata-tags/asset_column_schema.py'), + 'docs_snippets/docs_snippets/concepts/metadata-tags/asset_row_count.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/metadata-tags/asset_row_count.py'), + 'docs_snippets/docs_snippets/concepts/metadata-tags/schema_change_checks.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/metadata-tags/schema_change_checks.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-explicit.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-explicit.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-io-manager.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-io-manager.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-avoid.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-avoid.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-rewrite-assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/passing-data-assets/passing-data-rewrite-assets.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/ecs/task.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/ecs/task.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/ecs/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/ecs/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-containers/Dockerfile': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-containers/Dockerfile'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-containers/script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-containers/script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-containers/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-containers/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr/script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr/script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-serverless/script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-serverless/script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-serverless/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/emr-serverless/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/glue/glue_script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/glue/glue_script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/glue/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/glue/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/lambda/lambda_function.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/lambda/lambda_function.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/lambda/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/lambda/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/session_lifecycle_orchestration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/session_lifecycle_orchestration.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/session_lifecycle_external.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/session_lifecycle_external.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_bootstrap_loader.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_bootstrap_loader.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_context_injector.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_context_injector.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_context_loader.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_context_loader.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_message_reader.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_message_reader.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_message_writer.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/dagster_pipes_details_and_customization/custom_message_writer.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_asset_client.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_asset_client.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_script_existing.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_script_existing.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_asset_open_pipes_session.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/databricks/databricks_asset_open_pipes_session.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/gcp/dataproc_job/script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/gcp/dataproc_job/script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/gcp/dataproc_job/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/gcp/dataproc_job/dagster_code.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/pipes/external_code_opaque.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/pipes/external_code_opaque.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/pipes/asset_wrapper.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/pipes/asset_wrapper.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/pipes/external_code_data_passing.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/pipes/external_code_data_passing.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-contrived-javascript.js': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-contrived-javascript.js'), + 'docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-asset.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-javascript-utility.js': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-javascript-utility.js'), + 'docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-full-featured-javascript.js': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-full-featured-javascript.js'), + 'docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-asset-with-context.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/non-python/pipes-asset-with-context.py'), + 'docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/old_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/old_code.py'), + 'docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/upstream_asset_script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/upstream_asset_script.py'), + 'docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/utils.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/utils.py'), + 'docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/new_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/new_code.py'), + 'docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/downstream_asset_script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/migrations/from_step_launchers_to_pipes/downstream_asset_script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/pyspark/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/pyspark/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/pyspark/script.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/pyspark/script.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/pyspark/docker-compose.yml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/pyspark/docker-compose.yml'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_1/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_1/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_1/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_1/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_1/dagster_code_finished.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_1/dagster_code_finished.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_1/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_1/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_2/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_2/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_3_materialization/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_3_materialization/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess//part_2/step_3_check/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess//part_2/step_3_check/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_3_check/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_3_check/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_3_check/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/part_2/step_3_check/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_extras_env/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_extras_env/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_extras_env/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_extras_env/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_asset_check/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_asset_check/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_asset_check/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_asset_check/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_multi_asset/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_multi_asset/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_multi_asset/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/with_multi_asset/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/custom_messages/external_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/custom_messages/external_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/custom_messages/dagster_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/custom_messages/dagster_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/url_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/url_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/path_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/path_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/notebook_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/notebook_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/json_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/json_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/markdown_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/markdown_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/table_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/table_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/table_schema_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/table_schema_metadata.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/table_column_lineage.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/table_column_lineage.py'), + 'docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/timestamp_metadata.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/dagster_pipes/subprocess/rich_metadata/timestamp_metadata.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/minimal_resource.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/minimal_resource.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/use_minimal_resource_in_asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/use_minimal_resource_in_asset.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/use_configurable_resource_in_asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/use_configurable_resource_in_asset.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/env_var_configuration.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/apis/env_var_configuration.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/databases/snowflake-resource.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/databases/snowflake-resource.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/databases/use-in-asset.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/databases/use-in-asset.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/databases/use-envvars.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/databases/use-envvars.py'), + 'docs_snippets/docs_snippets/concepts/io_management/custom_io_manager.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/io_management/custom_io_manager.py'), + 'docs_snippets/docs_snippets/concepts/io_management/loading_multiple_upstream_partitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/io_management/loading_multiple_upstream_partitions.py'), + 'docs_snippets/docs_snippets/concepts/io_management/input_managers.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/io_management/input_managers.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/assets-without-io-managers.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/assets-without-io-managers.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/assets-with-io-managers.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/assets-with-io-managers.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/external-systems/assets-with-snowflake-io-manager.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/external-systems/assets-with-snowflake-io-manager.py'), + 'docs_snippets/docs_snippets/guides/dagster/managing_ml/managing_ml_code.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/managing_ml/managing_ml_code.py'), + 'docs_snippets/docs_snippets/guides/dagster/ml_pipelines/ml_pipeline.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/ml_pipelines/ml_pipeline.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/backfills/single_run_backfill_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/backfills/single_run_backfill_asset.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partitioned_asset_mappings.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partitioned_asset_mappings.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partition_mapping.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partition_mapping.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/time_based_partitioning.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/time_based_partitioning.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/time_based_partition_dependencies.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/time_based_partition_dependencies.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/static_partitioning.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/static_partitioning.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/two_dimensional_partitioning.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/two_dimensional_partitioning.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/dynamic_partitioning.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-modeling/partitioning/dynamic_partitioning.py'), + 'docs_snippets/docs_snippets/deploying/dagster_instance/dagster.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/dagster_instance/dagster.yaml'), + 'docs_snippets/docs_snippets/deploying/dagster-pg.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/dagster-pg.yaml'), + 'docs_snippets/docs_snippets/deploying/aws/io_manager.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/aws/io_manager.py'), + 'docs_snippets/docs_snippets/deploying/aws/io_manager.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/aws/io_manager.yaml'), + 'docs_snippets/docs_snippets/deploying/dask_hello_world.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/dask_hello_world.py'), + 'docs_snippets/docs_snippets/deploying/dask_hello_world.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/dask_hello_world.yaml'), + 'docs_snippets/docs_snippets/deploying/dask_hello_world_distributed.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/dask_hello_world_distributed.py'), + 'docs_snippets/docs_snippets/deploying/dask_remote.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/dask_remote.yaml'), + 'docs_snippets/docs_snippets/deploying/gcp/gcp_job.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/gcp/gcp_job.py'), + 'docs_snippets/docs_snippets/deploying/kubernetes/run_k8s_config.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/kubernetes/run_k8s_config.yaml'), + 'docs_snippets/docs_snippets/deploying/kubernetes/k8s_config_tag_job.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/kubernetes/k8s_config_tag_job.py'), + 'docs_snippets/docs_snippets/deploying/kubernetes/step_k8s_config.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/kubernetes/step_k8s_config.py'), + 'docs_snippets/docs_snippets/deploying/kubernetes/k8s_config_tag_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/kubernetes/k8s_config_tag_asset.py'), + 'docs_snippets/docs_snippets/deploying/kubernetes/k8s_config_tag_op.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/kubernetes/k8s_config_tag_op.py'), + 'docs_snippets/docs_snippets/deploying/kubernetes/ttl_config_job.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/kubernetes/ttl_config_job.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/deployment/kubernetes/Dockerfile': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/deployment/kubernetes/Dockerfile'), + 'docs_beta_snippets/docs_beta_snippets/guides/deployment/kubernetes/minimal_values.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/deployment/kubernetes/minimal_values.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/tbd/definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tbd/definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tbd/pyproject.toml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tbd/pyproject.toml'), + 'docs_beta_snippets/docs_beta_snippets/guides/tbd/dagster.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tbd/dagster.yaml'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/repository/repository_v1.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/repository/repository_v1.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/repository/repository_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/repository/repository_v2.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/repository/repository_v3.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/repository/repository_v3.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/resources/resources_v1.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/resources/resources_v1.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/assets_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/assets_v2.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/resources/resources_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/resources/resources_v2.py'), + 'docs_snippets/docs_snippets/guides/dagster/development_to_production/test_assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/development_to_production/test_assets.py'), + 'docs_snippets/docs_snippets/deploying/celery_job.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/celery_job.py'), + 'docs_snippets/docs_snippets/deploying/concurrency_limits/concurrency_limits.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/concurrency_limits/concurrency_limits.py'), + 'docs_snippets/docs_snippets/deploying/monitoring_daemon/run_timeouts.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/monitoring_daemon/run_timeouts.py'), + 'docs_snippets/docs_snippets/deploying/job_retries.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/job_retries.py'), + 'docs_snippets/docs_snippets/guides/dagster/using_environment_variables_and_secrets/repository.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/using_environment_variables_and_secrets/repository.py'), + 'docs_snippets/docs_snippets/guides/dagster/using_environment_variables_and_secrets/repository_v2.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/using_environment_variables_and_secrets/repository_v2.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/1-dg-scaffold-shell-command.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/1-dg-scaffold-shell-command.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-config-schema.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-config-schema.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-class-defined.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-class-defined.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-build-defs.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-build-defs.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/3-dg-list-component-types.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/3-dg-list-component-types.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/4-dg-component-type-docs.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/4-dg-component-type-docs.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-custom-scope.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/shell-script-component/with-custom-scope.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/1-tree.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/1-tree.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/3-uv-venv.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/3-uv-venv.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/4-uv-freeze.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/4-uv-freeze.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/2-pyproject.toml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/2-pyproject.toml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/5-mkdir-components.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/5-mkdir-components.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/6-initial-definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/6-initial-definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/7-updated-definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/existing-project/7-updated-definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/1-help.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/1-help.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/2-scaffold.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/2-scaffold.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/3-tree.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/3-tree.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/4-pyproject.toml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/4-pyproject.toml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/5-definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/5-definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/6-pyproject.toml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/6-pyproject.toml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/7-dg-list-component-types.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/7-dg-list-component-types.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/8-dg-list-component-types.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/8-dg-list-component-types.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/9-dg-scaffold-sling-replication.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/9-dg-scaffold-sling-replication.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/10-tree-jaffle-platform.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/10-tree-jaffle-platform.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/11-component.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/11-component.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/12-sling-setup-duckdb.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/12-sling-setup-duckdb.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/13-sling-test-duckdb.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/13-sling-test-duckdb.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/14-curl.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/14-curl.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/15-replication.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/15-replication.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/16-duckdb-select.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/16-duckdb-select.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/17-jaffle-clone.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/17-jaffle-clone.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/18-dg-list-component-types.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/18-dg-list-component-types.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/19-dg-component-type-info.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/19-dg-component-type-info.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/20-dg-scaffold-jdbt.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/20-dg-scaffold-jdbt.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/21-component-jdbt.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/21-component-jdbt.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/22-project-jdbt-incorrect.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/22-project-jdbt-incorrect.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/23-dg-component-check-error.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/23-dg-component-check-error.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/24-project-jdbt.yaml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/24-project-jdbt.yaml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/25-dg-component-check.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/25-dg-component-check.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/index/26-duckdb-select-orders.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/index/26-duckdb-select-orders.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/1-tree.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/1-tree.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/2-definitions-before.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/2-definitions-before.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/3-scaffold.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/3-scaffold.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/4-mv.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/4-mv.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/5-elt-nested-definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/5-elt-nested-definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/6-component-yaml.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/6-component-yaml.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/7-definitions-after.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/7-definitions-after.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/8-tree-after.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/8-tree-after.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/9-tree-after-all.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/9-tree-after-all.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/10-definitions-after-all.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/migrating-definitions/10-definitions-after-all.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/1-deployment-scaffold.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/1-deployment-scaffold.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/2-tree.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/2-tree.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/3-pyproject.toml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/3-pyproject.toml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/4-code-location-scaffold.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/4-code-location-scaffold.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/5-tree.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/5-tree.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/6-code-location-pyproject.toml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/6-code-location-pyproject.toml'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/7-component-type-list.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/7-component-type-list.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/8-component-type-list.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/8-component-type-list.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/9-code-location-scaffold.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/9-code-location-scaffold.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/10-code-location-list.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/10-code-location-list.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/deployments/11-component-type-list.txt': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/deployments/11-component-type-list.txt'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/python-components/component.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/python-components/component.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/basic-subclass.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/basic-subclass.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/debug-mode.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/debug-mode.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/custom-scope.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/components/custom-subclass/custom-scope.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/monitor-alert/custom-logging/asset-job-example.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/monitor-alert/custom-logging/asset-job-example.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/monitor-alert/custom-logging/ops-job-example.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/monitor-alert/custom-logging/ops-job-example.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/monitor-alert/custom-logging/customlogger.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/monitor-alert/custom-logging/customlogger.py'), + 'docs_snippets/docs_snippets/concepts/logging/config.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/config.yaml'), + 'docs_snippets/docs_snippets/concepts/logging/python_logger.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/python_logger.py'), + 'docs_snippets/docs_snippets/concepts/logging/python_logging_managed_loggers_config.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/python_logging_managed_loggers_config.yaml'), + 'docs_snippets/docs_snippets/concepts/logging/python_logging_python_log_level_config.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/python_logging_python_log_level_config.yaml'), + 'docs_snippets/docs_snippets/concepts/logging/python_logging_handler_config.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/python_logging_handler_config.yaml'), + 'docs_snippets/docs_snippets/concepts/logging/python_logging_file_output_config.yaml': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/python_logging_file_output_config.yaml'), + 'docs_snippets/docs_snippets/concepts/logging/file_output_pipeline.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/logging/file_output_pipeline.py'), + 'docs_snippets/docs_snippets/guides/dagster/pythonic_config/pythonic_config.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/pythonic_config/pythonic_config.py'), + 'docs_snippets/docs_snippets/concepts/webserver/graphql/client_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/webserver/graphql/client_example.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/operate/concurrency-pool-api.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/operate/concurrency-pool-api.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/operate/concurrency-no-more-than-1-job.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/operate/concurrency-no-more-than-1-job.py'), + 'docs_snippets/docs_snippets/deploying/executors/executors.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/deploying/executors/executors.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/single-asset-check.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/single-asset-check.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/multiple-asset-checks.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/multiple-asset-checks.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/asset-checks-factory.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/asset-checks-factory.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/block-downstream-with-asset-checks.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/block-downstream-with-asset-checks.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/asset-checks-with-schedule-and-sensor.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/asset-checks/asset-checks-with-schedule-and-sensor.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/freshness-checks/materializable-asset-freshness-check.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/freshness-checks/materializable-asset-freshness-check.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/freshness-checks/external-asset-freshness-check.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/freshness-checks/external-asset-freshness-check.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/freshness-checks/anomaly-detection.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/data-assets/quality-testing/freshness-checks/anomaly-detection.py'), + 'docs_snippets/docs_snippets/concepts/assets/asset_checks/subset_multi_asset_check.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/assets/asset_checks/subset_multi_asset_check.py'), + 'docs_snippets/docs_snippets/concepts/assets/asset_checks/subset_check_multi_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/assets/asset_checks/subset_check_multi_asset.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partitioned_config_test.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partitioned_config_test.py'), + 'docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partitioned_job_test.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/concepts/partitions_schedules_sensors/partitioned_job_test.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-no-argument.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-no-argument.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-dependency.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-dependency.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-config.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-config.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-resource.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-resource.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-context.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-context.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-combo.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/quality-testing/unit-testing-assets-and-ops/asset-combo.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/tutorials/multi-asset-integration/integration.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/tutorials/multi-asset-integration/integration.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/representing_airbyte_cloud_assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/representing_airbyte_cloud_assets.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/sync_and_materialize_airbyte_cloud_assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/sync_and_materialize_airbyte_cloud_assets.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/customize_airbyte_cloud_asset_defs.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/customize_airbyte_cloud_asset_defs.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/customize_airbyte_cloud_translator_asset_spec.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/customize_airbyte_cloud_translator_asset_spec.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/multiple_airbyte_cloud_workspaces.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/airbyte_cloud/multiple_airbyte_cloud_workspaces.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/airbyte.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/airbyte.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/standalone.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/standalone.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe_dag_level.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe_dag_level.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/migrate_dag_level.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/migrate_dag_level.py'), + 'airlift-migration-tutorial/tutorial_example/snippets/rebuild_customers_list.yaml': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/rebuild_customers_list.yaml'), + 'airlift-migration-tutorial/tutorial_example/snippets/dags_truncated.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/dags_truncated.py'), + 'airlift-migration-tutorial/tutorial_example/airflow_dags/proxied_state/rebuild_customers_list.yaml': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/airflow_dags/proxied_state/rebuild_customers_list.yaml'), + 'airlift-migration-tutorial/tutorial_example/snippets/dbt_proxied.yaml': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/dbt_proxied.yaml'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/migrate.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/migrate.py'), + 'airlift-migration-tutorial/tutorial_example/snippets/all_proxied.yaml': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/all_proxied.yaml'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe_check_on_asset.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe_check_on_asset.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe_with_partitions.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/observe_with_partitions.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/peer.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/peer.py'), + 'airlift-migration-tutorial/tutorial_example/dagster_defs/stages/peer_with_check.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/dagster_defs/stages/peer_with_check.py'), + 'airlift-migration-tutorial/tutorial_example/snippets/custom_operator_examples/custom_proxy.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/custom_operator_examples/custom_proxy.py'), + 'airlift-migration-tutorial/tutorial_example/snippets/custom_operator_examples/plus_proxy_operator.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/custom_operator_examples/plus_proxy_operator.py'), + 'airlift-migration-tutorial/tutorial_example/snippets/custom_operator_examples/custom_dag_level_proxy.py': () => import('!!raw-loader!/../examples/airlift-migration-tutorial/tutorial_example/snippets/custom_operator_examples/custom_dag_level_proxy.py'), + 'airlift-federation-tutorial/snippets/federated_execution.py': () => import('!!raw-loader!/../examples/airlift-federation-tutorial/snippets/federated_execution.py'), + 'airlift-federation-tutorial/airlift_federation_tutorial/dagster_defs/stages/executable_and_da.py': () => import('!!raw-loader!/../examples/airlift-federation-tutorial/airlift_federation_tutorial/dagster_defs/stages/executable_and_da.py'), + 'airlift-federation-tutorial/snippets/observe.py': () => import('!!raw-loader!/../examples/airlift-federation-tutorial/snippets/observe.py'), + 'airlift-federation-tutorial/airlift_federation_tutorial/dagster_defs/stages/observe_complete.py': () => import('!!raw-loader!/../examples/airlift-federation-tutorial/airlift_federation_tutorial/dagster_defs/stages/observe_complete.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/bash_operator_dbt.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/bash_operator_dbt.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/using_dbt_assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/using_dbt_assets.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/bash_operator_general.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/bash_operator_general.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/using_pipes_subprocess.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/using_pipes_subprocess.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/kubernetes_pod_operator.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/kubernetes_pod_operator.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/using_k8s_pipes.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/using_k8s_pipes.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/k8s_eks_fake_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/k8s_eks_fake_example.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/python_operator.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/python_operator.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/pyop_multi_asset_complete.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/pyop_multi_asset_complete.py'), + 'docs_snippets/docs_snippets/integrations/airlift/operator_migration/pyop_asset_shared.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/airlift/operator_migration/pyop_asset_shared.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/anthropic.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/anthropic.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-athena.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-athena.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-cloudwatch.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-cloudwatch.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-ecr.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-ecr.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-emr.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-emr.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-glue.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-glue.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-lambda.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-lambda.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-redshift.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-redshift.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-s3.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-s3.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-secretsmanager.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-secretsmanager.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/aws-ssm.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/aws-ssm.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/azure-adls2.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/azure-adls2.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/census.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/census.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/chroma.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/chroma.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/cube.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/cube.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/databricks/dagster_code.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/databricks/dagster_code.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/databricks/databricks_code.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/databricks/databricks_code.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/datadog.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/datadog.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/dbt_cloud.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/dbt_cloud.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/dbt.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/dbt.py'), + 'docs_snippets/docs_snippets/integrations/dbt/dbt.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/dbt.py'), + 'docs_snippets/docs_snippets/guides/dagster/code_references/with_dbt_code_references.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/guides/dagster/code_references/with_dbt_code_references.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions_with_upstream.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions_with_upstream.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/basic-dbt-project/models/example/customers.sql': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/basic-dbt-project/models/example/customers.sql'), + 'docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/basic-dbt-project/models/example/_source.yml': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/basic-dbt-project/models/example/_source.yml'), + 'docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions_with_downstream.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions_with_downstream.py'), + 'docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions_with_schedule.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/guides/etl/transform-dbt/dbt_definitions_with_schedule.py'), + 'docs_snippets/docs_snippets/integrations/dbt/tutorial/downstream_assets/assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/tutorial/downstream_assets/assets.py'), + 'docs_snippets/docs_snippets/integrations/dbt/tutorial/downstream_assets/definitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/tutorial/downstream_assets/definitions.py'), + 'docs_snippets/docs_snippets/integrations/dbt/tutorial/load_dbt_models/project.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/tutorial/load_dbt_models/project.py'), + 'docs_snippets/docs_snippets/integrations/dbt/tutorial/load_dbt_models/assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/tutorial/load_dbt_models/assets.py'), + 'docs_snippets/docs_snippets/integrations/dbt/tutorial/upstream_assets/assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/tutorial/upstream_assets/assets.py'), + 'docs_snippets/docs_snippets/integrations/dbt/tutorial/upstream_assets/definitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dbt/tutorial/upstream_assets/definitions.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/downstream_columns.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/downstream_columns.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/static_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/static_partition.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/time_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/time_partition.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/multi_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/multi_partition.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/schema.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/schema.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/multiple_io_managers.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/multiple_io_managers.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/pyarrow_configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/pyarrow_configuration.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/configuration.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/basic_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/basic_example.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/source_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/source_asset.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/load_downstream.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/load_downstream.py'), + 'docs_snippets/docs_snippets/integrations/deltalake/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/deltalake/full_example.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/dlt.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/dlt.py'), + 'docs_snippets/docs_snippets/integrations/dlt/dlt_dagster_translator.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dlt/dlt_dagster_translator.py'), + 'docs_snippets/docs_snippets/integrations/dlt/dlt_source_assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dlt/dlt_source_assets.py'), + 'docs_snippets/docs_snippets/integrations/dlt/dlt_partitions.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dlt/dlt_partitions.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/docker.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/docker.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/duckdb.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/duckdb.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/resource.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/downstream_columns.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/downstream_columns.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/static_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/static_partition.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/time_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/time_partition.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/multi_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/multi_partition.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/schema.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/schema.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/multiple_io_managers.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/multiple_io_managers.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/pyspark_configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/pyspark_configuration.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/pyspark_with_spark_resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/pyspark_with_spark_resource.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/pyspark_with_spark_session.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/pyspark_with_spark_session.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/polars_configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/polars_configuration.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/reference/multiple_dataframe_types.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/reference/multiple_dataframe_types.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/configuration.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/create_table.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/create_table.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/source_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/source_asset.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/downstream.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/downstream.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/resource/full_example.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/configuration.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/basic_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/basic_example.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/load_downstream.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/load_downstream.py'), + 'docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/duckdb/tutorial/io_manager/full_example.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/fivetran/representing_fivetran_assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/fivetran/representing_fivetran_assets.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/fivetran/sync_and_materialize_fivetran_assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/fivetran/sync_and_materialize_fivetran_assets.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/fivetran/customize_fivetran_asset_defs.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/fivetran/customize_fivetran_asset_defs.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/fivetran/customize_fivetran_translator_asset_spec.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/fivetran/customize_fivetran_translator_asset_spec.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/fivetran/fetch_column_metadata_fivetran_assets.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/fivetran/fetch_column_metadata_fivetran_assets.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/fivetran/multiple_fivetran_workspaces.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/fivetran/multiple_fivetran_workspaces.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/gcp-bigquery.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/gcp-bigquery.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/config_auth.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/config_auth.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/downstream_columns.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/downstream_columns.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/static_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/static_partition.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/time_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/time_partition.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/multi_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/multi_partition.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/dataset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/dataset.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/multiple_io_managers.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/multiple_io_managers.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/pyspark_configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/pyspark_configuration.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/pyspark_with_spark_resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/pyspark_with_spark_resource.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/pyspark_with_spark_session.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/pyspark_with_spark_session.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/pandas_and_pyspark.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/pandas_and_pyspark.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/reference/resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/reference/resource.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/configuration.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/create_table.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/create_table.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/source_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/source_asset.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/downstream.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/downstream.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/resource/full_example.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/configuration.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/basic_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/basic_example.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/source_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/source_asset.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/load_downstream.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/load_downstream.py'), + 'docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/bigquery/tutorial/io_manager/full_example.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/gcp-dataproc.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/gcp-dataproc.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/gcp-gcs.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/gcp-gcs.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/gemini.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/gemini.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/github.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/github.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/hashicorp.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/hashicorp.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/hightouch.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/hightouch.py'), + 'docs_snippets/docs_snippets/integrations/dagstermill/iris_notebook_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dagstermill/iris_notebook_asset.py'), + 'docs_snippets/docs_snippets/integrations/dagstermill/iris_notebook_op.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dagstermill/iris_notebook_op.py'), + 'docs_snippets/docs_snippets/integrations/dagstermill/iris_notebook_config.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dagstermill/iris_notebook_config.py'), + 'docs_snippets/docs_snippets/integrations/dagstermill/notebook_outputs.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/dagstermill/notebook_outputs.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/kubernetes.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/kubernetes.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/lakefs.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/lakefs.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/looker/asset_graph.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/looker/asset_graph.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/looker/asset_graph_filtered.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/looker/asset_graph_filtered.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/looker/asset_metadata.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/looker/asset_metadata.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/looker/pdts.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/looker/pdts.py'), + 'docs_snippets/docs_snippets/integrations/looker/representing-looker-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/looker/representing-looker-assets.py'), + 'docs_snippets/docs_snippets/integrations/looker/filtering-looker-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/looker/filtering-looker-assets.py'), + 'docs_snippets/docs_snippets/integrations/looker/customize-looker-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/looker/customize-looker-assets.py'), + 'docs_snippets/docs_snippets/integrations/looker/materializing-looker-pdts.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/looker/materializing-looker-pdts.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/meltano.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/meltano.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/microsoft-teams.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/microsoft-teams.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/openai.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/openai.py'), + 'docs_snippets/docs_snippets/integrations/openai/resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/openai/resource.py'), + 'docs_snippets/docs_snippets/integrations/openai/assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/openai/assets.py'), + 'docs_snippets/docs_snippets/integrations/openai/ops.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/openai/ops.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/pagerduty.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/pagerduty.py'), + 'docs_snippets/docs_snippets/legacy/dagster_pandas_guide/core_trip.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/legacy/dagster_pandas_guide/core_trip.py'), + 'docs_snippets/docs_snippets/legacy/dagster_pandas_guide/shape_constrained_trip.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/legacy/dagster_pandas_guide/shape_constrained_trip.py'), + 'docs_snippets/docs_snippets/legacy/dagster_pandas_guide/summary_stats.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/legacy/dagster_pandas_guide/summary_stats.py'), + 'docs_snippets/docs_snippets/legacy/dagster_pandas_guide/custom_column_constraint.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/legacy/dagster_pandas_guide/custom_column_constraint.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/pandera.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/pandera.py'), + 'docs_snippets/docs_snippets/integrations/pandera/example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/pandera/example.py'), + 'docs_snippets/docs_snippets/integrations/power-bi/representing-power-bi-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/power-bi/representing-power-bi-assets.py'), + 'docs_snippets/docs_snippets/integrations/power-bi/customize-power-bi-asset-defs.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/power-bi/customize-power-bi-asset-defs.py'), + 'docs_snippets/docs_snippets/integrations/power-bi/multiple-power-bi-workspaces.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/power-bi/multiple-power-bi-workspaces.py'), + 'docs_snippets/docs_snippets/integrations/power-bi/materialize-semantic-models.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/power-bi/materialize-semantic-models.py'), + 'docs_snippets/docs_snippets/integrations/power-bi/materialize-semantic-models-advanced.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/power-bi/materialize-semantic-models-advanced.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/prometheus.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/prometheus.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/sdf.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/sdf.py'), + 'docs_snippets/docs_snippets/integrations/sigma/representing-sigma-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/sigma/representing-sigma-assets.py'), + 'docs_snippets/docs_snippets/integrations/sigma/filtering-sigma-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/sigma/filtering-sigma-assets.py'), + 'docs_snippets/docs_snippets/integrations/sigma/customize-sigma-asset-defs.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/sigma/customize-sigma-asset-defs.py'), + 'docs_snippets/docs_snippets/integrations/sigma/multiple-sigma-organizations.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/sigma/multiple-sigma-organizations.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/slack.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/slack.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/sling.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/sling.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/snowflake.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/snowflake.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/private_key_auth_resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/private_key_auth_resource.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/private_key_auth_io_manager.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/private_key_auth_io_manager.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/resource.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/downstream_columns.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/downstream_columns.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/static_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/static_partition.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/time_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/time_partition.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/multi_partition.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/multi_partition.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/schema.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/schema.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/multiple_io_managers.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/multiple_io_managers.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/pyspark_configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/pyspark_configuration.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/pyspark_with_spark_resource.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/pyspark_with_spark_resource.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/pyspark_with_spark_session.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/pyspark_with_spark_session.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/pandas_and_pyspark.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/pandas_and_pyspark.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/configuration.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/configuration.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/create_table.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/create_table.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/source_asset.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/source_asset.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/downstream.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/downstream.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/io_manager_tutorial/full_example.py'), + 'docs_snippets/docs_snippets/integrations/snowflake/resource_tutorial/full_example.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/snowflake/resource_tutorial/full_example.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/ssh-sftp.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/ssh-sftp.py'), + 'docs_snippets/docs_snippets/integrations/tableau/representing-tableau-cloud-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/representing-tableau-cloud-assets.py'), + 'docs_snippets/docs_snippets/integrations/tableau/representing-tableau-server-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/representing-tableau-server-assets.py'), + 'docs_snippets/docs_snippets/integrations/tableau/customize-tableau-asset-defs.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/customize-tableau-asset-defs.py'), + 'docs_snippets/docs_snippets/integrations/tableau/multiple-tableau-workspaces.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/multiple-tableau-workspaces.py'), + 'docs_snippets/docs_snippets/integrations/tableau/refresh-and-materialize-tableau-assets.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/refresh-and-materialize-tableau-assets.py'), + 'docs_snippets/docs_snippets/integrations/tableau/add-tableau-data-quality-warning.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/add-tableau-data-quality-warning.py'), + 'docs_snippets/docs_snippets/integrations/tableau/materialize-tableau-assets-advanced.py': () => import('!!raw-loader!/../examples/docs_snippets/docs_snippets/integrations/tableau/materialize-tableau-assets-advanced.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/twilio.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/twilio.py'), + 'docs_beta_snippets/docs_beta_snippets/integrations/weaviate.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/integrations/weaviate.py'), + 'docs_beta_snippets/docs_beta_snippets/getting-started/hello-world.py': () => import('!!raw-loader!/../examples/docs_beta_snippets/docs_beta_snippets/getting-started/hello-world.py'), +}; + +/// THIS FILE IS AUTOMATICALLY GENERATED BY `yarn generate-code-imports` DO NOT MODIFY /// diff --git a/docs/static/images/guides/build/projects-and-components/components/component-type-docs.png b/docs/static/images/guides/build/projects-and-components/components/component-type-docs.png index 83cb5558c753bc89b7b18c769b323efaba5be2b9..bcd9a1cde07aa626e789c9f7ecc677cc27e801b8 100644 GIT binary patch delta 58952 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 delta 59900 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", +] + +[build-system] +requires = ["setuptools"] +build-backend = "setuptools.build_meta" + +[tool.dg] +is_code_location = true + +[tool.dagster] +module_name = "my_existing_project.definitions" +code_location_name = "my_existing_project" + +[tool.setuptools.packages.find] +exclude=["my_existing_project_tests"] diff --git a/examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/test_migrating_definitions.py b/examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/test_migrating_definitions.py new file mode 100644 index 0000000000000..37820471e2cda --- /dev/null +++ b/examples/docs_beta_snippets/docs_beta_snippets_tests/snippet_checks/guides/components/test_components_docs_migrating_definitions/test_migrating_definitions.py @@ -0,0 +1,228 @@ +import os +from pathlib import Path +from tempfile import TemporaryDirectory + +from dagster._utils.env import environ +from docs_beta_snippets_tests.snippet_checks.guides.components.utils import ( + DAGSTER_ROOT, + EDITABLE_DIR, +) +from docs_beta_snippets_tests.snippet_checks.utils import ( + _run_command, + check_file, + compare_tree_output, + create_file, + run_command_and_snippet_output, +) + +MASK_MY_EXISTING_PROJECT = (r" \/.*?\/my-existing-project", " /.../my-existing-project") + + +COMPONENTS_SNIPPETS_DIR = ( + DAGSTER_ROOT + / "examples" + / "docs_beta_snippets" + / "docs_beta_snippets" + / "guides" + / "components" + / "migrating-definitions" +) + + +MY_EXISTING_PROJECT = Path(__file__).parent / "my-existing-project" + + +def test_components_docs_migrating_definitions(update_snippets: bool) -> None: + snip_no = 0 + + def next_snip_no(): + nonlocal snip_no + snip_no += 1 + return snip_no + + with ( + TemporaryDirectory() as tempdir, + environ( + { + "COLUMNS": "90", + "NO_COLOR": "1", + "HOME": "/tmp", + "DAGSTER_GIT_REPO_DIR": str(DAGSTER_ROOT), + "VIRTUAL_ENV": "", + } + ), + ): + os.chdir(tempdir) + + _run_command(f"cp -r {MY_EXISTING_PROJECT} . && cd my-existing-project") + _run_command(r"find . -type d -name __pycache__ -exec rm -r {} \+") + _run_command( + r"find . -type d -name my_existing_project.egg-info -exec rm -r {} \+" + ) + _run_command("mkdir -p my_existing_project/components") + + run_command_and_snippet_output( + cmd="tree", + snippet_path=COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-tree.txt", + update_snippets=update_snippets, + custom_comparison_fn=compare_tree_output, + ) + + check_file( + Path("my_existing_project") / "definitions.py", + COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-definitions-before.py", + update_snippets=update_snippets, + ) + + _run_command(cmd="uv venv") + _run_command(cmd="uv sync") + _run_command( + f"uv add --editable '{EDITABLE_DIR / 'dagster-components'!s}' '{DAGSTER_ROOT / 'python_modules' / 'dagster'!s}' '{DAGSTER_ROOT / 'python_modules' / 'dagster-webserver'!s}'" + ) + + run_command_and_snippet_output( + cmd="dg component scaffold 'definitions@dagster_components' elt-definitions", + snippet_path=COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-scaffold.txt", + update_snippets=update_snippets, + snippet_replace_regex=[MASK_MY_EXISTING_PROJECT], + ) + + run_command_and_snippet_output( + cmd="mv my_existing_project/elt/* my_existing_project/components/elt-definitions && rm -rf my_existing_project/elt", + snippet_path=COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-mv.txt", + update_snippets=update_snippets, + ) + + create_file( + Path("my_existing_project") + / "components" + / "elt-definitions" + / "definitions.py", + """import dagster as dg + +from . import assets +from .jobs import sync_tables_daily_schedule, sync_tables_job + +defs = dg.Definitions( + assets=dg.load_assets_from_modules([assets]), + jobs=[sync_tables_job], + schedules=[sync_tables_daily_schedule], +) +""", + COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-elt-nested-definitions.py", + ) + + create_file( + Path("my_existing_project") + / "components" + / "elt-definitions" + / "component.yaml", + """type: definitions@dagster_components + +params: + definitions_path: definitions.py +""", + COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-component-yaml.txt", + ) + + create_file( + Path("my_existing_project") / "definitions.py", + """from pathlib import Path + +import dagster_components as dg_components +from my_existing_project.analytics import assets as analytics_assets +from my_existing_project.analytics.jobs import ( + regenerate_analytics_hourly_schedule, + regenerate_analytics_job, +) + +import dagster as dg + +defs = dg.Definitions.merge( + dg.Definitions( + assets=dg.load_assets_from_modules([analytics_assets]), + jobs=[regenerate_analytics_job], + schedules=[regenerate_analytics_hourly_schedule], + ), + dg_components.build_component_defs(Path(__file__).parent / "components"), +) + +""", + COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-definitions-after.py", + ) + + _run_command(r"find . -type d -name __pycache__ -exec rm -r {} \+") + _run_command( + r"find . -type d -name my_existing_project.egg-info -exec rm -r {} \+" + ) + + run_command_and_snippet_output( + cmd="tree", + snippet_path=COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-tree-after.txt", + update_snippets=update_snippets, + custom_comparison_fn=compare_tree_output, + ) + + # validate loads + _run_command( + "uv run dagster asset materialize --select '*' -m 'my_existing_project.definitions'" + ) + + # migrate analytics + _run_command( + cmd="dg component scaffold 'definitions@dagster_components' analytics-definitions", + ) + _run_command( + cmd="mv my_existing_project/analytics/* my_existing_project/components/analytics-definitions && rm -rf my_existing_project/analytics", + ) + create_file( + Path("my_existing_project") + / "components" + / "analytics-definitions" + / "definitions.py", + """import dagster as dg + +from . import assets +from .jobs import regenerate_analytics_hourly_schedule, regenerate_analytics_job + +defs = dg.Definitions( + assets=dg.load_assets_from_modules([assets]), + jobs=[regenerate_analytics_job], + schedules=[regenerate_analytics_hourly_schedule], +) +""", + ) + create_file( + Path("my_existing_project") + / "components" + / "analytics-definitions" + / "component.yaml", + """type: definitions@dagster_components + +params: + definitions_path: definitions.py +""", + ) + + _run_command(r"find . -type d -name __pycache__ -exec rm -r {} \+") + _run_command( + r"find . -type d -name my_existing_project.egg-info -exec rm -r {} \+" + ) + run_command_and_snippet_output( + cmd="tree", + snippet_path=COMPONENTS_SNIPPETS_DIR + / f"{next_snip_no()}-tree-after-all.txt", + update_snippets=update_snippets, + custom_comparison_fn=compare_tree_output, + ) + + create_file( + Path("my_existing_project") / "definitions.py", + """from pathlib import Path + +import dagster_components as dg_components + +defs = dg_components.build_component_defs(Path(__file__).parent / "components") +""", + COMPONENTS_SNIPPETS_DIR / f"{next_snip_no()}-definitions-after-all.py", + ) diff --git a/examples/docs_beta_snippets/docs_beta_snippets_tests/test_all_files_load.py b/examples/docs_beta_snippets/docs_beta_snippets_tests/test_all_files_load.py index 7f8c7af2a7827..bc780984fff21 100644 --- a/examples/docs_beta_snippets/docs_beta_snippets_tests/test_all_files_load.py +++ b/examples/docs_beta_snippets/docs_beta_snippets_tests/test_all_files_load.py @@ -26,8 +26,11 @@ f"{snippets_folder}/guides/components/index/5-definitions.py", f"{snippets_folder}/guides/components/existing-project/6-initial-definitions.py", f"{snippets_folder}/guides/components/existing-project/7-updated-definitions.py", + f"{snippets_folder}/guides/components/migrating-definitions/2-definitions-before.py", + f"{snippets_folder}/guides/components/migrating-definitions/5-elt-nested-definitions.py", + f"{snippets_folder}/guides/components/migrating-definitions/7-definitions-after.py", + f"{snippets_folder}/guides/components/migrating-definitions/10-definitions-after-all.py", } - EXCLUDED_DIRS = { # integrations are excluded because they have external dependencies that are easier to manage in # a separate tox environment diff --git a/examples/docs_beta_snippets/pyproject.toml b/examples/docs_beta_snippets/pyproject.toml index 4e58db4e6b7eb..ea9223db61c64 100644 --- a/examples/docs_beta_snippets/pyproject.toml +++ b/examples/docs_beta_snippets/pyproject.toml @@ -9,7 +9,8 @@ line-length = 88 # Ignore a specific file extend-exclude = [ "docs_beta_snippets/guides/components/existing-project/6-initial-definitions.py", - "docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py" + "docs_beta_snippets/guides/components/shell-script-component/2-shell-command-empty.py", + "docs_beta_snippets/guides/components/migrating-definitions/2-definitions-before.py", ] [tool.ruff.lint]