zenml-nightly 0.80.1.dev20250403__py3-none-any.whl → 0.80.1.dev20250404__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 CHANGED
@@ -1 +1 @@
1
- 0.80.1.dev20250403
1
+ 0.80.1.dev20250404
zenml/client.py CHANGED
@@ -1213,7 +1213,6 @@ class Client(metaclass=ClientMetaClass):
1213
1213
  name=name,
1214
1214
  components=stack_components,
1215
1215
  stack_spec_path=stack_spec_file,
1216
- project=self.active_project.id,
1217
1216
  labels=labels,
1218
1217
  )
1219
1218
 
@@ -1339,7 +1338,6 @@ class Client(metaclass=ClientMetaClass):
1339
1338
 
1340
1339
  # Create the update model
1341
1340
  update_model = StackUpdate(
1342
- project=self.active_project.id,
1343
1341
  stack_spec_path=stack_spec_file,
1344
1342
  )
1345
1343
 
@@ -2027,7 +2025,6 @@ class Client(metaclass=ClientMetaClass):
2027
2025
  type=component_type,
2028
2026
  flavor=flavor,
2029
2027
  configuration=configuration,
2030
- project=self.active_project.id,
2031
2028
  labels=labels,
2032
2029
  )
2033
2030
 
@@ -2075,9 +2072,7 @@ class Client(metaclass=ClientMetaClass):
2075
2072
  allow_name_prefix_match=False,
2076
2073
  )
2077
2074
 
2078
- update_model = ComponentUpdate(
2079
- project=self.active_project.id,
2080
- )
2075
+ update_model = ComponentUpdate()
2081
2076
 
2082
2077
  if name is not None:
2083
2078
  existing_components = self.list_stack_components(
zenml/constants.py CHANGED
@@ -169,6 +169,7 @@ ENV_ZENML_SERVER = "ZENML_SERVER"
169
169
  ENV_ZENML_ENFORCE_TYPE_ANNOTATIONS = "ZENML_ENFORCE_TYPE_ANNOTATIONS"
170
170
  ENV_ZENML_ENABLE_IMPLICIT_AUTH_METHODS = "ZENML_ENABLE_IMPLICIT_AUTH_METHODS"
171
171
  ENV_ZENML_DISABLE_STEP_LOGS_STORAGE = "ZENML_DISABLE_STEP_LOGS_STORAGE"
172
+ ENV_ZENML_DISABLE_STEP_NAMES_IN_LOGS = "ZENML_DISABLE_STEP_NAMES_IN_LOGS"
172
173
  ENV_ZENML_IGNORE_FAILURE_HOOK = "ZENML_IGNORE_FAILURE_HOOK"
173
174
  ENV_ZENML_CUSTOM_SOURCE_ROOT = "ZENML_CUSTOM_SOURCE_ROOT"
174
175
  ENV_ZENML_WHEEL_PACKAGE_NAME = "ZENML_WHEEL_PACKAGE_NAME"
@@ -31,17 +31,10 @@ class S3Integration(Integration):
31
31
  NAME = S3
32
32
  # boto3 isn't required for the filesystem to work, but it is required
33
33
  # for the AWS/S3 connector that can be used with the artifact store.
34
- # NOTE: to keep the dependency resolution for botocore consistent and fast
35
- # between s3fs and boto3, the boto3 upper version used here should be the
36
- # same as the one resolved by pip when installing boto3 without a
37
- # restriction alongside s3fs, e.g.:
38
- #
39
- # pip install 's3fs>2022.3.0,<=2023.4.0' boto3
40
- #
41
- # The above command installs boto3==1.26.76, so we use the same version
42
- # here to avoid the dependency resolution overhead.
43
34
  REQUIREMENTS = [
44
- "s3fs>2022.3.0",
35
+ # Explicitly exclude 2025.3.1 to avoid pulling in the yanked fsspec
36
+ # package with the same version
37
+ "s3fs>2022.3.0,!=2025.3.1",
45
38
  "boto3",
46
39
  # The following dependencies are only required for the AWS connector.
47
40
  "aws-profile-manager",
@@ -75,7 +75,7 @@ class WandbExperimentTrackerSettings(BaseSettings):
75
75
  # `make_static` or `to_dict` is available to convert the settings
76
76
  # to a dictionary
77
77
  if isinstance(value, BaseModel):
78
- return value.model_dump()
78
+ return value.model_dump() # type: ignore[no-untyped-call]
79
79
  elif hasattr(value, "make_static"):
80
80
  return cast(Dict[str, Any], value.make_static())
81
81
  elif hasattr(value, "to_dict"):
@@ -22,11 +22,16 @@ from types import TracebackType
22
22
  from typing import Any, Callable, List, Optional, Type, Union
23
23
  from uuid import UUID, uuid4
24
24
 
25
+ from zenml import get_step_context
25
26
  from zenml.artifact_stores import BaseArtifactStore
26
27
  from zenml.artifacts.utils import (
27
28
  _load_artifact_store,
28
29
  _load_file_from_artifact_store,
29
30
  )
31
+ from zenml.constants import (
32
+ ENV_ZENML_DISABLE_STEP_NAMES_IN_LOGS,
33
+ handle_bool_env_var,
34
+ )
30
35
  from zenml.exceptions import DoesNotExistException
31
36
  from zenml.logger import get_logger
32
37
  from zenml.logging import (
@@ -447,8 +452,8 @@ class StepLogsStorageContext:
447
452
  setattr(sys.stdout, "write", self._wrap_write(self.stdout_write))
448
453
  setattr(sys.stdout, "flush", self._wrap_flush(self.stdout_flush))
449
454
 
450
- setattr(sys.stderr, "write", self._wrap_write(self.stdout_write))
451
- setattr(sys.stderr, "flush", self._wrap_flush(self.stdout_flush))
455
+ setattr(sys.stderr, "write", self._wrap_write(self.stderr_write))
456
+ setattr(sys.stderr, "flush", self._wrap_flush(self.stderr_flush))
452
457
 
453
458
  redirected.set(True)
454
459
  return self
@@ -494,9 +499,32 @@ class StepLogsStorageContext:
494
499
  """
495
500
 
496
501
  def wrapped_write(*args: Any, **kwargs: Any) -> Any:
497
- output = method(*args, **kwargs)
502
+ # Check if step names in logs are disabled via env var
503
+ step_names_disabled = handle_bool_env_var(
504
+ ENV_ZENML_DISABLE_STEP_NAMES_IN_LOGS, default=False
505
+ )
506
+
507
+ if step_names_disabled:
508
+ output = method(*args, **kwargs)
509
+ else:
510
+ # Try to get step context if not available yet
511
+ step_context = None
512
+ try:
513
+ step_context = get_step_context()
514
+ except Exception:
515
+ pass
516
+
517
+ if step_context and args[0] != "\n":
518
+ message = f"[{step_context.step_name}] " + args[0]
519
+ else:
520
+ message = args[0]
521
+
522
+ output = method(message, *args[1:], **kwargs)
523
+
524
+ # Save the original message without step name prefix to storage
498
525
  if args:
499
526
  self.storage.write(args[0])
527
+
500
528
  return output
501
529
 
502
530
  return wrapped_write
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: zenml-nightly
3
- Version: 0.80.1.dev20250403
3
+ Version: 0.80.1.dev20250404
4
4
  Summary: ZenML: Write production-ready ML code.
5
5
  License: Apache-2.0
6
6
  Keywords: machine learning,production,pipeline,mlops,devops
@@ -108,7 +108,7 @@ Requires-Dist: pyyaml-include (<2.0) ; extra == "templates"
108
108
  Requires-Dist: requests (>=2.27.11,<3.0.0) ; extra == "connectors-azure"
109
109
  Requires-Dist: rich[jupyter] (>=12.0.0)
110
110
  Requires-Dist: ruff (>=0.1.7) ; extra == "templates" or extra == "dev"
111
- Requires-Dist: s3fs (>=2022.11.0) ; extra == "s3fs"
111
+ Requires-Dist: s3fs (>=2022.11.0,!=2025.3.1) ; extra == "s3fs"
112
112
  Requires-Dist: sagemaker (>=2.199.0) ; extra == "sagemaker"
113
113
  Requires-Dist: secure (>=0.3.0,<0.4.0) ; extra == "server"
114
114
  Requires-Dist: setuptools
@@ -1,5 +1,5 @@
1
1
  zenml/README.md,sha256=827dekbOWAs1BpW7VF1a4d7EbwPbjwccX-2zdXBENZo,1777
2
- zenml/VERSION,sha256=aWwg-fBqgZ9oDR6dhHJc5o2EySW_O7NhHPKAZD1QVv4,19
2
+ zenml/VERSION,sha256=_fy45dCRG5xzujlDy8BA-AChK8IcC5EBU-v8u74a1mc,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
@@ -55,7 +55,7 @@ zenml/cli/text_utils.py,sha256=bY1GIjoULt1cW2FyrPlMoAXNS2R7cSOjDFEZQqrpVQ8,3553
55
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
- zenml/client.py,sha256=l8nHsajF_Ctn3ne4unrn7OHW-VG4OKOKObt-POYFZzE,292402
58
+ zenml/client.py,sha256=QHcrJ9d5_UrXvhFl4lrLcFllFSiWX8vO2K4Sf4lfJpc,292217
59
59
  zenml/client_lazy_loader.py,sha256=MOBgS1ITYqGvPUnWQ6edn9s8Hr_72YfWbwEIfHKUr9g,7104
60
60
  zenml/code_repositories/__init__.py,sha256=W5bDfzAG8OXIKZSV1L-VHuzMcSCYa9qzTdPb3jqfyYw,920
61
61
  zenml/code_repositories/base_code_repository.py,sha256=Id6VjbUu8N3ZpNvBGhOgbahtoMiCAtYXed3G7YQ_iAc,5225
@@ -85,7 +85,7 @@ zenml/config/step_run_info.py,sha256=KiVRSTtKmZ1GbvseDTap2imr7XwMHD3jSFVpyLNEK1I
85
85
  zenml/config/store_config.py,sha256=Cla5p5dTB6nNlo8_OZDs9hod5hspi64vxwtZj882XgU,3559
86
86
  zenml/config/strict_base_model.py,sha256=iHnO9qOmLUP_eiy9IjRr3JjIs1l1I_CsRQ76EyAneYU,860
87
87
  zenml/console.py,sha256=hj_KerPQKwnyKACj0ehSqUQX0mGVCJBKE1QvCt6ik3A,1160
88
- zenml/constants.py,sha256=qK9iTSw_KNijkPIrotmKdMnY9QrlSCNKDnJ8RHO48TM,15855
88
+ zenml/constants.py,sha256=2HKlfa8nG6FNqwg6gdvR5pMkOvAC-uZW6nJpmg9aBQ8,15929
89
89
  zenml/container_registries/__init__.py,sha256=ZSPbBIOnzhg88kQSpYgKe_POLuru14m629665-kAVAA,2200
90
90
  zenml/container_registries/azure_container_registry.py,sha256=t1sfDa94Vzbyqtb1iPFNutJ2EXV5_p9CUNITasoiQ70,2667
91
91
  zenml/container_registries/base_container_registry.py,sha256=6c2e32wuqxYHJXm5OV2LY1MtX9yopB7WZtes9fmTAz0,7625
@@ -449,7 +449,7 @@ zenml/integrations/pytorch_lightning/__init__.py,sha256=dgbBAEaMiXi1MIZcF58aG3vC
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
451
  zenml/integrations/registry.py,sha256=02WjPZVrTWdAKHUxEGDMVFud7IrJBDEVXdmWEh1GQBc,8383
452
- zenml/integrations/s3/__init__.py,sha256=UkZ4_-z-2yxW1SQjAJ0LvGLGIUrhjq16mhZ0PB6J2g8,2179
452
+ zenml/integrations/s3/__init__.py,sha256=1Xjc_1ntyMx0aOPXtnS4feNnH30U-pokxnN9RWF5hRY,1842
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
455
455
  zenml/integrations/s3/flavors/__init__.py,sha256=ReHjEsoH5edSLYTE6iFGiF_8bPxN_8qL0B8tIXM5tbY,849
@@ -553,7 +553,7 @@ zenml/integrations/wandb/__init__.py,sha256=5aTIc27MeYzODDGeJHZmtRhTSNkg7Vt2tHgr
553
553
  zenml/integrations/wandb/experiment_trackers/__init__.py,sha256=8nFyyvh-PTF5d9ZfjS7xFSWTWSpreRB1azePv-Ex2sc,771
554
554
  zenml/integrations/wandb/experiment_trackers/wandb_experiment_tracker.py,sha256=GV5zDPgj6Dh3ho2MMUC1Da1ezPrNtr4RE9tisWGde00,5749
555
555
  zenml/integrations/wandb/flavors/__init__.py,sha256=b4oJHyCdMN98XB-8S-Pnv39HA-oXQWpup6eZmCmIAEY,894
556
- zenml/integrations/wandb/flavors/wandb_experiment_tracker_flavor.py,sha256=2Sszs0E8-AfMrVwdVSsVRBA85OdttSYx7jb69WxpMs0,4854
556
+ zenml/integrations/wandb/flavors/wandb_experiment_tracker_flavor.py,sha256=uRsPtRAM_A5ktZqiHLE6OU1nF8_4Vrtc8LcdVv12b-4,4887
557
557
  zenml/integrations/whylogs/__init__.py,sha256=PROjw-4-SDSpzxfoqxKud8vGnJm-HsrWxMumjGQuF3M,2423
558
558
  zenml/integrations/whylogs/constants.py,sha256=Txs7qQjmj4vuoqC6rJvoBJ-4yv41CrapExG0_5TvEpw,752
559
559
  zenml/integrations/whylogs/data_validators/__init__.py,sha256=cLblrK_3Hckc_p8YjqJir28V9Nx_-pFPEIknjodQNQQ,820
@@ -577,7 +577,7 @@ zenml/io/filesystem_registry.py,sha256=stujDg4a5k983WMwp3rj4Z4puiUco4REyVoIoMIpI
577
577
  zenml/io/local_filesystem.py,sha256=xQTZPT5cpooptUV8KiifxZojS6pWCv1-6UUxitUYb_E,7386
578
578
  zenml/logger.py,sha256=LMV2sMFQ-6JK9xEn6kEt1C9vAoQ0lwuHVM5XHIeKubE,6966
579
579
  zenml/logging/__init__.py,sha256=lnqbOa31wAHwPP5f8vZazOrUwnP2QviLiIVwxoAefD8,975
580
- zenml/logging/step_logging.py,sha256=KQN9SZO5CQSASctP8OXymBmgNyNNfDT9QkbNwGV-QKM,18272
580
+ zenml/logging/step_logging.py,sha256=ELd_Qs9i_aqnchM9nM8KW9md-9UJyesd3vXoetIj1u4,19228
581
581
  zenml/login/__init__.py,sha256=Evi7hq8tpUn57IM3iX3hYP0r8oIeEWUhS471TAOyVGs,644
582
582
  zenml/login/credentials.py,sha256=RtLmYkFQ5trbprhsO8NCRKwBA136KzGoUWY52dZP9GA,12722
583
583
  zenml/login/credentials_store.py,sha256=m5MaImmQleEi79S0ogPZIVeYvMhWcPO1UWuYns4Zr8E,23673
@@ -1310,8 +1310,8 @@ zenml/zen_stores/secrets_stores/sql_secrets_store.py,sha256=nEO0bAPlULBLxLVk-UTR
1310
1310
  zenml/zen_stores/sql_zen_store.py,sha256=ldyC1uhMnmX5ojnqY9d_L2S-iC-eaNUwsexTkdPtqr4,440204
1311
1311
  zenml/zen_stores/template_utils.py,sha256=GWBP5QEOyvhzndS_MLPmvh28sQaOPpPoZFXCIX9CRL4,9065
1312
1312
  zenml/zen_stores/zen_store_interface.py,sha256=fF_uL_FplnvGvM5o3jOQ8i1zHXhuhKLL2n4nvIKSR7E,92090
1313
- zenml_nightly-0.80.1.dev20250403.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
1314
- zenml_nightly-0.80.1.dev20250403.dist-info/METADATA,sha256=p2L6CBN_1i1UQ4BoPZS7fAbYx6DR-8cXP4TQcsZ3TQQ,24219
1315
- zenml_nightly-0.80.1.dev20250403.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
1316
- zenml_nightly-0.80.1.dev20250403.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
1317
- zenml_nightly-0.80.1.dev20250403.dist-info/RECORD,,
1313
+ zenml_nightly-0.80.1.dev20250404.dist-info/LICENSE,sha256=wbnfEnXnafPbqwANHkV6LUsPKOtdpsd-SNw37rogLtc,11359
1314
+ zenml_nightly-0.80.1.dev20250404.dist-info/METADATA,sha256=tZHAegNMoGaj7n2PZJanp4r7EyAASLcDbyMZYo4ui04,24230
1315
+ zenml_nightly-0.80.1.dev20250404.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
1316
+ zenml_nightly-0.80.1.dev20250404.dist-info/entry_points.txt,sha256=QK3ETQE0YswAM2mWypNMOv8TLtr7EjnqAFq1br_jEFE,43
1317
+ zenml_nightly-0.80.1.dev20250404.dist-info/RECORD,,