pipelime-python 3.0.0__py3-none-any.whl → 3.0.1__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.
pipelime/__init__.py CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  __author__ = "Eyecan.ai"
4
4
  __email__ = "info@eyecan.ai"
5
- __version__ = "3.0.0"
5
+ __version__ = "3.0.1"
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ from copy import deepcopy
3
4
  from pathlib import Path
4
5
  from typing import Any, Dict, List, Mapping, Optional, Tuple, Union
5
6
 
@@ -38,6 +39,11 @@ class XConfig(Box):
38
39
  validation. Defaults to None.
39
40
  """
40
41
 
42
+ # Initialize the box config. Nested containers must be plain `Box` objects:
43
+ # `XConfig.__init__` does not accept box options, and recent python-box
44
+ # versions would otherwise default `box_class` to the subclass itself.
45
+ super().__init__(box_class=Box)
46
+
41
47
  # options
42
48
  self._cwd = cwd
43
49
  self._schema = None
@@ -93,6 +99,15 @@ class XConfig(Box):
93
99
  """
94
100
  return XConfig(data=self.decode(), cwd=self.get_cwd(), schema=self.get_schema())
95
101
 
102
+ def __deepcopy__(self, memo: Optional[Dict[int, Any]] = None) -> XConfig:
103
+ # `Box.__deepcopy__` would build the copy passing box options to
104
+ # `XConfig.__init__` (or return a plain `Box`, on older python-box versions)
105
+ return XConfig(
106
+ data=deepcopy(self.to_dict(), memo),
107
+ cwd=self.get_cwd(),
108
+ schema=self.get_schema(),
109
+ )
110
+
96
111
  def validate(self, replace: bool = True):
97
112
  """Validate internal schema, if any
98
113
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pipelime-python
3
- Version: 3.0.0
3
+ Version: 3.0.1
4
4
  Summary: Data workflows, cli and dataflow automation.
5
5
  Project-URL: Source, https://github.com/eyecan-ai/pipelime-python
6
6
  Project-URL: Issues, https://github.com/eyecan-ai/pipelime-python/issues
@@ -1,7 +1,7 @@
1
1
  LICENSE,sha256=Ufc-hKELjY574QxuUAosOjRD6RO0x_Y3jtnNbjRK5pc,1525
2
- pipelime/__init__.py,sha256=0oJMkwrwTjQ3hLg_LvUFJ5dPtvjPg6bJoRkHzWgLRII,115
2
+ pipelime/__init__.py,sha256=ibX-6Zi2DuOivNAl5UEPK1-gcb9kAZtWmwdGfdbVPfQ,115
3
3
  pipelime/choixe/__init__.py,sha256=sFXmatlOorxsGTrB0q6W8RUA0KNqnC4qiRbDRbRZrBM,52
4
- pipelime/choixe/xconfig.py,sha256=ndekTZDqanVvnD54yHuDYZP3PXCkyo6j2afV4BKS71Q,15163
4
+ pipelime/choixe/xconfig.py,sha256=5brtpXBy0-gxcJD7I84fkSgZHxeE-s0nMLdn-82XbhY,15863
5
5
  pipelime/choixe/ast/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  pipelime/choixe/ast/nodes.py,sha256=bhwQFCTp6cXQ2vmiyMfYPcML0fqd8siglPuWqvxrZTY,11405
7
7
  pipelime/choixe/ast/parser.py,sha256=8rKlMHwxQLilUitXQlgxy3HvTgLFcZUgf0smXY-6JKc,14001
@@ -115,8 +115,8 @@ pipelime/utils/deprecated.py,sha256=rBlOk3cJPZw3jB7QuIY8U3LPWLuovpj8Mfarn65GrqU,
115
115
  pipelime/utils/inspection.py,sha256=mpfx-wnoDrocpZ5nlh--XtqEGQEEo9WIYIlF18WXXWg,1369
116
116
  pipelime/utils/pydantic_compat.py,sha256=CKm-9rvjQWsA5Yu0X_kXYlJJfxGGJbXUOiXkzU4COPU,47553
117
117
  pipelime/utils/pydantic_types.py,sha256=wK6p8B173FnlwUF7op8Wfpjy5R3YBCZRog_SChPwvpg,25601
118
- pipelime_python-3.0.0.dist-info/METADATA,sha256=-eXzxZq9ZrnB_3jtEDpH_WxSwybNbdQkzgZ7WHHOHV8,8776
119
- pipelime_python-3.0.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
120
- pipelime_python-3.0.0.dist-info/entry_points.txt,sha256=hY61hWhOC6q8tq5Qj5oOOEjZo9dtOrztO7IXylYsoTo,61
121
- pipelime_python-3.0.0.dist-info/licenses/LICENSE,sha256=Ufc-hKELjY574QxuUAosOjRD6RO0x_Y3jtnNbjRK5pc,1525
122
- pipelime_python-3.0.0.dist-info/RECORD,,
118
+ pipelime_python-3.0.1.dist-info/METADATA,sha256=P-98EgrAJ3xGezEVEpm5nklP-U-u9PBhq73HdViUZOU,8776
119
+ pipelime_python-3.0.1.dist-info/WHEEL,sha256=2iZrJkDIkeDh0k9SikKMqFuRP-ua6mb4Ir1AsER4BEw,87
120
+ pipelime_python-3.0.1.dist-info/entry_points.txt,sha256=hY61hWhOC6q8tq5Qj5oOOEjZo9dtOrztO7IXylYsoTo,61
121
+ pipelime_python-3.0.1.dist-info/licenses/LICENSE,sha256=Ufc-hKELjY574QxuUAosOjRD6RO0x_Y3jtnNbjRK5pc,1525
122
+ pipelime_python-3.0.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.32.4
2
+ Generator: hatchling 1.33.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any