ics.tools – Kalender für deutsche Feiertage und Schulferien
Ein Open-Source-Projekt, das standardisierte ICS-Kalenderdateien für deutsche Feiertage und Schulferien bereitstellt.
📋 Projektbeschreibung
ics.tools automatisiert die Bereitstellung von Kalenderinformationen für alle deutschen Bundesländer. Das Projekt nutzt die Daten der Open Holiday API als Grundlage, validiert diese manuell und stellt sie als ICS-Dateien zur Verfügung.
Features
- Feiertage nach Bundesland (bundesweit + bundeslandspezifisch)
- Schulferien nach Bundesland
- Automatische Updates durch abonnierbare Kalender
🔄 Daten-Pipeline
- Fetch (
01_fetch_*.py) – Daten von Open Holidays API abrufen - Override – Manuelle Überprüfung und Anpassungen in
data/*/override/ - Merge (
02_merge_*.py) – Daten + Overrides zusammenführen - Generate (
03_generate_*.py) – ICS-Dateien erstellen
Extras
- Kalenderwochen Kalender mit ganztätigen
KWXXEinträgen jeden Montag
Lizenz
Dieses Projekt nutzt unterschiedliche Lizenzen für den Quellcode und die enthaltenen Daten:
- 💻 Quellcode: Der gesamte Programmcode steht unter der GNU Affero General Public License v3 (AGPL-3.0). Der vollständige Lizenztext befindet sich in der Datei
LICENSEim Hauptverzeichnis. - 📊 Daten: Die Daten im Ordner
/data(inklusive aller Anpassungen) basieren auf der Open Holiday API und stehen unter der Open Database License (ODbL). Details dazu findest du in derdata/README.md.
🏗️ Website-Generierung
Das Projekt nutzt Jekyll zur Umwandlung von Markdown in HTML:
python scripts/generate_page.py
jekyll build
Die Website wird automatisch über GitHub Actions deployed.
🚀 Verwendete Technologien
- Python 3.X – Skripte für die Daten-Pipeline
- Jekyll – Website-Generator (GitHub Pages)
- Open Holidays API – Datenquelle
- ICS/iCalendar (RFC 5545) – Kalenderformat
- GitHub Actions – CI/CD & Deployment
📊 Monitoring
Projekt-Status: status.ics.tools
🔗 Links
- 🌐 Website: ics.tools
- 📖 Repository: github.com/ics-tools/ics.tools
- 📋 Issues: GitHub Issues
🤝 Contribution
Fehler gefunden? Idee für eine Verbesserung?
Open Source & Community-Driven
Copyright (C) 2021-2026 Sebastian Espei