A modern, cross-platform desktop application to track your glucose levels in real-time using the LibreView API. Built with Python, CustomTkinter, and Matplotlib.
- Real-time Monitoring: Fetches glucose data every 3-5 minutes.
- Modern UI: Dark-themed dashboard with color-coded alerts.
- Historical Graph: 8-hour glucose trend visualization.
- Color-Coded Tray Icon: System tray icon that changes color based on glucose levels.
- Secure Storage: Local AES encryption for credentials (no Keychain prompts).
- macOS Optimized: Hidden Dock icon for the tray process and native notifications.
Follow these steps to set up the project locally:
- Python 3.10 or higher installed on your system.
git clone <repository-url>
cd libremacOS/Linux:
python3 -m venv venv
source venv/bin/activateWindows:
python -m venv venv
venv\Scripts\activatepip install -r requirements.txtpython main.pyIf you want to create a standalone application that doesn't require Python to be installed:
- Ensure you are on a Mac.
- Run the build script:
./build.sh
- Find your app in
dist/LibreViewMonitor.app.
- Ensure you are on a Windows machine.
- Run the batch script:
build_win.bat
- Find your executable in
dist/LibreViewMonitor/LibreViewMonitor.exe.
- Login: Use your LibreLinkUp credentials (the same ones you use in the mobile app for sharing data).
- Tray Icon:
- Green: Healthy range (70-180 mg/dL).
- Yellow: Elevated levels (>180 mg/dL).
- Red: Low glucose alert (<70 mg/dL).
- Closing the window: On macOS, clicking the red "X" will hide the window to the tray. Use "Show Monitor" from the tray icon to bring it back.
Your password is encrypted locally using the cryptography library. A unique key is generated on your first run and stored in ~/.libreview_monitor.key. The encrypted credentials are saved in ~/.libreview_monitor.json.
API logic inspired by libreview-monitor.

