← All projects
Applicationsactive

TimeTagger Scheduler

Turn recurring YAML schedules into future TimeTagger records, while preserving the changes you make by hand.

About

TimeTagger Scheduler turns recurring schedules into future TimeTagger records. It is a small Python application for keeping predictable routines on the calendar without entering every occurrence by hand.

Why I Built It

Recurring work should only need to be described once. The challenge is automating that repetition while leaving room for real life: edits, skipped occurrences, and changing plans.

How It Works

Schedules live in YAML. Daily, weekly, and monthly recurrence rules are expanded into timezone-aware occurrences, then materialized through the TimeTagger API. Deterministic UUIDv5 identifiers give each occurrence a stable identity, making repeated runs idempotent.

Safety Model

The scheduler preserves manual modifications and avoids recreating deleted or hidden occurrences. Dry-run mode previews intended changes, and connectivity and configuration checks help catch problems before a scheduled run. Review the repository documentation before connecting it to your own records.

Deployment

Run it locally, in Docker, or through Windows Scheduled Task. Choose the environment that fits your existing setup and run it regularly to keep future records populated.

Technology

Python, YAML, requests, PyYAML, and the TimeTagger API, with timezone-aware recurrence scheduling and deterministic event identities at the core.

Read the complete documentation on GitHub.