skip to navigation
skip to content

python-ted 0.0.6

Python library for the University of Edinburgh's T@Ed Timetabling Service


Python library for the University of Edinburgh's [T@Ed Timetabling Service][ted].

**Disclaimer: This library has not been condoned by the University of Edinburgh.**

`python-ted` is built by students, and simply scrapes the existing timetable web service,
since no APIs or timetabling data have been released by the university.

## Installation

pip install python-ted

### Requires

- [`icalendar`][icalendar]
- [`lxml`](
- [`requests`](

## Usage

>>> import icalendar
>>> import ted

# Initialise client and download course-list
>>> timetable = ted.Client()

# Regex match against course list:
>>> import re
>>> timetable.match(re.compile('Data'))
[<course: infr08015="" (informatics="" 1="" -="" data="" and="" analysis)="">, <course: ...="">, ...]
>>> timetable.match(re.compile('INFR08015'))
[<course: infr08015="" (informatics="" 1="" -="" data="" and="" analysis)="">]

# Get a specific course by course-code
>>> timetable.course(code='INFR08015')
<course: infr08015="" (informatics="" 1="" -="" data="" and="" analysis)="">
>>> timetable.course(code='invalid course code')

Each `Course` object has 3 main attributes:

- `title`: human-readable course name.
- `code`: University of Edinburgh course code (seen on timetables or exam scripts).
- `identifier`: T@Ed-specific course identifier.

>>> course = timetable.course(code='INFR08015')

# Scrape T@Ed for list of weekly course events, and build an ical calendar
>>> events =
>>> cal = timetable.calendar(events)

# Render calendar to a bytestring
>>> cal.to_ical()


- Get API access for T@Ed.


This Source Code is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at

File Type Py Version Uploaded on Size
python-ted-0.0.6.tar.gz (md5) Source 2014-03-19 5KB
python_ted-0.0.6-py2.py3-none-any.whl (md5) Python Wheel py2.py3 2014-03-19 7KB
  • Downloads (All Versions):
  • 38 downloads in the last day
  • 174 downloads in the last week
  • 835 downloads in the last month