Skip to content
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

Connect to jupyter kernels #2791

Merged
merged 162 commits into from
Apr 6, 2023
Merged

Conversation

shibbas
Copy link
Contributor

@shibbas shibbas commented Mar 3, 2023

This feature enables connecting to Jupyter kernels via the #!connect jupyter command and interact with them to perform the following:

  • Handle commands: SubmitCode, RequestCompletions, RequestSignatureHelp, RequestHoverText
  • Add support for Variable sharing, including dataframes, using Jupyter Comms for python and R. This setup can be used to enable variable sharing for other Jupyter kernels that support comms as well by providing just the kernel side implementation to handle the SendValue, RequestValue and RequestValueInfos command.
  • Enable connecting to locally installed kernels directly over ZMQ using command:
#!connect jupyter --kernel-name python --kernel-spec python3

This currently does not support selecting environment yet. vscode will need to start in the environment with Jupyter installed.

  • Enable connecting to remote kernels over HTTP and websocket using command:
#!connect jupyter --url <url_for_jupyter> --token <jupyter_server_token> --kernel-name python --kernel-spec python3

Known issues:

brettfo and others added 30 commits September 13, 2022 18:48
…is is a "release/" branch

Eng/common changes will be the same in next arcade update from the release/7.0 branch if/when this is taken.
main to release/jupyter branch
…alue handler on kernel info retrurned. R value support needs more work.
@shibbas shibbas marked this pull request as ready for review April 3, 2023 18:59
@jonsequitur jonsequitur enabled auto-merge (squash) April 6, 2023 00:34
throw new ArgumentNullException(nameof(kernelSpecModule));
}

_getKernelSpecs = Task.Run(() => kernelSpecModule.ListKernels());
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to revisit this design to support the cold start scenario.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants