Contributing to jsonpickle¶
We welcome contributions from everyone. Please fork jsonpickle on github.
Get the Code¶
git clone https://github.com/jsonpickle/jsonpickle.git
Run the Test Suite¶
All tests should pass before before code is merged into the main repository. 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 environment 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