This release is a pre-release and may not be stable for production use.
UCSD Associated Students (AS) Instructor Grade Archive (IGA)
A simple API wrapper and web scraper for the UCSD Associated Students (AS) instructor grade archive.
Quickstart
Python Usage
Start by importing the GradeArchive class from the ucsdasiga package:
>>> from asiga import GradeArchive
GradeArchive class accepts 5 optional arguments:
| Parameter | Type | Description |
|---|---|---|
quarter |
str |
Filter results to the fall ("FA"), winter ("WI"), or spring ("SP"). |
year |
int |
Filter results to a specific year (r"^\d\d$"). |
instructor |
str |
Filter results to classes taught by a specific instructor (f"{last_name}, {first_name}"). [1] |
subject |
str |
Filter results to classes in a specific department (r"^[A-Z]{3,4}$") (e.g., "CSE", "MCWP"). [2] |
code |
str |
Filter results to a specific course number (r"^[0-9]{1,3}[A-Z]{0,2}$") (e.g., "11", "20"). |
- [1]: See the UCSD website for the faculty directory.
- [2]: See the UCSD website for a comprehensive list of active department subject codes.
The following Python call generates the grade archive of all CSE 11 classes (regardless of quarter and the instructor who taught the class) that occurred during the 2021 academic year:
>>> archive = GradeArchive(year=21, subject="CSE", code="11")
>>> archive.data()
Subject Course Year Quarter Title Instructor GPA A B C D F W P NP
0 CSE 11 21 WI Accel. Intro to Programming Cao, Yingjun 3.284 37.9 22.80 4.67 1.92 2.19 6.04 14.50 6.31
1 CSE 11 21 SP Accel. Intro to Programming Miranda, Gregory Joseph 3.485 51.3 9.33 4.28 0.38 4.28 7.39 12.40 10.10
2 CSE 11 21 FA Accel. Intro to Programming Politz, Joseph Gibbs 3.484 68.4 18.20 2.61 3.39 4.43 1.56 0.78 0.52
3 CSE 11 21 FA Accel. Intro to Programming Miranda, Gregory Joseph 3.331 64.5 15.60 3.64 6.25 5.72 2.08 0.52 1.56
Command Line Usage
$ python -m asiga -h
usage: asiga [-h] [-v] [-q QUARTER] [-y YEAR] [-i INSTRUCTOR] [-s SUBJECT] [-c CODE]
The following command generates the grade archive of all CSE 11 classes (regardless of quarter and the instructor who taught the class) that occurred during the 2021 academic year:
$ python -m asiga -y 21 -s CSE -c 11
Subject Course Year Quarter Title Instructor GPA A B C D F W P NP
0 CSE 11 21 WI Accel. Intro to Programming Cao, Yingjun 3.284 37.9 22.80 4.67 1.92 2.19 6.04 14.50 6.31
1 CSE 11 21 SP Accel. Intro to Programming Miranda, Gregory Joseph 3.485 51.3 9.33 4.28 0.38 4.28 7.39 12.40 10.10
2 CSE 11 21 FA Accel. Intro to Programming Politz, Joseph Gibbs 3.484 68.4 18.20 2.61 3.39 4.43 1.56 0.78 0.52
3 CSE 11 21 FA Accel. Intro to Programming Miranda, Gregory Joseph 3.331 64.5 15.60 3.64 6.25 5.72 2.08 0.52 1.56
Requirements
Requires Python 3.5+.
Dependencies:
See the project Pipfile for a full list of dependencies, including development dependencies.
Installation
Installing from PyPI
$ python -m pip install ucsdasiga
Installing from GitHub
First, clone the repository:
$ git clone git://github.com/JacobLee23/UCSD-AS-IGA.git
After obtaining a copy of the source code, it can be embedded in a Python package. Or, it can be installed into site-package:
$ cd ucsdasiga
$ python -m pip install .
Refer to the Python documentation for additional help installing Python modules.
Notices of Non-Affiliation and Disclaimer
This project is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by the University of California, San Diego. All product and company names are the registered trademarks of their original owners. The official University of California, San Diego website can be found at https://ucsd.edu/.
This project is not endorsed by, directly affiliated with, maintained, authorized, or sponsored by Associated Students, UC San Diego. All product and company names are the registered trademarks of their original owners. The official Associated Students, UC San Diego website can be found at https://as.ucsd.edu/.
Metadata
Release files for ucsdasiga 1.0.0a7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ucsdasiga-1.0.0a7.tar.gz | 7.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ucsdasiga-1.0.0a7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.5 kB
Release files / ucsdasiga-1.0.0a7.tar.gz
| Download URL | ucsdasiga-1.0.0a7.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d8d6c31e5ec2385191700ccce693fa36572ce076b92cb3f084c8583767d8e2c
|
|
BLAKE2b-256 checksum How to use checksums |
e53d886d7f0ff9d53aa0b30bc2a42382a492109da7059166c4cbb3362641960c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.0
|
Release files / ucsdasiga-1.0.0a7-py3-none-any.whl
| Download URL | ucsdasiga-1.0.0a7-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ac8fc35d54131df42053d3d487a23024cb2f8b86ce41a27b9c47b24b9a35aa0
|
|
BLAKE2b-256 checksum How to use checksums |
ef81a3b6070c99e5290f39f6b6782ab89afa956a20841c03baa24b6f8f98e975
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.0
|
Security for ucsdasiga 1.0.0a7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.