{"id":13608241,"url":"https://github.com/elyra-ai/elyra","last_synced_at":"2026-10-19T10:16:22.761Z","repository":{"id":37074474,"uuid":"216914329","full_name":"elyra-ai/elyra","owner":"elyra-ai","description":"Elyra extends JupyterLab with an AI centric approach.","archived":false,"fork":false,"pushed_at":"2026-10-17T10:53:24.000Z","size":123429,"stargazers_count":2000,"open_issues_count":270,"forks_count":371,"subscribers_count":48,"default_branch":"main","last_synced_at":"2026-10-17T12:17:05.813Z","etag":null,"topics":["ai","airflow","anaconda","apache-airflow","binder","docker","elyra","hacktoberfest","jupyterlab","jupyterlab-extension","jupyterlab-extensions","jupyterlab-notebooks","kubeflow","kubeflow-pipelines","machine-learning","notebook-jupyter","notebooks","pipelines","pypi","python"],"latest_commit_sha":null,"homepage":"https://elyra.readthedocs.io/en/stable/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elyra-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":"CLAUDE.md","gemini":"GEMINI.md","cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2019-10-22T21:37:58.000Z","updated_at":"2026-10-17T11:36:26.000Z","dependencies_parsed_at":"2026-08-16T19:23:10.522Z","dependency_job_id":null,"html_url":"https://github.com/elyra-ai/elyra","commit_stats":{"total_commits":1935,"total_committers":74,"mean_commits":26.14864864864865,"dds":0.7229974160206718,"last_synced_commit":"e5f4d8e965fa7028dbd68f28e2e374493fb3b9fc"},"previous_names":[],"tags_count":137,"template":false,"template_full_name":null,"purl":"pkg:github/elyra-ai/elyra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyra-ai%2Felyra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyra-ai%2Felyra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyra-ai%2Felyra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyra-ai%2Felyra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elyra-ai","download_url":"https://codeload.github.com/elyra-ai/elyra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elyra-ai%2Felyra/sbom","scorecard":{"id":138740,"data":{"date":"2025-08-11","repo":{"name":"github.com/elyra-ai/elyra","commit":"b335d12de1992870d52f1ed68fdb9737e54c57cb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.8,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Code-Review","score":5,"reason":"Found 11/21 approved changesets -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"12 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: topLevel 'security-events' permission set to 'write': .github/workflows/codeql-analysis.yml:20","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":5,"reason":"badge detected: Passing","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:218: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:123: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:141: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:199: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:227: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:234: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:247: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:151: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:157: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:184: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:210: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/build.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/elyra-ai/elyra/codeql-analysis.yml/main?enable=pin","Warn: containerImage not pinned by hash: etc/docker/elyra/Dockerfile:20: pin your Docker image by updating jupyterhub/k8s-singleuser-sample:1.2.0 to jupyterhub/k8s-singleuser-sample:1.2.0@sha256:7fba974bb151a3bd5bcdb33e12a9be146274de44fec47ffc64345144d403400d","Warn: containerImage not pinned by hash: etc/docker/elyra_development/Dockerfile:1: pin your Docker image by updating ubuntu:20.04 to ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214","Warn: containerImage not pinned by hash: etc/docker/kubeflow/Dockerfile:20: pin your Docker image by updating public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter:v1.5.0 to public.ecr.aws/j1r0q0g6/notebooks/notebook-servers/jupyter:v1.5.0@sha256:dbffc9eeb2458e04ab69a4b1fa2749c81002677be34182f49725e354def396d5","Warn: pipCommand not pinned by hash: etc/docker/elyra/Dockerfile:38","Warn: pipCommand not pinned by hash: etc/docker/elyra/Dockerfile:41","Warn: downloadThenRun not pinned by hash: etc/docker/elyra_development/Dockerfile:13-20","Warn: downloadThenRun not pinned by hash: etc/docker/elyra_development/Dockerfile:23-24","Warn: pipCommand not pinned by hash: etc/docker/kubeflow/Dockerfile:37","Warn: pipCommand not pinned by hash: etc/docker/kubeflow/Dockerfile:40","Warn: npmCommand not pinned by hash: binder/postBuild:29","Warn: pipCommand not pinned by hash: binder/postBuild:35","Warn: pipCommand not pinned by hash: binder/postBuild:36","Warn: pipCommand not pinned by hash: etc/scripts/clean-jupyterlab.sh:80","Warn: pipCommand not pinned by hash: etc/scripts/clean-jupyterlab.sh:81","Warn: pipCommand not pinned by hash: etc/scripts/clean-jupyterlab.sh:84","Info:   0 out of  30 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   9 pipCommand dependencies pinned","Info:   0 out of   2 downloadThenRun dependencies pinned","Info:   0 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 20 commits out of 21 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"35 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f","Warn: Project is vulnerable to: GHSA-33p9-3p43-82vq","Warn: Project is vulnerable to: PYSEC-2023-238 / GHSA-5wvp-7f3h-6wmm","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2023-74 / GHSA-j8r2-6x86-q33q","Warn: Project is vulnerable to: GHSA-753j-mpmx-qq6g","Warn: Project is vulnerable to: GHSA-7cx3-6m66-7c5m","Warn: Project is vulnerable to: GHSA-8w49-h785-mj3c","Warn: Project is vulnerable to: PYSEC-2023-75 / GHSA-hj3f-6gcp-jg8j","Warn: Project is vulnerable to: GHSA-qppv-j76h-2rpx","Warn: Project is vulnerable to: GHSA-w235-7p84-xx57","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2024-48 / GHSA-fj7x-q9j7-g6q6","Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-h5c3-5r3r-rr8q","Warn: Project is vulnerable to: GHSA-rmvr-2pp2-xj38","Warn: Project is vulnerable to: GHSA-xx4v-prfh-6cgc","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T07:23:35.891Z","repository_id":37074474,"created_at":"2025-08-16T07:23:35.891Z","updated_at":"2025-08-16T07:23:35.891Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38334566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-17T02:00:06.547Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","airflow","anaconda","apache-airflow","binder","docker","elyra","hacktoberfest","jupyterlab","jupyterlab-extension","jupyterlab-extensions","jupyterlab-notebooks","kubeflow","kubeflow-pipelines","machine-learning","notebook-jupyter","notebooks","pipelines","pypi","python"],"created_at":"2024-08-01T19:01:25.467Z","updated_at":"2026-10-19T10:16:22.755Z","avatar_url":"https://github.com/elyra-ai.png","language":"Python","funding_links":[],"categories":["Uncategorized","Ecosystem Projects","Python","JupyterLab扩展","JupyterLab Extensions"],"sub_categories":["Uncategorized"],"readme":"\u003c!--\n{% comment %}\nCopyright 2018-2026 Elyra Authors\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n{% endcomment %}\n--\u003e\n\n\n[![PyPI version](https://badge.fury.io/py/elyra.svg)](https://badge.fury.io/py/elyra)\n[![Anaconda-Server Badge](https://anaconda.org/conda-forge/elyra/badges/version.svg)](https://anaconda.org/conda-forge/elyra)\n[![Downloads](https://pepy.tech/badge/elyra)](https://pepy.tech/project/elyra)\n[![Documentation Status](https://readthedocs.org/projects/elyra/badge/?version=latest)](https://elyra.readthedocs.io/en/latest/?badge=latest)\n[![GitHub](https://img.shields.io/badge/issue_tracking-github-blue.svg)](https://github.com/elyra-ai/elyra/issues)\n[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/5761/badge)](https://bestpractices.coreinfrastructure.org/projects/5761)\n[![Gitter](https://badges.gitter.im/elyra-ai/community.svg)](https://gitter.im/elyra-ai/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n# Elyra\n\nElyra is a set of AI-centric extensions to JupyterLab Notebooks.\n\nElyra currently includes the following functionality:\n\n- [Visual Pipeline Editor](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#ai-pipelines-visual-editor)\n- [Ability to run a notebook, Python or R script as a batch job](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#ability-to-run-a-notebook-python-or-r-script-as-a-batch-job)\n- [Reusable Code Snippets](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#reusable-code-snippets)\n- [AI Assistant integration](https://github.com/jupyterlab/jupyter-ai) for AI-powered code assistance in notebook cells. See the [AI Assistant setup guide](docs/source/user_guide/ai-assistant-setup.md) for configuration details.\n- [Hybrid runtime support](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#hybrid-runtime-support) based on [Jupyter Enterprise Gateway](https://github.com/jupyter/enterprise_gateway)\n- [Python and R script editors with local/remote execution capabilities](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#python-and-r-scripts-execution-support)\n- [Python script navigation using auto-generated Table of Contents](https://elyra.readthedocs.io/en/latest/getting_started/overview.html##python-and-r-scripts-execution-support)\n- [Python script integrated debugger (Experimental)](https://elyra.readthedocs.io/en/latest/getting_started/overview.html##python-and-r-scripts-execution-support)\n- [Notebook navigation using auto-generated outlines using Table of Contents](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#notebook-navigation-using-auto-generated-table-of-contents)\n- [Language Server Protocol integration](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#language-server-protocol-integration)\n- [Version control using Git integration](https://elyra.readthedocs.io/en/latest/getting_started/overview.html#version-control-using-git-integration)\n\n![Elyra](docs/source/images/readme/elyra-main-page.png)\n\nThe [Elyra Getting Started Guide](https://elyra.readthedocs.io/en/latest/getting_started/overview.html) includes more details on these features. A version-specific summary of new features is located on the [releases page](https://github.com/elyra-ai/elyra/releases).\n\n## Try Elyra\n\n#### Using container images\n\nYou can also try Elyra by running one of the container images from [Docker Hub](https://hub.docker.com/r/elyra/elyra/tags) or [quay.io](https://quay.io/repository/elyra/elyra?tab=tags):\n- `elyra/elyra:latest` has the latest released version installed.\n- `elyra/elyra:x.y.z` has a specific version installed.\n\nNote: You can also [build a container image from the `main` branch (\"dev build\")](https://github.com/elyra-ai/elyra/tree/main/etc/docker/elyra) to try out features that have not been released yet.\n\nTo run one of the container images, issue the following command, specifying a tag of your choice.\n\n```\ndocker run -it -p 8888:8888 elyra/elyra:dev jupyter lab --debug\n```\n\nTo make a local directory containing your Notebooks (e.g. ${HOME}/opensource/jupyter-notebooks/) available in your\ndocker container, you can use a mount command similar to the following:\n\n```\ndocker run -it -p 8888:8888 -v ${HOME}/opensource/jupyter-notebooks/:/home/jovyan/work -w /home/jovyan/work elyra/elyra:dev jupyter lab --debug\n```\n\nThese should produce output similar to that below, where you can then find the URL to be used to access Elyra in your local browser.\n\n```\n    To access the notebook, open this file in a browser:\n        file:///home/jovyan/.local/share/jupyter/runtime/nbserver-6-open.html\n    Or copy and paste one of these URLs:\n        http://4d17829ecd4c:8888/?token=d690bde267ec75d6f88c64a39825f8b05b919dd084451f82\n     or http://127.0.0.1:8888/?token=d690bde267ec75d6f88c64a39825f8b05b919dd084451f82\n```\n\nRefer to the [installation documentation](https://elyra.readthedocs.io/en/stable/getting_started/installation.html#docker) for details.\n\n## Installation\n\nFor detailed information refer to the [installation documentation](https://elyra.readthedocs.io/en/stable/getting_started/installation.html).\n\n### Prerequisites :\n* [Node.js 22](https://nodejs.org/en/)\n* [Python 3.10+](https://www.python.org/downloads/)\n* [Miniconda](https://docs.conda.io/en/latest/miniconda.html) / [Micromamba](https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html) (optional)\n\n### Install current release (for JupyterLab 4.x)\n\nThe current release version is displayed at the top of this page.\n\n  - Install from PyPI\n\n    ```bash\n    pip3 install --upgrade \"elyra[all]\"\n    ```\n\n  - Install from conda-forge\n\n    ```bash\n    conda install -c conda-forge \"elyra[all]\"\n    ```\n\n### Install older release\n\nInstallation instructions and JupyterLab support vary by release. Note that a JupyterLab build is required. Installation instructions are located in the [release-specific documentation](https://elyra.readthedocs.io/en/stable/), which can be accessed by selecting a specific version.\n\n\u003cdetails\u003e\n  \u003csummary\u003eElyra 4.x (JupyterLab 4.2.5+)\u003c/summary\u003e\n\n  - Install from PyPI\n\n    ```bash\n    pip3 install --upgrade \"elyra[all]\"\n    ```\n\n  - Install from conda-forge\n\n    ```bash\n    conda install -c conda-forge \"elyra[all]\"\n    ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eElyra 3.7 \u003c 4.0 (JupyterLab 3.x)\u003c/summary\u003e\n\n  - Install from PyPI\n\n    ```bash\n    pip3 install --upgrade \"elyra[all]\u003c4.0.0\"\n    ```\n\n  - Install from conda-forge\n\n    ```bash\n    conda install -c conda-forge \"elyra[all]\u003c4.0.0\"\n    ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eElyra 3.1 \u003c 3.7 (JupyterLab 3.x)\u003c/summary\u003e\n\n  - Install from PyPI\n\n    ```bash\n    pip3 install --upgrade \"elyra[all]\u003e=3.1.0\" \u0026\u0026 jupyter lab build\n    ```\n\n  - Install from conda-forge\n\n    ```bash\n    conda install -c conda-forge \"elyra[all]\u003e=3.1.0\" \u0026\u0026 jupyter lab build\n    ```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eElyra 2.0 \u003c 3.1 (JupyterLab 3.x)\u003c/summary\u003e\n\n  - Install from PyPI\n\n    ```bash\n    pip3 install --upgrade \"elyra\u003e=2.0.1\" \u0026\u0026 jupyter lab build\n    ```\n\n  - Install from conda-forge\n\n    ```bash\n    conda install -c conda-forge \"elyra\u003e=2.0.1\" \u0026\u0026 jupyter lab build\n    ```\n\u003c/details\u003e\n\n### Verify Installation\n\nRun 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.\n\n```bash\njupyter server extension list\n```\nShould output:\n```\nConfig dir: /.../.jupyter\n\nConfig dir: /.../etc/jupyter\n    elyra enabled\n    - Validating elyra...\n      elyra  OK\n    jupyter_lsp enabled\n    - Validating jupyter_lsp...\n      jupyter_lsp [version] OK\n    jupyter_resource_usage enabled\n    - Validating jupyter_resource_usage...\n      jupyter_resource_usage [version] OK\n    jupyter_server_mathjax enabled\n    - Validating jupyter_server_mathjax...\n      jupyter_server_mathjax  OK\n    jupyterlab enabled\n    - Validating jupyterlab...\n      jupyterlab [version] OK\n    jupyterlab_git enabled\n    - Validating jupyterlab_git...\n      jupyterlab_git [version] OK\n    nbclassic enabled\n    - Validating nbclassic...\n      nbclassic  OK\n    nbdime enabled\n    - Validating nbdime...\n      nbdime [version] OK\n\nConfig dir: /.../etc/jupyter\n```\n\nNOTE: If you don't see the Elyra server extension enabled, you may need to explicitly enable\nit with `jupyter server extension enable elyra`\n\n```bash\njupyter labextension list\n```\nShould output:\n```\nJupyterLab [version]\n/.../share/jupyter/labextensions\n        nbdime-jupyterlab [version] enabled OK\n        @jupyter-server/resource-usage [version] enabled OK (python, jupyter-resource-usage)\n        @krassowski/jupyterlab-lsp [version] enabled OK (python, jupyterlab_lsp)\n        @elyra/code-snippet-extension [version] enabled OK\n        @elyra/metadata-extension [version] enabled OK\n        @elyra/pipeline-editor-extension [version] enabled OK\n        @elyra/python-editor-extension [version] enabled OK\n        @elyra/scala-editor-extension [version] enabled OK\n        @elyra/r-editor-extension [version] enabled OK\n        @elyra/theme-extension [version] enabled OK\n        @jupyterlab/git [version] enabled OK (python, jupyterlab-git)\n\nOther labextensions (built into JupyterLab)\n   app dir: /.../share/jupyter/lab\n```\n\n## Starting Elyra\nAfter verifying Elyra has been installed, start Elyra with:\n```bash\njupyter lab\n```\n\n## Getting Help\n\nWe welcome your questions, ideas, and feedback. Check the [`Getting Help` section in the `Getting Started guide`](https://elyra.readthedocs.io/en/latest/getting_started/getting-help.html) to learn more about the channels you can use to get in touch with us.\n\n## Contributing to Elyra\nIf you are interested in helping make Elyra better, we encourage you to take a look at our\n[Contributing](CONTRIBUTING.md) page,\n[Development Workflow](https://elyra.readthedocs.io/en/latest/developer_guide/development-workflow.html)\ndocumentation, and invite you to attend our weekly dev community meetings.\n\n## Meetup with Us!\nOur daily and weekly community meeting schedule can be found [here](https://github.com/elyra-ai/community#daily-dev-meetings).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felyra-ai%2Felyra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felyra-ai%2Felyra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felyra-ai%2Felyra/lists"}