Technology moves fast! ⚡ Don't get left behind.🚶 Subscribe to our mailing list to keep up with latest and greatest in open source projects! 🏆


Subscribe to our mailing list

khal

:calendar: CLI calendar application

Subscribe to updates I use khal


Statistics on khal

Number of watchers on Github 961
Number of open issues 105
Average time to close an issue 9 days
Main language Python
Average time to merge a PR 3 days
Open pull requests 29+
Closed pull requests 30+
Last commit over 1 year ago
Repo Created almost 6 years ago
Repo Last Updated over 1 year ago
Size 3.17 MB
Homepage https://lostpacke...
Organization / Authorpimutils
Latest Releasev0.9.8
Contributors24
Page Updated
Do you use khal? Leave a review!
View open issues (105)
View khal activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating khal for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

khal

.. image:: https://travis-ci.org/pimutils/khal.svg?branch=master :target: https://travis-ci.org/pimutils/khal

.. image:: https://codecov.io/github/pimutils/khal/coverage.svg?branch=master :target: https://codecov.io/github/pimutils/khal?branch=master

Khal is a standards based CLI and terminal calendar program, able to synchronize with CalDAV_ servers through vdirsyncer_.

.. image:: http://lostpackets.de/images/khal.png

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.4+
  • 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 IRC (#pimutils on Freenode), otherwise you can reach the original author via email at khal (at) lostpackets (dot) de or via jabber/XMPP at geier (at) jabber (dot) ccc (dot) de.

.. vdir: https://vdirsyncer.readthedocs.org/en/stable/vdir.html .. _vdirsyncer: https://github.com/pimutils/vdirsyncer .. _CalDAV: http://en.wikipedia.org/wiki/CalDAV .. _github: https://github.com/pimutils/khal/ .. _: http://en.wikipedia.org/wiki/Comparison_of_CalDAV_and_CardDAV_implementations

Documentation

For khal's documentation have a look at the website_ or readthedocs_.

.. _website: https://lostpackets.de/khal/ .. _readthedocs: http://khal.readthedocs.org/

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).

.. _calendar-cli: https://github.com/tobixen/calendar-cli .. _gcalcli: https://github.com/insanum/gcalcli

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. If you don't have the time or the means to contribute in any of the above mentioned ways, donations are appreciated, too.

.. image:: https://api.flattr.com/button/flattr-badge-large.png :alt: flattr button :target: http://flattr.com/thing/2475065/geierkhal-on-GitHub/

License

khal is released under the Expat/MIT License::

Copyright (c) 2013-2017 Christian Geier et al.

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.
khal open issues Ask a question     (View All Issues)
  • over 2 years allow 'this and future events' editing
  • over 2 years Cancellations of recurrent events are not handled
  • over 2 years import ICS from stdin
  • over 2 years v0.7.1 released
  • over 2 years Query user if timezones are not understood
  • over 2 years sort out depencencies between khal/utils.py and khal/khalendar/utils.py
  • almost 3 years Importing ICS on Fedora 24 Linux
  • almost 3 years RECURRENCE-ID but no "master" event
  • almost 3 years running freshly installed khal sucks
  • almost 3 years support for (binary) attachments
  • almost 3 years iOS contacts can't be parsed (for their birthdays)
  • almost 3 years DTSTART has invalid or incomprehensible timezone information
  • almost 3 years Khal as a ics pretty printer
  • almost 3 years iOS locations break parser
  • almost 3 years New Daycolumn Discussion
  • almost 3 years Usability improvements: key bindings
  • almost 3 years UnicodeEncodeError: 'ascii' codec can't encode character u'\xe4' .. u'\xf6'
  • about 3 years Add support for VTODO
  • about 3 years khal agenda KeyError in DTSTART after importing .ics
  • about 3 years iCal, DTSTART == DTEND
  • about 3 years Wish list (and a bug?)
  • about 3 years Unsupported Recursion
  • about 3 years Macro support
  • about 3 years ikhal interface text and highlight same color
  • about 3 years ikhal: clicking on empty space between dates makes highlighting disappear
  • over 3 years Show events ending on 00:00 as ending at 24:00 the day before
  • over 3 years Feature request: make at command more intelligent
  • over 3 years crash on all-day-event display with "right" timezones
  • over 3 years introduce new command to sync vdir with db
  • over 3 years Add a calendar color legend or prefixes for calendar entries
khal open pull requests (View All Pulls)
  • WIP: Allow configuring excluded calendars
  • Update config with days and hightlight options
  • Introduce --week option for calendar and agenda view.
  • Support for editing alarms
  • crude fix for:
  • ikhal: Do not crash when a extended ascii char is pressed with non ut…
  • Ignore dotfiles when for `discover`-type paths
  • Support ICS 'categories' field
  • New widget FocusLineBox
  • Creation of command "list"
  • Use format and list for at command
  • New container widgets changing style if in focus
  • Remove vdirsyncer dependency
  • [RFC] New layout of ikhal's event column
  • add command edit
  • day-format does not print empty string
  • Add cli option for eol character for khal_list
  • WIP: Use parsedatetime for `khal list`
  • add printics feature as mentioned in issue #469
  • vdir calendars: use color from config if it's not defined in the vdir
  • Import from stdid if no filename is provided
  • update_birthday: Augment sqlite3.IntegrityError with additional info
  • Integrate sync into config wizard
  • Remove outdated references to configspec
  • WIP: Use urwid to draw `khal calendar`
  • Use click_log for more flexible verbosity
  • Use the system locale's formats as a default
  • Fix/712
  • Add khald executable for complete overview
khal list of languages used
khal latest release notes
v0.9.8 v0.9.8

0.9.8

released 2017-10-05

  • FIX a bug in ikhal: when editing events and not editing the dates, the end time could erroneously be moved to the start time + 1h
v0.9.7 v0.9.7

0.9.7

released 2017-09-15

  • FIX don't crash when editing events with datetime UNTIL properties
  • FIX search will no longer break on overwritten events with a master event

  • CHANGE search will now print one line for every different event in a recurrence set, that is one line for the master event, and one line for every different overwritten event

v0.9.6

0.9.6

released 2017-06-13

  • FIX set PRODID to khal/icalendar
  • FIX don't crash on updated vcards
  • FIX checking for RRULEs we understand
  • FIX after editing an event in ikhal, make sure both the calendar and the eventcolumn are focused on the new date
  • FIX no more crashes if only one event which is an overwritten instance is present in an .ics file
  • FIX .ics files containing only overwritten instances are not expanded anymore, even if they contain a RRULE or RDATE
  • FIX valid UNTIL entry for recurring datetime events

  • CHANGE the symbol used for indicating a recurring event now has a space in front of it, also the ascii version changed to (R)

  • CHANGE birthdays on leap 29th of February are shown on 1st of March in non-leap years

  • NEW import and printics will read from stdin if not filename(s) are provided.

  • NEW new entry points recommended for packagers to use.

  • NEW support keyword yesterday for querying and creating events

More projects by pimutils View all
Other projects in Python