runnable 0.28.1__py3-none-any.whl → 0.28.2__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,6 +34,19 @@ class ImagePullPolicy(str, Enum):
34
34
  NEVER = "Never"
35
35
 
36
36
 
37
+ class TolerationOperator(str, Enum):
38
+ EXISTS = "Exists"
39
+ EQUAL = "Equal"
40
+
41
+
42
+ class Toleration(BaseModel):
43
+ key: str
44
+ operator: TolerationOperator = TolerationOperator.EQUAL
45
+ value: Optional[str]
46
+ effect: str
47
+ toleration_seconds: Optional[int] = Field(default=None)
48
+
49
+
37
50
  class LabelSelectorRequirement(BaseModel):
38
51
  key: str
39
52
  operator: Operator
@@ -124,7 +137,7 @@ class PVCVolume(BaseModel):
124
137
  class K8sTemplateSpec(BaseModel):
125
138
  active_deadline_seconds: int = Field(default=60 * 60 * 2) # 2 hours
126
139
  node_selector: Optional[dict[str, str]] = None
127
- tolerations: Optional[list[dict[str, str]]] = None
140
+ tolerations: Optional[list[Toleration]] = None
128
141
  volumes: Optional[list[HostPathVolume | PVCVolume]] = Field(
129
142
  default_factory=lambda: []
130
143
  )
@@ -260,7 +273,7 @@ class GenericK8sJobExecutor(GenericJobExecutor):
260
273
  tolerations = None
261
274
  if self.job_spec.template.spec.tolerations:
262
275
  tolerations = [
263
- self._client.V1Toleration(**toleration)
276
+ self._client.V1Toleration(**toleration.model_dump(by_alias=True))
264
277
  for toleration in self.job_spec.template.spec.tolerations
265
278
  ]
266
279
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runnable
3
- Version: 0.28.1
3
+ Version: 0.28.2
4
4
  Summary: Add your description here
5
5
  Author-email: "Vammi, Vijay" <vijay.vammi@astrazeneca.com>
6
6
  License-File: LICENSE
@@ -8,7 +8,7 @@ extensions/catalog/pyproject.toml,sha256=lLNxY6v04c8I5QK_zKw_E6sJTArSJRA_V-79kta
8
8
  extensions/catalog/s3.py,sha256=Sw5t8_kVRprn3uGGJCiHn7M9zw1CLaCOFj6YErtfG0o,287
9
9
  extensions/job_executor/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  extensions/job_executor/__init__.py,sha256=E2R6GV5cZTlZdqA5SVJ6ajZFh4oruM0k8AKHkpOZ3W8,5772
11
- extensions/job_executor/k8s.py,sha256=V5k6Rnf_sAFqptVbCrWs_x5sl3x3fSHwO96IZoiJxKU,15342
11
+ extensions/job_executor/k8s.py,sha256=nIEiIUOYYwAYKcl0DboWnsL55lM-GUUXoirikb3BVps,15650
12
12
  extensions/job_executor/k8s_job_spec.yaml,sha256=7aFpxHdO_p6Hkc3YxusUOuAQTD1Myu0yTPX9DrhxbOg,1158
13
13
  extensions/job_executor/local.py,sha256=FvxTk0vyxdrbLOAyNkLyjvmmowypabWOSITQBK_ffVE,1907
14
14
  extensions/job_executor/local_container.py,sha256=hyFnpicCp3_87mZsW64P6KSVbz7XMLjwJUWVjeCJ0_I,6627
@@ -56,8 +56,8 @@ runnable/sdk.py,sha256=T1nqDpLN9fULvvU9L-oY0EHqYdKUI9qk7oekLynm02Y,33568
56
56
  runnable/secrets.py,sha256=PXcEJw-4WPzeWRLfsatcPPyr1zkqgHzdRWRcS9vvpvM,2354
57
57
  runnable/tasks.py,sha256=X6xijut7ffwpfYDcXoN6y0AcRVd7fWHs676DJ00Kma4,29134
58
58
  runnable/utils.py,sha256=hBr7oGwGL2VgfITlQCTz-a1iwvvf7Mfl-HY8UdENZac,19929
59
- runnable-0.28.1.dist-info/METADATA,sha256=j-mrRLCkfv8GkWDLLFDtheBccn9CP4H-NvKAwm2L9ak,10047
60
- runnable-0.28.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
61
- runnable-0.28.1.dist-info/entry_points.txt,sha256=ioMbWojILtdibYVgh1jXJ00SpK-tX3gy7oVGDq61cSk,1839
62
- runnable-0.28.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
63
- runnable-0.28.1.dist-info/RECORD,,
59
+ runnable-0.28.2.dist-info/METADATA,sha256=_cIg_HPnrDO-LUIUuH2riE8g2oPGzbvEUrRkdWYsTEI,10047
60
+ runnable-0.28.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
61
+ runnable-0.28.2.dist-info/entry_points.txt,sha256=ioMbWojILtdibYVgh1jXJ00SpK-tX3gy7oVGDq61cSk,1839
62
+ runnable-0.28.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
63
+ runnable-0.28.2.dist-info/RECORD,,