zenml-nightly 0.60.0.dev20240627__py3-none-any.whl → 0.61.0.dev20240711__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 +30 -9
- RELEASE_NOTES.md +34 -0
- zenml/VERSION +1 -1
- zenml/analytics/enums.py +3 -0
- zenml/cli/__init__.py +28 -0
- zenml/cli/artifact.py +1 -2
- zenml/cli/integration.py +9 -8
- zenml/cli/server.py +6 -0
- zenml/cli/stack.py +797 -39
- zenml/cli/stack_components.py +7 -0
- zenml/cli/text_utils.py +35 -1
- zenml/cli/utils.py +127 -10
- zenml/client.py +23 -14
- zenml/config/docker_settings.py +8 -5
- zenml/constants.py +5 -1
- zenml/container_registries/base_container_registry.py +1 -0
- zenml/enums.py +6 -0
- zenml/event_hub/event_hub.py +5 -8
- zenml/integrations/aws/__init__.py +1 -0
- zenml/integrations/azure/__init__.py +1 -0
- zenml/integrations/deepchecks/__init__.py +1 -0
- zenml/integrations/discord/__init__.py +1 -0
- zenml/integrations/evidently/__init__.py +1 -0
- zenml/integrations/facets/__init__.py +1 -0
- zenml/integrations/feast/__init__.py +1 -0
- zenml/integrations/gcp/__init__.py +3 -1
- zenml/integrations/gcp/service_connectors/gcp_service_connector.py +203 -44
- zenml/integrations/huggingface/__init__.py +1 -0
- zenml/integrations/integration.py +24 -0
- zenml/integrations/kubeflow/__init__.py +3 -0
- zenml/integrations/kubeflow/flavors/kubeflow_orchestrator_flavor.py +1 -1
- zenml/integrations/kubeflow/orchestrators/kubeflow_orchestrator.py +0 -1
- zenml/integrations/kubernetes/__init__.py +3 -1
- zenml/integrations/kubernetes/orchestrators/kube_utils.py +4 -1
- zenml/integrations/label_studio/annotators/label_studio_annotator.py +1 -0
- zenml/integrations/langchain/__init__.py +1 -0
- zenml/integrations/mlflow/__init__.py +3 -1
- zenml/integrations/neural_prophet/__init__.py +1 -0
- zenml/integrations/polars/__init__.py +1 -0
- zenml/integrations/prodigy/__init__.py +1 -0
- zenml/integrations/pycaret/__init__.py +6 -0
- zenml/integrations/registry.py +37 -0
- zenml/integrations/s3/artifact_stores/s3_artifact_store.py +17 -6
- zenml/integrations/seldon/__init__.py +1 -0
- zenml/integrations/seldon/model_deployers/seldon_model_deployer.py +1 -0
- zenml/integrations/skypilot/flavors/skypilot_orchestrator_base_vm_config.py +2 -2
- zenml/integrations/skypilot/orchestrators/skypilot_base_vm_orchestrator.py +1 -1
- zenml/integrations/skypilot/orchestrators/skypilot_orchestrator_entrypoint.py +2 -2
- zenml/integrations/skypilot_aws/__init__.py +2 -1
- zenml/integrations/skypilot_azure/__init__.py +1 -1
- zenml/integrations/skypilot_gcp/__init__.py +1 -1
- zenml/integrations/skypilot_lambda/__init__.py +1 -1
- zenml/integrations/skypilot_lambda/flavors/skypilot_orchestrator_lambda_vm_flavor.py +1 -1
- zenml/integrations/slack/__init__.py +1 -0
- zenml/integrations/tekton/__init__.py +1 -0
- zenml/integrations/tensorboard/__init__.py +0 -1
- zenml/integrations/tensorflow/__init__.py +18 -6
- zenml/integrations/wandb/__init__.py +1 -0
- zenml/models/__init__.py +9 -0
- zenml/models/v2/core/component.py +18 -0
- zenml/models/v2/core/model.py +1 -2
- zenml/models/v2/core/service_connector.py +17 -0
- zenml/models/v2/core/stack.py +31 -0
- zenml/models/v2/misc/full_stack.py +97 -0
- zenml/models/v2/misc/stack_deployment.py +66 -0
- zenml/new/pipelines/pipeline.py +1 -1
- zenml/orchestrators/input_utils.py +3 -6
- zenml/stack/stack.py +3 -6
- zenml/stack_deployments/__init__.py +14 -0
- zenml/stack_deployments/aws_stack_deployment.py +289 -0
- zenml/stack_deployments/stack_deployment.py +130 -0
- zenml/stack_deployments/utils.py +40 -0
- zenml/utils/function_utils.py +1 -1
- zenml/utils/pagination_utils.py +7 -5
- zenml/utils/pipeline_docker_image_builder.py +97 -68
- zenml/utils/pydantic_utils.py +6 -5
- zenml/zen_server/cloud_utils.py +18 -3
- zenml/zen_server/dashboard/assets/{404-C1mcUujL.js → 404-DpJaNHKF.js} +1 -1
- zenml/zen_server/dashboard/assets/@radix-CFOkMR_E.js +85 -0
- zenml/zen_server/dashboard/assets/{@react-router-DYovave8.js → @react-router-CO-OsFwI.js} +2 -2
- zenml/zen_server/dashboard/assets/{@reactflow-DYIyhCfd.js → @reactflow-DJfzkHO1.js} +2 -2
- zenml/zen_server/dashboard/assets/@tanstack-DYiOyJUL.js +22 -0
- zenml/zen_server/dashboard/assets/AwarenessChannel-BYDLT2xC.js +1 -0
- zenml/zen_server/dashboard/assets/{CodeSnippet-WEzpO0az.js → CodeSnippet-BkOuRmyq.js} +2 -2
- zenml/zen_server/dashboard/assets/Commands-ZvWR1BRs.js +1 -0
- zenml/zen_server/dashboard/assets/CopyButton-DVwLkafa.js +2 -0
- zenml/zen_server/dashboard/assets/{CsvVizualization-Bx931j4U.js → CsvVizualization-C2IiqX4I.js} +7 -7
- zenml/zen_server/dashboard/assets/DisplayDate-DYgIjlDF.js +1 -0
- zenml/zen_server/dashboard/assets/EmptyState-BMLnFVlB.js +1 -0
- zenml/zen_server/dashboard/assets/Error-CqX0VqW_.js +1 -0
- zenml/zen_server/dashboard/assets/ExecutionStatus-BoLUXR9t.js +1 -0
- zenml/zen_server/dashboard/assets/Helpbox-LFydyVwh.js +1 -0
- zenml/zen_server/dashboard/assets/Infobox-DnENC0sh.js +1 -0
- zenml/zen_server/dashboard/assets/InlineAvatar-CbJtYr0t.js +1 -0
- zenml/zen_server/dashboard/assets/{MarkdownVisualization-DsB2QZiK.js → MarkdownVisualization-xp3hhULl.js} +2 -2
- zenml/zen_server/dashboard/assets/Pagination-DEbVUupy.js +1 -0
- zenml/zen_server/dashboard/assets/PasswordChecker-DUveqlva.js +1 -0
- zenml/zen_server/dashboard/assets/SetPassword-BYBdbQDo.js +1 -0
- zenml/zen_server/dashboard/assets/SuccessStep-Nx743hll.js +1 -0
- zenml/zen_server/dashboard/assets/{UpdatePasswordSchemas-CKrd3UZz.js → UpdatePasswordSchemas-DF9gSzE0.js} +1 -1
- zenml/zen_server/dashboard/assets/{aws-t0gKCj_R.js → aws-BgKTfTfx.js} +1 -1
- zenml/zen_server/dashboard/assets/{check-circle-BVvhm5dy.js → check-circle-i56092KI.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-down-zcvCWmyP.js → chevron-down-D_ZlKMqH.js} +1 -1
- zenml/zen_server/dashboard/assets/{chevron-right-double-CJ50E9Gr.js → chevron-right-double-BiEMg7rd.js} +1 -1
- zenml/zen_server/dashboard/assets/cloud-only-DVbIeckv.js +1 -0
- zenml/zen_server/dashboard/assets/{copy-BRhQz3j-.js → copy-BXNk6BjL.js} +1 -1
- zenml/zen_server/dashboard/assets/{database-CRRnyFWh.js → database-1xWSgZfO.js} +1 -1
- zenml/zen_server/dashboard/assets/{docker-BAonhm6G.js → docker-CQMVm_4d.js} +1 -1
- zenml/zen_server/dashboard/assets/{file-text-CbVERUON.js → file-text-CqD_iu6l.js} +1 -1
- zenml/zen_server/dashboard/assets/{help-B8rqCvqn.js → help-bu_DgLKI.js} +1 -1
- zenml/zen_server/dashboard/assets/index-C_CrU4vI.js +1 -0
- zenml/zen_server/dashboard/assets/index-DK1ynKjA.js +55 -0
- zenml/zen_server/dashboard/assets/index-inApY3KQ.css +1 -0
- zenml/zen_server/dashboard/assets/index-rK_Wuy2W.js +1 -0
- zenml/zen_server/dashboard/assets/index.esm-Corw4lXQ.js +1 -0
- zenml/zen_server/dashboard/assets/{login-mutation-Bk2tn324.js → login-mutation-BUnVASxp.js} +1 -1
- zenml/zen_server/dashboard/assets/not-found-B4VnX8gK.js +1 -0
- zenml/zen_server/dashboard/assets/package-CsUhPmou.js +1 -0
- zenml/zen_server/dashboard/assets/{page-D12Rvf0j.js → page-3efNCDeb.js} +2 -2
- zenml/zen_server/dashboard/assets/page-7zTHbhhI.js +1 -0
- zenml/zen_server/dashboard/assets/page-BEs6jK71.js +1 -0
- zenml/zen_server/dashboard/assets/page-BpSqIf4B.js +1 -0
- zenml/zen_server/dashboard/assets/{page-8vRWJ5b8.js → page-Bx6o0ARS.js} +1 -1
- zenml/zen_server/dashboard/assets/page-C43QGHTt.js +9 -0
- zenml/zen_server/dashboard/assets/page-CR0OG7ss.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CBuSUrE9.js → page-CRTJ0UuR.js} +1 -1
- zenml/zen_server/dashboard/assets/page-CUZIGO-3.js +1 -0
- zenml/zen_server/dashboard/assets/page-CaopxiU1.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CCtCgG-x.js → page-Cx67M0QT.js} +1 -1
- zenml/zen_server/dashboard/assets/page-D7Z399xy.js +1 -0
- zenml/zen_server/dashboard/assets/page-D93kd7Xj.js +1 -0
- zenml/zen_server/dashboard/assets/{page-Dw9-aJV6.js → page-DKlIdAe5.js} +1 -1
- zenml/zen_server/dashboard/assets/{page-COafKNbw.js → page-DMOYZppS.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DMsSn3dv.js +2 -0
- zenml/zen_server/dashboard/assets/{page-C6v3o0Qj.js → page-Dc_7KMQE.js} +1 -1
- zenml/zen_server/dashboard/assets/page-DvCvroOM.js +1 -0
- zenml/zen_server/dashboard/assets/page-Hus2pr9T.js +1 -0
- zenml/zen_server/dashboard/assets/page-JyfeDUfu.js +1 -0
- zenml/zen_server/dashboard/assets/{page-CH26py0a.js → page-Sxn82W-5.js} +1 -1
- zenml/zen_server/dashboard/assets/page-TKXERe16.js +1 -0
- zenml/zen_server/dashboard/assets/page-Xu8JEjSU.js +1 -0
- zenml/zen_server/dashboard/assets/{play-circle-DK5QMJyp.js → play-circle-CNtZKDnW.js} +1 -1
- zenml/zen_server/dashboard/assets/plus-DOeLmm7C.js +1 -0
- zenml/zen_server/dashboard/assets/{terminal-B2ovgWuz.js → terminal-By9cErXc.js} +1 -1
- zenml/zen_server/dashboard/assets/{update-server-settings-mutation-bKxf7U9h.js → update-server-settings-mutation-CR8e3Sir.js} +1 -1
- zenml/zen_server/dashboard/assets/{url-CgvM-IVM.js → url-DuQMeqYA.js} +1 -1
- zenml/zen_server/dashboard/assets/{zod-DrZvVLjd.js → zod-BhoGpZ63.js} +1 -1
- zenml/zen_server/dashboard/index.html +7 -7
- 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.e7c29295aae591541ef59d1734d79387.js → precache-manifest.c8c57fb0d2132b1d3c2119e776b7dfb3.js} +4 -4
- zenml/zen_server/dashboard_legacy/service-worker.js +1 -1
- zenml/zen_server/dashboard_legacy/static/js/{main.53857d8b.chunk.js → main.382439a7.chunk.js} +2 -2
- zenml/zen_server/dashboard_legacy/static/js/{main.53857d8b.chunk.js.map → main.382439a7.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/feature_gate/zenml_cloud_feature_gate.py +11 -5
- zenml/zen_server/pipeline_deployment/utils.py +57 -44
- zenml/zen_server/rbac/zenml_cloud_rbac.py +11 -5
- zenml/zen_server/routers/stack_deployment_endpoints.py +144 -0
- zenml/zen_server/routers/workspaces_endpoints.py +64 -0
- zenml/zen_server/zen_server_api.py +2 -0
- zenml/zen_stores/migrations/utils.py +1 -1
- zenml/zen_stores/migrations/versions/0.61.0_release.py +23 -0
- zenml/zen_stores/migrations/versions/0d707865f404_adding_labels_to_stacks.py +30 -0
- zenml/zen_stores/rest_zen_store.py +117 -0
- zenml/zen_stores/schemas/stack_schemas.py +10 -0
- zenml/zen_stores/schemas/step_run_schemas.py +27 -11
- zenml/zen_stores/sql_zen_store.py +283 -0
- zenml/zen_stores/zen_store_interface.py +79 -0
- {zenml_nightly-0.60.0.dev20240627.dist-info → zenml_nightly-0.61.0.dev20240711.dist-info}/METADATA +32 -10
- {zenml_nightly-0.60.0.dev20240627.dist-info → zenml_nightly-0.61.0.dev20240711.dist-info}/RECORD +175 -161
- zenml/zen_server/dashboard/assets/@radix-C9DBgJhe.js +0 -77
- zenml/zen_server/dashboard/assets/@tanstack-CEbkxrhX.js +0 -30
- zenml/zen_server/dashboard/assets/AwarenessChannel-B2KR83Tr.js +0 -1
- zenml/zen_server/dashboard/assets/Cards-DSEdjsk8.js +0 -1
- zenml/zen_server/dashboard/assets/Commands-CTlhyic5.js +0 -1
- zenml/zen_server/dashboard/assets/CopyButton-CTrzKmUO.js +0 -2
- zenml/zen_server/dashboard/assets/DisplayDate-BdguISQF.js +0 -1
- zenml/zen_server/dashboard/assets/EmptyState-BkooiGtL.js +0 -1
- zenml/zen_server/dashboard/assets/Error-4sKxHad4.js +0 -1
- zenml/zen_server/dashboard/assets/Helpbox-DW21i5LD.js +0 -1
- zenml/zen_server/dashboard/assets/Infobox-C7bf70VS.js +0 -1
- zenml/zen_server/dashboard/assets/InlineAvatar-Dxrtafpg.js +0 -1
- zenml/zen_server/dashboard/assets/PageHeader-B0pUife2.js +0 -1
- zenml/zen_server/dashboard/assets/Pagination-B9WG_9cJ.js +0 -1
- zenml/zen_server/dashboard/assets/PasswordChecker-DSLBp7Vl.js +0 -1
- zenml/zen_server/dashboard/assets/SetPassword-CiNhT15a.js +0 -1
- zenml/zen_server/dashboard/assets/SuccessStep-CykrFndS.js +0 -1
- zenml/zen_server/dashboard/assets/cloud-only-Bkawp7CJ.js +0 -1
- zenml/zen_server/dashboard/assets/index-BawkpTlr.js +0 -55
- zenml/zen_server/dashboard/assets/index-CRmm7QhS.css +0 -1
- zenml/zen_server/dashboard/assets/index.esm-F7nqy9zY.js +0 -1
- zenml/zen_server/dashboard/assets/not-found-BAuhP4Jb.js +0 -1
- zenml/zen_server/dashboard/assets/page--5YvAHg3.js +0 -1
- zenml/zen_server/dashboard/assets/page-B0RAq4s_.js +0 -1
- zenml/zen_server/dashboard/assets/page-BePtEPHl.js +0 -1
- zenml/zen_server/dashboard/assets/page-C1pra1Bc.js +0 -9
- zenml/zen_server/dashboard/assets/page-CSs4C9jL.js +0 -1
- zenml/zen_server/dashboard/assets/page-Cf2XSej0.js +0 -1
- zenml/zen_server/dashboard/assets/page-ClPUAE_f.js +0 -1
- zenml/zen_server/dashboard/assets/page-D8pf2vis.js +0 -1
- zenml/zen_server/dashboard/assets/page-DHKMmIQH.js +0 -1
- zenml/zen_server/dashboard/assets/page-DMZ0VOda.js +0 -1
- zenml/zen_server/dashboard/assets/page-Dcg-yQv_.js +0 -1
- zenml/zen_server/dashboard/assets/page-DoAK5FSB.js +0 -1
- zenml/zen_server/dashboard/assets/page-iXiDqE0J.js +0 -2
- {zenml_nightly-0.60.0.dev20240627.dist-info → zenml_nightly-0.61.0.dev20240711.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.60.0.dev20240627.dist-info → zenml_nightly-0.61.0.dev20240711.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.60.0.dev20240627.dist-info → zenml_nightly-0.61.0.dev20240711.dist-info}/entry_points.txt +0 -0
README.md
CHANGED
@@ -133,9 +133,36 @@ if __name__ == "__main__":
|
|
133
133
|
|
134
134
|

|
135
135
|
|
136
|
-
###
|
136
|
+
### Easily provision an MLOps stack or reuse your existing infrastructure
|
137
137
|
|
138
|
-
The framework is a gentle entry point for practitioners to build complex ML pipelines with little knowledge required of the underlying infrastructure complexity. ZenML pipelines can be run on AWS, GCP, Azure, Airflow, Kubeflow and even on Kubernetes without having to change any code or know underlying internals.
|
138
|
+
The framework is a gentle entry point for practitioners to build complex ML pipelines with little knowledge required of the underlying infrastructure complexity. ZenML pipelines can be run on AWS, GCP, Azure, Airflow, Kubeflow and even on Kubernetes without having to change any code or know underlying internals.
|
139
|
+
|
140
|
+
ZenML provides different features to aid people to get started quickly on a remote setting as well. If you want to deploy a remote stack from scratch on your selected cloud provider, you can use the 1-click deployment feature either through the dashboard:
|
141
|
+
|
142
|
+

|
143
|
+
|
144
|
+
Or, through our CLI command:
|
145
|
+
|
146
|
+
```bash
|
147
|
+
zenml stack deploy --provider aws
|
148
|
+
```
|
149
|
+
|
150
|
+
Alternatively, if the necessary pieces of infrastructure is already deployed, you can register a cloud stack seamlessly through the stack wizard:
|
151
|
+
|
152
|
+
```bash
|
153
|
+
zenml stack register <STACK_NAME> --provider aws
|
154
|
+
```
|
155
|
+
|
156
|
+
Read more about [ZenML stacks](https://docs.zenml.io/user-guide/production-guide/understand-stacks).
|
157
|
+
|
158
|
+
### Run workloads easily on your production infrastructure
|
159
|
+
|
160
|
+
Once you have your MLOps stack configured, you can easily run workloads on it:
|
161
|
+
|
162
|
+
```bash
|
163
|
+
zenml stack set <STACK_NAME>
|
164
|
+
python run.py
|
165
|
+
```
|
139
166
|
|
140
167
|
```python
|
141
168
|
from zenml.config import ResourceSettings, DockerSettings
|
@@ -150,14 +177,8 @@ def training(...):
|
|
150
177
|
...
|
151
178
|
```
|
152
179
|
|
153
|
-
```bash
|
154
|
-
zenml stack set k8s # Set a stack with kubernetes orchestrator
|
155
|
-
python run.py
|
156
|
-
```
|
157
|
-
|
158
180
|

|
159
181
|
|
160
|
-
|
161
182
|
### Track models, pipeline, and artifacts
|
162
183
|
|
163
184
|
Create a complete lineage of who, where, and what data and models are produced.
|
@@ -306,7 +327,7 @@ the Apache License Version 2.0.
|
|
306
327
|
<a href="https://github.com/zenml-io/zenml-projects">Projects Showcase</a>
|
307
328
|
<br />
|
308
329
|
<br />
|
309
|
-
🎉 Version 0.
|
330
|
+
🎉 Version 0.61.0 is out. Check out the release notes
|
310
331
|
<a href="https://github.com/zenml-io/zenml/releases">here</a>.
|
311
332
|
<br />
|
312
333
|
🖥️ Download our VS Code Extension <a href="https://marketplace.visualstudio.com/items?itemName=ZenML.zenml-vscode">here</a>.
|
RELEASE_NOTES.md
CHANGED
@@ -1,4 +1,38 @@
|
|
1
1
|
<!-- markdown-link-check-disable -->
|
2
|
+
# 0.61.0
|
3
|
+
|
4
|
+
This release comes with a new and easy way to deploy an AWS ZenML stack from the dashboard and the CLI. Give it a try by going to the `Stacks` section in the dashboard or running the `zenml stack deploy` command!
|
5
|
+
|
6
|
+
We hope this makes it super easy for existing and new users to set up the infrastructure required to run ZenML pipelines on the cloud in one click.
|
7
|
+
|
8
|
+
Note: Only a simple AWS stack using Skypilot supported for now but GCP + Azure to come!
|
9
|
+
|
10
|
+
Additionally, this release includes improvements to our documentation and bugfixes for some integrations.
|
11
|
+
|
12
|
+
## What's Changed
|
13
|
+
|
14
|
+
* Add latest zenml version to migration testing scripts by @htahir1 in https://github.com/zenml-io/zenml/pull/2811
|
15
|
+
* Add service connector support for Google Artifact Registry by @stefannica in https://github.com/zenml-io/zenml/pull/2771
|
16
|
+
* Update order in which requirements are installed by @schustmi in https://github.com/zenml-io/zenml/pull/2341
|
17
|
+
* Add installation instructions for Macs running on Apple Silicon by @strickvl in https://github.com/zenml-io/zenml/pull/2774
|
18
|
+
* Added docs for trigger interface by @htahir1 in https://github.com/zenml-io/zenml/pull/2806
|
19
|
+
* Update triggers docs with information on previously-run pipelines by @strickvl in https://github.com/zenml-io/zenml/pull/2820
|
20
|
+
* Bump kfp version in GCP integration for pydantic2.0 by @wjayesh in https://github.com/zenml-io/zenml/pull/2824
|
21
|
+
* Use shared cloud connection to reduce M2M token usage by @schustmi in https://github.com/zenml-io/zenml/pull/2817
|
22
|
+
* Fail pipeline run if error happens during deployment by @schustmi in https://github.com/zenml-io/zenml/pull/2818
|
23
|
+
* Login to dockerhub to solve rate limiting by @schustmi in https://github.com/zenml-io/zenml/pull/2828
|
24
|
+
* Stack wizard CLI + Endpoints by @avishniakov in https://github.com/zenml-io/zenml/pull/2808
|
25
|
+
* In-browser assisted full cloud stack deployments by @stefannica in https://github.com/zenml-io/zenml/pull/2816
|
26
|
+
* Fix Kubeflow v2 integration by @wjayesh in https://github.com/zenml-io/zenml/pull/2829
|
27
|
+
* fix skypilot jobs failing on VMs (sky bumped to 0.6.0) by @wjayesh in https://github.com/zenml-io/zenml/pull/2815
|
28
|
+
* Fix unicode decode errors in k8s pod logs read operation by @wjayesh in https://github.com/zenml-io/zenml/pull/2807
|
29
|
+
* Small improvements and bug fixes by @schustmi in https://github.com/zenml-io/zenml/pull/2821
|
30
|
+
* TF tests + various integration (un)install improvements by @avishniakov in https://github.com/zenml-io/zenml/pull/2791
|
31
|
+
* Fixed bug in the MacOS version check by @strickvl in https://github.com/zenml-io/zenml/pull/2819
|
32
|
+
* Remove prefix for analytics labels by @schustmi in https://github.com/zenml-io/zenml/pull/2831
|
33
|
+
|
34
|
+
|
35
|
+
**Full Changelog**: https://github.com/zenml-io/zenml/compare/0.60.0...0.61.0
|
2
36
|
|
3
37
|
# 0.60.0
|
4
38
|
|
zenml/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.61.0.dev20240711
|
zenml/analytics/enums.py
CHANGED
@@ -85,6 +85,9 @@ class AnalyticsEvent(str, Enum):
|
|
85
85
|
DEPLOY_STACK_COMPONENT = "Stack component deployed"
|
86
86
|
DESTROY_STACK_COMPONENT = "Stack component destroyed"
|
87
87
|
|
88
|
+
# Full stack infrastructure deployment
|
89
|
+
DEPLOY_FULL_STACK = "Full stack deployed"
|
90
|
+
|
88
91
|
# Tag created
|
89
92
|
CREATED_TAG = "Tag created"
|
90
93
|
|
zenml/cli/__init__.py
CHANGED
@@ -1411,6 +1411,34 @@ zenml stack register STACK_NAME \
|
|
1411
1411
|
Each corresponding argument should be the name, id or even the first few letters
|
1412
1412
|
of the id that uniquely identify the artifact store or orchestrator.
|
1413
1413
|
|
1414
|
+
To create a new stack using the new service connector with a set of minimal components,
|
1415
|
+
use the following command:
|
1416
|
+
|
1417
|
+
```bash
|
1418
|
+
zenml stack register STACK_NAME \
|
1419
|
+
-p CLOUD_PROVIDER
|
1420
|
+
```
|
1421
|
+
|
1422
|
+
To create a new stack using the existing service connector with a set of minimal components,
|
1423
|
+
use the following command:
|
1424
|
+
|
1425
|
+
```bash
|
1426
|
+
zenml stack register STACK_NAME \
|
1427
|
+
-sc SERVICE_CONNECTOR_NAME
|
1428
|
+
```
|
1429
|
+
|
1430
|
+
To create a new stack using the existing service connector with existing components (
|
1431
|
+
important, that the components are already registered in the service connector), use the
|
1432
|
+
following command:
|
1433
|
+
|
1434
|
+
```bash
|
1435
|
+
zenml stack register STACK_NAME \
|
1436
|
+
-sc SERVICE_CONNECTOR_NAME \
|
1437
|
+
-a ARTIFACT_STORE_NAME \
|
1438
|
+
-o ORCHESTRATOR_NAME \
|
1439
|
+
...
|
1440
|
+
```
|
1441
|
+
|
1414
1442
|
If you want to immediately set this newly created stack as your active stack,
|
1415
1443
|
simply pass along the `--set` flag.
|
1416
1444
|
|
zenml/cli/artifact.py
CHANGED
@@ -13,7 +13,6 @@
|
|
13
13
|
# permissions and limitations under the License.
|
14
14
|
"""CLI functionality to interact with artifacts."""
|
15
15
|
|
16
|
-
from functools import partial
|
17
16
|
from typing import Any, Dict, List, Optional
|
18
17
|
|
19
18
|
import click
|
@@ -258,7 +257,7 @@ def prune_artifacts(
|
|
258
257
|
"""
|
259
258
|
client = Client()
|
260
259
|
unused_artifact_versions = depaginate(
|
261
|
-
|
260
|
+
client.list_artifact_versions, only_unused=True
|
262
261
|
)
|
263
262
|
|
264
263
|
if not unused_artifact_versions:
|
zenml/cli/integration.py
CHANGED
@@ -263,13 +263,6 @@ def install(
|
|
263
263
|
# no integrations specified, use all registered integrations
|
264
264
|
integrations = set(integration_registry.integrations.keys())
|
265
265
|
|
266
|
-
# TODO: remove once python 3.11 gcp integration issue is resolved
|
267
|
-
if sys.version_info >= (3, 11) and "gcp" in integrations:
|
268
|
-
warning(
|
269
|
-
"We are aware of dependency resolution issues when using "
|
270
|
-
"Python 3.11.x with the GCP integration. For now, please use "
|
271
|
-
"Python 3.10 or lower instead while we work on a fix."
|
272
|
-
)
|
273
266
|
for i in ignore_integration:
|
274
267
|
try:
|
275
268
|
integrations.remove(i)
|
@@ -278,6 +271,14 @@ def install(
|
|
278
271
|
f"Integration {i} does not exist. Available integrations: "
|
279
272
|
f"{list(integration_registry.integrations.keys())}"
|
280
273
|
)
|
274
|
+
# TODO: remove once python 3.8 is deprecated
|
275
|
+
if sys.version_info.minor == 8 and "tensorflow" in integrations:
|
276
|
+
warning(
|
277
|
+
"Python 3.8 with TensorFlow is not fully compatible with "
|
278
|
+
"Pydantic 2 requirements. Consider upgrading to a "
|
279
|
+
"higher Python version if you would like to use the "
|
280
|
+
"Tensorflow integration."
|
281
|
+
)
|
281
282
|
|
282
283
|
requirements = []
|
283
284
|
integrations_to_install = []
|
@@ -360,7 +361,7 @@ def uninstall(
|
|
360
361
|
try:
|
361
362
|
if integration_registry.is_installed(integration_name):
|
362
363
|
requirements += (
|
363
|
-
integration_registry.
|
364
|
+
integration_registry.select_uninstall_requirements(
|
364
365
|
integration_name
|
365
366
|
)
|
366
367
|
)
|
zenml/cli/server.py
CHANGED
@@ -170,6 +170,12 @@ def up(
|
|
170
170
|
else:
|
171
171
|
pass
|
172
172
|
provider = ServerProviderType.LOCAL
|
173
|
+
if cli_utils.requires_mac_env_var_warning():
|
174
|
+
cli_utils.error(
|
175
|
+
"The `OBJC_DISABLE_INITIALIZE_FORK_SAFETY` environment variable "
|
176
|
+
"is recommended to run the ZenML server locally on a Mac. "
|
177
|
+
"Please set it to `YES` and try again."
|
178
|
+
)
|
173
179
|
|
174
180
|
os.environ[ENV_ZENML_LOCAL_SERVER] = str(True)
|
175
181
|
|