homeassistant-stubs
PEP 484 typing stubs for Home Assistant Core
Decision gist · record as of 2026-08-14
Yes, if you are developing Home Assistant custom components or AppDaemon apps and want static type checking. Install as a dev dependency only. Note that requires_python is >=3.14.2, which is newer than most current Python versions—verify your project's Python version supports this before installing.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.14.2, which may be newer than your current environment.
- Also requires homeassistant as a runtime dependency in your project.
- Low friction installation as a dev-only dependency.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) means you can use this freely in any project, commercial or otherwise, with minimal restrictions.
last release 2026-08-08 (6 days) · last repo commit 2026-08-08 · 16 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 120,867 downloads/mo, #12,006 on PyPI
Alternatives
Verify before relying
# Add to dev dependencies
uv add --dev homeassistant-stubs
# Then use mypy to type-check your custom component
mypy my_custom_component/- Whether stubs cover all components needed for your specific use case, or only strictly typed core modules and some components as documented
What it is and what it does
This is an unofficial stub-only package that extracts type information from Home Assistant Core sources to enable type checking. It works by running stubgen (from mypy) against strictly typed modules in Home Assistant, then publishing the generated stubs automatically every 12 hours. The package is designed as a development dependency to be added alongside your Home Assistant custom component or AppDaemon app project.
Home Assistant maintainers do not distribute typing information with the main homeassistant package because PEP 561 requires the entire package to support type checking, but many Home Assistant components lack type hints. This stub package solves that by providing type information for core modules and components that are strictly typed, allowing mypy and other type checkers to validate your code against Home Assistant's API.
Use it for
- Enable mypy type checking in a custom Home Assistant component before deployment
- Validate AppDaemon app code against Home Assistant API types during development
- Catch type errors in Home Assistant integrations during CI/CD before runtime
- Develop Home Assistant automations with IDE autocomplete and type hints
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are developing Home Assistant custom components or AppDaemon apps and want static type checking.
Install as a dev dependency only. Note that requires_python is >=3.14.2, which is newer than most current Python versions—verify your project's Python version supports this before installing.
Install
homeassistant-stubs on PyPI
Before you install
Low friction installation as a dev-only dependency. Package is actively maintained with releases every 12 hours, last commit 2026-08-08, and has been stable since first release in 2021-03-31.
Requires Python >=3.14.2, which may be newer than your current environment. Also requires homeassistant as a runtime dependency in your project.
License in practice
MIT license (permissive) means you can use this freely in any project, commercial or otherwise, with minimal restrictions.
Quickstart
# Add to dev dependencies
uv add --dev homeassistant-stubs
# Then use mypy to type-check your custom component
mypy my_custom_component/
Verify before relying
- Whether stubs cover all components needed for your specific use case, or only strictly typed core modules and some components as documented
Package facts
| License | MIT permissive |
| Python support | Capped below the current Python release >=3.14.2 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagehomeassistant |
| Maintenance | Actively maintained 6 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 120,867 / month, #12,006 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3.13Topic :: Home AutomationTopic :: Software DevelopmentTyping :: Typed |
Evidence: homeassistant_stubs-2026.8.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “home assistant type stubs”
- homeassistant-stubsProvides PEP 484 type stubs for Home Assistant Core, enabling static…
- infrared-protocolsDecodes and encodes infrared signals for use in Home Assistant…
- xknxXKNX is an asynchronous Python library for communicating with KNX…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also sqlalchemy2-stubs · adext · pika-stubs · django-filter-stubs · pytest-homeassistant-custom-component · pyhaversion · types-appdirs · types-pika · google-auth-stubs · pydub-stubs