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: https://jupyter.org/enhancement-proposals
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 |
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 jupyter.org/enhancement-proposals
.
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
.