Skip to content

swaroopch/edn_format

Folders and files

NameName
Last commit message
Last commit date

Latest commit

11f0843 · Jul 5, 2024
Jul 5, 2024
Oct 21, 2020
Jan 4, 2019
Dec 19, 2019
Nov 6, 2020
Nov 6, 2020
Dec 19, 2019
Nov 27, 2019
Jan 15, 2013
Jan 23, 2014
Nov 6, 2020
Dec 20, 2019
Oct 8, 2017
Nov 6, 2020
Oct 21, 2020

Repository files navigation

edn_format

Implements the EDN format in Python.

All features of EDN are implemented, including custom tagged elements.

Build Status PyPI version

Installation

pip install edn_format

Usage

>>> 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.

Contributors

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

FAQ

Why immutable list & dict?

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.