slovar - dict on steroids
Project description
Slovar
Slovar is named dicts on steroids (cheesy!) with extra functionalities (lots of them). Widely used in prf, jobs and datasets.
Some of more prominent features are:
-
flattening/unflattening
-
rich extracting
-
subsetting
-
typecasting/type converting
-
dot notation access
-
update/merge
Setting up & testing
mkvirtualenv slovar_test #or any other way of venv
pip install -r requirements.test
pytest
pytest benchmarks/
Examples:
In [1]: from slovar import slovar
In [2]: d = slovar({'a':1, 'b': 2, 'c.c1': '11'})
In [3]: d
Out[3]: {'a': 1, 'b': 2, 'c.c1': '11'}
In [4]: d.unflat()
Out[4]: {'a': 1, 'b': 2, 'c': {'c1': '11'}}
In [5]: d.unflat().extract('c.c1')
Out[5]: {'c': {'c1': '11'}}
In [9]: d.unflat().extract('c').c.asint('c1')
Out[9]: 11
In [10]: d
Out[10]: {'a': 1, 'b': 2, 'c.c1': '11'}
In [11]: dd = d.unflat()
In [12]: dd.c.c1
Out[12]: '11'
In [14]: dd.flat() == d
Out[14]: True
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
slovar-1.0.2.tar.gz
(19.8 kB
view details)
Built Distribution
slovar-1.0.2-py3-none-any.whl
(23.1 kB
view details)
File details
Details for the file slovar-1.0.2.tar.gz
.
File metadata
- Download URL: slovar-1.0.2.tar.gz
- Upload date:
- Size: 19.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e42bb91a7b31f6b17380400c7a18a7280891a16eeeab268e72a9976a1bf77ea |
|
MD5 | 73e489c9414cba2fa3af3b46c51cf56b |
|
BLAKE2b-256 | 9a0a22c33b320951976fcd5fa487a653233f6548cbac618bef73d1835481729c |
File details
Details for the file slovar-1.0.2-py3-none-any.whl
.
File metadata
- Download URL: slovar-1.0.2-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd86c713265a738f68cf1ba690b2184c53ad00ae601bd3145e1a8e7ab17cc18a |
|
MD5 | 897860817af11da63eb4fd892477fc58 |
|
BLAKE2b-256 | 9b13d51c6ac775a277b5987e14b3300f56d864c6b06847abcd1abaa1af4f66af |