# Hassette

[![PyPI version](https://badge.fury.io/py/hassette.svg)](https://badge.fury.io/py/hassette)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Documentation Status](https://readthedocs.org/projects/hassette/badge/?version=stable)](https://hassette.readthedocs.io/en/latest/?badge=stable)

A modern, async-first Python framework for building Home Assistant automations with type safety and great developer experience.

Documentation: https://hassette.readthedocs.io

Why Hassette?
-------------
- 🌟 Async-first core built on asyncio
- 🔧 Typed events, states, and API interactions
- 📝 Typed app configuration, typed events, typed states, typed API, typed everything
- 🚌 Powerful event bus with predicates, debounce, and throttle
- ⏰ Flexible scheduling (cron and intervals)
- ⚙️ Simple, TOML-based configuration with Pydantic validation

License
-------
[MIT](LICENSE)
