JupyterLab LTI extension for the Canvas LMS.

Usage no npm install needed!

<script type="module">
  import illumideskJupyterLti from 'https://cdn.skypack.dev/@illumidesk/jupyter-lti';


npm version

JupyterLab LTI Extension

IllumiDesk's Canvas LMS assignment submission and assignment reset buttons.


jupyter labextension install @illumidesk/jupyter-lti

Once installed you can enable or disable extensions.


For a development install (requires npm version 4 or later), do the following in the repository directory:

  • Install and activate conda environment
  wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O ~/miniconda.sh;
  bash ~/miniconda.sh -b -p $HOME/miniconda
  export PATH="$HOME/miniconda/bin:$PATH"
  pip install --pre jupyterlab
  • Install dependencies
npm install
npm run build
jupyter labextension install .

(Optional) Watch files as they are changed:

npm run watch

Then launch JupyterLab using:

jupyter lab --watch

This will automatically recompile @illumidesk/jupyter-lti upon changes, and JupyterLab will rebuild itself. You should then be able to refresh the page and see your changes.

jupyter lab

Integration with LTI Compatible LMS

  • Make sure you are authenticated to the LTI compatible LMS (currently only tested with the Canvas LMS) and that you launch a JupyterLab instance from Canvas.

Only users with the Student role are able to see the extension and submit an assignment to the Canvas LMS.

These help docs contain more information about the Canvas LMS and IllumiDesk configuration steps.

Version Control

  • npm version major | minor | patch update npm version automatically (avoids having to manually update package.json)