Runtimes and Kernels
The user-facing runtimes InkRider supports, JupyterLite and an external Jupyter Server, and how to choose between them.
InkRider currently exposes two user-facing runtime options in production:
- JupyterLite (local, in-browser)
- Jupyter Server (remote)
Overview
| Runtime | Where code runs | Requires setup | Python packages |
|---|---|---|---|
| JupyterLite (local) | In-browser (Jupyter) | No | Pure-Python browser stack; optional runtime installs |
| Jupyter Server (remote) | Your machine or server | Yes | Full pip/conda environment you control |
JupyterLite (Local, In-Browser)
JupyterLite runs a full in-browser Jupyter environment with a Python kernel.
Good for:
- Python notebook workflows that need no external server setup
- document-centric workflows that run entirely in the browser
- session lifecycle and kernel semantics via the Jupyter protocol
Limitations:
- native binary/C-extension Python packages are generally unavailable
- no direct access to your machine filesystem
- browser/runtime policy constraints (for example CORS/origin rules) still apply to network requests
- browser memory is the practical execution limit
See JupyterLite Runtime for a detailed capabilities and troubleshooting guide.
Kernel: Python (default)
How to select it: In Application Settings → Runtime, choose JupyterLite (local). This is the default startup runtime.
Jupyter Server (Remote)
An external Jupyter Server runs on your machine or a server you control and gives InkRider a connection to a full Python environment. This is a Professional plan feature.
Good for:
- Python packages that require native binaries or C extensions not available in the local browser runtime
- code that needs to read local files, connect to databases, or make outbound HTTP requests
- reproducible environments managed with conda, pip, or containers
- long-running jobs or large data workflows
How to start the server:
pip install jupyter_server
jupyter server --no-browser
How to connect:
- Open Application Settings → Runtime.
- Under Jupyter Server, enter the Base URL (e.g.,
http://localhost:8888). - Enter the Token printed in the server startup output.
- Click Test connection.
See the dedicated External Jupyter Server page for full setup instructions.
Switching Runtimes
You can switch runtimes at any time from Application Settings → Runtime. Switching does not delete your notebooks or cells, only the active sessions change.
Open sessions on the previous runtime remain active until you close them manually in the Session Explorer or restart the add-in. New cell executions start sessions on the newly selected runtime.
Session Management
Each runtime manages kernel sessions. A session is a running Python process that keeps variables and imports in memory between cell runs.
- A new session is created automatically when you first run a cell on a given runtime.
- You can view, interrupt, and close sessions in the Session Explorer panel (available from the tools menu).
- On local browser-backed runtimes, up to 3 parallel sessions can run simultaneously. The Execution Tool uses this to parallelize batch runs across notebooks.
- Closing a session resets all variables for that session. The next cell run starts a fresh session.
Package Installation
For JupyterLite Python sessions, you can install additional pure-Python packages at runtime using micropip:
import micropip
await micropip.install("httpx")
Packages installed this way are available for the remainder of the session but are not persisted between sessions. To install a package automatically when a notebook session starts, add it to the notebook's requirements.txt file (visible in VFS Explorer under the notebook's folder).
For the Jupyter Server runtime, manage packages with pip or conda in your terminal as usual.