from dataclasses import dataclass, field from enum import StrEnum @dataclass class POI: id: str type: str poi_type: str lat: float lon: float tags: dict = field(default_factory=dict) # weil mutable defaults in Dataclasses eine bekannte Python-Falle sind # (alle Instanzen würden dasselbe Dict teilen...) # REMARK: # Wann eine eigene Dataclass für tags? # Nur wenn die tags strukturiert und vorhersehbar sind, was bei OSM-Daten nicht der Fall ist... class FetchMode(StrEnum): SERIAL = "seriell" CONCURRENT = "concurrent" LOCKED = "concurrent (locked)"