Skip to main content
minerva
=======

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',
subject='MATH', grade='A')
>>> 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).

Release files for mcgill-minerva 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcgill-minerva 0.1.1
File Size Uploaded
mcgill-minerva-0.1.1.tar.gz 6.0 kB Details

Release files / mcgill-minerva-0.1.1.tar.gz

Download URL mcgill-minerva-0.1.1.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
836405ccd3d2d2ee8f6ab2c009192d753def0e6901fa5a45ba3d1d5709b815a0
BLAKE2b-256 checksum
How to use checksums
d54e777bc5ba21e4c66e94db16f8d5920fef56f994d2c074c40b509a6d1c0a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page