A simple, modern, async-first Python framework for building Home Assistant automations.
Documentation: https://hassette.readthedocs.io
- 🌟 Modern developer experience with typed APIs, Pydantic models, and IDE-friendly design
- ⚡ Async-first architecture designed for modern Python from the ground up
- 🔍 Simple, transparent framework with minimal magic and clear extension points
- 🎯 Focused mission: does one thing well — run user-defined apps that interact with Home Assistant
We have detailed comparisons in the docs for the two most popular frameworks. Open an issue or PR if you'd like additional comparisons!
Check out the examples/
directory for more complete examples:
- Based on AppDaemon's examples:
- Cleaned up versions of my own apps:
docker-compose.yml
example: docker-compose.ymlhassette.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.
Hassette development is tracked in this project (still a slight work-in-progress) - open an issue or PR if you'd like to contribute or provide feedback!
- 📚 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!
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.