We welcome contributions of any kind (ideas, code, tests, documentation, examples, ...).
- Any non-trivial change should contain tests.
- All the functions and methods should contain Sphinx docstrings which are used to generate the API documentation.
- We follow PEP8 Python Style Guide
- Use 4 spaces for a tab
- Use 79 characters in a line
- Make sure edited file doesn't contain any trailing whitespace
- You can verify that your modifications don't break any rules by
running the
flake8
script - e.g.flake8 dhcpcanon/edited_file.py
ortox -e style
. Second command will run flake8 on all the files in the repository.
And most importantly, follow the existing style in the file you are editing and be consistent.
For documenting the API we we use Sphinx and reStructuredText syntax.
Go to our issue tracker and open a new issue for your changes there.
Fork our Github git repository. Your fork will be used to hold your changes.
For example:
Commit often and rebase master
Make sure that all the code you have added or modified has appropriate
test coverage. Also make sure all the tests including the existing ones
still pass using tox
You can then push your feature branch to your remote and open a pull request.
note
Partly copied from libcloud contributing