zenml-nightly 0.75.0.dev20250313__py3-none-any.whl → 0.75.0.dev20250314__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/analytics/context.py +4 -4
- zenml/analytics/enums.py +2 -2
- zenml/artifacts/utils.py +2 -2
- zenml/cli/__init__.py +8 -9
- zenml/cli/base.py +2 -2
- zenml/cli/code_repository.py +1 -1
- zenml/cli/pipeline.py +3 -3
- zenml/cli/project.py +172 -0
- zenml/cli/service_accounts.py +0 -1
- zenml/cli/service_connectors.py +15 -16
- zenml/cli/stack.py +0 -2
- zenml/cli/stack_components.py +2 -2
- zenml/cli/utils.py +3 -3
- zenml/client.py +347 -340
- zenml/config/global_config.py +41 -43
- zenml/constants.py +5 -3
- zenml/event_hub/event_hub.py +1 -1
- zenml/integrations/gcp/service_connectors/gcp_service_connector.py +7 -6
- zenml/integrations/mlflow/steps/mlflow_registry.py +3 -3
- zenml/integrations/wandb/__init__.py +1 -1
- zenml/integrations/wandb/experiment_trackers/wandb_experiment_tracker.py +29 -9
- zenml/integrations/wandb/flavors/wandb_experiment_tracker_flavor.py +2 -0
- zenml/model/model.py +2 -2
- zenml/model_registries/base_model_registry.py +1 -1
- zenml/models/__init__.py +29 -29
- zenml/models/v2/base/filter.py +1 -1
- zenml/models/v2/base/scoped.py +49 -53
- zenml/models/v2/core/action.py +12 -12
- zenml/models/v2/core/artifact.py +15 -15
- zenml/models/v2/core/artifact_version.py +15 -15
- zenml/models/v2/core/code_repository.py +12 -12
- zenml/models/v2/core/event_source.py +12 -12
- zenml/models/v2/core/model.py +17 -17
- zenml/models/v2/core/model_version.py +15 -15
- zenml/models/v2/core/pipeline.py +15 -15
- zenml/models/v2/core/pipeline_build.py +14 -14
- zenml/models/v2/core/pipeline_deployment.py +12 -14
- zenml/models/v2/core/pipeline_run.py +16 -16
- zenml/models/v2/core/project.py +203 -0
- zenml/models/v2/core/run_metadata.py +2 -2
- zenml/models/v2/core/run_template.py +15 -15
- zenml/models/v2/core/schedule.py +12 -12
- zenml/models/v2/core/secret.py +1 -1
- zenml/models/v2/core/service.py +14 -14
- zenml/models/v2/core/step_run.py +13 -13
- zenml/models/v2/core/trigger.py +13 -13
- zenml/models/v2/core/trigger_execution.py +2 -2
- zenml/models/v2/core/user.py +0 -17
- zenml/models/v2/misc/statistics.py +4 -4
- zenml/orchestrators/cache_utils.py +7 -7
- zenml/orchestrators/input_utils.py +1 -1
- zenml/orchestrators/step_launcher.py +1 -1
- zenml/orchestrators/step_run_utils.py +2 -2
- zenml/orchestrators/utils.py +4 -4
- zenml/pipelines/build_utils.py +2 -2
- zenml/pipelines/pipeline_definition.py +5 -5
- zenml/pipelines/run_utils.py +1 -1
- zenml/service_connectors/service_connector.py +0 -3
- zenml/service_connectors/service_connector_utils.py +0 -1
- zenml/stack/stack.py +0 -1
- zenml/steps/base_step.py +10 -2
- zenml/zen_server/rbac/endpoint_utils.py +17 -17
- zenml/zen_server/rbac/models.py +20 -20
- zenml/zen_server/rbac/rbac_sql_zen_store.py +3 -3
- zenml/zen_server/rbac/utils.py +23 -25
- zenml/zen_server/rbac/zenml_cloud_rbac.py +12 -16
- zenml/zen_server/routers/artifact_version_endpoints.py +10 -10
- zenml/zen_server/routers/auth_endpoints.py +6 -6
- zenml/zen_server/routers/code_repositories_endpoints.py +12 -14
- zenml/zen_server/routers/model_versions_endpoints.py +13 -15
- zenml/zen_server/routers/models_endpoints.py +7 -9
- zenml/zen_server/routers/pipeline_builds_endpoints.py +14 -16
- zenml/zen_server/routers/pipeline_deployments_endpoints.py +13 -15
- zenml/zen_server/routers/pipelines_endpoints.py +16 -18
- zenml/zen_server/routers/{workspaces_endpoints.py → projects_endpoints.py} +111 -68
- zenml/zen_server/routers/run_metadata_endpoints.py +7 -9
- zenml/zen_server/routers/run_templates_endpoints.py +15 -17
- zenml/zen_server/routers/runs_endpoints.py +12 -14
- zenml/zen_server/routers/schedule_endpoints.py +12 -14
- zenml/zen_server/routers/secrets_endpoints.py +1 -3
- zenml/zen_server/routers/server_endpoints.py +5 -5
- zenml/zen_server/routers/service_connectors_endpoints.py +11 -13
- zenml/zen_server/routers/service_endpoints.py +7 -9
- zenml/zen_server/routers/stack_components_endpoints.py +9 -11
- zenml/zen_server/routers/stacks_endpoints.py +9 -11
- zenml/zen_server/routers/steps_endpoints.py +6 -6
- zenml/zen_server/routers/users_endpoints.py +5 -43
- zenml/zen_server/template_execution/utils.py +4 -4
- zenml/zen_server/utils.py +10 -10
- zenml/zen_server/zen_server_api.py +3 -2
- zenml/zen_stores/base_zen_store.py +35 -39
- zenml/zen_stores/migrations/versions/12eff0206201_rename_workspace_to_project.py +768 -0
- zenml/zen_stores/migrations/versions/41b28cae31ce_make_artifacts_workspace_scoped.py +3 -3
- zenml/zen_stores/migrations/versions/cbc6acd71f92_add_workspace_display_name.py +58 -0
- zenml/zen_stores/rest_zen_store.py +54 -62
- zenml/zen_stores/schemas/__init__.py +2 -2
- zenml/zen_stores/schemas/action_schemas.py +9 -9
- zenml/zen_stores/schemas/artifact_schemas.py +15 -17
- zenml/zen_stores/schemas/code_repository_schemas.py +16 -18
- zenml/zen_stores/schemas/event_source_schemas.py +9 -9
- zenml/zen_stores/schemas/model_schemas.py +15 -17
- zenml/zen_stores/schemas/pipeline_build_schemas.py +7 -7
- zenml/zen_stores/schemas/pipeline_deployment_schemas.py +7 -7
- zenml/zen_stores/schemas/pipeline_run_schemas.py +9 -9
- zenml/zen_stores/schemas/pipeline_schemas.py +9 -9
- zenml/zen_stores/schemas/{workspace_schemas.py → project_schemas.py} +47 -41
- zenml/zen_stores/schemas/run_metadata_schemas.py +5 -5
- zenml/zen_stores/schemas/run_template_schemas.py +9 -9
- zenml/zen_stores/schemas/schedule_schema.py +9 -9
- zenml/zen_stores/schemas/service_schemas.py +7 -7
- zenml/zen_stores/schemas/step_run_schemas.py +7 -7
- zenml/zen_stores/schemas/trigger_schemas.py +9 -9
- zenml/zen_stores/schemas/user_schemas.py +0 -12
- zenml/zen_stores/sql_zen_store.py +258 -268
- zenml/zen_stores/zen_store_interface.py +56 -70
- {zenml_nightly-0.75.0.dev20250313.dist-info → zenml_nightly-0.75.0.dev20250314.dist-info}/METADATA +1 -1
- {zenml_nightly-0.75.0.dev20250313.dist-info → zenml_nightly-0.75.0.dev20250314.dist-info}/RECORD +121 -119
- zenml/cli/workspace.py +0 -160
- zenml/models/v2/core/workspace.py +0 -131
- {zenml_nightly-0.75.0.dev20250313.dist-info → zenml_nightly-0.75.0.dev20250314.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.75.0.dev20250313.dist-info → zenml_nightly-0.75.0.dev20250314.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.75.0.dev20250313.dist-info → zenml_nightly-0.75.0.dev20250314.dist-info}/entry_points.txt +0 -0
zenml/models/v2/core/model.py
CHANGED
@@ -25,13 +25,13 @@ from zenml.constants import (
|
|
25
25
|
)
|
26
26
|
from zenml.models.v2.base.base import BaseUpdate
|
27
27
|
from zenml.models.v2.base.scoped import (
|
28
|
+
ProjectScopedFilter,
|
29
|
+
ProjectScopedRequest,
|
30
|
+
ProjectScopedResponse,
|
31
|
+
ProjectScopedResponseBody,
|
32
|
+
ProjectScopedResponseMetadata,
|
33
|
+
ProjectScopedResponseResources,
|
28
34
|
TaggableFilter,
|
29
|
-
WorkspaceScopedFilter,
|
30
|
-
WorkspaceScopedRequest,
|
31
|
-
WorkspaceScopedResponse,
|
32
|
-
WorkspaceScopedResponseBody,
|
33
|
-
WorkspaceScopedResponseMetadata,
|
34
|
-
WorkspaceScopedResponseResources,
|
35
35
|
)
|
36
36
|
from zenml.utils.pagination_utils import depaginate
|
37
37
|
|
@@ -47,7 +47,7 @@ AnyQuery = TypeVar("AnyQuery", bound=Any)
|
|
47
47
|
# ------------------ Request Model ------------------
|
48
48
|
|
49
49
|
|
50
|
-
class ModelRequest(
|
50
|
+
class ModelRequest(ProjectScopedRequest):
|
51
51
|
"""Request model for models."""
|
52
52
|
|
53
53
|
name: str = Field(
|
@@ -121,7 +121,7 @@ class ModelUpdate(BaseUpdate):
|
|
121
121
|
# ------------------ Response Model ------------------
|
122
122
|
|
123
123
|
|
124
|
-
class ModelResponseBody(
|
124
|
+
class ModelResponseBody(ProjectScopedResponseBody):
|
125
125
|
"""Response body for models."""
|
126
126
|
|
127
127
|
tags: List["TagResponse"] = Field(
|
@@ -131,7 +131,7 @@ class ModelResponseBody(WorkspaceScopedResponseBody):
|
|
131
131
|
latest_version_id: Optional[UUID] = None
|
132
132
|
|
133
133
|
|
134
|
-
class ModelResponseMetadata(
|
134
|
+
class ModelResponseMetadata(ProjectScopedResponseMetadata):
|
135
135
|
"""Response metadata for models."""
|
136
136
|
|
137
137
|
license: Optional[str] = Field(
|
@@ -175,12 +175,12 @@ class ModelResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
175
175
|
)
|
176
176
|
|
177
177
|
|
178
|
-
class ModelResponseResources(
|
178
|
+
class ModelResponseResources(ProjectScopedResponseResources):
|
179
179
|
"""Class for all resource models associated with the model entity."""
|
180
180
|
|
181
181
|
|
182
182
|
class ModelResponse(
|
183
|
-
|
183
|
+
ProjectScopedResponse[
|
184
184
|
ModelResponseBody, ModelResponseMetadata, ModelResponseResources
|
185
185
|
]
|
186
186
|
):
|
@@ -315,7 +315,7 @@ class ModelResponse(
|
|
315
315
|
model_versions = depaginate(
|
316
316
|
client.list_model_versions,
|
317
317
|
model_name_or_id=self.id,
|
318
|
-
|
318
|
+
project=self.project.id,
|
319
319
|
)
|
320
320
|
return [
|
321
321
|
mv.to_model_class(suppress_class_validation_warnings=True)
|
@@ -326,8 +326,8 @@ class ModelResponse(
|
|
326
326
|
# ------------------ Filter Model ------------------
|
327
327
|
|
328
328
|
|
329
|
-
class ModelFilter(
|
330
|
-
"""Model to enable advanced filtering of all
|
329
|
+
class ModelFilter(ProjectScopedFilter, TaggableFilter):
|
330
|
+
"""Model to enable advanced filtering of all models."""
|
331
331
|
|
332
332
|
name: Optional[str] = Field(
|
333
333
|
default=None,
|
@@ -335,16 +335,16 @@ class ModelFilter(WorkspaceScopedFilter, TaggableFilter):
|
|
335
335
|
)
|
336
336
|
|
337
337
|
FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
338
|
-
*
|
338
|
+
*ProjectScopedFilter.FILTER_EXCLUDE_FIELDS,
|
339
339
|
*TaggableFilter.FILTER_EXCLUDE_FIELDS,
|
340
340
|
]
|
341
341
|
CUSTOM_SORTING_OPTIONS: ClassVar[List[str]] = [
|
342
|
-
*
|
342
|
+
*ProjectScopedFilter.CUSTOM_SORTING_OPTIONS,
|
343
343
|
*TaggableFilter.CUSTOM_SORTING_OPTIONS,
|
344
344
|
SORT_BY_LATEST_VERSION_KEY,
|
345
345
|
]
|
346
346
|
CLI_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
347
|
-
*
|
347
|
+
*ProjectScopedFilter.CLI_EXCLUDE_FIELDS,
|
348
348
|
*TaggableFilter.CLI_EXCLUDE_FIELDS,
|
349
349
|
]
|
350
350
|
|
@@ -34,13 +34,13 @@ from zenml.models.v2.base.base import BaseUpdate
|
|
34
34
|
from zenml.models.v2.base.filter import AnyQuery
|
35
35
|
from zenml.models.v2.base.page import Page
|
36
36
|
from zenml.models.v2.base.scoped import (
|
37
|
+
ProjectScopedFilter,
|
38
|
+
ProjectScopedRequest,
|
39
|
+
ProjectScopedResponse,
|
40
|
+
ProjectScopedResponseBody,
|
41
|
+
ProjectScopedResponseMetadata,
|
42
|
+
ProjectScopedResponseResources,
|
37
43
|
TaggableFilter,
|
38
|
-
WorkspaceScopedFilter,
|
39
|
-
WorkspaceScopedRequest,
|
40
|
-
WorkspaceScopedResponse,
|
41
|
-
WorkspaceScopedResponseBody,
|
42
|
-
WorkspaceScopedResponseMetadata,
|
43
|
-
WorkspaceScopedResponseResources,
|
44
44
|
)
|
45
45
|
from zenml.models.v2.core.service import ServiceResponse
|
46
46
|
from zenml.models.v2.core.tag import TagResponse
|
@@ -60,7 +60,7 @@ if TYPE_CHECKING:
|
|
60
60
|
# ------------------ Request Model ------------------
|
61
61
|
|
62
62
|
|
63
|
-
class ModelVersionRequest(
|
63
|
+
class ModelVersionRequest(ProjectScopedRequest):
|
64
64
|
"""Request model for model versions."""
|
65
65
|
|
66
66
|
name: Optional[str] = Field(
|
@@ -135,7 +135,7 @@ class ModelVersionUpdate(BaseUpdate):
|
|
135
135
|
# ------------------ Response Model ------------------
|
136
136
|
|
137
137
|
|
138
|
-
class ModelVersionResponseBody(
|
138
|
+
class ModelVersionResponseBody(ProjectScopedResponseBody):
|
139
139
|
"""Response body for model versions."""
|
140
140
|
|
141
141
|
stage: Optional[str] = Field(
|
@@ -178,7 +178,7 @@ class ModelVersionResponseBody(WorkspaceScopedResponseBody):
|
|
178
178
|
model_config = ConfigDict(protected_namespaces=())
|
179
179
|
|
180
180
|
|
181
|
-
class ModelVersionResponseMetadata(
|
181
|
+
class ModelVersionResponseMetadata(ProjectScopedResponseMetadata):
|
182
182
|
"""Response metadata for model versions."""
|
183
183
|
|
184
184
|
description: Optional[str] = Field(
|
@@ -192,7 +192,7 @@ class ModelVersionResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
192
192
|
)
|
193
193
|
|
194
194
|
|
195
|
-
class ModelVersionResponseResources(
|
195
|
+
class ModelVersionResponseResources(ProjectScopedResponseResources):
|
196
196
|
"""Class for all resource models associated with the model version entity."""
|
197
197
|
|
198
198
|
services: Page[ServiceResponse] = Field(
|
@@ -201,7 +201,7 @@ class ModelVersionResponseResources(WorkspaceScopedResponseResources):
|
|
201
201
|
|
202
202
|
|
203
203
|
class ModelVersionResponse(
|
204
|
-
|
204
|
+
ProjectScopedResponse[
|
205
205
|
ModelVersionResponseBody,
|
206
206
|
ModelVersionResponseMetadata,
|
207
207
|
ModelVersionResponseResources,
|
@@ -566,21 +566,21 @@ class ModelVersionResponse(
|
|
566
566
|
# ------------------ Filter Model ------------------
|
567
567
|
|
568
568
|
|
569
|
-
class ModelVersionFilter(
|
569
|
+
class ModelVersionFilter(ProjectScopedFilter, TaggableFilter):
|
570
570
|
"""Filter model for model versions."""
|
571
571
|
|
572
572
|
FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
573
|
-
*
|
573
|
+
*ProjectScopedFilter.FILTER_EXCLUDE_FIELDS,
|
574
574
|
*TaggableFilter.FILTER_EXCLUDE_FIELDS,
|
575
575
|
"model",
|
576
576
|
"run_metadata",
|
577
577
|
]
|
578
578
|
CUSTOM_SORTING_OPTIONS: ClassVar[List[str]] = [
|
579
|
-
*
|
579
|
+
*ProjectScopedFilter.CUSTOM_SORTING_OPTIONS,
|
580
580
|
*TaggableFilter.CUSTOM_SORTING_OPTIONS,
|
581
581
|
]
|
582
582
|
CLI_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
583
|
-
*
|
583
|
+
*ProjectScopedFilter.CLI_EXCLUDE_FIELDS,
|
584
584
|
*TaggableFilter.CLI_EXCLUDE_FIELDS,
|
585
585
|
"model",
|
586
586
|
]
|
zenml/models/v2/core/pipeline.py
CHANGED
@@ -34,13 +34,13 @@ from zenml.constants import (
|
|
34
34
|
from zenml.enums import ExecutionStatus
|
35
35
|
from zenml.models.v2.base.base import BaseUpdate
|
36
36
|
from zenml.models.v2.base.scoped import (
|
37
|
+
ProjectScopedFilter,
|
38
|
+
ProjectScopedRequest,
|
39
|
+
ProjectScopedResponse,
|
40
|
+
ProjectScopedResponseBody,
|
41
|
+
ProjectScopedResponseMetadata,
|
42
|
+
ProjectScopedResponseResources,
|
37
43
|
TaggableFilter,
|
38
|
-
WorkspaceScopedFilter,
|
39
|
-
WorkspaceScopedRequest,
|
40
|
-
WorkspaceScopedResponse,
|
41
|
-
WorkspaceScopedResponseBody,
|
42
|
-
WorkspaceScopedResponseMetadata,
|
43
|
-
WorkspaceScopedResponseResources,
|
44
44
|
)
|
45
45
|
from zenml.models.v2.core.tag import TagResponse
|
46
46
|
|
@@ -55,7 +55,7 @@ AnyQuery = TypeVar("AnyQuery", bound=Any)
|
|
55
55
|
# ------------------ Request Model ------------------
|
56
56
|
|
57
57
|
|
58
|
-
class PipelineRequest(
|
58
|
+
class PipelineRequest(ProjectScopedRequest):
|
59
59
|
"""Request model for pipelines."""
|
60
60
|
|
61
61
|
name: str = Field(
|
@@ -95,7 +95,7 @@ class PipelineUpdate(BaseUpdate):
|
|
95
95
|
# ------------------ Response Model ------------------
|
96
96
|
|
97
97
|
|
98
|
-
class PipelineResponseBody(
|
98
|
+
class PipelineResponseBody(ProjectScopedResponseBody):
|
99
99
|
"""Response body for pipelines."""
|
100
100
|
|
101
101
|
latest_run_id: Optional[UUID] = Field(
|
@@ -108,7 +108,7 @@ class PipelineResponseBody(WorkspaceScopedResponseBody):
|
|
108
108
|
)
|
109
109
|
|
110
110
|
|
111
|
-
class PipelineResponseMetadata(
|
111
|
+
class PipelineResponseMetadata(ProjectScopedResponseMetadata):
|
112
112
|
"""Response metadata for pipelines."""
|
113
113
|
|
114
114
|
description: Optional[str] = Field(
|
@@ -117,7 +117,7 @@ class PipelineResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
117
117
|
)
|
118
118
|
|
119
119
|
|
120
|
-
class PipelineResponseResources(
|
120
|
+
class PipelineResponseResources(ProjectScopedResponseResources):
|
121
121
|
"""Class for all resource models associated with the pipeline entity."""
|
122
122
|
|
123
123
|
latest_run_user: Optional["UserResponse"] = Field(
|
@@ -130,7 +130,7 @@ class PipelineResponseResources(WorkspaceScopedResponseResources):
|
|
130
130
|
|
131
131
|
|
132
132
|
class PipelineResponse(
|
133
|
-
|
133
|
+
ProjectScopedResponse[
|
134
134
|
PipelineResponseBody,
|
135
135
|
PipelineResponseMetadata,
|
136
136
|
PipelineResponseResources,
|
@@ -257,21 +257,21 @@ class PipelineResponse(
|
|
257
257
|
# ------------------ Filter Model ------------------
|
258
258
|
|
259
259
|
|
260
|
-
class PipelineFilter(
|
260
|
+
class PipelineFilter(ProjectScopedFilter, TaggableFilter):
|
261
261
|
"""Pipeline filter model."""
|
262
262
|
|
263
263
|
CUSTOM_SORTING_OPTIONS: ClassVar[List[str]] = [
|
264
|
-
*
|
264
|
+
*ProjectScopedFilter.CUSTOM_SORTING_OPTIONS,
|
265
265
|
*TaggableFilter.CUSTOM_SORTING_OPTIONS,
|
266
266
|
SORT_PIPELINES_BY_LATEST_RUN_KEY,
|
267
267
|
]
|
268
268
|
FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
269
|
-
*
|
269
|
+
*ProjectScopedFilter.FILTER_EXCLUDE_FIELDS,
|
270
270
|
*TaggableFilter.FILTER_EXCLUDE_FIELDS,
|
271
271
|
"latest_run_status",
|
272
272
|
]
|
273
273
|
CLI_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
274
|
-
*
|
274
|
+
*ProjectScopedFilter.CLI_EXCLUDE_FIELDS,
|
275
275
|
*TaggableFilter.CLI_EXCLUDE_FIELDS,
|
276
276
|
]
|
277
277
|
|
@@ -31,12 +31,12 @@ from pydantic import Field
|
|
31
31
|
|
32
32
|
from zenml.models.v2.base.base import BaseZenModel
|
33
33
|
from zenml.models.v2.base.scoped import (
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
34
|
+
ProjectScopedFilter,
|
35
|
+
ProjectScopedRequest,
|
36
|
+
ProjectScopedResponse,
|
37
|
+
ProjectScopedResponseBody,
|
38
|
+
ProjectScopedResponseMetadata,
|
39
|
+
ProjectScopedResponseResources,
|
40
40
|
)
|
41
41
|
from zenml.models.v2.misc.build_item import BuildItem
|
42
42
|
|
@@ -171,7 +171,7 @@ class PipelineBuildBase(BaseZenModel):
|
|
171
171
|
)
|
172
172
|
|
173
173
|
|
174
|
-
class PipelineBuildRequest(PipelineBuildBase,
|
174
|
+
class PipelineBuildRequest(PipelineBuildBase, ProjectScopedRequest):
|
175
175
|
"""Request model for pipelines builds."""
|
176
176
|
|
177
177
|
checksum: Optional[str] = Field(title="The build checksum.", default=None)
|
@@ -193,11 +193,11 @@ class PipelineBuildRequest(PipelineBuildBase, WorkspaceScopedRequest):
|
|
193
193
|
|
194
194
|
|
195
195
|
# ------------------ Response Model ------------------
|
196
|
-
class PipelineBuildResponseBody(
|
196
|
+
class PipelineBuildResponseBody(ProjectScopedResponseBody):
|
197
197
|
"""Response body for pipeline builds."""
|
198
198
|
|
199
199
|
|
200
|
-
class PipelineBuildResponseMetadata(
|
200
|
+
class PipelineBuildResponseMetadata(ProjectScopedResponseMetadata):
|
201
201
|
"""Response metadata for pipeline builds."""
|
202
202
|
|
203
203
|
pipeline: Optional["PipelineResponse"] = Field(
|
@@ -231,12 +231,12 @@ class PipelineBuildResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
231
231
|
)
|
232
232
|
|
233
233
|
|
234
|
-
class PipelineBuildResponseResources(
|
234
|
+
class PipelineBuildResponseResources(ProjectScopedResponseResources):
|
235
235
|
"""Class for all resource models associated with the pipeline build entity."""
|
236
236
|
|
237
237
|
|
238
238
|
class PipelineBuildResponse(
|
239
|
-
|
239
|
+
ProjectScopedResponse[
|
240
240
|
PipelineBuildResponseBody,
|
241
241
|
PipelineBuildResponseMetadata,
|
242
242
|
PipelineBuildResponseResources,
|
@@ -278,7 +278,7 @@ class PipelineBuildResponse(
|
|
278
278
|
exclude={
|
279
279
|
"pipeline",
|
280
280
|
"stack",
|
281
|
-
"
|
281
|
+
"project",
|
282
282
|
}
|
283
283
|
)
|
284
284
|
)
|
@@ -473,11 +473,11 @@ class PipelineBuildResponse(
|
|
473
473
|
# ------------------ Filter Model ------------------
|
474
474
|
|
475
475
|
|
476
|
-
class PipelineBuildFilter(
|
476
|
+
class PipelineBuildFilter(ProjectScopedFilter):
|
477
477
|
"""Model to enable advanced filtering of all pipeline builds."""
|
478
478
|
|
479
479
|
FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
480
|
-
*
|
480
|
+
*ProjectScopedFilter.FILTER_EXCLUDE_FIELDS,
|
481
481
|
"container_registry_id",
|
482
482
|
]
|
483
483
|
|
@@ -24,12 +24,12 @@ from zenml.config.step_configurations import Step
|
|
24
24
|
from zenml.models.v2.base.base import BaseZenModel
|
25
25
|
from zenml.models.v2.base.page import Page
|
26
26
|
from zenml.models.v2.base.scoped import (
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
27
|
+
ProjectScopedFilter,
|
28
|
+
ProjectScopedRequest,
|
29
|
+
ProjectScopedResponse,
|
30
|
+
ProjectScopedResponseBody,
|
31
|
+
ProjectScopedResponseMetadata,
|
32
|
+
ProjectScopedResponseResources,
|
33
33
|
)
|
34
34
|
from zenml.models.v2.core.code_reference import (
|
35
35
|
CodeReferenceRequest,
|
@@ -93,9 +93,7 @@ class PipelineDeploymentBase(BaseZenModel):
|
|
93
93
|
)
|
94
94
|
|
95
95
|
|
96
|
-
class PipelineDeploymentRequest(
|
97
|
-
PipelineDeploymentBase, WorkspaceScopedRequest
|
98
|
-
):
|
96
|
+
class PipelineDeploymentRequest(PipelineDeploymentBase, ProjectScopedRequest):
|
99
97
|
"""Request model for pipeline deployments."""
|
100
98
|
|
101
99
|
stack: UUID = Field(title="The stack associated with the deployment.")
|
@@ -129,11 +127,11 @@ class PipelineDeploymentRequest(
|
|
129
127
|
# ------------------ Response Model ------------------
|
130
128
|
|
131
129
|
|
132
|
-
class PipelineDeploymentResponseBody(
|
130
|
+
class PipelineDeploymentResponseBody(ProjectScopedResponseBody):
|
133
131
|
"""Response body for pipeline deployments."""
|
134
132
|
|
135
133
|
|
136
|
-
class PipelineDeploymentResponseMetadata(
|
134
|
+
class PipelineDeploymentResponseMetadata(ProjectScopedResponseMetadata):
|
137
135
|
"""Response metadata for pipeline deployments."""
|
138
136
|
|
139
137
|
run_name_template: str = Field(
|
@@ -188,7 +186,7 @@ class PipelineDeploymentResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
188
186
|
)
|
189
187
|
|
190
188
|
|
191
|
-
class PipelineDeploymentResponseResources(
|
189
|
+
class PipelineDeploymentResponseResources(ProjectScopedResponseResources):
|
192
190
|
"""Class for all resource models associated with the pipeline deployment entity."""
|
193
191
|
|
194
192
|
triggers: TriggerPage = Field( # type: ignore[valid-type]
|
@@ -197,7 +195,7 @@ class PipelineDeploymentResponseResources(WorkspaceScopedResponseResources):
|
|
197
195
|
|
198
196
|
|
199
197
|
class PipelineDeploymentResponse(
|
200
|
-
|
198
|
+
ProjectScopedResponse[
|
201
199
|
PipelineDeploymentResponseBody,
|
202
200
|
PipelineDeploymentResponseMetadata,
|
203
201
|
PipelineDeploymentResponseResources,
|
@@ -355,7 +353,7 @@ class PipelineDeploymentResponse(
|
|
355
353
|
# ------------------ Filter Model ------------------
|
356
354
|
|
357
355
|
|
358
|
-
class PipelineDeploymentFilter(
|
356
|
+
class PipelineDeploymentFilter(ProjectScopedFilter):
|
359
357
|
"""Model to enable advanced filtering of all pipeline deployments."""
|
360
358
|
|
361
359
|
pipeline_id: Optional[Union[UUID, str]] = Field(
|
@@ -36,13 +36,13 @@ from zenml.enums import ExecutionStatus
|
|
36
36
|
from zenml.metadata.metadata_types import MetadataType
|
37
37
|
from zenml.models.v2.base.base import BaseUpdate
|
38
38
|
from zenml.models.v2.base.scoped import (
|
39
|
+
ProjectScopedFilter,
|
40
|
+
ProjectScopedRequest,
|
41
|
+
ProjectScopedResponse,
|
42
|
+
ProjectScopedResponseBody,
|
43
|
+
ProjectScopedResponseMetadata,
|
44
|
+
ProjectScopedResponseResources,
|
39
45
|
TaggableFilter,
|
40
|
-
WorkspaceScopedFilter,
|
41
|
-
WorkspaceScopedRequest,
|
42
|
-
WorkspaceScopedResponse,
|
43
|
-
WorkspaceScopedResponseBody,
|
44
|
-
WorkspaceScopedResponseMetadata,
|
45
|
-
WorkspaceScopedResponseResources,
|
46
46
|
)
|
47
47
|
from zenml.models.v2.core.model_version import ModelVersionResponse
|
48
48
|
from zenml.models.v2.core.tag import TagResponse
|
@@ -71,7 +71,7 @@ AnyQuery = TypeVar("AnyQuery", bound=Any)
|
|
71
71
|
# ------------------ Request Model ------------------
|
72
72
|
|
73
73
|
|
74
|
-
class PipelineRunRequest(
|
74
|
+
class PipelineRunRequest(ProjectScopedRequest):
|
75
75
|
"""Request model for pipeline runs."""
|
76
76
|
|
77
77
|
name: str = Field(
|
@@ -150,7 +150,7 @@ class PipelineRunUpdate(BaseUpdate):
|
|
150
150
|
# ------------------ Response Model ------------------
|
151
151
|
|
152
152
|
|
153
|
-
class PipelineRunResponseBody(
|
153
|
+
class PipelineRunResponseBody(ProjectScopedResponseBody):
|
154
154
|
"""Response body for pipeline runs."""
|
155
155
|
|
156
156
|
status: ExecutionStatus = Field(
|
@@ -186,7 +186,7 @@ class PipelineRunResponseBody(WorkspaceScopedResponseBody):
|
|
186
186
|
model_config = ConfigDict(protected_namespaces=())
|
187
187
|
|
188
188
|
|
189
|
-
class PipelineRunResponseMetadata(
|
189
|
+
class PipelineRunResponseMetadata(ProjectScopedResponseMetadata):
|
190
190
|
"""Response metadata for pipeline runs."""
|
191
191
|
|
192
192
|
run_metadata: Dict[str, MetadataType] = Field(
|
@@ -244,7 +244,7 @@ class PipelineRunResponseMetadata(WorkspaceScopedResponseMetadata):
|
|
244
244
|
)
|
245
245
|
|
246
246
|
|
247
|
-
class PipelineRunResponseResources(
|
247
|
+
class PipelineRunResponseResources(ProjectScopedResponseResources):
|
248
248
|
"""Class for all resource models associated with the pipeline run entity."""
|
249
249
|
|
250
250
|
model_version: Optional[ModelVersionResponse] = None
|
@@ -262,7 +262,7 @@ class PipelineRunResponseResources(WorkspaceScopedResponseResources):
|
|
262
262
|
|
263
263
|
|
264
264
|
class PipelineRunResponse(
|
265
|
-
|
265
|
+
ProjectScopedResponse[
|
266
266
|
PipelineRunResponseBody,
|
267
267
|
PipelineRunResponseMetadata,
|
268
268
|
PipelineRunResponseResources,
|
@@ -582,11 +582,11 @@ class PipelineRunResponse(
|
|
582
582
|
# ------------------ Filter Model ------------------
|
583
583
|
|
584
584
|
|
585
|
-
class PipelineRunFilter(
|
586
|
-
"""Model to enable advanced filtering of all
|
585
|
+
class PipelineRunFilter(ProjectScopedFilter, TaggableFilter):
|
586
|
+
"""Model to enable advanced filtering of all pipeline runs."""
|
587
587
|
|
588
588
|
CUSTOM_SORTING_OPTIONS: ClassVar[List[str]] = [
|
589
|
-
*
|
589
|
+
*ProjectScopedFilter.CUSTOM_SORTING_OPTIONS,
|
590
590
|
*TaggableFilter.CUSTOM_SORTING_OPTIONS,
|
591
591
|
"tag",
|
592
592
|
"stack",
|
@@ -595,7 +595,7 @@ class PipelineRunFilter(WorkspaceScopedFilter, TaggableFilter):
|
|
595
595
|
"model_version",
|
596
596
|
]
|
597
597
|
FILTER_EXCLUDE_FIELDS: ClassVar[List[str]] = [
|
598
|
-
*
|
598
|
+
*ProjectScopedFilter.FILTER_EXCLUDE_FIELDS,
|
599
599
|
*TaggableFilter.FILTER_EXCLUDE_FIELDS,
|
600
600
|
"unlisted",
|
601
601
|
"code_repository_id",
|
@@ -613,7 +613,7 @@ class PipelineRunFilter(WorkspaceScopedFilter, TaggableFilter):
|
|
613
613
|
"run_metadata",
|
614
614
|
]
|
615
615
|
CLI_EXCLUDE_FIELDS = [
|
616
|
-
*
|
616
|
+
*ProjectScopedFilter.CLI_EXCLUDE_FIELDS,
|
617
617
|
*TaggableFilter.CLI_EXCLUDE_FIELDS,
|
618
618
|
]
|
619
619
|
|