Skip to main content

A simple API wrapper and web scraper for the UCSD Associated Students (AS) instructor grade archive.

Project description

UCSD Associated Students (AS) Instructor Grade Archive (IGA)

GitHub Pipenv locked Python version PyPI - Python Version GitHub tag (latest by date) GitHub GitHub Repo stars

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/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ucsdasiga-1.0.0a7.tar.gz (7.2 kB view hashes)

Uploaded Source

Built Distribution

ucsdasiga-1.0.0a7-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page