Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

PyLTI provides Python Implementation of IMS LTI interface that works with edX

Project description

PyLTI - LTI done right

PyLTI:Python implementation of LTI
Author:MIT Office of Digital Learning

PyLTI is a Python implementation of the LTI specification [1]. It supports LTI 1.1.1 and LTI 2.0. While it was written with edX [2] as its LTI consumer, it is a complete implementation of the LTI specification and can be used with any learning management system that supports LTI.

A feature of PyLTI is the way it is used in the creation of an LTI tool. PyLTI is written as a library that exposes an API. This separation of concerns enables a developer to focus on the business logic of their tool and support of their framework of choice.

To demonstrate this usage, there are also a collection of example LTI tools written to support different Python web frameworks.

Framework Example
Flask mit_lti_flask_sample A skeleton example for the Flask framework that consumes the PyLTI library


  • Python 2.7+ or Python 3.4+
  • oauth2 1.9.0+
  • httplib2 0.9+
  • six 1.10.0+

Development dependencies:

  • Flask 0.10.1
  • httpretty 0.8.3
  • oauthlib 0.6.3
  • pyflakes 1.2.3
  • pytest 2.9.2
  • pytest-cache 1.0
  • pytest-cov 2.3.0
  • pytest-flakes 1.0.1
  • pytest-pep8 1.0.6
  • sphinx 1.2.3

Documentation is available on readthedocs.


PyLTI is licensed under the BSD license, version January 9, 2008. See license.rst for the full text of the license.


[1]The Learning Tools Interoperability (LTI) specification is an initiative of IMS. Their site contains a description of LTI as well as the current LTI specification.
[2]EdX offers interactive online classes and MOOCs from the world’s best universities. Online courses from MITx, HarvardX, BerkeleyX, UTx and many other universities. EdX is a non-profit online initiative created by founding partners Harvard and MIT.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
PyLTI-0.7.0-py2.py3-none-any.whl (30.6 kB) Copy SHA256 hash SHA256 Wheel 3.6 Jul 26, 2018
PyLTI-0.7.0.tar.gz (25.9 kB) Copy SHA256 hash SHA256 Source None Jul 26, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page