cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
meaganmorscher2
New Member

Jupyter (Python) notebook embedding

Jump to solution

Is it possible to embed interactive Jupyter (Python) notebooks into a course page so students can modify and execute Python code from within the course?

python‌ jupiter lti

Tags (3)
1 Solution
jeffrey_weimer
Community Contributor

I am now able to generate a Jupyter notebook instance in a workspace. I cannot however have it successfully run as Module content. I get a "Preparing notebook ..." message with a spinning "wheel". The front end to access and develop Jupyter notebooks works. The back end for students to view content within Jupyter notebooks does not yet. I trust it will get there at some point.

View solution in original post

0 Kudos
32 Replies
kona
Community Coach
Community Coach

 @meaganmorscher2 , Due to the technical nature of this question I'm going to share it with the Canvas Developers group in the Community. They are the ones that work with this side of Canvas and should hopefully be able to help! In addition, you might consider joining the Developers group and checking out some of their other resources/information!

maguire
Community Champion
maguire
Community Champion

See also the note by Jonathan Keohane at Google Groups  

Chris_Hofer
Community Coach
Community Coach

Hello  @meaganmorscher2 ‌...

I wanted to check in with you because we have not heard from you since you first posted this message to the Community on March 18th.  Have you had a chance to review the responses from  @maguire ‌?  If so, did those responses help to answer your question?  Or, are you still looking for some help with your initial question?  If one of Gerald's replies helped to answer your question, please go ahead and mark it as "Correct".  However, if you still have some questions, please post those as well so that members of the Canvas Community can continue to help you with your question.  For now, because we haven't heard from you in quite a while, I am going to mark your question as "Assumed Answered", but that won't prevent you or others from posting additional questions/comments related to your initial question below.  I hope that is okay with you.  Looking forward to hearing back from you soon, Meagan.

ryanbacastow201
New Member

I'd like to follow up on this  @Chris_Hofer ‌. As a lot of educational institutions are incorporating code, particularly python, into their curriculum, it has become more and more burdensome to consistently copy/paste/test/format/reformat and so forth with all the constant switching back and forth and distributing/collecting scripts. To solve such a problem many websites have been able to integrate the Jupyter Notebooks api into their browser based apps. How would one go about setting up the library referenced by Gerald to set up such an LTI within canvas? 

0 Kudos

Hi  @ryanbacastow201 ...

This is unfamiliar territory for me, so I am hopeful that someone else who knows more about Jupyter Notebooks and APIs will be able to chime in.  I posted above merely to check in with the original poster to see if she has had a chance to review the replies she's received so far...because we've not heard from her since March 18th.  I hope this clarifies things.

jeffrey_weimer
Community Contributor

I am going bump this topic back to the top.

The ability to have interactive demos via the python ipywidgets package is a critical breakthrough. It decouples those of us in the science/engineering world from having to create demos in costly and otherwise proprietary packages (i.e. the Mathematica, Maple, MathCad, Matlab ... suite).

I want to embed a Jupyter notebook directly into a Canvas page so that my students can scroll widgets, select popups, and do real interactive demonstrations of otherwise obtuse, complex equations. It seems the only option is to engage someone with the sophistication of an IT person to set up a dedicated server.

Please push this out as a feature request. Add the Jupyter API as a toolset to Canvas.

--

JJW

 @jeffrey_weimer ‌, does Illumidesk help?  Edu App Center IllumiDesk 

I cannot register. I cannot log in. The Terms & Conditions page does not exist. The Privacy Policy does not exist. Is this a dead end?

Ha those links do seem to have problems!  But we installed Illumidesk on our Canvas, so I know it can be done.

You can get demo credentials here, and they say they'll email you further information.

IllumiDesk 

Also the Click here to Generate [key and secret] link seems to work.

Even this does not work. No email reply after a day.

sszabo
Community Participant

For the sake of completness 🙂 

This site can’t be reached. (2019. Feb 16)

Now here it is:  https://www.illumidesk.com/getstarted

0 Kudos

Any word on whether the login and registration and linked issues have been fixed?

I have been "working" with the developer. He seems to be the only one working. He said he would fix the registration issue a week ago. Still, I haven't heard back from him. I don't think this LTI is a reliable feature (yet) for use in the classroom due to his responses. 

0 Kudos
jeffrey_weimer
Community Contributor

The IllumiDesk API is now available in Canvas as an External Tool. Unfortunately, the tool fails to allow me to start the API. Still troubleshooting.

(sigh)

Hi  @jeffrey_weimer  - we uninstalled it.  Maybe we'll have to give it another try.  Please let us know if you can get it to work.

As near as I can tell, the option to use IlumiDesk directly in our Canvas is at this point in time a dead end. I can set up a project and a workspace in that project. I can launch a workspace, but it does not start running immediately (and sometimes does not launch at all). Once a workspace is running, I cannot add anything to it. I get an error Bad Server or equivalent. This may or may not be a restriction of our Canvas installation ... but ... it should also be something basic enough that an end user should not have to troubleshoot it.

I am reluctant to use the on-line Demo for various reasons.

It seems now that I'll have to wait for the alpha version of IllumiDesk to get past the beta development stage. In the meantime, in a similar vein as you, I am moving IllumiDesk to an inactive position in the navigation panel.

dholik
Community Participant

Hi Jeffrey,

We're trying to test IllumiDesk as well and I know they did a code update yesterday that had some issues that they're still trying to work out so we're still waiting to be set up to test it out.

Did you do any research into just integrating the Jupyter Hub? I'm trying to go down that path but I'm not getting a lot of information.

Thanks,

Dean

0 Kudos
jeffrey_weimer
Community Contributor

I just tested. I can set up and start a workspace. When I try to Launch, I get a Bad Gateway error message.

At least now, the Start/Stop actions work consistently (whereas before they did not).

dholik
Community Participant

Hi Jeffrey,

You should reach out to IllumiDesk now, they've put in a lot of new code over the last two weeks and we were finally able to test it out pretty well and it worked great. They're still hashing out the grade transfer piece some but if you give a student a graded notebook and they submit it the integration does allow the Professor to grade it through the Canvas speed grader which does make it easier.

They're still in the pilot/beta phaze so they're always working to add new features and improve the overall experience so it's a good time to get in with them.

Thanks,

Dean

jeffrey_weimer
Community Contributor

I am now able to generate a Jupyter notebook instance in a workspace. I cannot however have it successfully run as Module content. I get a "Preparing notebook ..." message with a spinning "wheel". The front end to access and develop Jupyter notebooks works. The back end for students to view content within Jupyter notebooks does not yet. I trust it will get there at some point.

0 Kudos
jeffrey_weimer
Community Contributor

> ... You should reach out to IllumiDesk now ...

Sadly, IllumiDesk has no "Contact Us" or "Join Our Beta" or "Search Our User Forums" link on their Website.

I've gotten Jupyter to work as a Module in Canvas. It seems however the set up of IllumiDesk is at this point only for students to submit assignments. I have tried to create EXAMPLES to post for the students as yet to no avail. The code that I upload is not visible to the entire class. It appears that I must upload it to each student's log-in one-at-a-time.

Absent the ability to upload notebook code and have that notebook be visible by all students in the course to run as a demonstration, the IllumiDesk option is a dead end for me.

One step at a time.

0 Kudos
jeffrey_weimer
Community Contributor

Here is a summary to date.

* I can now generate JupyterLab notebooks in a workspace using IllumiDesk.

* I can now distribute those notebooks to all students in the course.

* I cannot (easily if at all) lock the notebooks to prevent them from being deleted by any random student in the course.

* (I can lock cells from editing and deleting by editing the cell meta-data -- but any tech-inclined student can modify this in the IllumiDesk UI and destroy the file for everyone else down the line)

So, I am still trying to find a way to distribute (interactive) notebooks in a locked-down environment in Canvas where they can be run but not altered or deleted. The inability to lock a file fully may be a current failing of JupyterLab and not IlumiDesk. Certainly, the "roll your own meta-content lock codes for cells" approach to JupyterLab distributions belies an attitude that "we are coders, and you should be too". This is definitely not warm and fuzzy when it comes to making the entire process clear for the non-tech-inclined. The JupyterLab project seems to be going astray of that goal in my humble opinion.

FWIW, my brute force default approach going forward is to just post the raw .nb file and recommend the students should download it to run it themselves. I sometimes also make a short video of the interactive code and post it as a companion demo.

Hi Jeffrey,

Thank you for sharing all of this information. We're in a similar spot with trying to improve the workflow between Jupyter and Canvas. These are the options I've been exploring:

Product 

Maturity 

Cost 

Integration 

Hosted 

Website 

JupyterHub 

Open Source 

$0 Software 

VMHosting Fees 

 Enterprise Auth, Storage, Customizable 

Local 

github.com/jupyterhub/jupyterhub 

Azure Notebooks 

Preview 

$0 

Optional Azure DSVM integration requires credits 

O365 Accounts Login, GitHub 

(Possibility of OneDrive w/Canvas in Future) 

Cloud 

notebooks.azure.com 

Anaconda Enterprise 

Mature, Enterprise

Paid, Contact Sales 

Robust Enterprise Management Tools 

Local 

www.anaconda.com/enterprise/ 

MyBinder.org 

Beta 

$0 

GitHub 

Cloud 

Mybinder.org 

CoCalc.com 

Hosting Edu Courses Since Fall 2013 

Paid, many pricing tiers available, per-course, based on size and resources 

Built-in Grading Instruction Workflow 

Cloud 

CoCalc.com 

Illumidesk.com 

Very New, Small, Immature?  

Paid, Contact Sales, Trial 

LTI w/ Canvas 

Runs Notebooks Directly in Canvas 

Cloud 

Illumidesk.com 

Google Collaboratory 

Since 2014, Research 

$0 

Google Drive w/ Canvas 

Cloud 

colab.research.google.com 

jeffrey_weimer
Community Contributor

Thank you for the summary table.

My requirements with Jupyter labs in Canvas are interactive demos (live widgets), ease of use (plug and play), and restricted access (load and lock).

I’ve had ongoing exchanges with IllumiDesk. They are interested in this use-case.

Sorry for bumping an old post, but do you/anyone here know the current status of IllumiDesk? I am having trouble getting in contact with anyone there through posted links (many attempts at getting demo credentials haven't yielded anything). If IllumiDesk isn't currently active, does anyone have a preferred alternative with Canvas integration?

0 Kudos

Hi Sarah,

This is Greg from IllumiDesk. I replied to your request yesterday but perhaps my email went to your spam folder. Feel free to reach out to us via the Chat widget on our home page or via email at hello@illumidesk.com.

Thanks!

Hi Greg, 

Just seeing your emails now and will respond there. Thanks for reaching out!

0 Kudos
frances
Community Member

Currently preparing Jupyter notebooks for a course next winter. If it works plan to include them on Canvas. Great work!

0 Kudos
jbaggett
New Member

I'm also interested in the same use case Jeffrey.  We've settled on CoCalc for now because it seems more robust.  We'll manage the assignments on the CoCalc side and import grades into Canvas, but I'd really prefer to manage everything in the fashion that Illumidesk promises.  Please let us know what you find.

0 Kudos
patfm
New Member

Another solution to consider is Vocareum.  It provides each student with Jupyter notebook and has LTI 1.1 and 1.3 integration with Canvas.  It supports an autograder also and passes assignment grades from Vocareum to Canvas gradebook.  It does have a cost per student and they offer some volume pricing.  They also support other languages besides python as well  -- R, C++, others.

0 Kudos
SubornaAhmed
New Member

I could not find the solution people mentioned on this thread. Can anyone let me know where I can find the solution?

My question: how to embed a Jupyter (Python) notebook on Canvas?

 

0 Kudos