2.6 KiB
layout, title, description, date, sidebar, comments, sharing, footer
layout | title | description | date | sidebar | comments | sharing | footer |
---|---|---|---|---|---|---|---|
page | Setup Development | Everything to get you started developing for Home Assistant. | 2014-12-21 13:32 | false | false | true | true |
Home Assistant is built from the ground up to be easily-extensible by other developers using components. It uses Python 3 for the backend and Polymer (Webcomponents) for the frontend.
Home Assistant is open-source and MIT licensed. The source can be found here:
- home-assistant - Python server-backend
- home-assistant-js - javascript-backend powering the client
- home-assistant-polymer - Polymer UI
{% linkable_title Starting development %}
You will need to set up a development environment if you want to start developing a new feature or component for Home Assistant. Please follow these steps to perform it. Visit the the Home Assistant repository first and click fork in the top right.
$ git clone https://github.com/YOUR_GIT_USERNAME/home-assistant.git
$ cd home-assistant
$ git remote add upstream https://github.com/balloob/home-assistant.git
$ script/setup
We suggest that you setup a virtual environment aka venv
before running the setup script.
After following these steps, running hass
will invoke your local installation.
{% linkable_title Submitting improvements %}
Improvements to Home Assistant should be submitted one feature at a time using Github pull requests.
- From your fork, create a new branch to hold your changes
git checkout -b some-feature
- Make the changes you want
- Test your changes and check for style violations
tox
- Commit the changes
git add .
git commit -m "Added some-feature"
- Push your commited changes back to your fork on GitHub
git push origin HEAD
- Follow these steps to create your pull request.
Note that the above requires tox
to be installed. If you don't have it, do this:
$ pip3 install tox