Implements the EDN format in Python.
All features of EDN are implemented, including custom tagged elements.
pip install edn_format
>>> import edn_format
>>> edn_format.dumps({1, 2, 3})
'#{1 2 3}'
>>> edn_format.loads("[1 true nil]")
[1, True, None]
>>> edn_format.loads_all("1 2 3 4")
[1, 2, 3, 4]
In general, edn_format.loads(edn_format.dumps(obj)) == obj
. If this is
false, it may be a bug.
See tests.py
for full details.
Special thanks to the following contributors for making this library usable:
IIRC, it was related to https://github.com/edn-format/edn#rationale :
edn will yield distinct object identities when read, unless a reader implementation goes out of its way to make such a promise. Thus the resulting values should be considered immutable, and a reader implementation should yield values that ensure this, to the extent possible.