easy data picker
Project description
nice-datapath User Guide
Talk is cheap. Show me the code
from datapath import value, register_pipe
import datapath
def concat(*args):
return "".join(args)
def test_value():
data = {
"f1": "a",
"f2": 2,
"f3": {
"f4": "b",
"f5": 3,
"f6": [
"l1", "l2", "l3"
],
},
"f7": [
{
"f8": "f8-1",
"f9": [1, 2, 3]
},
{
"f8": "f8-2",
"f9": [1, 2, 3]
},
{
"f8": "f8-3",
"f9": [1, 2, 3]
}
],
"f10": {
"f11": [
[{"f12": [1]}],
[{"f12": [2]}],
[{"f12": 3}],
]
},
"f13": '{"a": 1}',
"f14": 0.01123,
"f15": 0.01,
"f16": 23.79
}
datapath.register_pipe("concat", concat)
assert datapath.value(data, "f1") == "a"
assert datapath.value(data, "f2") == 2
assert datapath.value(data, "f2|str") == "2"
assert datapath.value(data, "f3.f4") == "b"
assert datapath.value(data, "f3.f5") == 3
assert datapath.value(data, "f3.f5 | str ") == "3"
assert datapath.value(data, "f3.f6") == ["l1", "l2", "l3"]
assert datapath.value(data, "f3.f6") == ["l1", "l2", "l3"]
assert datapath.value(data, "f3.f6|jsondump") == '["l1", "l2", "l3"]'
assert datapath.value(data, "f7.f8") == ["f8-1", "f8-2", "f8-3"]
assert datapath.value(data, "f7.f9") == [[1, 2, 3], [1, 2, 3], [1, 2, 3]]
assert datapath.value(data, "f10.f11.f12") == [[[1]], [[2]], [3]]
assert datapath.value(data, "f13 | jsonload") == {"a": 1}
assert datapath.value(data, "f14 | %") == "1.123%"
assert datapath.value(data, "f14 | % 0") == "1%"
assert datapath.value(data, "f14 | % 1") == "1.1%"
assert datapath.value(data, "f14 | % 2") == "1.12%"
assert datapath.value(data, "f14 | % 3") == "1.123%"
assert datapath.value(data, "f14 | % 4") == "1.1230%"
assert datapath.value(data, "f14 | % 5") == "1.12300%"
assert datapath.value(data, "f15 | %") == "1%"
assert datapath.value(data, "f16 | int") == 23
assert datapath.value(data, "f16 | float") == 23.79
assert datapath.value(data, "f16 | str | concat a b c") == "23.79abc"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nice-datapath-0.0.1.tar.gz
(2.5 kB
view details)
Built Distribution
File details
Details for the file nice-datapath-0.0.1.tar.gz
.
File metadata
- Download URL: nice-datapath-0.0.1.tar.gz
- Upload date:
- Size: 2.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14c10cd42a5801b69b60279c67733f38beecada19d83de7d243bb1bdd9a26559 |
|
MD5 | 541a635f7cddb7b61de816dc9bb3c4f1 |
|
BLAKE2b-256 | f6c6def16d58fb6f72b27d7b9abfaf72695eff20b9754b1638704e68cb83ec75 |
File details
Details for the file nice_datapath-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: nice_datapath-0.0.1-py3-none-any.whl
- Upload date:
- Size: 2.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7424112cf68deff63ed86758f655c8b9410c6193743940d3b6bda108e07cdee0 |
|
MD5 | 0c8d95372e6cd216b543dc2b4a203dfd |
|
BLAKE2b-256 | 40906fa8c2575d9b45fa025d91a87adacecf6674f6ed31b301669f26763745b7 |