testsAndMisc/python_pkg/warsaw_districts
Copilot 6ed1f8d205 Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1)
* Initial plan

* Add Warsaw districts Anki generator with tests and documentation

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Apply pre-commit formatting fixes

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Address code review feedback: remove unused code and fix imports

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Address PR feedback: use genanki for self-contained .apkg, fix tests, update README

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

* Use real Warsaw district boundaries from OpenStreetMap instead of mock circles

Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: kuhyx <147418882+kuhyx@users.noreply.github.com>
2026-01-07 22:50:59 +01:00
..
tests Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1) 2026-01-07 22:50:59 +01:00
__init__.py Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1) 2026-01-07 22:50:59 +01:00
README.md Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1) 2026-01-07 22:50:59 +01:00
warsaw_districts_anki.py Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1) 2026-01-07 22:50:59 +01:00
warszawa-dzielnice.geojson Add Anki flashcard generator for Warsaw districts using real OpenStreetMap boundaries (#1) 2026-01-07 22:50:59 +01:00

Warsaw Districts Anki Generator

Generate Anki flashcards for learning the 18 districts (dzielnice) of Warsaw, Poland.

Features

  • Generates flashcards for all 18 Warsaw districts
  • Uses real district boundaries from OpenStreetMap data
  • Front of card: Map showing the full city with only the target district's border highlighted in bold
  • Back of card: District name in Polish
  • Self-contained .apkg file with embedded images
  • Compatible with AnkiWeb and AnkiDroid

Data Source

District boundaries are sourced from andilabs/warszawa-dzielnice-geojson, which provides accurate OpenStreetMap-based GeoJSON data for all Warsaw districts.

Installation

Install dependencies using your preferred method:

pyenv install 3.10  # or later
pyenv shell 3.10
pip install matplotlib genanki geopandas

Using pipx

pipx install --python python3.10 matplotlib genanki geopandas

Using system package manager (Arch Linux)

sudo pacman -S python-matplotlib python-geopandas
pip install genanki

Using pip directly

pip install matplotlib genanki geopandas

Usage

Generate flashcards

# From the repository root
python -m python_pkg.warsaw_districts.warsaw_districts_anki

This creates:

  • warsaw_districts.apkg - Self-contained Anki package with all images embedded

Custom options

# Custom output file
python -m python_pkg.warsaw_districts.warsaw_districts_anki --output my_cards.apkg

# Custom deck name
python -m python_pkg.warsaw_districts.warsaw_districts_anki --deck-name "Warszawa - Dzielnice"

Importing into Anki

  1. Open Anki
  2. File → Import
  3. Select the generated warsaw_districts.apkg file
  4. Click Import

That's it! All images are already embedded in the .apkg file.

Warsaw Districts

The generator includes all 18 official districts of Warsaw:

  1. Bemowo
  2. Białołęka
  3. Bielany
  4. Mokotów
  5. Ochota
  6. Praga-Południe
  7. Praga-Północ
  8. Rembertów
  9. Śródmieście
  10. Targówek
  11. Ursus
  12. Ursynów
  13. Wawer
  14. Wesoła
  15. Wilanów
  16. Włochy
  17. Wola
  18. Żoliborz

Development

Running tests

pytest python_pkg/warsaw_districts/tests/

Code quality

ruff check python_pkg/warsaw_districts/

License

Same as the parent repository.