Development Checklist
Before you commit any changes, check your work against these requirements:
- All communication to external devices or services must be wrapped in an external Python library hosted on pypi.
- Issue trackers must be enabled for external Python libraries that has communication with external devices or services.
- If the library is mainly used for Home Assistant and you are a code owner of the integration it is encouraged to use an issue template picker with links to Home Assistant Core Issues. For example: zwave-js-server-python - New Issue
- New dependencies are added to
requirements_all.txt
(if applicable), usingpython3 -m script.gen_requirements_all
- New codeowners are added to
CODEOWNERS
(if applicable), usingpython3 -m script.hassfest
- The
.coveragerc
file is updated to exclude your platform if there are no tests available or your new code uses a third-party library for communication with the device, service, or sensor.config_flow.py
can't be excluded as it must be fully tested (100% coverage). - The
.strict-typing
file is updated to include your code if it provides a fully type hinted source. - The code is formatted using Black, as per these guidelines. This can be done running the command
black --fast homeassistant tests
. - Documentation is developed for home-assistant.io
- Visit the website documentation for more information about contributing to home-assistant.io.