PyLTI: | Python implementation of LTI |
---|---|
Author: | MIT Office of Digital Learning |
Homepage: | http://odl.mit.edu |
License: | BSD |
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+
- 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.
Footnotes
[1] | The Learning Tools Interoperability (LTI) specification is an initiative of IMS. Their site http://developers.imsglobal.org/ 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. code.edx.org |