Skip to main content

EDN format reader and writer in Python

Project description

# edn_format #

Implements the [EDN format](https://github.com/edn-format/edn) in Python.

[![Build Status](https://travis-ci.org/swaroopch/edn_format.svg?branch=master)](https://travis-ci.org/swaroopch/edn_format)
[![PyPI version](https://img.shields.io/pypi/v/edn_format.svg)](https://pypi.org/project/edn_format/)

## Installation ##

pip install edn_format

## Usage ##

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

## Caveats ##

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

However, I personally don't use this in production, even though many users do, esp. the active contributors below.

## Contributors ##

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

- [@bfontaine](https://github.com/bfontaine)
- [@marianoguerra](https://github.com/marianoguerra)
- [@bitemyapp](https://github.com/bitemyapp)
- [@jashugan](https://github.com/jashugan)
- [@exilef](https://github.com/exilef)

## Local Dev ##

```bash
# 1. One-time: Install Vagrant
#
# macOS
# Install Homebrew from https://brew.sh
# brew cask install virtualbox vagrant
#
# All OSes
# Install from https://www.vagrantup.com/downloads.html

# 2. One-time: Install Vagrant plugin
vagrant plugin install vagrant-vbguest

# 3. This is all you need
vagrant up

# 4. To access the dev environment via ssh
vagrant ssh
cd /vagrant
# To run tests
python tests.py
# To check Python warnings
python -Wall -c 'import edn_format'
# Code style
flake8 --max-line-length=100 --exclude=parsetab.py .
```

## Contributor Notes ##

To release a new version:

1. Bump up the version number in `setup.py`, e.g. `0.6.3`
2. Create a git tag: `git tag -a v0.6.3 -m 'Version 0.6.3'`
3. Push git tag: `git push origin master --tags`
4. Make sure you have a [~/.pypirc file](http://docs.python.org/2/distutils/packageindex.html#pypirc) with your PyPI credentials.
5. Run `python setup.py sdist upload`

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edn_format-0.6.3.tar.gz (15.7 kB view details)

Uploaded Source

File details

Details for the file edn_format-0.6.3.tar.gz.

File metadata

  • Download URL: edn_format-0.6.3.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for edn_format-0.6.3.tar.gz
Algorithm Hash digest
SHA256 aa3cc3041497b7e22386f96c44658e589597d9d26df39c4a77bbac0c8091ea88
MD5 e88f68052d2dfeed21905be57a94aa6d
BLAKE2b-256 511a932c2f3f2cb7af51330843058c5a72e63ae0d43f407365497adf5ff2a84e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page