dagster-k8s 0.25.0__tar.gz → 0.25.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dagster-k8s might be problematic. Click here for more details.

Files changed (28) hide show
  1. {dagster-k8s-0.25.0/dagster_k8s.egg-info → dagster-k8s-0.25.1}/PKG-INFO +1 -1
  2. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/executor.py +20 -1
  3. dagster-k8s-0.25.1/dagster_k8s/version.py +1 -0
  4. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1/dagster_k8s.egg-info}/PKG-INFO +1 -1
  5. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s.egg-info/requires.txt +1 -1
  6. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/setup.py +1 -1
  7. dagster-k8s-0.25.0/dagster_k8s/version.py +0 -1
  8. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/LICENSE +0 -0
  9. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/MANIFEST.in +0 -0
  10. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/README.md +0 -0
  11. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/__init__.py +0 -0
  12. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/client.py +0 -0
  13. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/container_context.py +0 -0
  14. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/job.py +0 -0
  15. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/kubernetes_version.py +0 -0
  16. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/launcher.py +0 -0
  17. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/models.py +0 -0
  18. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/ops/__init__.py +0 -0
  19. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/ops/k8s_job_op.py +0 -0
  20. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/pipes.py +0 -0
  21. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/py.typed +0 -0
  22. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/test.py +0 -0
  23. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s/utils.py +0 -0
  24. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s.egg-info/SOURCES.txt +0 -0
  25. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s.egg-info/dependency_links.txt +0 -0
  26. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s.egg-info/not-zip-safe +0 -0
  27. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/dagster_k8s.egg-info/top_level.txt +0 -0
  28. {dagster-k8s-0.25.0 → dagster-k8s-0.25.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagster-k8s
3
- Version: 0.25.0
3
+ Version: 0.25.1
4
4
  Summary: A Dagster integration for k8s
5
5
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-k8s
6
6
  Author: Dagster Labs
@@ -4,6 +4,7 @@ import kubernetes.config
4
4
  from dagster import (
5
5
  Field,
6
6
  IntSource,
7
+ Map,
7
8
  Noneable,
8
9
  StringSource,
9
10
  _check as check,
@@ -73,6 +74,12 @@ _K8S_EXECUTOR_CONFIG_SCHEMA = merge_dicts(
73
74
  is_required=False,
74
75
  description="Raw Kubernetes configuration for each step launched by the executor.",
75
76
  ),
77
+ "per_step_k8s_config": Field(
78
+ Map(str, USER_DEFINED_K8S_JOB_CONFIG_SCHEMA, key_label_name="step_name"),
79
+ is_required=False,
80
+ default_value={},
81
+ description="Per op k8s configuration overrides.",
82
+ ),
76
83
  },
77
84
  )
78
85
 
@@ -161,6 +168,7 @@ def k8s_job_executor(init_context: InitExecutorContext) -> Executor:
161
168
  container_context=k8s_container_context,
162
169
  load_incluster_config=load_incluster_config,
163
170
  kubeconfig_file=kubeconfig_file,
171
+ per_step_k8s_config=exc_cfg.get("per_step_k8s_config", {}),
164
172
  ),
165
173
  retries=RetryMode.from_config(exc_cfg["retries"]), # type: ignore
166
174
  max_concurrent=check.opt_int_elem(exc_cfg, "max_concurrent"),
@@ -181,6 +189,7 @@ class K8sStepHandler(StepHandler):
181
189
  load_incluster_config: bool,
182
190
  kubeconfig_file: Optional[str],
183
191
  k8s_client_batch_api=None,
192
+ per_step_k8s_config=None,
184
193
  ):
185
194
  super().__init__()
186
195
 
@@ -202,6 +211,9 @@ class K8sStepHandler(StepHandler):
202
211
  self._api_client = DagsterKubernetesClient.production_client(
203
212
  batch_api_override=k8s_client_batch_api
204
213
  )
214
+ self._per_step_k8s_config = check.opt_dict_param(
215
+ per_step_k8s_config, "per_step_k8s_config", key_type=str, value_type=dict
216
+ )
205
217
 
206
218
  def _get_step_key(self, step_handler_context: StepHandlerContext) -> str:
207
219
  step_keys_to_execute = cast(
@@ -225,7 +237,14 @@ class K8sStepHandler(StepHandler):
225
237
  user_defined_k8s_config = get_user_defined_k8s_config(
226
238
  step_handler_context.step_tags[step_key]
227
239
  )
228
- return context.merge(K8sContainerContext(run_k8s_config=user_defined_k8s_config))
240
+
241
+ per_op_override = UserDefinedDagsterK8sConfig.from_dict(
242
+ self._per_step_k8s_config.get(step_key, {})
243
+ )
244
+
245
+ return context.merge(K8sContainerContext(run_k8s_config=user_defined_k8s_config)).merge(
246
+ K8sContainerContext(run_k8s_config=per_op_override)
247
+ )
229
248
 
230
249
  def _get_k8s_step_job_name(self, step_handler_context: StepHandlerContext):
231
250
  step_key = self._get_step_key(step_handler_context)
@@ -0,0 +1 @@
1
+ __version__ = "0.25.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dagster-k8s
3
- Version: 0.25.0
3
+ Version: 0.25.1
4
4
  Summary: A Dagster integration for k8s
5
5
  Home-page: https://github.com/dagster-io/dagster/tree/master/python_modules/libraries/dagster-k8s
6
6
  Author: Dagster Labs
@@ -1,3 +1,3 @@
1
- dagster==1.9.0
1
+ dagster==1.9.1
2
2
  kubernetes<32
3
3
  google-auth!=2.23.1
@@ -43,7 +43,7 @@ setup(
43
43
  include_package_data=True,
44
44
  python_requires=">=3.9,<3.13",
45
45
  install_requires=[
46
- "dagster==1.9.0",
46
+ "dagster==1.9.1",
47
47
  f"kubernetes<{KUBERNETES_VERSION_UPPER_BOUND}",
48
48
  # exclude a google-auth release that added an overly restrictive urllib3 pin that confuses dependency resolvers
49
49
  "google-auth!=2.23.1",
@@ -1 +0,0 @@
1
- __version__ = "0.25.0"
File without changes
File without changes
File without changes
File without changes