/elyra

Elyra extends JupyterLab Notebooks with an AI centric approach.

Primary LanguagePythonApache License 2.0Apache-2.0

PyPI version Anaconda-Server Badge Downloads Documentation Status GitHub Gitter

Elyra

Elyra is a set of AI-centric extensions to JupyterLab Notebooks.

Elyra currently includes the following functionality:

Elyra

The Elyra Getting Started Guide includes more details on these features.

Try Elyra

Using Binder

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.

  • Launch latest stable version (Latest stable version - see changelog for recent updates)
  • Launch latest development version (Development version - expect longer image load time due to just-in-time build)

Using Docker

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

Installation

Elyra can be installed from PyPI:

Prerequisites :

Optional :

JupyterLab support

NOTE: On November 2020, a new version of PIP (20.3) was released with a new, "2020" resolver. This resolver does not yet work with Elyra and might lead to errors in installation. In order to install Elyra, you need to either downgrade pip to version 20.2.4 pip install --upgrade pip==20.2.4 or, in case you use pip 20.3 (or later), you need to add option --use-deprecated legacy-resolver to your pip install command.

  • JupyterLab 3.x is supported on Elyra 2.0.0 and above

    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

Verify Installation

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 serverextension list

Should output:

config dir: /usr/local/etc/jupyter
    jupyter_resource_usage  enabled 
    - Validating...
      jupyter_resource_usage  OK
    jupyterlab  enabled 
    - Validating...
      jupyterlab [version] OK
    nbdime  enabled 
    - Validating...
      nbdime [version] OK
jupyter server extension list

Should output:

Config dir: /.../.jupyter

Config dir: /.../etc/jupyter
    elyra enabled
    - Validating elyra...
      elyra [version] OK
    jupyter_lsp enabled
    - Validating jupyter_lsp...
      jupyter_lsp [version] OK
    jupyter_resource_usage enabled
    - Validating jupyter_resource_usage...
      jupyter_resource_usage  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
        @jupyter-server/resource-usage [version] enabled OK (python, jupyter-resource-usage)
        @krassowski/jupyterlab-lsp [version] enabled OK (python, jupyterlab_lsp)
        @jupyterlab/git [version] enabled OK (python, jupyterlab-git)

Other labextensions (built into JupyterLab)
   app dir: /.../share/jupyter/lab
        @elyra/code-snippet-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
        nbdime-jupyterlab [version] enabled OK        
        

Starting Elyra

After verifying Elyra has been installed, start Elyra with:

jupyter lab

Getting Help

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.

Contributing to Elyra

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.

Daily Dev 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

Weekly Dev Community Meeting

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