ValueObject is a dict-like object that exposes keys as attributes.
You can use it like a regular dictionary (in fact, it is a subclass
and does not override its __init__). You can use attribute or item
access to get or set values.
If you need to access a key that is not a valid Python identifier
(for example, it includes spaces), use regular dict access.
All regular object, dict and ValueObject methods will be
returned on attribute access. A key such as copy needs to be
accessed via item access syntax (e.g. valueobject['copy']).
Changelog
1.0.3: Minor build fixes, to make the setup.py file python3 safe. While the rest of the library was python3 safe all along, that file was not… 😬