khal
Khal is a standards based CLI and terminal calendar program, able to synchronize with CalDAV servers through vdirsyncer.
Features
(or rather: limitations)
- khal can read and write events/icalendars to vdir, so vdirsyncer can be used to synchronize calendars with a variety of other programs, for example CalDAV servers.
- fast and easy way to add new events
- ikhal (interactive khal) lets you browse and edit calendars and events
- no support for editing the timezones of events yet
- works with python 3.8+
- khal should run on all major operating systems [1]
[1] | except for Microsoft Windows |
Feedback
Please do provide feedback if khal works for you or even more importantly if it doesn't. The preferred way to get in contact (especially if something isn't working) is via github or via IRC (#pimutils on Libera.Chat).
Documentation
For khal's documentation have a look at readthedocs.
Installation
khal is packaged for most operating systems and should be installable with your standard package manager.
For some exemplary OS you can find installation instructions below. Otherwise see the documentation for more information.
Debian/Ubuntu
apt install khal
Nix
nix-env -i khal
Arch
pacman -S khal
Brew
brew install khal
Fedora
dnf install khal
FreeBSD
pkg install py-khal
Install latest version
pip install git+https://github.com/pimutils/khal
Alternatives
Projects with similar aims you might want to check out are calendar-cli (no offline storage and a bit different scope) and gcalcli (only works with google's calendar).
Contributing
You want to contribute to khal? Awesome!
The most appreciated way of contributing is by supplying code or documentation, reporting bugs, creating packages for your favorite operating system, making khal better known by telling your friends about it, etc.
License
khal is released under the Expat/MIT License:
Copyright (c) 2013-2022 khal contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.