Python Dict Dots
A way access values in nested key-value dicts using dot notation, e.g.
Before:
data = None
if needle in haystack:
if nested_needle in haystack[needle]:
data = haystack[needle][nested_needle]
if not data:
data = default_data
After:
from dictdots import DictDots
data = DictDots.get(
"needle.nested_needle", haystack, default=default_data
)
How to
- Run
pip install DictDots from dictdots import DictDotsDictDots.get("needle", haystack_dict, default=default_value)
DictDots supports List and Dict.
For example
from dictdots import DictDots
haystack = [
{
"needle": {
"nested": "you found me",
},
},
]
value = DictDots.get(haystack, "0.needle.nested")
print(value)
Would output you found me.
A valid query string is a string of keys and/or indicies, separated by periods.
Strings can only contain alphanumeric characters, periods, and underscores.
Strings can not contain double-or-more dots.
Strings can not begin or end with a dot.
Each period in the string will tell DictDots to dig another layer into your nested data structure.
Dict dots does not hold your hand, if you give it a bad string, e.g _hello...world,
then it will just raise an InvalidQueryString.
Future
Release files for DictDots 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| DictDots-0.2.0.tar.gz | 4.8 kB | Details |
Release files / DictDots-0.2.0.tar.gz
| Download URL | DictDots-0.2.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
46eb7e904cb9ff0b8a7195e1f6a932afeb51d739e046cad2a6a13a494adef2d4
|
|
BLAKE2b-256 checksum How to use checksums |
f8b6321a33a278606ad02551c4ce964c8fc02620da254615542b549ea8105740
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/3.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9
|