dagster-dg-cli 1.12.7__tar.gz → 1.12.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. {dagster_dg_cli-1.12.7/dagster_dg_cli.egg-info → dagster_dg_cli-1.12.9}/PKG-INFO +4 -4
  2. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/commands.py +3 -2
  3. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/configure/commands.py +42 -5
  4. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/configure/configure_ci.py +8 -0
  5. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/configure/utils.py +1 -0
  6. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/login.py +18 -2
  7. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/build_artifacts.py +4 -2
  8. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/github_actions.py +4 -1
  9. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/hybrid-github-action.yaml +3 -1
  10. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/hybrid-gitlab-ci.yaml +2 -0
  11. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/serverless-github-action.yaml +3 -1
  12. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/serverless-gitlab-ci.yaml +2 -0
  13. dagster_dg_cli-1.12.9/dagster_dg_cli/version.py +1 -0
  14. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9/dagster_dg_cli.egg-info}/PKG-INFO +4 -4
  15. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli.egg-info/requires.txt +3 -3
  16. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/setup.py +3 -3
  17. dagster_dg_cli-1.12.7/dagster_dg_cli/version.py +0 -1
  18. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/LICENSE +0 -0
  19. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/MANIFEST.in +0 -0
  20. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/README.md +0 -0
  21. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/__init__.py +0 -0
  22. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/__init__.py +0 -0
  23. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/__init__.py +0 -0
  24. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/agent.py +0 -0
  25. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/asset.py +0 -0
  26. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/deployments.py +0 -0
  27. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/run.py +0 -0
  28. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/run_event.py +0 -0
  29. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/schedule.py +0 -0
  30. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/secret.py +0 -0
  31. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/api/sensor.py +0 -0
  32. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/__init__.py +0 -0
  33. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/agent.py +0 -0
  34. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/asset.py +0 -0
  35. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/deployment.py +0 -0
  36. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/run.py +0 -0
  37. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/run_event.py +0 -0
  38. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/schedule.py +0 -0
  39. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/secret.py +0 -0
  40. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/graphql_adapter/sensor.py +0 -0
  41. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/__init__.py +0 -0
  42. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/agent.py +0 -0
  43. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/asset.py +0 -0
  44. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/deployment.py +0 -0
  45. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/run.py +0 -0
  46. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/run_event.py +0 -0
  47. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/schedule.py +0 -0
  48. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/secret.py +0 -0
  49. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/api_layer/schemas/sensor.py +0 -0
  50. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/__init__.py +0 -0
  51. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/__main__.py +0 -0
  52. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/__init__.py +0 -0
  53. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/agent.py +0 -0
  54. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/asset.py +0 -0
  55. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/cli_group.py +0 -0
  56. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/client.py +0 -0
  57. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/deployment.py +0 -0
  58. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/formatters.py +0 -0
  59. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/log.py +0 -0
  60. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/run.py +0 -0
  61. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/run_event.py +0 -0
  62. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/schedule.py +0 -0
  63. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/secret.py +0 -0
  64. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/sensor.py +0 -0
  65. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/api/shared.py +0 -0
  66. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/check.py +0 -0
  67. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/defs_state.py +0 -0
  68. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/dev.py +0 -0
  69. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/entrypoint.py +0 -0
  70. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/launch.py +0 -0
  71. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/list.py +0 -0
  72. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/mcp_server.py +0 -0
  73. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/__init__.py +0 -0
  74. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/constants.py +0 -0
  75. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/create/__init__.py +0 -0
  76. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/create/ci_api_token.py +0 -0
  77. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/create/env.py +0 -0
  78. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/__init__.py +0 -0
  79. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/configure/__init__.py +0 -0
  80. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/configure/configure_build_artifacts.py +0 -0
  81. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/deploy/deploy_session.py +0 -0
  82. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/pull/__init__.py +0 -0
  83. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/plus/pull/env.py +0 -0
  84. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/__init__.py +0 -0
  85. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/CLAUDE.md +0 -0
  86. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/__init__.py +0 -0
  87. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/ai.py +0 -0
  88. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/claude/__init__.py +0 -0
  89. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/claude/diagnostics.py +0 -0
  90. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/claude/sdk_client.py +0 -0
  91. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/command.py +0 -0
  92. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/constants.py +0 -0
  93. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/dg_scaffold_pr_sequencing_plan.md +0 -0
  94. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/git.py +0 -0
  95. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/models.py +0 -0
  96. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/planning.py +0 -0
  97. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/pr1_diagnostics_implementation_plan.md +0 -0
  98. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/prompts/best_practices.md +0 -0
  99. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/prompts/planning_prompt.md +0 -0
  100. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/branch/version_utils.py +0 -0
  101. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/component.py +0 -0
  102. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/scaffold/defs.py +0 -0
  103. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/cli/utils.py +0 -0
  104. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/docs/.gitignore +0 -0
  105. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/mcp/__init__.py +0 -0
  106. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/mcp/server.py +0 -0
  107. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/py.typed +0 -0
  108. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/scaffold.py +0 -0
  109. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/COMPONENT_TYPE/COMPONENT_TYPE_NAME_PLACEHOLDER.py.jinja +0 -0
  110. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/build-location-fragment-gitlab.yaml +0 -0
  111. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/build-location-fragment.yaml +0 -0
  112. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/deploy_uv_Dockerfile.jinja +0 -0
  113. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/deploy_uv_editable_Dockerfile.jinja +0 -0
  114. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/github/azure-container-registry-login-fragment.yaml +0 -0
  115. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/github/dockerhub-login-fragment.yaml +0 -0
  116. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/github/ecr-login-fragment.yaml +0 -0
  117. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/github/gcr-login-fragment.yaml +0 -0
  118. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/github/github-container-registry-login-fragment.yaml +0 -0
  119. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/gitlab/azure-container-registry-login-fragment.yaml +0 -0
  120. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/gitlab/dockerhub-login-fragment.yaml +0 -0
  121. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/gitlab/ecr-login-fragment.yaml +0 -0
  122. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/gitlab/gcr-login-fragment.yaml +0 -0
  123. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/templates/registry_fragments/gitlab/github-container-registry-login-fragment.yaml +0 -0
  124. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/__init__.py +0 -0
  125. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/claude_utils.py +0 -0
  126. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/plus/__init__.py +0 -0
  127. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/plus/build.py +0 -0
  128. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/plus/defs_state_storage.py +0 -0
  129. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/plus/gql.py +0 -0
  130. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/plus/gql_client.py +0 -0
  131. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/ui.py +0 -0
  132. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli/utils/yaml_template_generator.py +0 -0
  133. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli.egg-info/SOURCES.txt +0 -0
  134. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli.egg-info/dependency_links.txt +0 -0
  135. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli.egg-info/entry_points.txt +0 -0
  136. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli.egg-info/not-zip-safe +0 -0
  137. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/dagster_dg_cli.egg-info/top_level.txt +0 -0
  138. {dagster_dg_cli-1.12.7 → dagster_dg_cli-1.12.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster-dg-cli
3
- Version: 1.12.7
3
+ Version: 1.12.9
4
4
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-dg-cli
5
5
  Author: Dagster Labs
6
6
  Author-email: hello@dagsterlabs.com
@@ -13,9 +13,9 @@ Classifier: Programming Language :: Python :: 3.14
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
14
  Classifier: Operating System :: OS Independent
15
15
  License-File: LICENSE
16
- Requires-Dist: dagster-dg-core==1.12.7
17
- Requires-Dist: dagster==1.12.7
18
- Requires-Dist: dagster-cloud-cli==1.12.7
16
+ Requires-Dist: dagster-dg-core==1.12.9
17
+ Requires-Dist: dagster==1.12.9
18
+ Requires-Dist: dagster-cloud-cli==1.12.9
19
19
  Requires-Dist: typer
20
20
  Provides-Extra: test
21
21
  Requires-Dist: syrupy>=4.0.0; extra == "test"
@@ -8,6 +8,7 @@ from typing import TYPE_CHECKING, Optional
8
8
 
9
9
  import click
10
10
  from dagster_cloud_cli.types import SnapshotBaseDeploymentCondition
11
+ from dagster_cloud_cli.utils import SUPPORTED_PYTHON_VERSIONS
11
12
  from dagster_dg_core.config import DgRawCliConfig, normalize_cli_config
12
13
  from dagster_dg_core.context import DgContext
13
14
  from dagster_dg_core.shared_options import (
@@ -95,7 +96,7 @@ org_and_deploy_option_group = make_option_group(
95
96
  @click.option(
96
97
  "--python-version",
97
98
  "python_version",
98
- type=click.Choice(["3.9", "3.10", "3.11", "3.12"]),
99
+ type=click.Choice(SUPPORTED_PYTHON_VERSIONS),
99
100
  help=(
100
101
  "Python version used to deploy the project. If not set, defaults to the calling process's Python minor version."
101
102
  ),
@@ -341,7 +342,7 @@ def start_deploy_session_command(
341
342
  @click.option(
342
343
  "--python-version",
343
344
  "python_version",
344
- type=click.Choice(["3.9", "3.10", "3.11", "3.12"]),
345
+ type=click.Choice(SUPPORTED_PYTHON_VERSIONS),
345
346
  help=(
346
347
  "Python version used to deploy the project. If not set, defaults to the calling process's Python minor version."
347
348
  ),
@@ -9,12 +9,13 @@ from pathlib import Path
9
9
  from typing import Optional
10
10
 
11
11
  import click
12
+ from dagster_cloud_cli.utils import SUPPORTED_PYTHON_VERSIONS
12
13
  from dagster_dg_core.config import normalize_cli_config
13
14
  from dagster_dg_core.context import DgContext
14
15
  from dagster_dg_core.shared_options import dg_editable_dagster_options, dg_global_options
15
16
  from dagster_dg_core.utils import DgClickCommand, DgClickGroup, exit_with_error
16
17
  from dagster_dg_core.utils.telemetry import cli_telemetry_wrapper
17
- from dagster_shared.plus.config import DagsterPlusCliConfig
18
+ from dagster_shared.plus.config import DAGSTER_CLOUD_BASE_URL, DagsterPlusCliConfig
18
19
 
19
20
  from dagster_dg_cli.cli.plus.constants import DgPlusAgentPlatform, DgPlusAgentType
20
21
  from dagster_dg_cli.cli.plus.deploy.configure.configure_build_artifacts import (
@@ -71,7 +72,7 @@ def resolve_organization(
71
72
  plus_config: Optional[DagsterPlusCliConfig],
72
73
  *,
73
74
  show_detected_message: bool = True,
74
- ) -> Optional[str]:
75
+ ) -> str:
75
76
  """Resolve organization name from config or prompt."""
76
77
  if organization is not None:
77
78
  return organization
@@ -86,6 +87,25 @@ def resolve_organization(
86
87
  return click.prompt("Dagster Plus organization name") or ""
87
88
 
88
89
 
90
+ def resolve_url(
91
+ url: Optional[str],
92
+ plus_config: Optional[DagsterPlusCliConfig],
93
+ resolved_organization: str,
94
+ *,
95
+ show_detected_message: bool = True,
96
+ ) -> str:
97
+ """Resolve Dagster Cloud URL from config or use default."""
98
+ if url is not None:
99
+ return url
100
+
101
+ if plus_config and plus_config.url:
102
+ if show_detected_message:
103
+ click.echo(f"Using Dagster Cloud URL {plus_config.url} from Dagster Plus config.")
104
+ return plus_config.url
105
+
106
+ return f"{DAGSTER_CLOUD_BASE_URL}/{resolved_organization}"
107
+
108
+
89
109
  def resolve_deployment(
90
110
  deployment: Optional[str],
91
111
  plus_config: Optional[DagsterPlusCliConfig],
@@ -160,6 +180,7 @@ def _resolve_config_with_prompts(
160
180
  agent_type: Optional[DgPlusAgentType],
161
181
  agent_platform: Optional[DgPlusAgentPlatform],
162
182
  organization: Optional[str],
183
+ url: Optional[str],
163
184
  deployment: Optional[str],
164
185
  git_root: Optional[Path],
165
186
  python_version: Optional[str],
@@ -191,11 +212,13 @@ def _resolve_config_with_prompts(
191
212
  git_root,
192
213
  )
193
214
 
194
- # Resolve organization and deployment (only needed if scaffolding CI/CD)
215
+ # Resolve organization, URL, and deployment (only needed if scaffolding CI/CD)
195
216
  resolved_organization = None
217
+ resolved_url = None
196
218
  resolved_deployment = deployment or "prod"
197
219
  if resolved_git_provider is not None:
198
220
  resolved_organization = resolve_organization(organization, plus_config)
221
+ resolved_url = resolve_url(url, plus_config, resolved_organization)
199
222
  resolved_deployment = resolve_deployment(deployment, plus_config)
200
223
 
201
224
  # Resolve git root
@@ -222,6 +245,7 @@ def _resolve_config_with_prompts(
222
245
  agent_type=resolved_agent_type,
223
246
  agent_platform=resolved_agent_platform,
224
247
  organization_name=resolved_organization,
248
+ cloud_url=resolved_url,
225
249
  deployment_name=resolved_deployment,
226
250
  git_root=resolved_git_root,
227
251
  python_version=resolved_python_version,
@@ -273,6 +297,7 @@ def deploy_configure_group(
273
297
  agent_type=None,
274
298
  agent_platform=None,
275
299
  organization=None,
300
+ url=None,
276
301
  deployment=None,
277
302
  git_root=None,
278
303
  python_version=None,
@@ -296,13 +321,17 @@ def deploy_configure_group(
296
321
  )
297
322
  @click.option(
298
323
  "--python-version",
299
- type=click.Choice(["3.9", "3.10", "3.11", "3.12", "3.13"]),
324
+ type=click.Choice(SUPPORTED_PYTHON_VERSIONS),
300
325
  help="Python version used to deploy the project",
301
326
  )
302
327
  @click.option(
303
328
  "--organization",
304
329
  help="Dagster Plus organization name",
305
330
  )
331
+ @click.option(
332
+ "--url",
333
+ help="Dagster Plus URL for the organization",
334
+ )
306
335
  @click.option(
307
336
  "--deployment",
308
337
  default="prod",
@@ -332,6 +361,7 @@ def deploy_configure_serverless(
332
361
  git_provider: Optional[str],
333
362
  python_version: Optional[str],
334
363
  organization: Optional[str],
364
+ url: Optional[str],
335
365
  deployment: Optional[str],
336
366
  git_root: Optional[Path],
337
367
  pex_deploy: bool,
@@ -352,6 +382,7 @@ def deploy_configure_serverless(
352
382
  agent_type=DgPlusAgentType.SERVERLESS,
353
383
  agent_platform=None,
354
384
  organization=organization,
385
+ url=url,
355
386
  deployment=deployment,
356
387
  git_root=git_root,
357
388
  python_version=python_version,
@@ -384,13 +415,17 @@ def deploy_configure_serverless(
384
415
  )
385
416
  @click.option(
386
417
  "--python-version",
387
- type=click.Choice(["3.9", "3.10", "3.11", "3.12", "3.13"]),
418
+ type=click.Choice(SUPPORTED_PYTHON_VERSIONS),
388
419
  help="Python version used to deploy the project",
389
420
  )
390
421
  @click.option(
391
422
  "--organization",
392
423
  help="Dagster Plus organization name",
393
424
  )
425
+ @click.option(
426
+ "--url",
427
+ help="Dagster Cloud URL (defaults to https://dagster.cloud)",
428
+ )
394
429
  @click.option(
395
430
  "--deployment",
396
431
  default="prod",
@@ -417,6 +452,7 @@ def deploy_configure_hybrid(
417
452
  registry_url: Optional[str],
418
453
  python_version: Optional[str],
419
454
  organization: Optional[str],
455
+ url: Optional[str],
420
456
  deployment: Optional[str],
421
457
  git_root: Optional[Path],
422
458
  skip_confirmation_prompt: bool,
@@ -440,6 +476,7 @@ def deploy_configure_hybrid(
440
476
  agent_type=DgPlusAgentType.HYBRID,
441
477
  agent_platform=resolved_platform,
442
478
  organization=organization,
479
+ url=url,
443
480
  deployment=deployment,
444
481
  git_root=git_root,
445
482
  python_version=python_version,
@@ -129,6 +129,10 @@ def configure_github_actions_impl(config: DgPlusDeployConfigureOptions) -> None:
129
129
  "TEMPLATE_ORGANIZATION_NAME",
130
130
  config.organization_name or "",
131
131
  )
132
+ .replace(
133
+ "TEMPLATE_DAGSTER_CLOUD_URL",
134
+ config.cloud_url or "",
135
+ )
132
136
  .replace(
133
137
  "TEMPLATE_DEFAULT_DEPLOYMENT_NAME",
134
138
  config.deployment_name,
@@ -243,6 +247,10 @@ def configure_gitlab_ci_impl(config: DgPlusDeployConfigureOptions) -> None:
243
247
  "TEMPLATE_ORGANIZATION_NAME",
244
248
  config.organization_name or "",
245
249
  )
250
+ .replace(
251
+ "TEMPLATE_DAGSTER_CLOUD_URL",
252
+ config.cloud_url or "",
253
+ )
246
254
  .replace(
247
255
  "TEMPLATE_DEFAULT_DEPLOYMENT_NAME",
248
256
  config.deployment_name,
@@ -33,6 +33,7 @@ class DgPlusDeployConfigureOptions:
33
33
  agent_type: DgPlusAgentType
34
34
  agent_platform: Optional[DgPlusAgentPlatform]
35
35
  organization_name: Optional[str]
36
+ cloud_url: Optional[str]
36
37
  deployment_name: str
37
38
  git_root: Optional[Path]
38
39
  skip_confirmation_prompt: bool
@@ -1,4 +1,5 @@
1
1
  import webbrowser
2
+ from typing import Optional
2
3
 
3
4
  import click
4
5
  from dagster_dg_core.utils import DgClickCommand
@@ -8,15 +9,30 @@ from dagster_shared.plus.config import DagsterPlusCliConfig
8
9
  from dagster_dg_cli.utils.plus.gql import FULL_DEPLOYMENTS_QUERY
9
10
  from dagster_dg_cli.utils.plus.gql_client import DagsterPlusGraphQLClient
10
11
 
12
+ EU_DAGSTER_CLOUD_URL = "https://eu.dagster.cloud"
13
+
11
14
 
12
15
  @click.command(name="login", cls=DgClickCommand)
16
+ @click.option(
17
+ "--region",
18
+ type=click.Choice(["us", "eu"]),
19
+ default=None,
20
+ help="Dagster Cloud region to login to. Use 'eu' for European region.",
21
+ )
13
22
  @cli_telemetry_wrapper
14
- def login_command() -> None:
23
+ def login_command(region: Optional[str]) -> None:
15
24
  """Login to Dagster Plus."""
16
25
  # Import login server only when the command is actually used
17
26
  from dagster_shared.plus.login_server import start_login_server
18
27
 
19
- org_url = DagsterPlusCliConfig.get().url if DagsterPlusCliConfig.exists() else None
28
+ # Determine the base URL based on region
29
+ if region == "eu":
30
+ org_url = EU_DAGSTER_CLOUD_URL
31
+ elif DagsterPlusCliConfig.exists():
32
+ org_url = DagsterPlusCliConfig.get().url
33
+ else:
34
+ org_url = None
35
+
20
36
  server, url = start_login_server(org_url)
21
37
 
22
38
  try:
@@ -8,12 +8,13 @@ from pathlib import Path
8
8
  from typing import Optional
9
9
 
10
10
  import click
11
+ from dagster_cloud_cli.utils import SUPPORTED_PYTHON_VERSIONS
11
12
  from dagster_dg_core.config import normalize_cli_config
12
13
  from dagster_dg_core.context import DgContext
13
14
  from dagster_dg_core.shared_options import dg_editable_dagster_options, dg_global_options
14
15
  from dagster_dg_core.utils import DgClickCommand
15
16
  from dagster_dg_core.utils.telemetry import cli_telemetry_wrapper
16
- from dagster_shared.plus.config import DagsterPlusCliConfig
17
+ from dagster_shared.plus.config import DAGSTER_CLOUD_BASE_URL, DagsterPlusCliConfig
17
18
 
18
19
  from dagster_dg_cli.cli.plus.constants import DgPlusAgentType
19
20
  from dagster_dg_cli.cli.plus.deploy.configure.commands import resolve_python_version
@@ -63,6 +64,7 @@ def _resolve_config_for_build_artifacts(
63
64
  agent_type=agent_type,
64
65
  agent_platform=agent_platform,
65
66
  organization_name=None,
67
+ cloud_url=plus_config.url if plus_config and plus_config.url else DAGSTER_CLOUD_BASE_URL,
66
68
  deployment_name="prod",
67
69
  git_root=None,
68
70
  python_version=resolved_python_version,
@@ -76,7 +78,7 @@ def _resolve_config_for_build_artifacts(
76
78
  @click.option(
77
79
  "--python-version",
78
80
  "python_version",
79
- type=click.Choice(["3.9", "3.10", "3.11", "3.12", "3.13"]),
81
+ type=click.Choice(SUPPORTED_PYTHON_VERSIONS),
80
82
  help=(
81
83
  "Python version used to deploy the project. If not set, defaults to the calling process's Python minor version."
82
84
  ),
@@ -20,6 +20,7 @@ from dagster_dg_cli.cli.plus.deploy.configure.commands import (
20
20
  resolve_git_root,
21
21
  resolve_organization,
22
22
  resolve_python_version,
23
+ resolve_url,
23
24
  )
24
25
  from dagster_dg_cli.cli.plus.deploy.configure.configure_ci import configure_ci_impl
25
26
  from dagster_dg_cli.cli.plus.deploy.configure.utils import DgPlusDeployConfigureOptions, GitProvider
@@ -40,8 +41,9 @@ def _resolve_config_for_github_actions(
40
41
 
41
42
  plus_config = DagsterPlusCliConfig.get() if DagsterPlusCliConfig.exists() else None
42
43
 
43
- # Prompt for org and deployment FIRST (legacy order)
44
+ # Prompt for org, URL, and deployment FIRST (legacy order)
44
45
  resolved_organization = resolve_organization(None, plus_config)
46
+ resolved_url = resolve_url(None, plus_config, resolved_organization)
45
47
  resolved_deployment = resolve_deployment(None, plus_config)
46
48
 
47
49
  # Try to detect agent type and platform from Plus config
@@ -76,6 +78,7 @@ def _resolve_config_for_github_actions(
76
78
  agent_type=agent_type,
77
79
  agent_platform=agent_platform, # May be None - legacy didn't require platform
78
80
  organization_name=resolved_organization,
81
+ cloud_url=resolved_url,
79
82
  deployment_name=resolved_deployment,
80
83
  git_root=resolved_git_root,
81
84
  python_version=resolved_python_version,
@@ -14,6 +14,8 @@ concurrency:
14
14
  env:
15
15
  # The organization name in Dagster Cloud
16
16
  DAGSTER_CLOUD_ORGANIZATION: "TEMPLATE_ORGANIZATION_NAME"
17
+ # The Dagster Cloud URL
18
+ DAGSTER_CLOUD_URL: "TEMPLATE_DAGSTER_CLOUD_URL"
17
19
  # The API token from https://dagster.cloud/ should be stored in Secrets
18
20
  DAGSTER_CLOUD_API_TOKEN: ${{ secrets.DAGSTER_CLOUD_API_TOKEN }}
19
21
  # Path to the root folder containing the dagster project
@@ -86,7 +88,7 @@ jobs:
86
88
 
87
89
  # Enable buildx for caching
88
90
  - name: Set up Docker Buildx
89
- uses: docker/setup-buildx-action@v2
91
+ uses: docker/setup-buildx-action@v3
90
92
 
91
93
  # Login to the container registry
92
94
  # TEMPLATE_CONTAINER_REGISTRY_LOGIN_FRAGMENT
@@ -4,6 +4,8 @@
4
4
  variables:
5
5
  # The organization name in Dagster Cloud
6
6
  DAGSTER_CLOUD_ORGANIZATION: TEMPLATE_ORGANIZATION_NAME
7
+ # The Dagster Cloud URL
8
+ DAGSTER_CLOUD_URL: TEMPLATE_DAGSTER_CLOUD_URL
7
9
  # The API token from https://dagster.cloud/ should be stored in a CI/CD Variable called DAGSTER_CLOUD_API_TOKEN
8
10
  DAGSTER_CLOUD_API_TOKEN: $DAGSTER_CLOUD_API_TOKEN
9
11
 
@@ -14,6 +14,8 @@ concurrency:
14
14
  env:
15
15
  # The organization name in Dagster Cloud
16
16
  DAGSTER_CLOUD_ORGANIZATION: "TEMPLATE_ORGANIZATION_NAME"
17
+ # The Dagster Cloud URL
18
+ DAGSTER_CLOUD_URL: "TEMPLATE_DAGSTER_CLOUD_URL"
17
19
  # The API token from https://dagster.cloud/ should be stored in Secrets
18
20
  DAGSTER_CLOUD_API_TOKEN: ${{ secrets.DAGSTER_CLOUD_API_TOKEN }}
19
21
  # Path to the root folder containing the dagster project
@@ -89,7 +91,7 @@ jobs:
89
91
  # Otherwise, enable buildx for caching Docker builds
90
92
  - name: Set up Docker Buildx
91
93
  if: steps.prerun.outputs.result == 'docker-deploy'
92
- uses: docker/setup-buildx-action@v2
94
+ uses: docker/setup-buildx-action@v3
93
95
 
94
96
  # Build and push (PEX or Docker based on project configuration)
95
97
  - name: Build and push
@@ -1,6 +1,8 @@
1
1
  variables:
2
2
  # The organization name in Dagster Cloud
3
3
  DAGSTER_CLOUD_ORGANIZATION: TEMPLATE_ORGANIZATION_NAME
4
+ # The Dagster Cloud URL
5
+ DAGSTER_CLOUD_URL: TEMPLATE_DAGSTER_CLOUD_URL
4
6
  # The API token from https://dagster.cloud/ should be stored in a CI/CD Variable called DAGSTER_CLOUD_API_TOKEN
5
7
  DAGSTER_CLOUD_API_TOKEN: $DAGSTER_CLOUD_API_TOKEN
6
8
  # Path to the root folder containing the dagster project
@@ -0,0 +1 @@
1
+ __version__ = "1.12.9"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster-dg-cli
3
- Version: 1.12.7
3
+ Version: 1.12.9
4
4
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-dg-cli
5
5
  Author: Dagster Labs
6
6
  Author-email: hello@dagsterlabs.com
@@ -13,9 +13,9 @@ Classifier: Programming Language :: Python :: 3.14
13
13
  Classifier: License :: OSI Approved :: Apache Software License
14
14
  Classifier: Operating System :: OS Independent
15
15
  License-File: LICENSE
16
- Requires-Dist: dagster-dg-core==1.12.7
17
- Requires-Dist: dagster==1.12.7
18
- Requires-Dist: dagster-cloud-cli==1.12.7
16
+ Requires-Dist: dagster-dg-core==1.12.9
17
+ Requires-Dist: dagster==1.12.9
18
+ Requires-Dist: dagster-cloud-cli==1.12.9
19
19
  Requires-Dist: typer
20
20
  Provides-Extra: test
21
21
  Requires-Dist: syrupy>=4.0.0; extra == "test"
@@ -1,6 +1,6 @@
1
- dagster-dg-core==1.12.7
2
- dagster==1.12.7
3
- dagster-cloud-cli==1.12.7
1
+ dagster-dg-core==1.12.9
2
+ dagster==1.12.9
3
+ dagster-cloud-cli==1.12.9
4
4
  typer
5
5
 
6
6
  [ai]
@@ -36,9 +36,9 @@ setup(
36
36
  packages=find_packages(exclude=["dagster_dg_cli_tests*"]),
37
37
  include_package_data=True,
38
38
  install_requires=[
39
- "dagster-dg-core==1.12.7",
40
- "dagster==1.12.7",
41
- "dagster-cloud-cli==1.12.7",
39
+ "dagster-dg-core==1.12.9",
40
+ "dagster==1.12.9",
41
+ "dagster-cloud-cli==1.12.9",
42
42
  "typer",
43
43
  ],
44
44
  extras_require={
@@ -1 +0,0 @@
1
- __version__ = "1.12.7"
File without changes