Open JohanMabille opened 1 year ago
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:
Best prior art for this kind of spec and documentation:
Another idea: encourage treating docker-stacks
as the upstream of testable kernels.
Below is a list of the JEPs related to the Kernel protocol, with the actions required for both the documentation and the implementation. The idea is to have an easier process to update the protocol and trigger the required actions in downstream projects. The first step would be to have a dedicated repo for the kernel protocol specification instead of having it in Jupyter Client and probably move this issue there.
Current version of the protocol: 5.4
JEP
- In the protocol 5.5
- Implemented in xeus-python and ipykernel
- In the protocol 5.4
JEP
- Not in the protocol
Note: in the format below, when we require kernels to warn, we mean:
XPub
Having kernels implement the XPub pattern for IOpub will not break the clients to the protocol that may not use XPub yet.
If a client requires kernels to implement XPub, they can remove the "nudging" mechanism which was a workaround to the IOpub taking too long to connect.
Proposal:
Handshake
The new handshake mechanism is incompatible with the old one.
Kernels will need to support both for some time, and clients will warn when encountering kernels that implement only the old protocol.
Proposal:
Optional features
Today we have a singular way to tell whether kernels support debugging.
Proposal:
Parameterized kernels
Proposal:
Subshells
Proposal:
TODO
Kernel info request on control
Proposal:
Deprecate shutdown request on shell
Proposal: