-
Notifications
You must be signed in to change notification settings - Fork 3
History of jupyter start document #32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
chbrandt
wants to merge
5
commits into
jupyter:main
Choose a base branch
from
chbrandt:history_of_jupyter
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,184 @@ | ||
# Jupyter Subprojects | ||
|
||
Project Jupyter is composed by many subprojects, each focusing on different aspects of the Jupyter ecosystem. | ||
Regarding their governance, some subprojects have their own Council and SSC (Software Steering Committee), and the others are governed directly by the Project SSC. | ||
|
||
The major subprojects with their own formal Subproject Council are: | ||
|
||
- JupyterLab: An extensible environment for interactive and reproducible computing. | ||
- JupyterHub and Binder: Focused on multi-user capabilities and sharing of interactive notebooks. | ||
* JupyterHub: Multi-user version of the notebook. | ||
* Binder: Allows turning a Git repository into a collection of interactive notebooks. | ||
* BinderHub: Related to Binder, focusing on the deployment aspect. | ||
- Voilà: Turns Jupyter notebooks into interactive web applications. | ||
- Jupyter Server: Provides the backend (core services, APIs, and REST endpoints) for Jupyter web applications. | ||
* Enterprise Gateway: Enhances Jupyter Server for enterprise needs. | ||
* Kernel Gateway: Simplifies the process of running Jupyter kernels. | ||
- Jupyter Widgets: Interactive widgets for the Jupyter notebook. | ||
- Jupyter Notebook: The traditional web application for creating and sharing Jupyter notebooks. | ||
- Jupyter Kernels: Focused on the computational engines for various programming languages. | ||
- jupyter-xeus: A collection of Jupyter kernels. | ||
- IPykernel: The IPython kernel for Jupyter. | ||
- IPython: Provides a rich toolkit to help you make the most out of using Python interactively. | ||
- Jupyter Foundations and Standards: Focuses on foundational components and standards across Jupyter projects. | ||
- Jupyter Security: Addresses security-related aspects of Jupyter projects. | ||
- Jupyter Accessibility: Dedicated to ensuring Jupyter projects are accessible to all users. | ||
|
||
Smaller, less active subprojects include: | ||
|
||
- nbdime: Tools for diffing and merging Jupyter notebooks. | ||
- nbgrader: A system for assigning and grading Jupyter notebooks. | ||
- nbviewer: Shares Jupyter notebooks as static HTML on the web. | ||
- ipyparallel: A package for parallel and distributed computing in Python using IPython. | ||
- QtConsole: A rich Qt-based console for working with Jupyter kernels, maintained by the Spyder team. | ||
|
||
Additionally, there are various other repositories that form part of the broader Jupyter ecosystem, including services like Binder and nbviewer. These services are generally managed by working groups that report to the Executive Council of Project Jupyter. | ||
|
||
For a complete and detailed list, you can refer to the official Jupyter documentation and the Jupyter governance repository on GitHub. | ||
|
||
## Official list diagram | ||
|
||
- https://jupyter.org/governance/list_of_subprojects.html | ||
|
||
## Jupyter Project Subprojects (website) | ||
|
||
### Official Subprojects with SSC Representation | ||
|
||
- **JupyterLab** | ||
- **JupyterHub and Binder** | ||
- JupyterHub | ||
- Binder | ||
- BinderHub | ||
- **Voilà** | ||
- **Jupyter Server** | ||
- Jupyter Server | ||
- Enterprise Gateway | ||
- Kernel Gateway | ||
- **Jupyter Widgets** | ||
- **Jupyter Notebook** | ||
- **Jupyter Kernels** | ||
- jupyter-xeus | ||
- IPykernel | ||
- IPython | ||
- **Jupyter Foundations and Standards** | ||
- **Jupyter Security** | ||
- **Jupyter Accessibility** | ||
|
||
### Official Subprojects without SSC Representation | ||
|
||
- nbdime (jupyter/nbdime) | ||
- nbgrader (jupyter/nbgrader) | ||
- nbviewer (jupyter/nbviewer) | ||
- ipyparallel (ipython/ipyparallel) | ||
- QtConsole (jupyter/qtconsole) | ||
|
||
### Part of Jupyter Foundations and Standards | ||
|
||
- Jupyter Client (jupyter/jupyter_client) | ||
- Jupyter Notebook Format (jupyter/nbformat) | ||
- JEPs repo (jupyter/enhancement-proposals) | ||
- nbconvert (jupyter/nbconvert) | ||
- Jupyter Core (jupyter/jupyter_core) | ||
- Jupyter-packaging (jupyter/jupyter-packaging) | ||
- Terminado (jupyter/terminado) | ||
- nbclient (jupyter/nbclient) | ||
- Telemetry (jupyter/telemetry) | ||
- Traitlets (ipython/traitlets) | ||
- Jupyter Console (jupyter/jupyter_console) | ||
- Docker stacks (jupyter/docker-stacks) | ||
|
||
|
||
## Jupyter Project Subprojects (categorized) | ||
|
||
### Applications and Interfaces | ||
- IPython | ||
- Jupyter Notebook | ||
- JupyterHub | ||
- JupyterLab | ||
|
||
- Binder/BinderHub | ||
- Voilà | ||
|
||
### Server and Gateway | ||
- Jupyter Server | ||
- Enterprise Gateway | ||
- Kernel Gateway | ||
|
||
- Jupyter Console | ||
|
||
### Widgets and Interactive Tools | ||
- Jupyter Widgets | ||
- QtConsole | ||
|
||
### Kernels and Computational Engines | ||
- Jupyter Kernels | ||
- jupyter-xeus | ||
- IPykernel | ||
- ipyparallel | ||
|
||
### Security and Accessibility | ||
- Jupyter Security | ||
- Jupyter Accessibility | ||
|
||
### Foundations and Standards | ||
- Jupyter Notebook Format (nbformat) | ||
- Jupyter Core | ||
- Jupyter Client | ||
- Jupyter-packaging | ||
- Terminado | ||
- Telemetry | ||
- Traitlets | ||
|
||
### NB tools | ||
- nbclient | ||
- nbconvert | ||
- nbdime | ||
- nbgrader | ||
- nbviewer | ||
|
||
### Miscellaneous | ||
- JEPs repo (Jupyter Enhancement Proposals) | ||
- Docker stacks | ||
|
||
|
||
----- | ||
## High-Level Overview of Jupyter Subprojects Dependency Diagram | ||
|
||
### Applications and Interfaces | ||
- **JupyterLab**: Depends on Jupyter Server, Jupyter Widgets, IPykernel, and nbformat. | ||
- **Jupyter Notebook**: Depends on Jupyter Server, nbformat, nbconvert. | ||
- **JupyterHub**: Integrates with Binder, JupyterLab, Jupyter Notebook. | ||
- **Binder/BinderHub**: Relies on JupyterHub, JupyterLab, Jupyter Notebook. | ||
|
||
### Server and Gateway | ||
- **Jupyter Server**: Core server for Jupyter applications. Dependencies include nbformat, Jupyter Client. | ||
- **Enterprise Gateway**: Extends Jupyter Server for enterprise needs. | ||
- **Kernel Gateway**: Simplifies the management of Jupyter kernels. | ||
|
||
### Widgets and Interactive Tools | ||
- **Jupyter Widgets**: Integrated with JupyterLab and Jupyter Notebook. | ||
|
||
### Kernels | ||
- **IPykernel**: Primary Python kernel, based on IPython. | ||
- **jupyter-xeus**: Set of Jupyter kernels. | ||
- Other Kernels: Various language kernels connecting to Jupyter interfaces. | ||
|
||
### Foundations and Standards | ||
- **Jupyter Client**: Used by Jupyter Server and various kernels. | ||
- **nbformat**: Fundamental for Jupyter Notebook, JupyterLab, nbviewer, nbconvert. | ||
- **Jupyter Core**: Basic components used across Jupyter applications. | ||
- **Terminado**, **nbclient**, **Telemetry**, **Traitlets**: Utilities and libraries supporting various Jupyter components. | ||
- **Jupyter Console**: An interface using IPython kernel. | ||
- **Docker Stacks**: Containerized Jupyter applications. | ||
|
||
### Conversion and Rendering Tools | ||
- **nbconvert**: Converts Jupyter Notebooks to other formats, dependent on nbformat. | ||
- **nbviewer**: Renders notebooks as static web pages, dependent on nbformat. | ||
|
||
### Development and Testing Tools | ||
- **nbdime**: Diffing and merging for notebooks, dependent on nbformat. | ||
- **nbgrader**: Assignment creation and grading, dependent on Jupyter Notebook. | ||
- **ipyparallel**: Parallel computing in Python, extends IPython. | ||
- **QtConsole**: A Qt-based console interface for Jupyter kernels. | ||
----- | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend removing this and combining it with the section that you have below Official Subprojects with SSC representation. It's a bit confusing as it implies that some of these such as xeus kernel has their own representation instead of being part of Kernels. I do like the descriptions that you added. I think consolidating into one section would be less confusing. ☀️
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would also encourage you to review the governance documents to ensure that the way the Project Jupyter is described here is the same as that. https://jupyter.org/governance/list_of_subprojects.html If you want to make changes or improvements requesting feedback from the EC would be valuable. Essentially, we want to avoid telling different stories in different places. For the consumer of this information I think it can be confusing that we have the Jupyter story in multiple places. There are governance docs, there is jupyter.org, and there is Jupyter meta documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much! I'm working out this content to integrate/merge with the already existing. I'll make that clear.