Skip to main content

Jupyter XBlock

This is an XBlock to integrate JupyterHub notebooks to your Open edX learning management system (LMS).

Features:

  • Integrate JupyterLab notebooks to the Open edX courseware.
  • Fully editable notebooks and student workspaces.
  • Simple integration of notebooks from public git repositories.

Here is a screenshot of the Jupyter XBlock in action:

Usage

To use this xblock with Tutor, use Tutor-jupyter plugin as this will automatically be installed with it. In your course "Advanced Settings", add "jupyter" to the "Advanced Module List":

Studio advanced module list

Configuration

JupyterHub base URL

The JupyterHub cluster can be configured separately for every XBlock, but this can be quite tedious for course instructors. Instead, a default JupyterHub cluster URL can be defined globally by adding the LTI_DEFAULT_JUPYTER_HUB_URL setting to both the LMS and CMS settings.

For instance:

LTI_DEFAULT_JUPYTER_HUB_URL = "https://hub.myopenedx.com"

If this setting is undefined, the base URL will default to https://hub.LMS_HOST.

LTI passport ID

Similarly, the LTI passport ID can be defined globally for all Jupyter XBlock instances. When a passport ID is not explicitely defined in an XBlock, it will default to the LTI_DEFAULT_JUPYTER_PASSPORT_ID setting. If this setting is also undefined, then it will default to LTI_DEFAULT_PASSPORT_ID. The fallback value is "jupyterhub".

To define a global LTI passport ID to be used by all Jupyter XBlock instances, add to your LMS/CMS settings:

LTI_DEFAULT_JUPYTER_PASSPORT_ID = "myjupyterhub"

Then, the corresponding passport must be created in the course advanced settings, as described in the Open edX documentation:

Studio advanced LTI settings

Configuring JupyterHub

You will have to launch your own JupyterHub cluster separately from Open edX. Your cluster should support:

Known limitations

  • Grading is not supported at the moment.
  • It is not possible to pull notebooks from a raw URL -- only from a public git repository.

Troubleshooting

This XBlock was kickstarted by Matthew Brett (@matthew-brett) and funded by a grant from the Chan Zuckerberg Initiative. This project is maintained by Muhammad Hassan Siddiqi from Edly. Community support is available from the official Open edX forum.

License

This work is licensed under the terms of the GNU Affero General Public License (AGPL).

Metadata

Release files for jupyter-xblock 17.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyter-xblock 17.0.0
File Size Uploaded
jupyter-xblock-17.0.0.tar.gz 17.0 kB Details

Release files / jupyter-xblock-17.0.0.tar.gz

Download URL jupyter-xblock-17.0.0.tar.gz
Size 17.0 kB
Tags Source
SHA-256 checksum
How to use checksums
88e321cf9107bb6fe209d914417bc94c7694fd9dc04ee6c2ff1ba2269d5953e4
BLAKE2b-256 checksum
How to use checksums
bc8b86be406759cf4d38f78f311377ce523d99107d1840d29d7c146573dd6310
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Release history Release notifications | RSS feed

This release

17.0.0 This release

1 release file

16.0.0

1 release file

15.0.3

1 release file

15.0.2

1 release file

15.0.1

1 release file

15.0.0

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page