jupyterlab-lsp
Coding assistance for JupyterLab with Language Server Protocol
Decision gist · record as of 2026-08-14
Yes. The extension is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It significantly enhances JupyterLab's code-editing experience by adding IDE-like features. Install it if you use JupyterLab 4.1+ and want better code intelligence; the main requirement is installing language servers separately for each language you want to use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires JupyterLab >=4.1.0,<5.0.0a0 and Python 3.9+.
- Language servers for your target languages must be installed separately.
- Low friction install as a pure Python wheel.
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you can use, modify, and distribute this extension freely with minimal restrictions. No licensing concerns for most development workflows.
last release 2026-04-02 (134 days) · last repo commit 2026-06-21 · 2,000 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 143,031 downloads/mo, #11,187 on PyPI
Alternatives
Verify before relying
pip install jupyterlab-lsp
# Restart JupyterLab and hover over code to see tooltips and completions- Which language servers are supported and how to install them for each language.
- Performance impact of running LSP alongside kernel completions in notebooks with large codebases.
- Compatibility with custom JupyterLab themes or other extensions that modify the editor.
What it is and what it does
jupyterlab-lsp is a JupyterLab extension that brings Language Server Protocol support to the notebook and file editor, enabling IDE-like code intelligence without running a kernel. It provides hover tooltips with function signatures and documentation, real-time diagnostics with color-coded severity, jump-to-definition and reference navigation, automatic completion triggered by language-specific characters, and symbol renaming across files. The extension merges static-analysis completions from LSP servers with runtime suggestions from a running kernel when available, falling back to LSP-only completions if the kernel is slow to respond.
The package depends on jupyter_lsp and jupyterlab. Language servers themselves are installed separately and configured through JupyterLab's Advanced Settings editor. It supports Python, R, bash, TypeScript, and other languages via their respective LSP implementations. No kernel is required for basic code assistance, making it useful for quick edits and exploration.
Use it for
- Get IDE-like autocompletion and hover documentation in JupyterLab notebooks without starting a kernel.
- Jump to function and class definitions across your codebase directly from the notebook editor.
- See real-time diagnostics (errors, warnings) as you type, with detailed messages on hover.
- Rename variables, functions, and symbols consistently across multiple files in a project.
- Merge static-analysis completions with runtime kernel suggestions for richer code hints in notebooks.
- Work with multiple programming languages in a single JupyterLab environment.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The extension is actively maintained, has no known vulnerabilities, low install friction, and a permissive license. It significantly enhances JupyterLab's code-editing experience by adding IDE-like features. Install it if you use JupyterLab 4.1+ and want better code intelligence; the main requirement is installing language servers separately for each language you want to use.
Install
jupyterlab-lsp on PyPI
Before you install
Low friction install as a pure Python wheel. Actively maintained with recent releases; the repository shows 2000 stars and current activity. Requires JupyterLab >=4.1.0,<5.0.0a0 and Python 3.9+ at runtime.
Requires JupyterLab >=4.1.0,<5.0.0a0 and Python 3.9+. Language servers for your target languages must be installed separately.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute this extension freely with minimal restrictions. No licensing concerns for most development workflows.
Quickstart
pip install jupyterlab-lsp
# Restart JupyterLab and hover over code to see tooltips and completions
Verify before relying
- Which language servers are supported and how to install them for each language.
- Performance impact of running LSP alongside kernel completions in notebooks with large codebases.
- Compatibility with custom JupyterLab themes or other extensions that modify the editor.
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesjupyter_lspjupyterlab |
| Maintenance | Actively maintained 134 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 143,031 / month, #11,187 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: JupyterFramework :: Jupyter :: JupyterLabFramework :: Jupyter :: JupyterLab :: 4Framework :: Jupyter :: JupyterLab :: ExtensionsFramework :: Jupyter :: JupyterLab :: Extensions :: PrebuiltIntended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Information TechnologyLicense :: OSI Approved :: BSD LicenseProgramming Language :: Python |
Evidence: jupyterlab_lsp-5.3.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “jupyterlab code completion”
- jupyterlab-lspAdds Language Server Protocol (LSP) integration to JupyterLab,…
- jupyter-lspBridges Language Server Protocol servers to Jupyter Notebook and Lab…
- jupyterlab-pygmentsProvides a Pygments syntax highlighting theme that applies…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also jupyter-lsp · lsprotocol · pygls · python-lsp-server · jedi-language-server · ruff-lsp · python-lsp-ruff · leanclient · pylsp-mypy · python-language-server