Contributing to jsonpickle

We welcome contributions from everyone. Please fork jsonpickle on github.

Get the Code

git clone git://

Run the Test Suite

Before code is pulled into the master jsonpickle branch, all tests should pass. If you are contributing an addition or a change in behavior, we ask that you document the change in the form of test cases.

The test suite is most readily run with the tox testing tool. Once installed, run the test suite against the default Python:


It is recommended that you install at least one Python2 and one Python3 interpreter for use by tox. To test against Python 2.7 and 3.7:

tox -e py27,py37

The jsonpickle test suite uses several JSON encoding libraries as well as several libraries for sample objects. To create an environment to test against these libs:

tox -e libs

To test against these libs on Python 3.7:

tox -e py37-libs

To create the enivornment without running tests:

tox -e libs --notest

Now you may experiment and interact with jsonpickle under development from the virtualenv at .tox/libs/{bin/Scripts}/python.

Generate Documentation

Generating the documentation is not necessary when contributing. To build the docs:

tox -e docs

Now docs are available in build/html.

If you wish to browse the documentation, use Python’s http.server to host them at http://localhost:8000:

python -m http.server -d build/html