EDN reader and writer implementation in Python, using PLY (lex, yacc)
Python Makefile
Latest commit 5441b82 Jul 9, 2015 @swaroopch Merge pull request #30 from hcarvalhoalves/rfc3339-microsecs
Add support to dump '#inst' with microseconds



Implements the EDN format in Python.


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]

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.


Almost all features of EDN have been implemented, including custom tagged elements.

But expect bugs since this has not yet been used in production.


Special thanks to the following contributors for making this library usable:

Contributor Notes

To release a new version:

  1. Bump up the version number in setup.py, e.g. 0.5.4
  2. Create a git tag: git tag -a v0.5.4 -m 'Version 0.5.4'
  3. Push git tag: git push origin master --tags
  4. Make sure you have a ~/.pypirc file with your PyPI credentials.
  5. Run python setup.py sdist upload