Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

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


Release history Release notifications

This version
History Node

1.1.5

History Node

1.1.4

History Node

1.1.3

History Node

1.1.1

History Node

1.1.0

History Node

1.0.9

History Node

1.0.8

History Node

1.0.7

History Node

1.0.6

History Node

1.0.1

History Node

1.0.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
morejson-1.1.5-py2.py3-none-any.whl (8.5 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Jul 4, 2017
morejson-1.1.5.tar.gz (21.7 kB) Copy SHA256 hash SHA256 Source None Jul 4, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page