zenml-nightly 0.82.1.dev20250521__py3-none-any.whl → 0.82.1.dev20250524__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 (57) hide show
  1. zenml/VERSION +1 -1
  2. zenml/client.py +6 -2
  3. zenml/config/build_configuration.py +7 -0
  4. zenml/config/docker_settings.py +25 -0
  5. zenml/config/server_config.py +7 -0
  6. zenml/constants.py +1 -0
  7. zenml/enums.py +1 -0
  8. zenml/environment.py +12 -0
  9. zenml/integrations/gcp/__init__.py +1 -1
  10. zenml/integrations/gcp/service_connectors/gcp_service_connector.py +12 -11
  11. zenml/integrations/hyperai/orchestrators/hyperai_orchestrator.py +1 -1
  12. zenml/integrations/kubernetes/orchestrators/kube_utils.py +16 -12
  13. zenml/materializers/built_in_materializer.py +9 -3
  14. zenml/zen_server/cloud_utils.py +45 -21
  15. zenml/zen_server/routers/actions_endpoints.py +6 -6
  16. zenml/zen_server/routers/artifact_endpoint.py +6 -6
  17. zenml/zen_server/routers/artifact_version_endpoints.py +11 -11
  18. zenml/zen_server/routers/auth_endpoints.py +4 -3
  19. zenml/zen_server/routers/code_repositories_endpoints.py +6 -6
  20. zenml/zen_server/routers/devices_endpoints.py +6 -6
  21. zenml/zen_server/routers/event_source_endpoints.py +6 -6
  22. zenml/zen_server/routers/flavors_endpoints.py +7 -7
  23. zenml/zen_server/routers/logs_endpoints.py +2 -2
  24. zenml/zen_server/routers/model_versions_endpoints.py +13 -13
  25. zenml/zen_server/routers/models_endpoints.py +6 -6
  26. zenml/zen_server/routers/pipeline_builds_endpoints.py +5 -5
  27. zenml/zen_server/routers/pipeline_deployments_endpoints.py +6 -6
  28. zenml/zen_server/routers/pipelines_endpoints.py +7 -7
  29. zenml/zen_server/routers/plugin_endpoints.py +3 -3
  30. zenml/zen_server/routers/projects_endpoints.py +7 -7
  31. zenml/zen_server/routers/run_metadata_endpoints.py +2 -2
  32. zenml/zen_server/routers/run_templates_endpoints.py +7 -7
  33. zenml/zen_server/routers/runs_endpoints.py +11 -11
  34. zenml/zen_server/routers/schedule_endpoints.py +6 -6
  35. zenml/zen_server/routers/secrets_endpoints.py +8 -8
  36. zenml/zen_server/routers/server_endpoints.py +13 -9
  37. zenml/zen_server/routers/service_accounts_endpoints.py +12 -12
  38. zenml/zen_server/routers/service_connectors_endpoints.py +13 -13
  39. zenml/zen_server/routers/service_endpoints.py +6 -6
  40. zenml/zen_server/routers/stack_components_endpoints.py +18 -9
  41. zenml/zen_server/routers/stack_deployment_endpoints.py +4 -4
  42. zenml/zen_server/routers/stacks_endpoints.py +6 -6
  43. zenml/zen_server/routers/steps_endpoints.py +8 -8
  44. zenml/zen_server/routers/tag_resource_endpoints.py +5 -5
  45. zenml/zen_server/routers/tags_endpoints.py +6 -6
  46. zenml/zen_server/routers/triggers_endpoints.py +9 -9
  47. zenml/zen_server/routers/users_endpoints.py +12 -12
  48. zenml/zen_server/routers/webhook_endpoints.py +2 -2
  49. zenml/zen_server/utils.py +72 -33
  50. zenml/zen_server/zen_server_api.py +211 -55
  51. zenml/zen_stores/rest_zen_store.py +40 -11
  52. zenml/zen_stores/sql_zen_store.py +79 -2
  53. {zenml_nightly-0.82.1.dev20250521.dist-info → zenml_nightly-0.82.1.dev20250524.dist-info}/METADATA +1 -1
  54. {zenml_nightly-0.82.1.dev20250521.dist-info → zenml_nightly-0.82.1.dev20250524.dist-info}/RECORD +57 -57
  55. {zenml_nightly-0.82.1.dev20250521.dist-info → zenml_nightly-0.82.1.dev20250524.dist-info}/LICENSE +0 -0
  56. {zenml_nightly-0.82.1.dev20250521.dist-info → zenml_nightly-0.82.1.dev20250524.dist-info}/WHEEL +0 -0
  57. {zenml_nightly-0.82.1.dev20250521.dist-info → zenml_nightly-0.82.1.dev20250524.dist-info}/entry_points.txt +0 -0
@@ -38,7 +38,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
38
38
  from zenml.zen_server.rbac.models import ResourceType
39
39
  from zenml.zen_server.routers.projects_endpoints import workspace_router
40
40
  from zenml.zen_server.utils import (
41
- handle_exceptions,
41
+ async_fastapi_endpoint_wrapper,
42
42
  make_dependable,
43
43
  zen_store,
44
44
  )
@@ -62,7 +62,7 @@ router = APIRouter(
62
62
  deprecated=True,
63
63
  tags=["code_repositories"],
64
64
  )
65
- @handle_exceptions
65
+ @async_fastapi_endpoint_wrapper
66
66
  def create_code_repository(
67
67
  code_repository: CodeRepositoryRequest,
68
68
  project_name_or_id: Optional[Union[str, UUID]] = None,
@@ -99,7 +99,7 @@ def create_code_repository(
99
99
  deprecated=True,
100
100
  tags=["code_repositories"],
101
101
  )
102
- @handle_exceptions
102
+ @async_fastapi_endpoint_wrapper
103
103
  def list_code_repositories(
104
104
  filter_model: CodeRepositoryFilter = Depends(
105
105
  make_dependable(CodeRepositoryFilter)
@@ -135,7 +135,7 @@ def list_code_repositories(
135
135
  "/{code_repository_id}",
136
136
  responses={401: error_response, 404: error_response, 422: error_response},
137
137
  )
138
- @handle_exceptions
138
+ @async_fastapi_endpoint_wrapper
139
139
  def get_code_repository(
140
140
  code_repository_id: UUID,
141
141
  hydrate: bool = True,
@@ -162,7 +162,7 @@ def get_code_repository(
162
162
  "/{code_repository_id}",
163
163
  responses={401: error_response, 404: error_response, 422: error_response},
164
164
  )
165
- @handle_exceptions
165
+ @async_fastapi_endpoint_wrapper
166
166
  def update_code_repository(
167
167
  code_repository_id: UUID,
168
168
  update: CodeRepositoryUpdate,
@@ -189,7 +189,7 @@ def update_code_repository(
189
189
  "/{code_repository_id}",
190
190
  responses={401: error_response, 404: error_response, 422: error_response},
191
191
  )
192
- @handle_exceptions
192
+ @async_fastapi_endpoint_wrapper
193
193
  def delete_code_repository(
194
194
  code_repository_id: UUID,
195
195
  _: AuthContext = Security(authorize),
@@ -39,7 +39,7 @@ from zenml.utils.time_utils import utc_now
39
39
  from zenml.zen_server.auth import AuthContext, authorize
40
40
  from zenml.zen_server.exceptions import error_response
41
41
  from zenml.zen_server.utils import (
42
- handle_exceptions,
42
+ async_fastapi_endpoint_wrapper,
43
43
  make_dependable,
44
44
  server_config,
45
45
  zen_store,
@@ -56,7 +56,7 @@ router = APIRouter(
56
56
  "",
57
57
  responses={401: error_response, 404: error_response, 422: error_response},
58
58
  )
59
- @handle_exceptions
59
+ @async_fastapi_endpoint_wrapper
60
60
  def list_authorized_devices(
61
61
  filter_model: OAuthDeviceFilter = Depends(
62
62
  make_dependable(OAuthDeviceFilter)
@@ -86,7 +86,7 @@ def list_authorized_devices(
86
86
  "/{device_id}",
87
87
  responses={401: error_response, 404: error_response, 422: error_response},
88
88
  )
89
- @handle_exceptions
89
+ @async_fastapi_endpoint_wrapper
90
90
  def get_authorization_device(
91
91
  device_id: UUID,
92
92
  user_code: Optional[str] = None,
@@ -136,7 +136,7 @@ def get_authorization_device(
136
136
  "/{device_id}",
137
137
  responses={401: error_response, 404: error_response, 422: error_response},
138
138
  )
139
- @handle_exceptions
139
+ @async_fastapi_endpoint_wrapper
140
140
  def update_authorized_device(
141
141
  device_id: UUID,
142
142
  update: OAuthDeviceUpdate,
@@ -172,7 +172,7 @@ def update_authorized_device(
172
172
  "/{device_id}" + DEVICE_VERIFY,
173
173
  responses={401: error_response, 404: error_response, 422: error_response},
174
174
  )
175
- @handle_exceptions
175
+ @async_fastapi_endpoint_wrapper
176
176
  def verify_authorized_device(
177
177
  device_id: UUID,
178
178
  request: OAuthDeviceVerificationRequest,
@@ -276,7 +276,7 @@ def verify_authorized_device(
276
276
  "/{device_id}",
277
277
  responses={401: error_response, 404: error_response, 422: error_response},
278
278
  )
279
- @handle_exceptions
279
+ @async_fastapi_endpoint_wrapper
280
280
  def delete_authorized_device(
281
281
  device_id: UUID,
282
282
  auth_context: AuthContext = Security(authorize),
@@ -39,7 +39,7 @@ from zenml.zen_server.rbac.utils import (
39
39
  verify_permission_for_model,
40
40
  )
41
41
  from zenml.zen_server.utils import (
42
- handle_exceptions,
42
+ async_fastapi_endpoint_wrapper,
43
43
  make_dependable,
44
44
  plugin_flavor_registry,
45
45
  zen_store,
@@ -59,7 +59,7 @@ event_source_router = APIRouter(
59
59
  "",
60
60
  responses={401: error_response, 404: error_response, 422: error_response},
61
61
  )
62
- @handle_exceptions
62
+ @async_fastapi_endpoint_wrapper
63
63
  def list_event_sources(
64
64
  event_source_filter_model: EventSourceFilter = Depends(
65
65
  make_dependable(EventSourceFilter)
@@ -133,7 +133,7 @@ def list_event_sources(
133
133
  "/{event_source_id}",
134
134
  responses={401: error_response, 404: error_response, 422: error_response},
135
135
  )
136
- @handle_exceptions
136
+ @async_fastapi_endpoint_wrapper
137
137
  def get_event_source(
138
138
  event_source_id: UUID,
139
139
  hydrate: bool = True,
@@ -185,7 +185,7 @@ def get_event_source(
185
185
  "",
186
186
  responses={401: error_response, 409: error_response, 422: error_response},
187
187
  )
188
- @handle_exceptions
188
+ @async_fastapi_endpoint_wrapper
189
189
  def create_event_source(
190
190
  event_source: EventSourceRequest,
191
191
  _: AuthContext = Security(authorize),
@@ -227,7 +227,7 @@ def create_event_source(
227
227
  "/{event_source_id}",
228
228
  responses={401: error_response, 404: error_response, 422: error_response},
229
229
  )
230
- @handle_exceptions
230
+ @async_fastapi_endpoint_wrapper
231
231
  def update_event_source(
232
232
  event_source_id: UUID,
233
233
  event_source_update: EventSourceUpdate,
@@ -279,7 +279,7 @@ def update_event_source(
279
279
  "/{event_source_id}",
280
280
  responses={401: error_response, 404: error_response, 422: error_response},
281
281
  )
282
- @handle_exceptions
282
+ @async_fastapi_endpoint_wrapper
283
283
  def delete_event_source(
284
284
  event_source_id: UUID,
285
285
  force: bool = False,
@@ -37,7 +37,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
37
37
  from zenml.zen_server.rbac.models import Action, ResourceType
38
38
  from zenml.zen_server.rbac.utils import verify_permission
39
39
  from zenml.zen_server.utils import (
40
- handle_exceptions,
40
+ async_fastapi_endpoint_wrapper,
41
41
  make_dependable,
42
42
  zen_store,
43
43
  )
@@ -53,7 +53,7 @@ router = APIRouter(
53
53
  "",
54
54
  responses={401: error_response, 404: error_response, 422: error_response},
55
55
  )
56
- @handle_exceptions
56
+ @async_fastapi_endpoint_wrapper
57
57
  def list_flavors(
58
58
  flavor_filter_model: FlavorFilter = Depends(make_dependable(FlavorFilter)),
59
59
  hydrate: bool = False,
@@ -82,7 +82,7 @@ def list_flavors(
82
82
  "/{flavor_id}",
83
83
  responses={401: error_response, 404: error_response, 422: error_response},
84
84
  )
85
- @handle_exceptions
85
+ @async_fastapi_endpoint_wrapper
86
86
  def get_flavor(
87
87
  flavor_id: UUID,
88
88
  hydrate: bool = True,
@@ -107,7 +107,7 @@ def get_flavor(
107
107
  "",
108
108
  responses={401: error_response, 409: error_response, 422: error_response},
109
109
  )
110
- @handle_exceptions
110
+ @async_fastapi_endpoint_wrapper
111
111
  def create_flavor(
112
112
  flavor: FlavorRequest,
113
113
  _: AuthContext = Security(authorize),
@@ -130,7 +130,7 @@ def create_flavor(
130
130
  "/{flavor_id}",
131
131
  responses={401: error_response, 409: error_response, 422: error_response},
132
132
  )
133
- @handle_exceptions
133
+ @async_fastapi_endpoint_wrapper
134
134
  def update_flavor(
135
135
  flavor_id: UUID,
136
136
  flavor_update: FlavorUpdate,
@@ -159,7 +159,7 @@ def update_flavor(
159
159
  "/{flavor_id}",
160
160
  responses={401: error_response, 404: error_response, 422: error_response},
161
161
  )
162
- @handle_exceptions
162
+ @async_fastapi_endpoint_wrapper
163
163
  def delete_flavor(
164
164
  flavor_id: UUID,
165
165
  _: AuthContext = Security(authorize),
@@ -180,7 +180,7 @@ def delete_flavor(
180
180
  "/sync",
181
181
  responses={401: error_response, 404: error_response, 422: error_response},
182
182
  )
183
- @handle_exceptions
183
+ @async_fastapi_endpoint_wrapper
184
184
  def sync_flavors(
185
185
  _: AuthContext = Security(authorize),
186
186
  ) -> None:
@@ -29,7 +29,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
29
29
  verify_permissions_and_get_entity,
30
30
  )
31
31
  from zenml.zen_server.utils import (
32
- handle_exceptions,
32
+ async_fastapi_endpoint_wrapper,
33
33
  zen_store,
34
34
  )
35
35
 
@@ -44,7 +44,7 @@ router = APIRouter(
44
44
  "/{logs_id}",
45
45
  responses={401: error_response, 404: error_response, 422: error_response},
46
46
  )
47
- @handle_exceptions
47
+ @async_fastapi_endpoint_wrapper
48
48
  def get_logs(
49
49
  logs_id: UUID,
50
50
  hydrate: bool = True,
@@ -59,7 +59,7 @@ from zenml.zen_server.routers.models_endpoints import (
59
59
  )
60
60
  from zenml.zen_server.routers.projects_endpoints import workspace_router
61
61
  from zenml.zen_server.utils import (
62
- handle_exceptions,
62
+ async_fastapi_endpoint_wrapper,
63
63
  make_dependable,
64
64
  set_filter_project_scope,
65
65
  zen_store,
@@ -89,7 +89,7 @@ router = APIRouter(
89
89
  deprecated=True,
90
90
  tags=["model_versions"],
91
91
  )
92
- @handle_exceptions
92
+ @async_fastapi_endpoint_wrapper
93
93
  def create_model_version(
94
94
  model_version: ModelVersionRequest,
95
95
  model_id: Optional[UUID] = None,
@@ -127,7 +127,7 @@ def create_model_version(
127
127
  "",
128
128
  responses={401: error_response, 404: error_response, 422: error_response},
129
129
  )
130
- @handle_exceptions
130
+ @async_fastapi_endpoint_wrapper
131
131
  def list_model_versions(
132
132
  model_version_filter_model: ModelVersionFilter = Depends(
133
133
  make_dependable(ModelVersionFilter)
@@ -176,7 +176,7 @@ def list_model_versions(
176
176
  "/{model_version_id}",
177
177
  responses={401: error_response, 404: error_response, 422: error_response},
178
178
  )
179
- @handle_exceptions
179
+ @async_fastapi_endpoint_wrapper
180
180
  def get_model_version(
181
181
  model_version_id: UUID,
182
182
  hydrate: bool = True,
@@ -204,7 +204,7 @@ def get_model_version(
204
204
  "/{model_version_id}",
205
205
  responses={401: error_response, 404: error_response, 422: error_response},
206
206
  )
207
- @handle_exceptions
207
+ @async_fastapi_endpoint_wrapper
208
208
  def update_model_version(
209
209
  model_version_id: UUID,
210
210
  model_version_update_model: ModelVersionUpdate,
@@ -238,7 +238,7 @@ def update_model_version(
238
238
  "/{model_version_id}",
239
239
  responses={401: error_response, 404: error_response, 422: error_response},
240
240
  )
241
- @handle_exceptions
241
+ @async_fastapi_endpoint_wrapper
242
242
  def delete_model_version(
243
243
  model_version_id: UUID,
244
244
  _: AuthContext = Security(authorize),
@@ -270,7 +270,7 @@ model_version_artifacts_router = APIRouter(
270
270
  "",
271
271
  responses={401: error_response, 409: error_response, 422: error_response},
272
272
  )
273
- @handle_exceptions
273
+ @async_fastapi_endpoint_wrapper
274
274
  def create_model_version_artifact_link(
275
275
  model_version_artifact_link: ModelVersionArtifactRequest,
276
276
  _: AuthContext = Security(authorize),
@@ -300,7 +300,7 @@ def create_model_version_artifact_link(
300
300
  "",
301
301
  responses={401: error_response, 404: error_response, 422: error_response},
302
302
  )
303
- @handle_exceptions
303
+ @async_fastapi_endpoint_wrapper
304
304
  def list_model_version_artifact_links(
305
305
  model_version_artifact_link_filter_model: ModelVersionArtifactFilter = Depends(
306
306
  make_dependable(ModelVersionArtifactFilter)
@@ -331,7 +331,7 @@ def list_model_version_artifact_links(
331
331
  + "/{model_version_artifact_link_name_or_id}",
332
332
  responses={401: error_response, 404: error_response, 422: error_response},
333
333
  )
334
- @handle_exceptions
334
+ @async_fastapi_endpoint_wrapper
335
335
  def delete_model_version_artifact_link(
336
336
  model_version_id: UUID,
337
337
  model_version_artifact_link_name_or_id: Union[str, UUID],
@@ -357,7 +357,7 @@ def delete_model_version_artifact_link(
357
357
  "/{model_version_id}" + ARTIFACTS,
358
358
  responses={401: error_response, 404: error_response, 422: error_response},
359
359
  )
360
- @handle_exceptions
360
+ @async_fastapi_endpoint_wrapper
361
361
  def delete_all_model_version_artifact_links(
362
362
  model_version_id: UUID,
363
363
  only_links: bool = True,
@@ -392,7 +392,7 @@ model_version_pipeline_runs_router = APIRouter(
392
392
  "",
393
393
  responses={401: error_response, 409: error_response, 422: error_response},
394
394
  )
395
- @handle_exceptions
395
+ @async_fastapi_endpoint_wrapper
396
396
  def create_model_version_pipeline_run_link(
397
397
  model_version_pipeline_run_link: ModelVersionPipelineRunRequest,
398
398
  _: AuthContext = Security(authorize),
@@ -423,7 +423,7 @@ def create_model_version_pipeline_run_link(
423
423
  "",
424
424
  responses={401: error_response, 404: error_response, 422: error_response},
425
425
  )
426
- @handle_exceptions
426
+ @async_fastapi_endpoint_wrapper
427
427
  def list_model_version_pipeline_run_links(
428
428
  model_version_pipeline_run_link_filter_model: ModelVersionPipelineRunFilter = Depends(
429
429
  make_dependable(ModelVersionPipelineRunFilter)
@@ -454,7 +454,7 @@ def list_model_version_pipeline_run_links(
454
454
  + "/{model_version_pipeline_run_link_name_or_id}",
455
455
  responses={401: error_response, 404: error_response, 422: error_response},
456
456
  )
457
- @handle_exceptions
457
+ @async_fastapi_endpoint_wrapper
458
458
  def delete_model_version_pipeline_run_link(
459
459
  model_version_id: UUID,
460
460
  model_version_pipeline_run_link_name_or_id: Union[str, UUID],
@@ -43,7 +43,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
43
43
  from zenml.zen_server.rbac.models import ResourceType
44
44
  from zenml.zen_server.routers.projects_endpoints import workspace_router
45
45
  from zenml.zen_server.utils import (
46
- handle_exceptions,
46
+ async_fastapi_endpoint_wrapper,
47
47
  make_dependable,
48
48
  server_config,
49
49
  zen_store,
@@ -72,7 +72,7 @@ router = APIRouter(
72
72
  deprecated=True,
73
73
  tags=["models"],
74
74
  )
75
- @handle_exceptions
75
+ @async_fastapi_endpoint_wrapper
76
76
  def create_model(
77
77
  model: ModelRequest,
78
78
  project_name_or_id: Optional[Union[str, UUID]] = None,
@@ -101,7 +101,7 @@ def create_model(
101
101
  "",
102
102
  responses={401: error_response, 404: error_response, 422: error_response},
103
103
  )
104
- @handle_exceptions
104
+ @async_fastapi_endpoint_wrapper
105
105
  def list_models(
106
106
  model_filter_model: ModelFilter = Depends(make_dependable(ModelFilter)),
107
107
  hydrate: bool = False,
@@ -130,7 +130,7 @@ def list_models(
130
130
  "/{model_id}",
131
131
  responses={401: error_response, 404: error_response, 422: error_response},
132
132
  )
133
- @handle_exceptions
133
+ @async_fastapi_endpoint_wrapper
134
134
  def get_model(
135
135
  model_id: UUID,
136
136
  hydrate: bool = True,
@@ -155,7 +155,7 @@ def get_model(
155
155
  "/{model_id}",
156
156
  responses={401: error_response, 404: error_response, 422: error_response},
157
157
  )
158
- @handle_exceptions
158
+ @async_fastapi_endpoint_wrapper
159
159
  def update_model(
160
160
  model_id: UUID,
161
161
  model_update: ModelUpdate,
@@ -182,7 +182,7 @@ def update_model(
182
182
  "/{model_id}",
183
183
  responses={401: error_response, 404: error_response, 422: error_response},
184
184
  )
185
- @handle_exceptions
185
+ @async_fastapi_endpoint_wrapper
186
186
  def delete_model(
187
187
  model_id: UUID,
188
188
  _: AuthContext = Security(authorize),
@@ -36,7 +36,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
36
36
  from zenml.zen_server.rbac.models import ResourceType
37
37
  from zenml.zen_server.routers.projects_endpoints import workspace_router
38
38
  from zenml.zen_server.utils import (
39
- handle_exceptions,
39
+ async_fastapi_endpoint_wrapper,
40
40
  make_dependable,
41
41
  zen_store,
42
42
  )
@@ -60,7 +60,7 @@ router = APIRouter(
60
60
  deprecated=True,
61
61
  tags=["builds"],
62
62
  )
63
- @handle_exceptions
63
+ @async_fastapi_endpoint_wrapper
64
64
  def create_build(
65
65
  build: PipelineBuildRequest,
66
66
  project_name_or_id: Optional[Union[str, UUID]] = None,
@@ -97,7 +97,7 @@ def create_build(
97
97
  deprecated=True,
98
98
  tags=["builds"],
99
99
  )
100
- @handle_exceptions
100
+ @async_fastapi_endpoint_wrapper
101
101
  def list_builds(
102
102
  build_filter_model: PipelineBuildFilter = Depends(
103
103
  make_dependable(PipelineBuildFilter)
@@ -133,7 +133,7 @@ def list_builds(
133
133
  "/{build_id}",
134
134
  responses={401: error_response, 404: error_response, 422: error_response},
135
135
  )
136
- @handle_exceptions
136
+ @async_fastapi_endpoint_wrapper
137
137
  def get_build(
138
138
  build_id: UUID,
139
139
  hydrate: bool = True,
@@ -158,7 +158,7 @@ def get_build(
158
158
  "/{build_id}",
159
159
  responses={401: error_response, 404: error_response, 422: error_response},
160
160
  )
161
- @handle_exceptions
161
+ @async_fastapi_endpoint_wrapper
162
162
  def delete_build(
163
163
  build_id: UUID,
164
164
  _: AuthContext = Security(authorize),
@@ -36,7 +36,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
36
36
  from zenml.zen_server.rbac.models import ResourceType
37
37
  from zenml.zen_server.routers.projects_endpoints import workspace_router
38
38
  from zenml.zen_server.utils import (
39
- handle_exceptions,
39
+ async_fastapi_endpoint_wrapper,
40
40
  make_dependable,
41
41
  server_config,
42
42
  workload_manager,
@@ -93,7 +93,7 @@ router = APIRouter(
93
93
  deprecated=True,
94
94
  tags=["deployments"],
95
95
  )
96
- @handle_exceptions
96
+ @async_fastapi_endpoint_wrapper
97
97
  def create_deployment(
98
98
  request: Request,
99
99
  deployment: PipelineDeploymentRequest,
@@ -142,7 +142,7 @@ def create_deployment(
142
142
  deprecated=True,
143
143
  tags=["deployments"],
144
144
  )
145
- @handle_exceptions
145
+ @async_fastapi_endpoint_wrapper
146
146
  def list_deployments(
147
147
  request: Request,
148
148
  deployment_filter_model: PipelineDeploymentFilter = Depends(
@@ -196,7 +196,7 @@ def list_deployments(
196
196
  "/{deployment_id}",
197
197
  responses={401: error_response, 404: error_response, 422: error_response},
198
198
  )
199
- @handle_exceptions
199
+ @async_fastapi_endpoint_wrapper
200
200
  def get_deployment(
201
201
  request: Request,
202
202
  deployment_id: UUID,
@@ -235,7 +235,7 @@ def get_deployment(
235
235
  "/{deployment_id}",
236
236
  responses={401: error_response, 404: error_response, 422: error_response},
237
237
  )
238
- @handle_exceptions
238
+ @async_fastapi_endpoint_wrapper
239
239
  def delete_deployment(
240
240
  deployment_id: UUID,
241
241
  _: AuthContext = Security(authorize),
@@ -260,7 +260,7 @@ def delete_deployment(
260
260
  422: error_response,
261
261
  },
262
262
  )
263
- @handle_exceptions
263
+ @async_fastapi_endpoint_wrapper
264
264
  def deployment_logs(
265
265
  deployment_id: UUID,
266
266
  offset: int = 0,
@@ -48,7 +48,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
48
48
  from zenml.zen_server.rbac.models import ResourceType
49
49
  from zenml.zen_server.routers.projects_endpoints import workspace_router
50
50
  from zenml.zen_server.utils import (
51
- handle_exceptions,
51
+ async_fastapi_endpoint_wrapper,
52
52
  make_dependable,
53
53
  server_config,
54
54
  zen_store,
@@ -73,7 +73,7 @@ router = APIRouter(
73
73
  deprecated=True,
74
74
  tags=["pipelines"],
75
75
  )
76
- @handle_exceptions
76
+ @async_fastapi_endpoint_wrapper
77
77
  def create_pipeline(
78
78
  pipeline: PipelineRequest,
79
79
  project_name_or_id: Optional[Union[str, UUID]] = None,
@@ -119,7 +119,7 @@ def create_pipeline(
119
119
  deprecated=True,
120
120
  tags=["pipelines"],
121
121
  )
122
- @handle_exceptions
122
+ @async_fastapi_endpoint_wrapper
123
123
  def list_pipelines(
124
124
  pipeline_filter_model: PipelineFilter = Depends(
125
125
  make_dependable(PipelineFilter)
@@ -155,7 +155,7 @@ def list_pipelines(
155
155
  "/{pipeline_id}",
156
156
  responses={401: error_response, 404: error_response, 422: error_response},
157
157
  )
158
- @handle_exceptions
158
+ @async_fastapi_endpoint_wrapper
159
159
  def get_pipeline(
160
160
  pipeline_id: UUID,
161
161
  hydrate: bool = True,
@@ -180,7 +180,7 @@ def get_pipeline(
180
180
  "/{pipeline_id}",
181
181
  responses={401: error_response, 404: error_response, 422: error_response},
182
182
  )
183
- @handle_exceptions
183
+ @async_fastapi_endpoint_wrapper
184
184
  def update_pipeline(
185
185
  pipeline_id: UUID,
186
186
  pipeline_update: PipelineUpdate,
@@ -207,7 +207,7 @@ def update_pipeline(
207
207
  "/{pipeline_id}",
208
208
  responses={401: error_response, 404: error_response, 422: error_response},
209
209
  )
210
- @handle_exceptions
210
+ @async_fastapi_endpoint_wrapper
211
211
  def delete_pipeline(
212
212
  pipeline_id: UUID,
213
213
  _: AuthContext = Security(authorize),
@@ -238,7 +238,7 @@ def delete_pipeline(
238
238
  "/{pipeline_id}" + RUNS,
239
239
  responses={401: error_response, 404: error_response, 422: error_response},
240
240
  )
241
- @handle_exceptions
241
+ @async_fastapi_endpoint_wrapper
242
242
  def list_pipeline_runs(
243
243
  pipeline_run_filter_model: PipelineRunFilter = Depends(
244
244
  make_dependable(PipelineRunFilter)
@@ -30,7 +30,7 @@ from zenml.models.v2.base.page import Page
30
30
  from zenml.zen_server.auth import AuthContext, authorize
31
31
  from zenml.zen_server.exceptions import error_response
32
32
  from zenml.zen_server.utils import (
33
- handle_exceptions,
33
+ async_fastapi_endpoint_wrapper,
34
34
  plugin_flavor_registry,
35
35
  )
36
36
 
@@ -49,7 +49,7 @@ plugin_router = APIRouter(
49
49
  response_model=Page[BasePluginFlavorResponse], # type: ignore[type-arg]
50
50
  responses={401: error_response, 404: error_response, 422: error_response},
51
51
  )
52
- @handle_exceptions
52
+ @async_fastapi_endpoint_wrapper
53
53
  def list_flavors(
54
54
  type: PluginType,
55
55
  subtype: PluginSubType,
@@ -83,7 +83,7 @@ def list_flavors(
83
83
  "/{name}",
84
84
  responses={401: error_response, 404: error_response, 422: error_response},
85
85
  )
86
- @handle_exceptions
86
+ @async_fastapi_endpoint_wrapper
87
87
  def get_flavor(
88
88
  name: str,
89
89
  type: PluginType = Query(..., alias="type"),
@@ -52,7 +52,7 @@ from zenml.zen_server.rbac.utils import (
52
52
  get_allowed_resource_ids,
53
53
  )
54
54
  from zenml.zen_server.utils import (
55
- handle_exceptions,
55
+ async_fastapi_endpoint_wrapper,
56
56
  make_dependable,
57
57
  server_config,
58
58
  zen_store,
@@ -81,7 +81,7 @@ router = APIRouter(
81
81
  "",
82
82
  responses={401: error_response, 404: error_response, 422: error_response},
83
83
  )
84
- @handle_exceptions
84
+ @async_fastapi_endpoint_wrapper
85
85
  def list_projects(
86
86
  project_filter_model: ProjectFilter = Depends(
87
87
  make_dependable(ProjectFilter)
@@ -118,7 +118,7 @@ def list_projects(
118
118
  "",
119
119
  responses={401: error_response, 409: error_response, 422: error_response},
120
120
  )
121
- @handle_exceptions
121
+ @async_fastapi_endpoint_wrapper
122
122
  def create_project(
123
123
  project_request: ProjectRequest,
124
124
  _: AuthContext = Security(authorize),
@@ -149,7 +149,7 @@ def create_project(
149
149
  "/{project_name_or_id}",
150
150
  responses={401: error_response, 404: error_response, 422: error_response},
151
151
  )
152
- @handle_exceptions
152
+ @async_fastapi_endpoint_wrapper
153
153
  def get_project(
154
154
  project_name_or_id: Union[str, UUID],
155
155
  hydrate: bool = True,
@@ -184,7 +184,7 @@ def get_project(
184
184
  "/{project_name_or_id}",
185
185
  responses={401: error_response, 404: error_response, 422: error_response},
186
186
  )
187
- @handle_exceptions
187
+ @async_fastapi_endpoint_wrapper
188
188
  def update_project(
189
189
  project_name_or_id: UUID,
190
190
  project_update: ProjectUpdate,
@@ -219,7 +219,7 @@ def update_project(
219
219
  "/{project_name_or_id}",
220
220
  responses={401: error_response, 404: error_response, 422: error_response},
221
221
  )
222
- @handle_exceptions
222
+ @async_fastapi_endpoint_wrapper
223
223
  def delete_project(
224
224
  project_name_or_id: Union[str, UUID],
225
225
  _: AuthContext = Security(authorize),
@@ -249,7 +249,7 @@ def delete_project(
249
249
  "/{project_name_or_id}" + STATISTICS,
250
250
  responses={401: error_response, 404: error_response, 422: error_response},
251
251
  )
252
- @handle_exceptions
252
+ @async_fastapi_endpoint_wrapper
253
253
  def get_project_statistics(
254
254
  project_name_or_id: Union[str, UUID],
255
255
  auth_context: AuthContext = Security(authorize),
@@ -29,7 +29,7 @@ from zenml.zen_server.rbac.utils import (
29
29
  verify_permission_for_model,
30
30
  )
31
31
  from zenml.zen_server.routers.projects_endpoints import workspace_router
32
- from zenml.zen_server.utils import handle_exceptions, zen_store
32
+ from zenml.zen_server.utils import async_fastapi_endpoint_wrapper, zen_store
33
33
 
34
34
  router = APIRouter(
35
35
  prefix=API + VERSION_1 + RUN_METADATA,
@@ -50,7 +50,7 @@ router = APIRouter(
50
50
  deprecated=True,
51
51
  tags=["run_metadata"],
52
52
  )
53
- @handle_exceptions
53
+ @async_fastapi_endpoint_wrapper
54
54
  def create_run_metadata(
55
55
  run_metadata: RunMetadataRequest,
56
56
  project_name_or_id: Optional[Union[str, UUID]] = None,