A Python library for getting data about NCSU's course offerings. Contains functionality for retrieving historical and current courses and their sections, including instructor, meeting information, seats, and more.
This library uses the same API that this website does.
Use ncsu_courses.courses.get_courses(subject, term)
to get all courses for a given subject during the given term. A course has data such as a curriculum and code, a description, title, etc.
A section of a course is a specific instance of the course being offered during a certain term. A section contains information such as instructor, meeting days and times, meeting location, seats, etc. Use ncsu_courses.courses.get_sections(subject, term)
to get all sections for all classes of the given subject during the given term.
Subjects represent broad areas of study. Each course's name begins with the letters of the subject that it belongs to (ex. CSC 111 is a Computer Science course because CSC represents the Computer Science subject). The ncsu_courses.subjects.get_all_subjects(term)
function returns a list of all subjects that exist during the current term.
A term is identified by a year and a session (Fall, Spring, Summer 1, or Summer 2). Use ncsu_courses.term.Term
to represent a specific term. Terms are passed to the API as integers representing a combination of year and session, and the Term
object handles this internally.
A catalog course is a course listed in the catalog, not associated with any specific term. Use ncsu_courses.catalog.get_catalog_courses(subject)
to get a generator over all catalog courses.