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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file ucsdasiga-1.0.0a7.tar.gz.

File metadata

  • Download URL: ucsdasiga-1.0.0a7.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for ucsdasiga-1.0.0a7.tar.gz
Algorithm Hash digest
SHA256 7d8d6c31e5ec2385191700ccce693fa36572ce076b92cb3f084c8583767d8e2c
MD5 78ab6ec9f46a5666f6e9e3d60a8b6bec
BLAKE2b-256 e53d886d7f0ff9d53aa0b30bc2a42382a492109da7059166c4cbb3362641960c

See more details on using hashes here.

File details

Details for the file ucsdasiga-1.0.0a7-py3-none-any.whl.

File metadata

  • Download URL: ucsdasiga-1.0.0a7-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for ucsdasiga-1.0.0a7-py3-none-any.whl
Algorithm Hash digest
SHA256 5ac8fc35d54131df42053d3d487a23024cb2f8b86ce41a27b9c47b24b9a35aa0
MD5 16099ab89fdf0919d989499d9eeb7f00
BLAKE2b-256 ef81a3b6070c99e5290f39f6b6782ab89afa956a20841c03baa24b6f8f98e975

See more details on using hashes here.

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