5 releases (breaking)

0.5.0 Aug 16, 2022
0.4.0 Aug 14, 2022
0.3.0 Aug 9, 2022
0.2.0 Aug 9, 2022
0.1.0 Aug 9, 2022

#2282 in Command line utilities

43 downloads per month

Custom license

391 lines

NeoCal - Google Calendar Command Line Interface

NeoCal is an application that allows you to access your Google Calendar(s) from a command line. It uses Google Apps Script platform to build his own data source, making it less complicated to setup than using OAUTH config tokens.


You can either install it via cargo or download the binaries from GitHub releases.

If you go the cargo route, you need to have it installed (usually using rustup). In a terminal, run this command to install neocal:

cargo install neocal

Then you'll be able to run neocal from whichever directory you're in.

If you want other installation option, please go to the Wiki Page


Once you have it installed you need to follow 3 steps in order to complete the configuration:

  1. Get Calendar IDs
  2. Setup Google Apps Script
  3. Create Config File


NeoCal provides a series of subcommands with the following functionality:

agenda      Shows user calendar in Agenda-like view mode
calendar    Shows user calendar in Calendar-like view mode
help        Print this message or the help of the given subcommand(s)

And also comes with the following options:

-f, --for <FOR>              Name of the calendar to use
-h, --help                   Print help information
-s, --search <SEARCH>        Word to search in the calendar
-t, --timezone <TIMEZONE>    Name of the Time Zone to return the events
    --today                  Get calendar entries for today
    --tomorrow               Get calendar entries for tomorrow
-V, --version                Print version information
    --week                   Get calendar entries for the current week

Run with --help/-h for detailed usage.


List of things to add support in order of importance:


  1. Add Calendar view
  2. Allow number of weeks to view
    • Should work for "Agenda" and "Calendar" mode
  3. Agenda and Calendar should be able to filter or show events from Start to End


  1. Allow table style choices
  2. List User Calendar


  1. Create events from the CLI
  2. Edit events from the CLI
  3. Delete events from the CLI
  4. Event Popup Reminders
  5. Theme Support
  6. Colorized output


~374K SLoC