Contributing to jsonpickle¶
We welcome contributions from everyone. Please fork jsonpickle on github.
Get the Code¶
git clone git://github.com/jsonpickle/jsonpickle.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:
tox
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