dotted-notation 0.47.1__tar.gz → 0.47.2__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.
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/CHANGELOG.md +7 -0
- {dotted_notation-0.47.1/dotted_notation.egg-info → dotted_notation-0.47.2}/PKG-INFO +8 -1
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/README.md +7 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/grammar.py +4 -1
- {dotted_notation-0.47.1 → dotted_notation-0.47.2/dotted_notation.egg-info}/PKG-INFO +8 -1
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/pyproject.toml +1 -1
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/LICENSE +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/MANIFEST.in +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/__init__.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/__main__.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/access.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/access.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/api.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/base.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/base.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/cli/__init__.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/cli/_compat.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/cli/formats.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/cli/main.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/containers.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/engine.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/engine.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/filters.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/filters.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/groups.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/groups.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/matchers.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/matchers.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/native.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/predicates.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/recursive.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/recursive.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/results.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/sql/__init__.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/sql/core.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/sql/pg.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/transforms.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/utils.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/utypes.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/wrappers.pxd +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted/wrappers.py +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted_notation.egg-info/SOURCES.txt +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted_notation.egg-info/dependency_links.txt +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted_notation.egg-info/entry_points.txt +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted_notation.egg-info/requires.txt +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted_notation.egg-info/top_level.txt +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/setup.cfg +0 -0
- {dotted_notation-0.47.1 → dotted_notation-0.47.2}/setup.py +0 -0
|
@@ -3,6 +3,13 @@
|
|
|
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.47.2]
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- `$str`, a `$` before a word, is a plain string wherever a key, guard
|
|
10
|
+
value or transform argument may stand, as `^str` already was. It was a
|
|
11
|
+
`ParseError`. `$0`, `$(name)` and `$$(path)` are unchanged.
|
|
12
|
+
|
|
6
13
|
## [0.47.1]
|
|
7
14
|
|
|
8
15
|
### Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dotted_notation
|
|
3
|
-
Version: 0.47.
|
|
3
|
+
Version: 0.47.2
|
|
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-Expression: MIT
|
|
@@ -1655,6 +1655,13 @@ Quoting also works — a quoted string is always literal:
|
|
|
1655
1655
|
To use a literal `$$` as a key, escape with backslash (`\$$`) or quote it
|
|
1656
1656
|
(`'$$(…)'`).
|
|
1657
1657
|
|
|
1658
|
+
A `$` before a word is not a substitution at all: `$str` is the plain string
|
|
1659
|
+
`$str`, in a segment, a guard value or a transform argument alike, just as
|
|
1660
|
+
`^str` is. Only `$0`, `$(name)` and `$$(path)` have meaning:
|
|
1661
|
+
|
|
1662
|
+
>>> dotted.get({'$amount': {'value': 2}}, '$amount.value')
|
|
1663
|
+
2
|
|
1664
|
+
|
|
1658
1665
|
<a id="type-restrictions"></a>
|
|
1659
1666
|
## Type Restrictions
|
|
1660
1667
|
|
|
@@ -1608,6 +1608,13 @@ Quoting also works — a quoted string is always literal:
|
|
|
1608
1608
|
To use a literal `$$` as a key, escape with backslash (`\$$`) or quote it
|
|
1609
1609
|
(`'$$(…)'`).
|
|
1610
1610
|
|
|
1611
|
+
A `$` before a word is not a substitution at all: `$str` is the plain string
|
|
1612
|
+
`$str`, in a segment, a guard value or a transform argument alike, just as
|
|
1613
|
+
`^str` is. Only `$0`, `$(name)` and `$$(path)` have meaning:
|
|
1614
|
+
|
|
1615
|
+
>>> dotted.get({'$amount': {'value': 2}}, '$amount.value')
|
|
1616
|
+
2
|
|
1617
|
+
|
|
1611
1618
|
<a id="type-restrictions"></a>
|
|
1612
1619
|
## Type Restrictions
|
|
1613
1620
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
"""
|
|
3
3
|
import decimal
|
|
4
|
+
import re
|
|
4
5
|
import pyparsing as pp
|
|
5
6
|
from pyparsing import pyparsing_common as ppc
|
|
6
7
|
|
|
@@ -275,7 +276,9 @@ def _paren_subst_action(t):
|
|
|
275
276
|
_paren_subst = pp.Regex(r'\$\([^)]+\)').set_parse_action(_paren_subst_action)
|
|
276
277
|
_raw_subst = pp.Regex(r'\$[0-9]+').set_parse_action(
|
|
277
278
|
lambda t: matchers.Subst(int(t[0][1:])))
|
|
278
|
-
|
|
279
|
+
# $str, a $ before a word: a plain string, as ^str is. Not $0, $(name) or $$(path).
|
|
280
|
+
_dollar_word = pp.Regex(r'\$(?![0-9($])[^' + re.escape(reserved) + r' \t\n\r]+').set_parse_action(matchers.Word)
|
|
281
|
+
var = _escaped_dollar | _reference | _paren_subst | _raw_subst | _dollar_word
|
|
279
282
|
slice = pp.Optional(integer | plus) + ':' + pp.Optional(integer | plus) \
|
|
280
283
|
+ pp.Optional(':') + pp.Optional(integer | plus)
|
|
281
284
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dotted_notation
|
|
3
|
-
Version: 0.47.
|
|
3
|
+
Version: 0.47.2
|
|
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-Expression: MIT
|
|
@@ -1655,6 +1655,13 @@ Quoting also works — a quoted string is always literal:
|
|
|
1655
1655
|
To use a literal `$$` as a key, escape with backslash (`\$$`) or quote it
|
|
1656
1656
|
(`'$$(…)'`).
|
|
1657
1657
|
|
|
1658
|
+
A `$` before a word is not a substitution at all: `$str` is the plain string
|
|
1659
|
+
`$str`, in a segment, a guard value or a transform argument alike, just as
|
|
1660
|
+
`^str` is. Only `$0`, `$(name)` and `$$(path)` have meaning:
|
|
1661
|
+
|
|
1662
|
+
>>> dotted.get({'$amount': {'value': 2}}, '$amount.value')
|
|
1663
|
+
2
|
|
1664
|
+
|
|
1658
1665
|
<a id="type-restrictions"></a>
|
|
1659
1666
|
## Type Restrictions
|
|
1660
1667
|
|
|
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "dotted_notation"
|
|
9
|
-
version = "0.47.
|
|
9
|
+
version = "0.47.2"
|
|
10
10
|
description = "Dotted notation for safe nested data traversal with optional chaining, pattern matching, and transforms"
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.6"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dotted_notation-0.47.1 → dotted_notation-0.47.2}/dotted_notation.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|