zenml-nightly 0.70.0.dev20241126__py3-none-any.whl → 0.70.0.dev20241128__py3-none-any.whl

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 (38) hide show
  1. zenml/VERSION +1 -1
  2. zenml/artifact_stores/base_artifact_store.py +2 -2
  3. zenml/artifacts/utils.py +1 -1
  4. zenml/cli/__init__.py +3 -0
  5. zenml/cli/login.py +26 -0
  6. zenml/integrations/__init__.py +1 -0
  7. zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +14 -6
  8. zenml/integrations/constants.py +1 -0
  9. zenml/integrations/kubernetes/orchestrators/kube_utils.py +46 -2
  10. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +13 -2
  11. zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py +3 -1
  12. zenml/integrations/kubernetes/orchestrators/manifest_utils.py +3 -2
  13. zenml/integrations/kubernetes/step_operators/kubernetes_step_operator.py +3 -1
  14. zenml/integrations/modal/__init__.py +46 -0
  15. zenml/integrations/modal/flavors/__init__.py +26 -0
  16. zenml/integrations/modal/flavors/modal_step_operator_flavor.py +125 -0
  17. zenml/integrations/modal/step_operators/__init__.py +22 -0
  18. zenml/integrations/modal/step_operators/modal_step_operator.py +242 -0
  19. zenml/io/filesystem.py +2 -2
  20. zenml/io/local_filesystem.py +3 -3
  21. zenml/model/model.py +0 -82
  22. zenml/orchestrators/step_run_utils.py +8 -3
  23. zenml/orchestrators/step_runner.py +1 -1
  24. zenml/orchestrators/utils.py +24 -2
  25. zenml/steps/entrypoint_function_utils.py +3 -1
  26. zenml/zen_server/cloud_utils.py +3 -1
  27. zenml/zen_server/rbac/endpoint_utils.py +6 -4
  28. zenml/zen_server/rbac/models.py +3 -2
  29. zenml/zen_server/rbac/utils.py +4 -7
  30. zenml/zen_server/routers/users_endpoints.py +35 -37
  31. zenml/zen_server/routers/workspaces_endpoints.py +25 -36
  32. zenml/zen_stores/sql_zen_store.py +13 -0
  33. {zenml_nightly-0.70.0.dev20241126.dist-info → zenml_nightly-0.70.0.dev20241128.dist-info}/METADATA +1 -1
  34. {zenml_nightly-0.70.0.dev20241126.dist-info → zenml_nightly-0.70.0.dev20241128.dist-info}/RECORD +37 -33
  35. zenml/utils/cloud_utils.py +0 -40
  36. {zenml_nightly-0.70.0.dev20241126.dist-info → zenml_nightly-0.70.0.dev20241128.dist-info}/LICENSE +0 -0
  37. {zenml_nightly-0.70.0.dev20241126.dist-info → zenml_nightly-0.70.0.dev20241128.dist-info}/WHEEL +0 -0
  38. {zenml_nightly-0.70.0.dev20241126.dist-info → zenml_nightly-0.70.0.dev20241128.dist-info}/entry_points.txt +0 -0
@@ -46,14 +46,10 @@ from zenml.zen_server.auth import (
46
46
  )
47
47
  from zenml.zen_server.exceptions import error_response
48
48
  from zenml.zen_server.rate_limit import RequestLimiter
49
- from zenml.zen_server.rbac.endpoint_utils import (
50
- verify_permissions_and_create_entity,
51
- )
52
49
  from zenml.zen_server.rbac.models import Action, Resource, ResourceType
53
50
  from zenml.zen_server.rbac.utils import (
54
51
  dehydrate_page,
55
52
  dehydrate_response_model,
56
- get_allowed_resource_ids,
57
53
  get_schema_for_resource_type,
58
54
  update_resource_membership,
59
55
  verify_permission_for_model,
@@ -112,17 +108,18 @@ def list_users(
112
108
  Returns:
113
109
  A list of all users.
114
110
  """
115
- allowed_ids = get_allowed_resource_ids(resource_type=ResourceType.USER)
116
- if allowed_ids is not None:
117
- # Make sure users can see themselves
118
- allowed_ids.add(auth_context.user.id)
119
- else:
120
- if not auth_context.user.is_admin and not server_config().rbac_enabled:
121
- allowed_ids = {auth_context.user.id}
122
-
123
- user_filter_model.configure_rbac(
124
- authenticated_user_id=auth_context.user.id, id=allowed_ids
125
- )
111
+ # allowed_ids = get_allowed_resource_ids(resource_type=ResourceType.USER)
112
+ # if allowed_ids is not None:
113
+ # # Make sure users can see themselves
114
+ # allowed_ids.add(auth_context.user.id)
115
+ # else:
116
+ # if not auth_context.user.is_admin and not server_config().rbac_enabled:
117
+ # allowed_ids = {auth_context.user.id}
118
+ if not auth_context.user.is_admin and not server_config().rbac_enabled:
119
+ user_filter_model.configure_rbac(
120
+ authenticated_user_id=auth_context.user.id,
121
+ id={auth_context.user.id},
122
+ )
126
123
 
127
124
  page = zen_store().list_users(
128
125
  user_filter_model=user_filter_model, hydrate=hydrate
@@ -175,11 +172,12 @@ if server_config().auth_scheme != AuthScheme.EXTERNAL:
175
172
  auth_context.user.is_admin, "create user"
176
173
  )
177
174
 
178
- new_user = verify_permissions_and_create_entity(
179
- request_model=user,
180
- resource_type=ResourceType.USER,
181
- create_method=zen_store().create_user,
182
- )
175
+ # new_user = verify_permissions_and_create_entity(
176
+ # request_model=user,
177
+ # resource_type=ResourceType.USER,
178
+ # create_method=zen_store().create_user,
179
+ # )
180
+ new_user = zen_store().create_user(user)
183
181
 
184
182
  # add back the original unhashed activation token, if generated, to
185
183
  # send it back to the client
@@ -217,10 +215,10 @@ def get_user(
217
215
  verify_admin_status_if_no_rbac(
218
216
  auth_context.user.is_admin, "get other user"
219
217
  )
220
- verify_permission_for_model(
221
- user,
222
- action=Action.READ,
223
- )
218
+ # verify_permission_for_model(
219
+ # user,
220
+ # action=Action.READ,
221
+ # )
224
222
 
225
223
  return dehydrate_response_model(user)
226
224
 
@@ -304,10 +302,10 @@ if server_config().auth_scheme != AuthScheme.EXTERNAL:
304
302
  verify_admin_status_if_no_rbac(
305
303
  auth_context.user.is_admin, "update other user account"
306
304
  )
307
- verify_permission_for_model(
308
- user,
309
- action=Action.UPDATE,
310
- )
305
+ # verify_permission_for_model(
306
+ # user,
307
+ # action=Action.UPDATE,
308
+ # )
311
309
 
312
310
  # Validate a password change
313
311
  if user_update.password is not None:
@@ -497,10 +495,10 @@ if server_config().auth_scheme != AuthScheme.EXTERNAL:
497
495
  verify_admin_status_if_no_rbac(
498
496
  auth_context.user.is_admin, "deactivate user"
499
497
  )
500
- verify_permission_for_model(
501
- user,
502
- action=Action.UPDATE,
503
- )
498
+ # verify_permission_for_model(
499
+ # user,
500
+ # action=Action.UPDATE,
501
+ # )
504
502
 
505
503
  user_update = UserUpdate(
506
504
  active=False,
@@ -548,10 +546,10 @@ if server_config().auth_scheme != AuthScheme.EXTERNAL:
548
546
  verify_admin_status_if_no_rbac(
549
547
  auth_context.user.is_admin, "delete user"
550
548
  )
551
- verify_permission_for_model(
552
- user,
553
- action=Action.DELETE,
554
- )
549
+ # verify_permission_for_model(
550
+ # user,
551
+ # action=Action.DELETE,
552
+ # )
555
553
 
556
554
  zen_store().delete_user(user_name_or_id=user_name_or_id)
557
555
 
@@ -746,7 +744,7 @@ if server_config().rbac_enabled:
746
744
  KeyError: If no resource with the given type and ID exists.
747
745
  """
748
746
  user = zen_store().get_user(user_name_or_id)
749
- verify_permission_for_model(user, action=Action.READ)
747
+ # verify_permission_for_model(user, action=Action.READ)
750
748
 
751
749
  if user.id == auth_context.user.id:
752
750
  raise ValueError(
@@ -98,13 +98,12 @@ from zenml.zen_server.feature_gate.endpoint_utils import (
98
98
  )
99
99
  from zenml.zen_server.rbac.endpoint_utils import (
100
100
  verify_permissions_and_create_entity,
101
- verify_permissions_and_delete_entity,
102
- verify_permissions_and_get_entity,
103
101
  verify_permissions_and_list_entities,
104
- verify_permissions_and_update_entity,
105
102
  )
106
103
  from zenml.zen_server.rbac.models import Action, ResourceType
107
104
  from zenml.zen_server.rbac.utils import (
105
+ dehydrate_page,
106
+ dehydrate_response_model,
108
107
  get_allowed_resource_ids,
109
108
  verify_permission,
110
109
  verify_permission_for_model,
@@ -146,12 +145,10 @@ def list_workspaces(
146
145
  Returns:
147
146
  A list of workspaces.
148
147
  """
149
- return verify_permissions_and_list_entities(
150
- filter_model=workspace_filter_model,
151
- resource_type=ResourceType.WORKSPACE,
152
- list_method=zen_store().list_workspaces,
153
- hydrate=hydrate,
148
+ workspaces = zen_store().list_workspaces(
149
+ workspace_filter_model, hydrate=hydrate
154
150
  )
151
+ return dehydrate_page(workspaces)
155
152
 
156
153
 
157
154
  @router.post(
@@ -160,7 +157,7 @@ def list_workspaces(
160
157
  )
161
158
  @handle_exceptions
162
159
  def create_workspace(
163
- workspace: WorkspaceRequest,
160
+ workspace_request: WorkspaceRequest,
164
161
  _: AuthContext = Security(authorize),
165
162
  ) -> WorkspaceResponse:
166
163
  """Creates a workspace based on the requestBody.
@@ -168,16 +165,13 @@ def create_workspace(
168
165
  # noqa: DAR401
169
166
 
170
167
  Args:
171
- workspace: Workspace to create.
168
+ workspace_request: Workspace to create.
172
169
 
173
170
  Returns:
174
171
  The created workspace.
175
172
  """
176
- return verify_permissions_and_create_entity(
177
- request_model=workspace,
178
- resource_type=ResourceType.WORKSPACE,
179
- create_method=zen_store().create_workspace,
180
- )
173
+ workspace = zen_store().create_workspace(workspace_request)
174
+ return dehydrate_response_model(workspace)
181
175
 
182
176
 
183
177
  @router.get(
@@ -203,11 +197,10 @@ def get_workspace(
203
197
  Returns:
204
198
  The requested workspace.
205
199
  """
206
- return verify_permissions_and_get_entity(
207
- id=workspace_name_or_id,
208
- get_method=zen_store().get_workspace,
209
- hydrate=hydrate,
200
+ workspace = zen_store().get_workspace(
201
+ workspace_name_or_id, hydrate=hydrate
210
202
  )
203
+ return dehydrate_response_model(workspace)
211
204
 
212
205
 
213
206
  @router.put(
@@ -231,12 +224,11 @@ def update_workspace(
231
224
  Returns:
232
225
  The updated workspace.
233
226
  """
234
- return verify_permissions_and_update_entity(
235
- id=workspace_name_or_id,
236
- update_model=workspace_update,
237
- get_method=zen_store().get_workspace,
238
- update_method=zen_store().update_workspace,
227
+ workspace = zen_store().get_workspace(workspace_name_or_id, hydrate=False)
228
+ updated_workspace = zen_store().update_workspace(
229
+ workspace_id=workspace.id, workspace_update=workspace_update
239
230
  )
231
+ return dehydrate_response_model(updated_workspace)
240
232
 
241
233
 
242
234
  @router.delete(
@@ -253,11 +245,7 @@ def delete_workspace(
253
245
  Args:
254
246
  workspace_name_or_id: Name or ID of the workspace.
255
247
  """
256
- verify_permissions_and_delete_entity(
257
- id=workspace_name_or_id,
258
- get_method=zen_store().get_workspace,
259
- delete_method=zen_store().delete_workspace,
260
- )
248
+ zen_store().delete_workspace(workspace_name_or_id)
261
249
 
262
250
 
263
251
  @router.get(
@@ -951,20 +939,21 @@ def get_or_create_pipeline_run(
951
939
  "is not supported."
952
940
  )
953
941
 
954
- verify_permission(
955
- resource_type=ResourceType.PIPELINE_RUN, action=Action.CREATE
956
- )
942
+ def _pre_creation_hook() -> None:
943
+ verify_permission(
944
+ resource_type=ResourceType.PIPELINE_RUN, action=Action.CREATE
945
+ )
946
+ check_entitlement(resource_type=ResourceType.PIPELINE_RUN)
957
947
 
958
948
  run, created = zen_store().get_or_create_run(
959
- pipeline_run=pipeline_run,
960
- pre_creation_hook=lambda: check_entitlement(
961
- resource_type=ResourceType.PIPELINE_RUN
962
- ),
949
+ pipeline_run=pipeline_run, pre_creation_hook=_pre_creation_hook
963
950
  )
964
951
  if created:
965
952
  report_usage(
966
953
  resource_type=ResourceType.PIPELINE_RUN, resource_id=run.id
967
954
  )
955
+ else:
956
+ verify_permission_for_model(run, action=Action.READ)
968
957
 
969
958
  return run, created
970
959
 
@@ -5329,6 +5329,19 @@ class SqlZenStore(BaseZenStore):
5329
5329
  "orchestrator run ID."
5330
5330
  )
5331
5331
 
5332
+ try:
5333
+ # We first try the most likely case that the run was already
5334
+ # created by a previous step in the same pipeline run.
5335
+ return (
5336
+ self._get_run_by_orchestrator_run_id(
5337
+ orchestrator_run_id=pipeline_run.orchestrator_run_id,
5338
+ deployment_id=pipeline_run.deployment,
5339
+ ),
5340
+ False,
5341
+ )
5342
+ except KeyError:
5343
+ pass
5344
+
5332
5345
  try:
5333
5346
  return (
5334
5347
  self._replace_placeholder_run(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zenml-nightly
3
- Version: 0.70.0.dev20241126
3
+ Version: 0.70.0.dev20241128
4
4
  Summary: ZenML: Write production-ready ML code.
5
5
  Home-page: https://zenml.io
6
6
  License: Apache-2.0
@@ -6,7 +6,7 @@ RELEASE_NOTES.md,sha256=DleauURHESDrTrcVzCVLqPiSM9NIAk5vldvEFMc7qlk,389375
6
6
  ROADMAP.md,sha256=hiLSmr16BH8Dfx7SaQM4JcXCGCVl6mFZPFAwJeDTrJU,407
7
7
  SECURITY.md,sha256=9DepA8y03yvCZLHEfcXLTDH4lUyKHquAdukBsccNN7c,682
8
8
  zenml/README.md,sha256=827dekbOWAs1BpW7VF1a4d7EbwPbjwccX-2zdXBENZo,1777
9
- zenml/VERSION,sha256=VekbxgJitTHxKg9JtTIM8dJo4IBfivy53_RdaRxjkO8,19
9
+ zenml/VERSION,sha256=NNMdj0FLYeBDdXqt2fW55JGAJCyPz22NxDtWUZCXycg,19
10
10
  zenml/__init__.py,sha256=SkMObQA41ajqdZqGErN00S1Vf3KAxpLvbZ-OBy5uYoo,2130
11
11
  zenml/actions/__init__.py,sha256=mrt6wPo73iKRxK754_NqsGyJ3buW7RnVeIGXr1xEw8Y,681
12
12
  zenml/actions/base_action.py,sha256=UcaHev6BTuLDwuswnyaPjdA8AgUqB5xPZ-lRtuvf2FU,25553
@@ -24,7 +24,7 @@ zenml/analytics/utils.py,sha256=JZeBZCdhZix0uwF212IR9o2wCOYoIYzNrI87DAK1krw,8009
24
24
  zenml/annotators/__init__.py,sha256=rtH5wfYavUREkinnJHOhnYgjx9CJ7Urj20qWsTrZZ6w,769
25
25
  zenml/annotators/base_annotator.py,sha256=9eTHvt14h3DNsSz8xvaEAXV3KntT_U58CYhBNz-it5U,4988
26
26
  zenml/artifact_stores/__init__.py,sha256=9AvGSpHj8lN0Bs0RKOJtR9jWNZLYW1d8gbOft-hYoIg,1804
27
- zenml/artifact_stores/base_artifact_store.py,sha256=UvptftE6xdVPHpUt7FbshFXMnpirFBww97A8vBIvoOo,15539
27
+ zenml/artifact_stores/base_artifact_store.py,sha256=jiOoRCYM9Pcll5NbdvhU5FJIG8b1f6j8nGMIO_BioMk,15539
28
28
  zenml/artifact_stores/local_artifact_store.py,sha256=pGgbc4o870XadSree9x7lK-Zzt11t02tz24QSt60Rmg,5883
29
29
  zenml/artifacts/__init__.py,sha256=knhroJ2h0uHBCGzAiBBGJEiuhEA3cwI6XYBRIyXdbkQ,613
30
30
  zenml/artifacts/artifact_config.py,sha256=u0VDBkjbmwkm1nHsgTgvtpLHQiL0RUfQcMCb2mYxSkA,3995
@@ -32,8 +32,8 @@ zenml/artifacts/external_artifact.py,sha256=7nLANV0vsGC36H1s_B_awX4hnZgXHCGIscQ2
32
32
  zenml/artifacts/external_artifact_config.py,sha256=P172p0JOu8Xx1F8RCQut1dnRpt5lpWXGNqMbY-V90sI,3323
33
33
  zenml/artifacts/preexisting_data_materializer.py,sha256=dcahDcHUD3Lvn0-6zE2BG84bkyo_ydAgzBWxtbyJJZQ,3325
34
34
  zenml/artifacts/unmaterialized_artifact.py,sha256=JNPKq_sNifQx5wP8jEw7TGBEi26zwKirPGlWX9uxbJI,1300
35
- zenml/artifacts/utils.py,sha256=iqAESu_Wy5n8tMl9jTiD8vohLQy1xoo7H3oQ1MM1ohM,34529
36
- zenml/cli/__init__.py,sha256=o72CwXCP9TxQpS-FH9RZuDfA2FifFpIsISESNORh6aI,74915
35
+ zenml/artifacts/utils.py,sha256=jvAs15q0UAzsJEh2C0a3yn4FarIPmllZzq2kNXAY5vw,34524
36
+ zenml/cli/__init__.py,sha256=ZsOn6CVDgpcmaQPEWKqmLDou_Jh1jisULiJIuusFYlA,75053
37
37
  zenml/cli/annotator.py,sha256=tEdducGdFn57DFLJVZQ-MyXH1auTGFueRmDc78N-vPQ,6970
38
38
  zenml/cli/artifact.py,sha256=7lsAS52DroBTFkFWxkyb-lIDOGP5jPL_Se_RDG_2jgg,9564
39
39
  zenml/cli/authorized_device.py,sha256=_1PzE3BM2SmwtuzRliEMStvbBRKWQmg_lbwCRtn8dBg,4324
@@ -45,7 +45,7 @@ zenml/cli/downgrade.py,sha256=eTpXts8y4s3wEUwOlvZGWsTngoMV8Stuzj0K-SAQUGU,1887
45
45
  zenml/cli/feature.py,sha256=Q8tNvWBlRze3FUyn0_VpOdl316ZW87476j7ezJb16GA,4387
46
46
  zenml/cli/formatter.py,sha256=mHyRFEbmbPQEihm53ybBCUzHAyJGcYHDzjY95WN_qOc,6441
47
47
  zenml/cli/integration.py,sha256=O-JbkDMyJfwrzwm--Ddh41siLZ8lDuXwIiCaZvjdCt4,16208
48
- zenml/cli/login.py,sha256=2JG7mxBs_BgzxojDeielZuTVp96FrbbTzCSZ48WZdzA,34202
48
+ zenml/cli/login.py,sha256=xZdDiTbFiHvzvd5o08VRL01Oim5-0NSeKlxpBayAvss,35232
49
49
  zenml/cli/model.py,sha256=hXRXkMUOOf0eTo07WnQHNeeDDQLiH0m76E-xypFLYF0,22993
50
50
  zenml/cli/model_registry.py,sha256=cNAZ3iBa0ofdMD8inQil05yLJq7rWKgadSKMmVdlHOQ,20806
51
51
  zenml/cli/pipeline.py,sha256=_SfjpnVqPDr22dYKl3xuKz5IBPMaDMaL89_f4TbgsP4,18048
@@ -130,7 +130,7 @@ zenml/image_builders/base_image_builder.py,sha256=-Y5N3zFZsMJvVuzm1M3tU-r38fT9KC
130
130
  zenml/image_builders/build_context.py,sha256=TTY5T8aG4epeKOOpLItr8PDjmDijfcGaY3zFzmGV1II,6157
131
131
  zenml/image_builders/local_image_builder.py,sha256=R_zMpERtUCWLLDZg9kXuAQSWLtin1ve_rxpbUBiym7s,6448
132
132
  zenml/integrations/README.md,sha256=hFIZwjsAItHjvDWVBqGSF-ZAeMsFR2GKX1Axl2g1Bz0,6190
133
- zenml/integrations/__init__.py,sha256=ciJbNsqNPTHpWeMbFfLNa8fJ0jg8AxJUjOPnqrYPl9M,4843
133
+ zenml/integrations/__init__.py,sha256=GiLRzSCu1O9Jg5NSCRKVDWLIXtKuc90ozntqYjUHo08,4905
134
134
  zenml/integrations/airflow/__init__.py,sha256=7ffV98vlrdH1RfWHkv8TXNd3hjtXSx4z2U7MZin-87I,1483
135
135
  zenml/integrations/airflow/flavors/__init__.py,sha256=Y48mn5OxERPPaXDBd5CFAIn6yhLPsgN5ZMk26hLXiNM,800
136
136
  zenml/integrations/airflow/flavors/airflow_orchestrator_flavor.py,sha256=VfZQD2H-WwIgVD1Fi7uewdnkvRoSykY0YCfROFDadXg,6189
@@ -150,7 +150,7 @@ zenml/integrations/aws/flavors/aws_container_registry_flavor.py,sha256=GIDLOySz1
150
150
  zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py,sha256=UyHXFP9rn9DQ-Erd9Rtqun9GTcp3Rftbn2a9Xysh_TU,12826
151
151
  zenml/integrations/aws/flavors/sagemaker_step_operator_flavor.py,sha256=OnNokixzGvOTBoZJQ5TDG3k4FFsP1pJmxbiij2VLW4s,5978
152
152
  zenml/integrations/aws/orchestrators/__init__.py,sha256=Wh0Fhtt_uo6YrkvXY9kL0M478FL7XpapjoFreUZbgUg,794
153
- zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py,sha256=uPB8tdR8Uya86R8LCat4RJgcl5c1pSdb-jkhaG-Jv-A,26482
153
+ zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py,sha256=OlnXr_KTWE8fOyO6bNmsCbRdRaCPqWGrUEX4gyVbD80,26801
154
154
  zenml/integrations/aws/orchestrators/sagemaker_orchestrator_entrypoint_config.py,sha256=WXCWdVojIZxx5_3-g1T95S2vsJ-RLNGcp-V409wgme0,1555
155
155
  zenml/integrations/aws/service_connectors/__init__.py,sha256=w2Md40yG89PwmU9eBceh6dGy3XYZ3MKusNAZ51sGOgE,783
156
156
  zenml/integrations/aws/service_connectors/aws_service_connector.py,sha256=O524UfOHJ3wRiPq7jpGPmgIWmn9ezhgmS5iilbyfNvg,92327
@@ -198,7 +198,7 @@ zenml/integrations/comet/experiment_trackers/__init__.py,sha256=reGygyAEgMrlc-9Q
198
198
  zenml/integrations/comet/experiment_trackers/comet_experiment_tracker.py,sha256=JnB_TqiCD8t9t6cVxWoomxvBuhA4jIJHYFZ-gKdGXf8,5767
199
199
  zenml/integrations/comet/flavors/__init__.py,sha256=x-XK-YwHMxz3zZPoIXo3X5vq_5VYUJAnsIoEX_ZooOU,883
200
200
  zenml/integrations/comet/flavors/comet_experiment_tracker_flavor.py,sha256=Rkk1UtEVY2MQBKbUHKxYQpDTWndkOYF8KuKuMGZAb24,3706
201
- zenml/integrations/constants.py,sha256=Qi3uwS9jIxGY1v4nES-5npWuQTS2uOj6IEUKyOzLehM,2055
201
+ zenml/integrations/constants.py,sha256=hbRRrkXz4qBFFZOl81G_2u7O-gWLU8DTSy43HlyUDUY,2071
202
202
  zenml/integrations/databricks/__init__.py,sha256=dkyTxfwIete7mRBlDzIfsTmllYgrd4DB2P4brXHPMUs,2414
203
203
  zenml/integrations/databricks/flavors/__init__.py,sha256=S-BZ3R9iKGOw-aUltR8I0ULEe2-LKGTIZhQv9TlnXfk,1122
204
204
  zenml/integrations/databricks/flavors/databricks_model_deployer_flavor.py,sha256=eDyYVqO2x1A9qgGICKJx5Z3qiUuTMfW9R3NZUO8OiRk,3591
@@ -337,17 +337,17 @@ zenml/integrations/kubernetes/flavors/__init__.py,sha256=a5gU45qCj3FkLwl_uVjlIkL
337
337
  zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py,sha256=HkCyDWqv1lDd8W6GeXE6PeHQiUrHPfSkfw3sB0B2xuA,7911
338
338
  zenml/integrations/kubernetes/flavors/kubernetes_step_operator_flavor.py,sha256=ILN-H4cl7z3i4ltb4UBs55wbtIo871b4ib28pYkQoyQ,5605
339
339
  zenml/integrations/kubernetes/orchestrators/__init__.py,sha256=TJID3OTieZBox36WpQpzD0jdVRA_aZVcs_bNtfXS8ik,811
340
- zenml/integrations/kubernetes/orchestrators/kube_utils.py,sha256=9PSr1wAR7qGjrtsSrIT00P-5c3eFcVV2tzXzTbH9WOc,10615
341
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py,sha256=ElvTfgDEKnhFKLy1TL7v-34Paq9v5rXkXN4Otzonvig,22418
342
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py,sha256=hGvBUnUPhpjudDfumiLLSDsNU2fJR1C-BEPJ671h-VY,6383
340
+ zenml/integrations/kubernetes/orchestrators/kube_utils.py,sha256=0Cj1RoiuXL4oACnfyzEpOiCTnHt_YoF5ml3bhobyOEg,12195
341
+ zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py,sha256=W6YpTQXXzQcpfskJcuYwN1LMiN8eUJQHWJ4QXMmADFs,22899
342
+ zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py,sha256=4BBy8-0xJahRjpkFc9fYy90uIRxOoy-s-GmXZeFE2tQ,6442
343
343
  zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint_configuration.py,sha256=Y7uGU8eksMluGyXYsf688CwpiXwI_W6WYLscYwRZXRY,2494
344
- zenml/integrations/kubernetes/orchestrators/manifest_utils.py,sha256=HS8FDu8m9bDFpnmJ5RCe0ZH57F__xqIuo6Fo7wJkL7E,11365
344
+ zenml/integrations/kubernetes/orchestrators/manifest_utils.py,sha256=urcPGUm51vRA1a5eZk2jEGjFrDLPHqD4jTVJDpxngnU,11486
345
345
  zenml/integrations/kubernetes/pod_settings.py,sha256=NMp4aHKRG29mh1Nq5uvV78Hzj1cMZj93poWCBiwov-M,4898
346
346
  zenml/integrations/kubernetes/serialization_utils.py,sha256=cPSe4szdBLzDnUZT9nQc2CCA8h84aj5oTA8vsUE36ig,7000
347
347
  zenml/integrations/kubernetes/service_connectors/__init__.py,sha256=Uf6zlHIapYrRDl3xOPWQ2jA7jt85SXx1U7DmSxzxTvQ,818
348
348
  zenml/integrations/kubernetes/service_connectors/kubernetes_service_connector.py,sha256=kgdh25dOBNTxLAFft_cknwHoWRAGrdzUu9fLsm4ZlfY,19579
349
349
  zenml/integrations/kubernetes/step_operators/__init__.py,sha256=40utDPYAezxHsFgO0UUIT_6XpCDzDapje6OH951XsTs,806
350
- zenml/integrations/kubernetes/step_operators/kubernetes_step_operator.py,sha256=sEz8IZkzo0qarnPCr8zarBPHR0T0i6HL8r9nSNHQBxI,8310
350
+ zenml/integrations/kubernetes/step_operators/kubernetes_step_operator.py,sha256=x7-ZO1r85eqOE_RS4IM0H7NGYZcB9okTj6qFrh9N5HM,8376
351
351
  zenml/integrations/label_studio/__init__.py,sha256=tXmK0Wu_bFgtL7CqPPubSK99PaBZSyAu90aghHlXAek,1520
352
352
  zenml/integrations/label_studio/annotators/__init__.py,sha256=YtOtSfS1_NBoLoXIygEerElBP1-B98UU0HOAEfzdRY0,821
353
353
  zenml/integrations/label_studio/annotators/label_studio_annotator.py,sha256=VkuW4zsZhHz8__P9WTTLRTF-FOmoYB-_cFqBdu-PUyA,30498
@@ -396,6 +396,11 @@ zenml/integrations/mlflow/services/mlflow_deployment.py,sha256=iu8u0jQLKNf5oueGP
396
396
  zenml/integrations/mlflow/steps/__init__.py,sha256=5IXeipGRfBjtqr0ZdbQLliuQNr5GXsm7xkhpqfOg6qI,770
397
397
  zenml/integrations/mlflow/steps/mlflow_deployer.py,sha256=E4A-tiKsVG-GDy1vaiOw37mpa4SzJR3T-HZ6crzONyo,12238
398
398
  zenml/integrations/mlflow/steps/mlflow_registry.py,sha256=BeOhuo72ghuJWEIdr4YNqit_ImSljW4suUE9XguFjeQ,6425
399
+ zenml/integrations/modal/__init__.py,sha256=jyIhsLVjxhepKEpO-uyNJ5NSuSqzBIJnhb_lHdHFFFM,1525
400
+ zenml/integrations/modal/flavors/__init__.py,sha256=169Oirq-NUVl-2oiByrMcL3HBM0R971BrS6xVBk0DB4,922
401
+ zenml/integrations/modal/flavors/modal_step_operator_flavor.py,sha256=r7xkzER0hvNY6N0CEZMiF1vRk7A7CfkuYOeGDJ517N4,3978
402
+ zenml/integrations/modal/step_operators/__init__.py,sha256=8NYCXe7aNPnldCI9IjcHzJC_B5e4gtfGzpHNZ-ToKnE,780
403
+ zenml/integrations/modal/step_operators/modal_step_operator.py,sha256=J2HiNaGnlP6kDLBnQKz8mQKaoaQLitFkjHhOP_XRWgI,8543
399
404
  zenml/integrations/neptune/__init__.py,sha256=FUaMxVC9uPryIY7reWdzfMcMdsf5T3HjBZ1QjpjEX4Q,1717
400
405
  zenml/integrations/neptune/experiment_trackers/__init__.py,sha256=DJi7lk7NXYrRg3VGPPSEsMycKECDfXL-h2V0A0r7z8Y,833
401
406
  zenml/integrations/neptune/experiment_trackers/neptune_experiment_tracker.py,sha256=c5CigxkeYGBadcchTOSjZPaDAtAkSzNM9EnaE2dOgc8,3730
@@ -567,9 +572,9 @@ zenml/integrations/xgboost/materializers/xgboost_booster_materializer.py,sha256=
567
572
  zenml/integrations/xgboost/materializers/xgboost_dmatrix_materializer.py,sha256=G_lL1AZywJdnffVlk5VEnfYK0drAov2Z3EGppN2GSkw,2803
568
573
  zenml/io/__init__.py,sha256=a3YmPvRq9mw0IAcJft3IjD6CKcgxYGBY2gsiJW1Jrmk,843
569
574
  zenml/io/fileio.py,sha256=6Z4ywg-1X49Xemf22sm7r9Z603kqUSpQAkw46UDBTyk,8758
570
- zenml/io/filesystem.py,sha256=KHngX6kfSLT7VxV-K3wI-iv-SMDrctg18btgtCZapdc,6580
575
+ zenml/io/filesystem.py,sha256=3z13GIQpEVmatGXzrTZj8nIsaYb_N3bHwmgH_FKrMiA,6580
571
576
  zenml/io/filesystem_registry.py,sha256=stujDg4a5k983WMwp3rj4Z4puiUco4REyVoIoMIpIII,4541
572
- zenml/io/local_filesystem.py,sha256=0UMptQHbm-FfXgrbwQ1oX9AtXqZpQ7KaJL9rpxMfxOY,7386
577
+ zenml/io/local_filesystem.py,sha256=xQTZPT5cpooptUV8KiifxZojS6pWCv1-6UUxitUYb_E,7386
573
578
  zenml/logger.py,sha256=hS0fHWu2o7MSAgkPfDIkipRE36SfXrMKLPwJvddcYk4,6651
574
579
  zenml/logging/__init__.py,sha256=lnqbOa31wAHwPP5f8vZazOrUwnP2QviLiIVwxoAefD8,975
575
580
  zenml/logging/step_logging.py,sha256=zN0qgj9iNt4yGf6DPmq_C9Z5zd98uYGYSFXtYw2FiQQ,17649
@@ -604,7 +609,7 @@ zenml/metadata/lazy_load.py,sha256=DtYSkhdTr2LDJoq2GYkwfLHy-3xcVoOFu_y4PKhVU_o,2
604
609
  zenml/metadata/metadata_types.py,sha256=ts1EhF2qGZb8siKv1nkPSeFeyR2kbiIODkpk-hyoTxE,6745
605
610
  zenml/model/__init__.py,sha256=bFPHnWCgAGAjUPCmODHUmwbB0KGljNSEik857Yi-QX0,673
606
611
  zenml/model/lazy_load.py,sha256=nnu37QaIPU0peqVCEwG3k37LJe_D1i6RCs_8xoId6yk,4583
607
- zenml/model/model.py,sha256=C9a-BX70nOFpyNI0yUq6kNoA5-ocjywiaQqmtndlup0,30497
612
+ zenml/model/model.py,sha256=htrDWFjvkv2Cu6jgOGR-UVJ9lwITi8uQP3ht1J8SZAs,27166
608
613
  zenml/model/utils.py,sha256=BWGsGUfdo0UYNPazhnxRWCgQto38MJeny3RnTdMcPzY,5838
609
614
  zenml/model_deployers/__init__.py,sha256=oVBLtTfrNenl5OI1iqtQUvJ0vpocRVUN_HIt8qpoZmY,1730
610
615
  zenml/model_deployers/base_model_deployer.py,sha256=Xg5lxBFYM41vqxQhaB54Dxu_zLCyPDgqwrTyMcAxiS4,24609
@@ -680,10 +685,10 @@ zenml/orchestrators/local_docker/local_docker_orchestrator.py,sha256=kzxvmKwEi7i
680
685
  zenml/orchestrators/output_utils.py,sha256=Gz7SX2cbQ3w4eyfU0XuhKEKGtalQGBoc6moDRNVHN8M,3311
681
686
  zenml/orchestrators/publish_utils.py,sha256=aNwgTDmVSq9qCDP3Ldk77YNXnWx_YHjYNTEJwYeZo9s,4579
682
687
  zenml/orchestrators/step_launcher.py,sha256=HGdshxQAwYHLHa_nJyIkMgrSTbxTQKqI63mKaSQ3ZVg,17758
683
- zenml/orchestrators/step_run_utils.py,sha256=f8PLhfEKfMpY8S8vkqzyTwyy-94idl3rzr1xAaZzLzc,19852
684
- zenml/orchestrators/step_runner.py,sha256=rInaBHdU-43xkho2xW_OlMsAZRVCanry8jRCBveVBpA,25076
688
+ zenml/orchestrators/step_run_utils.py,sha256=FjnNGYz8NF-F_WP_8w7Zny0zDd6JanCp3IAFMjKFU9g,19996
689
+ zenml/orchestrators/step_runner.py,sha256=5bRN_0kAj8Jnk0cKt-xGnLrywmbSsqqkcBaJ3jYgDHc,25084
685
690
  zenml/orchestrators/topsort.py,sha256=D8evz3X47zwpXd90NMLsJD-_uCeXtV6ClzNfDUrq7cM,5784
686
- zenml/orchestrators/utils.py,sha256=mW-abfIeLRsprE1Y-wGvURfJzNNtFHMyRrkgX_LEpkw,11446
691
+ zenml/orchestrators/utils.py,sha256=DCKQuAzv9Ba2BxAGeexgCc9Q_1nzbqzhr4B4jI9NbeA,12141
687
692
  zenml/orchestrators/wheeled_orchestrator.py,sha256=eOnMcnd3sCzfhA2l6qRAzF0rOXzaojbjvvYvTkqixQo,4791
688
693
  zenml/pipelines/__init__.py,sha256=hpIX7hN8jsQRHT5R-xSXZL88qrHwkmrvGLQeu1rWt4o,873
689
694
  zenml/pipelines/build_utils.py,sha256=Az-zz56WQqD9dUrZ0iQDDRok-GNeglmXQxv40LoiyQk,25440
@@ -741,7 +746,7 @@ zenml/step_operators/step_operator_entrypoint_configuration.py,sha256=WoNO-fXukV
741
746
  zenml/steps/__init__.py,sha256=KKWFOmCZGLDEikOD2E5YmDA7QHo47uPV37by21WwI0U,1453
742
747
  zenml/steps/base_step.py,sha256=jDwHpN5R1P8_14QL67k9E6EUk5pt3UVY6u45jBdKxmY,43379
743
748
  zenml/steps/decorated_step.py,sha256=C8Ng5PCLc9eql4JF1N345HQ6LyC1qCUdTnysUTeoAJs,1315
744
- zenml/steps/entrypoint_function_utils.py,sha256=ZfN6ASKH3lRdI-OYT-bQSD6kHUD-0bY3Y0-a-BwLT20,9436
749
+ zenml/steps/entrypoint_function_utils.py,sha256=GJJ4WgKdqwHg1ZcEKVKJZwT9DwczAFMjGtjGBoZVKGE,9562
745
750
  zenml/steps/step_context.py,sha256=zONoTVhjcdTnAla7pwgBRgxljWWBQx2seEi4trQx7zg,14820
746
751
  zenml/steps/step_decorator.py,sha256=LG2Ni_jB-juSMcaImexic6sBH5UcpP0GmKsc3rI3io4,6248
747
752
  zenml/steps/step_invocation.py,sha256=ETfOaV-P4_iXGk9y1-xK54Kfg2QRYaGoj_jTyEYZfb0,4861
@@ -750,7 +755,6 @@ zenml/types.py,sha256=56K01kcY3t-qzBIykRM_JNqgARkGqcaVKsNyVL3nebQ,1123
750
755
  zenml/utils/__init__.py,sha256=jaMTbjm8tLYkaRoxlZ0Em4ye_ZHOHKgP2goPTTiYGUQ,797
751
756
  zenml/utils/archivable.py,sha256=vabL1-2G7_-p-0jyKslxbvlad8fyN1ot-DvOJ19jsOA,5275
752
757
  zenml/utils/callback_registry.py,sha256=QBWdaraLAxBxi8DKbv9X1SUpTKDhhj-XE0JomB2Ax2Y,2411
753
- zenml/utils/cloud_utils.py,sha256=qSi8sCRs8N-YAEHrGizBUF87PnJqviLyuHEVU3UxxUo,1464
754
758
  zenml/utils/code_repository_utils.py,sha256=CobRYMYfP2yNoA0hcu_WRz5oAff_jY95oyLCHz4fDOo,4734
755
759
  zenml/utils/code_utils.py,sha256=rLRYUAgc9hvrxDc6QooZaVngmzJ_hgjUfQGF8g1n6Wc,11260
756
760
  zenml/utils/cuda_utils.py,sha256=RR21m__Zs-OnI5n-veFUzWniZjwLSbalHE5QV3jK1Hw,1624
@@ -792,7 +796,7 @@ zenml/utils/yaml_utils.py,sha256=DsbvKcJ_HYXDnNT2uSF1oKsPgP9xGpZ6G-qTFg6nQn4,575
792
796
  zenml/zen_server/__init__.py,sha256=WyltI9TzFW2mEHZVOs6alLWMCQrrZaFALtrQXs83STA,1355
793
797
  zenml/zen_server/auth.py,sha256=XeqQD1syY7TcW0DZGBDqaq_oSDqOpWeVau7lnYjBrzk,34816
794
798
  zenml/zen_server/cache.py,sha256=Tc4TSugmsU1bhThxlYfE8rv0KmltIX1CcVHgzrJ0Eus,6633
795
- zenml/zen_server/cloud_utils.py,sha256=DUHUReLlg7dD8AFPGp4PHVtyomn5_9n9xg5Gp2KQy5E,8399
799
+ zenml/zen_server/cloud_utils.py,sha256=Pb0tpLyVy1XkXZgZHqA9kUC5V39hikEW2YqReBtArS4,8458
796
800
  zenml/zen_server/dashboard/assets/404-NVXKFp-x.js,sha256=aFn4X43gnJmtd5UI_QGTKp0AJlKClqFIFgV4ySZeomc,1033
797
801
  zenml/zen_server/dashboard/assets/@radix-DeK6qiuw.js,sha256=ksXSriMjxhb_3DmaEDYuN89nxeMJtseEkkkYso4iwE0,300701
798
802
  zenml/zen_server/dashboard/assets/@react-router-B3Z5rLr2.js,sha256=d_CQ3tJg4gfvGl6tXr87Bp8BWBIgl95vvUynXxoO5AQ,64845
@@ -1003,10 +1007,10 @@ zenml/zen_server/feature_gate/zenml_cloud_feature_gate.py,sha256=X6sQGR70SHHFxQe
1003
1007
  zenml/zen_server/jwt.py,sha256=cr-rGusdxuBss2kpCCFoUTdF0X4FmsMnmGde7EkON9c,6796
1004
1008
  zenml/zen_server/rate_limit.py,sha256=rOg5H_6rOGQ_qiSCtMKPREmL1LL3bZyn4czKILtImJg,6057
1005
1009
  zenml/zen_server/rbac/__init__.py,sha256=nACbn_G7nZt_AWM3zeFL0FCmELvQnvaOFMwvTG3-6ZE,637
1006
- zenml/zen_server/rbac/endpoint_utils.py,sha256=Q2QqnoDky_UF8DB0cs4SC6U75lZLNmGPs3-pUo1-y6w,7903
1007
- zenml/zen_server/rbac/models.py,sha256=U3I-nw6yWhbuqK0IHJkgct6G3B4XQJZSC96ghj1a27Y,2404
1010
+ zenml/zen_server/rbac/endpoint_utils.py,sha256=2cVmC1kawaCSsTT7YOupWTE9KDh6ikRE9JKgh1B6pRY,8021
1011
+ zenml/zen_server/rbac/models.py,sha256=EpFDbsNeV5gV_9RHeNIAlvZR-lCRGU0zDmzf2g6ouW4,2434
1008
1012
  zenml/zen_server/rbac/rbac_interface.py,sha256=pNdfNtis5YhQgpWYkli7xNwfzNT_uXQlBaYKlSFi5HA,2881
1009
- zenml/zen_server/rbac/utils.py,sha256=06VwifEJb-CfUD1Ad3yFkEKCetiTc0x5eZDiwSKiit0,19857
1013
+ zenml/zen_server/rbac/utils.py,sha256=Wc5-tPQeysSOTluOw-RMJpUJrFvrdbZEIiN_RhWVHVI,19791
1010
1014
  zenml/zen_server/rbac/zenml_cloud_rbac.py,sha256=mFWwskAEmeZyNCVF4aImEZpZNqm4SWALnSgbv7s0Zk4,6747
1011
1015
  zenml/zen_server/routers/__init__.py,sha256=ViyAhWL-ogHxE9wBvB_iMcur5H1NRVrzXkpogVY7FBA,641
1012
1016
  zenml/zen_server/routers/actions_endpoints.py,sha256=TgFFU9fMu43iqTu-ybnxJ5QokzV-eivRAd6pW2TrFe0,9549
@@ -1038,9 +1042,9 @@ zenml/zen_server/routers/stacks_endpoints.py,sha256=imL7s26xFOf4EY4zwSz8y8-Ggl6-
1038
1042
  zenml/zen_server/routers/steps_endpoints.py,sha256=w-mOkidTIw_h0L0JZrc5XHr7oo80O5X9YZwlatqKN_M,7695
1039
1043
  zenml/zen_server/routers/tags_endpoints.py,sha256=oK-A-EqAsrIXXgl7A870I2PT8_fct1dZVQDQ-g8GHys,4941
1040
1044
  zenml/zen_server/routers/triggers_endpoints.py,sha256=1fHKDRDr6WsjnGCvkV7SOcX9cggw1rvHzce27uAzM9A,10190
1041
- zenml/zen_server/routers/users_endpoints.py,sha256=VdhR7oNgZLyh8nVrBu66vdtrDNqcw-5XSWEqKXN244k,24926
1045
+ zenml/zen_server/routers/users_endpoints.py,sha256=sXCu6fdSl5LtPl1ZCGesz96h2Ea3SA48MwpVLpJ05h0,25019
1042
1046
  zenml/zen_server/routers/webhook_endpoints.py,sha256=QVvLwVPq5sF4oSWeHln5v76xJP7yjjnyXs8xVMu6g3M,3999
1043
- zenml/zen_server/routers/workspaces_endpoints.py,sha256=Pm1TvxDqkr5Fdrai0_ZkfoONTEEOQ5OcVb0YiQuEEr8,46590
1047
+ zenml/zen_server/routers/workspaces_endpoints.py,sha256=7BWe8KTQg_gbJ77QEVk2LpJrD6r3xk4wPp9Qjlob0so,46385
1044
1048
  zenml/zen_server/secure_headers.py,sha256=glh6QujnjyeoH1_FK-tAS-105G-qKS_34AqSzqJ6TRc,4182
1045
1049
  zenml/zen_server/template_execution/__init__.py,sha256=79knXLKfegsvVSVSWecpqrepq6iAavTUA4hKuiDk-WE,613
1046
1050
  zenml/zen_server/template_execution/runner_entrypoint_configuration.py,sha256=Y8aYJhqqs8Kv8I1q-dM1WemS5VBIfyoaaYH_YkzC7iY,1541
@@ -1266,11 +1270,11 @@ zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py,sha256=NfW1EHIA99lseb
1266
1270
  zenml/zen_stores/secrets_stores/secrets_store_interface.py,sha256=Q2Jbnt2Pp7NGlR-u1YBfRZV2g8su2Fd0ArBMdksAE-Q,2819
1267
1271
  zenml/zen_stores/secrets_stores/service_connector_secrets_store.py,sha256=kPYX-Z_OOhZCI1CP77ncfV7IsV4e8brklnTXmKxZYNc,7078
1268
1272
  zenml/zen_stores/secrets_stores/sql_secrets_store.py,sha256=Bq1djrUP9saoD7vECjS7-TlA_7sjJGgw1talri4spjU,8656
1269
- zenml/zen_stores/sql_zen_store.py,sha256=v9aIoBght-Pjivr2OYxvANBOhSqx8cUOzZh0G_oJOnw,404327
1273
+ zenml/zen_stores/sql_zen_store.py,sha256=rJT3Uth4J6D1iVfBdNHipgI54jcqIItNVc-IMNEU8Zc,404787
1270
1274
  zenml/zen_stores/template_utils.py,sha256=EKYBgmDLTS_PSMWaIO5yvHPLiQvMqHcsAe6NUCrv-i4,9068
1271
1275
  zenml/zen_stores/zen_store_interface.py,sha256=vf2gKBWfUUPtcGZC35oQB6pPNVzWVyQC8nWxVLjfrxM,92692
1272
- zenml_nightly-0.70.0.dev20241126.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
1273
- zenml_nightly-0.70.0.dev20241126.dist-info/METADATA,sha256=huJkRT_pOk_Bp-1GZPGkTY37YTXSVS2w9xVfoR7HqBI,21208
1274
- zenml_nightly-0.70.0.dev20241126.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1275
- zenml_nightly-0.70.0.dev20241126.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
1276
- zenml_nightly-0.70.0.dev20241126.dist-info/RECORD,,
1276
+ zenml_nightly-0.70.0.dev20241128.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
1277
+ zenml_nightly-0.70.0.dev20241128.dist-info/METADATA,sha256=pq6OfIPB-gg_Y1RQMZbo2H-G2BX9FLotTfJqywDuYpw,21208
1278
+ zenml_nightly-0.70.0.dev20241128.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
1279
+ zenml_nightly-0.70.0.dev20241128.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
1280
+ zenml_nightly-0.70.0.dev20241128.dist-info/RECORD,,
@@ -1,40 +0,0 @@
1
- # Copyright (c) ZenML GmbH 2024. All Rights Reserved.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at:
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12
- # or implied. See the License for the specific language governing
13
- # permissions and limitations under the License.
14
- """Utilities for ZenML Pro."""
15
-
16
- from zenml.logger import get_logger
17
- from zenml.models.v2.core.model_version import ModelVersionResponse
18
- from zenml.utils.dashboard_utils import get_model_version_url
19
-
20
- logger = get_logger(__name__)
21
-
22
-
23
- def try_get_model_version_url(model_version: ModelVersionResponse) -> str:
24
- """Check if a model version is from a ZenML Pro server and return its' URL.
25
-
26
- Args:
27
- model_version: The model version to check.
28
-
29
- Returns:
30
- URL if the model version is from a ZenML Pro server, else empty string.
31
- """
32
- model_version_url = get_model_version_url(model_version.id)
33
- if model_version_url:
34
- return (
35
- "Dashboard URL for created Model Version "
36
- f"`{model_version.model.name}::{model_version.name}`:\n"
37
- + model_version_url
38
- )
39
- else:
40
- return ""