- Please sign one of the contributor license agreements below.
- Fork the repo, develop and test your code changes, add docs.
- Make sure that your commit messages clearly describe the changes.
- Send a pull request.
Here are some guidelines for hacking on
A few notes on making changes to
- If you've added a new feature or modified an existing feature, be sure to
add or update any applicable documentation in docstrings and in the
docs/). You can re-generate the reference documentation using
tox -e docgen.
- The change must work fully on the following CPython versions: 2.7, 3.4, and 3.5 across macOS, Linux, and Windows.
- The codebase must have 100% test statement coverage after each commit.
You can test coverage via
tox -e cover.
To test your changes, run unit tests with
$ tox -e py27 $ tox -e py34 $ tox -e py35
This library is PEP8 & Pylint compliant. Our Pylint config is defined at
pylintrc for package code and
pylintrc.tests for test code. Use
tox to check for non-compliant code:
$ tox -e lint
Documentation Coverage and Building HTML Documentation
If you fix a bug, and the bug requires an API or behavior modification, all documentation in this package which references that API or behavior must be changed to reflect the bug fix, ideally in the same commit that fixes the bug or adds the feature.
To build and review docs use
$ tox -e docs
The HTML version of the docs will be built in
This library follows Semantic Versioning.
It is currently in major version zero (
0.y.z), which means that anything
may change at any time and the public API should not be considered
Contributor License Agreements
Before we can accept your pull requests you'll need to sign a Contributor License Agreement (CLA):
- If you are an individual writing original source code and you own the intellectual property, then you'll need to sign an individual CLA.
- If you work for a company that wants to allow you to contribute your work, then you'll need to sign a corporate CLA.
You can sign these electronically (just scroll to the bottom). After that, we'll be able to accept your pull requests.