by Greg Werner
  • Resource Selection
  • Course Nav
  • Homework Submission
  • Community
  • Content
  • Science
  • Web 2.0
  • Beta
  • K-6th Grade
  • 7th-12th Grade
  • Postsecondary
  • Canvas
  • Collaboration
  • English
Requires Consumer Key and Secret (click here to generate)

IllumiDesk allows professors, teachers assistants, and students to save time and effort when using Jupyter Notebooks when taking a course. The Jupyter Notebook is a wonderful open source tool that educational institutions have embraced to teach data science, computer science, and STEM skills in general. However, Jupyter Notebook installation and ongoing maintenance can be challenging, particularly for entry-level students. IllumiDesk solves these issues by offering a stable and scalable solution that professors and students can use to launch Jupyter Notebooks directly from Canvas, work through their projects and submit their assignments from the Jupyter Notebook interface.

Finally, Jupyter Notebooks from Canvas!

Installation Instructions


To obtain your Client ID and Client Secret, please follow these steps:

  1. Log into IllumiDesk at You may create a local account or use your GitHub credentials to sign in.
  2. Send a message using the chat widget on the bottom right-hand corner of the application requesting your Client ID and Client Secret for Canvas.
  3. Your credentials will be sent via email. Once you have your credentials, you can activate the IllumiDesk application by clicking on the IllumiDesk application icon in your Canvas environment.

You can view configuration options on our help portal. Additional set up steps are also confirmed below.

  1. Go to course Homepage.
  2. Click +Module button.
  3. Fill in module name and click Add Module.
  4. Add module item by clicking + button on the right of the module name.
  5. Select External Tool from the first select field.
  6. You should now see a link to the app we just created (IllumiDesk).
  7. Click on that link. You will see your IllumiDesk project list.
  8. Click on the project you that contain your notebook file. Use a-2017 and select a Lecture.
  9. Select an .ipynb file from the list and click Accept.
  10. Click Add Item button.
  11. Click on created notebook link to verify if it’s working.
  12. You should see Jupyter page with the file you previously selected open.

Check if Student can access the notebook.

  1. While in course menu click on People
  2. If there are no students assigned to this course you can add them by clicking on +People button. Pop up will show up. You can enter email addresses here. It is good practice to add those users to Canvas before adding them to courses.
  3. In People page click on a student name.
  4. Click on Act as User link. Click Proceed.
  5. Now you can see this course as a Student.

Teacher assignment creation workflow.

  1. Go to Courses -> Assignments (it can be grayed out, but it will work).
  2. Click on +Assignment
  3. Fill in assignment name and other fields to your liking.
  4. In Submission Type select External tool.
  5. In Enter or find External Tool URL field click Find
  6. Click on IllumiDesk
  7. Select project and notebook file then click Accept
  8. Now URL field in the popup should be filled with illumidesk url
  9. Click Select
  10. Click Save & Publish
  11. Notebook should now open in an iframe in canvas.
  12. Teacher workflow ends here.

Students workflow

  1. Log in to canvas
  2. Go to courses.
  3. Select course.
  4. Go to assignments.
  5. Click on assignment
  6. Notebook should open.
  7. Do your work.
  8. In the notebook toolbar, on the left, you will find an arrow icon with tooltip Submit to Canvas, click on it.
  9. That’s it.

Teacher grading

  1. Go to Course -> Grades
  2. Click on the student you want to grade.
  3. Click on the assignment.
  4. Students notebook should open for you.
  5. Grade students work.
  6. Click Save
  7. That’s it!
Config Options
Accessibility Documentation:
Our customer-facing documentation is located here: All pages have access to our customer service chat widget in case the customer needs to get in touch with us.
Security Information:
Data Privacy: we do not store any student credentials, just their username to access their server within our application. By default, this happens within Canvas but they can also access their server if they were to log into our public facing version. The important thing to note is that IllumiDesk uses the OAuth2 standard for authentication and is compliant with the LTI standard, which by default has several safeguards in place to protect user's privacy. Data Security: the application stores files on an encrypted S3 bucket. We use AES-256 encryption and the files are not exposed to the public web. All sessions are encrypted point to point using the TLS protocol. We have a public facing TLS certificate located on our load balancer and each container hosting the Jupyter Notebook also has a TLS certificate. The Jupyter Notebooks run within Docker containers and although users have root level access to the containers themselves (which are sometimes necessary to install additional dependencies), the user cannot access the host instance with their credentials to try to jump into other user servers. Each student has their own user server (container). Use of the container is subject to the terms of use stipulated in our legal documents. Basically, the user cannot use the container for malicious intent. We have real-time monitoring in place both for Service Level Agreement compliance and information security incidents. Scalability: IllumiDesk uses AWS's Elastic Container Service. We have stressed test the service to support many thousands of concurrent Jupyter Notebooks. Institutions have the option to view additional security measures after signing a Non Disclosure Agreement.
Privacy Policy:
[This link]( has both our terms and our privacy policy.
Configuration URL: Paste this URL into your LMS