Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install mcgill-minerva

How to install mcgill-minerva

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install mcgill-minerva
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
Linux (64-bit)
0.1.1 Available View build log
 
Author
License
MIT
Imports
Lastest release
version 0.1.1 on Jan 9th, 2014

This is a little python library that makes it easier for McGill students to programmatically access information from Minerva. As of this writing, it only supports retrieving unofficial transcript information.

You need a McGill ID and PIN (or McGill email and password) to access Minerva. You can pass these in to the login() function, or set the MINERVA_USER and MINERVA_PASS environment variables (you still need to call login() if you do this).

`python >>> import minerva >>> isbadawi = minerva.login() `

This retrieves your unofficial transcript.

`python >>> transcript = isbadawi.transcript() >>> import pprint >>> pprint.pprint(transcript.get_courses()) [<Course: COMP 531 - Advanced Theory of Computation>, <Course: COMP 547 - Cryptography & Data Security>, ... snip ...] `

This transcript object can be queried to get courses satisfying certain properties. You can search by semester, course title, section, grade, average, or number of credits. For instance, this gets all Fall 2009 MATH courses in which I got an A:

```python >>> courses = transcript.get_courses(semester='Fall 2009',

System Message: WARNING/2 (<string>, line 34); backlink

Inline literal start-string without end-string.

System Message: WARNING/2 (<string>, line 34); backlink

Inline interpreted text or phrase reference start-string without end-string.

System Message: ERROR/3 (<string>, line 36)

Unexpected indentation.
subject='MATH', grade='A')

System Message: WARNING/2 (<string>, line 37)

Block quote ends without a blank line; unexpected unindent.
>>> pprint.pprint(courses)
[<Course: MATH 235 - Algebra 1>,
<Course: MATH 318 - Mathematical Logic>]
```

Some useful bits:

`python # What grade did I get in MATH317? >>> transcript.get_courses(subject='MATH317')[0].grade u'A' `

`python # Has the grade for COMP762 been posted yet? >>> transcript.get_courses(subject='COMP762')[0].grade is not None False `

Installation

To install minerva, simply:

`bash $ pip install mcgill-minerva `

Note that one of the requirements is lxml, whose installation is sometimes troublesome because it depends on libxml and libxslt. For more detailed instructions regarding this, refer to [the lxml website](http://lxml.de/installation.html).

Subscribe to package updates

Last updated Jan 9th, 2014

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.