Overview¶
Elyra is a set of AI-centric extensions to JupyterLab Notebooks.
The main features include:
- AI Pipelines visual editor
- Ability to run a notebook as a batch job
- Reusable Code Snippets
- Hybrid runtime support
- Python script execution support
- Version control using git integration
- Notebook navigation using auto-generated Table of Contents
- Language Server Protocol integration
You can try out some of these features using the getting started tour on Binder without having to install anything.
AI Pipelines visual editor¶
Building an AI pipeline for a model is hard, breaking down and modularizing a pipeline is harder. A typical machine/deep learning pipeline begins as a series of preprocessing steps followed by experimentation/optimization and finally deployment. Each of these steps represent a challenge in the model development lifecycle.
Elyra provides a Pipeline Visual Editor for building AI pipelines from notebooks and Python scripts, simplifying the conversion of multiple notebooks or Python scripts into batch jobs or workflows.
Currently, pipelines can be executed locally in JupyterLab or on Kubeflow Pipelines.
Learn more about the Pipeline Visual Editor in the AI Pipelines topic in the User Guide, explore the tutorials, or example pipelines.
The pipeline editor feature can optionally be installed as a stand-alone extension.
Ability to run a notebook as a batch job¶
Elyra extends the Jupyter Notebook UI to to allow for execution of a notebook as a batch job in local or remote cloud environments. This feature leverages the AI pipelines feature and requires access to a Kubeflow Pipelines deployment via a runtime configuration.
To run a notebook as a batch job open the notebook and select “Submit Notebook …” from the menu bar.
Reusable Code Snippets¶
The Code Snippet editor introduces support for reusable code fragments, making programming in JupyterLab more efficient by reducing repetitive work.
For information on how to manage and use code snippets refer to the Code Snippets topic in the User Guide.
The code snippet feature can optionally be installed as a stand-alone extension.
Hybrid runtime support¶
Elyra leverages Jupyter Enterprise Gateway to enable Jupyter Notebooks to share resources across distributed clusters such as Apache Spark, Kubernetes, OpenShift, and the like.
It simplifies the task of running notebooks interactively on cloud machines, seamlessly leveraging the power of cloud-based resources such as GPUs and TPUs.
Python script execution support¶
Elyra contributes a Python script editor, which can take advantage of the Hybrid Runtime Support enabling users to locally edit scripts and execute them against local or cloud-based resources seamlessly.
For information on how to use the Python editor refer to the Enhanced Python Support topic in the User Guide.
The Python editor feature can optionally be installed as a stand-alone extension.
Version control using git integration¶
With the integrated Git version control support users can clone Git repositories, track and manage changes (e.g. by comparing, committing, or discarding them) and share among team members - fostering productivity by enabling a collaborative working environment.
To learn more about the git extension or how to install it individually refer to the jupyterlab-git repository.
Language Server Protocol integration¶
The JupyterLab Language Server Protocol (LSP) integration enhances the development experience in the notebook editor and file editors, delivering features common in IDEs such as autocompletion, code navigation, hover suggestions, code linting, and renaming.
By default, Elyra installs the Python Language Server package, enabling the productivity features in the notebook editor and the Python editor. Support for other languages can be added by manually installing additional Language Server packages and their prerequisites.
Refer to the jupyterlab-lsp
extension documentation for a full list of supported Language Servers and installation instructions.
To learn more about the jupyterlab-lsp
extension and its features check out the repository.