10. Contributing

Contributions to the library are welcome! Here are some guidelines to follow.

10.1. Suggestions

Please make suggestions for additional components or enhancements to the codebase by opening an issue explaining your reasoning clearly.

10.2. Bugs

Please submit bug reports by opening an issue explaining the problem clearly using code examples.

10.3. Documentation

The documentation source lives in the docs folder. Contributions to the documentation are welcome but should be easy to read and understand.

10.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.

10.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.

10.6. Python 2/3

The library is 100% compatible with both Python 2 and 3. We intend to drop Python 2 support in 2020 when Python 2 reaches end-of-life.