googleCal.cli is a command-line interface tool built with Python3, Pytest, Typer, Google client library, and the Google Calendar API. It's designed to automate procedures and manage Google Calendar events.
- Create, read, update, and delete Google Calendar events π
- List upcoming events ποΈ
- Support for recurring events β
- Display events in a table format π
- Start a timer for a quick event β±οΈ
Python 3.6+
Clone the repository and install the dependencies:
git clone https://github.com/aandrewchen/googleCal.cli.git
cd googleCal.cli
pip install -r requirements.txtCreate a Google Cloud project! Go to "Credentials" > "Create Credentials" > "OAuth client ID" (please select "Desktop app")
Download the credentials.json file and place it in the same directory as googleCal.cli!
Head over to your Google Calendar and find the calendar you want to manage!
Click on the three buttons on the side and go to "Settings and Sharing" > "Integrate calendar" > "Calendar ID" (it should end in @group.calendar.google.com).
Create a .env file with CALENDAR_ID="Calendar ID"
When you use googleCal.cli for the first time, the CLI will ask you to allow the application to access your Google Calendar. After that, you can start automating and managing your Google Calendar π !
You can use the --help flag with any command to get information about how to use it.
python cli.py get 3 --table ypython cli.py createHere is how to create that same event with arguments:
python cli.py create --summary "Dentist Appointment" --isrecurring n --date 2024-01-17 --start 11:00 --end 12:00 --color Peacock --confirm yOptionally include count to get the specified number of upcoming events
python cli.py list-id <count>Replace required id with the ID of the event you want to delete
python cli.py delete <id>python cli.py startpython cli.py stopYou can run the tests with Pytest:
pytestTo see test converage, run:
coverage run -m pytestContributions are welcome! Please create a new issue if you find a bug or have a feature request. If you want to contribute code, please fork the repository and create a pull request.
Made by Andrew Chen




