Skip to main content

Wraps Python json, supporting more Python built-in types.

Project description

PyPI-Status PyPI-Versions Build-Status Codecov LICENCE

morejson is a drop-in replacement for Python’s json that handles additional built-in Python types.

import morejson as json
import datetime

json.dumps({'now': datetime.datetime.now()})
json.dumps({'set': set([1,2]), 'complex': complex(32, -4)})

1 Installation

Install morejson with:

pip install morejson

2 Use

morejson implements the exact same API as Python’s built-in json module; the dump, dumps, load and loads methods wrap around their json counterparts without changing their interface, while any other function or attribute is left unchanged.

You can use any argument of these methods, including default, cls and object_hook; morejson will wrap around any kind of custom behaviour you provide, giving it priority over morejson’s encoding or decoding, and allowing you to use it with any custom JSON encoding/decoding code you have.

3 Supported Types

3.1 Built-in Types

  • set

  • frozenset

  • complex

3.2 datetime module types

  • date

  • time

  • datetime

  • timedelta

  • timezone

4 Contributing

Package author and current maintainer is Shay Palachy (shay.palachy@gmail.com); You are more than welcome to approach him for help. Contributions are very welcomed.

4.1 Installing for development

Clone:

git clone git@github.com:shaypal5/morejson.git

Install in development mode with test dependencies:

cd morejson
pip install -e ".[test]"

4.2 Running the tests

To run the tests, use:

nosetests --cover-erase --with-coverage --cover-package=morejson -d

4.3 Adding documentation

This project is documented using the numpy docstring conventions, which were chosen as they are perhaps the most widely-spread conventions that are both supported by common tools such as Sphinx and result in human-readable docstrings (in my personal opinion, of course). When documenting code you add to this project, please follow these conventions.

5 Credits

Created by Shay Palachy (shay.palachy@gmail.com).

Inspired by a great Github gist by abhinav-upadhyay: https://gist.github.com/abhinav-upadhyay/5300137

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

morejson-1.1.5.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

morejson-1.1.5-py2.py3-none-any.whl (8.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file morejson-1.1.5.tar.gz.

File metadata

  • Download URL: morejson-1.1.5.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for morejson-1.1.5.tar.gz
Algorithm Hash digest
SHA256 d7e05028a1faafd0af85cf285d4b4643abfcac971e1e8b3ef720853541bdc996
MD5 b3c37613a5918e146b184d845bbc2f0d
BLAKE2b-256 a2584997b1f615e7cfd0f045b0050c87aa33fc952b5fa3209b1822f4b70ab1e2

See more details on using hashes here.

File details

Details for the file morejson-1.1.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for morejson-1.1.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 482fbf70f8d75f8f8a7f772522a34ec006b4febb39ab990b57ed741328d9ed7a
MD5 c1fb05463df9efefa9f9b5e4c9b2fe08
BLAKE2b-256 5d7d97c20d6f72abd309368140db0ff5e7804a9c44de6160faa2cdbd55fba59a

See more details on using hashes here.

Supported by

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