Skip to content

Create Python Extension's Notebook Controller  #23100

Closed

Description

Actionable item from: #23029

By creating Notebook Controller from the Python extension, users will be able to use interactive window and use Python without having to install Jupyter or iPython kernel. Python extension will also be able to leverage variable pane if we can also provide variable provider.

Need to figure out how to hook up with custom Python interpreter and execute user's command using the custom Python interpreter as a kernel.

  • Will first need to test in separate extension before embedding into Python extension

Activity

  1. anthonykim1 commented on Mar 19, 2024

    @anthonykim1
    Author

    Looking into /Users/anthonykim/Desktop/vscode-jupyter/src/notebooks/controllers/vscodeNotebookController.ts and https://github.com/microsoft/vscode-github-issue-notebooks and https://github.com/microsoft/vscode-jupyter/pull/6300

    Potentially useful note for handling communication from/to custom REPL to TypeScript (assuming notebook controller inside the Python extension).

    • WebSockets: protocol that enables bidirectional communication between a client (such as browser) and a server over a single, long-lived connection.
    • Allows client and server to send messages to each other at any time, rather than in response to a request as in traditional HTTP communication.
    • With Jupyter , the frontend act as client when kernel acts as server. They communicate via websocket. This connection is established when you start new kernel, open new notebook. Frontend send request to kernel to start new kernel process, and kernel responds by opening a websocket connection, sending message back to frontend to confirm that connection has been established.
  2. anthonykim1 commented on May 28, 2024

    @anthonykim1
    Author

    Will be tested inside via #23484

  3. locked as resolved and limited conversation to collaborators on Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions