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:
git checkout -b <features/my_feature>
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
tox
You can then push your feature branch to your remote and open a pull request.
Please do not report security issues using the public Issue tracker. Send a description of it to juga at riseup dot net. You are also encouraged to encrypt this email using GPG. The key can be found in the public servers.
This docummentation is partly copied from libcloud contributing