5

Elyra reaches 1.0.0

 3 years ago
source link: https://blog.jupyter.org/elyra-reaches-1-0-0-41039dc06405
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Elyra reaches 1.0.0

Building on a Jupyter Notebooks foundation, the de facto tool for data scientists, machine learning engineers and AI developers, Elyra is an open-source project that provides a set of AI-centric extensions to JupyterLab aiming to help users through the model development life cycle complexities, making JupyterLab even better for AI practitioners.

Elyra is proud to announce its 1.0.0 Release. This release brings usability enhancements and bug fixes for existing features, such as enhanced inline user documentation and validation capabilities for the Pipeline Editor, improved performance for pipeline submission to Kubeflow Pipelines runtime. It also provides new capabilities such as a new reusable Code Snippets extension and the ability to configure runtimes directly on the JupyterLab user interface.

On the platform side, Elyra 1.0.0 is now based on JupyterLab 2.x and can easily be integrated into a JupyterHub deployment or other containerized environments such as Kubernetes and OpenShift or even be run in standalone mode using local docker deployment.

With Elyra 1.0.0 we also provide some helpful use-case scenarios leveraging Elyra features to build AI pipelines in order to demonstrate in-depth capabilities exposed by the project. Use cases include:

If this is the first time you are hearing about Elyra, check out our announcement blog for more details about the project.

The 1.0.0 release of Elyra includes:

  • Notebook Pipelines visual editor
  • Ability to run notebooks as batch jobs
  • Reusable Code Snippets (new)
  • Hybrid runtime support (based on Jupyter Enterprise Gateway)
  • Python script execution capabilities within the editor
  • Python script navigation using auto-generated Table of Contents
  • Notebook navigation using auto-generated Table of Contents
  • Notebook versioning based on Git integration
  • Reusable configuration and editor for runtimes (new)
  • Support for JupyterLab 2.x (new)
  • JupyterHub Support (new)
  • Ability to try Elyra from Binder (new)
  • Support for JupyterLab Dark Theme
Image for post
Image for post
Elyra 1.0 extensions to JupyterLab

Notebook Pipelines visual editor

Elyra’s Notebook Pipeline Editor simplifies the conversion of multiple notebooks into batch jobs or workflows. By leveraging cloud-based resources to run their experiments faster, the data scientists, machine learning engineers, and AI developers are then more productive, and therefore able to spend more of their time focusing on their technical skills.

Based on the great feedback from the Elyra user base, this release brings lots of bug fixes usability enhancements such as:

  • Enhanced inline user documentation
  • Validation capabilities to Pipeline Editor that notifies users of missing or invalid configuration values
  • Optimized dependency handling providing a much faster submission of pipelines
  • Easier access to previously submitted experiments from the Pipeline Editor
  • Support for “bring your own image” to be used as the environment to execute Notebooks on the external runtime

Below you can see some of the Pipeline Editor UI enhancements introduced in Elyra 1.0:

Image for post
Image for post
Elyra Pipeline visual editor UI enhancements

Reusable Code Snippets

Code snippets give you the ability to save time and reuse task-oriented blocks of code. Elyra’s new code snippets extension enables easy discovery, creation, and insertion of reusable snippets of code into your Notebooks, Python Scripts, or even Markdown files used for documentation directly from the JupyterLab workspace. This makes the process of writing code more efficient and accessible.

The list of available code snippets is found in the left side pane and includes a preview of each snippet, and an option to either copy a snippet or insert it directly inline.

Image for post
Image for post
Elyra code snippets pannel

Code snippets can also be conveniently created and edited from within JupyterLab.

Image for post
Image for post
Elyra code snippets editor

Leveraging Table of Contents for Notebooks and Python Scripts

Navigating large files to find specific sections in Notebooks or function definitions in Python Scripts can be difficult tasks. The Table of Contents extension, which was enhanced to support navigating Python Scripts provides an easy outline of your contents, enabling easy navigation.

Below is an example of an auto-generated table of contents for a Notebook based on its markdown sections:

Image for post
Image for post
Auto-generated Notebook Table of Contents

To allow for streamlined python development, Elyra’s python editor is now accompanied by an auto-generated Table of Contents, which allows for efficient navigation within large python scripts.

Image for post
Image for post
Auto-generated Python Script outline using Table Of Contents

Reusable configuration and editor for runtimes

Elyra introduced a ‘shared configuration service’ that simplifies workspace configuration management, enabling things like information around accessing external runtimes to be configured once and shared across multiple components.

With Elyra 1.0, this service is now used by multiple components and has been enhanced with schema-based validation capabilities and a full set of REST APIs. With this release of Elyra, users can also easily browse, create, and edit these configurations from within the JupyterLab user interface.

Image for post
Image for post
Runtime configuration editor

JupyterHub support

With Elyra 1.0.0 we have also created a docker image and provided necessary configuration steps to integrate Elyra with JupyterHub.

Image for post
Image for post
Elyra & JupyterHub deployment diagram

Using Elyra in real Analytics and AI scenarios

While building Elyra, we work very closely with data scientists, machine learning engineers, and AI developers, and we have been building a few scenarios to validate the user experience when developing models and other applications using Elyra.

Analyzing COVID-19 time-series data

One of the examples creates a pipeline to analyze COVID-19 time series data sets from both the USA and Europe which is available as open-source in the covid-notebook GitHub repository.

Image for post
Image for post
COVID-19 notebook pipeline

Analyzing NOAA weather time series data set and explore forecasting

Another example utilizes DAX — Data Asset Exchange NOAA dataset and produces a pipeline that consumes and applies ETL into the dataset, and then goes about analyzing and experimenting with different forecasting capabilities.

Image for post
Image for post
NOAA weather time-series notebook pipeline

Elyra community adoption

The Elyra community is working very hard to promote adoption and create a healthy community around the project. In the past few months, we are starting to see some momentum, and below are some details :

Github Stars: Elyra main repository is reaching close to 500 as of August 2020, please continue to show your support for the project by spreading the word about the project and giving us more stars.

Projects depending on Elyra: Other then the two examples scenarios mentioned above, we are starting to see other communities adopting Elyra into their projects, CalPoly has been using the Elyra code snippets extension in their summer-intern projects and other communities are also experimenting with Elyra.

Image for post
Image for post
GitHub projects depending on Elyra

Downloads: We have also seen an increase of downloads of the Elyra npm packages in the past several weeks, and we are floating between 60k — 70k weekly downloads for the past month:

Image for post
Image for post
Elyra packages download stats

Elyra in the Enterprise: Components of Elyra are integrated and available in IBM Cloud Pak for Data and Watson Studio offerings.

Try Elyra from Binder

To experiment with Elyra without installing it locally, just click on the binder link below:

Image for post
Image for post
Try Elyra online on Binder

What is next for Elyra

Elyra is constantly making Jupyter Notebooks better aiming to help data scientists, machine learning engineers, and AI developers through the model development life cycle complexities, making JupyterLab even better for AI practitioners.

Come and join our weekly dev meetings to learn more about the most recent updates to Elyra and to ask your questions to the community, including the project core developers.

We would also appreciate for you to get involved with the Elyra project. Read our contributing guidelines, create new issues if you have questions, suggestions for new features, or to report any bugs. We also welcome contributions via GitHub pull requests.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK