Modern Python Edition

HamClock for the modern shack

A kiosk-style web application for amateur radio operators. Real-time time display, WebSocket updates, and a path to maps, space weather, and DX—all in a clean Python stack.

What is HamClock Modern?

From the original HamClock

HamClock started as a kiosk app for space weather, propagation, and operating events. The Modern edition reimagines it with a web-first architecture and Python backend.

Built for flexibility

Run it as a desktop window (PyQt) or headless server. Use it on a dedicated Raspberry Pi, your daily machine, or a wall-mounted display in the shack.

Features

  • Web interface — Full UI in the browser; no native app required for remote access.
  • UTC and local time — Clear dual time display for contest and DX use.
  • WebSocket updates — Real-time updates without page reloads.
  • Map display — Planned.
  • Space weather — Planned.
  • DE/DX location management — Planned.

Technology

Python 3.8+, FastAPI, and WebSockets. Configuration in JSON. Optional PyQt5/PyQtWebEngine for desktop mode.

Python FastAPI WebSocket PyQt Uvicorn

Get Started

Clone or download the project from GitHub for the latest code and full setup instructions.

Get the code on GitHub
1

Install dependencies from the Modern directory:

pip install -r requirements.txt
2

Run in desktop mode (default):

python run.py
3

Or run server-only and open in your browser:

python run.py --server-only

Then open http://localhost:8080

Configuration is stored in hamclock_config.json in the installation directory.