Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Jupyter Enhancement Proposals

This repository contains enhancement proposals for the Jupyter ecosystem, known as Jupyter Enhancement Proposals or JEPs. Jupyter Enhancement Proposals will be used when presenting changes or additions that affect multiple components of the Jupyter ecosystem OR changes to a single key component.

See the Enhancement Proposal Guidelines for more information.

Nicely rendered version of the JEPs:

Index of JEPs

Below is a list of JEPs that have been Submitted in the past.

If a JEP is in the Submitted state, a pull-request is currently open for conversation and comments. If a JEP is in the Accepted state, the JEP has been merged into this repository, and work is encouraged to commence on the topic.

Number Status Title PR
0004 Withdrawn New Notebook Format for improved workflow integration #04
0007 Withdrawn Jupyter Extension Generator #07
0008 Implemented Diffing and Merging Notebooks #08
0012 Implemented Kernel Gateway #12
0014 Submitted Kernel Nanny #14
0015 Withdrawn Layout Namespaces and Discovery #15
0016 Submitted Notebook Translation and Localization #16
0017 Implemented Dashboards Notebook Extension #17
0018 Implemented Declarative Widgets Extension #18
0022 Implemented Move Dashboards Deployment Projects from Incubator to Attic #22
0023 Submitted Jupyter Template as Metadata #23
0024 Submitted Simplifying Error Reporting in Jupyter Protocol #24
0025 Implemented Enterprise Gateway #25
0026 Withdrawn Add Language Server Support to Jupyter Server and jupyterlab-monaco #26
0028 Implemented Standalone Jupyter Server #28
0029 Implemented Jupyter Enhancement Proposal updates #29
0042 Implemented Voila Incorporation #43
0044 Implemented Xeus Incorporation #44
0047 Implemented Jupyter Debugger Protocol #47
0062 Implemented Cell ID Addition to Notebook Format #62
0065 Accepted Replace PUB socket with XPUB socket #65
0072 Accepted Language server protocol (LSP) #72
0079 Accepted Build Jupyter Notebook v7 off of JupyterLab components #79
0108 Accepted Subdomain and repository for publishing schemas under #108

How do I submit a JEP?

In order to submit a JEP, first read the Jupyter Enhancement Proposal Submission Guidelines which describes the JEP process.

In addition, read the JEP proposal template for guidance on the questions you should answer before officially submitting the JEP.

Docs hosting

We use a GitHub action to build the documentation with Sphinx and push it to the gh-pages branch of the repository. This is then hosted at

We use a ReadTheDocs build to automatically generate previews of the documentation for Pull Requests. However this is not the publicly-hosted version of the documentation, it is just for PRs.

Build the enhancement proposal docs

The Enhancement Proposal documentation is structured as a Sphinx documentation site that uses a them and configuration inspired by Jupyter Book.

To build the documentation locally, use the nox automation and environment management tool. Follow these steps:

  • Install nox:

    $ pip install nox
  • Build the docs from the enhancement-proposals folder:

    $ nox -s docs

This will automatically install the environment needed to build the documentation, and then place the output HTML in the _build/html folder.

To build the documentation with a live reload server, run:

$ nox -s docs-live

To manually install and build the documentation with Sphinx, install the requirements in requirements.txt and then run sphinx-build . _build/html.


Enhancement proposals for the Jupyter Ecosystem




Code of conduct

Security policy





No releases published


No packages published