.. _contributing:

============
Contributing
============

This module was designed for use in education; particularly for young children.
It is intended to provide a simple interface to everyday components.

If a proposed change added an advanced feature but made basic usage more
complex, it is unlikely to be added.

Suggestions
===========

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

Bugs
====

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

Documentation
=============

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

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 that close (or intend to close) an issue should use the
phrase "fix #123" where ``#123`` is the issue number.

Backwards compatibility
=======================

Since this library reached v1.0 we aim to maintain backwards-compatibility
thereafter. Changes which break backwards-compatibility will not be accepted.

Python
======

* Python 2/3 compatibility
* PEP8-compliance (with exceptions)

.. _docs: https://github.com/RPi-Distro/python-gpiozero/tree/master/docs
.. _issue: https://github.com/RPi-Distro/python-gpiozero/issues
