CARVIEW |
Select Language
HTTP/2 200
date: Sun, 20 Jul 2025 07:47:05 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"62418e6a7cfd1fea5ee26fd565f2b394"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=vZA4oiVM8u4ISd%2FzCtJt0xzHC0u8AdpnLrX1TA5ZrmVP4L3vsfLYCZUX8nP58KZ7OWyRFQbZ9%2BcHdJTe0J%2FMMO1XJFthUMyaFMnJ85aTEuSZT4XdR6a5sIr9t%2F7p3nECJaXIFSpHm%2BYrBJmPL%2Fp1GtJ3qbfwRhfzSa6rWNDAEZU79KoXtR7%2FdbPaJSp8UVL97vHoVmJZXAOTSHmT2xAjfI9BIVd%2BsIQ7GZC5dmKlk6VqDh3KlYo1k3uXA3Q%2FxOeXgLCkshGJMWwp1bqq%2BFLE8g%3D%3D--hng%2B5RdKYUeTloe8--AUNWs7p77PzurIQQ9nRMgQ%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.227171883.1752997625; Path=/; Domain=github.com; Expires=Mon, 20 Jul 2026 07:47:05 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Mon, 20 Jul 2026 07:47:05 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: BE86:2BEE38:BACEE2:F234F9:687C9EF9
Kernel Discovery (architecture) · microsoft/vscode-jupyter Wiki · GitHub
Loading
Loading
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 332
Kernel Discovery (architecture)
Don Jayamanne edited this page Jan 21, 2022
·
5 revisions
- Please read the Wiki page Terminology
- Please read the Wiki page General overview of Kernel Discovery & Execution in Jupyter for a general (non-technical) overview on:
- How and where are kernels specifications are found/located
- How are kernels (processes) launched
Mermaid Diagrams
flowchart TB
A[NotebookController] --> B & C;
B["ILocalKernelFinder.listKernels()"];
C{Remote jupyter\n connection setup?} --> G
G["IRemoteKernelFinder.listKernels()"];
flowchart TB
A["ILocalKernelFinder.listKernels()"] --> C;
subgraph Local Kernels
C["localKernelFinder.listKernels()"] --> E & F;
E["LocalKnownPathKernelSpecFinder.listKernels() \n (list global non-python kernelspecs)"];
F["LocalPythonAndRelatedNonPythonKernelSpecFinder.listKernels() \n (list kernelspecs inside Python environments & list Python interpreters as kernelspecs)"] --> G & H;
G["LocalKnownPathKernelSpecFinder.listKernels() \n (list python kernelspecs)"];
H["IInterpreterService \n Use this to fetch list of all interpreters, their details (such as paths to look for kernelspecs)"];
end
flowchart TB
A[NotebookController] --> B;
subgraph Remote Kernels
B["IRemoteKernelFinder.listKernels()"] --> C;
C["remoteKernelFinder.listKernels()"] --> E & F & G & H;
E["IJupyterSessionManagerFactory.create() \n (Create Jupyter Session for @jupyterlabs/services)"];
F["IJupyterSessionManager.getKernelSpecs()"];
G["IJupyterSessionManager.getRunningKernels()"];
H["IJupyterSessionManager.getRunningSessions() \n (To get information about running kernels)"];
end
- Local kernels are fetch in localKernelFinder.ts
- The above class fetches kernels using the two classes
- LocalKnownPathKernelSpecFinder This is responsible for discovering non-python kernel specs in known paths on disc.
-
LocalPythonAndRelatedNonPythonKernelSpecFinder
This is responsible for discovering kernel specs in the python environments and returning kernel specs that can be used to start Python Environments as kernels.
(again, please read pre-requisite section above)
This uses LocalKnownPathKernelSpecFinder to fetch Python Kernel specs on disc.
This uses
IInterpreterService
to get a list of all interpreters and find kernelspecs within the interpreter directory. Duplicate kernelspecs are removed here (e.g. if user installed Jupyter, then a kernelspec is registered, but we can just ignore most of them and just list a hand-crafted kernelspec for the Interpreter instead).
- Local kernels are fetch in remoteKernelFinder.ts
- Create a
IJupyterSessionManager
usingIJupyterSessionManagerFactory.create
(for the remote connection currently configured). - Get a list of kernel specs using
IJupyterSessionManager.getKernelSpecs()
- Get a list of running kernels from
IJupyterSessionManager.getRunningKernels()
- Get more information about the running kernels from
IJupyterSessionManager.getRunningSessions()
- Contribution
- Source Code Organization
- Coding Standards
- Profiling
- Coding Guidelines
- Component Governance
- Writing tests
- Kernels
- Intellisense
- Debugging
- IPyWidgets
- Extensibility
- Module Dependencies
- Errors thrown
- Jupyter API
- Variable fetching
- Import / Export
- React Webviews: Variable Viewer, Data Viewer, and Plot Viewer
- FAQ
- Kernel Crashes
- Jupyter issues in the Python Interactive Window or Notebook Editor
- Finding the code that is causing high CPU load in production
- How to install extensions from VSIX when using Remote VS Code
- How to connect to a jupyter server for running code in vscode.dev
- Jupyter Kernels and the Jupyter Extension
Clone this wiki locally
You can’t perform that action at this time.