skillfed

homeassistant

Open-source home automation platform running on Python 3.

homeassistant v2026.8.2 2.1M downloads/30d#3,325 on PyPI89,923
Permissive license Apache-2.0 Active released

What it is and what it does

Home Assistant is a Python-based home automation platform designed to run on local hardware—typically a Raspberry Pi or dedicated server—rather than relying on cloud services. It acts as a central hub that discovers, integrates, and orchestrates smart home devices and automations from many manufacturers, giving users direct control over their home environment while keeping data local and private.

The platform uses a modular architecture where device support and actions are implemented as components, making it extensible for new integrations. It depends on a substantial stack of libraries for networking (aiohttp, httpx), cryptography (bcrypt, cryptography, pyOpenSSL), image processing (Pillow), scheduling (cronsim), and device communication (aiodns, home-assistant-bluetooth, aiogithubapi). Installation is straightforward via wheel, though it requires Python 3.14.2 or later.

Use it for:

  • Centralize control of lights, thermostats, locks, and other smart devices from a single local interface without cloud vendor lock-in.
  • Create time-based and condition-triggered automations (e.g., turn on lights at sunset, adjust temperature based on occupancy).
  • Monitor and log sensor data (temperature, humidity, motion) from distributed IoT devices for home analytics.
  • Integrate devices from multiple manufacturers into a unified system using Home Assistant's modular component framework.
  • Run a privacy-respecting home automation system on a Raspberry Pi or local server with no external service dependencies.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Home Assistant is an open-source home automation platform that centralizes control of smart home devices and automations on a local server or Raspberry Pi, prioritizing local control and privacy over cloud dependency.

Yes. Home Assistant is actively maintained, permissively licensed, has low install friction, and serves a clear need for privacy-conscious home automation. The 50 runtime dependencies and Python 3.14.2+ requirement are substantial but documented. No known security vulnerabilities. Suitable for anyone building or managing a local smart home without cloud reliance.

Install

homeassistant on PyPI

pip

pip install homeassistant

uv

uv add homeassistant

poetry

poetry add homeassistant

Installing homeassistant

Before you install

Low install friction with a wheel distribution. Active maintenance with a recent release (0 days since last release) and substantial community engagement (89923 repository stars). Requires Python 3.14.2 or later, which is a modern version requirement.

License in practice

Licensed under Apache-2.0 (permissive), allowing broad use, modification, and distribution with minimal restrictions—suitable for both personal and commercial home automation deployments.

Quickstart

pip install homeassistant

from homeassistant.core import HomeAssistant

hass = HomeAssistant()
await hass.async_block_till_done()

Requires Python 3.14.2 or later; intended for local server or Raspberry Pi deployment, not as a library in other applications.

Verify before relying

  • Whether the 50 runtime dependencies (including aiohttp, cryptography, Pillow, etc.) are all required for a minimal installation or if many are optional integrations.
  • Performance characteristics and resource requirements on lower-end hardware like older Raspberry Pi models.
  • Upgrade path and backward compatibility guarantees between major version releases.

Package facts

License Apache-2.0 (permissive)
Python support capped below the current Python release (>=3.14.2)
Install friction low — pure-Python wheel
Runtime dependencies 50 — aiodns, aiogithubapi, aiohttp, aiohttp_cors, aiohttp-fast-zlib, aiohttp-asyncmdnsresolver, aiozoneinfo, annotatedyaml, astral, async-interrupt, attrs, atomicwrites-homeassistant, audioop-lts, awesomeversion, bcrypt, certifi, ciso8601, cronsim, fnv-hash-fast, hass-nabucasa, httpx, home-assistant-bluetooth, ifaddr, Jinja2, lru-dict, PyJWT, cryptography, Pillow, propcache, pyOpenSSL
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 2,067,737/month — #3,325 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: homeassistant-2026.8.2-py3-none-any.whl

Keywords: home, automation

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: End Users/DesktopOperating System :: OS IndependentProgramming Language :: Python :: 3.14Topic :: Home Automation

Tags

home automation platformlocal smart home controlprivacy-first home automationraspberry pi home serverdevice integration hubhome automation frameworklocal iot orchestration
home-automationiot-orchestrationprivacy-first

More Home Automation packages

netaddr

Represents and manipulates IPv4, IPv6, MAC…

permissive · top 5,000 on PyPI

python-statemachine

Defines finite state machines and statecharts…

permissive · top 5,000 on PyPI

btsocket

A Python library for controlling BlueZ…

permissive · top 15,000 on PyPI

aiohomematic

An async Python library for controlling and…

permissive · top 15,000 on PyPI

hass-web-proxy-lib

Provides base classes and utilities for Home…

permissive · top 15,000 on PyPI

openccu-data

Extracts and distributes Homematic CCU…

permissive · top 15,000 on PyPI

google-nest-sdm

A Python library for interacting with Google…

permissive · top 15,000 on PyPI

home-assistant-frontend

Provides the web-based user interface for Home…

permissive · top 15,000 on PyPI

plugwise

Provides Python interface to networked Plugwise…

permissive · top 15,000 on PyPI

jaraco.abode

A Python library that interfaces with the Abode…

permissive · top 15,000 on PyPI

aiohomekit

An asyncio-based HomeKit client library for…

permissive · top 15,000 on PyPI

insteon-frontend-home-assistant

Provides the frontend UI panel for the Insteon…

permissive · top 15,000 on PyPI

hass-nabucasa

hass-nabucasa is a Python library that provides…

copyleft · top 15,000 on PyPI

aiohasupervisor

Asynchronous Python client library for…

permissive · top 15,000 on PyPI

python-matter-server

Provides a WebSocket-based Matter controller…

permissive · top 15,000 on PyPI

pypck

pypck is an asynchronous Python library for…

permissive · top 15,000 on PyPI