Skip to content

hyesoon/gatech-enrollment-data

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Georgia Tech Enrollment Data Python Versions

This project is dedicated towards retrieving historical data on course enrollment at the Georgia Institute of Technology.

This program processes input based on the specified flags and generates an output CSV file with the corresponding enrollment data. It allows users to customize the number of terms, filter by a subject, and provide a file path for saving the output.

Installation

Step 0: Ensure you have python installed on your system. This project uses version 3.11. If you do not have python installed, you can install it here for your appropriate operating system. Make sure to select ADD TO PATH during the installation process.

Step 1: Within a terminal, clone this repository and navigate to its root directory

git clone https://github.com/adibiasio/gatech-enrollment-data
cd gatech-enrollment-data

Step 2: Make a virtual environment and activate it

python -m venv .venv
source .venv/bin/activate          # unix and macOS
.venv\Scripts\activate             # windows

Step 3: Install required dependencies.

pip install -r requirements.txt

Step 4: Run the program!

python3 src/app.py

Desktop Application

You can run the program via a python tkinter application, with UI inputs instead of command-line arguments. Effort was made to package this into a standalone desktop app, but complications with .exe files and anti-virus software led to the decision to leave the app as is.

python src/app.py
Centered Image

Script Usage

You can also run the program from the command line using the following syntax:

python src/script.py [-t <num_terms>] [-s <subject 1> ... <subject n>] [-l <lower_bound>] [-u <upper_bound>] [-p <filepath>] [-m] [-o]

Flags

Flag Description Default Value
-t <int> Specifies the number of terms to process. 4
-s <string> ... <string> Specifies the subjects of the output. None (all returned)
-l <int> Specifies course number lower bound (inclusive). 0
-u <int> Specifies course number upper bound (inclusive). inf
-p <string> Specifies the file path for saving the CSV. "" (current directory)
-m If included, skips all summer terms. summer terms included
-o If included, outputs all terms to one file. one file per term

Sample Run

(.venv) root@andrew:~# python3 src/script.py -t 6 -s CS -u 4800
2025-01-21 01:12:05,901 INFO worker.py:1821 -- Started a local Ray instance.
Processing Spring 2025 data...
100%| ███████████████████████████████████████████████████| 73/73 [01:03<00:00,  1.15it/s]
Processing Fall 2024 data...
100%| ███████████████████████████████████████████████████| 72/72 [01:09<00:00,  1.04it/s]
Processing Summer 2024 data...
100%| ███████████████████████████████████████████████████| 39/39 [00:27<00:00,  1.44it/s]
Processing Spring 2024 data...
100%| ███████████████████████████████████████████████████| 69/69 [00:45<00:00,  1.53it/s]
Processing Fall 2023 data...
100%| ███████████████████████████████████████████████████| 70/70 [00:29<00:00,  2.38it/s]
Processing Summer 2023 data...
100%| ███████████████████████████████████████████████████| 37/37 [00:19<00:00,  1.92it/s]
Enrollment data saved to CS_enrollment_data.csv!
(.venv) root@andrew:~#

About

Fetching Historical Georgia Tech Course Enrollment Data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 76.3%
  • Python 23.7%