-
Notifications
You must be signed in to change notification settings - Fork 5.2k
WIP: Use new kernel management APIs in notebook server #4170
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
Closed
Closed
Changes from all commits
Commits
Show all changes
50 commits
Select commit
Hold shift + click to select a range
0dc8b70
Initial work towards using jupyter_kernel_mgmt for notebook server
takluyver ae15888
Provide kernel specs from kernel finder machinery
takluyver ddcc3dd
Display kernel type ID alongside display name
takluyver 27fc52a
Add dependency on jupyter_kernel_mgmt & jupyter_protocol
takluyver 102ae7b
Switch single kernelspec API handler to kernel_finder
takluyver 5765854
Drop kernel_spec_manager
takluyver 1dfc5d4
Fix interrupting a kernel
takluyver 76ab738
Fix up kernelspec API tests to pass
takluyver f1a79bf
Default kernel type name pyimport/kernel
takluyver b0e0fec
Use pyimport/kernel for session API tests
takluyver fd0b60c
Use pyimport/kernel for kernels API tests
takluyver c76e6bf
Fix dummy objects for SessionManager tests
takluyver 2d9e021
Use reworked restarter callback system
takluyver a15a1f9
Kernel restart always means new manager & new connection info
takluyver b427507
Use updated API for message handlers
takluyver 90f9e68
Restarter callbacks parameters swapped again
takluyver f6e7cfd
Clean up some unused imports
takluyver d87f862
Reworked kernel restart handling
takluyver 24d3d0b
Reorganise code for kernel websocket handler
takluyver cdd45a6
Require jupyter_kernel_mgmt >=0.3
takluyver 9ed09ae
Change selectors used by tests to create new notebook
takluyver 00ab20c
Fix race condition making AJAX requests for session
takluyver 20e9db4
Fix selector for new kernel menu entry
takluyver 69a79ac
Try to get more information on test failure
takluyver d63cd96
Don't try to forward message from kernel when websocket closed
takluyver 237a212
Avoid race condition creating duplicate sessions
takluyver 80c278a
Fix starting a kernel when modifying a session
takluyver 0a18fb9
Fix sessionmanager tests
takluyver c3d63d0
Propagate future out for sending status messages
takluyver 65d49a4
Don't crash closing websocket if handler not connected
takluyver 6efb932
Rework how kernel startup works again
takluyver 8233daa
msg_type is part of the message header, not top-level
takluyver e80cafe
There is no longer a good way to prevent a kernel from restarting
takluyver cab3416
Wait to send starting status until new client is reconnected
takluyver a8dbd48
Expect kernel_starting event in autorestart test
takluyver f6b0674
Ensure message in frontend always has buffers array
takluyver 76b9044
Wait for kernel to be connected to send shutdown_request
takluyver c42fb21
There is no longer a good way to prevent a kernel auto-restarting
takluyver 336a321
404 error for websocket opened to nonexistant kernel
takluyver 3ab2d12
Wait for kernel for cell mode-switching tests
takluyver 826ee65
Message for callback is converted to update_display_data
takluyver bb54f34
Fix deserialisation test
takluyver 3bc13fb
Allow for kernel state changing during session test
takluyver e4eff7a
Allow execution_state to change in test_modify_kernel_id
takluyver e5bb55c
Use appropriate attribute in cull debug
kevin-bates d721064
Culling should go through MappingKernelManager
kevin-bates c7b4042
Merge pull request #1 from kevin-bates/patch-1
takluyver 9d3c7e0
Merge pull request #2 from kevin-bates/patch-2
takluyver ab84f2a
Use kernel_id from provider's manager
kevin-bates 54fdb14
Merge pull request #3 from gateway-experiments/jupyter-kernel-mgmt
takluyver 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
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
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
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
Oops, something went wrong.
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.
This seems a little awkward to me. How would an application be able to have providers from both the property and the entrypoints? If there was a way to get a list of entrypoint-based providers, then you could require the property be the composite.
If there was a separate way to get the providers from entrypoints, then you could just call the constructor and, if the argument is None, have it call
from_entrypoints()
, else the argument is the complete set.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.
This was essentially just for testing, though I was planning to add some sort of inclusion/exclusion lists for real configurability. The idea is that it will always normally discover kernel providers from entry points, but in certain odd situations (like testing) you might want to override it so that you can completely control kernel discovery.
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.
Sounds good. I would recommend these approaches get pushed into the constructor and let it determine how to compose/filter the providers.