zenml-nightly 0.82.1.dev20250520__py3-none-any.whl → 0.82.1.dev20250522__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.
- zenml/VERSION +1 -1
- zenml/config/build_configuration.py +7 -0
- zenml/config/schedule.py +1 -1
- zenml/services/local/local_service.py +2 -1
- zenml/utils/yaml_utils.py +3 -3
- zenml/zen_server/auth.py +1 -8
- zenml/zen_server/routers/actions_endpoints.py +6 -6
- zenml/zen_server/routers/artifact_endpoint.py +6 -6
- zenml/zen_server/routers/artifact_version_endpoints.py +11 -11
- zenml/zen_server/routers/auth_endpoints.py +4 -3
- zenml/zen_server/routers/code_repositories_endpoints.py +6 -6
- zenml/zen_server/routers/devices_endpoints.py +6 -6
- zenml/zen_server/routers/event_source_endpoints.py +6 -6
- zenml/zen_server/routers/flavors_endpoints.py +7 -7
- zenml/zen_server/routers/logs_endpoints.py +2 -2
- zenml/zen_server/routers/model_versions_endpoints.py +13 -13
- zenml/zen_server/routers/models_endpoints.py +6 -6
- zenml/zen_server/routers/pipeline_builds_endpoints.py +5 -5
- zenml/zen_server/routers/pipeline_deployments_endpoints.py +6 -6
- zenml/zen_server/routers/pipelines_endpoints.py +7 -7
- zenml/zen_server/routers/plugin_endpoints.py +3 -3
- zenml/zen_server/routers/projects_endpoints.py +7 -7
- zenml/zen_server/routers/run_metadata_endpoints.py +2 -2
- zenml/zen_server/routers/run_templates_endpoints.py +7 -7
- zenml/zen_server/routers/runs_endpoints.py +11 -11
- zenml/zen_server/routers/schedule_endpoints.py +6 -6
- zenml/zen_server/routers/secrets_endpoints.py +8 -8
- zenml/zen_server/routers/server_endpoints.py +13 -9
- zenml/zen_server/routers/service_accounts_endpoints.py +12 -12
- zenml/zen_server/routers/service_connectors_endpoints.py +13 -13
- zenml/zen_server/routers/service_endpoints.py +6 -6
- zenml/zen_server/routers/stack_components_endpoints.py +7 -7
- zenml/zen_server/routers/stack_deployment_endpoints.py +4 -4
- zenml/zen_server/routers/stacks_endpoints.py +6 -6
- zenml/zen_server/routers/steps_endpoints.py +8 -8
- zenml/zen_server/routers/tag_resource_endpoints.py +5 -5
- zenml/zen_server/routers/tags_endpoints.py +6 -6
- zenml/zen_server/routers/triggers_endpoints.py +9 -9
- zenml/zen_server/routers/users_endpoints.py +12 -12
- zenml/zen_server/routers/webhook_endpoints.py +2 -2
- zenml/zen_server/utils.py +37 -7
- zenml/zen_stores/sql_zen_store.py +20 -0
- {zenml_nightly-0.82.1.dev20250520.dist-info → zenml_nightly-0.82.1.dev20250522.dist-info}/METADATA +1 -1
- {zenml_nightly-0.82.1.dev20250520.dist-info → zenml_nightly-0.82.1.dev20250522.dist-info}/RECORD +47 -47
- {zenml_nightly-0.82.1.dev20250520.dist-info → zenml_nightly-0.82.1.dev20250522.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.82.1.dev20250520.dist-info → zenml_nightly-0.82.1.dev20250522.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.82.1.dev20250520.dist-info → zenml_nightly-0.82.1.dev20250522.dist-info}/entry_points.txt +0 -0
zenml/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.82.1.
|
1
|
+
0.82.1.dev20250522
|
@@ -108,6 +108,13 @@ class BuildConfiguration(BaseModel):
|
|
108
108
|
)
|
109
109
|
if digest:
|
110
110
|
hash_.update(digest.encode())
|
111
|
+
elif self.settings.skip_build:
|
112
|
+
# If the user has specified to skip the build, the image being
|
113
|
+
# used for the run is whatever they set for `parent_image`.
|
114
|
+
# In this case, the bevavior depends on the orchestrators image
|
115
|
+
# pull policy, and whether there is any caching involved. This
|
116
|
+
# is out of our control here, so we don't log any warning.
|
117
|
+
pass
|
111
118
|
else:
|
112
119
|
logger.warning(
|
113
120
|
"Unable to fetch parent image digest for image `%s`. "
|
zenml/config/schedule.py
CHANGED
@@ -108,7 +108,7 @@ class Schedule(BaseModel):
|
|
108
108
|
if self.cron_expression and periodic_schedule:
|
109
109
|
logger.warning(
|
110
110
|
"This schedule was created with a cron expression as well as "
|
111
|
-
"values for `start_time` and `
|
111
|
+
"values for `start_time` and `interval_second`. The resulting "
|
112
112
|
"behavior depends on the concrete orchestrator implementation "
|
113
113
|
"but will usually ignore the interval and use the cron "
|
114
114
|
"expression."
|
@@ -414,7 +414,8 @@ class LocalDaemonService(BaseService):
|
|
414
414
|
p = psutil.Process(pid)
|
415
415
|
except psutil.Error:
|
416
416
|
logger.error(
|
417
|
-
"Could not find process for
|
417
|
+
"Could not find process for service '%s' ...",
|
418
|
+
self,
|
418
419
|
)
|
419
420
|
return
|
420
421
|
if force:
|
zenml/utils/yaml_utils.py
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
"""Utility functions to help with YAML files and data."""
|
15
15
|
|
16
16
|
import json
|
17
|
+
import os
|
17
18
|
from pathlib import Path
|
18
19
|
from typing import Any, Dict, List, Optional, Type, Union
|
19
20
|
from uuid import UUID
|
@@ -99,9 +100,8 @@ def is_yaml(file_path: str) -> bool:
|
|
99
100
|
Returns:
|
100
101
|
True if is yaml, else False.
|
101
102
|
"""
|
102
|
-
|
103
|
-
|
104
|
-
return False
|
103
|
+
extension = os.path.splitext(file_path)[1].lower()
|
104
|
+
return extension in (".yaml", ".yml")
|
105
105
|
|
106
106
|
|
107
107
|
def comment_out_yaml(yaml_string: str) -> str:
|
zenml/zen_server/auth.py
CHANGED
@@ -434,17 +434,10 @@ def authenticate_credentials(
|
|
434
434
|
run does not exist.
|
435
435
|
"""
|
436
436
|
try:
|
437
|
-
|
438
|
-
pipeline_run_id, hydrate=True
|
439
|
-
)
|
437
|
+
return zen_store().get_run_status(pipeline_run_id)
|
440
438
|
except KeyError:
|
441
439
|
return None, None
|
442
440
|
|
443
|
-
return (
|
444
|
-
pipeline_run.status,
|
445
|
-
pipeline_run.end_time,
|
446
|
-
)
|
447
|
-
|
448
441
|
(
|
449
442
|
pipeline_run_status,
|
450
443
|
pipeline_run_end_time,
|
@@ -44,7 +44,7 @@ from zenml.zen_server.rbac.utils import (
|
|
44
44
|
verify_permission_for_model,
|
45
45
|
)
|
46
46
|
from zenml.zen_server.utils import (
|
47
|
-
|
47
|
+
async_fastapi_endpoint_wrapper,
|
48
48
|
make_dependable,
|
49
49
|
plugin_flavor_registry,
|
50
50
|
zen_store,
|
@@ -61,7 +61,7 @@ router = APIRouter(
|
|
61
61
|
"",
|
62
62
|
responses={401: error_response, 404: error_response, 422: error_response},
|
63
63
|
)
|
64
|
-
@
|
64
|
+
@async_fastapi_endpoint_wrapper
|
65
65
|
def list_actions(
|
66
66
|
action_filter_model: ActionFilter = Depends(make_dependable(ActionFilter)),
|
67
67
|
hydrate: bool = False,
|
@@ -132,7 +132,7 @@ def list_actions(
|
|
132
132
|
"/{action_id}",
|
133
133
|
responses={401: error_response, 404: error_response, 422: error_response},
|
134
134
|
)
|
135
|
-
@
|
135
|
+
@async_fastapi_endpoint_wrapper
|
136
136
|
def get_action(
|
137
137
|
action_id: UUID,
|
138
138
|
hydrate: bool = True,
|
@@ -179,7 +179,7 @@ def get_action(
|
|
179
179
|
"",
|
180
180
|
responses={401: error_response, 409: error_response, 422: error_response},
|
181
181
|
)
|
182
|
-
@
|
182
|
+
@async_fastapi_endpoint_wrapper
|
183
183
|
def create_action(
|
184
184
|
action: ActionRequest,
|
185
185
|
_: AuthContext = Security(authorize),
|
@@ -225,7 +225,7 @@ def create_action(
|
|
225
225
|
"/{action_id}",
|
226
226
|
responses={401: error_response, 404: error_response, 422: error_response},
|
227
227
|
)
|
228
|
-
@
|
228
|
+
@async_fastapi_endpoint_wrapper
|
229
229
|
def update_action(
|
230
230
|
action_id: UUID,
|
231
231
|
action_update: ActionUpdate,
|
@@ -280,7 +280,7 @@ def update_action(
|
|
280
280
|
"/{action_id}",
|
281
281
|
responses={401: error_response, 404: error_response, 422: error_response},
|
282
282
|
)
|
283
|
-
@
|
283
|
+
@async_fastapi_endpoint_wrapper
|
284
284
|
def delete_action(
|
285
285
|
action_id: UUID,
|
286
286
|
force: bool = False,
|
@@ -36,7 +36,7 @@ from zenml.zen_server.rbac.endpoint_utils import (
|
|
36
36
|
)
|
37
37
|
from zenml.zen_server.rbac.models import ResourceType
|
38
38
|
from zenml.zen_server.utils import (
|
39
|
-
|
39
|
+
async_fastapi_endpoint_wrapper,
|
40
40
|
make_dependable,
|
41
41
|
zen_store,
|
42
42
|
)
|
@@ -52,7 +52,7 @@ artifact_router = APIRouter(
|
|
52
52
|
"",
|
53
53
|
responses={401: error_response, 404: error_response, 422: error_response},
|
54
54
|
)
|
55
|
-
@
|
55
|
+
@async_fastapi_endpoint_wrapper
|
56
56
|
def list_artifacts(
|
57
57
|
artifact_filter_model: ArtifactFilter = Depends(
|
58
58
|
make_dependable(ArtifactFilter)
|
@@ -83,7 +83,7 @@ def list_artifacts(
|
|
83
83
|
"",
|
84
84
|
responses={401: error_response, 409: error_response, 422: error_response},
|
85
85
|
)
|
86
|
-
@
|
86
|
+
@async_fastapi_endpoint_wrapper
|
87
87
|
def create_artifact(
|
88
88
|
artifact: ArtifactRequest,
|
89
89
|
_: AuthContext = Security(authorize),
|
@@ -106,7 +106,7 @@ def create_artifact(
|
|
106
106
|
"/{artifact_id}",
|
107
107
|
responses={401: error_response, 404: error_response, 422: error_response},
|
108
108
|
)
|
109
|
-
@
|
109
|
+
@async_fastapi_endpoint_wrapper
|
110
110
|
def get_artifact(
|
111
111
|
artifact_id: UUID,
|
112
112
|
hydrate: bool = True,
|
@@ -133,7 +133,7 @@ def get_artifact(
|
|
133
133
|
"/{artifact_id}",
|
134
134
|
responses={401: error_response, 404: error_response, 422: error_response},
|
135
135
|
)
|
136
|
-
@
|
136
|
+
@async_fastapi_endpoint_wrapper
|
137
137
|
def update_artifact(
|
138
138
|
artifact_id: UUID,
|
139
139
|
artifact_update: ArtifactUpdate,
|
@@ -160,7 +160,7 @@ def update_artifact(
|
|
160
160
|
"/{artifact_id}",
|
161
161
|
responses={401: error_response, 404: error_response, 422: error_response},
|
162
162
|
)
|
163
|
-
@
|
163
|
+
@async_fastapi_endpoint_wrapper
|
164
164
|
def delete_artifact(
|
165
165
|
artifact_id: UUID,
|
166
166
|
_: AuthContext = Security(authorize),
|
@@ -66,7 +66,7 @@ from zenml.zen_server.rbac.utils import (
|
|
66
66
|
get_allowed_resource_ids,
|
67
67
|
)
|
68
68
|
from zenml.zen_server.utils import (
|
69
|
-
|
69
|
+
async_fastapi_endpoint_wrapper,
|
70
70
|
make_dependable,
|
71
71
|
set_filter_project_scope,
|
72
72
|
zen_store,
|
@@ -83,7 +83,7 @@ artifact_version_router = APIRouter(
|
|
83
83
|
"",
|
84
84
|
responses={401: error_response, 404: error_response, 422: error_response},
|
85
85
|
)
|
86
|
-
@
|
86
|
+
@async_fastapi_endpoint_wrapper
|
87
87
|
def list_artifact_versions(
|
88
88
|
artifact_version_filter_model: ArtifactVersionFilter = Depends(
|
89
89
|
make_dependable(ArtifactVersionFilter)
|
@@ -127,7 +127,7 @@ def list_artifact_versions(
|
|
127
127
|
"",
|
128
128
|
responses={401: error_response, 409: error_response, 422: error_response},
|
129
129
|
)
|
130
|
-
@
|
130
|
+
@async_fastapi_endpoint_wrapper
|
131
131
|
def create_artifact_version(
|
132
132
|
artifact_version: ArtifactVersionRequest,
|
133
133
|
_: AuthContext = Security(authorize),
|
@@ -150,7 +150,7 @@ def create_artifact_version(
|
|
150
150
|
BATCH,
|
151
151
|
responses={401: error_response, 409: error_response, 422: error_response},
|
152
152
|
)
|
153
|
-
@
|
153
|
+
@async_fastapi_endpoint_wrapper
|
154
154
|
def batch_create_artifact_version(
|
155
155
|
artifact_versions: List[ArtifactVersionRequest],
|
156
156
|
_: AuthContext = Security(authorize),
|
@@ -173,7 +173,7 @@ def batch_create_artifact_version(
|
|
173
173
|
"/{artifact_version_id}",
|
174
174
|
responses={401: error_response, 404: error_response, 422: error_response},
|
175
175
|
)
|
176
|
-
@
|
176
|
+
@async_fastapi_endpoint_wrapper
|
177
177
|
def get_artifact_version(
|
178
178
|
artifact_version_id: UUID,
|
179
179
|
hydrate: bool = True,
|
@@ -200,7 +200,7 @@ def get_artifact_version(
|
|
200
200
|
"/{artifact_version_id}",
|
201
201
|
responses={401: error_response, 404: error_response, 422: error_response},
|
202
202
|
)
|
203
|
-
@
|
203
|
+
@async_fastapi_endpoint_wrapper
|
204
204
|
def update_artifact_version(
|
205
205
|
artifact_version_id: UUID,
|
206
206
|
artifact_version_update: ArtifactVersionUpdate,
|
@@ -227,7 +227,7 @@ def update_artifact_version(
|
|
227
227
|
"/{artifact_version_id}",
|
228
228
|
responses={401: error_response, 404: error_response, 422: error_response},
|
229
229
|
)
|
230
|
-
@
|
230
|
+
@async_fastapi_endpoint_wrapper
|
231
231
|
def delete_artifact_version(
|
232
232
|
artifact_version_id: UUID,
|
233
233
|
_: AuthContext = Security(authorize),
|
@@ -248,7 +248,7 @@ def delete_artifact_version(
|
|
248
248
|
"",
|
249
249
|
responses={401: error_response, 404: error_response, 422: error_response},
|
250
250
|
)
|
251
|
-
@
|
251
|
+
@async_fastapi_endpoint_wrapper
|
252
252
|
def prune_artifact_versions(
|
253
253
|
project_name_or_id: Union[str, UUID],
|
254
254
|
only_versions: bool = True,
|
@@ -275,7 +275,7 @@ def prune_artifact_versions(
|
|
275
275
|
"/{artifact_version_id}" + VISUALIZE,
|
276
276
|
responses={401: error_response, 404: error_response, 422: error_response},
|
277
277
|
)
|
278
|
-
@
|
278
|
+
@async_fastapi_endpoint_wrapper
|
279
279
|
def get_artifact_visualization(
|
280
280
|
artifact_version_id: UUID,
|
281
281
|
index: int = 0,
|
@@ -303,7 +303,7 @@ def get_artifact_visualization(
|
|
303
303
|
"/{artifact_version_id}" + DOWNLOAD_TOKEN,
|
304
304
|
responses={401: error_response, 404: error_response, 422: error_response},
|
305
305
|
)
|
306
|
-
@
|
306
|
+
@async_fastapi_endpoint_wrapper
|
307
307
|
def get_artifact_download_token(
|
308
308
|
artifact_version_id: UUID,
|
309
309
|
_: AuthContext = Security(authorize),
|
@@ -334,7 +334,7 @@ def get_artifact_download_token(
|
|
334
334
|
"/{artifact_version_id}" + DATA,
|
335
335
|
responses={401: error_response, 404: error_response, 422: error_response},
|
336
336
|
)
|
337
|
-
@
|
337
|
+
@async_fastapi_endpoint_wrapper
|
338
338
|
def download_artifact_data(
|
339
339
|
artifact_version_id: UUID, token: str
|
340
340
|
) -> FileResponse:
|
@@ -71,8 +71,8 @@ from zenml.zen_server.rbac.utils import (
|
|
71
71
|
verify_permission_for_model,
|
72
72
|
)
|
73
73
|
from zenml.zen_server.utils import (
|
74
|
+
async_fastapi_endpoint_wrapper,
|
74
75
|
get_ip_location,
|
75
|
-
handle_exceptions,
|
76
76
|
server_config,
|
77
77
|
zen_store,
|
78
78
|
)
|
@@ -222,11 +222,11 @@ class OAuthLoginRequestForm:
|
|
222
222
|
LOGIN,
|
223
223
|
response_model=Union[OAuthTokenResponse, OAuthRedirectResponse],
|
224
224
|
)
|
225
|
+
@async_fastapi_endpoint_wrapper
|
225
226
|
@rate_limit_requests(
|
226
227
|
day_limit=server_config().login_rate_limit_day,
|
227
228
|
minute_limit=server_config().login_rate_limit_minute,
|
228
229
|
)
|
229
|
-
@handle_exceptions
|
230
230
|
def token(
|
231
231
|
request: Request,
|
232
232
|
response: Response,
|
@@ -341,6 +341,7 @@ def logout(
|
|
341
341
|
DEVICE_AUTHORIZATION,
|
342
342
|
response_model=OAuthDeviceAuthorizationResponse,
|
343
343
|
)
|
344
|
+
@async_fastapi_endpoint_wrapper
|
344
345
|
def device_authorization(
|
345
346
|
request: Request,
|
346
347
|
client_id: UUID = Form(...),
|
@@ -471,7 +472,7 @@ def device_authorization(
|
|
471
472
|
API_TOKEN,
|
472
473
|
response_model=str,
|
473
474
|
)
|
474
|
-
@
|
475
|
+
@async_fastapi_endpoint_wrapper
|
475
476
|
def api_token(
|
476
477
|
token_type: APITokenType = APITokenType.GENERIC,
|
477
478
|
expires_in: Optional[int] = None,
|
@@ -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
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
|
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
|
-
@
|
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
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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
|
-
@
|
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],
|