2.6 KiB
| 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 build 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 setup 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