Skip to content

Wrote an EDN format reader and writer in Python

I was reading about the EDN format over the weekend. EDN (pronounced like in "eden garden") is a data format in the same league as JSON but is supposed to have some nifty features such as sets, keywords, date-time type, custom types, and also being a proper subset of Clojure.

Having a date-time type as well as custom types seems useful to me, so I was taking a look at the current Python implementations of the EDN format and I didn't find them satisfactory, for example, one of the listed ones had all custom parsing code which was difficult to read, one was not even a real implementation, just boilerplate code, etc.

So I thought why not create a better implementation and I did - it is up on GitHub at

It has been a long time since I did lex and yacc, so it was a fun weekend project :)