EDN format reader and writer in Python
Project description
edn_format
Implements the EDN format in Python.
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]
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:
Local Dev
# 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:
- Ensure you have setup GPG and
twine - Bump up the version number in
setup.py, e.g.0.6.3 - Create a git tag:
git tag -s v0.6.3 -m 'Version 0.6.3'(use signed tags) - Verify git tag:
git tag -v v0.6.3 - Push git tag:
git push origin master --tags - Clean your
dist/directory if it already exists - Package the release:
python setup.py sdist bdist_wheel - Check the package:
twine check dist/* - Upload the package:
twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file edn_format-0.6.4.tar.gz.
File metadata
- Download URL: edn_format-0.6.4.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c5c748c57034acbaecbb08e7f5d955fbcdcb0454c2c3b6cdd247cc5afeca1f6b
|
|
| MD5 |
d06690067a5d889809fb089768b3ab87
|
|
| BLAKE2b-256 |
3d5b44ee10f83d1644504d1fb8e2f60f9d66b2e9f823d27240165ee8973f1a86
|
File details
Details for the file edn_format-0.6.4-py2-none-any.whl.
File metadata
- Download URL: edn_format-0.6.4-py2-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
540c92e1c39133004341f6da92ba77710abdbb6228ad6b012d3258d0a1aa53b4
|
|
| MD5 |
88e6baafc902ec21c773424f7c1e4d79
|
|
| BLAKE2b-256 |
e66bdbd9dcee8fb4387095488c9e58c19c24c331baf7bc783584d1ec2f9eb623
|