A high-performance Python library and local API server for monitoring and controlling IoT coffee machines.
Cremalink provides a unified interface to interact with smart coffee machines via Local LAN control or Cloud API. It allows for real-time state monitoring and precise command execution.
Tip
For detailed guides, advanced configuration, and developer deep-dives, please visit our Project Wiki.
Install the package via pip (Cremalink requires Python 3.13+):
pip install cremalink
To include tools for development or testing:
pip install "cremalink[dev]" # For notebooks and kernel support
pip install "cremalink[test]" # For running pytest suites
Cremalink includes a FastAPI-based server for headless environments:
# Start the server (default port 10800)
cremalink-server --ip 0.0.0.0 --port 10800More information: Local Server Setup
Connect to your machine directly via your local network for the lowest latency
More information: Local Device
Run the comprehensive test suite using pytest:
pytest tests/
Contributions are welcome! If you have a machine profile not yet supported, please check the Wiki: 5. Adding Custom Devices on how to add new .json device definitions.
Currently supported devices:
De'Longhi PrimaDonna Soul (AY008ESP1)
Distributed under the AGPL-3.0-or-later License. See LICENSE for more information.
Developed by Midian Tekle Elfu. Supported by the community.