Atlas has since implemented an "import to gcal" feature, so this script is unnecessary.
Export class schedules from atlas.ai.umich.edu as an .ics file
- Clone this GitHub repository locally
- You'll also need Python 3.10 or newer on your computer in order to run this program.
- Rename
secret.json.template
tosecret.json
- Update the values in
secret.json
as necessary.password
should set as your password to U-M Weblogin. - Create a virtual Python environment inside the root directory and install dependencies in the active virtual environment:
\\For Windows PowerShell:
python3 -m venv venv/
venv\Scripts\activate
python -m pip install -r requirements.txt
\\For Linux or MacOS:
python3 -m venv venv/
source venv/bin/activate
python -m pip install -r requirements.txt
- Run
main.py
in your terminal. Be sure to have your phone nearby so that you will be able to verify the Duo Push request.
python main.py
- An .ics file should have been created in the same directory as
main.py
- Import .ics file into your calendar
- The scraper won't work if Atlas or Atlas Schedule Builder is down.
- The scraper doesn't take into account breaks, holidays, or other edge cases. You'll have to remove classes for fall/spring break.
If you're interested, I also wrote a Medium Post about how I built this webscraper.