zenml-nightly 0.61.0.dev20240712__py3-none-any.whl → 0.62.0.dev20240726__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 +2 -2
- RELEASE_NOTES.md +40 -0
- zenml/VERSION +1 -1
- zenml/__init__.py +2 -0
- zenml/cli/stack.py +114 -248
- zenml/cli/stack_components.py +5 -3
- zenml/constants.py +3 -0
- zenml/enums.py +16 -0
- zenml/integrations/__init__.py +1 -0
- zenml/integrations/azure/__init__.py +2 -2
- zenml/integrations/constants.py +1 -0
- zenml/integrations/databricks/__init__.py +52 -0
- zenml/integrations/databricks/flavors/__init__.py +30 -0
- zenml/integrations/databricks/flavors/databricks_model_deployer_flavor.py +118 -0
- zenml/integrations/databricks/flavors/databricks_orchestrator_flavor.py +147 -0
- zenml/integrations/databricks/model_deployers/__init__.py +20 -0
- zenml/integrations/databricks/model_deployers/databricks_model_deployer.py +249 -0
- zenml/integrations/databricks/orchestrators/__init__.py +20 -0
- zenml/integrations/databricks/orchestrators/databricks_orchestrator.py +497 -0
- zenml/integrations/databricks/orchestrators/databricks_orchestrator_entrypoint_config.py +97 -0
- zenml/integrations/databricks/services/__init__.py +19 -0
- zenml/integrations/databricks/services/databricks_deployment.py +407 -0
- zenml/integrations/databricks/utils/__init__.py +14 -0
- zenml/integrations/databricks/utils/databricks_utils.py +87 -0
- zenml/integrations/great_expectations/data_validators/ge_data_validator.py +12 -8
- zenml/integrations/huggingface/materializers/huggingface_datasets_materializer.py +88 -3
- zenml/integrations/huggingface/steps/accelerate_runner.py +1 -7
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +1 -13
- zenml/integrations/kubernetes/orchestrators/manifest_utils.py +22 -4
- zenml/integrations/kubernetes/pod_settings.py +4 -0
- zenml/integrations/lightgbm/__init__.py +1 -0
- zenml/integrations/mlflow/__init__.py +1 -1
- zenml/integrations/mlflow/model_registries/mlflow_model_registry.py +6 -2
- zenml/integrations/mlflow/services/mlflow_deployment.py +1 -1
- zenml/integrations/skypilot_azure/__init__.py +1 -3
- zenml/integrations/skypilot_lambda/__init__.py +1 -1
- zenml/logging/step_logging.py +34 -35
- zenml/materializers/built_in_materializer.py +1 -1
- zenml/materializers/cloudpickle_materializer.py +1 -1
- zenml/model/model.py +1 -1
- zenml/models/v2/core/component.py +29 -0
- zenml/models/v2/core/server_settings.py +0 -20
- zenml/models/v2/misc/full_stack.py +32 -0
- zenml/models/v2/misc/stack_deployment.py +5 -0
- zenml/new/pipelines/run_utils.py +1 -1
- zenml/orchestrators/__init__.py +4 -0
- zenml/orchestrators/step_launcher.py +1 -0
- zenml/orchestrators/wheeled_orchestrator.py +147 -0
- zenml/service_connectors/service_connector_utils.py +408 -0
- zenml/stack_deployments/azure_stack_deployment.py +179 -0
- zenml/stack_deployments/gcp_stack_deployment.py +13 -4
- zenml/stack_deployments/stack_deployment.py +10 -0
- zenml/stack_deployments/utils.py +4 -0
- zenml/steps/base_step.py +7 -5
- zenml/utils/function_utils.py +1 -1
- zenml/utils/pipeline_docker_image_builder.py +8 -0
- zenml/utils/source_utils.py +4 -1
- zenml/zen_server/dashboard/assets/{404-DpJaNHKF.js → 404-B_YdvmwS.js} +1 -1
- zenml/zen_server/dashboard/assets/{@reactflow-DJfzkHO1.js → @reactflow-l_1hUr1S.js} +1 -1
- zenml/zen_server/dashboard/assets/{AwarenessChannel-BYDLT2xC.js → AwarenessChannel-CFg5iX4Z.js} +1 -1
- zenml/zen_server/dashboard/assets/{CodeSnippet-BkOuRmyq.js → CodeSnippet-Dvkx_82E.js} +1 -1
- zenml/zen_server/dashboard/assets/CollapsibleCard-opiuBHHc.js +1 -0
- zenml/zen_server/dashboard/assets/{Commands-ZvWR1BRs.js → Commands-DoN1xrEq.js} +1 -1
- zenml/zen_server/dashboard/assets/{CopyButton-DVwLkafa.js → CopyButton-Cr7xYEPb.js} +1 -1
- zenml/zen_server/dashboard/assets/{CsvVizualization-C2IiqX4I.js → CsvVizualization-Ck-nZ43m.js} +3 -3
- zenml/zen_server/dashboard/assets/{Error-CqX0VqW_.js → Error-kLtljEOM.js} +1 -1
- zenml/zen_server/dashboard/assets/{ExecutionStatus-BoLUXR9t.js → ExecutionStatus-DguLLgTK.js} +1 -1
- zenml/zen_server/dashboard/assets/{Helpbox-LFydyVwh.js → Helpbox-BXUMP21n.js} +1 -1
- zenml/zen_server/dashboard/assets/{Infobox-DnENC0sh.js → Infobox-DSt0O-dm.js} +1 -1
- zenml/zen_server/dashboard/assets/{InlineAvatar-CbJtYr0t.js → InlineAvatar-xsrsIGE-.js} +1 -1
- zenml/zen_server/dashboard/assets/Pagination-C6X-mifw.js +1 -0
- zenml/zen_server/dashboard/assets/{SetPassword-BYBdbQDo.js → SetPassword-BXGTWiwj.js} +1 -1
- zenml/zen_server/dashboard/assets/{SuccessStep-Nx743hll.js → SuccessStep-DZC60t0x.js} +1 -1
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-DF9gSzE0.js → UpdatePasswordSchemas-DGvwFWO1.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-BiEMg7rd.js → chevron-right-double-CZBOf6JM.js} +1 -1
- zenml/zen_server/dashboard/assets/cloud-only-C_yFCAkP.js +1 -0
- zenml/zen_server/dashboard/assets/index-BczVOqUf.js +55 -0
- zenml/zen_server/dashboard/assets/index-EpMIKgrI.css +1 -0
- zenml/zen_server/dashboard/assets/{login-mutation-BUnVASxp.js → login-mutation-CrHrndTI.js} +1 -1
- zenml/zen_server/dashboard/assets/logs-D8k8BVFf.js +1 -0
- zenml/zen_server/dashboard/assets/{not-found-B4VnX8gK.js → not-found-DYa4pC-C.js} +1 -1
- zenml/zen_server/dashboard/assets/{package-CsUhPmou.js → package-B3fWP-Dh.js} +1 -1
- zenml/zen_server/dashboard/assets/page-1h_sD1jz.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Sxn82W-5.js → page-1iL8aMqs.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DMOYZppS.js → page-2grKx_MY.js} +1 -1
- zenml/zen_server/dashboard/assets/page-5NCOHOsy.js +1 -0
- zenml/zen_server/dashboard/assets/{page-JyfeDUfu.js → page-8a4UMKXZ.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Bx6o0ARS.js → page-B6h3iaHJ.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BDns21Iz.js +1 -0
- zenml/zen_server/dashboard/assets/{page-3efNCDeb.js → page-BhgCDInH.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-DKlIdAe5.js → page-Bi-wtWiO.js} +2 -2
- zenml/zen_server/dashboard/assets/{page-7zTHbhhI.js → page-BkeAAYwp.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-CRTJ0UuR.js → page-BkuQDIf-.js} +1 -1
- zenml/zen_server/dashboard/assets/page-BnaevhnB.js +1 -0
- zenml/zen_server/dashboard/assets/{page-BEs6jK71.js → page-Bq0YxkLV.js} +1 -1
- zenml/zen_server/dashboard/assets/page-Bs2F4eoD.js +2 -0
- zenml/zen_server/dashboard/assets/{page-CUZIGO-3.js → page-C6-UGEbH.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-Xu8JEjSU.js → page-CCNRIt_f.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-DvCvroOM.js → page-CHNxpz3n.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-BpSqIf4B.js → page-DgorQFqi.js} +1 -1
- zenml/zen_server/dashboard/assets/page-K8ebxVIs.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Cx67M0QT.js → page-MFQyIJd3.js} +1 -1
- zenml/zen_server/dashboard/assets/page-TgCF0P_U.js +1 -0
- zenml/zen_server/dashboard/assets/page-ZnCEe-eK.js +9 -0
- zenml/zen_server/dashboard/assets/{page-Dc_7KMQE.js → page-uA5prJGY.js} +1 -1
- zenml/zen_server/dashboard/assets/persist-D7HJNBWx.js +1 -0
- zenml/zen_server/dashboard/assets/plus-C8WOyCzt.js +1 -0
- zenml/zen_server/dashboard/assets/stack-detail-query-Cficsl6d.js +1 -0
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-7d8xi1tS.js +1 -0
- zenml/zen_server/dashboard/assets/{url-DuQMeqYA.js → url-D7mAQGUM.js} +1 -1
- 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.c8c57fb0d2132b1d3c2119e776b7dfb3.js → precache-manifest.12246c7548e71e2c4438e496360de80c.js} +4 -4
- zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
- zenml/zen_server/dashboard_legacy/static/js/main.3b27024b.chunk.js +2 -0
- zenml/zen_server/dashboard_legacy/static/js/{main.382439a7.chunk.js.map → main.3b27024b.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/rbac/utils.py +10 -2
- zenml/zen_server/routers/devices_endpoints.py +4 -1
- zenml/zen_server/routers/server_endpoints.py +29 -2
- zenml/zen_server/routers/service_connectors_endpoints.py +57 -0
- zenml/zen_server/routers/steps_endpoints.py +2 -1
- zenml/zen_stores/migrations/versions/0.62.0_release.py +23 -0
- zenml/zen_stores/migrations/versions/b4fca5241eea_migrate_onboarding_state.py +167 -0
- zenml/zen_stores/rest_zen_store.py +4 -0
- zenml/zen_stores/schemas/component_schemas.py +14 -0
- zenml/zen_stores/schemas/server_settings_schemas.py +23 -11
- zenml/zen_stores/sql_zen_store.py +151 -1
- {zenml_nightly-0.61.0.dev20240712.dist-info → zenml_nightly-0.62.0.dev20240726.dist-info}/METADATA +5 -5
- {zenml_nightly-0.61.0.dev20240712.dist-info → zenml_nightly-0.62.0.dev20240726.dist-info}/RECORD +135 -115
- zenml/zen_server/dashboard/assets/Pagination-DEbVUupy.js +0 -1
- zenml/zen_server/dashboard/assets/chevron-down-D_ZlKMqH.js +0 -1
- zenml/zen_server/dashboard/assets/cloud-only-DVbIeckv.js +0 -1
- zenml/zen_server/dashboard/assets/index-C_CrU4vI.js +0 -1
- zenml/zen_server/dashboard/assets/index-DK1ynKjA.js +0 -55
- zenml/zen_server/dashboard/assets/index-inApY3KQ.css +0 -1
- zenml/zen_server/dashboard/assets/page-C43QGHTt.js +0 -9
- zenml/zen_server/dashboard/assets/page-CR0OG7ss.js +0 -1
- zenml/zen_server/dashboard/assets/page-CaopxiU1.js +0 -1
- zenml/zen_server/dashboard/assets/page-D7Z399xy.js +0 -1
- zenml/zen_server/dashboard/assets/page-D93kd7Xj.js +0 -1
- zenml/zen_server/dashboard/assets/page-DMsSn3dv.js +0 -2
- zenml/zen_server/dashboard/assets/page-Hus2pr9T.js +0 -1
- zenml/zen_server/dashboard/assets/page-TKXERe16.js +0 -1
- zenml/zen_server/dashboard/assets/plus-DOeLmm7C.js +0 -1
- zenml/zen_server/dashboard/assets/update-server-settings-mutation-CR8e3Sir.js +0 -1
- zenml/zen_server/dashboard_legacy/static/js/main.382439a7.chunk.js +0 -2
- {zenml_nightly-0.61.0.dev20240712.dist-info → zenml_nightly-0.62.0.dev20240726.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.61.0.dev20240712.dist-info → zenml_nightly-0.62.0.dev20240726.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.61.0.dev20240712.dist-info → zenml_nightly-0.62.0.dev20240726.dist-info}/entry_points.txt +0 -0
@@ -33,6 +33,7 @@ from typing import (
|
|
33
33
|
NoReturn,
|
34
34
|
Optional,
|
35
35
|
Sequence,
|
36
|
+
Set,
|
36
37
|
Tuple,
|
37
38
|
Type,
|
38
39
|
TypeVar,
|
@@ -107,6 +108,7 @@ from zenml.enums import (
|
|
107
108
|
ExecutionStatus,
|
108
109
|
LoggingLevels,
|
109
110
|
ModelStages,
|
111
|
+
OnboardingStep,
|
110
112
|
SecretScope,
|
111
113
|
SecretsStoreType,
|
112
114
|
SorterOps,
|
@@ -284,6 +286,7 @@ from zenml.service_connectors.service_connector_registry import (
|
|
284
286
|
service_connector_registry,
|
285
287
|
)
|
286
288
|
from zenml.stack.flavor_registry import FlavorRegistry
|
289
|
+
from zenml.stack_deployments.utils import get_stack_deployment_class
|
287
290
|
from zenml.utils import uuid_utils
|
288
291
|
from zenml.utils.enum_utils import StrEnum
|
289
292
|
from zenml.utils.networking_utils import (
|
@@ -797,6 +800,7 @@ class SqlZenStore(BaseZenStore):
|
|
797
800
|
_secrets_store: Optional[BaseSecretsStore] = None
|
798
801
|
_backup_secrets_store: Optional[BaseSecretsStore] = None
|
799
802
|
_should_send_user_enriched_events: bool = False
|
803
|
+
_cached_onboarding_state: Optional[Set[str]] = None
|
800
804
|
|
801
805
|
@property
|
802
806
|
def secrets_store(self) -> "BaseSecretsStore":
|
@@ -1688,6 +1692,60 @@ class SqlZenStore(BaseZenStore):
|
|
1688
1692
|
|
1689
1693
|
return settings.to_model(include_metadata=True)
|
1690
1694
|
|
1695
|
+
def get_onboarding_state(self) -> List[str]:
|
1696
|
+
"""Get the server onboarding state.
|
1697
|
+
|
1698
|
+
Returns:
|
1699
|
+
The server onboarding state.
|
1700
|
+
"""
|
1701
|
+
with Session(self.engine) as session:
|
1702
|
+
settings = self._get_server_settings(session=session)
|
1703
|
+
if settings.onboarding_state:
|
1704
|
+
self._cached_onboarding_state = set(
|
1705
|
+
json.loads(settings.onboarding_state)
|
1706
|
+
)
|
1707
|
+
return list(self._cached_onboarding_state)
|
1708
|
+
else:
|
1709
|
+
return []
|
1710
|
+
|
1711
|
+
def _update_onboarding_state(
|
1712
|
+
self, completed_steps: Set[str], session: Session
|
1713
|
+
) -> None:
|
1714
|
+
"""Update the server onboarding state.
|
1715
|
+
|
1716
|
+
Args:
|
1717
|
+
completed_steps: Newly completed onboarding steps.
|
1718
|
+
session: DB session.
|
1719
|
+
"""
|
1720
|
+
if self._cached_onboarding_state and completed_steps.issubset(
|
1721
|
+
self._cached_onboarding_state
|
1722
|
+
):
|
1723
|
+
# All the onboarding steps are already completed, no need to query
|
1724
|
+
# the DB
|
1725
|
+
return
|
1726
|
+
|
1727
|
+
settings = self._get_server_settings(session=session)
|
1728
|
+
settings.update_onboarding_state(completed_steps=completed_steps)
|
1729
|
+
session.add(settings)
|
1730
|
+
session.commit()
|
1731
|
+
session.refresh(settings)
|
1732
|
+
|
1733
|
+
assert settings.onboarding_state
|
1734
|
+
self._cached_onboarding_state = set(
|
1735
|
+
json.loads(settings.onboarding_state)
|
1736
|
+
)
|
1737
|
+
|
1738
|
+
def update_onboarding_state(self, completed_steps: Set[str]) -> None:
|
1739
|
+
"""Update the server onboarding state.
|
1740
|
+
|
1741
|
+
Args:
|
1742
|
+
completed_steps: Newly completed onboarding steps.
|
1743
|
+
"""
|
1744
|
+
with Session(self.engine) as session:
|
1745
|
+
self._update_onboarding_state(
|
1746
|
+
completed_steps=completed_steps, session=session
|
1747
|
+
)
|
1748
|
+
|
1691
1749
|
def activate_server(
|
1692
1750
|
self, request: ServerActivationRequest
|
1693
1751
|
) -> Optional[UserResponse]:
|
@@ -3128,6 +3186,29 @@ class SqlZenStore(BaseZenStore):
|
|
3128
3186
|
"found."
|
3129
3187
|
)
|
3130
3188
|
|
3189
|
+
# warn about skypilot regions, if needed
|
3190
|
+
if component.flavor in {"vm_gcp", "vm_azure"}:
|
3191
|
+
stack_deployment_class = get_stack_deployment_class(
|
3192
|
+
StackDeploymentProvider.GCP
|
3193
|
+
if component.flavor == "vm_gcp"
|
3194
|
+
else StackDeploymentProvider.AZURE
|
3195
|
+
)
|
3196
|
+
skypilot_regions = (
|
3197
|
+
stack_deployment_class.skypilot_default_regions().values()
|
3198
|
+
)
|
3199
|
+
if (
|
3200
|
+
component.configuration.get("region", None)
|
3201
|
+
and component.configuration["region"]
|
3202
|
+
not in skypilot_regions
|
3203
|
+
):
|
3204
|
+
logger.warning(
|
3205
|
+
f"Region `{component.configuration['region']}` is not enabled in Skypilot "
|
3206
|
+
f"by default. Supported regions by default are: {skypilot_regions}. "
|
3207
|
+
"Check the Skypilot documentation to learn how to enable regions rather "
|
3208
|
+
"than default ones. (If you have already extended your configuration - "
|
3209
|
+
"simply ignore this warning)"
|
3210
|
+
)
|
3211
|
+
|
3131
3212
|
# Create the component
|
3132
3213
|
new_component = StackComponentSchema(
|
3133
3214
|
name=component.name,
|
@@ -6156,6 +6237,7 @@ class SqlZenStore(BaseZenStore):
|
|
6156
6237
|
|
6157
6238
|
connector = new_service_connector.to_model(include_metadata=True)
|
6158
6239
|
self._populate_connector_type(connector)
|
6240
|
+
|
6159
6241
|
return connector
|
6160
6242
|
|
6161
6243
|
def get_service_connector(
|
@@ -6931,6 +7013,16 @@ class SqlZenStore(BaseZenStore):
|
|
6931
7013
|
session.commit()
|
6932
7014
|
session.refresh(new_stack_schema)
|
6933
7015
|
|
7016
|
+
for component in defined_components:
|
7017
|
+
if component.type == StackComponentType.ORCHESTRATOR:
|
7018
|
+
if component.flavor not in {"local", "local_docker"}:
|
7019
|
+
self._update_onboarding_state(
|
7020
|
+
completed_steps={
|
7021
|
+
OnboardingStep.STACK_WITH_REMOTE_ORCHESTRATOR_CREATED
|
7022
|
+
},
|
7023
|
+
session=session,
|
7024
|
+
)
|
7025
|
+
|
6934
7026
|
return new_stack_schema.to_model(include_metadata=True)
|
6935
7027
|
|
6936
7028
|
def create_full_stack(self, full_stack: FullStackRequest) -> StackResponse:
|
@@ -6964,9 +7056,44 @@ class SqlZenStore(BaseZenStore):
|
|
6964
7056
|
# Service Connectors
|
6965
7057
|
service_connectors: List[ServiceConnectorResponse] = []
|
6966
7058
|
|
7059
|
+
need_to_generate_permanent_tokens = False
|
7060
|
+
orchestrator_component = full_stack.components[
|
7061
|
+
StackComponentType.ORCHESTRATOR
|
7062
|
+
]
|
7063
|
+
if isinstance(orchestrator_component, UUID):
|
7064
|
+
orchestrator = self.get_stack_component(
|
7065
|
+
orchestrator_component,
|
7066
|
+
hydrate=False,
|
7067
|
+
)
|
7068
|
+
need_to_generate_permanent_tokens = (
|
7069
|
+
orchestrator.flavor.startswith("vm_")
|
7070
|
+
)
|
7071
|
+
else:
|
7072
|
+
need_to_generate_permanent_tokens = (
|
7073
|
+
orchestrator_component.flavor.startswith("vm_")
|
7074
|
+
)
|
7075
|
+
|
6967
7076
|
for connector_id_or_info in full_stack.service_connectors:
|
6968
7077
|
# Fetch an existing service connector
|
6969
7078
|
if isinstance(connector_id_or_info, UUID):
|
7079
|
+
existing_service_connector = self.get_service_connector(
|
7080
|
+
connector_id_or_info
|
7081
|
+
)
|
7082
|
+
if need_to_generate_permanent_tokens:
|
7083
|
+
if (
|
7084
|
+
existing_service_connector.configuration.get(
|
7085
|
+
"generate_temporary_tokens", None
|
7086
|
+
)
|
7087
|
+
is not False
|
7088
|
+
):
|
7089
|
+
self.update_service_connector(
|
7090
|
+
existing_service_connector.id,
|
7091
|
+
ServiceConnectorUpdate(
|
7092
|
+
configuration=existing_service_connector.configuration.update(
|
7093
|
+
{"generate_temporary_tokens": False}
|
7094
|
+
)
|
7095
|
+
),
|
7096
|
+
)
|
6970
7097
|
service_connectors.append(
|
6971
7098
|
self.get_service_connector(connector_id_or_info)
|
6972
7099
|
)
|
@@ -6979,7 +7106,11 @@ class SqlZenStore(BaseZenStore):
|
|
6979
7106
|
name=connector_name,
|
6980
7107
|
connector_type=connector_id_or_info.type,
|
6981
7108
|
auth_method=connector_id_or_info.auth_method,
|
6982
|
-
configuration=connector_id_or_info.configuration
|
7109
|
+
configuration=connector_id_or_info.configuration.update(
|
7110
|
+
{
|
7111
|
+
"generate_temporary_tokens": not need_to_generate_permanent_tokens
|
7112
|
+
}
|
7113
|
+
),
|
6983
7114
|
user=full_stack.user,
|
6984
7115
|
workspace=full_stack.workspace,
|
6985
7116
|
labels={
|
@@ -7965,6 +8096,25 @@ class SqlZenStore(BaseZenStore):
|
|
7965
8096
|
"duration_seconds": duration_seconds,
|
7966
8097
|
**stack_metadata,
|
7967
8098
|
}
|
8099
|
+
|
8100
|
+
completed_onboarding_steps: Set[str] = {
|
8101
|
+
OnboardingStep.PIPELINE_RUN,
|
8102
|
+
OnboardingStep.STARTER_SETUP_COMPLETED,
|
8103
|
+
}
|
8104
|
+
if stack_metadata["orchestrator"] not in {
|
8105
|
+
"local",
|
8106
|
+
"local_docker",
|
8107
|
+
}:
|
8108
|
+
completed_onboarding_steps.update(
|
8109
|
+
{
|
8110
|
+
OnboardingStep.PIPELINE_RUN_WITH_REMOTE_ORCHESTRATOR,
|
8111
|
+
OnboardingStep.PRODUCTION_SETUP_COMPLETED,
|
8112
|
+
}
|
8113
|
+
)
|
8114
|
+
|
8115
|
+
self._update_onboarding_state(
|
8116
|
+
completed_steps=completed_onboarding_steps, session=session
|
8117
|
+
)
|
7968
8118
|
pipeline_run.update(run_update)
|
7969
8119
|
session.add(pipeline_run)
|
7970
8120
|
|
{zenml_nightly-0.61.0.dev20240712.dist-info → zenml_nightly-0.62.0.dev20240726.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.62.0.dev20240726
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
Home-page: https://zenml.io
|
6
6
|
License: Apache-2.0
|
@@ -59,7 +59,7 @@ Requires-Dist: copier (>=8.1.0) ; extra == "templates"
|
|
59
59
|
Requires-Dist: coverage[toml] (>=5.5,<6.0) ; extra == "dev"
|
60
60
|
Requires-Dist: darglint (>=1.8.1,<2.0.0) ; extra == "dev"
|
61
61
|
Requires-Dist: distro (>=1.6.0,<2.0.0)
|
62
|
-
Requires-Dist: docker (>=
|
62
|
+
Requires-Dist: docker (>=7.1.0,<7.2.0)
|
63
63
|
Requires-Dist: fastapi (>=0.100,<=0.110) ; extra == "server"
|
64
64
|
Requires-Dist: gcsfs (>=2022.11.0) ; extra == "gcsfs"
|
65
65
|
Requires-Dist: gitpython (>=3.1.18,<4.0.0)
|
@@ -83,6 +83,7 @@ Requires-Dist: mlstacks (==0.9.0) ; extra == "mlstacks"
|
|
83
83
|
Requires-Dist: mypy (==1.7.1) ; extra == "dev"
|
84
84
|
Requires-Dist: numpy (<2.0.0)
|
85
85
|
Requires-Dist: orjson (>=3.10.0,<3.11.0) ; extra == "server"
|
86
|
+
Requires-Dist: packaging (>=24.1)
|
86
87
|
Requires-Dist: pandas (>=1.1.5)
|
87
88
|
Requires-Dist: passlib[bcrypt] (>=1.7.4,<1.8.0)
|
88
89
|
Requires-Dist: psutil (>=5.0.0)
|
@@ -104,7 +105,6 @@ Requires-Dist: python-multipart (>=0.0.9,<0.1.0) ; extra == "server"
|
|
104
105
|
Requires-Dist: python-terraform (>=0.10.1,<0.11.0) ; extra == "terraform"
|
105
106
|
Requires-Dist: pyyaml (>=6.0.1)
|
106
107
|
Requires-Dist: pyyaml-include (<2.0) ; extra == "templates"
|
107
|
-
Requires-Dist: requests (<2.32.0)
|
108
108
|
Requires-Dist: rich[jupyter] (>=12.0.0)
|
109
109
|
Requires-Dist: ruff (>=0.1.7) ; extra == "templates" or extra == "dev"
|
110
110
|
Requires-Dist: s3fs (>=2022.11.0) ; extra == "s3fs"
|
@@ -458,7 +458,7 @@ the Apache License Version 2.0.
|
|
458
458
|
·
|
459
459
|
<a href="https://github.com/zenml-io/zenml/issues">Report Bug</a>
|
460
460
|
·
|
461
|
-
<a href="https://zenml.io/
|
461
|
+
<a href="https://zenml.io/pro">Sign up for ZenML Pro</a>
|
462
462
|
·
|
463
463
|
<a href="https://www.zenml.io/blog">Read Blog</a>
|
464
464
|
·
|
@@ -467,7 +467,7 @@ the Apache License Version 2.0.
|
|
467
467
|
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
|
468
468
|
<br />
|
469
469
|
<br />
|
470
|
-
🎉 Version 0.
|
470
|
+
🎉 Version 0.62.0 is out. Check out the release notes
|
471
471
|
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
|
472
472
|
<br />
|
473
473
|
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
|