{ "info": { "author": "MIT ODL Engineering", "author_email": "odl-engineering@mit.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Intended Audience :: Education" ], "description": "PyLTI - LTI done right\n=========================\n:PyLTI: Python implementation of LTI\n:Author: MIT Office of Digital Learning\n:Homepage: http://odl.mit.edu\n:License: BSD\n\n.. image:: https://secure.travis-ci.org/mitodl/pylti.png?branch=develop\n :target: https://secure.travis-ci.org/mitodl/pylti\n.. image:: https://coveralls.io/repos/mitodl/pylti/badge.png?branch=develop\n :target: https://coveralls.io/r/mitodl/pylti?branch=develop\n\n.. _Documentation: http://pylti.readthedocs.org/en/latest/\n\nPyLTI is a Python implementation of the LTI specification [#f1]_. It supports\nLTI 1.1.1 and LTI 2.0. While it was written with edX [#f2]_ as its LTI consumer, it\nis a complete implementation of the LTI specification and can be used with any\nlearning management system that supports LTI.\n\nA feature of PyLTI is the way it is used in the creation of an LTI tool. PyLTI\nis written as a library that exposes an API. This separation of concerns\nenables a developer to focus on the business logic of their tool and support of\ntheir framework of choice.\n\nTo demonstrate this usage, there are also a collection of example LTI tools\nwritten to support different Python web frameworks.\n\n========= ============\nFramework Example\n========= ============\nFlask `mit_lti_flask_sample\n `_\n A skeleton example for the Flask framework that consumes the PyLTI library\n========= ============\n\nDependencies:\n=============\n* Python 2.7+ or Python 3.4+\n* oauth2 1.9.0+\n* httplib2 0.9+\n* six 1.10.0+\n\nDevelopment dependencies:\n=========================\n* Flask 0.10.1\n* httpretty 0.8.3\n* oauthlib 0.6.3\n* pyflakes 1.2.3\n* pytest 2.9.2\n* pytest-cache 1.0\n* pytest-cov 2.3.0\n* pytest-flakes 1.0.1\n* pytest-pep8 1.0.6\n* sphinx 1.2.3\n\nDocumentation_ is available on readthedocs.\n\nLicensing\n=========\nPyLTI is licensed under the BSD license, version January 9, 2008. See\nlicense.rst for the full text of the license.\n\n.. rubric:: Footnotes\n\n.. [#f1] The Learning Tools Interoperability (LTI) specification is an\n initiative of IMS. Their site `http://developers.imsglobal.org/\n `_ contains a description of LTI as well as\n the current LTI specification.\n.. [#f2] EdX offers interactive online classes and MOOCs from the world\u2019s best\n universities. Online courses from MITx, HarvardX, BerkeleyX, UTx and many\n other universities. EdX is a non-profit online initiative created by\n founding partners Harvard and MIT. `code.edx.org `_\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mitodl/pylti", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "PyLTI", "package_url": "https://pypi.org/project/PyLTI/", "platform": "", "project_url": "https://pypi.org/project/PyLTI/", "project_urls": { "Homepage": "http://github.com/mitodl/pylti" }, "release_url": "https://pypi.org/project/PyLTI/0.7.0/", "requires_dist": null, "requires_python": "", "summary": "PyLTI provides Python Implementation of IMS LTI interface that works with edX", "version": "0.7.0" }, "last_serial": 4105947, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "ec9f2114044223be25c5a6f367222d41", "sha256": "1a75be329bdb22e08bcf0df9dd0bab3e1663a1efbb9e43acb3affad41ba3c0ff" }, "downloads": -1, "filename": "PyLTI-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ec9f2114044223be25c5a6f367222d41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11060, "upload_time": "2014-10-24T17:30:48", "url": "https://files.pythonhosted.org/packages/98/3c/b37cbea25c2fd4582167d46b71e66de21032e85bdf55a1f72b4d42bc1040/PyLTI-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "fea7a7a834c3be60c28ade634ca403fe", "sha256": "8617f511d5cf5d94226bc4a6e261d5686f1daa91bae425b30bfbe5bbc57ab33d" }, "downloads": -1, "filename": "PyLTI-0.1.1.tar.gz", "has_sig": false, "md5_digest": "fea7a7a834c3be60c28ade634ca403fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11139, "upload_time": "2014-10-26T13:42:23", "url": "https://files.pythonhosted.org/packages/c0/91/f215f5baf04173103bade57e326f11731f73bfdfdfcfa2be2135fe46ff97/PyLTI-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6104e888dab32d298bc0b568e9c866e2", "sha256": "8467892a6ddd0253a7b4f3c9b5443ac185ea11baae64e1eedd9c058553195e79" }, "downloads": -1, "filename": "PyLTI-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6104e888dab32d298bc0b568e9c866e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11598, "upload_time": "2014-10-29T14:59:27", "url": "https://files.pythonhosted.org/packages/99/a4/e81e944d8291ebbbd49701edb01735d021355a0c595a50abe7e45308a47f/PyLTI-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "054faf1d9c032e8d9fc207fc7cce8b42", "sha256": "21ed3be759b7fb689bd1cf8cf879070fbe4fae1545afaf773362ff701db88f30" }, "downloads": -1, "filename": "PyLTI-0.1.3.tar.gz", "has_sig": false, "md5_digest": "054faf1d9c032e8d9fc207fc7cce8b42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11614, "upload_time": "2014-10-29T19:48:02", "url": "https://files.pythonhosted.org/packages/b9/1e/ae50ae3e26db3a2a2959c49066b7fc3869db85d0ec91a3af0bb22cad9003/PyLTI-0.1.3.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a0831e96f2d669520cfae29773a84bdb", "sha256": "6b413560a0f7733deddb430dc1fdd66d6611390f5836af02dd4874862a8aca69" }, "downloads": -1, "filename": "PyLTI-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a0831e96f2d669520cfae29773a84bdb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15111, "upload_time": "2014-12-19T18:46:56", "url": "https://files.pythonhosted.org/packages/f1/9e/43b99b59bbfe917d51b9565d3394f10d7ccd984e166d1a222953c380d3c6/PyLTI-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "dfab29c6905c11c4105c5604b5eb0c36", "sha256": "cabe3ca7f8ae188ad134eae169da00f252c6e4249f8bd27d030060de859b4a22" }, "downloads": -1, "filename": "PyLTI-0.3.1.tar.gz", "has_sig": false, "md5_digest": "dfab29c6905c11c4105c5604b5eb0c36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15112, "upload_time": "2014-12-19T18:54:53", "url": "https://files.pythonhosted.org/packages/3c/66/c0fd4203a862f70e42a70425876ad939ed02e1a0948342ca3a0526a9be33/PyLTI-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "a5ed822dcdb472090d5583ab8e265b94", "sha256": "1e1ae2e05a9cb596b984f4d7b625363e21456f24f8853bb0a70fd7dbca71454b" }, "downloads": -1, "filename": "PyLTI-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a5ed822dcdb472090d5583ab8e265b94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15396, "upload_time": "2014-12-23T20:08:48", "url": "https://files.pythonhosted.org/packages/33/d0/3a44fa3d2d24047cdc80b728b9bb1fb1362828202decb193a97d8391c6d4/PyLTI-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "454bbb6f3ce67db00ab0dee07e13bfc9", "sha256": "b0d5e68d938a8a53e2b6407f13df9b8a834e48b34b91083380a13b8f3a3673d2" }, "downloads": -1, "filename": "PyLTI-0.4.0.tar.gz", "has_sig": false, "md5_digest": "454bbb6f3ce67db00ab0dee07e13bfc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19290, "upload_time": "2015-08-13T19:42:04", "url": "https://files.pythonhosted.org/packages/45/98/2c81ea76bcfdf1a7d8e0dc29139e96da6b063bbc246261a654bfd9ba8c7f/PyLTI-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "70880667fe5ffe1a85425267833c37ce", "sha256": "df01d34b982e441503dea49646d9cb2962c7aee8cf3f81ffe0bf200982a4d41c" }, "downloads": -1, "filename": "PyLTI-0.4.1.tar.gz", "has_sig": false, "md5_digest": "70880667fe5ffe1a85425267833c37ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19184, "upload_time": "2015-08-25T14:55:46", "url": "https://files.pythonhosted.org/packages/cc/be/695b86a61a033560d17916622e04cdc697eaa0c511f6d88ec98232604a0e/PyLTI-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fccabdd61a334347ee5ecfc5f8eabfba", "sha256": "aad2cda7008a1fcfb8d375b2068458c5994b6ba70224864e3e1150ae5942f258" }, "downloads": -1, "filename": "PyLTI-0.5.0.tar.gz", "has_sig": false, "md5_digest": "fccabdd61a334347ee5ecfc5f8eabfba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19958, "upload_time": "2017-10-24T18:24:49", "url": "https://files.pythonhosted.org/packages/df/6d/3f0d376907c044bb9f3827341336ab535a60601577a27f9f7b35966bf59b/PyLTI-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "3bc6fbe41e268641aa14b5a2b4c4b54d", "sha256": "ac65e0fa1fa72c665124925f12a27ec8af6ae94419855727aea9b26c9dac513a" }, "downloads": -1, "filename": "PyLTI-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3bc6fbe41e268641aa14b5a2b4c4b54d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 22020, "upload_time": "2017-10-25T18:33:19", "url": "https://files.pythonhosted.org/packages/df/df/860210467059f769d00063c89e840ba51cc0da0c230aa0f2ca0f4fc56c03/PyLTI-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5b106c65b53422e25ea2102a2905e95", "sha256": "32093d961bf95e508bf27667289155da1e082ed9989bb84a76c54c6974c941e1" }, "downloads": -1, "filename": "PyLTI-0.5.1.tar.gz", "has_sig": false, "md5_digest": "e5b106c65b53422e25ea2102a2905e95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20001, "upload_time": "2017-10-25T18:29:54", "url": "https://files.pythonhosted.org/packages/4b/11/2824d9e569e5b492a56ae08cd1811ffa913a45ad2a8dedd154695053408f/PyLTI-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "55d1cb0d78b30a4afdbc8e0eb688db59", "sha256": "b3203c5d0d8a527c092518d82d312757c036055ff628023985ab615ef471e602" }, "downloads": -1, "filename": "PyLTI-0.6.0.tar.gz", "has_sig": false, "md5_digest": "55d1cb0d78b30a4afdbc8e0eb688db59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20160, "upload_time": "2018-04-10T19:18:47", "url": "https://files.pythonhosted.org/packages/c0/5e/205c8fda20f96ac3d0c64329cf1192185c5cc5f9f1458f630c6b75d39bc8/PyLTI-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "a6247e12d10c3edd4b7c73b413a25225", "sha256": "1284a22c2959aa6b1c2895925133ef8d6ab6f41c2e7d0a7cef9a1d27e366410e" }, "downloads": -1, "filename": "PyLTI-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a6247e12d10c3edd4b7c73b413a25225", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 30575, "upload_time": "2018-07-26T18:48:58", "url": "https://files.pythonhosted.org/packages/0b/7a/e964d930e1e4afa9c68cabc49d8308f8eccbb2d412c5de06233efa995be6/PyLTI-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16f0050cb1bf65456873a2d401af4ea5", "sha256": "80938a235b1ab390f6889a95237d087ea7adde5cc50fcae9c80c49898e8ee78e" }, "downloads": -1, "filename": "PyLTI-0.7.0.tar.gz", "has_sig": false, "md5_digest": "16f0050cb1bf65456873a2d401af4ea5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25934, "upload_time": "2018-07-26T18:49:07", "url": "https://files.pythonhosted.org/packages/c3/af/9430137a178393f52a851238f214f060d36ae883a221e58327029adc25ae/PyLTI-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a6247e12d10c3edd4b7c73b413a25225", "sha256": "1284a22c2959aa6b1c2895925133ef8d6ab6f41c2e7d0a7cef9a1d27e366410e" }, "downloads": -1, "filename": "PyLTI-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a6247e12d10c3edd4b7c73b413a25225", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 30575, "upload_time": "2018-07-26T18:48:58", "url": "https://files.pythonhosted.org/packages/0b/7a/e964d930e1e4afa9c68cabc49d8308f8eccbb2d412c5de06233efa995be6/PyLTI-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16f0050cb1bf65456873a2d401af4ea5", "sha256": "80938a235b1ab390f6889a95237d087ea7adde5cc50fcae9c80c49898e8ee78e" }, "downloads": -1, "filename": "PyLTI-0.7.0.tar.gz", "has_sig": false, "md5_digest": "16f0050cb1bf65456873a2d401af4ea5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25934, "upload_time": "2018-07-26T18:49:07", "url": "https://files.pythonhosted.org/packages/c3/af/9430137a178393f52a851238f214f060d36ae883a221e58327029adc25ae/PyLTI-0.7.0.tar.gz" } ] }