Minimal local-first Python web app scaffold for personal SRC (marine VHF radio) training, built with NiceGUI.
- Python 3.12+
- uv
Use Astral's install guide: https://docs.astral.sh/uv/getting-started/installation/.
Quick install examples:
-
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh -
Windows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
From the repo root:
uv run src-trainerThe app opens at http://127.0.0.1:8080.
From a clean checkout, install the locked environment and run the test suite:
uv sync
uv run pytestuvx --from git+https://github.com/OWNER/REPO src-trainerReplace OWNER/REPO with the real repository path.
src-trainer stores progress in a per-user writable SQLite file:
- Linux:
$XDG_DATA_HOME/src-trainer/src_trainer.db(or~/.local/share/src-trainer/src_trainer.db) - macOS:
~/Library/Application Support/src-trainer/src_trainer.db - Windows:
%LOCALAPPDATA%\src-trainer\src_trainer.db
When the app starts, it prints the exact database path being used.
Delete the local database file shown at startup, then run src-trainer again.
Example (Linux default path):
rm ~/.local/share/src-trainer/src_trainer.dbIf another app is already using 127.0.0.1:8080, src-trainer exits cleanly and prints a clear message.
Close the conflicting app, then run again.