zenml-nightly 0.80.0.dev20250321__py3-none-any.whl → 0.80.0.dev20250323__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/cli/project.py +1 -1
- zenml/cli/service_accounts.py +2 -2
- zenml/cli/service_connectors.py +1 -1
- zenml/cli/stack.py +1 -1
- zenml/cli/stack_components.py +1 -1
- zenml/cli/user_management.py +1 -1
- zenml/integrations/__init__.py +0 -64
- zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py +42 -35
- zenml/integrations/registry.py +34 -0
- zenml/stack_deployments/aws_stack_deployment.py +10 -5
- zenml/stack_deployments/azure_stack_deployment.py +47 -41
- zenml/stack_deployments/constants.py +30 -0
- zenml/stack_deployments/gcp_stack_deployment.py +6 -0
- zenml/zen_server/routers/stack_deployment_endpoints.py +12 -4
- zenml/zen_stores/migrations/versions/288f4fb6e112_make_tags_user_scoped.py +2 -2
- zenml/zen_stores/migrations/versions/41b28cae31ce_make_artifacts_workspace_scoped.py +2 -2
- zenml/zen_stores/migrations/versions/f1d723fd723b_add_secret_private_attr.py +2 -2
- {zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/METADATA +2 -2
- {zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/RECORD +23 -22
- {zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/entry_points.txt +0 -0
zenml/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.80.0.
|
1
|
+
0.80.0.dev20250323
|
zenml/cli/project.py
CHANGED
@@ -38,7 +38,7 @@ def project() -> None:
|
|
38
38
|
@project.command("list")
|
39
39
|
@list_options(ProjectFilter)
|
40
40
|
@click.pass_context
|
41
|
-
def list_projects(ctx: click.Context, **kwargs: Any) -> None:
|
41
|
+
def list_projects(ctx: click.Context, /, **kwargs: Any) -> None:
|
42
42
|
"""List all projects.
|
43
43
|
|
44
44
|
Args:
|
zenml/cli/service_accounts.py
CHANGED
@@ -187,7 +187,7 @@ def describe_service_account(service_account_name_or_id: str) -> None:
|
|
187
187
|
@service_account.command("list")
|
188
188
|
@list_options(ServiceAccountFilter)
|
189
189
|
@click.pass_context
|
190
|
-
def list_service_accounts(ctx: click.Context, **kwargs: Any) -> None:
|
190
|
+
def list_service_accounts(ctx: click.Context, /, **kwargs: Any) -> None:
|
191
191
|
"""List all users.
|
192
192
|
|
193
193
|
Args:
|
@@ -384,7 +384,7 @@ def describe_api_key(service_account_name_or_id: str, name_or_id: str) -> None:
|
|
384
384
|
@api_key.command("list", help="List all API keys.")
|
385
385
|
@list_options(APIKeyFilter)
|
386
386
|
@click.pass_obj
|
387
|
-
def list_api_keys(service_account_name_or_id: str, **kwargs: Any) -> None:
|
387
|
+
def list_api_keys(service_account_name_or_id: str, /, **kwargs: Any) -> None:
|
388
388
|
"""List all API keys.
|
389
389
|
|
390
390
|
Args:
|
zenml/cli/service_connectors.py
CHANGED
@@ -982,7 +982,7 @@ def register_service_connector(
|
|
982
982
|
)
|
983
983
|
@click.pass_context
|
984
984
|
def list_service_connectors(
|
985
|
-
ctx: click.Context, labels: Optional[List[str]] = None, **kwargs: Any
|
985
|
+
ctx: click.Context, /, labels: Optional[List[str]] = None, **kwargs: Any
|
986
986
|
) -> None:
|
987
987
|
"""List all service connectors.
|
988
988
|
|
zenml/cli/stack.py
CHANGED
@@ -937,7 +937,7 @@ def rename_stack(
|
|
937
937
|
@stack.command("list")
|
938
938
|
@list_options(StackFilter)
|
939
939
|
@click.pass_context
|
940
|
-
def list_stacks(ctx: click.Context, **kwargs: Any) -> None:
|
940
|
+
def list_stacks(ctx: click.Context, /, **kwargs: Any) -> None:
|
941
941
|
"""List all stacks that fulfill the filter requirements.
|
942
942
|
|
943
943
|
Args:
|
zenml/cli/stack_components.py
CHANGED
@@ -155,7 +155,7 @@ def generate_stack_component_list_command(
|
|
155
155
|
@list_options(ComponentFilter)
|
156
156
|
@click.pass_context
|
157
157
|
def list_stack_components_command(
|
158
|
-
ctx: click.Context, **kwargs: Any
|
158
|
+
ctx: click.Context, /, **kwargs: Any
|
159
159
|
) -> None:
|
160
160
|
"""Prints a table of stack components.
|
161
161
|
|
zenml/cli/user_management.py
CHANGED
@@ -79,7 +79,7 @@ def describe_user(user_name_or_id: Optional[str] = None) -> None:
|
|
79
79
|
@user.command("list")
|
80
80
|
@list_options(UserFilter)
|
81
81
|
@click.pass_context
|
82
|
-
def list_users(ctx: click.Context, **kwargs: Any) -> None:
|
82
|
+
def list_users(ctx: click.Context, /, **kwargs: Any) -> None:
|
83
83
|
"""List all users.
|
84
84
|
|
85
85
|
Args:
|
zenml/integrations/__init__.py
CHANGED
@@ -17,67 +17,3 @@ The ZenML integrations module contains sub-modules for each integration that we
|
|
17
17
|
support. This includes orchestrators like Apache Airflow, visualization tools
|
18
18
|
like the ``facets`` library, as well as deep learning libraries like PyTorch.
|
19
19
|
"""
|
20
|
-
from zenml.integrations.airflow import AirflowIntegration # noqa
|
21
|
-
from zenml.integrations.argilla import ArgillaIntegration # noqa
|
22
|
-
from zenml.integrations.aws import AWSIntegration # noqa
|
23
|
-
from zenml.integrations.azure import AzureIntegration # noqa
|
24
|
-
from zenml.integrations.bentoml import BentoMLIntegration # noqa
|
25
|
-
from zenml.integrations.bitbucket import BitbucketIntegration # noqa
|
26
|
-
from zenml.integrations.databricks import DatabricksIntegration # noqa
|
27
|
-
from zenml.integrations.comet import CometIntegration # noqa
|
28
|
-
from zenml.integrations.deepchecks import DeepchecksIntegration # noqa
|
29
|
-
from zenml.integrations.discord import DiscordIntegration # noqa
|
30
|
-
from zenml.integrations.evidently import EvidentlyIntegration # noqa
|
31
|
-
from zenml.integrations.facets import FacetsIntegration # noqa
|
32
|
-
from zenml.integrations.feast import FeastIntegration # noqa
|
33
|
-
from zenml.integrations.gcp import GcpIntegration # noqa
|
34
|
-
from zenml.integrations.github import GitHubIntegration # noqa
|
35
|
-
from zenml.integrations.gitlab import GitLabIntegration # noqa
|
36
|
-
from zenml.integrations.great_expectations import ( # noqa
|
37
|
-
GreatExpectationsIntegration,
|
38
|
-
)
|
39
|
-
from zenml.integrations.lightning import LightningIntegration # noqa
|
40
|
-
from zenml.integrations.huggingface import HuggingfaceIntegration # noqa
|
41
|
-
from zenml.integrations.hyperai import HyperAIIntegration # noqa
|
42
|
-
from zenml.integrations.kaniko import KanikoIntegration # noqa
|
43
|
-
from zenml.integrations.kubeflow import KubeflowIntegration # noqa
|
44
|
-
from zenml.integrations.kubernetes import KubernetesIntegration # noqa
|
45
|
-
from zenml.integrations.label_studio import LabelStudioIntegration # noqa
|
46
|
-
from zenml.integrations.langchain import LangchainIntegration # noqa
|
47
|
-
from zenml.integrations.lightgbm import LightGBMIntegration # noqa
|
48
|
-
|
49
|
-
# from zenml.integrations.llama_index import LlamaIndexIntegration # noqa
|
50
|
-
from zenml.integrations.mlflow import MlflowIntegration # noqa
|
51
|
-
from zenml.integrations.modal import ModalIntegration # noqa
|
52
|
-
from zenml.integrations.neptune import NeptuneIntegration # noqa
|
53
|
-
from zenml.integrations.neural_prophet import NeuralProphetIntegration # noqa
|
54
|
-
from zenml.integrations.numpy import NumpyIntegration # noqa
|
55
|
-
from zenml.integrations.openai import OpenAIIntegration # noqa
|
56
|
-
from zenml.integrations.pandas import PandasIntegration # noqa
|
57
|
-
from zenml.integrations.pigeon import PigeonIntegration # noqa
|
58
|
-
from zenml.integrations.pillow import PillowIntegration # noqa
|
59
|
-
from zenml.integrations.polars import PolarsIntegration # noqa
|
60
|
-
from zenml.integrations.prodigy import ProdigyIntegration # noqa
|
61
|
-
from zenml.integrations.pycaret import PyCaretIntegration # noqa
|
62
|
-
from zenml.integrations.pytorch import PytorchIntegration # noqa
|
63
|
-
from zenml.integrations.pytorch_lightning import ( # noqa
|
64
|
-
PytorchLightningIntegration,
|
65
|
-
)
|
66
|
-
from zenml.integrations.s3 import S3Integration # noqa
|
67
|
-
from zenml.integrations.scipy import ScipyIntegration # noqa
|
68
|
-
from zenml.integrations.seldon import SeldonIntegration # noqa
|
69
|
-
from zenml.integrations.sklearn import SklearnIntegration # noqa
|
70
|
-
from zenml.integrations.skypilot_aws import SkypilotAWSIntegration # noqa
|
71
|
-
from zenml.integrations.skypilot_gcp import SkypilotGCPIntegration # noqa
|
72
|
-
from zenml.integrations.skypilot_azure import SkypilotAzureIntegration # noqa
|
73
|
-
from zenml.integrations.skypilot_lambda import SkypilotLambdaIntegration # noqa
|
74
|
-
from zenml.integrations.skypilot_kubernetes import SkypilotKubernetesIntegration # noqa
|
75
|
-
from zenml.integrations.slack import SlackIntegration # noqa
|
76
|
-
from zenml.integrations.spark import SparkIntegration # noqa
|
77
|
-
from zenml.integrations.tekton import TektonIntegration # noqa
|
78
|
-
from zenml.integrations.tensorboard import TensorBoardIntegration # noqa
|
79
|
-
from zenml.integrations.tensorflow import TensorflowIntegration # noqa
|
80
|
-
from zenml.integrations.wandb import WandbIntegration # noqa
|
81
|
-
from zenml.integrations.whylogs import WhylogsIntegration # noqa
|
82
|
-
from zenml.integrations.xgboost import XgboostIntegration # noqa
|
83
|
-
from zenml.integrations.vllm import VLLMIntegration # noqa
|
@@ -223,45 +223,52 @@ class KubernetesOrchestrator(ContainerizedOrchestrator):
|
|
223
223
|
msg = f"'{self.name}' Kubernetes orchestrator error: "
|
224
224
|
|
225
225
|
if not self.connector:
|
226
|
-
if
|
226
|
+
if kubernetes_context:
|
227
|
+
contexts, active_context = self.get_kubernetes_contexts()
|
228
|
+
|
229
|
+
if kubernetes_context not in contexts:
|
230
|
+
return False, (
|
231
|
+
f"{msg}could not find a Kubernetes context named "
|
232
|
+
f"'{kubernetes_context}' in the local "
|
233
|
+
"Kubernetes configuration. Please make sure that "
|
234
|
+
"the Kubernetes cluster is running and that the "
|
235
|
+
"kubeconfig file is configured correctly. To list "
|
236
|
+
"all configured contexts, run:\n\n"
|
237
|
+
" `kubectl config get-contexts`\n"
|
238
|
+
)
|
239
|
+
if kubernetes_context != active_context:
|
240
|
+
logger.warning(
|
241
|
+
f"{msg}the Kubernetes context "
|
242
|
+
f"'{kubernetes_context}' configured for the "
|
243
|
+
f"Kubernetes orchestrator is not the same as the "
|
244
|
+
f"active context in the local Kubernetes "
|
245
|
+
f"configuration. If this is not deliberate, you "
|
246
|
+
f"should update the orchestrator's "
|
247
|
+
f"`kubernetes_context` field by running:\n\n"
|
248
|
+
f" `zenml orchestrator update {self.name} "
|
249
|
+
f"--kubernetes_context={active_context}`\n"
|
250
|
+
f"To list all configured contexts, run:\n\n"
|
251
|
+
f" `kubectl config get-contexts`\n"
|
252
|
+
f"To set the active context to be the same as the "
|
253
|
+
f"one configured in the Kubernetes orchestrator "
|
254
|
+
f"and silence this warning, run:\n\n"
|
255
|
+
f" `kubectl config use-context "
|
256
|
+
f"{kubernetes_context}`\n"
|
257
|
+
)
|
258
|
+
elif self.config.incluster:
|
259
|
+
# No service connector or kubernetes_context is needed when
|
260
|
+
# the orchestrator is being used from within a Kubernetes
|
261
|
+
# cluster.
|
262
|
+
pass
|
263
|
+
else:
|
227
264
|
return False, (
|
228
|
-
f"{msg}you must either link this
|
265
|
+
f"{msg}you must either link this orchestrator to a "
|
229
266
|
"Kubernetes service connector (see the 'zenml "
|
230
|
-
"orchestrator connect' CLI command)
|
267
|
+
"orchestrator connect' CLI command), explicitly set "
|
231
268
|
"the `kubernetes_context` attribute to the name of the "
|
232
269
|
"Kubernetes config context pointing to the cluster "
|
233
|
-
"where you would like to run pipelines
|
234
|
-
|
235
|
-
|
236
|
-
contexts, active_context = self.get_kubernetes_contexts()
|
237
|
-
|
238
|
-
if kubernetes_context not in contexts:
|
239
|
-
return False, (
|
240
|
-
f"{msg}could not find a Kubernetes context named "
|
241
|
-
f"'{kubernetes_context}' in the local "
|
242
|
-
"Kubernetes configuration. Please make sure that the "
|
243
|
-
"Kubernetes cluster is running and that the kubeconfig "
|
244
|
-
"file is configured correctly. To list all configured "
|
245
|
-
"contexts, run:\n\n"
|
246
|
-
" `kubectl config get-contexts`\n"
|
247
|
-
)
|
248
|
-
if kubernetes_context != active_context:
|
249
|
-
logger.warning(
|
250
|
-
f"{msg}the Kubernetes context '{kubernetes_context}' " # nosec
|
251
|
-
f"configured for the Kubernetes orchestrator is not "
|
252
|
-
f"the same as the active context in the local "
|
253
|
-
f"Kubernetes configuration. If this is not deliberate,"
|
254
|
-
f" you should update the orchestrator's "
|
255
|
-
f"`kubernetes_context` field by running:\n\n"
|
256
|
-
f" `zenml orchestrator update {self.name} "
|
257
|
-
f"--kubernetes_context={active_context}`\n"
|
258
|
-
f"To list all configured contexts, run:\n\n"
|
259
|
-
f" `kubectl config get-contexts`\n"
|
260
|
-
f"To set the active context to be the same as the one "
|
261
|
-
f"configured in the Kubernetes orchestrator and "
|
262
|
-
f"silence this warning, run:\n\n"
|
263
|
-
f" `kubectl config use-context "
|
264
|
-
f"{kubernetes_context}`\n"
|
270
|
+
"where you would like to run pipelines, or set the "
|
271
|
+
"`incluster` attribute to `True`."
|
265
272
|
)
|
266
273
|
|
267
274
|
silence_local_validations_msg = (
|
zenml/integrations/registry.py
CHANGED
@@ -13,6 +13,8 @@
|
|
13
13
|
# permissions and limitations under the License.
|
14
14
|
"""Implementation of a registry to track ZenML integrations."""
|
15
15
|
|
16
|
+
import importlib
|
17
|
+
import os
|
16
18
|
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Type
|
17
19
|
|
18
20
|
from zenml.exceptions import IntegrationError
|
@@ -30,6 +32,7 @@ class IntegrationRegistry(object):
|
|
30
32
|
def __init__(self) -> None:
|
31
33
|
"""Initializing the integration registry."""
|
32
34
|
self._integrations: Dict[str, Type["Integration"]] = {}
|
35
|
+
self._initialized = False
|
33
36
|
|
34
37
|
@property
|
35
38
|
def integrations(self) -> Dict[str, Type["Integration"]]:
|
@@ -38,6 +41,7 @@ class IntegrationRegistry(object):
|
|
38
41
|
Returns:
|
39
42
|
A dict of integration key to type of `Integration`.
|
40
43
|
"""
|
44
|
+
self._initialize()
|
41
45
|
return self._integrations
|
42
46
|
|
43
47
|
@integrations.setter
|
@@ -68,8 +72,33 @@ class IntegrationRegistry(object):
|
|
68
72
|
"""
|
69
73
|
self._integrations[key] = type_
|
70
74
|
|
75
|
+
def _initialize(self) -> None:
|
76
|
+
"""Method to register all integrations."""
|
77
|
+
if self._initialized:
|
78
|
+
return
|
79
|
+
self._initialized = True
|
80
|
+
|
81
|
+
# Load all submodules in the integrations module
|
82
|
+
integrations_dir = os.path.dirname(__file__)
|
83
|
+
for file in os.listdir(integrations_dir):
|
84
|
+
full_path = os.path.join(integrations_dir, file)
|
85
|
+
# Skip anything that isn't a directory
|
86
|
+
if not os.path.isdir(full_path):
|
87
|
+
continue
|
88
|
+
# Skip anything that doesn't have a __init__.py file
|
89
|
+
if not os.path.exists(os.path.join(full_path, "__init__.py")):
|
90
|
+
continue
|
91
|
+
# Import the module
|
92
|
+
module_path = f"zenml.integrations.{file}"
|
93
|
+
try:
|
94
|
+
importlib.import_module(module_path)
|
95
|
+
except ImportError:
|
96
|
+
logger.exception(f"Failed to import module `{module_path}`.")
|
97
|
+
continue
|
98
|
+
|
71
99
|
def activate_integrations(self) -> None:
|
72
100
|
"""Method to activate the integrations with are registered in the registry."""
|
101
|
+
self._initialize()
|
73
102
|
for name, integration in self._integrations.items():
|
74
103
|
if integration.check_installation():
|
75
104
|
logger.debug(f"Activating integration `{name}`...")
|
@@ -85,6 +114,7 @@ class IntegrationRegistry(object):
|
|
85
114
|
Returns:
|
86
115
|
A list of all possible integrations.
|
87
116
|
"""
|
117
|
+
self._initialize()
|
88
118
|
return [name for name in self._integrations]
|
89
119
|
|
90
120
|
def select_integration_requirements(
|
@@ -104,6 +134,7 @@ class IntegrationRegistry(object):
|
|
104
134
|
Raises:
|
105
135
|
KeyError: If the integration is not found.
|
106
136
|
"""
|
137
|
+
self._initialize()
|
107
138
|
if integration_name:
|
108
139
|
if integration_name in self.list_integration_names:
|
109
140
|
return self._integrations[integration_name].get_requirements(
|
@@ -141,6 +172,7 @@ class IntegrationRegistry(object):
|
|
141
172
|
Raises:
|
142
173
|
KeyError: If the integration is not found.
|
143
174
|
"""
|
175
|
+
self._initialize()
|
144
176
|
if integration_name:
|
145
177
|
if integration_name in self.list_integration_names:
|
146
178
|
return self._integrations[
|
@@ -173,6 +205,7 @@ class IntegrationRegistry(object):
|
|
173
205
|
Raises:
|
174
206
|
KeyError: If the integration is not found.
|
175
207
|
"""
|
208
|
+
self._initialize()
|
176
209
|
if integration_name in self.list_integration_names:
|
177
210
|
return self._integrations[integration_name].check_installation()
|
178
211
|
elif not integration_name:
|
@@ -194,6 +227,7 @@ class IntegrationRegistry(object):
|
|
194
227
|
Returns:
|
195
228
|
List of installed integrations.
|
196
229
|
"""
|
230
|
+
self._initialize()
|
197
231
|
return [
|
198
232
|
name
|
199
233
|
for name, integration in integration_registry.integrations.items()
|
@@ -17,6 +17,10 @@ from typing import ClassVar, Dict, List, Optional
|
|
17
17
|
|
18
18
|
from zenml.enums import StackDeploymentProvider
|
19
19
|
from zenml.models import StackDeploymentConfig
|
20
|
+
from zenml.stack_deployments.constants import (
|
21
|
+
TERRAFORM_AWS_MODULE_VERSION_SPEC,
|
22
|
+
TERRAFORM_PROVIDER_VERSION_SPEC,
|
23
|
+
)
|
20
24
|
from zenml.stack_deployments.stack_deployment import (
|
21
25
|
STACK_DEPLOYMENT_TERRAFORM,
|
22
26
|
ZenMLCloudStackDeployment,
|
@@ -203,10 +207,6 @@ console.
|
|
203
207
|
# Based on the AWS regions listed at
|
204
208
|
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
|
205
209
|
return {
|
206
|
-
"US East (Ohio)": "us-east-2",
|
207
|
-
"US East (N. Virginia)": "us-east-1",
|
208
|
-
"US West (N. California)": "us-west-1",
|
209
|
-
"US West (Oregon)": "us-west-2",
|
210
210
|
"Africa (Cape Town)": "af-south-1",
|
211
211
|
"Asia Pacific (Hong Kong)": "ap-east-1",
|
212
212
|
"Asia Pacific (Hyderabad)": "ap-south-2",
|
@@ -232,6 +232,10 @@ console.
|
|
232
232
|
"Middle East (Bahrain)": "me-south-1",
|
233
233
|
"Middle East (UAE)": "me-central-1",
|
234
234
|
"South America (São Paulo)": "sa-east-1",
|
235
|
+
"US East (Ohio)": "us-east-2",
|
236
|
+
"US East (N. Virginia)": "us-east-1",
|
237
|
+
"US West (N. California)": "us-west-1",
|
238
|
+
"US West (Oregon)": "us-west-2",
|
235
239
|
}
|
236
240
|
|
237
241
|
def get_deployment_config(
|
@@ -287,6 +291,7 @@ console.
|
|
287
291
|
}}
|
288
292
|
zenml = {{
|
289
293
|
source = "zenml-io/zenml"
|
294
|
+
version = "{TERRAFORM_PROVIDER_VERSION_SPEC}"
|
290
295
|
}}
|
291
296
|
}}
|
292
297
|
}}
|
@@ -302,7 +307,7 @@ provider "zenml" {{
|
|
302
307
|
|
303
308
|
module "zenml_stack" {{
|
304
309
|
source = "zenml-io/zenml-stack/aws"
|
305
|
-
|
310
|
+
version = "{TERRAFORM_AWS_MODULE_VERSION_SPEC}"
|
306
311
|
zenml_stack_name = "{self.stack_name}"
|
307
312
|
zenml_stack_deployment = "{self.deployment_type}"
|
308
313
|
}}
|
@@ -18,6 +18,10 @@ from typing import ClassVar, Dict, List
|
|
18
18
|
|
19
19
|
from zenml.enums import StackDeploymentProvider
|
20
20
|
from zenml.models import StackDeploymentConfig
|
21
|
+
from zenml.stack_deployments.constants import (
|
22
|
+
TERRAFORM_AZURE_MODULE_VERSION_SPEC,
|
23
|
+
TERRAFORM_PROVIDER_VERSION_SPEC,
|
24
|
+
)
|
21
25
|
from zenml.stack_deployments.stack_deployment import ZenMLCloudStackDeployment
|
22
26
|
|
23
27
|
AZURE_DEPLOYMENT_TYPE = "azure-cloud-shell"
|
@@ -156,70 +160,70 @@ ZenML's access to your Azure subscription.
|
|
156
160
|
"""
|
157
161
|
# Based on `az account list-locations -o table` on 16.07.2024
|
158
162
|
return {
|
159
|
-
"(US) East US": "eastus",
|
160
|
-
"(US) South Central US": "southcentralus",
|
161
|
-
"(US) West US 2": "westus2",
|
162
|
-
"(US) West US 3": "westus3",
|
163
|
-
"(Asia Pacific) Australia East": "australiaeast",
|
164
|
-
"(Asia Pacific) Southeast Asia": "southeastasia",
|
165
|
-
"(Europe) North Europe": "northeurope",
|
166
|
-
"(Europe) Sweden Central": "swedencentral",
|
167
|
-
"(Europe) UK South": "uksouth",
|
168
|
-
"(Europe) West Europe": "westeurope",
|
169
|
-
"(US) Central US": "centralus",
|
170
163
|
"(Africa) South Africa North": "southafricanorth",
|
164
|
+
"(Africa) South Africa West": "southafricawest",
|
165
|
+
"(Asia Pacific) Australia Central": "australiacentral",
|
166
|
+
"(Asia Pacific) Australia Central 2": "australiacentral2",
|
167
|
+
"(Asia Pacific) Australia East": "australiaeast",
|
168
|
+
"(Asia Pacific) Australia Southeast": "australiasoutheast",
|
171
169
|
"(Asia Pacific) Central India": "centralindia",
|
172
170
|
"(Asia Pacific) East Asia": "eastasia",
|
171
|
+
"(Asia Pacific) East Asia (Stage)": "eastasiastage",
|
173
172
|
"(Asia Pacific) Japan East": "japaneast",
|
173
|
+
"(Asia Pacific) Japan West": "japanwest",
|
174
|
+
"(Asia Pacific) Jio India Central": "jioindiacentral",
|
175
|
+
"(Asia Pacific) Jio India West": "jioindiawest",
|
174
176
|
"(Asia Pacific) Korea Central": "koreacentral",
|
177
|
+
"(Asia Pacific) Korea South": "koreasouth",
|
178
|
+
"(Asia Pacific) South India": "southindia",
|
179
|
+
"(Asia Pacific) Southeast Asia": "southeastasia",
|
180
|
+
"(Asia Pacific) Southeast Asia (Stage)": "southeastasiastage",
|
181
|
+
"(Asia Pacific) West India": "westindia",
|
175
182
|
"(Canada) Canada Central": "canadacentral",
|
183
|
+
"(Canada) Canada East": "canadaeast",
|
176
184
|
"(Europe) France Central": "francecentral",
|
185
|
+
"(Europe) France South": "francesouth",
|
186
|
+
"(Europe) Germany North": "germanynorth",
|
177
187
|
"(Europe) Germany West Central": "germanywestcentral",
|
178
188
|
"(Europe) Italy North": "italynorth",
|
189
|
+
"(Europe) North Europe": "northeurope",
|
179
190
|
"(Europe) Norway East": "norwayeast",
|
191
|
+
"(Europe) Norway West": "norwaywest",
|
180
192
|
"(Europe) Poland Central": "polandcentral",
|
181
193
|
"(Europe) Spain Central": "spaincentral",
|
194
|
+
"(Europe) Sweden Central": "swedencentral",
|
182
195
|
"(Europe) Switzerland North": "switzerlandnorth",
|
196
|
+
"(Europe) Switzerland West": "switzerlandwest",
|
197
|
+
"(Europe) UK South": "uksouth",
|
198
|
+
"(Europe) UK West": "ukwest",
|
199
|
+
"(Europe) West Europe": "westeurope",
|
183
200
|
"(Mexico) Mexico Central": "mexicocentral",
|
184
|
-
"(Middle East) UAE North": "uaenorth",
|
185
|
-
"(South America) Brazil South": "brazilsouth",
|
186
201
|
"(Middle East) Israel Central": "israelcentral",
|
187
202
|
"(Middle East) Qatar Central": "qatarcentral",
|
203
|
+
"(Middle East) UAE Central": "uaecentral",
|
204
|
+
"(Middle East) UAE North": "uaenorth",
|
205
|
+
"(South America) Brazil South": "brazilsouth",
|
206
|
+
"(South America) Brazil Southeast": "brazilsoutheast",
|
207
|
+
"(South America) Brazil US": "brazilus",
|
208
|
+
"(US) Central US": "centralus",
|
188
209
|
"(US) Central US (Stage)": "centralusstage",
|
210
|
+
"(US) Central US EUAP": "centraluseuap",
|
211
|
+
"(US) East US": "eastus",
|
189
212
|
"(US) East US (Stage)": "eastusstage",
|
213
|
+
"(US) East US 2": "eastus2",
|
190
214
|
"(US) East US 2 (Stage)": "eastus2stage",
|
215
|
+
"(US) East US 2 EUAP": "eastus2euap",
|
216
|
+
"(US) East US STG": "eastusstg",
|
217
|
+
"(US) North Central US": "northcentralus",
|
191
218
|
"(US) North Central US (Stage)": "northcentralusstage",
|
219
|
+
"(US) South Central US": "southcentralus",
|
192
220
|
"(US) South Central US (Stage)": "southcentralusstage",
|
221
|
+
"(US) West Central US": "westcentralus",
|
222
|
+
"(US) West US": "westus",
|
193
223
|
"(US) West US (Stage)": "westusstage",
|
224
|
+
"(US) West US 2": "westus2",
|
194
225
|
"(US) West US 2 (Stage)": "westus2stage",
|
195
|
-
"(
|
196
|
-
"(Asia Pacific) Southeast Asia (Stage)": "southeastasiastage",
|
197
|
-
"(South America) Brazil US": "brazilus",
|
198
|
-
"(US) East US 2": "eastus2",
|
199
|
-
"(US) East US STG": "eastusstg",
|
200
|
-
"(US) North Central US": "northcentralus",
|
201
|
-
"(US) West US": "westus",
|
202
|
-
"(Asia Pacific) Japan West": "japanwest",
|
203
|
-
"(Asia Pacific) Jio India West": "jioindiawest",
|
204
|
-
"(US) Central US EUAP": "centraluseuap",
|
205
|
-
"(US) East US 2 EUAP": "eastus2euap",
|
206
|
-
"(US) West Central US": "westcentralus",
|
207
|
-
"(Africa) South Africa West": "southafricawest",
|
208
|
-
"(Asia Pacific) Australia Central": "australiacentral",
|
209
|
-
"(Asia Pacific) Australia Central 2": "australiacentral2",
|
210
|
-
"(Asia Pacific) Australia Southeast": "australiasoutheast",
|
211
|
-
"(Asia Pacific) Jio India Central": "jioindiacentral",
|
212
|
-
"(Asia Pacific) Korea South": "koreasouth",
|
213
|
-
"(Asia Pacific) South India": "southindia",
|
214
|
-
"(Asia Pacific) West India": "westindia",
|
215
|
-
"(Canada) Canada East": "canadaeast",
|
216
|
-
"(Europe) France South": "francesouth",
|
217
|
-
"(Europe) Germany North": "germanynorth",
|
218
|
-
"(Europe) Norway West": "norwaywest",
|
219
|
-
"(Europe) Switzerland West": "switzerlandwest",
|
220
|
-
"(Europe) UK West": "ukwest",
|
221
|
-
"(Middle East) UAE Central": "uaecentral",
|
222
|
-
"(South America) Brazil Southeast": "brazilsoutheast",
|
226
|
+
"(US) West US 3": "westus3",
|
223
227
|
}
|
224
228
|
|
225
229
|
@classmethod
|
@@ -269,6 +273,7 @@ ZenML's access to your Azure subscription.
|
|
269
273
|
}}
|
270
274
|
zenml = {{
|
271
275
|
source = "zenml-io/zenml"
|
276
|
+
version = "{TERRAFORM_PROVIDER_VERSION_SPEC}"
|
272
277
|
}}
|
273
278
|
}}
|
274
279
|
}}
|
@@ -288,6 +293,7 @@ provider "zenml" {{
|
|
288
293
|
|
289
294
|
module "zenml_stack" {{
|
290
295
|
source = "zenml-io/zenml-stack/azure"
|
296
|
+
version = "{TERRAFORM_AZURE_MODULE_VERSION_SPEC}"
|
291
297
|
|
292
298
|
location = "{self.location or "eastus"}"
|
293
299
|
zenml_stack_name = "{self.stack_name}"
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# Copyright (c) ZenML GmbH 2025. All Rights Reserved.
|
2
|
+
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at:
|
6
|
+
|
7
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
12
|
+
# or implied. See the License for the specific language governing
|
13
|
+
# permissions and limitations under the License.
|
14
|
+
"""Constants for the stack deployments."""
|
15
|
+
|
16
|
+
# The ZenML Terraform provider compatible versions
|
17
|
+
# (>= 2.0.0, < 3.0.0)
|
18
|
+
TERRAFORM_PROVIDER_VERSION_SPEC = "~> 2.0"
|
19
|
+
|
20
|
+
# The ZenML AWS Terraform module compatible versions
|
21
|
+
# (>= 2.0.0, < 3.0.0)
|
22
|
+
TERRAFORM_AWS_MODULE_VERSION_SPEC = "~> 2.0"
|
23
|
+
|
24
|
+
# The ZenML GCP Terraform module compatible versions
|
25
|
+
# (>= 2.0.0, < 3.0.0)
|
26
|
+
TERRAFORM_GCP_MODULE_VERSION_SPEC = "~> 2.0"
|
27
|
+
|
28
|
+
# The ZenML Azure Terraform module compatible versions
|
29
|
+
# (>= 2.0.0, < 3.0.0)
|
30
|
+
TERRAFORM_AZURE_MODULE_VERSION_SPEC = "~> 2.0"
|
@@ -18,6 +18,10 @@ from typing import ClassVar, Dict, List
|
|
18
18
|
|
19
19
|
from zenml.enums import StackDeploymentProvider
|
20
20
|
from zenml.models import StackDeploymentConfig
|
21
|
+
from zenml.stack_deployments.constants import (
|
22
|
+
TERRAFORM_GCP_MODULE_VERSION_SPEC,
|
23
|
+
TERRAFORM_PROVIDER_VERSION_SPEC,
|
24
|
+
)
|
21
25
|
from zenml.stack_deployments.stack_deployment import (
|
22
26
|
STACK_DEPLOYMENT_TERRAFORM,
|
23
27
|
ZenMLCloudStackDeployment,
|
@@ -267,6 +271,7 @@ GCP project and to clean up the resources created by the stack by using
|
|
267
271
|
}}
|
268
272
|
zenml = {{
|
269
273
|
source = "zenml-io/zenml"
|
274
|
+
version = "{TERRAFORM_PROVIDER_VERSION_SPEC}"
|
270
275
|
}}
|
271
276
|
}}
|
272
277
|
}}
|
@@ -283,6 +288,7 @@ provider "zenml" {{
|
|
283
288
|
|
284
289
|
module "zenml_stack" {{
|
285
290
|
source = "zenml-io/zenml-stack/gcp"
|
291
|
+
version = "{TERRAFORM_GCP_MODULE_VERSION_SPEC}"
|
286
292
|
|
287
293
|
zenml_stack_name = "{self.stack_name}"
|
288
294
|
zenml_stack_deployment = "{self.deployment_type}"
|
@@ -40,6 +40,7 @@ from zenml.zen_server.rbac.models import Action, ResourceType
|
|
40
40
|
from zenml.zen_server.rbac.utils import verify_permission
|
41
41
|
from zenml.zen_server.utils import (
|
42
42
|
handle_exceptions,
|
43
|
+
server_config,
|
43
44
|
)
|
44
45
|
|
45
46
|
router = APIRouter(
|
@@ -105,10 +106,17 @@ def get_stack_deployment_config(
|
|
105
106
|
verify_permission(resource_type=ResourceType.STACK, action=Action.CREATE)
|
106
107
|
|
107
108
|
stack_deployment_class = get_stack_deployment_class(provider)
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
109
|
+
|
110
|
+
config = server_config()
|
111
|
+
if config.server_url:
|
112
|
+
url = config.server_url
|
113
|
+
else:
|
114
|
+
# Get the base server URL used to call this FastAPI endpoint
|
115
|
+
url = str(
|
116
|
+
request.url.replace(path="")
|
117
|
+
.replace(query="")
|
118
|
+
.replace(scheme="https")
|
119
|
+
)
|
112
120
|
|
113
121
|
token = auth_context.access_token
|
114
122
|
assert token is not None
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""make tags user scoped [288f4fb6e112].
|
2
2
|
|
3
3
|
Revision ID: 288f4fb6e112
|
4
|
-
Revises:
|
4
|
+
Revises: 41b28cae31ce
|
5
5
|
Create Date: 2025-02-19 15:16:42.954792
|
6
6
|
|
7
7
|
"""
|
@@ -13,7 +13,7 @@ from sqlalchemy.orm import Session
|
|
13
13
|
|
14
14
|
# revision identifiers, used by Alembic.
|
15
15
|
revision = "288f4fb6e112"
|
16
|
-
down_revision = "
|
16
|
+
down_revision = "41b28cae31ce"
|
17
17
|
branch_labels = None
|
18
18
|
depends_on = None
|
19
19
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""make artifacts workspace scoped [41b28cae31ce].
|
2
2
|
|
3
3
|
Revision ID: 41b28cae31ce
|
4
|
-
Revises:
|
4
|
+
Revises: 3b1776345020
|
5
5
|
Create Date: 2025-02-19 23:23:08.133826
|
6
6
|
|
7
7
|
"""
|
@@ -21,7 +21,7 @@ from zenml.constants import (
|
|
21
21
|
|
22
22
|
# revision identifiers, used by Alembic.
|
23
23
|
revision = "41b28cae31ce"
|
24
|
-
down_revision = "
|
24
|
+
down_revision = "3b1776345020"
|
25
25
|
branch_labels = None
|
26
26
|
depends_on = None
|
27
27
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"""add secret private attr [f1d723fd723b].
|
2
2
|
|
3
3
|
Revision ID: f1d723fd723b
|
4
|
-
Revises:
|
4
|
+
Revises: 288f4fb6e112
|
5
5
|
Create Date: 2025-02-21 19:40:14.596681
|
6
6
|
|
7
7
|
"""
|
@@ -11,7 +11,7 @@ from alembic import op
|
|
11
11
|
|
12
12
|
# revision identifiers, used by Alembic.
|
13
13
|
revision = "f1d723fd723b"
|
14
|
-
down_revision = "
|
14
|
+
down_revision = "288f4fb6e112"
|
15
15
|
branch_labels = None
|
16
16
|
depends_on = None
|
17
17
|
|
{zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: zenml-nightly
|
3
|
-
Version: 0.80.0.
|
3
|
+
Version: 0.80.0.dev20250323
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: machine learning,production,pipeline,mlops,devops
|
@@ -54,7 +54,7 @@ Requires-Dist: azure-storage-blob (>=12.0.0) ; extra == "connectors-azure"
|
|
54
54
|
Requires-Dist: bandit (>=1.7.5,<2.0.0) ; extra == "dev"
|
55
55
|
Requires-Dist: bcrypt (==4.0.1)
|
56
56
|
Requires-Dist: boto3 (>=1.16.0) ; extra == "secrets-aws" or extra == "connectors-aws"
|
57
|
-
Requires-Dist: click (>=8.0.1,<8.1.
|
57
|
+
Requires-Dist: click (>=8.0.1,<8.1.8)
|
58
58
|
Requires-Dist: cloudpickle (>=2.0.0,<3)
|
59
59
|
Requires-Dist: copier (>=8.1.0) ; extra == "templates"
|
60
60
|
Requires-Dist: coverage[toml] (>=5.5,<6.0) ; extra == "dev"
|
{zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/RECORD
RENAMED
@@ -1,5 +1,5 @@
|
|
1
1
|
zenml/README.md,sha256=827dekbOWAs1BpW7VF1a4d7EbwPbjwccX-2zdXBENZo,1777
|
2
|
-
zenml/VERSION,sha256=
|
2
|
+
zenml/VERSION,sha256=I-vNXpVTqJvqmBhyxz6qBJynqszwSZuoa2Tbyop_LAQ,19
|
3
3
|
zenml/__init__.py,sha256=CKEyepFK-7akXYiMrNVh92Nb01Cjs23w4_YyI6sgdc8,2242
|
4
4
|
zenml/actions/__init__.py,sha256=mrt6wPo73iKRxK754_NqsGyJ3buW7RnVeIGXr1xEw8Y,681
|
5
5
|
zenml/actions/base_action.py,sha256=UcaHev6BTuLDwuswnyaPjdA8AgUqB5xPZ-lRtuvf2FU,25553
|
@@ -42,17 +42,17 @@ zenml/cli/login.py,sha256=-tPuTaWctRDkWZOcY4Af2uens6_oEWFkehl8ITeKFHk,38836
|
|
42
42
|
zenml/cli/model.py,sha256=7lmeMLwD3BIWaw_P3WBFRe42Twfvb11K67p_xmvRWH0,22817
|
43
43
|
zenml/cli/model_registry.py,sha256=zzxWXXFhKu2B1Wp0u7prKVnN1ftM-JdGdQwlD-5G-QM,20786
|
44
44
|
zenml/cli/pipeline.py,sha256=Vlz1OgGb1Ep-4Ekgd-Wz5SmieWigfx56i8wA5BGl228,19222
|
45
|
-
zenml/cli/project.py,sha256=
|
45
|
+
zenml/cli/project.py,sha256=7kqc-MaNr7gFbkl2NlAPwQ4jMipRX-TW_Eml5fQJqao,5417
|
46
46
|
zenml/cli/secret.py,sha256=zwt07v0xoIf_dLf-qY5CFdbKepBEuwmXD2HIMcLe_xU,20164
|
47
47
|
zenml/cli/served_model.py,sha256=3w1UcAbg6Geu37fr7ej1_81GBCt3fF7j3Ge799YE4Mc,14974
|
48
48
|
zenml/cli/server.py,sha256=30DYWQI9cNQgRTXeX2ff23RAdQcb9kYmDAtUNfV0SoQ,26105
|
49
|
-
zenml/cli/service_accounts.py,sha256=
|
50
|
-
zenml/cli/service_connectors.py,sha256=
|
51
|
-
zenml/cli/stack.py,sha256=
|
52
|
-
zenml/cli/stack_components.py,sha256=
|
49
|
+
zenml/cli/service_accounts.py,sha256=DkSrBroYvQ3zNDHVYbY9IxqmbN7f8wGsAmt0Wyjq1FE,17766
|
50
|
+
zenml/cli/service_connectors.py,sha256=ZGo1X3UwoHZ2BEFVev216Vfaf9wBEb0PKduwtX3mnk4,74332
|
51
|
+
zenml/cli/stack.py,sha256=J5FzZWOrn9RLoJ6WjsxDl75pcTrBMiPOJeQj_lNix6U,67236
|
52
|
+
zenml/cli/stack_components.py,sha256=QqakqWsvzgG7nOvQmvlbcfwDZUTsXI2pOlsOBXP5EXg,52963
|
53
53
|
zenml/cli/tag.py,sha256=JiAoYyDDBBYj0ChT8zWY8KGjzAnJTNx-WLQrjLLEyik,4802
|
54
54
|
zenml/cli/text_utils.py,sha256=bY1GIjoULt1cW2FyrPlMoAXNS2R7cSOjDFEZQqrpVQ8,3553
|
55
|
-
zenml/cli/user_management.py,sha256=
|
55
|
+
zenml/cli/user_management.py,sha256=sNnhaUxH-cHecbZBR1L0mEU0TnLNZHzI6ZBCUSQa7OY,13078
|
56
56
|
zenml/cli/utils.py,sha256=6Bv2-gqkHC8DdUT4b_HL6pgGMErY8lwjuJb-eHgPTJA,86383
|
57
57
|
zenml/cli/version.py,sha256=nm1iSU_1V6-MUwpMKeXcwFhLYGUMLswvQL67cEuCpxA,3635
|
58
58
|
zenml/client.py,sha256=y_5faIEjAj0WeTG3NkNX4ayjFAWH2g1cNTFPnsji3PY,292150
|
@@ -123,7 +123,7 @@ zenml/image_builders/base_image_builder.py,sha256=yFmtn8Y6PdNxie3F51tbpMf8zBhNRn
|
|
123
123
|
zenml/image_builders/build_context.py,sha256=k38xERo4IXU9KKM-Zi5A2HzIp1pUZeWnhCPuRPSjkEQ,5864
|
124
124
|
zenml/image_builders/local_image_builder.py,sha256=R_zMpERtUCWLLDZg9kXuAQSWLtin1ve_rxpbUBiym7s,6448
|
125
125
|
zenml/integrations/README.md,sha256=hFIZwjsAItHjvDWVBqGSF-ZAeMsFR2GKX1Axl2g1Bz0,6190
|
126
|
-
zenml/integrations/__init__.py,sha256=
|
126
|
+
zenml/integrations/__init__.py,sha256=Bvi24aF0C2bnWGXH3zPAj4ZSFOg_eBWtZMhlgPn1Vzg,884
|
127
127
|
zenml/integrations/airflow/__init__.py,sha256=KsEMqW2NpjgKNY_bHmfu2LtubXoSwdaE6SM8t4SBD6g,1442
|
128
128
|
zenml/integrations/airflow/flavors/__init__.py,sha256=Y48mn5OxERPPaXDBd5CFAIn6yhLPsgN5ZMk26hLXiNM,800
|
129
129
|
zenml/integrations/airflow/flavors/airflow_orchestrator_flavor.py,sha256=VfZQD2H-WwIgVD1Fi7uewdnkvRoSykY0YCfROFDadXg,6189
|
@@ -338,7 +338,7 @@ zenml/integrations/kubernetes/flavors/kubernetes_orchestrator_flavor.py,sha256=0
|
|
338
338
|
zenml/integrations/kubernetes/flavors/kubernetes_step_operator_flavor.py,sha256=ILN-H4cl7z3i4ltb4UBs55wbtIo871b4ib28pYkQoyQ,5605
|
339
339
|
zenml/integrations/kubernetes/orchestrators/__init__.py,sha256=TJID3OTieZBox36WpQpzD0jdVRA_aZVcs_bNtfXS8ik,811
|
340
340
|
zenml/integrations/kubernetes/orchestrators/kube_utils.py,sha256=roAYEGTvjnjCERCbjnN2o4v6kL_2xKI-eFnhiRBs1oY,14759
|
341
|
-
zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py,sha256=
|
341
|
+
zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator.py,sha256=sahuh1is5zj642F0QEHta3-WZQWBc3EEMCusnV7RK2U,24801
|
342
342
|
zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint.py,sha256=T8r6k9sRBl_0PvsiG-k56gT9uG9VB4YxYrIoiGQZ4IM,7721
|
343
343
|
zenml/integrations/kubernetes/orchestrators/kubernetes_orchestrator_entrypoint_configuration.py,sha256=Y7uGU8eksMluGyXYsf688CwpiXwI_W6WYLscYwRZXRY,2494
|
344
344
|
zenml/integrations/kubernetes/orchestrators/manifest_utils.py,sha256=Owyuz5Iix-QvCnKObC6xhcuQtNG_ik-8Vbdmk13eWfc,12557
|
@@ -448,7 +448,7 @@ zenml/integrations/pytorch/utils.py,sha256=IbJTsMb5zYcGlxZj0xKIFQuPHdnizWMd_zmeM
|
|
448
448
|
zenml/integrations/pytorch_lightning/__init__.py,sha256=dgbBAEaMiXi1MIZcF58aG3vCd4aj_1hYLD-WuvMBytM,1127
|
449
449
|
zenml/integrations/pytorch_lightning/materializers/__init__.py,sha256=zZsRri9X8YMJy4_h-8_Uss5RHjkFkd-RGF9zKnd713Q,814
|
450
450
|
zenml/integrations/pytorch_lightning/materializers/pytorch_lightning_materializer.py,sha256=dmNXbGLAzbiaFEa2K9ctOiOoyuQ2GNVsDfgcvdV14Is,1245
|
451
|
-
zenml/integrations/registry.py,sha256=
|
451
|
+
zenml/integrations/registry.py,sha256=02WjPZVrTWdAKHUxEGDMVFud7IrJBDEVXdmWEh1GQBc,8383
|
452
452
|
zenml/integrations/s3/__init__.py,sha256=UkZ4_-z-2yxW1SQjAJ0LvGLGIUrhjq16mhZ0PB6J2g8,2179
|
453
453
|
zenml/integrations/s3/artifact_stores/__init__.py,sha256=xK8pbJIg66f7BXlJfyCKVRgxxD7KmdAxiuXGtFvenVQ,793
|
454
454
|
zenml/integrations/s3/artifact_stores/s3_artifact_store.py,sha256=0KD2b2-Fi3w5I4tnVh2XnmczwIcsNIjkOHCWGRO3KZE,18059
|
@@ -739,9 +739,10 @@ zenml/stack/stack_component.py,sha256=cJlbzrjmYE_lTF-x3D3N_ewWr0pQjmojCow_sNOr8G
|
|
739
739
|
zenml/stack/stack_validator.py,sha256=hWbvvGIeWLj6NwSsF4GCc6RAxAWvxHXTcBZL9nJvcak,3111
|
740
740
|
zenml/stack/utils.py,sha256=qHMFi8SVMSDFeZTFO4KkvaLUbF-l3B0_JZ5SSMxYrwI,6406
|
741
741
|
zenml/stack_deployments/__init__.py,sha256=-7593cQ_ZgRn774Ol-8AKXXQquIU4DSiaThVEr6TfWM,644
|
742
|
-
zenml/stack_deployments/aws_stack_deployment.py,sha256
|
743
|
-
zenml/stack_deployments/azure_stack_deployment.py,sha256=
|
744
|
-
zenml/stack_deployments/
|
742
|
+
zenml/stack_deployments/aws_stack_deployment.py,sha256=-73_jUDq4A3Q1b6g5GcZBKpn0-gCgF-mcaa30LN_5GI,12593
|
743
|
+
zenml/stack_deployments/azure_stack_deployment.py,sha256=kuZHCUNYSSxKThmK85HYGjmT8W-UdD09sUQN5c9fvTM,13272
|
744
|
+
zenml/stack_deployments/constants.py,sha256=v91BOyOMQ7v4STEv9F1zmzn1ul008dbBJSmnLdDc4H0,1137
|
745
|
+
zenml/stack_deployments/gcp_stack_deployment.py,sha256=HUF4IVfCWA8p6SqM7JtfbXiLitzNcwNNOC0LlUjzFy0,12832
|
745
746
|
zenml/stack_deployments/stack_deployment.py,sha256=4032l7r1llIux_J0PGwgLP346P1tAe4ExaHZwCX2-YU,7743
|
746
747
|
zenml/stack_deployments/utils.py,sha256=4rU0JM6wAmSLLlH7f9xk3g3EsacMHQYDTgN1OvU9pRs,1738
|
747
748
|
zenml/step_operators/__init__.py,sha256=tqj7fgnQyZubLjwUu4ITwkA-70KMQz4g37agbfF7ZgE,1228
|
@@ -1049,7 +1050,7 @@ zenml/zen_server/routers/service_accounts_endpoints.py,sha256=egShMu776yf0jmoMLm
|
|
1049
1050
|
zenml/zen_server/routers/service_connectors_endpoints.py,sha256=lM3kJ14P1EhINqYdcoomK12amDRCwpTwlyxRb3F2-ZY,17401
|
1050
1051
|
zenml/zen_server/routers/service_endpoints.py,sha256=VmcmTXXkW2K6-_WC-Te8679Dr5uY0nsbIQUapUvrUfc,5488
|
1051
1052
|
zenml/zen_server/routers/stack_components_endpoints.py,sha256=8g8CA88uxOnWDMN4tZgZpSzkyThfDEhJiyJB16bjb9A,8143
|
1052
|
-
zenml/zen_server/routers/stack_deployment_endpoints.py,sha256=
|
1053
|
+
zenml/zen_server/routers/stack_deployment_endpoints.py,sha256=dzSGkX8bnQAhdS5cfjN6dyklCporIo6cun0B4evEnII,5329
|
1053
1054
|
zenml/zen_server/routers/stacks_endpoints.py,sha256=iF9SANF2JCdl4YCrL0PpIG8LzoGO8C5-A1UnOZyBXwc,7449
|
1054
1055
|
zenml/zen_server/routers/steps_endpoints.py,sha256=By-9_VKrJeSo6UUqrggDhGKtrnhxiElORK_T-Ngn-OM,8135
|
1055
1056
|
zenml/zen_server/routers/tag_resource_endpoints.py,sha256=AdmbujrwKK6arnSx2VHpJWbZXnlviGlay7LCov4x9Fc,3203
|
@@ -1177,7 +1178,7 @@ zenml/zen_stores/migrations/versions/248dfd320b68_update_size_of_flavor_config_s
|
|
1177
1178
|
zenml/zen_stores/migrations/versions/25155145c545_separate_actions_and_triggers.py,sha256=T1A3e0YAtSIdGFmJUjUSfp6f8v82T91XHT-kziui4N4,7588
|
1178
1179
|
zenml/zen_stores/migrations/versions/26351d482b9e_add_step_run_unique_constraint.py,sha256=8R2Zhgjig13c8kqbW14pRcA_sgjE65j2UTitlAqK-mg,1075
|
1179
1180
|
zenml/zen_stores/migrations/versions/26b776ad583e_redesign_artifacts.py,sha256=X4o8IIdtVIKIVziETnJIKlEeBLioTrnkjv7yKd9uybc,6250
|
1180
|
-
zenml/zen_stores/migrations/versions/288f4fb6e112_make_tags_user_scoped.py,sha256=
|
1181
|
+
zenml/zen_stores/migrations/versions/288f4fb6e112_make_tags_user_scoped.py,sha256=z6vjIRWN0NhphSPDj94jXkLo3WZcL6UeOEePG3ol22w,2065
|
1181
1182
|
zenml/zen_stores/migrations/versions/2d201872e23c_remove_db_dependency_loop.py,sha256=8dP2C7yTnHlEWYzcuFpcC2bWf_CCMeinPIwsWSbLXjg,727
|
1182
1183
|
zenml/zen_stores/migrations/versions/2e695a26fe7a_add_user_default_workspace.py,sha256=b7Xgr09iKWFQdFx09OI24a5g2WmfbNF5ox28U6mwn7s,1253
|
1183
1184
|
zenml/zen_stores/migrations/versions/37835ce041d2_optimizing_database.py,sha256=lHh9USrLJeb0gIWDCmusYUrk-gGwRm-75K-QIDCoewY,9140
|
@@ -1187,7 +1188,7 @@ zenml/zen_stores/migrations/versions/3b1776345020_remove_workspace_from_globals.
|
|
1187
1188
|
zenml/zen_stores/migrations/versions/3b68abe58f44_add_model_watchtower_entities.py,sha256=b4d8-L2NwuuBrKHKSBjLqPk7eHlzDlSCPkBGQ0TEd8U,7658
|
1188
1189
|
zenml/zen_stores/migrations/versions/3c5a367730c2_add_environment_info_to_runs.py,sha256=oswAntOI6qYTJX3VMF0soAvoPLVAiiffdaRSI8AB6hA,1199
|
1189
1190
|
zenml/zen_stores/migrations/versions/3dcc5d20e82f_add_last_user_activity.py,sha256=MpPFB-Ri7Dw7QbwrafH4rTvcXjJdI-t8HBLAw0jaBC4,1395
|
1190
|
-
zenml/zen_stores/migrations/versions/41b28cae31ce_make_artifacts_workspace_scoped.py,sha256=
|
1191
|
+
zenml/zen_stores/migrations/versions/41b28cae31ce_make_artifacts_workspace_scoped.py,sha256=QtToqRSBn69NzEb99j20Hdqewz3sbnU3C9uF7neE6nA,3984
|
1191
1192
|
zenml/zen_stores/migrations/versions/43a86093b60e_add_labels_for_stack_components.py,sha256=8a_Aikd4O3YqVWm2-ejZ4Q-BkWGVxAk8-0M3j3gTK9g,1019
|
1192
1193
|
zenml/zen_stores/migrations/versions/46506f72f0ed_add_server_settings.py,sha256=yDkK-9dXJ3ufgoG2BdEvac8oJC5YUgGKQVnrmT96h-4,3816
|
1193
1194
|
zenml/zen_stores/migrations/versions/479103df60b6_add_triggers.py,sha256=g5hic8at_cYdTE6DwGoMjZGY1mQVNJWyz9huQ86fH9E,5702
|
@@ -1256,7 +1257,7 @@ zenml/zen_stores/migrations/versions/e5225281b4d3_add_connector_skew_tolerance.p
|
|
1256
1257
|
zenml/zen_stores/migrations/versions/e65aa6708ff7_pipeline_versioning.py,sha256=cMkVeKzDZZbwJbmYL3_yg_9NUSdSEcuxEZ-aqjrrbOk,1817
|
1257
1258
|
zenml/zen_stores/migrations/versions/ec0d785ca296_create_run_metadata_table.py,sha256=kFPcy5ePTiCzFpP34KkcrrdP7p0wjXg-8LsOAm-K-UU,3639
|
1258
1259
|
zenml/zen_stores/migrations/versions/ec6307720f92_simplify_model_version_links.py,sha256=QfEpo7QtXv87Hp17vfNFfErIHFtxesBRrzrDw92jGp4,3710
|
1259
|
-
zenml/zen_stores/migrations/versions/f1d723fd723b_add_secret_private_attr.py,sha256=
|
1260
|
+
zenml/zen_stores/migrations/versions/f1d723fd723b_add_secret_private_attr.py,sha256=OIrFjJHApYqBQEyBM3BazvtDxaEW8OaLPq47E9JjWSo,1982
|
1260
1261
|
zenml/zen_stores/migrations/versions/f3b3964e3a0f_add_oauth_devices.py,sha256=2CR4R-7Vx6j_AXxo-e5Guy6OX-ZnS47HSKSGfqlO-y0,3065
|
1261
1262
|
zenml/zen_stores/migrations/versions/f49904a80aa7_increase_length_of_artifact_table_sources.py,sha256=kLgfDUnQdAb5_SyFx3VKXDLC0YbuBKf9iXRDNeBin7Q,1618
|
1262
1263
|
zenml/zen_stores/migrations/versions/f76a368a25a5_add_stack_description.py,sha256=u8fRomaasFeGhxvM2zU-Ab-AEpVsWm5zRcixxKFXdRw,904
|
@@ -1307,8 +1308,8 @@ zenml/zen_stores/secrets_stores/sql_secrets_store.py,sha256=nEO0bAPlULBLxLVk-UTR
|
|
1307
1308
|
zenml/zen_stores/sql_zen_store.py,sha256=RmcpUHnSlPOMLNZ9StPxi_9FPqB1HgfiK_Humst9sns,440431
|
1308
1309
|
zenml/zen_stores/template_utils.py,sha256=GWBP5QEOyvhzndS_MLPmvh28sQaOPpPoZFXCIX9CRL4,9065
|
1309
1310
|
zenml/zen_stores/zen_store_interface.py,sha256=fF_uL_FplnvGvM5o3jOQ8i1zHXhuhKLL2n4nvIKSR7E,92090
|
1310
|
-
zenml_nightly-0.80.0.
|
1311
|
-
zenml_nightly-0.80.0.
|
1312
|
-
zenml_nightly-0.80.0.
|
1313
|
-
zenml_nightly-0.80.0.
|
1314
|
-
zenml_nightly-0.80.0.
|
1311
|
+
zenml_nightly-0.80.0.dev20250323.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
|
1312
|
+
zenml_nightly-0.80.0.dev20250323.dist-info/METADATA,sha256=o0pXpFLQ3MUlnaj-TOCaA6j5hGYQs2Vxb_UWJv-NV7w,24215
|
1313
|
+
zenml_nightly-0.80.0.dev20250323.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
1314
|
+
zenml_nightly-0.80.0.dev20250323.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
|
1315
|
+
zenml_nightly-0.80.0.dev20250323.dist-info/RECORD,,
|
{zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/LICENSE
RENAMED
File without changes
|
{zenml_nightly-0.80.0.dev20250321.dist-info → zenml_nightly-0.80.0.dev20250323.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|