Amateurfunk-Anki
Download the German amateur-radio exam question catalog from the Bundesnetzagentur and turn it into Anki decks.
Quick start
make # fetch + build (default)
make fetch # download + extract the catalog only → data/
make anki # rebuild .apkg files from data/ → anki/
make test # run both test suites
make clean # remove data/ and anki/
Output: three .apkg files under anki/, one per Prüfungsteil
(Technische / Betriebliche / Vorschriften). Import them into Anki —
re-importing a newer build preserves your review history.
Exam question source
The catalog is published by the Bundesnetzagentur (BNetzA), the German federal regulator for telecommunications. Current edition: 3. Auflage, März 2024 (issued 2024-03-20, ~1750 questions across license classes N, E, A).
- Landing page: https://www.bundesnetzagentur.de/DE/Fachthemen/Telekommunikation/Frequenzen/SpezielleAnwendungen/Amateurfunk/start.html
- Machine-readable ZIP (what we download):
PruefungsfragenZIP.zip— contains the JSON question tree, thesvgs/figure folder, and aREADME.txtwith the official Quellenvermerk. - Human-readable PDF (not used by this pipeline):
Pruefungsfragen.pdf
BNetzA replaces the file in place across editions, so the URL is
stable; the fetcher detects updates via the HTTP Last-Modified
header.
See also
50ohm.de is an excellent companion learning resource for the same exam — community-maintained explanations, worked examples, and study material that complement the bare question catalog the decks built here are based on.
Requirements
Python 3.11+, standard library only. No third-party dependencies.
More
CLAUDE.md— project orientation, pipeline overview.DESIGN.md— source-discovery notes, JSON schema, per-stage design contracts.
License
The downloader and builder code is in this repo. The exam questions
themselves are published by the Bundesnetzagentur under
DL-DE→BY-2.0; attribution
is preserved in every generated artifact (README.txt inside
data/<edition>/, attribution field in the per-edition manifest).