Khal is a standards-based CLI and terminal calendar program that synchronizes with CalDAV servers through vdirsyncer.
Khal solves the problem of managing calendars from the command line while maintaining synchronization with remote calendar services. It reads and writes events in iCalendar format to vdir directories, enabling vdirsyncer to synchronize calendars with CalDAV servers and other calendar applications. The tool provides both a fast command-line interface for adding events and an interactive mode called ikhal for browsing and editing calendars and events.
Khal suits developers and terminal-focused users who prefer command-line workflows and need CalDAV synchronization without a graphical interface. It works on major operating systems except Windows and requires Python 3.10 or later. The project integrates with vdirsyncer, which handles the actual synchronization with remote servers, making khal part of a broader ecosystem for calendar management rather than a standalone solution.
The project maintains active continuous integration testing and documentation hosted on readthedocs. Development activity shows engagement with user feedback through GitHub and IRC channels, with the maintainers explicitly requesting reports on both successful usage and issues encountered.