66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
# Amateurfunk-Anki
|
|
|
|
Download the German amateur-radio exam question catalog from the
|
|
Bundesnetzagentur and turn it into Anki decks.
|
|
|
|
## Quick start
|
|
|
|
```sh
|
|
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: five `.apkg` files under `anki/`. Betriebliche and
|
|
Vorschriften get one deck each (shared across all license classes);
|
|
Technische is split per class into three decks (N / E / A) following
|
|
the catalog's `class` field. A class-A candidate who wants every
|
|
Technische question imports all three Technische decks. 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`](https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Amateurfunk/Fragenkatalog/PruefungsfragenZIP.zip?__blob=publicationFile)
|
|
— contains the JSON question tree, the `svgs/` figure folder, and a
|
|
`README.txt` with the official Quellenvermerk.
|
|
- Human-readable PDF (not used by this pipeline):
|
|
[`Pruefungsfragen.pdf`](https://www.bundesnetzagentur.de/SharedDocs/Downloads/DE/Sachgebiete/Telekommunikation/Unternehmen_Institutionen/Frequenzen/Amateurfunk/Fragenkatalog/Pruefungsfragen.pdf?__blob=publicationFile)
|
|
|
|
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**](https://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](https://www.govdata.de/dl-de/by-2-0); attribution
|
|
is preserved in every generated artifact (`README.txt` inside
|
|
`data/<edition>/`, `attribution` field in the per-edition manifest).
|