dagster-cloud 1.11.9__tar.gz → 1.11.10__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 (142) hide show
  1. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/PKG-INFO +7 -7
  2. dagster_cloud-1.11.10/dagster_cloud/storage/defs_state/base_storage.py +90 -0
  3. dagster_cloud-1.11.10/dagster_cloud/storage/defs_state/storage.py +55 -0
  4. dagster_cloud-1.11.10/dagster_cloud/version.py +1 -0
  5. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/user_code_launcher/user_code_launcher.py +1 -0
  6. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud.egg-info/PKG-INFO +7 -7
  7. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud.egg-info/SOURCES.txt +1 -0
  8. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud.egg-info/requires.txt +6 -6
  9. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/pyproject.toml +6 -6
  10. dagster_cloud-1.11.9/dagster_cloud/storage/defs_state/storage.py +0 -90
  11. dagster_cloud-1.11.9/dagster_cloud/version.py +0 -1
  12. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/README.md +0 -0
  13. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/__init__.py +0 -0
  14. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/__init__.py +0 -0
  15. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/cli/__init__.py +0 -0
  16. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/dagster_cloud_agent.py +0 -0
  17. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/instrumentation/__init__.py +0 -0
  18. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/instrumentation/constants.py +0 -0
  19. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/instrumentation/run_launch.py +0 -0
  20. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/instrumentation/schedule.py +0 -0
  21. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/instrumentation/sensor.py +0 -0
  22. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/agent/queries.py +0 -0
  23. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/anomaly_detection/__init__.py +0 -0
  24. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/anomaly_detection/defs.py +0 -0
  25. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/anomaly_detection/mutation.py +0 -0
  26. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/anomaly_detection/types.py +0 -0
  27. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/api/__init__.py +0 -0
  28. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/api/dagster_cloud_api.py +0 -0
  29. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/artifacts/__init__.py +0 -0
  30. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/auth/__init__.py +0 -0
  31. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/auth/constants.py +0 -0
  32. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/batching/__init__.py +0 -0
  33. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/batching/batcher.py +0 -0
  34. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/constants.py +0 -0
  35. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/__init__.py +0 -0
  36. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/bigquery/__init__.py +0 -0
  37. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/bigquery/bigquery_utils.py +0 -0
  38. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/bigquery/dbt_wrapper.py +0 -0
  39. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/bigquery/insights_bigquery_resource.py +0 -0
  40. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/errors.py +0 -0
  41. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/insights_utils.py +0 -0
  42. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/metrics_utils.py +0 -0
  43. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/query.py +0 -0
  44. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/snowflake/__init__.py +0 -0
  45. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/snowflake/dagster_snowflake_insights.py +0 -0
  46. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/snowflake/dbt_wrapper.py +0 -0
  47. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/snowflake/definitions.py +0 -0
  48. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/snowflake/insights_snowflake_resource.py +0 -0
  49. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/dagster_insights/snowflake/snowflake_utils.py +0 -0
  50. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/definitions/__init__.py +0 -0
  51. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/definitions/job_selection.py +0 -0
  52. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/__init__.py +0 -0
  53. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/cloud_run_launcher/__init__.py +0 -0
  54. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/cloud_run_launcher/k8s.py +0 -0
  55. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/cloud_run_launcher/process.py +0 -0
  56. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/monitoring/__init__.py +0 -0
  57. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/utils/__init__.py +0 -0
  58. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/execution/utils/process.py +0 -0
  59. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/instance/__init__.py +0 -0
  60. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/instrumentation/__init__.py +0 -0
  61. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/metadata/__init__.py +0 -0
  62. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/metadata/source_code.py +0 -0
  63. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/metrics/__init__.py +0 -0
  64. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/metrics/tracer.py +0 -0
  65. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/__init__.py +0 -0
  66. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/config/__init__.py +0 -0
  67. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/config/exporter.py +0 -0
  68. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/config/log_record_processor.py +0 -0
  69. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/config/logging_handler.py +0 -0
  70. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/config/meter_provider.py +0 -0
  71. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/config/metric_reader.py +0 -0
  72. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/controller.py +0 -0
  73. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/enum.py +0 -0
  74. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/factories/__init__.py +0 -0
  75. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/factories/logs.py +0 -0
  76. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/factories/metrics.py +0 -0
  77. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/metrics/__init__.py +0 -0
  78. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/metrics/meter.py +0 -0
  79. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/observers/__init__.py +0 -0
  80. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/observers/dagster_exception_handler.py +0 -0
  81. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/opentelemetry/observers/execution_observer.py +0 -0
  82. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/__init__.py +0 -0
  83. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/__generated__/__init__.py +0 -0
  84. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2.py +0 -0
  85. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2.pyi +0 -0
  86. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/__generated__/multi_pex_api_pb2_grpc.py +0 -0
  87. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/__init__.py +0 -0
  88. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/client.py +0 -0
  89. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/compile.py +0 -0
  90. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/server/__init__.py +0 -0
  91. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/server/cli/__init__.py +0 -0
  92. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/server/manager.py +0 -0
  93. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/server/registry.py +0 -0
  94. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/server/server.py +0 -0
  95. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/pex/grpc/types.py +0 -0
  96. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/py.typed +0 -0
  97. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/secrets/__init__.py +0 -0
  98. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/secrets/loader.py +0 -0
  99. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/serverless/__init__.py +0 -0
  100. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/serverless/io_manager.py +0 -0
  101. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/__init__.py +0 -0
  102. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/client.py +0 -0
  103. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/compute_logs/__init__.py +0 -0
  104. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/compute_logs/compute_log_manager.py +0 -0
  105. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/defs_state/__init__.py +0 -0
  106. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/defs_state/queries.py +0 -0
  107. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/event_logs/__init__.py +0 -0
  108. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/event_logs/queries.py +0 -0
  109. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/event_logs/storage.py +0 -0
  110. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/event_logs/utils.py +0 -0
  111. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/runs/__init__.py +0 -0
  112. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/runs/queries.py +0 -0
  113. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/runs/storage.py +0 -0
  114. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/schedules/__init__.py +0 -0
  115. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/schedules/queries.py +0 -0
  116. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/schedules/storage.py +0 -0
  117. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/storage/tags.py +0 -0
  118. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/util/__init__.py +0 -0
  119. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/util/container_resources.py +0 -0
  120. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/util/errors.py +0 -0
  121. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/__init__.py +0 -0
  122. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/config_schema/__init__.py +0 -0
  123. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/config_schema/docker.py +0 -0
  124. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/config_schema/ecs.py +0 -0
  125. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/config_schema/kubernetes.py +0 -0
  126. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/docker/__init__.py +0 -0
  127. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/docker/utils.py +0 -0
  128. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/ecs/__init__.py +0 -0
  129. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/ecs/client.py +0 -0
  130. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/ecs/launcher.py +0 -0
  131. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/ecs/run_launcher.py +0 -0
  132. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/ecs/service.py +0 -0
  133. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/ecs/utils.py +0 -0
  134. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/kubernetes/__init__.py +0 -0
  135. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/kubernetes/launcher.py +0 -0
  136. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/kubernetes/utils.py +0 -0
  137. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/user_code_launcher/__init__.py +0 -0
  138. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/user_code_launcher/process.py +0 -0
  139. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud/workspace/user_code_launcher/utils.py +0 -0
  140. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud.egg-info/dependency_links.txt +0 -0
  141. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/dagster_cloud.egg-info/top_level.txt +0 -0
  142. {dagster_cloud-1.11.9 → dagster_cloud-1.11.10}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster-cloud
3
- Version: 1.11.9
3
+ Version: 1.11.10
4
4
  Author-email: Elementl <support@elementl.com>
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://dagster.io/cloud
@@ -28,9 +28,9 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
28
28
  Classifier: Operating System :: OS Independent
29
29
  Requires-Python: <3.14,>=3.9
30
30
  Description-Content-Type: text/markdown
31
- Requires-Dist: dagster==1.11.9
32
- Requires-Dist: dagster-shared==1.11.9
33
- Requires-Dist: dagster-cloud-cli==1.11.9
31
+ Requires-Dist: dagster==1.11.10
32
+ Requires-Dist: dagster-shared==1.11.10
33
+ Requires-Dist: dagster-cloud-cli==1.11.10
34
34
  Requires-Dist: opentelemetry-api<2,>=1.27.0
35
35
  Requires-Dist: opentelemetry-sdk<2,>=1.27.0
36
36
  Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2,>=1.27.0
@@ -65,12 +65,12 @@ Provides-Extra: insights
65
65
  Requires-Dist: pyarrow; extra == "insights"
66
66
  Provides-Extra: docker
67
67
  Requires-Dist: docker; extra == "docker"
68
- Requires-Dist: dagster-docker==0.27.9; extra == "docker"
68
+ Requires-Dist: dagster-docker==0.27.10; extra == "docker"
69
69
  Provides-Extra: kubernetes
70
70
  Requires-Dist: kubernetes; extra == "kubernetes"
71
- Requires-Dist: dagster-k8s==0.27.9; extra == "kubernetes"
71
+ Requires-Dist: dagster-k8s==0.27.10; extra == "kubernetes"
72
72
  Provides-Extra: ecs
73
- Requires-Dist: dagster-aws==0.27.9; extra == "ecs"
73
+ Requires-Dist: dagster-aws==0.27.10; extra == "ecs"
74
74
  Requires-Dist: boto3; extra == "ecs"
75
75
  Provides-Extra: sandbox
76
76
  Requires-Dist: supervisor; extra == "sandbox"
@@ -0,0 +1,90 @@
1
+ from abc import ABC, abstractmethod
2
+ from pathlib import Path
3
+ from typing import Any, Generic, Optional
4
+
5
+ from dagster._core.instance.types import T_DagsterInstance
6
+ from dagster._core.storage.defs_state.base import DefsStateStorage
7
+ from dagster_cloud_cli.core.artifacts import download_artifact, upload_artifact
8
+ from dagster_cloud_cli.core.headers.auth import DagsterCloudInstanceScope
9
+ from dagster_shared.serdes import deserialize_value
10
+ from dagster_shared.serdes.objects.models.defs_state_info import DefsStateInfo
11
+
12
+ GET_LATEST_DEFS_STATE_INFO_QUERY = """
13
+ query getLatestDefsStateInfo {
14
+ latestDefsStateInfo
15
+ }
16
+ """
17
+
18
+ SET_LATEST_VERSION_MUTATION = """
19
+ mutation setLatestDefsStateVersion($key: String!, $version: String!) {
20
+ defsState {
21
+ setLatestDefsStateVersion(key: $key, version: $version) {
22
+ ok
23
+ }
24
+ }
25
+ }
26
+ """
27
+
28
+
29
+ class BaseGraphQLDefsStateStorage(
30
+ DefsStateStorage[T_DagsterInstance], ABC, Generic[T_DagsterInstance]
31
+ ):
32
+ """Base implementation of a DefsStateStorage that uses a GraphQL client to
33
+ interact with the Dagster+ API.
34
+ """
35
+
36
+ @property
37
+ @abstractmethod
38
+ def url(self) -> str: ...
39
+
40
+ @property
41
+ @abstractmethod
42
+ def api_token(self) -> str: ...
43
+
44
+ @property
45
+ @abstractmethod
46
+ def deployment(self) -> str: ...
47
+
48
+ @property
49
+ @abstractmethod
50
+ def graphql_client(self) -> Any: ...
51
+
52
+ def _execute_query(self, query, variables=None, idempotent_mutation=False):
53
+ return self.graphql_client.execute(
54
+ query, variable_values=variables, idempotent_mutation=idempotent_mutation
55
+ )
56
+
57
+ def _get_artifact_key(self, key: str, version: str) -> str:
58
+ return f"__state__/{key}/{version}"
59
+
60
+ def download_state_to_path(self, key: str, version: str, path: Path) -> None:
61
+ download_artifact(
62
+ url=self.url,
63
+ scope=DagsterCloudInstanceScope.DEPLOYMENT,
64
+ api_token=self.api_token,
65
+ key=self._get_artifact_key(key, version),
66
+ path=path,
67
+ deployment=self.deployment,
68
+ )
69
+
70
+ def upload_state_from_path(self, key: str, version: str, path: Path) -> None:
71
+ upload_artifact(
72
+ url=self.url,
73
+ scope=DagsterCloudInstanceScope.DEPLOYMENT,
74
+ api_token=self.api_token,
75
+ key=self._get_artifact_key(key, version),
76
+ path=path,
77
+ deployment=self.deployment,
78
+ )
79
+ self.set_latest_version(key, version)
80
+
81
+ def get_latest_defs_state_info(self) -> Optional[DefsStateInfo]:
82
+ res = self._execute_query(GET_LATEST_DEFS_STATE_INFO_QUERY)
83
+ result = res["data"]["latestDefsStateInfo"]
84
+ if result is not None:
85
+ return deserialize_value(result, DefsStateInfo)
86
+ else:
87
+ return None
88
+
89
+ def set_latest_version(self, key: str, version: str) -> None:
90
+ self._execute_query(SET_LATEST_VERSION_MUTATION, variables={"key": key, "version": version})
@@ -0,0 +1,55 @@
1
+ from typing import TYPE_CHECKING, Any, Optional
2
+
3
+ import dagster._check as check
4
+ from dagster._serdes import ConfigurableClass, ConfigurableClassData
5
+ from typing_extensions import Self
6
+
7
+ from dagster_cloud.storage.defs_state.base_storage import BaseGraphQLDefsStateStorage
8
+
9
+ if TYPE_CHECKING:
10
+ from dagster_cloud.instance import DagsterCloudAgentInstance # noqa: F401
11
+
12
+
13
+ class GraphQLDefsStateStorage(
14
+ BaseGraphQLDefsStateStorage["DagsterCloudAgentInstance"], ConfigurableClass
15
+ ):
16
+ def __init__(
17
+ self, inst_data: Optional[ConfigurableClassData] = None, override_graphql_client=None
18
+ ):
19
+ """Initialize this class directly only for test (using `override_graphql_client`).
20
+ Use the ConfigurableClass machinery to init from instance yaml.
21
+ """
22
+ self._inst_data = check.opt_inst_param(inst_data, "inst_data", ConfigurableClassData)
23
+ self._override_graphql_client = override_graphql_client
24
+
25
+ @property
26
+ def inst_data(self):
27
+ return self._inst_data
28
+
29
+ @classmethod
30
+ def config_type(cls):
31
+ return {}
32
+
33
+ @classmethod
34
+ def from_config_value(cls, inst_data: ConfigurableClassData, config_value: Any) -> Self:
35
+ return cls(inst_data=inst_data)
36
+
37
+ @property
38
+ def url(self) -> str:
39
+ return self._instance.dagster_cloud_url
40
+
41
+ @property
42
+ def api_token(self) -> str:
43
+ return check.not_none(self._instance.dagster_cloud_agent_token)
44
+
45
+ @property
46
+ def deployment(self) -> str:
47
+ return check.not_none(self._instance.deployment_name)
48
+
49
+ @property
50
+ def graphql_client(self):
51
+ return (
52
+ self._override_graphql_client
53
+ if self._override_graphql_client
54
+ else self._instance.graphql_client # pyright: ignore[reportAttributeAccessIssue]
55
+ )
@@ -0,0 +1 @@
1
+ __version__ = "1.11.10"
@@ -644,6 +644,7 @@ class DagsterCloudUserCodeLauncher(
644
644
  response = self._instance.requests_managed_retries_session.put(
645
645
  url=upload_data.presigned_put_url,
646
646
  data=file,
647
+ timeout=self._instance.dagster_cloud_api_timeout,
647
648
  )
648
649
  raise_http_error(response)
649
650
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dagster-cloud
3
- Version: 1.11.9
3
+ Version: 1.11.10
4
4
  Author-email: Elementl <support@elementl.com>
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://dagster.io/cloud
@@ -28,9 +28,9 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
28
28
  Classifier: Operating System :: OS Independent
29
29
  Requires-Python: <3.14,>=3.9
30
30
  Description-Content-Type: text/markdown
31
- Requires-Dist: dagster==1.11.9
32
- Requires-Dist: dagster-shared==1.11.9
33
- Requires-Dist: dagster-cloud-cli==1.11.9
31
+ Requires-Dist: dagster==1.11.10
32
+ Requires-Dist: dagster-shared==1.11.10
33
+ Requires-Dist: dagster-cloud-cli==1.11.10
34
34
  Requires-Dist: opentelemetry-api<2,>=1.27.0
35
35
  Requires-Dist: opentelemetry-sdk<2,>=1.27.0
36
36
  Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2,>=1.27.0
@@ -65,12 +65,12 @@ Provides-Extra: insights
65
65
  Requires-Dist: pyarrow; extra == "insights"
66
66
  Provides-Extra: docker
67
67
  Requires-Dist: docker; extra == "docker"
68
- Requires-Dist: dagster-docker==0.27.9; extra == "docker"
68
+ Requires-Dist: dagster-docker==0.27.10; extra == "docker"
69
69
  Provides-Extra: kubernetes
70
70
  Requires-Dist: kubernetes; extra == "kubernetes"
71
- Requires-Dist: dagster-k8s==0.27.9; extra == "kubernetes"
71
+ Requires-Dist: dagster-k8s==0.27.10; extra == "kubernetes"
72
72
  Provides-Extra: ecs
73
- Requires-Dist: dagster-aws==0.27.9; extra == "ecs"
73
+ Requires-Dist: dagster-aws==0.27.10; extra == "ecs"
74
74
  Requires-Dist: boto3; extra == "ecs"
75
75
  Provides-Extra: sandbox
76
76
  Requires-Dist: supervisor; extra == "sandbox"
@@ -100,6 +100,7 @@ dagster_cloud/storage/tags.py
100
100
  dagster_cloud/storage/compute_logs/__init__.py
101
101
  dagster_cloud/storage/compute_logs/compute_log_manager.py
102
102
  dagster_cloud/storage/defs_state/__init__.py
103
+ dagster_cloud/storage/defs_state/base_storage.py
103
104
  dagster_cloud/storage/defs_state/queries.py
104
105
  dagster_cloud/storage/defs_state/storage.py
105
106
  dagster_cloud/storage/event_logs/__init__.py
@@ -1,6 +1,6 @@
1
- dagster==1.11.9
2
- dagster-shared==1.11.9
3
- dagster-cloud-cli==1.11.9
1
+ dagster==1.11.10
2
+ dagster-shared==1.11.10
3
+ dagster-cloud-cli==1.11.10
4
4
  opentelemetry-api<2,>=1.27.0
5
5
  opentelemetry-sdk<2,>=1.27.0
6
6
  opentelemetry-exporter-otlp-proto-grpc<2,>=1.27.0
@@ -12,10 +12,10 @@ typer
12
12
 
13
13
  [docker]
14
14
  docker
15
- dagster-docker==0.27.9
15
+ dagster-docker==0.27.10
16
16
 
17
17
  [ecs]
18
- dagster-aws==0.27.9
18
+ dagster-aws==0.27.10
19
19
  boto3
20
20
 
21
21
  [insights]
@@ -23,7 +23,7 @@ pyarrow
23
23
 
24
24
  [kubernetes]
25
25
  kubernetes
26
- dagster-k8s==0.27.9
26
+ dagster-k8s==0.27.10
27
27
 
28
28
  [pex]
29
29
  boto3
@@ -29,9 +29,9 @@ classifiers = [
29
29
  "Operating System :: OS Independent",
30
30
  ]
31
31
  dependencies = [
32
- "dagster==1.11.9",
33
- "dagster-shared==1.11.9",
34
- "dagster-cloud-cli==1.11.9",
32
+ "dagster==1.11.10",
33
+ "dagster-shared==1.11.10",
34
+ "dagster-cloud-cli==1.11.10",
35
35
  "opentelemetry-api>=1.27.0,<2",
36
36
  "opentelemetry-sdk>=1.27.0,<2",
37
37
  "opentelemetry-exporter-otlp-proto-grpc>=1.27.0,<2",
@@ -90,14 +90,14 @@ insights = [
90
90
  ]
91
91
  docker = [
92
92
  "docker",
93
- "dagster-docker==0.27.9",
93
+ "dagster-docker==0.27.10",
94
94
  ]
95
95
  kubernetes = [
96
96
  "kubernetes",
97
- "dagster-k8s==0.27.9",
97
+ "dagster-k8s==0.27.10",
98
98
  ]
99
99
  ecs = [
100
- "dagster-aws==0.27.9",
100
+ "dagster-aws==0.27.10",
101
101
  "boto3",
102
102
  ]
103
103
  sandbox = [
@@ -1,90 +0,0 @@
1
- from pathlib import Path
2
- from typing import TYPE_CHECKING, Any, Optional
3
-
4
- import dagster._check as check
5
- from dagster._core.storage.defs_state.base import DefsStateStorage
6
- from dagster._serdes import ConfigurableClass, ConfigurableClassData
7
- from dagster_cloud_cli.core.artifacts import download_artifact, upload_artifact
8
- from dagster_shared.serdes import deserialize_value
9
- from dagster_shared.serdes.objects import DefsStateInfo
10
- from typing_extensions import Self
11
-
12
- from dagster_cloud.instance import DagsterCloudInstanceScope
13
-
14
- from .queries import GET_LATEST_DEFS_STATE_INFO_QUERY, SET_LATEST_VERSION_MUTATION
15
-
16
- if TYPE_CHECKING:
17
- from dagster_cloud.instance import DagsterCloudAgentInstance # noqa: F401
18
-
19
-
20
- class GraphQLDefsStateStorage(DefsStateStorage["DagsterCloudAgentInstance"], ConfigurableClass):
21
- def __init__(
22
- self, inst_data: Optional[ConfigurableClassData] = None, override_graphql_client=None
23
- ):
24
- """Initialize this class directly only for test (using `override_graphql_client`).
25
- Use the ConfigurableClass machinery to init from instance yaml.
26
- """
27
- self._inst_data = check.opt_inst_param(inst_data, "inst_data", ConfigurableClassData)
28
- self._override_graphql_client = override_graphql_client
29
-
30
- @property
31
- def inst_data(self):
32
- return self._inst_data
33
-
34
- @classmethod
35
- def config_type(cls):
36
- return {}
37
-
38
- @classmethod
39
- def from_config_value(cls, inst_data: ConfigurableClassData, config_value: Any) -> Self:
40
- return cls(inst_data=inst_data)
41
-
42
- @property
43
- def _graphql_client(self):
44
- return (
45
- self._override_graphql_client
46
- if self._override_graphql_client
47
- else self._instance.graphql_client # pyright: ignore[reportAttributeAccessIssue]
48
- )
49
-
50
- @property
51
- def _url(self) -> str:
52
- return f"{self._instance.dagster_cloud_url}"
53
-
54
- def _execute_query(self, query, variables=None, idempotent_mutation=False):
55
- return self._graphql_client.execute(
56
- query, variable_values=variables, idempotent_mutation=idempotent_mutation
57
- )
58
-
59
- def _get_artifact_key(self, key: str, version: str) -> str:
60
- return f"__state__/{key}/{version}"
61
-
62
- def download_state_to_path(self, key: str, version: str, path: Path) -> None:
63
- download_artifact(
64
- url=self._url,
65
- scope=DagsterCloudInstanceScope.DEPLOYMENT,
66
- api_token=check.not_none(self._instance.dagster_cloud_agent_token),
67
- key=self._get_artifact_key(key, version),
68
- path=path,
69
- )
70
-
71
- def upload_state_from_path(self, key: str, version: str, path: Path) -> None:
72
- upload_artifact(
73
- url=self._url,
74
- scope=DagsterCloudInstanceScope.DEPLOYMENT,
75
- api_token=check.not_none(self._instance.dagster_cloud_agent_token),
76
- key=self._get_artifact_key(key, version),
77
- path=path,
78
- )
79
- self.set_latest_version(key, version)
80
-
81
- def get_latest_defs_state_info(self) -> Optional[DefsStateInfo]:
82
- res = self._execute_query(GET_LATEST_DEFS_STATE_INFO_QUERY)
83
- result = res["data"]["latestDefsStateInfo"]
84
- if result is not None:
85
- return deserialize_value(result, DefsStateInfo)
86
- else:
87
- return None
88
-
89
- def set_latest_version(self, key: str, version: str) -> None:
90
- self._execute_query(SET_LATEST_VERSION_MUTATION, variables={"key": key, "version": version})
@@ -1 +0,0 @@
1
- __version__ = "1.11.9"