11. Contributing¶
Contributions to the library are welcome! Here are some guidelines to follow.
11.1. Suggestions¶
Please make suggestions for additional components or enhancements to the codebase by opening an issue explaining your reasoning clearly.
11.2. Bugs¶
Please submit bug reports by opening an issue explaining the problem clearly using code examples.
11.3. Documentation¶
The documentation source lives in the docs folder. Contributions to the documentation are welcome but should be easy to read and understand.
11.4. Commit messages and pull requests¶
Commit messages should be concise but descriptive, and in the form of a patch description, i.e. instructional not past tense (“Add LED example” not “Added LED example”).
Commits which close (or intend to close) an issue should include the phrase
“fix #123” or “close #123” where #123
is the issue number, as well as
include a short description, for example: “Add LED example, close #123”, and
pull requests should aim to match or closely match the corresponding issue
title.
Copyrights on submissions are owned by their authors (we don’t bother with
copyright assignments), and we assume that authors are happy for their code to
be released under the project’s license. Do feel free to add
your name to the list of contributors in README.rst
at the top level of
the project in your pull request! Don’t worry about adding your name to the
copyright headers in whatever files you touch; these are updated automatically
from the git metadata before each release.
11.5. Backwards compatibility¶
Since this library reached v1.0 we aim to maintain backwards-compatibility thereafter. Changes which break backwards-compatibility will not be accepted.
11.6. Python 2/3¶
The library is 100% compatible with both Python 2.7 and Python 3 from version 3.2 onwards. Since Python 2 is now past its end-of-life, the 1.6.2 release (2021-03-18) is the last to support Python 2.