2026-11-06 14:42:59 -06:00
2026-11-05 16:08:43 -06:00
2026-11-05 17:41:26 -06:00
2026-11-06 14:41:08 -06:00
2026-11-05 13:06:52 -06:00

ParentCalendar

Scan a paper calendar (school, lunch menu, sports, activities), review the parsed events, and export an .ics file or a subscribed feed for Apple and Google Calendar.

Self-hosted only: runs directly with Python or as a Docker image, with SQLite as the backend. The page is read by a vision model on your own Ollama server (or, optionally, Claude).

Status: Phase 1 (MVP for one household) in progress.

Run it

Copy .env.example to .env and set at least PUBLIC_URL and OLLAMA_URL.

Plain Python (Python 3.11+, and Node only to build the front end):

cd frontend && npm ci && npm run build && cd ..
pip install -r requirements.txt
python main.py

Then open http://127.0.0.1:8000. Rebuild the front end after changing anything in frontend/.

Docker: copy compose.example.yml to compose.yml, then docker compose up -d --build.

Backups: python main.py backup <folder> copies the database (safely, while running) and the photos. Schedule it nightly.

Develop

  • cd frontend && npm run dev serves the front end with hot reload and proxies /api to python main.py.
  • Tests: python tests/test_phase1.py, python -m parentcalendar.ics, python -m parentcalendar.extraction --selftest.
  • Extraction quality (Phase 0): python phase0/extract.py, then python phase0/score.py private/runs/<run>. The golden set lives in private/, outside git.
S
Description
Simple calendar import for parents with busy lives
Readme MIT
646 KiB
0 Stars 1 Watchers 0 Forks
Languages
Python 45.2%
Svelte 43.4%
TypeScript 5.5%
CSS 4.9%
HTML 0.5%
Other 0.5%