skillfed

notebook-shim

A shim layer for notebook traits and config

notebook-shim Permissive 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) DORMANT v0.2.4 released

Install

notebook-shim on PyPI

pip

pip install notebook-shim

uv

uv add notebook-shim

poetry

poetry add notebook-shim

Package 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

Framework :: JupyterIntended Audience :: DevelopersIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

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):

Read as markdown · JSON record

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)
jupyter server migrationnotebook to jupyter serverjupyter extension compatibilitynotebookapp shim layerjupyter server traitsnotebook config migration

Similar packages