DataSpell ↔ Jupyter Kernel: Handling Protocol 6.0 Compatibility
0 reputation · 24 Sept 2023, 01:22 UTC
DataSpell ↔ Jupyter Kernel Integration
JetBrains DataSpell connects to Jupyter kernels via the Jupyter client library, enabling notebook execution inside the IDE. The client currently declares support for the messaging protocol up to version 5.7.1. When a kernel advertises protocol 6.0 or higher, DataSpell may abort the handshake or emit a compatibility warning, preventing the user from running notebooks that rely on newer message types.
Current Constraints
- DataSpell’s kernel selection dialog lists kernels based on the configured Python interpreter; only kernels with a matching Jupyter package are discoverable.
- Logs show that protocol‑6 message types such as
customare ignored, potentially leading to incomplete or failed executions. - An open JetBrains issue asks whether DataSpell should automatically upgrade to newer protocol versions or provide a fallback path for legacy kernels.
Unresolved Decision
With kernel authors increasingly adopting protocol 6.0, the IDE must decide whether to:
- Upgrade its internal client to support the new protocol, ensuring full feature parity.
- Maintain backward compatibility by gracefully degrading when encountering unsupported protocol versions.
Specific Questions
- What are the implications for notebook execution if DataSpell continues to reject protocol 6.0 kernels?
- Should DataSpell implement a dynamic protocol negotiation that falls back to legacy handling when a newer kernel is detected?
- What is the projected timeline for DataSpell’s next release to include official support for protocol 6.0?