Make ServerKernelManager client traits configurable#1562
Closed
Zsailer wants to merge 2 commits intojupyter-server:mainfrom
Closed
Make ServerKernelManager client traits configurable#1562Zsailer wants to merge 2 commits intojupyter-server:mainfrom
Zsailer wants to merge 2 commits intojupyter-server:mainfrom
Conversation
eb378fe to
95a2e97
Compare
Add config=True to client_class and client_factory traits in ServerKernelManager to enable configuration of kernel client classes through configuration files and command line arguments. This enables custom kernel clients to be used for intercepting and routing messages, which is required for server-side document handling. Changes: - Override client_class and client_factory traits with config=True - Use correct default values matching parent class behavior - Add comprehensive unit tests for configuration via Config objects - Test default values, string configuration, and factory configuration - Import AsyncKernelClient directly instead of using import_item All tests pass and maintain backward compatibility while enabling the configurable functionality needed for jupyter-server-documents project.
146f92d to
0364664
Compare
for more information, see https://pre-commit.ci
minrk
reviewed
Nov 3, 2025
| """A server-specific kernel manager.""" | ||
|
|
||
| # Override parent traits to make them configurable | ||
| client_class = DottedObjectName( |
Contributor
There was a problem hiding this comment.
shouldn't this be on the base KernelManager class in jupyter-client, so we inherit the configurability, rather than only here?
Member
Author
|
Closing in favor of the changes made upstream. Thanks @rgbkrk! |
Contributor
|
I suppose we could make a minor release over in jupyter_client so you have easier access to it. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This change enables configuration of kernel client classes in
ServerKernelManager,This was motivated by work we're doing in jupyter-server-documents to move the notebook model to the server, via ydoc. The project needs to provide a custom kernel client that can intercept messages to the client and route them through a server-side ydoc, enabling documents to be moved to the server.
Changes
client_classandclient_factorytraits configurable by addingconfig=Truetag to trait definitions in
ServerKernelManagerarguments and Config objects