zenml-nightly 0.74.0.dev20250224__py3-none-any.whl → 0.74.0.dev20250226__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/integrations/aws/flavors/sagemaker_orchestrator_flavor.py +2 -0
- zenml/integrations/aws/flavors/sagemaker_step_operator_flavor.py +2 -0
- zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py +18 -0
- zenml/integrations/aws/step_operators/sagemaker_step_operator.py +8 -2
- zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py +4 -3
- zenml/logging/step_logging.py +22 -0
- zenml/zen_stores/sql_zen_store.py +1 -3
- {zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/METADATA +90 -37
- {zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/RECORD +13 -13
- {zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/LICENSE +0 -0
- {zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/WHEEL +0 -0
- {zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/entry_points.txt +0 -0
zenml/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.74.0.
|
1
|
+
0.74.0.dev20250226
|
@@ -71,6 +71,7 @@ class SagemakerOrchestratorSettings(BaseSettings):
|
|
71
71
|
For processor_args.instance_type, check
|
72
72
|
https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-available-instance-types.html
|
73
73
|
for a list of available instance types.
|
74
|
+
environment: Environment variables to pass to the container.
|
74
75
|
estimator_args: Arguments that are directly passed to the SageMaker
|
75
76
|
Estimator for a specific step, allowing for overriding the default
|
76
77
|
settings provided when configuring the component. See
|
@@ -116,6 +117,7 @@ class SagemakerOrchestratorSettings(BaseSettings):
|
|
116
117
|
|
117
118
|
processor_args: Dict[str, Any] = {}
|
118
119
|
estimator_args: Dict[str, Any] = {}
|
120
|
+
environment: Dict[str, str] = {}
|
119
121
|
|
120
122
|
input_data_s3_mode: str = "File"
|
121
123
|
input_data_s3_uri: Optional[Union[str, Dict[str, str]]] = Field(
|
@@ -55,6 +55,7 @@ class SagemakerStepOperatorSettings(BaseSettings):
|
|
55
55
|
For estimator_args.instance_type, check
|
56
56
|
https://docs.aws.amazon.com/sagemaker/latest/dg/notebooks-available-instance-types.html
|
57
57
|
for a list of available instance types.
|
58
|
+
environment: Environment variables to pass to the container.
|
58
59
|
|
59
60
|
"""
|
60
61
|
|
@@ -64,6 +65,7 @@ class SagemakerStepOperatorSettings(BaseSettings):
|
|
64
65
|
default=None, union_mode="left_to_right"
|
65
66
|
)
|
66
67
|
estimator_args: Dict[str, Any] = {}
|
68
|
+
environment: Dict[str, str] = {}
|
67
69
|
|
68
70
|
_deprecation_validator = deprecation_utils.deprecate_pydantic_attributes(
|
69
71
|
"instance_type"
|
@@ -323,6 +323,19 @@ class SagemakerOrchestrator(ContainerizedOrchestrator):
|
|
323
323
|
ExecutionVariables.PIPELINE_EXECUTION_ARN
|
324
324
|
)
|
325
325
|
|
326
|
+
if step_settings.environment:
|
327
|
+
step_environment = step_settings.environment.copy()
|
328
|
+
# Sagemaker does not allow environment variables longer than 256
|
329
|
+
# characters to be passed to Processor steps. If an environment variable
|
330
|
+
# is longer than 256 characters, we split it into multiple environment
|
331
|
+
# variables (chunks) and re-construct it on the other side using the
|
332
|
+
# custom entrypoint configuration.
|
333
|
+
split_environment_variables(
|
334
|
+
size_limit=SAGEMAKER_PROCESSOR_STEP_ENV_VAR_SIZE_LIMIT,
|
335
|
+
env=step_environment,
|
336
|
+
)
|
337
|
+
environment.update(step_environment)
|
338
|
+
|
326
339
|
use_training_step = (
|
327
340
|
step_settings.use_training_step
|
328
341
|
if step_settings.use_training_step is not None
|
@@ -457,6 +470,11 @@ class SagemakerOrchestrator(ContainerizedOrchestrator):
|
|
457
470
|
)
|
458
471
|
)
|
459
472
|
|
473
|
+
# Convert environment to a dict of strings
|
474
|
+
environment = {
|
475
|
+
key: str(value) for key, value in environment.items()
|
476
|
+
}
|
477
|
+
|
460
478
|
if use_training_step:
|
461
479
|
# Create Estimator and TrainingStep
|
462
480
|
estimator = sagemaker.estimator.Estimator(
|
@@ -181,6 +181,11 @@ class SagemakerStepOperator(BaseStepOperator):
|
|
181
181
|
self.name,
|
182
182
|
)
|
183
183
|
|
184
|
+
settings = cast(SagemakerStepOperatorSettings, self.get_settings(info))
|
185
|
+
|
186
|
+
if settings.environment:
|
187
|
+
environment.update(settings.environment)
|
188
|
+
|
184
189
|
# Sagemaker does not allow environment variables longer than 512
|
185
190
|
# characters to be passed to Estimator steps. If an environment variable
|
186
191
|
# is longer than 512 characters, we split it into multiple environment
|
@@ -194,8 +199,6 @@ class SagemakerStepOperator(BaseStepOperator):
|
|
194
199
|
image_name = info.get_image(key=SAGEMAKER_DOCKER_IMAGE_KEY)
|
195
200
|
environment[_ENTRYPOINT_ENV_VARIABLE] = " ".join(entrypoint_command)
|
196
201
|
|
197
|
-
settings = cast(SagemakerStepOperatorSettings, self.get_settings(info))
|
198
|
-
|
199
202
|
# Get and default fill SageMaker estimator arguments for full ZenML support
|
200
203
|
estimator_args = settings.estimator_args
|
201
204
|
|
@@ -221,6 +224,9 @@ class SagemakerStepOperator(BaseStepOperator):
|
|
221
224
|
"instance_type", settings.instance_type or "ml.m5.large"
|
222
225
|
)
|
223
226
|
|
227
|
+
# Convert environment to a dict of strings
|
228
|
+
environment = {key: str(value) for key, value in environment.items()}
|
229
|
+
|
224
230
|
estimator_args["environment"] = environment
|
225
231
|
estimator_args["instance_count"] = 1
|
226
232
|
estimator_args["sagemaker_session"] = session
|
@@ -86,7 +86,7 @@ class VertexOrchestratorConfig(
|
|
86
86
|
then a subdirectory of the artifact store will be used.
|
87
87
|
encryption_spec_key_name: The Cloud KMS resource identifier of the
|
88
88
|
customer managed encryption key used to protect the job. Has the form:
|
89
|
-
`projects/<
|
89
|
+
`projects/<PROJECT>/locations/<REGION>/keyRings/<KR>/cryptoKeys/<KEY>`
|
90
90
|
. The key needs to be in the same region as where the compute
|
91
91
|
resource is created.
|
92
92
|
workload_service_account: the service account for workload run-as
|
@@ -124,13 +124,14 @@ class VertexOrchestratorConfig(
|
|
124
124
|
pipeline_root: Optional[str] = None
|
125
125
|
encryption_spec_key_name: Optional[str] = None
|
126
126
|
workload_service_account: Optional[str] = None
|
127
|
-
function_service_account: Optional[str] = None
|
128
|
-
scheduler_service_account: Optional[str] = None
|
129
127
|
network: Optional[str] = None
|
130
128
|
|
129
|
+
# Deprecated
|
131
130
|
cpu_limit: Optional[str] = None
|
132
131
|
memory_limit: Optional[str] = None
|
133
132
|
gpu_limit: Optional[int] = None
|
133
|
+
function_service_account: Optional[str] = None
|
134
|
+
scheduler_service_account: Optional[str] = None
|
134
135
|
|
135
136
|
_resource_deprecation = deprecation_utils.deprecate_pydantic_attributes(
|
136
137
|
"cpu_limit",
|
zenml/logging/step_logging.py
CHANGED
@@ -285,6 +285,28 @@ class StepLogsStorage:
|
|
285
285
|
Args:
|
286
286
|
force: whether to force a save even if the write conditions not met.
|
287
287
|
"""
|
288
|
+
import asyncio
|
289
|
+
import threading
|
290
|
+
|
291
|
+
# Most artifact stores are based on fsspec, which converts between
|
292
|
+
# sync and async operations by using a separate AIO thread.
|
293
|
+
# It may happen that the fsspec call itself will log something,
|
294
|
+
# which will trigger this method, which may then use fsspec again,
|
295
|
+
# causing a "Calling sync() from within a running loop" error, because
|
296
|
+
# the fsspec library does not expect sync calls being made as a result
|
297
|
+
# of a logging call made by itself.
|
298
|
+
# To avoid this, we simply check if we're running in the fsspec AIO
|
299
|
+
# thread and skip the save if that's the case.
|
300
|
+
try:
|
301
|
+
if (
|
302
|
+
asyncio.events.get_running_loop() is not None
|
303
|
+
and threading.current_thread().name == "fsspecIO"
|
304
|
+
):
|
305
|
+
return
|
306
|
+
except RuntimeError:
|
307
|
+
# No running loop
|
308
|
+
pass
|
309
|
+
|
288
310
|
if not self.disabled and (self._is_write_needed or force):
|
289
311
|
# IMPORTANT: keep this as the first code line in this method! The
|
290
312
|
# code that follows might still emit logging messages, which will
|
@@ -986,6 +986,7 @@ class SqlZenStore(BaseZenStore):
|
|
986
986
|
RuntimeError: if the schema does not have a `to_model` method.
|
987
987
|
"""
|
988
988
|
query = filter_model.apply_filter(query=query, table=table)
|
989
|
+
query = filter_model.apply_sorting(query=query, table=table)
|
989
990
|
query = query.distinct()
|
990
991
|
|
991
992
|
# Get the total amount of items in the database for a given query
|
@@ -1005,9 +1006,6 @@ class SqlZenStore(BaseZenStore):
|
|
1005
1006
|
else:
|
1006
1007
|
total = 0
|
1007
1008
|
|
1008
|
-
# Sorting
|
1009
|
-
query = filter_model.apply_sorting(query=query, table=table)
|
1010
|
-
|
1011
1009
|
# Get the total amount of pages in the database for a given query
|
1012
1010
|
if total == 0:
|
1013
1011
|
total_pages = 1
|
{zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: zenml-nightly
|
3
|
-
Version: 0.74.0.
|
3
|
+
Version: 0.74.0.dev20250226
|
4
4
|
Summary: ZenML: Write production-ready ML code.
|
5
5
|
License: Apache-2.0
|
6
6
|
Keywords: machine learning,production,pipeline,mlops,devops
|
@@ -79,10 +79,12 @@ Requires-Dist: kfp (>=2.6.0) ; extra == "vertex"
|
|
79
79
|
Requires-Dist: kubernetes (>=18.20.0) ; extra == "connectors-kubernetes" or extra == "connectors-aws" or extra == "connectors-gcp" or extra == "connectors-azure"
|
80
80
|
Requires-Dist: maison (<2.0) ; extra == "dev"
|
81
81
|
Requires-Dist: mike (>=1.1.2,<2.0.0) ; extra == "dev"
|
82
|
-
Requires-Dist: mkdocs (>=1.
|
82
|
+
Requires-Dist: mkdocs (>=1.4.0,<2.0.0) ; extra == "dev"
|
83
|
+
Requires-Dist: mkdocs-autorefs (>=0.4.1,<1.0.0) ; extra == "dev"
|
83
84
|
Requires-Dist: mkdocs-awesome-pages-plugin (>=2.6.1,<3.0.0) ; extra == "dev"
|
84
|
-
Requires-Dist: mkdocs-material (>=
|
85
|
-
Requires-Dist: mkdocstrings (>=0.
|
85
|
+
Requires-Dist: mkdocs-material (>=9.0.0,<10.0.0) ; extra == "dev"
|
86
|
+
Requires-Dist: mkdocstrings (>=0.20.0,<1.0.0) ; extra == "dev"
|
87
|
+
Requires-Dist: mkdocstrings-python (>=1.1.0,<2.0.0) ; extra == "dev"
|
86
88
|
Requires-Dist: mypy (==1.7.1) ; extra == "dev"
|
87
89
|
Requires-Dist: orjson (>=3.10.0,<3.11.0) ; extra == "server"
|
88
90
|
Requires-Dist: packaging (>=24.1)
|
@@ -144,8 +146,8 @@ Description-Content-Type: text/markdown
|
|
144
146
|
|
145
147
|
<div align="center">
|
146
148
|
<img referrerpolicy="no-referrer-when-downgrade" src="https://static.scarf.sh/a.png?x-pxid=0fcbab94-8fbe-4a38-93e8-c2348450a42e" />
|
147
|
-
<h1 align="center">
|
148
|
-
</
|
149
|
+
<h1 align="center">Beyond The Demo: Production-Grade AI Systems</h1>
|
150
|
+
<h3 align="center">ZenML brings battle-tested MLOps practices to your AI applications, handling evaluation, monitoring, and deployment at scale</h3>
|
149
151
|
</div>
|
150
152
|
|
151
153
|
<!-- PROJECT SHIELDS -->
|
@@ -244,40 +246,44 @@ Take a tour with the guided quickstart by running:
|
|
244
246
|
zenml go
|
245
247
|
```
|
246
248
|
|
247
|
-
## 🪄
|
249
|
+
## 🪄 From Prototype to Production: AI Made Simple
|
248
250
|
|
249
|
-
### Create
|
251
|
+
### Create AI pipelines with minimal code changes
|
250
252
|
|
251
|
-
ZenML is
|
253
|
+
ZenML is an open-source framework that handles MLOps and LLMOps for engineers scaling AI beyond prototypes. Automate evaluation loops, track performance, and deploy updates across 100s of pipelines—all while your RAG apps run like clockwork.
|
252
254
|
|
253
255
|
```python
|
254
256
|
from zenml import pipeline, step
|
255
257
|
|
256
|
-
@step
|
257
|
-
def
|
258
|
-
|
259
|
-
|
260
|
-
return {
|
258
|
+
@step
|
259
|
+
def load_rag_documents() -> dict:
|
260
|
+
# Load and chunk documents for RAG pipeline
|
261
|
+
documents = extract_web_content(url="https://www.zenml.io/")
|
262
|
+
return {"chunks": chunk_documents(documents)}
|
261
263
|
|
262
264
|
@step
|
263
|
-
def
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
print(f"Trained model using {len(data['features'])} data points. "
|
268
|
-
f"Feature sum is {total_features}, label sum is {total_labels}")
|
265
|
+
def generate_embeddings(data: dict) -> None:
|
266
|
+
# Generate embeddings for RAG pipeline
|
267
|
+
embeddings = embed_documents(data['chunks'])
|
268
|
+
return {"embeddings": embeddings}
|
269
269
|
|
270
|
-
@
|
271
|
-
def
|
272
|
-
|
273
|
-
|
270
|
+
@step
|
271
|
+
def index_generator(
|
272
|
+
embeddings: dict,
|
273
|
+
) -> str:
|
274
|
+
# Generate index for RAG pipeline
|
275
|
+
index = create_index(embeddings)
|
276
|
+
return index.id
|
277
|
+
|
274
278
|
|
275
|
-
|
276
|
-
|
277
|
-
|
279
|
+
@pipeline
|
280
|
+
def rag_pipeline() -> str:
|
281
|
+
documents = load_rag_documents()
|
282
|
+
embeddings = generate_embeddings(documents)
|
283
|
+
index = index_generator(embeddings)
|
284
|
+
return index
|
278
285
|
```
|
279
|
-
|
280
|
-

|
286
|
+

|
281
287
|
|
282
288
|
### Easily provision an MLOps stack or reuse your existing infrastructure
|
283
289
|
|
@@ -329,18 +335,47 @@ def training(...):
|
|
329
335
|
|
330
336
|
Create a complete lineage of who, where, and what data and models are produced.
|
331
337
|
|
332
|
-
You
|
338
|
+
You'll be able to find out who produced which model, at what time, with which data, and on which version of the code. This guarantees full reproducibility and auditability.
|
333
339
|
|
334
340
|
```python
|
335
341
|
from zenml import Model
|
336
342
|
|
337
|
-
@step(model=Model(name="
|
338
|
-
def
|
339
|
-
|
343
|
+
@step(model=Model(name="rag_llm", tags=["staging"]))
|
344
|
+
def deploy_rag(index_id: str) -> str:
|
345
|
+
deployment_id = deploy_to_endpoint(index_id)
|
346
|
+
return deployment_id
|
340
347
|
```
|
341
348
|
|
342
349
|

|
343
350
|
|
351
|
+
## 🚀 Key LLMOps Capabilities
|
352
|
+
|
353
|
+
### Continual RAG Improvement
|
354
|
+
**Build production-ready retrieval systems**
|
355
|
+
|
356
|
+
<div align="center">
|
357
|
+
<img src="/docs/book/.gitbook/assets/rag_zenml_home.png" width="800" alt="RAG Pipeline">
|
358
|
+
</div>
|
359
|
+
|
360
|
+
ZenML tracks document ingestion, embedding versions, and query patterns. Implement feedback loops and:
|
361
|
+
- Fix your RAG logic based on production logs
|
362
|
+
- Automatically re-ingest updated documents
|
363
|
+
- A/B test different embedding models
|
364
|
+
- Monitor retrieval quality metrics
|
365
|
+
|
366
|
+
### Reproducible Model Fine-Tuning
|
367
|
+
**Confidence in model updates**
|
368
|
+
|
369
|
+
<div align="center">
|
370
|
+
<img src="/docs/book/.gitbook/assets/finetune_zenml_home.png" width="800" alt="Finetuning Pipeline">
|
371
|
+
</div>
|
372
|
+
|
373
|
+
Maintain full lineage of SLM/LLM training runs:
|
374
|
+
- Version training data and hyperparameters
|
375
|
+
- Track performance across iterations
|
376
|
+
- Automatically promote validated models
|
377
|
+
- Roll back to previous versions if needed
|
378
|
+
|
344
379
|
### Purpose built for machine learning with integrations to your favorite tools
|
345
380
|
|
346
381
|
While ZenML brings a lot of value out of the box, it also integrates into your existing tooling and infrastructure without you having to be locked in.
|
@@ -357,6 +392,14 @@ def train_and_deploy(training_df: pd.DataFrame) -> bento.Bento
|
|
357
392
|
|
358
393
|

|
359
394
|
|
395
|
+
## 🔄 Your LLM Framework Isn't Enough for Production
|
396
|
+
|
397
|
+
While tools like LangChain and LlamaIndex help you **build** LLM workflows, ZenML helps you **productionize** them by adding:
|
398
|
+
|
399
|
+
✅ **Artifact Tracking** - Every vector store index, fine-tuned model, and evaluation result versioned automatically
|
400
|
+
✅ **Pipeline History** - See exactly what code/data produced each version of your RAG system
|
401
|
+
✅ **Stage Promotion** - Move validated pipelines from staging → production with one click
|
402
|
+
|
360
403
|
## 🖼️ Learning
|
361
404
|
|
362
405
|
The best way to learn about ZenML is the [docs](https://docs.zenml.io/). We recommend beginning with the [Starter Guide](https://docs.zenml.io/user-guide/starter-guide) to get up and running quickly.
|
@@ -441,13 +484,23 @@ Or, if you
|
|
441
484
|
prefer, [open an issue](https://github.com/zenml-io/zenml/issues/new/choose) on
|
442
485
|
our GitHub repo.
|
443
486
|
|
444
|
-
##
|
487
|
+
## 📚 LLM-focused Learning Resources
|
445
488
|
|
446
|
-
|
489
|
+
1. [LL Complete Guide - Full RAG Pipeline](https://github.com/zenml-io/zenml-projects/tree/main/llm-complete-guide) - Document ingestion, embedding management, and query serving
|
490
|
+
2. [LLM Fine-Tuning Pipeline](https://github.com/zenml-io/zenml-projects/tree/main/llm-finetuning) - From data prep to deployed model
|
491
|
+
3. [LLM Agents Example](https://github.com/zenml-io/zenml-projects/tree/main/llm-agents) - Track conversation quality and tool usage
|
447
492
|
|
448
|
-
|
493
|
+
## 🤖 AI-Friendly Documentation with llms.txt
|
449
494
|
|
450
|
-
|
495
|
+
ZenML implements the llms.txt standard to make our documentation more accessible to AI assistants and LLMs. Our implementation includes:
|
496
|
+
|
497
|
+
- Base documentation at [zenml.io/llms.txt](https://zenml.io/llms.txt) with core user guides
|
498
|
+
- Specialized files for different documentation aspects:
|
499
|
+
- [Component guides](https://zenml.io/component-guide.txt) for integration details
|
500
|
+
- [How-to guides](https://zenml.io/how-to-guides.txt) for practical implementations
|
501
|
+
- [Complete documentation corpus](https://zenml.io/llms-full.txt) for comprehensive access
|
502
|
+
|
503
|
+
This structured approach helps AI tools better understand and utilize ZenML's documentation, enabling more accurate code suggestions and improved documentation search.
|
451
504
|
|
452
505
|
## 📜 License
|
453
506
|
|
{zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.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=n_IJGeb0RH66CmOQbcKEAS5voks_xBKYRaXKI1Qb0m0,19
|
3
3
|
zenml/__init__.py,sha256=SkMObQA41ajqdZqGErN00S1Vf3KAxpLvbZ-OBy5uYoo,2130
|
4
4
|
zenml/actions/__init__.py,sha256=mrt6wPo73iKRxK754_NqsGyJ3buW7RnVeIGXr1xEw8Y,681
|
5
5
|
zenml/actions/base_action.py,sha256=UcaHev6BTuLDwuswnyaPjdA8AgUqB5xPZ-lRtuvf2FU,25553
|
@@ -141,17 +141,17 @@ zenml/integrations/aws/container_registries/aws_container_registry.py,sha256=SCx
|
|
141
141
|
zenml/integrations/aws/flavors/__init__.py,sha256=XYL9fpwKzeFfHCjakU0iJ3SyHVRJk63QT7luOy9Giek,1480
|
142
142
|
zenml/integrations/aws/flavors/aws_container_registry_flavor.py,sha256=GIDLOySz1zF08YSkmKIj89TxBqSLWueXLAHyxYwm-NI,4169
|
143
143
|
zenml/integrations/aws/flavors/aws_image_builder_flavor.py,sha256=XobJOw5ymbY22i7YHWGYOKDQoJQAqTeMIfvkADt-DDc,5343
|
144
|
-
zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py,sha256=
|
145
|
-
zenml/integrations/aws/flavors/sagemaker_step_operator_flavor.py,sha256=
|
144
|
+
zenml/integrations/aws/flavors/sagemaker_orchestrator_flavor.py,sha256=aPBuzQjkroSZOdGWynXYu_A1c0YjK5dB96zb0NvHkBs,13604
|
145
|
+
zenml/integrations/aws/flavors/sagemaker_step_operator_flavor.py,sha256=e3locb2OnF7bqV3iafIUB_tHhDE8-i7eyB4H6Hyqj1Y,6084
|
146
146
|
zenml/integrations/aws/image_builders/__init__.py,sha256=91hgH1OphG2i-vk-G8N4yKBFIzK89Wu7BK4-T5yOA7E,786
|
147
147
|
zenml/integrations/aws/image_builders/aws_image_builder.py,sha256=UcPYYYjJjfsicY3hV4OZeJt552AVmwPZPlv-AsG1g1I,11489
|
148
148
|
zenml/integrations/aws/orchestrators/__init__.py,sha256=Wh0Fhtt_uo6YrkvXY9kL0M478FL7XpapjoFreUZbgUg,794
|
149
|
-
zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py,sha256=
|
149
|
+
zenml/integrations/aws/orchestrators/sagemaker_orchestrator.py,sha256=ZkZ9uH7FeN0J_0NyxAlTk1G_OAzTNwGiFj4sMcdbc4w,37254
|
150
150
|
zenml/integrations/aws/orchestrators/sagemaker_orchestrator_entrypoint_config.py,sha256=WXCWdVojIZxx5_3-g1T95S2vsJ-RLNGcp-V409wgme0,1555
|
151
151
|
zenml/integrations/aws/service_connectors/__init__.py,sha256=w2Md40yG89PwmU9eBceh6dGy3XYZ3MKusNAZ51sGOgE,783
|
152
152
|
zenml/integrations/aws/service_connectors/aws_service_connector.py,sha256=7H69IoOYmyn5QcXEfL1-OmC0UaQ54TfNNhv2t8A6Daw,92107
|
153
153
|
zenml/integrations/aws/step_operators/__init__.py,sha256=HK5oIqLixYKUKoiN4LnqTyGjAZJUdUqWYGqJhFSWyo0,817
|
154
|
-
zenml/integrations/aws/step_operators/sagemaker_step_operator.py,sha256
|
154
|
+
zenml/integrations/aws/step_operators/sagemaker_step_operator.py,sha256=8g9p9eHvZkg2LY2lnWPVkriB7Jr_LbQcw2HQFjVgZ6E,10330
|
155
155
|
zenml/integrations/aws/step_operators/sagemaker_step_operator_entrypoint_config.py,sha256=2cXroe6-bXyHVkO5yPnZagNpqx6MrMDcvuvNr8J2j-A,1581
|
156
156
|
zenml/integrations/azure/__init__.py,sha256=99cefcfBlEXl5lYCVUzWN0uvYn_TFGpBsEATvn1d3c4,2938
|
157
157
|
zenml/integrations/azure/artifact_stores/__init__.py,sha256=dlIwbpgjE0Hy4rhMbelNJHVKm4t8tj_hRu9mQ_cEIAg,820
|
@@ -263,7 +263,7 @@ zenml/integrations/gcp/flavors/__init__.py,sha256=GcB8EvYjXM_VSku16jnDSNyJYMgKc2
|
|
263
263
|
zenml/integrations/gcp/flavors/gcp_artifact_store_flavor.py,sha256=Ts2jvR3IgGH8YyaFBT6OQtx2kCKD9dgZgceKiRAv_QI,3560
|
264
264
|
zenml/integrations/gcp/flavors/gcp_image_builder_flavor.py,sha256=K6sE9D-okbdlctNwNeDYEfhWmMXXW-S92x342dnhjqY,4451
|
265
265
|
zenml/integrations/gcp/flavors/vertex_experiment_tracker_flavor.py,sha256=icexIPoqyJ_tsO6M5-Vncd1TAUaKTGbdUG0cDOYC6Kc,6834
|
266
|
-
zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py,sha256=
|
266
|
+
zenml/integrations/gcp/flavors/vertex_orchestrator_flavor.py,sha256=zJBSs7sY0dT_oJFt1PCFVD3usav6LANfXEyavYg8usE,9926
|
267
267
|
zenml/integrations/gcp/flavors/vertex_step_operator_flavor.py,sha256=VHg2coeKoBJjSYkiVSTtbfKRg9qW9o8_QZ_xXskfzI4,6653
|
268
268
|
zenml/integrations/gcp/google_credentials_mixin.py,sha256=bPy3JYCCcyuTmPiVFqbY81YJ5g1yRdzHLlBlokvbeqg,4026
|
269
269
|
zenml/integrations/gcp/image_builders/__init__.py,sha256=2IvTL6U2YpUoxGQXeXew-6WFoL5hHIxkqr4DaA5Ez9w,786
|
@@ -576,7 +576,7 @@ zenml/io/filesystem_registry.py,sha256=stujDg4a5k983WMwp3rj4Z4puiUco4REyVoIoMIpI
|
|
576
576
|
zenml/io/local_filesystem.py,sha256=xQTZPT5cpooptUV8KiifxZojS6pWCv1-6UUxitUYb_E,7386
|
577
577
|
zenml/logger.py,sha256=LMV2sMFQ-6JK9xEn6kEt1C9vAoQ0lwuHVM5XHIeKubE,6966
|
578
578
|
zenml/logging/__init__.py,sha256=lnqbOa31wAHwPP5f8vZazOrUwnP2QviLiIVwxoAefD8,975
|
579
|
-
zenml/logging/step_logging.py,sha256=
|
579
|
+
zenml/logging/step_logging.py,sha256=6QDfn4oN4h7D_M3RxkVre0NBYRou8IeVtk1vyO89tqQ,18551
|
580
580
|
zenml/login/__init__.py,sha256=Evi7hq8tpUn57IM3iX3hYP0r8oIeEWUhS471TAOyVGs,644
|
581
581
|
zenml/login/credentials.py,sha256=dl7qB0Xh-RY9mJsB1bQWCx_xwHisrv6mT5YddZvn0Ko,12707
|
582
582
|
zenml/login/credentials_store.py,sha256=Hrkk8xzoLwK50Z0dZpjr-aCudUADQFMfzb-2r_vyJRo,23619
|
@@ -1277,11 +1277,11 @@ zenml/zen_stores/secrets_stores/hashicorp_secrets_store.py,sha256=NfW1EHIA99lseb
|
|
1277
1277
|
zenml/zen_stores/secrets_stores/secrets_store_interface.py,sha256=Q2Jbnt2Pp7NGlR-u1YBfRZV2g8su2Fd0ArBMdksAE-Q,2819
|
1278
1278
|
zenml/zen_stores/secrets_stores/service_connector_secrets_store.py,sha256=kPYX-Z_OOhZCI1CP77ncfV7IsV4e8brklnTXmKxZYNc,7078
|
1279
1279
|
zenml/zen_stores/secrets_stores/sql_secrets_store.py,sha256=nEO0bAPlULBLxLVk-UTRIZiUeVpATggo8qCsKmgEU1E,8788
|
1280
|
-
zenml/zen_stores/sql_zen_store.py,sha256=
|
1280
|
+
zenml/zen_stores/sql_zen_store.py,sha256=L3PtBT-VULJVh4udD4eY4TbU_o1iEC23VyUh26uBo5Y,415902
|
1281
1281
|
zenml/zen_stores/template_utils.py,sha256=EKYBgmDLTS_PSMWaIO5yvHPLiQvMqHcsAe6NUCrv-i4,9068
|
1282
1282
|
zenml/zen_stores/zen_store_interface.py,sha256=vf2gKBWfUUPtcGZC35oQB6pPNVzWVyQC8nWxVLjfrxM,92692
|
1283
|
-
zenml_nightly-0.74.0.
|
1284
|
-
zenml_nightly-0.74.0.
|
1285
|
-
zenml_nightly-0.74.0.
|
1286
|
-
zenml_nightly-0.74.0.
|
1287
|
-
zenml_nightly-0.74.0.
|
1283
|
+
zenml_nightly-0.74.0.dev20250226.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
|
1284
|
+
zenml_nightly-0.74.0.dev20250226.dist-info/METADATA,sha256=Kt71h9uwFZZLAkdOEla7Snde0AoZGAEj-eZtZn7tWYY,24274
|
1285
|
+
zenml_nightly-0.74.0.dev20250226.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
1286
|
+
zenml_nightly-0.74.0.dev20250226.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
|
1287
|
+
zenml_nightly-0.74.0.dev20250226.dist-info/RECORD,,
|
{zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/LICENSE
RENAMED
File without changes
|
{zenml_nightly-0.74.0.dev20250224.dist-info → zenml_nightly-0.74.0.dev20250226.dist-info}/WHEEL
RENAMED
File without changes
|
File without changes
|