Fast data traversal & manipulation tools.
Project description
traversy
Fast data traversal & manipulation tools for Python. Check out the documentation.
Quick-Start
from traversy import traverse
import json
jo = json.loads("""{
"2019": {
"uat": {
"pkey": true,
"user": "testval",
"testkey": true,
"mylist": [
{
"foo": "bar",
"foo2": "bar2"
},
{
"baz": "milk",
"bar": "foo"
}
]
},
"dev": {
"pkey": true,
"testval": "testval",
"testval2": true
},
"test1": [1, 2, "testval"],
"test2": [{"one": "foo", "two": "bar", "three": "testval"}]
}
}""")
def is_eq(key, val, opath, query): # Use of a filter func is optional.
return val == query
for node in traverse(jo, is_eq, query="milk"):
print("Found", node.key, ':', node.value) # baz : milk
print("Full path access:", jo[node.path_str]) # "2019.uat.mylist.1.baz"
For each iteration, traverse() returns a dict or data object of...
{'key', 'value', 'node_path', 'path_str', 'filter_func',
'filter_args': (data, kwargs), 'parent_node', 'output_formatter'}
For more information on these non-built-in data structure (Which are optional to use), check out mo-dots and dotty_dict.
Changelog
-
11/15/2020 - 0.1.32 : Fix for pypi.
-
11/15/2020 - 0.1.3 : Refactored & added more utility methods. Added docs.
-
11/13/2020 - 0.1.2 : Doc correction.
-
11/13/2020 - 0.1.1 : Deprecated
set_output_format()
and made package compatible with both Python 2 and Python 3.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file traversy-0.1.32.tar.gz
.
File metadata
- Download URL: traversy-0.1.32.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ad9c4ae8933a0ac86d40a7ac4b64012f2f7a26af199bafee588a1b79549c9a9 |
|
MD5 | 958b1042144e04f37c3851c81a2089de |
|
BLAKE2b-256 | b7bacc42efdeca278e3bc9f924157a47b50ee62d1aceb300afb90dc7da294fde |
File details
Details for the file traversy-0.1.32-py3-none-any.whl
.
File metadata
- Download URL: traversy-0.1.32-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbbfd5a04f744df8810753990d8bbe9e58f5ddd679b82b5e851de35fbec0b4b8 |
|
MD5 | 2e658f9a3f98c3002df31656cb5165e2 |
|
BLAKE2b-256 | 8cacb7431f5217a472334f88a8c409b09a4547e9228da82820d4b7dc386f6158 |