Minervac
A command-line client for Minerva
September 2016
The Minerva client provides a command-line interface to Minerva, McGill's student information system. Tasks such as registering for courses, viewing one's course schedule or displaying one's unofficial transcript, can be performed with only one command. The output generated by the program is fully configurable, and schedules can be exported to a calendar file (ICS) or visual timetable (HTML). This project aims to provide an efficient alternative to the frustrating experience of using Minerva as a student.

Summary of Features
- Course registration
- Registration by course code or CRN
- Availability of places in a course can be determined by logging in or searching publically-available information (limited).
- Jobs —
minervac
will only register for the remaining courses on each run.
- Course schedule
- Configurable reports and date formats
- Conflict detection
- Export to ICS (vCalendar)
- Visual timetable generation (HTML format)
- Transcript
- Configurable reports
- Display of credit/GPA, program/status summary and grades.
Goals
The goals of this project are to create a simple and high-quality interface for the most-used features of Minerva. The user interface will be designed in accordance with UNIX priciples, thus, minervac
will be easily programmable. Additionally, minervac
will clearly explain how it is connecting to Minerva and provide a starting point for other projects that attempt to use the Minerva "API". This project is free and open-source.
Installation and Usage
- Check out the Git repository.
- This program is written in Python and requires the
beautifulsoup4
andrequests
modules. On most systems, they can be installed usingpip
:pip install beautifulsoup4 requests
. - Copy
credentials.py
tocredentials_local.py
and fill in your McGill ID number and Minerva PIN. - An updated reference to the usage of
minervac
is maintained in theREADME
file. - Edit
config.py
to change formats and settings.

WARNING
- You are solely responsible for deciding if
minervac
is compliant with McGill's policies, and if you want to assume this risk.- Start reading here: McGill Policy on the Responsible Use of IT Resources, but there are most definitely more policies that may be applicable to this program and its use.
minervac
might mess up your course schedule in a very bad sort of way.- Extending this program may lead to Serious Minerva-Induced Headaches.
- This program was partially written at OAP.