Set Up Development Environment

You’ll need to set up a development environment if you want to develop a new feature or component for Home Assistant. Read on to learn how to set up.

$ git clone
$ cd home-assistant
$ git remote add upstream
$ script/setup
  • On Windows, you can use python develop instead of the setup script.

  • Run hass to invoke your local installation.


By default logging in home-assistant is tuned for operating in production (set to INFO by default, with some modules set to even less verbose logging levels).

You can use the logger component to adjust logging to DEBUG to see even more details about what is going on.

Developing on Windows

If you are using Windows as a development platform, make sure that you have the correct Microsoft Visual C++ build tools installed. Check the Windows Compilers section on the Python website for details. Validation using tox will fail if this is not done correctly.

Also, make sure to install or upgrade the setuptools Python package. It contains compatibility improvements and adds automatic use of compilers:

$ pip install --upgrade setuptools