How to Contribute¶
- Fork the repo.
- Build development environment run tests to ensure a clean, working slate.
- Improve/fix the code.
- Add test cases if new functionality introduced or bug fixed (100% test coverage).
- Ensure tests pass.
- Add yourself to AUTHORS.rst.
- Push to your fork and submit a pull request to the develop branch.
Some simple guidelines to follow when contributing code:
- Adhere to PEP8.
- Clean, well documented code.
- All tests must pass.
- 100% test coverage.
There are two main development branches: master and develop. master represents the currently released version while develop is the latest development work. When submitting a pull request, be sure to submit to develop. The originating branch you submit from can be any name though.
Some useful CLI commands when working on the project are below. NOTE: All commands are run from the root of the project and require make.
Run the clean and install commands.
Install Python dependencies into virtualenv located at env/.
Remove build/test related temporary files like env/, .tox, .coverage, and __pycache__.
Run unittests under the virtualenv’s default Python version. Does not test all support Python versions. To test all supported versions, see make test-full.
Run unittest and linting for all supported Python versions. NOTE: This will fail if you do not have all Python versions installed on your system. If you are on an Ubuntu based system, the Dead Snakes PPA is a good resource for easily installing multiple Python versions. If for whatever reason you’re unable to have all Python versions on your development machine, note that Travis-CI will run full integration tests on all pull requests.
Run make pylint and make pep8 commands.
Run pylint compliance check on code base.
Build documentation to docs/_build/.