notebook-shim
A shim layer for notebook traits and config
Install
notebook-shim on PyPI
pip
pip install notebook-shimuv
uv add notebook-shimpoetry
poetry add notebook-shimPackage facts
| License | BSD 3-Clause License Copyright (c) 2022 Project Jupyter Contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — jupyter-server |
| Maintenance | dormant — 911 days since the last release |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: notebook_shim-0.2.4-py3-none-any.whl
Keywords: ipython, jupyter
About notebook-shim
from the package's own PyPI description — quoted content, verbatim
Notebook Shim
This project provides a way for JupyterLab and other frontends to switch to Jupyter Server for their Python Web application backend.
Basic Usage
Install from PyPI:
pip install notebook_shim
This will automatically enable the extension in Jupyter Server.
Usage
This project also includes an API for shimming traits that moved from NotebookApp in to ServerApp in Jupyter Server. This can be used by applications that subclassed NotebookApp to leverage the Python server backend of Jupyter Notebooks. Such extensions should now switch to ExtensionApp API in Jupyter Server and add NotebookConfigShimMixin in their inheritance list to properly handle moved traits.
For example, an application class that previously looked like:
from notebook.notebookapp import NotebookApp
class MyApplication(NotebookApp):
should switch to look something like:
from jupyter_server.extension.application import ExtensionApp
from notebook_shim.shim import NotebookConfigShimMixin
class MyApplication(NotebookConfigShimMixin, ExtensionApp):
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Provides a compatibility layer enabling JupyterLab and other frontends to migrate from the legacy Notebook application to Jupyter Server, including trait shimming for extensions that previously subclassed NotebookApp.
Low friction: pure Python wheel with a single runtime dependency on jupyter-server. Maintenance is dormant—last release was 911 days ago—but the package is stable and unlikely to require frequent updates given its role as a compatibility bridge.
BSD 3-Clause permissive license allows free use, modification, and distribution with minimal restrictions, making it safe for both open-source and proprietary projects.
Usage
pip install notebook_shim
from jupyter_server.extension.application import ExtensionApp
from notebook_shim.shim import NotebookConfigShimMixin
class MyApplication(NotebookConfigShimMixin, ExtensionApp):
pass
Requires Python 3.7 or later and jupyter-server to be installed.
Verdict: A stable, low-friction compatibility bridge for migrating Jupyter extensions from NotebookApp to Jupyter Server. No known vulnerabilities and permissive licensing make it safe to adopt. Dormant maintenance is appropriate for a shim layer; use it if you are actively migrating an extension or frontend.
Needs verification
- Whether dormant status reflects intentional stability or abandonment risk for future Jupyter Server API changes
- Compatibility with Jupyter Server versions beyond those tested at last release (0.2.4, Feb 2024)
Similar packages
permissive · top 1,000 on PyPI
jupyterlabpermissive · top 1,000 on PyPI
jupyterlab-serverpermissive · top 1,000 on PyPI
jupyter-serverpermissive · top 1,000 on PyPI
jupyterlab-widgetspermissive · top 1,000 on PyPI
matplotlib-inlinepermissive · top 1,000 on PyPI
notebookpermissive · top 1,000 on PyPI
traitletspermissive · top 1,000 on PyPI
ipykernelpermissive · top 1,000 on PyPI
nbformatpermissive · top 1,000 on PyPI