simple class that merge dictionary and object API
Project description
simple python class that merges dictionary and object APIs
Those Namespace objects work in a similar way as javascript objects. intended to help deadling with deep json objects, and save you a lot of [‘’] in your code
usage
from dictns import Namespace
n = Namespace(dict(a=1, b=3, c=dict(d=4)))
assert(n['a'] == n.a)
assert(n['c']['d'] == n.c.d)
you can wrap dicts and lists inside Namespace
n = Namespace([dict(a=1, b=3, c=[dict(d=4)])])
assert(n[0]['a'] == n[0].a)
assert(n[0]['c'][0]['d'] == n[0].c[0].d)
you can also wrap dict subclasses like OrderedDict, but the resulting Namespace does not inherit original object characteristics (i.e. order in OrderedDict)
see unit tests for more usage examples
ChangeLog:
1.0: Initial version
1.1: Added Namespace comparaison tools
1.2: Namespace now support dict and list subclasses as input
- 1.3:
Fix for compatibility with getattr() built-in method. When an invalid key is requested, it now raises an AttributeError instead of a KeyError.
Allow initialization without arg: Namespace() is equivalent to Namespace({}).
1.4: Allow Namespace objects to be weak referenced
- 1.5:
Fix tests for 3.5 and pypy
Readme cleanups
Developing
Launch unit tests:
python test/test_namespace.py
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 dictns-1.5.tar.gz
.
File metadata
- Download URL: dictns-1.5.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87ca212898db93164fcaa2fcff968563ba8da599cc136c85a0d6aee8867d2ec5 |
|
MD5 | 4676ef3e35388529306920cebb59c090 |
|
BLAKE2b-256 | 902f2bb7f17294e33b5b3aad6f5a413894f70c020c44a539b50df23e87686ca6 |
Provenance
File details
Details for the file dictns-1.5-py2.py3-none-any.whl
.
File metadata
- Download URL: dictns-1.5-py2.py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0af65dc05cc99a714ad1e26bfd6bf2fd869c7b95fdbc34d6a4eca38f9cf82707 |
|
MD5 | c4288e05fa15715e366f021e72a12e69 |
|
BLAKE2b-256 | e8e70b105a1814d80244e5d9b5ee1d54ccf59cb3f2d3df6b27815158e3771744 |