Tired of missing GitHub PR reviews? I built github-monitor -- a lightweight Linux daemon that watches for PRs assigned to you and sends desktop notifications the moment they land.

Features:
- Desktop notifications with author avatars via notify-send
- System tray indicator with live PR count and clickable PR list
- Runs quietly as a systemd user service -- set it and forget it
- Config reload on SIGHUP, graceful shutdown on SIGTERM

Under the hood:
- Pure async Python (asyncio) -- no threads, no blocking I/O
- aiohttp for GitHub API, dbus-next for session bus IPC
- Daemon exposes live state over D-Bus, indicator connects as a separate process
- Frozen dataclasses, strict mypy, full test coverage

Built with Python 3.13+, packaged with hatchling, managed with uv.

It's open source and I'd love feedback -- whether it's bug reports, feature ideas, or contributions!

https://github.com/dvoraj75/github-monitor

#Python #Linux #OpenSource #GitHub #AsyncPython #DBus #Systemd

GitHub - dvoraj75/github-monitor: Async daemon with system tray indicator and CLI tools for monitoring GitHub pull requests with desktop notifications and systemd integration (Linux)

Async daemon with system tray indicator and CLI tools for monitoring GitHub pull requests with desktop notifications and systemd integration (Linux) - dvoraj75/github-monitor

GitHub

there should be `asyncio.Loop.await_` function in #python, that would await an awaitable without requiring to use `await` keyword

#pythonAsync #asyncPython #programming

Async Python is not faster

Async Python is slower than "sync" Python under a realistic benchmark. A bigger worry is that async frameworks go a bit wobbly under load.