{"id":13419913,"url":"https://github.com/jupyterlab/jupyterlab","last_synced_at":"2026-02-11T02:26:04.363Z","repository":{"id":37270285,"uuid":"60374819","full_name":"jupyterlab/jupyterlab","owner":"jupyterlab","description":"JupyterLab computational environment.","archived":false,"fork":false,"pushed_at":"2025-09-02T19:49:30.000Z","size":277525,"stargazers_count":14784,"open_issues_count":2603,"forks_count":3717,"subscribers_count":301,"default_branch":"main","last_synced_at":"2025-09-03T08:52:24.287Z","etag":null,"topics":["jupyter","jupyterlab"],"latest_commit_sha":null,"homepage":"https://jupyterlab.readthedocs.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jupyterlab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"numfocus","custom":"https://numfocus.org/donate-to-jupyter"}},"created_at":"2016-06-03T20:09:17.000Z","updated_at":"2025-09-03T03:59:35.000Z","dependencies_parsed_at":"2022-08-08T20:00:44.475Z","dependency_job_id":"86f6433d-0a46-4ac4-b5c7-7e27193bf673","html_url":"https://github.com/jupyterlab/jupyterlab","commit_stats":{"total_commits":21131,"total_committers":625,"mean_commits":33.8096,"dds":0.7162935970848516,"last_synced_commit":"53cdf835ea595149afd2468f2f6b9c33fcde0347"},"previous_names":["jupyter/jupyterlab"],"tags_count":44762,"template":false,"template_full_name":null,"purl":"pkg:github/jupyterlab/jupyterlab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyterlab%2Fjupyterlab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyterlab%2Fjupyterlab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyterlab%2Fjupyterlab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyterlab%2Fjupyterlab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jupyterlab","download_url":"https://codeload.github.com/jupyterlab/jupyterlab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jupyterlab%2Fjupyterlab/sbom","scorecard":{"id":543203,"data":{"date":"2025-08-11","repo":{"name":"github.com/jupyterlab/jupyterlab","commit":"2ced567eda8d076a7c1a61a5b1a6bfed9e5e51d0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 14 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":"Code-Review","score":9,"reason":"Found 27/29 approved changesets -- score normalized to 9","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":"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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/license-header.yml:11","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/prep-release.yml:30","Warn: no topLevel permission defined: .github/workflows/benchmark.yml:1","Warn: no topLevel permission defined: .github/workflows/check-i18n.yml:1","Warn: no topLevel permission defined: .github/workflows/check-release.yml:1","Warn: topLevel 'security-events' permission set to 'write': .github/workflows/codeql-analysis.yml:19","Warn: no topLevel permission defined: .github/workflows/docker-test.yml:1","Warn: no topLevel permission defined: .github/workflows/enforce-label.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/galata-update.yml:8","Warn: no topLevel permission defined: .github/workflows/galata.yml:1","Warn: no topLevel permission defined: .github/workflows/license-header.yml:1","Warn: no topLevel permission defined: .github/workflows/linuxjs-tests.yml:1","Warn: no topLevel permission defined: .github/workflows/linuxtests.yml:1","Warn: no topLevel permission defined: .github/workflows/macostests.yml:1","Warn: no topLevel permission defined: .github/workflows/prep-release.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-changelog.yml:1","Warn: no topLevel permission defined: .github/workflows/publish-release.yml:1","Warn: no topLevel permission defined: .github/workflows/windowstests.yml:1"],"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/jupyterlab/.github/SECURITY.md:1","Info: Found linked content: github.com/jupyterlab/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/jupyterlab/.github/SECURITY.md:1","Info: Found text in security policy: github.com/jupyterlab/.github/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":"CII-Best-Practices","score":2,"reason":"badge detected: InProgress","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":"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":"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/answered.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/answered.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto_author_assign.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/auto_author_assign.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark-report.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark-report.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark-report.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark.yml:180: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/benchmark.yml:207: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yml:210: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/benchmark.yml:227: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/benchmark.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-i18n.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/check-i18n.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-i18n.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/check-i18n.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-release.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/check-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-release.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/check-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-release.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/check-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/check-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/codeql-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docker-test.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/docker-test.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/enforce-label.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/enforce-label.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata-update.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/galata-update.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/galata-update.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata-update.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata-update.yml:142: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/galata-update.yml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/galata-update.yml:210: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata-update.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/galata.yml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/galata.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:124: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:179: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/galata.yml:187: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/galata.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/labeler.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/labeler.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/license-header.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/license-header.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxjs-tests.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxjs-tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxjs-tests.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxjs-tests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:132: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:134: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:153: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:154: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:159: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:93: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linuxtests.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/linuxtests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lock.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/lock.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/macostests.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/macostests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/macostests.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/macostests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/prep-release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/prep-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/prep-release.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/prep-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-changelog.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-changelog.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-changelog.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-changelog.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-changelog.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-changelog.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/publish-release.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-release.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/publish-release.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/publish-release.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windowstests.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/windowstests.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/windowstests.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/jupyterlab/jupyterlab/windowstests.yml/main?enable=pin","Warn: containerImage not pinned by hash: docker/Dockerfile:4","Warn: containerImage not pinned by hash: docker/Dockerfile:52","Warn: pipCommand not pinned by hash: binder/postBuild:23","Warn: pipCommand not pinned by hash: scripts/ci_install.sh:30","Warn: pipCommand not pinned by hash: scripts/ci_install.sh:33","Warn: pipCommand not pinned by hash: scripts/ci_install.sh:33","Warn: pipCommand not pinned by hash: scripts/ci_install.sh:40","Warn: pipCommand not pinned by hash: scripts/ci_install.sh:45","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:50","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:105","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:233","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:235","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:237","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:255","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:290","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:405","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:429","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:453","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:464","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:465","Warn: pipCommand not pinned by hash: scripts/ci_script.sh:479","Warn: pipCommand not pinned by hash: scripts/release_prep.sh:25","Warn: pipCommand not pinned by hash: scripts/release_test.sh:21","Warn: pipCommand not pinned by hash: scripts/release_test.sh:45","Warn: pipCommand not pinned by hash: .github/workflows/check-i18n.yml:18","Warn: pipCommand not pinned by hash: .github/workflows/galata-update.yml:204","Warn: pipCommand not pinned by hash: .github/workflows/galata.yml:42","Warn: pipCommand not pinned by hash: .github/workflows/galata.yml:140","Warn: pipCommand not pinned by hash: .github/workflows/linuxtests.yml:142","Warn: pipCommand not pinned by hash: .github/workflows/linuxtests.yml:143","Warn: pipCommand not pinned by hash: .github/workflows/linuxtests.yml:118","Info:   0 out of  41 GitHub-owned GitHubAction dependencies pinned","Info:   1 out of  33 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of  29 pipCommand 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":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (28) 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":"Branch-Protection","score":-1,"reason":"internal error: error during GetBranch(4.4.x): error during branchesHandler.query: 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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v4.5.0a3 not signed: https://api.github.com/repos/jupyterlab/jupyterlab/releases/240215923","Warn: release artifact v4.4.6 not signed: https://api.github.com/repos/jupyterlab/jupyterlab/releases/240200018","Warn: release artifact v4.5.0a2 not signed: https://api.github.com/repos/jupyterlab/jupyterlab/releases/238628436","Warn: release artifact v4.4.5 not signed: https://api.github.com/repos/jupyterlab/jupyterlab/releases/233739846","Warn: release artifact v4.4.4 not signed: https://api.github.com/repos/jupyterlab/jupyterlab/releases/228532396","Warn: release artifact v4.5.0a3 does not have provenance: https://api.github.com/repos/jupyterlab/jupyterlab/releases/240215923","Warn: release artifact v4.4.6 does not have provenance: https://api.github.com/repos/jupyterlab/jupyterlab/releases/240200018","Warn: release artifact v4.5.0a2 does not have provenance: https://api.github.com/repos/jupyterlab/jupyterlab/releases/238628436","Warn: release artifact v4.4.5 does not have provenance: https://api.github.com/repos/jupyterlab/jupyterlab/releases/233739846","Warn: release artifact v4.4.4 does not have provenance: https://api.github.com/repos/jupyterlab/jupyterlab/releases/228532396"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-rm97-x556-q36h","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"],"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-20T08:45:33.737Z","repository_id":37270285,"created_at":"2025-08-20T08:45:33.737Z","updated_at":"2025-08-20T08:45:33.737Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273453710,"owners_count":25108473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"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":["jupyter","jupyterlab"],"created_at":"2024-07-30T22:01:22.723Z","updated_at":"2026-02-11T02:26:04.356Z","avatar_url":"https://github.com/jupyterlab.png","language":"TypeScript","funding_links":["https://github.com/sponsors/numfocus","https://numfocus.org/donate-to-jupyter"],"categories":["TypeScript","JavaScript","JavaScript (71)","\u003cimg src=\"./assets/satellite.svg\" width=\"16\" height=\"16\" style=\"vertical-align: middle;\"\u003e Satellites","Experimentation \u0026 Notebooks","Extensions","HarmonyOS","others","Apps","jupyter","Packages for Development","Tools","Machine Learning and AI","工具与库","Notebook Environments","Runtimes/Frontends","Reproducibilidad y Operación Experimental"],"sub_categories":["Windows Manager","AI","Venues for Publication","Data Science and Analytics","Jupyter","Etapas de Autonomía del Agent"],"readme":"**[Installation](#installation)** |\n**[Documentation](https://jupyterlab.readthedocs.io)** |\n**[Contributing](#contributing)** |\n**[License](#license)** |\n**[Team](#team)** |\n**[Getting help](#getting-help)** |\n\n# [JupyterLab](https://jupyterlab.readthedocs.io)\n\n[![PyPI version](https://badge.fury.io/py/jupyterlab.svg)](https://badge.fury.io/py/jupyterlab)\n[![PyPI Downloads](https://static.pepy.tech/personalized-badge/jupyterlab?period=monthly\u0026units=INTERNATIONAL_SYSTEM\u0026left_color=GRAY\u0026right_color=GREEN\u0026left_text=downloads)](https://pepy.tech/projects/jupyterlab)\n[![Build Status](https://github.com/jupyterlab/jupyterlab/workflows/Linux%20Tests/badge.svg)](https://github.com/jupyterlab/jupyterlab/actions?query=branch%3Amain+workflow%3A%22Linux+Tests%22)\n[![Build Status](https://github.com/jupyterlab/jupyterlab/workflows/Windows%20Tests/badge.svg)](https://github.com/jupyterlab/jupyterlab/actions?query=branch%3Amain+workflow%3A%22Windows+Tests%22)\n[![Documentation Status](https://readthedocs.org/projects/jupyterlab/badge/?version=stable)](http://jupyterlab.readthedocs.io/en/stable/)\n[![Crowdin](https://badges.crowdin.net/jupyterlab/localized.svg)](https://crowdin.com/project/jupyterlab)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8675/badge)](https://www.bestpractices.dev/projects/8675)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/jupyterlab/jupyterlab/badge)](https://scorecard.dev/viewer/?uri=github.com/jupyterlab/jupyterlab)\n[![GitHub](https://img.shields.io/badge/issue_tracking-github-blue.svg)](https://github.com/jupyterlab/jupyterlab/issues)\n[![Discourse](https://img.shields.io/badge/help_forum-discourse-blue.svg)](https://discourse.jupyter.org/c/jupyterlab)\n[![Zulip](https://img.shields.io/badge/social_chat-zulip-blue.svg)](https://jupyter.zulipchat.com/#narrow/channel/469762-jupyterlab)\n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/HEAD?urlpath=lab/tree/demo)\n\nAn extensible environment for interactive and reproducible computing, based on the\nJupyter Notebook and Architecture.\n\n[JupyterLab](http://jupyterlab.readthedocs.io/en/stable/) is the next-generation user interface for [Project Jupyter](https://jupyter.org) offering\nall the familiar building blocks of the classic Jupyter Notebook (notebook,\nterminal, text editor, file browser, rich outputs, etc.) in a flexible and\npowerful user interface.\n\nJupyterLab can be extended using [npm](https://www.npmjs.com/) packages\nthat use our public APIs. The _prebuilt_ extensions can be distributed\nvia [PyPI](https://pypi.org/search/?q=jupyterlab\u0026o=-created\u0026c=Framework+%3A%3A+Jupyter),\nconda, and other package managers. The _source_ extensions can be installed\ndirectly from npm (search for [jupyterlab-extension](https://www.npmjs.com/search?q=keywords:jupyterlab-extension)) but require an additional build step.\nYou can also find JupyterLab extensions exploring GitHub topic [jupyterlab-extension](https://github.com/topics/jupyterlab-extension).\nTo learn more about extensions, see the [user documentation](https://jupyterlab.readthedocs.io/en/latest/user/extensions.html).\n\nRead the current JupyterLab documentation on [ReadTheDocs](http://jupyterlab.readthedocs.io/en/stable/).\n\n\u003e [!IMPORTANT]\n\u003e JupyterLab 3 reached its end of maintenance date on May 15, 2024. Fixes for critical issues were backported until December 31, 2024. If you are still running JupyterLab 3, we strongly encourage you to **upgrade to JupyterLab 4 as soon as possible.** For more information, see [JupyterLab 3 end of maintenance](https://blog.jupyter.org/jupyterlab-3-end-of-maintenance-879778927db2) on the Jupyter Blog.\n\n---\n\n## Getting started\n\n### Installation\n\nIf you use [conda](https://docs.conda.io/en/latest/), [mamba](https://mamba.readthedocs.io/en/latest/), or [pip](https://docs.python.org/3/installing/index.html), you can install JupyterLab with one of the following commands.\n\n- If you use conda:\n  ```shell\n  conda install -c conda-forge jupyterlab\n  ```\n- If you use mamba:\n  ```shell\n  mamba install -c conda-forge jupyterlab\n  ```\n- If you use pip:\n  ```shell\n  pip install jupyterlab\n  ```\n  If installing using `pip install --user`, you must add the user-level `bin` directory to your `PATH` environment variable in order to launch `jupyter lab`. If you are using a Unix derivative (e.g., FreeBSD, GNU/Linux, macOS), you can do this by running `export PATH=\"$HOME/.local/bin:$PATH\"`.\n\nFor more detailed instructions, consult the [installation guide](http://jupyterlab.readthedocs.io/en/latest/getting_started/installation.html). Project installation instructions from the git sources are available in the [contributor documentation](CONTRIBUTING.md).\n\n#### Installing with Previous Versions of Jupyter Notebook\n\nWhen using a version of Jupyter Notebook earlier than 5.3, the following command must be run after installing JupyterLab to enable the JupyterLab server extension:\n\n```bash\njupyter serverextension enable --py jupyterlab --sys-prefix\n```\n\n### Running\n\nStart up JupyterLab using:\n\n```bash\njupyter lab\n```\n\nJupyterLab will open automatically in the browser. See the [documentation](http://jupyterlab.readthedocs.io/en/latest/getting_started/starting.html) for additional details.\n\nIf you encounter an error like \"Command 'jupyter' not found\", please make sure `PATH` environment variable is set correctly. Alternatively, you can start up JupyterLab using `~/.local/bin/jupyter lab` without changing the `PATH` environment variable.\n\n### Prerequisites and Supported Browsers\n\nThe latest versions of the following browsers are currently _known to work_:\n\n- Firefox\n- Chrome\n- Safari\n\nSee our [documentation](http://jupyterlab.readthedocs.io/en/latest/getting_started/installation.html) for additional details.\n\n---\n\n## Getting help\n\nWe encourage you to ask questions on the [Discourse forum](https://discourse.jupyter.org/c/jupyterlab). A question answered there can become a useful resource for others.\n\n### Bug report\n\nTo report a bug please read the [guidelines](https://jupyterlab.readthedocs.io/en/latest/getting_started/issue.html) and then open a [Github issue](https://github.com/jupyterlab/jupyterlab/issues/new?labels=bug%2C+status%3ANeeds+Triage\u0026template=bug_report.md). To keep resolved issues self-contained, the [lock bot](https://github.com/apps/lock) will lock closed issues as resolved after a period of inactivity. If a related discussion is still needed after an issue is locked, please open a new issue and reference the old issue.\n\n### Feature request\n\nWe also welcome suggestions for new features as they help make the project more useful for everyone. To request a feature please use the [feature request template](https://github.com/jupyterlab/jupyterlab/issues/new?labels=enhancement%2C+status%3ANeeds+Triage\u0026template=feature_request.md).\n\n---\n\n## Development\n\n### Extending JupyterLab\n\nTo start developing an extension for JupyterLab, see the [developer documentation](https://jupyterlab.readthedocs.io/en/latest/extension/extension_dev.html) and the [API docs](https://jupyterlab.readthedocs.io/en/latest/api/).\n\n### Contributing\n\nTo contribute code or documentation to JupyterLab itself, please read the [contributor documentation](https://jupyterlab.readthedocs.io/en/latest/developer/contributing.html).\n\nJupyterLab follows the Jupyter [Community Guides](https://jupyter.readthedocs.io/en/latest/community/content-community.html).\n\n### License\n\nJupyterLab uses a shared copyright model that enables all contributors to maintain the\ncopyright on their contributions. All code is licensed under the terms of the revised [BSD license](https://github.com/jupyterlab/jupyterlab/blob/main/LICENSE).\n\n### Team\n\nJupyterLab is part of [Project Jupyter](https://jupyter.org/) and is developed by an open community. The maintenance team is assisted by a much larger group of contributors to JupyterLab and Project Jupyter as a whole.\n\nJupyterLab's current maintainers are listed in alphabetical order, with affiliation, and main areas of contribution:\n\n- Mehmet Bektas, Netflix (general development, extensions).\n- Alex Bozarth, IBM (general development, extensions).\n- Eric Charles, Datalayer, (general development, extensions).\n- Frédéric Collonval, WebScIT (general development, extensions).\n- Martha Cryan, Mito (general development, extensions).\n- Afshin Darian, QuantStack (co-creator, application/high-level architecture,\n  prolific contributions throughout the code base).\n- Vidar T. Fauske, JPMorgan Chase (general development, extensions).\n- Brian Granger, AWS (co-creator, strategy, vision, management, UI/UX design,\n  architecture).\n- Jason Grout, Databricks (co-creator, vision, general development).\n- Michał Krassowski, Quansight (general development, extensions).\n- Max Klein, JPMorgan Chase (UI Package, build system, general development, extensions).\n- Gonzalo Peña-Castellanos, QuanSight (general development, i18n, extensions).\n- Fernando Perez, UC Berkeley (co-creator, vision).\n- Steven Silvester, MongoDB (co-creator, release management, packaging,\n  prolific contributions throughout the code base).\n- Jeremy Tuloup, QuantStack (general development, extensions).\n\nMaintainer emeritus:\n\n- Chris Colbert, Project Jupyter (co-creator, application/low-level architecture,\n  technical leadership, vision, PhosphorJS)\n- Jessica Forde, Project Jupyter (demo, documentation)\n- Tim George, Cal Poly (UI/UX design, strategy, management, user needs analysis).\n- Cameron Oelsen, Cal Poly (UI/UX design).\n- Isabela Presedo-Floyd, QuanSight Labs (design/UX).\n- Ian Rose, Quansight/City of LA (general core development, extensions).\n- Andrew Schlaepfer, Bloomberg (general development, extensions).\n- Saul Shanabrook, Quansight (general development, extensions)\n\nThis list is provided to give the reader context on who we are and how our team functions.\nTo be listed, please submit a pull request with your information.\n\n---\n\n### Weekly Dev Meeting\n\nWe have videoconference meetings every week where we discuss what we have been working on and get feedback from one another.\n\nAnyone is welcome to attend, if they would like to discuss a topic or just listen in.\n\n- When: Wednesdays 9:00 AM Pacific Time (USA)\n- Where: [`jovyan` Zoom](https://zoom.us/j/95228013874?pwd=Ep7HIk8t9JP6VToxt1Wj4P7K5PshC0.1)\n- What: [Meeting notes](https://hackmd.io/Y7fBMQPSQ1C08SDGI-fwtg?both)\n\n\u003e Notes are archived on [GitHub Jupyter Frontends team compass](https://github.com/jupyterlab/frontends-team-compass/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupyterlab%2Fjupyterlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjupyterlab%2Fjupyterlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjupyterlab%2Fjupyterlab/lists"}