jupyterlab-server
A set of server components for JupyterLab and JupyterLab like applications.
Decision gist · record as of 2026-08-14
Yes, if you are building a JupyterLab-like application or extending JupyterLab with custom server-side functionality. The package is stable, well-maintained despite aging release cadence, has no known vulnerabilities, and is widely used (top 1000 on PyPI). Not necessary for end users simply running JupyterLab.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- Intended for developers extending JupyterLab or building JupyterLab-like applications, not for end users of JupyterLab itself.
- Low friction installation with a pure-Python wheel.
License · maintenance · safety
permissive license (permissive) — BSD License (permissive). You may use, modify, and distribute this package freely in commercial and private projects, provided you retain the copyright notice and disclaimer.
last release 2025-10-22 (296 days) · last repo commit 2025-10-22 · 152 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 44,712,927 downloads/mo, #627 on PyPI
Alternatives
Verify before relying
pip install jupyterlab_server
from jupyterlab_server import LabServerApp
class MyApp(LabServerApp):
pass- Whether the 296-day gap since last release indicates maintenance is slowing or if releases are infrequent by design for a stable component.
- Specific REST API endpoints and handlers available—the fact sheet references API docs but does not enumerate them.
What it is and what it does
jupyterlab_server is a middleware layer that bridges JupyterLab (the frontend) and Jupyter Server (the backend). It provides REST API handlers and utility functions that JupyterLab uses to communicate with the server, and it is designed to be subclassed and extended to build JupyterLab-like applications with custom traits and handlers.
The package depends on eight runtime libraries including jinja2 for templating, jsonschema for validation, and requests for HTTP communication. It is primarily useful for developers building custom JupyterLab-based applications or extensions, not for end users installing JupyterLab itself. Optional extras are available for OpenAPI documentation and pytest integration.
Use it for
- Build a custom JupyterLab-like application by subclassing LabServerApp and adding domain-specific handlers and traits.
- Extend JupyterLab with additional REST endpoints that integrate with Jupyter Server.
- Create a lightweight notebook interface for a specific use case without building a full JupyterLab clone from scratch.
- Integrate JupyterLab's UI framework with a custom backend service architecture.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building a JupyterLab-like application or extending JupyterLab with custom server-side functionality.
The package is stable, well-maintained despite aging release cadence, has no known vulnerabilities, and is widely used (top 1000 on PyPI). Not necessary for end users simply running JupyterLab.
Install
jupyterlab-server on PyPI
Before you install
Low friction installation with a pure-Python wheel. Maintenance status is aging—the last release was 296 days ago—but the repository remains active and not archived, suggesting the package is stable rather than abandoned.
Requires Python 3.8 or later. Intended for developers extending JupyterLab or building JupyterLab-like applications, not for end users of JupyterLab itself.
License in practice
BSD License (permissive). You may use, modify, and distribute this package freely in commercial and private projects, provided you retain the copyright notice and disclaimer.
Quickstart
pip install jupyterlab_server
from jupyterlab_server import LabServerApp
class MyApp(LabServerApp):
pass
Verify before relying
- Whether the 296-day gap since last release indicates maintenance is slowing or if releases are infrequent by design for a stable component.
- Specific REST API endpoints and handlers available—the fact sheet references API docs but does not enumerate them.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 8 packagesbabelimportlib-metadatajinja2json5jsonschemajupyter-serverpackagingrequests |
| Maintenance | Aging 296 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 44,712,927 / month, #627 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: JupyterFramework :: Jupyter :: JupyterLabIntended Audience :: DevelopersIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Typing :: Typed |
Evidence: jupyterlab_server-2.28.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 server api”
- jupyterlab-serverProvides REST API handlers and utilities that sit between JupyterLab…
- jupyter-serverJupyter Server provides the backend services, APIs, and REST…
- jupyterlab-commands-toolkitExposes JupyterLab commands to Python code and AI assistants via a…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
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.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
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.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also jupyter-server-documents · jupyterlab-commands-toolkit · notebook-shim · jupyterlab-chat · jupyterlab-widgets · jupyter-events · jupyterlab · jupyter_bokeh · jupyter-collaboration-ui · jupyterlab_notebook_awareness