PySerials 0.0.0.dev39__tar.gz → 0.0.0.dev41__tar.gz

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.
Files changed (24) hide show
  1. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/PKG-INFO +3 -3
  2. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/pyproject.toml +3 -3
  3. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/PySerials.egg-info/PKG-INFO +3 -3
  4. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/PySerials.egg-info/requires.txt +2 -2
  5. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/property_dict.py +12 -1
  6. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/README.md +0 -0
  7. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/setup.cfg +0 -0
  8. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/PySerials.egg-info/SOURCES.txt +0 -0
  9. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/PySerials.egg-info/dependency_links.txt +0 -0
  10. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/PySerials.egg-info/not-zip-safe +0 -0
  11. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/PySerials.egg-info/top_level.txt +0 -0
  12. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/__init__.py +0 -0
  13. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/compare.py +0 -0
  14. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/exception/__init__.py +0 -0
  15. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/exception/_base.py +0 -0
  16. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/exception/read.py +0 -0
  17. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/exception/update.py +0 -0
  18. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/exception/validate.py +0 -0
  19. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/format.py +0 -0
  20. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/nested_dict.py +0 -0
  21. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/read.py +0 -0
  22. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/update.py +0 -0
  23. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/validate.py +0 -0
  24. {pyserials-0.0.0.dev39 → pyserials-0.0.0.dev41}/src/pyserials/write.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PySerials
3
- Version: 0.0.0.dev39
3
+ Version: 0.0.0.dev41
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: jsonschema<5,>=4.21.0
6
6
  Requires-Dist: referencing>=0.35.1
@@ -8,6 +8,6 @@ Requires-Dist: jsonpath-ng<2,>=1.6.1
8
8
  Requires-Dist: ruamel.yaml<0.18,>=0.17.32
9
9
  Requires-Dist: ruamel.yaml.string<1,>=0.1.1
10
10
  Requires-Dist: tomlkit<0.12,>=0.11.8
11
- Requires-Dist: MDit==0.0.0.dev36
12
- Requires-Dist: ExceptionMan==0.0.0.dev36
11
+ Requires-Dist: MDit==0.0.0.dev38
12
+ Requires-Dist: ExceptionMan==0.0.0.dev38
13
13
  Requires-Dist: ProtocolMan==0.0.0.dev2
@@ -17,7 +17,7 @@ namespaces = true
17
17
  # ----------------------------------------- Project Metadata -------------------------------------
18
18
  #
19
19
  [project]
20
- version = "0.0.0.dev39"
20
+ version = "0.0.0.dev41"
21
21
  name = "PySerials"
22
22
  dependencies = [
23
23
  "jsonschema >= 4.21.0, < 5",
@@ -26,8 +26,8 @@ dependencies = [
26
26
  "ruamel.yaml >= 0.17.32, < 0.18", # https://yaml.readthedocs.io/en/stable/
27
27
  "ruamel.yaml.string >= 0.1.1, < 1",
28
28
  "tomlkit >= 0.11.8, < 0.12", # https://tomlkit.readthedocs.io/en/stable/,
29
- "MDit == 0.0.0.dev36",
30
- "ExceptionMan == 0.0.0.dev36",
29
+ "MDit == 0.0.0.dev38",
30
+ "ExceptionMan == 0.0.0.dev38",
31
31
  "ProtocolMan == 0.0.0.dev2",
32
32
  ]
33
33
  requires-python = ">=3.10"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PySerials
3
- Version: 0.0.0.dev39
3
+ Version: 0.0.0.dev41
4
4
  Requires-Python: >=3.10
5
5
  Requires-Dist: jsonschema<5,>=4.21.0
6
6
  Requires-Dist: referencing>=0.35.1
@@ -8,6 +8,6 @@ Requires-Dist: jsonpath-ng<2,>=1.6.1
8
8
  Requires-Dist: ruamel.yaml<0.18,>=0.17.32
9
9
  Requires-Dist: ruamel.yaml.string<1,>=0.1.1
10
10
  Requires-Dist: tomlkit<0.12,>=0.11.8
11
- Requires-Dist: MDit==0.0.0.dev36
12
- Requires-Dist: ExceptionMan==0.0.0.dev36
11
+ Requires-Dist: MDit==0.0.0.dev38
12
+ Requires-Dist: ExceptionMan==0.0.0.dev38
13
13
  Requires-Dist: ProtocolMan==0.0.0.dev2
@@ -4,6 +4,6 @@ jsonpath-ng<2,>=1.6.1
4
4
  ruamel.yaml<0.18,>=0.17.32
5
5
  ruamel.yaml.string<1,>=0.1.1
6
6
  tomlkit<0.12,>=0.11.8
7
- MDit==0.0.0.dev36
8
- ExceptionMan==0.0.0.dev36
7
+ MDit==0.0.0.dev38
8
+ ExceptionMan==0.0.0.dev38
9
9
  ProtocolMan==0.0.0.dev2
@@ -1,3 +1,6 @@
1
+ import copy as _copy
2
+
3
+
1
4
  class PropertyDict:
2
5
 
3
6
  def __init__(self, data: dict | None):
@@ -19,7 +22,10 @@ class PropertyDict:
19
22
  return self._data.setdefault(key, default)
20
23
 
21
24
  def __getattr__(self, name: str):
22
- return self._data[name]
25
+ try:
26
+ return self._data[name]
27
+ except KeyError:
28
+ raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
23
29
 
24
30
  def __getitem__(self, name: str):
25
31
  return self._data[name]
@@ -47,3 +53,8 @@ class PropertyDict:
47
53
 
48
54
  def __ne__(self, other):
49
55
  return self._data != other._data
56
+
57
+ def __deepcopy__(self, memo):
58
+ # Use `deepcopy` on the internal dictionary to copy its contents
59
+ copied_data = _copy.deepcopy(self._data, memo)
60
+ return PropertyDict(copied_data)