Skip to content

ICS Importer for Google Calendar πŸ“…βœ¨ Easily import ICS files into Google Calendar! Create new calendars, clean old events, and color-code event types 🎨.

License

Notifications You must be signed in to change notification settings

Anghkooey/Proakademia2GCal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Proakademia2GCal: Supercharge Your Proakademia Calendar πŸ“…βœ¨

License Badge Python Badge Last Commit Badge Latest Release Badge

Language switch hint
Polish β€€β€€ English β€€β€€ Ukrainian


πŸš€ Tired of slow apps and messy schedules? Meet Proakademia2GCal!

Created by a first-year student at UAFM πŸŽ“, this tool imports your Proakademia schedule straight into Google Calendar πŸ—“οΈ β€” fast, simple, and color-coded!

Why choose Google Calendar?

  • ⚑ Instant access from any device β€” open it right in your web browser or via the official mobile app on iOS and Android
  • 🌍 Cross-platform convenience β€” no need for extra apps or downloads to check your schedule
  • 🎨 Vibrant color-coding for events: lectures πŸ–€, labs πŸ’™, exams ❀️ β€” so your calendar is always clear and organized

Proakademia2GCal lets you:

  • 🧹 Clean and optimize your ICS file for a smooth, error-free import
  • πŸ—“οΈ Automatically create a dedicated "Study" calendar for your classes
  • 🧼 Keep your calendar clutter-free by removing old events automatically

Get started:

  • 🐍 Use the flexible Python script for maximum control
  • πŸš€ Or download ready-to-run apps for Windows πŸ’» and Linux 🐧

Simplify your study life β€” schedule smarter, not harder!

πŸš€ Quick Preview

See the magic happen! ✨ This animation shows how the script imports your ICS schedule into Google Calendar.

ICS to Google Calendar Import Preview

πŸ—“οΈ Calendar View

Before After
Before After

πŸ“ Event Description View

Before After
Before After

Color legend (event types):

  • ❀️ Tomato – Exam
  • πŸ’œ Grape – Online or Cancelled
  • πŸ–€ Graphite – Lecture
  • πŸ’š Basil – Class / Seminar
  • πŸ’™ Peacock – Laboratory
  • πŸ’› Banana – Other / Unknown

You can change colors by editing the COLORS dictionary and related conditions in the code.

πŸ’» Quick Install & Run

Want it fast and easy? Use the compiled executables from Releases!

  • Windows: Grab ics_edit_windows.exe and go!

ICS Edit Windows Usage

  • Linux: Grab ics_edit_linux and go!

Heads up! For those sweet color-coded events like in the preview, you'll need the Python script and ics_import (see Examples above). The executables handle the core import, but Python unlocks the color magic ✨.

πŸ—“οΈ ICS File Import Guide

This is a general guide on how to import an ICS file into Google Calendar.

Manual ICS Import

πŸ› οΈ Installation & First-Time Setup

Getting started is easy β€” just follow these steps to supercharge your schedule with a few commands! ⚑

1. πŸ’Ύ Clone the Repository

First, grab the project from GitHub:

git clone https://github.com/Anghkooey/Proakademia2GCal

2. πŸ“¦ Install Required Libraries

Before launching the script, make sure you have all dependencies:

pip install gcsa ics pytz oauthlib httplib2

3. πŸšͺ Enter the Source Directory

All the Python magic happens inside the src/ folder. Navigate there:

cd Proakademia2GCal/src

Your environment is now ready to sync your academic calendar like a pro! βœ…

πŸ”‘ Setup Google API Credentials

This step allows the script to connect to your Google Calendar securely via OAuth2.0 πŸ”

Follow These Steps:

  1. πŸŽ›οΈ Create a Google Cloud Platform (GCP) Project: πŸ‘‰ Step-by-step guide β˜‘οΈ Make sure to enable the Google Calendar API in your project.

  2. 🧾 Configure the OAuth Consent Screen: πŸ“˜ Follow this guide Let Google know who’s asking for access (you).

  3. πŸ”‘ Create OAuth 2.0 Client ID Credentials: πŸ› οΈ Use this official guide Then, download the generated credentials.json file.

  4. πŸ—‚οΈ Place Your Credentials Correctly: Move or copy the credentials.json to the following directory in your home folder:

    ~/.credentials/credentials.json

    πŸ’‘ If the .credentials/ directory doesn't exist β€” just create it!

πŸ“š Need a visual walkthrough? Google provides a great Python Quickstart that walks you through the steps.

πŸŽ‰ Usage

πŸ—“οΈ Example 1: Import to a Specific Calendar

from main import ics_import

calendar_id = "YOUR_CALENDAR_ID"  # Replace with your actual Calendar ID
ics_import(calendar_id)

(Assuming you have calendar_id defined in config.py)

🌐 Example 2: Create a New Calendar and Import

from main import ics_import

ics_import()

πŸ•°οΈ Example 3: Edit ICS File (Adjust Time Zone)

from main import ics_edit

ics_edit()

This function helps clean up and adjust event times.

βš™οΈ How It Works

  • Calendar Handling: Creates a new "Study" calendar or uses an existing one.
  • Time Zone Magic: Ensures events are in your calendar's time zone.
  • Cleanup Crew: Removes old events to keep your calendar tidy.
  • Color Coordination: Assigns colors based on event type.

🎨 Customization

  • ICS File Path: Modify ics_path to use a different ICS file.
  • Authentication: Set open_browser=False if you've already authenticated.

🀝 Contributing

Feel free to contribute! Fork the repository, create a branch, and submit a pull request. Let's make this script even better together! πŸ’ͺ

πŸ“œ License

Licensed under the GNU General Public License v3.

πŸ“š Documentation

For detailed information about the gcsa library, visit: gcsa Documentation


About

ICS Importer for Google Calendar πŸ“…βœ¨ Easily import ICS files into Google Calendar! Create new calendars, clean old events, and color-code event types 🎨.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages