A simple, modern, async-first Python framework for building Home Assistant automations.
Documentation: https://hassette.readthedocs.io
- 🌟 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
Check out the examples/
directory for more complete examples:
- Based on AppDaemon's examples:
- Cleaned up versions of my own apps:
- Docker Compose Example: docker-compose.yml
- hassette.toml example: hassette.toml
Hassette is brand new and under active development. We follow semantic versioning and recommend pinning a minor version while the API stabilizes.
- 📚 Comprehensive documentation
- 🔐 Enhanced type safety: Service calls/responses, additional state types
- 🏗️ Entity classes: Include state data and service functionality (e.g.
LightEntity.turn_on()
) - 🔄 Enhanced error handling: Better retry logic and error recovery
- 🧪 Testing improvements:
- 📊 More tests for core and utilities
- 🛠️ Test fixtures and framework for user apps
- 🚫 No more manual state changes in HA Developer Tools for testing!
See the full roadmap for details - open an issue or PR if you'd like to contribute or provide feedback!
Hassette is in active development and contributions are welcome! Whether you're:
- 🐛 Reporting bugs
- 💡 Suggesting features
- 📝 Improving documentation
- 🔧 Contributing code
Early feedback and contributions help shape the project's direction.