Repolode
pimutils

pimutils/khal

A standards-based command-line calendar program that reads and writes iCalendar data and syncs with CalDAV servers via vdirsyncer.

Open-source alternative to:Google Calendar

Stars
3,088
Forks
241
Open issues
270
Last commit
4 days ago

What is it?

khal is a terminal calendar application that works with standard iCalendar files stored in the vdir format. Because it reads and writes that format directly, it can be paired with vdirsyncer to keep calendars in sync with CalDAV servers and other compatible programs.

Beyond plain command-line use, khal offers a quick way to add new events from the shell, and ikhal provides an interactive interface for browsing and editing calendars and events. It runs on Python 3.10 and later and is aimed at Linux, macOS and other non-Windows systems.

The project lists some limitations, including that editing the timezones of existing events is not yet supported. Alternatives mentioned in its documentation include calendar-cli, which has a different scope and no offline storage, and gcalcli, which only works with Google Calendar.

Key features

  • 01Reads and writes iCalendar events in the vdir format.
  • 02Synchronizes with CalDAV servers when paired with vdirsyncer.
  • 03Adds events quickly from the command line.
  • 04ikhal provides an interactive terminal interface for browsing and editing events.
  • 05Requires Python 3.10 or later and runs on major non-Windows operating systems.

Use cases

  • Managing calendars entirely from a terminal or shell scripts.
  • Keeping a local copy of CalDAV calendars for offline viewing and editing.
  • Adding quick events without leaving the command line.

Quick start

  1. 1

    Install khal from PyPI-style git source with pip

    pip install git+https://github.com/pimutils/khal
  2. 2

    Or install via Homebrew on macOS

    brew install khal
  3. 3

    Read the documentation to configure khal

Things to know

  • No support for editing the timezones of events yet.
  • Does not run on Microsoft Windows.

In collections

Topics

FAQ

What is khal?
A standards-based command-line calendar program that reads and writes iCalendar data and syncs with CalDAV servers via vdirsyncer. khal is a terminal calendar application that works with standard iCalendar files stored in the vdir format. Because it reads and writes that format directly, it can be paired with vdirsyncer to keep calendars in sync with CalDAV servers and other compatible programs.
Is khal free to use? What license does it have?
khal is open source under the MIT license. Check the license terms before using it in commercial products.
Is khal still maintained?
Actively maintained. The last commit to khal was on Nov 2, 2026.
What can I use khal for?
Managing calendars entirely from a terminal or shell scripts. Keeping a local copy of CalDAV calendars for offline viewing and editing. Adding quick events without leaving the command line.
How do I install khal?
Install khal from PyPI-style git source with pip: pip install git+https://github.com/pimutils/khal Or install via Homebrew on macOS: brew install khal Read the documentation to configure khal
Where can I get khal?
The source code and installation instructions are on GitHub: https://github.com/pimutils/khal

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects