// holiday: open public holiday data

Feiertage als offene Daten, mit Quelle zu jeder Regel

holiday sammelt gesetzliche Feiertage aus amtlichen Quellen und veröffentlicht sie als CSV, JSON, XML und iCalendar. Jede Regel nennt ihre Rechtsquelle. Der aktuelle Release deckt 19 Länder für die Jahre 2007 bis 2035 ab, jeweils mit klar beschriebenem Umfang.

  • codeMIT
  • dataCC BY 4.0
  • formatscsv · json · xml · ics
  • years2007–2035
$ cut -d';' -f1-7,12-13 dist/holidays.csv \
    | grep -E '^2026-(01-06|12-25);DE;(\*|DE-BY);'
2026-12-25;DE;*;CHRISTMAS_DAY;public;statutory;full;Christmas Day;Erster Weihnachtstag
2026-01-06;DE;DE-BY;EPIPHANY;public;statutory;full;Epiphany;Heilige Drei Könige

$ 

Warum holiday

Apps, die Arbeitszeiten oder Fristen berechnen, brauchen korrekte Feiertage je Land und Region, offline und ohne API-Aufruf pro Anfrage. Vorhandene Quellen sind oft unvollständig, kostenpflichtig, ohne klare Lizenz oder verlangen, dass du dein Werk unter derselben Lizenz weitergibst.

So funktioniert es

  • data/rules/<COUNTRY>/*.toml

    Regeln statt Datumslisten

    Feiertage stehen als Regeln im Repository: festes Datum, Abstand zu Ostern, n-ter Wochentag oder Wochentag vor einem Datum. Daraus entstehen die Daten für jedes Jahr.

  • source = "https://…"

    Jede Regel mit Rechtsquelle

    Zu jeder Regel gehören Region, Art, Rechtsstatus, ganzer oder halber Tag, Gültigkeitsjahre und die amtliche Quelle.

  • applicability=conditional

    Bedingte Feiertage erkennbar

    Feiertage, die nur unter einer Bedingung gelten, sind eigens markiert, mit einer lesbaren Bedingung. So fragt deine App nach, statt falsch zu rechnen.

  • tests/vectors/

    Geprüft gegen amtliche Listen

    Testvektoren halten erwartete Daten je Land und Jahr fest. Wo Behörden maschinenlesbare Listen anbieten, prüfen die Tests die Regeln dagegen.

Länder im aktuellen Release

  • ATÖsterreich
  • BEBelgien
  • CAKanada · 6 Regime
  • CZTschechien
  • DEDeutschland
  • EEEstland
  • FIFinnland
  • FRFrankreich
  • GBVereinigtes Königreich
  • HUUngarn
  • IEIrland
  • ITItalien
  • LILiechtenstein
  • LULuxemburg
  • NONorwegen · Festland
  • PLPolen
  • PTPortugal
  • SESchweden
  • USUSA · Bund

Kanada umfasst sechs Arbeitsrechtsregime, die USA die Bundesfeiertage für Bundesbeschäftigte. Den genauen Umfang je Land beschreibt das README.

Formate

  • dist/holidays.csv

    CSV

    Ein Eintrag pro Zeile, mit Rechtsstatus, Bedingung, Namen in Englisch und Landessprache und der Quelle.

  • dist/holidays.json

    JSON

    Dieselben Einträge als Array, direkt für deine Anwendung.

  • dist/holidays.xml

    XML

    Für XML-Werkzeuge stehen sie als <holiday>-Elemente bereit.

  • dist/ics/<JURISDICTION>.ics

    iCalendar

    Ganztägige Termine für Länder, Bundesländer und besondere lokale Kalender, zum Abonnieren im Kalender.

Quickstart

  1. Lade die Dateien aus dem aktuellen Release oder klon das Repository.
  2. Bau die Daten selbst mit Nix und Task, wenn du einen eigenen Jahresbereich brauchst.
  3. Frag gezielt nach einem Ort: Für Augsburg bekommst du bundesweite, bayerische und Augsburger Feiertage.
  4. Übernimm unbedingte Einträge direkt und lass bedingte prüfen, etwa per Ortsabfrage oder Häkchen.
$ nix develop
$ task build
$ python3 tools/holidays.py query deutschland/bayern/augsburg --from 2007 --to 2026

Lizenzen

  • Code unter MIT.Werkzeuge, Tests und Dokumentation darfst du frei nutzen, verändern und weitergeben.
  • Daten unter CC BY 4.0.Eigene Regeln und erzeugte Dateien nutzt du auch kommerziell, mit Namensnennung.
  • Keine fremden Datensätze.Die Regeln sind unabhängig aus amtlichen Quellen geschrieben. Fremde Feiertagsdatensätze werden weder übernommen noch weiterveröffentlicht.

FAQ

Kann ich mitmachen?

Ja. Jede neue oder geänderte Regel braucht eine amtliche Quelle, etwa ein Gesetz, eine Verordnung oder eine Behördenseite, mit Adresse und Abrufdatum. Mehr dazu im Repository.

Warum fehlen manche Länder?

Ein Land kommt erst in den Release, wenn amtliche Quellen, Nutzungsrechte und ausreichend historische Belege vorliegen. Für einige Länder fehlt davon noch etwas.

Ersetzt holiday eine Rechtsberatung?

Nein. holiday nennt zu jeder Regel die amtliche Quelle, damit du nachprüfen kannst, was gilt.

Mit den Machern bauen

Du brauchst Fristen, Arbeitszeiten oder Kalender in deiner Software, die wirklich stimmen? Sprich mit uns über dein Vorhaben.