Timetable Generator API
An API exposing the functionality of Timetable Generator
Timetable Generator (desktop version, web version) is popular among U of T students, and over the years I've had many requests for new features, extensions, and support for other faculties/campuses or even other universities, as well as requests for a web version of Timetable Generator. While I plan to work on some of these things, I cannot possibly work on all of them, so I decided to make an API that exposes the functionality of Timetable Generator, and allows other people to build software based on this functionality.
In its current state, the API functionality is specific to the University of Toronto (more specifically, to the supported faculties within the University of Toronto, which are the Faculty of Arts and Science and the Faculty of Applied Science and engineering at the St. George campus), so the API is mainly useful for building other front-ends for the existing functionality.
However, most of the code is conceptually applicable to any faculty or university, and thus the API could be enhanced in the future to be more generic and support other faculties / universities as well. (Contributions in this area are welcome!)
As of November 2012, the Timetable Generator API is open source.
I have also released a related library called libtg-ui which contains utilities for writing UIs on top of the Timetable Generator API. The Timetable Generator API together with libtg-ui currently power the desktop and web versions of Timetable Generator.