slgobinath / gcalendar

Read-only Google Calendar utility for Linux
GNU General Public License v3.0
47 stars 4 forks source link

gcalendar

PyPI version Donate

A command-line tool to read your Google Calendar events in JSON format.

Installation

Ubuntu, Linux Mint and other Ubuntu Derivatives

sudo add-apt-repository ppa:slgobinath/gcalendar
sudo apt update
sudo apt install gcalendar

Arch

yay -S gcalendar

OR

packer -S gcalendar

Other Distributions

Install these dependencies:

python3-pip python3-setuptools python3-dateutil python3-oauth2client python3-googleapi

Install gcalendar:

pip3 install gcalendar

Install from Source

sudo apt install python3-pip python3-setuptools python3-dateutil python3-oauth2client python3-googleapi git
git clone https://github.com/slgobinath/gcalendar.git
cd gcalendar
pip3 install -e .

Run from Source

sudo apt install python3-pip python3-setuptools python3-dateutil python3-oauth2client python3-googleapi git
git clone https://github.com/slgobinath/gcalendar.git
cd gcalendar
python3 -m gcalendar

Help

usage: gcalendar [-h] [--list-calendars | --list-accounts | --status | --reset] [--calendar [CALENDAR [CALENDAR ...]]] [--no-of-days NO_OF_DAYS] [--account ACCOUNT]
                 [--output {txt,json}] [--client-id CLIENT_ID] [--client-secret CLIENT_SECRET] [--version] [--debug]

Read your Google Calendar events from terminal.

optional arguments:
  -h, --help            show this help message and exit
  --list-calendars      list all calendars from the Google account
  --list-accounts       list the id of gcalendar accounts
  --status              print the status of the gcalendar account
  --reset               reset the account
  --calendar [CALENDAR [CALENDAR ...]]
                        calendars to list events from
  --no-of-days NO_OF_DAYS
                        number of days to include
  --account ACCOUNT     an alphanumeric name to uniquely identify the account
  --output {txt,json}   output format
  --client-id CLIENT_ID
                        the Google client id
  --client-secret CLIENT_SECRET
                        the Google client secret
  --version             show program's version number and exit
  --debug               run gcalendar in debug mode

Authorization

Run gcalendar from the terminal. It will open the Google Calendar OAuth screen in your default browser. Allow gcalendar to view your calendars as shown in this video: gcalendar Authorization.

After successful authorization, gcalendar should print calendar events on your terminal.

Usage

List Calendars

gcalendar --list-calendar

List Events

# list next 7 days events
gcalendar

# list next 30 days events
gcalendar --no-of-days 30

# list events from selected calendar
gcalendar --calendar "Holidays in Canada"

Separate Accounts

# the default account
gcalendar

# different account named foo
gcalendar --account foo

# different account named bar
gcalendar --account bar

Reset Accounts

# reset the default account
gcalendar --reset

# reset the account named foo
gcalendar --account foo --reset

# reset the account named bar
gcalendar --account bar --reset

Issues

Run gcalendar --debug and create an issue with the output.

Applications

Cinnamon Google Calendar desklet uses gcalendar to pull calendar events and show them on Cinnamon desktop.

License

GNU General Public License v3