zenml-nightly 0.57.1.dev20240523__py3-none-any.whl → 0.58.0.dev20240528__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.
- README.md +1 -1
- RELEASE_NOTES.md +88 -0
- zenml/VERSION +1 -1
- zenml/cli/base.py +15 -16
- zenml/client.py +11 -1
- zenml/config/__init__.py +2 -0
- zenml/config/compiler.py +2 -2
- zenml/config/pipeline_configurations.py +2 -0
- zenml/config/pipeline_run_configuration.py +2 -0
- zenml/config/retry_config.py +27 -0
- zenml/config/server_config.py +13 -9
- zenml/config/step_configurations.py +2 -0
- zenml/constants.py +1 -0
- zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py +2 -0
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +14 -0
- zenml/integrations/kubernetes/orchestrators/manifest_utils.py +4 -0
- zenml/integrations/mlflow/steps/mlflow_deployer.py +1 -1
- zenml/integrations/slack/alerters/slack_alerter.py +0 -2
- zenml/model/model.py +77 -45
- zenml/models/v2/core/model_version.py +1 -1
- zenml/models/v2/core/pipeline_run.py +12 -0
- zenml/models/v2/core/step_run.py +12 -0
- zenml/models/v2/misc/server_models.py +9 -3
- zenml/new/pipelines/run_utils.py +8 -2
- zenml/new/steps/step_context.py +6 -6
- zenml/new/steps/step_decorator.py +5 -0
- zenml/orchestrators/step_launcher.py +71 -53
- zenml/orchestrators/step_runner.py +28 -134
- zenml/orchestrators/utils.py +158 -1
- zenml/steps/base_step.py +16 -9
- zenml/utils/dashboard_utils.py +4 -8
- zenml/zen_server/dashboard/assets/{404-DtHkZQ2t.js → 404-DIgYOHj5.js} +1 -1
- zenml/zen_server/dashboard/assets/{@reactflow-BfgHyCG7.js → @reactflow-CF_wPv-n.js} +1 -1
- zenml/zen_server/dashboard/assets/{AwarenessChannel--3KuLcwp.js → AwarenessChannel-CqRB1HO9.js} +1 -1
- zenml/zen_server/dashboard/assets/{Cards-BzhQtXRm.js → Cards-DuJ8uYGM.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-DpWTCS7Y.js → CodeSnippet-CBFcxTGW.js} +1 -1
- zenml/zen_server/dashboard/assets/Commands-BQb0_PAa.js +1 -0
- zenml/zen_server/dashboard/assets/CopyButton-BOFZCr5Z.js +2 -0
- zenml/zen_server/dashboard/assets/{CsvVizualization-B9nkywOx.js → CsvVizualization-D4QRvdDk.js} +1 -1
- zenml/zen_server/dashboard/assets/{Error-BbzLqrpR.js → Error-C9i5GdiH.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-SS5TXXFE.js → Helpbox-CnuWjxcc.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-CV3EG_9t.js → Infobox-DV6YqO5N.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-wz4SSxG5.js → InlineAvatar-DE_1-SDN.js} +1 -1
- zenml/zen_server/dashboard/assets/{PageHeader-Bz7qVuF9.js → PageHeader-D7r1Jb6H.js} +1 -1
- zenml/zen_server/dashboard/assets/{Pagination-BEP_9EMH.js → Pagination-0-Hv-4DJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{SetPassword-B0yU0HIe.js → SetPassword-074iDZCm.js} +1 -1
- zenml/zen_server/dashboard/assets/SuccessStep-DEeKB0Wq.js +1 -0
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-yy-qBmO9.js → UpdatePasswordSchemas-4be5el9x.js} +1 -1
- zenml/zen_server/dashboard/assets/{cloud-only-DhayG_Yj.js → cloud-only-lInATL8-.js} +1 -1
- zenml/zen_server/dashboard/assets/connectors-video-C9qY4syJ.svg +21 -0
- zenml/zen_server/dashboard/assets/{index-Bbgc_ynV.css → index-D4zsM9tz.css} +1 -1
- zenml/zen_server/dashboard/assets/{index-UnEiujvd.js → index-DKgtNG83.js} +3 -3
- zenml/zen_server/dashboard/assets/{login-mutation-uNylFM6V.js → login-mutation-BfEeVmSl.js} +1 -1
- zenml/zen_server/dashboard/assets/{not-found-CvNr1Owb.js → not-found-an_3Z-Ep.js} +1 -1
- zenml/zen_server/dashboard/assets/page-0AGNIDYi.js +1 -0
- zenml/zen_server/dashboard/assets/{page-1rE3Idho.js → page-68OLHx44.js} +2 -2
- zenml/zen_server/dashboard/assets/page-6Gp_NCQL.js +14 -0
- zenml/zen_server/dashboard/assets/{page-BAuah6Do.js → page-B90yVxNb.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Ba5l9-eg.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BCpiaYh8.js → page-BiyORkbM.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DIZKf8ZO.js → page-Bjj9GHVF.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CM80cPrr.js → page-BnrWbXYJ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CjxYF1Om.js → page-C0opS_t4.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BldrIvaZ.js → page-C1Jl09zF.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BVZ01rdG.js → page-C6Xn5o3F.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CUqLUGbU.js +1 -0
- zenml/zen_server/dashboard/assets/page-CWpGAjSi.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Btc7hKsa.js → page-Cea5XeRB.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BBUhx49Q.js → page-DFQa6C6e.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DVAcOIuw.js +1 -0
- zenml/zen_server/dashboard/assets/{page-aQgPR2HA.js → page-Dn87PjPv.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-sPFYi62U.js → page-GXA0bsIT.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-PQQVONmL.js → page-NTQrxRsu.js} +2 -2
- zenml/zen_server/dashboard/assets/page-NlxFzoaz.js +1 -0
- zenml/zen_server/dashboard/assets/page-ZJ5Cy_-x.js +1 -0
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-B8N8nrWI.js → update-server-settings-mutation-CdcOI8-c.js} +1 -1
- zenml/zen_server/dashboard/assets/url-DLJUVIKc.js +1 -0
- zenml/zen_server/dashboard/index.html +4 -4
- zenml/zen_server/dashboard_legacy/asset-manifest.json +4 -4
- zenml/zen_server/dashboard_legacy/index.html +1 -1
- zenml/zen_server/dashboard_legacy/{precache-manifest.36c2742fac555eaab6995df9d81c08ab.js → precache-manifest.05e51e85bd64770b2708d408a88d7028.js} +4 -4
- zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
- zenml/zen_server/dashboard_legacy/static/js/{main.1c1aaa11.chunk.js → main.41d438ec.chunk.js} +2 -2
- zenml/zen_server/dashboard_legacy/static/js/{main.1c1aaa11.chunk.js.map → main.41d438ec.chunk.js.map} +1 -1
- zenml/zen_server/deploy/helm/Chart.yaml +1 -1
- zenml/zen_server/deploy/helm/README.md +2 -2
- zenml/zen_server/deploy/helm/templates/_environment.tpl +5 -5
- zenml/zen_server/deploy/helm/values.yaml +13 -9
- zenml/zen_server/pipeline_deployment/utils.py +6 -2
- zenml/zen_server/routers/auth_endpoints.py +4 -4
- zenml/zen_server/zen_server_api.py +1 -1
- zenml/zen_stores/base_zen_store.py +2 -2
- zenml/zen_stores/migrations/versions/0.58.0_release.py +23 -0
- zenml/zen_stores/schemas/artifact_schemas.py +11 -2
- zenml/zen_stores/schemas/pipeline_run_schemas.py +12 -0
- zenml/zen_stores/schemas/step_run_schemas.py +17 -1
- zenml/zen_stores/sql_zen_store.py +9 -5
- {zenml_nightly-0.57.1.dev20240523.dist-info → zenml_nightly-0.58.0.dev20240528.dist-info}/METADATA +4 -4
- {zenml_nightly-0.57.1.dev20240523.dist-info → zenml_nightly-0.58.0.dev20240528.dist-info}/RECORD +102 -101
- zenml/zen_server/dashboard/assets/Commands-fpiuAaZ1.js +0 -1
- zenml/zen_server/dashboard/assets/CopyButton-DVKNxLl5.js +0 -2
- zenml/zen_server/dashboard/assets/SuccessStep-B8Qhr2kK.js +0 -1
- zenml/zen_server/dashboard/assets/VideoModal-qB9JWw-2.js +0 -1
- zenml/zen_server/dashboard/assets/page-3NFpYOpt.js +0 -1
- zenml/zen_server/dashboard/assets/page-BE7NJ8PH.js +0 -1
- zenml/zen_server/dashboard/assets/page-BTYWG9gF.js +0 -1
- zenml/zen_server/dashboard/assets/page-BuBHmjwQ.js +0 -1
- zenml/zen_server/dashboard/assets/page-C-Jw_wjv.js +0 -1
- zenml/zen_server/dashboard/assets/page-CeMgQAs7.js +0 -14
- zenml/zen_server/dashboard/assets/page-X0_g3JVr.js +0 -1
- zenml/zen_server/dashboard/assets/page-ijCkM2BW.js +0 -1
- zenml/zen_server/dashboard/assets/refresh-CdiBx6nL.js +0 -1
- zenml/zen_server/dashboard/assets/url-BxOqGmlk.js +0 -1
- {zenml_nightly-0.57.1.dev20240523.dist-info → zenml_nightly-0.58.0.dev20240528.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.57.1.dev20240523.dist-info → zenml_nightly-0.58.0.dev20240528.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.57.1.dev20240523.dist-info → zenml_nightly-0.58.0.dev20240528.dist-info}/entry_points.txt +0 -0
@@ -20,8 +20,8 @@ ZenML is an open-source MLOps framework designed to help you create robust, main
|
|
20
20
|
To install the ZenML chart directly from Amazon ECR, use the following command:
|
21
21
|
|
22
22
|
```bash
|
23
|
-
# example command for version 0.
|
24
|
-
helm install my-zenml oci://public.ecr.aws/zenml/zenml --version 0.
|
23
|
+
# example command for version 0.58.0
|
24
|
+
helm install my-zenml oci://public.ecr.aws/zenml/zenml --version 0.58.0
|
25
25
|
```
|
26
26
|
|
27
27
|
Note: Ensure you have OCI support enabled in your Helm client and that you are authenticated with Amazon ECR.
|
@@ -58,9 +58,6 @@ device_auth_timeout: {{ .ZenML.auth.deviceAuthTimeout | quote }}
|
|
58
58
|
{{- if .ZenML.auth.deviceAuthPollingInterval }}
|
59
59
|
device_auth_polling_interval: {{ .ZenML.auth.deviceAuthPollingInterval | quote }}
|
60
60
|
{{- end }}
|
61
|
-
{{- if .ZenML.auth.dashboardURL }}
|
62
|
-
dashboard_url: {{ .ZenML.auth.dashboardURL | quote }}
|
63
|
-
{{- end }}
|
64
61
|
{{- if .ZenML.auth.deviceExpirationMinutes }}
|
65
62
|
device_expiration_minutes: {{ .ZenML.auth.deviceExpirationMinutes | quote }}
|
66
63
|
{{- end }}
|
@@ -82,8 +79,11 @@ external_server_id: {{ .ZenML.auth.externalServerID | quote }}
|
|
82
79
|
{{- if .ZenML.rootUrlPath }}
|
83
80
|
root_url_path: {{ .ZenML.rootUrlPath | quote }}
|
84
81
|
{{- end }}
|
85
|
-
{{- if .ZenML.
|
86
|
-
|
82
|
+
{{- if .ZenML.serverURL }}
|
83
|
+
server_url: {{ .ZenML.serverURL | quote }}
|
84
|
+
{{- end }}
|
85
|
+
{{- if .ZenML.dashboardURL }}
|
86
|
+
dashboard_url: {{ .ZenML.dashboardURL | quote }}
|
87
87
|
{{- end }}
|
88
88
|
{{- if .ZenML.auth.rbacImplementationSource }}
|
89
89
|
rbac_implementation_source: {{ .ZenML.auth.rbacImplementationSource | quote }}
|
@@ -16,9 +16,19 @@ zenml:
|
|
16
16
|
# Overrides the image tag whose default is the chart appVersion.
|
17
17
|
tag:
|
18
18
|
|
19
|
-
# The URL
|
20
|
-
#
|
21
|
-
|
19
|
+
# The URL where the ZenML server API is reachable. If not specified, the
|
20
|
+
# clients will use the same URL used to connect them to the ZenML server.
|
21
|
+
serverURL:
|
22
|
+
|
23
|
+
# The URL where the ZenML dashboard is reachable.
|
24
|
+
# If not specified, the `serverURL` value is used. This should be
|
25
|
+
# configured if the dashboard is served from a different URL than the
|
26
|
+
# ZenML server.
|
27
|
+
#
|
28
|
+
# This is value is used to compute the dashboard URLs during the web login
|
29
|
+
# authentication workflow, to print dashboard URLs in log messages when
|
30
|
+
# running a pipeline and for other similar tasks.
|
31
|
+
dashboardURL:
|
22
32
|
|
23
33
|
debug: true
|
24
34
|
|
@@ -112,12 +122,6 @@ zenml:
|
|
112
122
|
# authorization request.
|
113
123
|
deviceAuthPollingInterval: 5
|
114
124
|
|
115
|
-
# The URL where the ZenML dashboard is hosted. Used to construct the OAuth
|
116
|
-
# 2.0 device authorization endpoint. If not set, a partial URL is returned
|
117
|
-
# to the client which is used to construct the full URL based on the
|
118
|
-
# server's root URL path.
|
119
|
-
dashboardURL:
|
120
|
-
|
121
125
|
# The time in minutes that an OAuth 2.0 device is allowed to be used to
|
122
126
|
# authenticate with the ZenML server. If not set or if
|
123
127
|
# `zenml.auth.jwtTokenExpireMinutes` is not set, the devices are allowed to
|
@@ -58,6 +58,7 @@ def run_pipeline(
|
|
58
58
|
Raises:
|
59
59
|
ValueError: If the deployment does not have an associated stack or
|
60
60
|
build.
|
61
|
+
RuntimeError: If the server URL is not set in the server configuration.
|
61
62
|
|
62
63
|
Returns:
|
63
64
|
ID of the new pipeline run.
|
@@ -87,8 +88,11 @@ def run_pipeline(
|
|
87
88
|
assert auth_context.access_token
|
88
89
|
api_token = auth_context.access_token.encode()
|
89
90
|
|
90
|
-
server_url = server_config().
|
91
|
-
|
91
|
+
server_url = server_config().server_url
|
92
|
+
if not server_url:
|
93
|
+
raise RuntimeError(
|
94
|
+
"The server URL is not set in the server configuration"
|
95
|
+
)
|
92
96
|
assert build.zenml_version
|
93
97
|
zenml_version = build.zenml_version
|
94
98
|
|
@@ -458,10 +458,10 @@ def device_authorization(
|
|
458
458
|
),
|
459
459
|
)
|
460
460
|
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
)
|
461
|
+
dashboard_url = config.dashboard_url or config.server_url
|
462
|
+
|
463
|
+
if dashboard_url:
|
464
|
+
verification_uri = dashboard_url.lstrip("/") + DEVICES + DEVICE_VERIFY
|
465
465
|
else:
|
466
466
|
verification_uri = DEVICES + DEVICE_VERIFY
|
467
467
|
|
@@ -15,6 +15,7 @@
|
|
15
15
|
|
16
16
|
import os
|
17
17
|
from asyncio.log import logger
|
18
|
+
from genericpath import isfile
|
18
19
|
from typing import Any, List
|
19
20
|
|
20
21
|
from fastapi import FastAPI, HTTPException, Request
|
@@ -22,7 +23,6 @@ from fastapi.exceptions import RequestValidationError
|
|
22
23
|
from fastapi.responses import ORJSONResponse
|
23
24
|
from fastapi.staticfiles import StaticFiles
|
24
25
|
from fastapi.templating import Jinja2Templates
|
25
|
-
from genericpath import isfile
|
26
26
|
from starlette.middleware.cors import CORSMiddleware
|
27
27
|
from starlette.responses import FileResponse
|
28
28
|
|
@@ -375,7 +375,6 @@ class BaseZenStore(
|
|
375
375
|
server_config = ServerConfiguration.get_server_config()
|
376
376
|
deployment_type = server_config.deployment_type
|
377
377
|
auth_scheme = server_config.auth_scheme
|
378
|
-
base_url = server_config.base_url
|
379
378
|
metadata = server_config.metadata
|
380
379
|
secrets_store_type = SecretsStoreType.NONE
|
381
380
|
if isinstance(self, SqlZenStore) and self.config.secrets_store:
|
@@ -390,7 +389,8 @@ class BaseZenStore(
|
|
390
389
|
debug=IS_DEBUG_ENV,
|
391
390
|
secrets_store_type=secrets_store_type,
|
392
391
|
auth_scheme=auth_scheme,
|
393
|
-
|
392
|
+
server_url=server_config.server_url or "",
|
393
|
+
dashboard_url=server_config.dashboard_url or "",
|
394
394
|
analytics_enabled=GlobalConfiguration().analytics_opt_in,
|
395
395
|
metadata=metadata,
|
396
396
|
use_legacy_dashboard=use_legacy_dashboard,
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"""Release [0.58.0].
|
2
|
+
|
3
|
+
Revision ID: 0.58.0
|
4
|
+
Revises: 0.57.1
|
5
|
+
Create Date: 2024-05-27 15:22:16.565094
|
6
|
+
|
7
|
+
"""
|
8
|
+
|
9
|
+
# revision identifiers, used by Alembic.
|
10
|
+
revision = "0.58.0"
|
11
|
+
down_revision = "0.57.1"
|
12
|
+
branch_labels = None
|
13
|
+
depends_on = None
|
14
|
+
|
15
|
+
|
16
|
+
def upgrade() -> None:
|
17
|
+
"""Upgrade database schema and/or data, creating a new revision."""
|
18
|
+
pass
|
19
|
+
|
20
|
+
|
21
|
+
def downgrade() -> None:
|
22
|
+
"""Downgrade database schema and/or data back to the previous revision."""
|
23
|
+
pass
|
@@ -315,11 +315,17 @@ class ArtifactVersionSchema(BaseSchema, table=True):
|
|
315
315
|
|
316
316
|
producer_step_run_id, producer_pipeline_run_id = None, None
|
317
317
|
if self.output_of_step_runs:
|
318
|
-
|
319
|
-
|
318
|
+
original_step_runs = [
|
319
|
+
sr
|
320
|
+
for sr in self.output_of_step_runs
|
321
|
+
if sr.step_run.status == ExecutionStatus.COMPLETED
|
322
|
+
]
|
323
|
+
if len(original_step_runs) == 1:
|
324
|
+
step_run = original_step_runs[0].step_run
|
320
325
|
producer_step_run_id = step_run.id
|
321
326
|
producer_pipeline_run_id = step_run.pipeline_run_id
|
322
327
|
else:
|
328
|
+
step_run = self.output_of_step_runs[0].step_run
|
323
329
|
producer_step_run_id = step_run.original_step_run_id
|
324
330
|
|
325
331
|
# Create the body of the model
|
@@ -348,10 +354,13 @@ class ArtifactVersionSchema(BaseSchema, table=True):
|
|
348
354
|
run_metadata={m.key: m.to_model() for m in self.run_metadata},
|
349
355
|
)
|
350
356
|
|
357
|
+
resources = None
|
358
|
+
|
351
359
|
return ArtifactVersionResponse(
|
352
360
|
id=self.id,
|
353
361
|
body=body,
|
354
362
|
metadata=metadata,
|
363
|
+
resources=resources,
|
355
364
|
)
|
356
365
|
|
357
366
|
def update(
|
@@ -30,6 +30,7 @@ from zenml.models import (
|
|
30
30
|
PipelineRunResponseMetadata,
|
31
31
|
PipelineRunUpdate,
|
32
32
|
)
|
33
|
+
from zenml.models.v2.core.pipeline_run import PipelineRunResponseResources
|
33
34
|
from zenml.zen_stores.schemas.base_schemas import NamedSchema
|
34
35
|
from zenml.zen_stores.schemas.pipeline_build_schemas import PipelineBuildSchema
|
35
36
|
from zenml.zen_stores.schemas.pipeline_deployment_schemas import (
|
@@ -310,11 +311,22 @@ class PipelineRunSchema(NamedSchema, table=True):
|
|
310
311
|
orchestrator_environment=orchestrator_environment,
|
311
312
|
orchestrator_run_id=self.orchestrator_run_id,
|
312
313
|
)
|
314
|
+
|
315
|
+
resources = None
|
316
|
+
if include_resources:
|
317
|
+
model_version = None
|
318
|
+
if config.model and config.model.model_version_id:
|
319
|
+
model_version = config.model._get_model_version(hydrate=False)
|
320
|
+
resources = PipelineRunResponseResources(
|
321
|
+
model_version=model_version
|
322
|
+
)
|
323
|
+
|
313
324
|
return PipelineRunResponse(
|
314
325
|
id=self.id,
|
315
326
|
name=self.name,
|
316
327
|
body=body,
|
317
328
|
metadata=metadata,
|
329
|
+
resources=resources,
|
318
330
|
)
|
319
331
|
|
320
332
|
def update(self, run_update: "PipelineRunUpdate") -> "PipelineRunSchema":
|
@@ -37,6 +37,7 @@ from zenml.models import (
|
|
37
37
|
StepRunResponseMetadata,
|
38
38
|
StepRunUpdate,
|
39
39
|
)
|
40
|
+
from zenml.models.v2.core.step_run import StepRunResponseResources
|
40
41
|
from zenml.zen_stores.schemas.base_schemas import NamedSchema
|
41
42
|
from zenml.zen_stores.schemas.pipeline_deployment_schemas import (
|
42
43
|
PipelineDeploymentSchema,
|
@@ -207,7 +208,9 @@ class StepRunSchema(NamedSchema, table=True):
|
|
207
208
|
}
|
208
209
|
|
209
210
|
output_artifacts = {
|
210
|
-
artifact.name: artifact.artifact_version.to_model(
|
211
|
+
artifact.name: artifact.artifact_version.to_model(
|
212
|
+
pipeline_run_id_in_context=self.pipeline_run_id
|
213
|
+
)
|
211
214
|
for artifact in self.output_artifacts
|
212
215
|
}
|
213
216
|
|
@@ -250,11 +253,24 @@ class StepRunSchema(NamedSchema, table=True):
|
|
250
253
|
parent_step_ids=[p.parent_id for p in self.parents],
|
251
254
|
run_metadata=run_metadata,
|
252
255
|
)
|
256
|
+
|
257
|
+
resources = None
|
258
|
+
if include_resources:
|
259
|
+
model_version = None
|
260
|
+
if full_step_config.config.model:
|
261
|
+
model_version = (
|
262
|
+
full_step_config.config.model._get_model_version(
|
263
|
+
hydrate=False
|
264
|
+
)
|
265
|
+
)
|
266
|
+
resources = StepRunResponseResources(model_version=model_version)
|
267
|
+
|
253
268
|
return StepRunResponse(
|
254
269
|
id=self.id,
|
255
270
|
name=self.name,
|
256
271
|
body=body,
|
257
272
|
metadata=metadata,
|
273
|
+
resources=resources,
|
258
274
|
)
|
259
275
|
|
260
276
|
def update(self, step_update: "StepRunUpdate") -> "StepRunSchema":
|
@@ -2462,7 +2462,9 @@ class SqlZenStore(BaseZenStore):
|
|
2462
2462
|
f"{artifact_version_id}: No artifact version with this ID "
|
2463
2463
|
f"found."
|
2464
2464
|
)
|
2465
|
-
return artifact_version.to_model(
|
2465
|
+
return artifact_version.to_model(
|
2466
|
+
include_metadata=hydrate, include_resources=hydrate
|
2467
|
+
)
|
2466
2468
|
|
2467
2469
|
def list_artifact_versions(
|
2468
2470
|
self,
|
@@ -4336,7 +4338,7 @@ class SqlZenStore(BaseZenStore):
|
|
4336
4338
|
with Session(self.engine) as session:
|
4337
4339
|
return self._get_run_schema(
|
4338
4340
|
run_name_or_id, session=session
|
4339
|
-
).to_model(include_metadata=hydrate)
|
4341
|
+
).to_model(include_metadata=hydrate, include_resources=hydrate)
|
4340
4342
|
|
4341
4343
|
def _replace_placeholder_run(
|
4342
4344
|
self,
|
@@ -6938,7 +6940,7 @@ class SqlZenStore(BaseZenStore):
|
|
6938
6940
|
).first()
|
6939
6941
|
if run is None:
|
6940
6942
|
raise KeyError(
|
6941
|
-
f"Unable to create step
|
6943
|
+
f"Unable to create step `{step_run.name}`: No pipeline run "
|
6942
6944
|
f"with ID '{step_run.pipeline_run_id}' found."
|
6943
6945
|
)
|
6944
6946
|
|
@@ -6952,7 +6954,7 @@ class SqlZenStore(BaseZenStore):
|
|
6952
6954
|
).first()
|
6953
6955
|
if existing_step_run is not None:
|
6954
6956
|
raise EntityExistsError(
|
6955
|
-
f"Unable to create step
|
6957
|
+
f"Unable to create step `{step_run.name}`: A step with "
|
6956
6958
|
f"this name already exists in the pipeline run with ID "
|
6957
6959
|
f"'{step_run.pipeline_run_id}'."
|
6958
6960
|
)
|
@@ -7032,7 +7034,9 @@ class SqlZenStore(BaseZenStore):
|
|
7032
7034
|
f"Unable to get step run with ID {step_run_id}: No step "
|
7033
7035
|
"run with this ID found."
|
7034
7036
|
)
|
7035
|
-
return step_run.to_model(
|
7037
|
+
return step_run.to_model(
|
7038
|
+
include_metadata=hydrate, include_resources=hydrate
|
7039
|
+
)
|
7036
7040
|
|
7037
7041
|
def list_run_steps(
|
7038
7042
|
self,
|
{zenml_nightly-0.57.1.dev20240523.dist-info → zenml_nightly-0.58.0.dev20240528.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: zenml-nightly
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.58.0.dev20240528
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
Home-page: https://zenml.io
|
6
6
|
License: Apache-2.0
|
@@ -88,8 +88,8 @@ Requires-Dist: psutil (>=5.0.0)
|
|
88
88
|
Requires-Dist: pydantic (>=1.9.0,<1.11)
|
89
89
|
Requires-Dist: pyjwt[crypto] (==2.7.*) ; extra == "server"
|
90
90
|
Requires-Dist: pyment (>=0.3.3,<0.4.0) ; extra == "dev"
|
91
|
-
Requires-Dist: pymysql (>=1.
|
92
|
-
Requires-Dist: pyparsing (>=2.4.0
|
91
|
+
Requires-Dist: pymysql (>=1.1.1,<1.2.0)
|
92
|
+
Requires-Dist: pyparsing (>=2.4.0)
|
93
93
|
Requires-Dist: pytest (>=7.4.0,<8.0.0) ; extra == "dev"
|
94
94
|
Requires-Dist: pytest-clarity (>=1.0.1,<2.0.0) ; extra == "dev"
|
95
95
|
Requires-Dist: pytest-instafail (>=0.5.0) ; extra == "dev"
|
@@ -426,7 +426,7 @@ the Apache License Version 2.0.
|
|
426
426
|
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
|
427
427
|
<br />
|
428
428
|
<br />
|
429
|
-
🎉 Version 0.
|
429
|
+
🎉 Version 0.58.0 is out. Check out the release notes
|
430
430
|
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
|
431
431
|
<br />
|
432
432
|
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
|