Skip to main content


Project description

ICAL Status - Status bar for ICS Calenders



  • Require python 3.11+ and upgrade dependencies


pip install icalstatus


To run, one of:

  • icalstatus
  • icalwaybar


For the status you must specify you calendar URL either on the commandline or in the configuration file ~/.config/icalstatus/config:

E.g, for OWA:


All options can be specified in the same configuration file and the other available options are:

usage: ICAL Status [-h] [--calendar-url CALENDAR_URL] [--timezone TIMEZONE] [--no-verify] [--proxy PROXY] [--all] [--humanize-after HUMANIZE_AFTER]
                   [--alert-sec-before ALERT_SEC_BEFORE]

  -h, --help            show this help message and exit
  --calendar-url CALENDAR_URL
                        URI for ICS Calendar
  --timezone TIMEZONE   Timezone (default=CET)
  --no-verify           Ignore SSL verification errors
  --proxy PROXY         Proxy for ICS url
  --all                 Include events that are not today
  --humanize-after-sec HUMANIZE_AFTER
                        Humanize meeting date if less than this many seconds
                        until meeting
  --alert-sec-before ALERT_SEC_BEFORE
                        Alert meeting at specified seconds before start.
                        This will switch class for output on waybar.



By default, only todays events will be shown (and output will be empty if no more event the same day). Specify --all to show all events.


Meeting time will be show in "human format" if it less than this many seconds until the meeting. E.g. if the time is 11:30 and you have specified --humanize-after-sec 3600 the output will be

<Meeting> in 30 minutes

If you at 11:30 specified --humanize-after it will show

<Meeting> @12:00


This option is only relevant for icalwaybar. If is is less than this many seconds to the meeting, it will use class: alert, otherwize class: normal. Examples (when running the command at 11:50):

icalwaybar --alert-sec-before 900
{"text": "<Meeting> in 10 minutes", "class": "alert"}
icalwaybar --alert-sec-before 300
{"text": "<Meeting> in 10 minutes", "class": "normal"}


A tool to parse ics files and output summary to stdout is included:

  • icalparse


Original code/idea from Geir Skjøtskift (

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

icalstatus-0.0.8-py3-none-any.whl (6.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page