Elyra is a set of AI-centric extensions to JupyterLab Notebooks.
Elyra currently includes the following functionality:
- Visual Pipeline Editor
- Ability to run a notebook, Python or R script as a batch job
- Reusable Code Snippets
- Hybrid runtime support based on Jupyter Enterprise Gateway
- Python and R script editors with local/remote execution capabilities
- Python script navigation using auto-generated Table of Contents
- Notebook navigation using auto-generated outlines using Table of Contents
- Language Server Protocol integration
- Version control using Git integration
The Elyra Getting Started Guide includes more details on these features. A version-specific summary of new features is located on the releases page.
You can try out some of Elyra features using the My Binder service.
Click on a link below to try Elyra, on a sandbox environment, without having to install anything.
- (Latest stable version - see the releases page for a new features summary)
- (Development version - expect longer image load time due to just-in-time build)
You can also try Elyra by running one of the docker images from Docker Hub:
elyra/elyra:latest
has the latest released version installed.elyra/elyra:x.y.z
has a specific version installed.elyra/elyra:dev
is automatically re-built each time a change is committed to the master branch.
The command below starts the most recent development build in a clean environment:
docker run -it -p 8888:8888 elyra/elyra:dev jupyter lab --debug
To make a local directory containing your Notebooks (e.g. ${HOME}/opensource/jupyter-notebooks/) available in your docker container, you can use a mount command similar to the following:
docker run -it -p 8888:8888 -v ${HOME}/opensource/jupyter-notebooks/:/home/jovyan/work -w /home/jovyan/work elyra/elyra:dev jupyter lab --debug
These should produce output similar to that below, where you can then find the URL to be used to access Elyra in your local browser.
To access the notebook, open this file in a browser:
file:///home/jovyan/.local/share/jupyter/runtime/nbserver-6-open.html
Or copy and paste one of these URLs:
http://4d17829ecd4c:8888/?token=d690bde267ec75d6f88c64a39825f8b05b919dd084451f82
or http://127.0.0.1:8888/?token=d690bde267ec75d6f88c64a39825f8b05b919dd084451f82
Elyra can be installed from PyPI:
-
JupyterLab 3.x is supported on Elyra 2.0.0 and above
Install Elyra from PyPI ( Elyra >= 3.7.0 ):
pip3 install --upgrade "elyra[all]>=3.7.0"
Install fom Conda ( Elyra >= 3.7.0 ):
conda install -c conda-forge "elyra[all]>=3.7.0"
-
For versions of Elyra prior to 3.7
jupyter lab build
must be run after install to enable the extensions.Install Elyra from PyPI ( Elyra >= 3.1.0 ):
pip3 install --upgrade "elyra[all]>=3.1.0" && jupyter lab build
Install fom Conda ( Elyra >= 3.1.0 ):
conda install -c conda-forge "elyra[all]>=3.1.0" && jupyter lab build
Install Elyra from PyPI ( Elyra < 3.1.0 ):
pip3 install --upgrade "elyra>=2.0.1" && jupyter lab build
Install fom Conda ( Elyra < 3.1.0 ):
conda install -c conda-forge "elyra>=2.0.1" && jupyter lab build
-
JupyterLab 2.x is supported on Elyra 1.0.0 and above
Install from PyPI:
pip3 install --upgrade "elyra<2.0.0" && jupyter lab build
Install from Conda:
conda install -c conda-forge "elyra<2.0.0" && jupyter lab build
-
JupyterLab 1.x is supported on Elyra 0.10.x and below
Install from PyPI:
pip3 install elyra==0.10.3 && jupyter lab build
Run the following commands to verify the installation. Note that in the example output below the [version]
placeholder is displayed instead of an actual version identifier, which might change with every release.
jupyter server extension list
Should output:
Config dir: /.../.jupyter
Config dir: /.../etc/jupyter
elyra enabled
- Validating elyra...
elyra OK
jupyter_lsp enabled
- Validating jupyter_lsp...
jupyter_lsp [version] OK
jupyter_resource_usage enabled
- Validating jupyter_resource_usage...
jupyter_resource_usage [version] OK
jupyter_server_mathjax enabled
- Validating jupyter_server_mathjax...
jupyter_server_mathjax OK
jupyterlab enabled
- Validating jupyterlab...
jupyterlab [version] OK
jupyterlab_git enabled
- Validating jupyterlab_git...
jupyterlab_git [version] OK
nbclassic enabled
- Validating nbclassic...
nbclassic OK
nbdime enabled
- Validating nbdime...
nbdime [version] OK
Config dir: /.../etc/jupyter
NOTE: If you don't see the Elyra server extension enabled, you may need to explicitly enable
it with jupyter server extension enable elyra
jupyter labextension list
Should output:
JupyterLab [version]
/.../share/jupyter/labextensions
nbdime-jupyterlab [version] enabled OK
@jupyter-server/resource-usage [version] enabled OK (python, jupyter-resource-usage)
@krassowski/jupyterlab-lsp [version] enabled OK (python, jupyterlab_lsp)
@elyra/code-snippet-extension [version] enabled OK
@elyra/code-viewer-extension [version] enabled OK
@elyra/metadata-extension [version] enabled OK
@elyra/pipeline-editor-extension [version] enabled OK
@elyra/python-editor-extension [version] enabled OK
@elyra/r-editor-extension [version] enabled OK
@elyra/theme-extension [version] enabled OK
@jupyterlab/git [version] enabled OK (python, jupyterlab-git)
Other labextensions (built into JupyterLab)
app dir: /.../share/jupyter/lab
After verifying Elyra has been installed, start Elyra with:
jupyter lab
We welcome your questions, ideas, and feedback. Check the Getting Help
section in the Getting Started guide
to learn more about the channels you can use to get in touch with us.
If you are interested in helping make Elyra better, we encourage you to take a look at our
Contributing page,
Development Workflow
documentation, and invite you to attend our weekly dev community meetings.
Join us for our daily scrum (except Thursdays) to discuss development items you're working on or have questions about. Everyone is welcome and participation is optional.
When: Every weekday except Thursdays at 8:30AM Pacific
Where: Webex
What: Current Milestone
Join us weekly to discuss Elyra development topics. Everyone is welcome and participation is optional.
When: Thursdays at 9AM Pacific
Where: Webex
What: Meeting Notes