This repository is for handling Workday data ingestion and processing in the UBC Live team.
course
Official title of the course as shown in workday, with section.
"DSCI_V 100-003"instructor
Primary instructor responsible for teaching the section.
"Katherine Burak"section_type
Type of instructional delivery for the section.
"Lecture"
"Lab"
"Tutorial"
"Discussion"delivery_format
How the course is delivered.
"In-Person"
"Online"
"Hybrid"
"Remote"registered_students
Current number of enrolled students in the section.
120waitlisted_students
Number of students on the waitlist for the section.
15class_time
Start and end time of the scheduled class session in 24-hour format.
"15:30-17:00"
"08:30-10:00"days_of_week
Days on which the class meets, stored as a delimiter-separated list in order of the week.
"Mon|Wed|Fri"
"Tue|Thu"course,instructor,section_type,delivery_format,registered_students,waitlisted_students,class_time,days_of_week
"DSCI_V 100-003","Katherine Burak","Lecture","In-Person",162,0,"15:30-17:00","Tue|Thu"- Raw data will be in
data/raw/and cleaned data indata/raw/clean/. - Raw data is in the form of a raw html file, as it is sourced from a workday page.
- Note: The format of the data or CSV file may change as requirements evolve.
-
Clone the repository
git clone https://github.com/UBC-Live/Workday.git cd Workday -
Create virtual environment
python3 -m venv venv source venv/bin/activateTo deactivate:
deactivate
-
Set up environment variables
Copy .env.example contents into a new .env file, then put in API information. This file is local and should not be pushed, as specified in .gitignore
-
Install dependencies
pip install -r requirements.txt
The data is webscraped unconventionally with Selenium and some manual authentication.