dotted-notation 0.44.10__tar.gz → 0.44.11__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 (38) hide show
  1. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/CHANGELOG.md +10 -0
  2. {dotted_notation-0.44.10/dotted_notation.egg-info → dotted_notation-0.44.11}/PKG-INFO +1 -1
  3. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/engine.py +4 -2
  4. {dotted_notation-0.44.10 → dotted_notation-0.44.11/dotted_notation.egg-info}/PKG-INFO +1 -1
  5. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/pyproject.toml +1 -1
  6. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/LICENSE +0 -0
  7. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/MANIFEST.in +0 -0
  8. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/README.md +0 -0
  9. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/__init__.py +0 -0
  10. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/__main__.py +0 -0
  11. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/access.py +0 -0
  12. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/api.py +0 -0
  13. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/base.py +0 -0
  14. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/cli/__init__.py +0 -0
  15. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/cli/_compat.py +0 -0
  16. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/cli/formats.py +0 -0
  17. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/cli/main.py +0 -0
  18. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/containers.py +0 -0
  19. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/filters.py +0 -0
  20. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/grammar.py +0 -0
  21. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/groups.py +0 -0
  22. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/matchers.py +0 -0
  23. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/predicates.py +0 -0
  24. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/recursive.py +0 -0
  25. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/results.py +0 -0
  26. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/sql/__init__.py +0 -0
  27. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/sql/core.py +0 -0
  28. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/sql/pg.py +0 -0
  29. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/transforms.py +0 -0
  30. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/utils.py +0 -0
  31. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/utypes.py +0 -0
  32. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted/wrappers.py +0 -0
  33. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted_notation.egg-info/SOURCES.txt +0 -0
  34. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted_notation.egg-info/dependency_links.txt +0 -0
  35. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted_notation.egg-info/entry_points.txt +0 -0
  36. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted_notation.egg-info/requires.txt +0 -0
  37. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/dotted_notation.egg-info/top_level.txt +0 -0
  38. {dotted_notation-0.44.10 → dotted_notation-0.44.11}/setup.cfg +0 -0
@@ -3,6 +3,16 @@
3
3
  All notable changes to `dotted` are recorded here. Versions prior to
4
4
  the ones listed are omitted — browse git history for earlier entries.
5
5
 
6
+ ## [0.44.11]
7
+
8
+ ### Changed
9
+ - `build()` copies its leaves with the standard library's
10
+ `copy.deepcopy` even when copium is installed. copium 0.1.0 gets slow
11
+ at small copies once it has copied something large in the same
12
+ process ([copium#54](https://github.com/percolab/copium/issues/54)),
13
+ which made `build` slower with the extra than without it. copium is
14
+ still used for the whole-object copy made by `mutable=False`.
15
+
6
16
  ## [0.44.10]
7
17
 
8
18
  ### Performance
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dotted_notation
3
- Version: 0.44.10
3
+ Version: 0.44.11
4
4
  Summary: Dotted notation for safe nested data traversal with optional chaining, pattern matching, and transforms
5
5
  Author-email: Frey Waid <logophage1@gmail.com>
6
6
  License: MIT
@@ -3,10 +3,10 @@ Traversal engine for dotted path operations.
3
3
 
4
4
  Core traversal functions (walk, gets, updates, removes, expands).
5
5
  """
6
+ import copy
6
7
 
7
8
  from . import base
8
9
  from . import matchers
9
- from . import utils
10
10
  from . import wrappers
11
11
  from .access import Attr, Slot
12
12
  from .results import Dotted
@@ -42,7 +42,9 @@ def build(ops, node, deepcopy=True, **kwargs):
42
42
  built = node.__class__()
43
43
  for k,v in cur.items(node, **kwargs):
44
44
  if not ops:
45
- built = cur.update(built, k, utils.deepcopy(v) if deepcopy else v)
45
+ # stdlib copy, not utils.deepcopy: copium gets slow at small
46
+ # copies like these after a large one (percolab/copium#54)
47
+ built = cur.update(built, k, copy.deepcopy(v) if deepcopy else v)
46
48
  else:
47
49
  built = cur.update(built, k, build(ops, v, deepcopy=deepcopy, **kwargs))
48
50
  return built or build_default([cur]+ops)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dotted_notation
3
- Version: 0.44.10
3
+ Version: 0.44.11
4
4
  Summary: Dotted notation for safe nested data traversal with optional chaining, pattern matching, and transforms
5
5
  Author-email: Frey Waid <logophage1@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dotted_notation"
7
- version = "0.44.10"
7
+ version = "0.44.11"
8
8
  description = "Dotted notation for safe nested data traversal with optional chaining, pattern matching, and transforms"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.6"