Managing Remote Kernels and Data Visualization in JetBrains DataSpell
Learn how to connect DataSpell to remote Jupyter kernels via SSH and leverage SciView for advanced data frame visualization and memory optimization.
06 Sept 2025, 02:19 UTC

The Challenge of Local Development vs. Remote Execution
Data scientists often face a performance gap: local machines lack the RAM or GPU power to process large datasets, but writing code directly on a remote server via a terminal is inefficient. The goal is to maintain a local IDE experience—with full autocomplete and refactoring—while executing the heavy lifting on a remote server.
Prerequisites
- JetBrains DataSpell (version 2023.x or later) installed locally.
- A remote server with SSH access and a Python environment (Conda or Pyenv) already configured.
- A running Jupyter server on the remote machine or the ability to start one via SSH.
Configuring a Remote Jupyter Kernel
Connecting DataSpell to a remote kernel allows you to run cells on a powerful server while keeping the notebook interface on your desktop. This avoids the latency of browser-based Jupyter interfaces and provides better version control integration.
- Establish the Connection: Open the
Manage Kernelsdropdown in the top right of your notebook editor. SelectConfigure Jupyter Server. - Select Server Type: Choose
SSHfrom the server options. You will need to provide the remote host IP, port (default 22), and your authentication credentials (password or SSH key). - Define the Remote Interpreter: Once the SSH tunnel is established, go to
Settings > Project: [Name] > Python Interpreter. ClickAdd Interpreterand selectOn SSH.... Point the IDE to the specific Python binary on the remote server (e.g.,/home/user/anaconda3/bin/python). - Link Kernel to Notebook: Return to the notebook and select the newly added remote interpreter from the kernel list.
Verification and Risks
To verify the connection, run a simple system check in a notebook cell:
import os
print(os.uname())
The output should reflect the remote server's hostname and kernel version, not your local machine. Risk: If the SSH tunnel drops, the kernel will enter a "Disconnected" state. You must restart the Jupyter server on the remote host or re-authenticate the SSH session in DataSpell to resume execution.
Optimizing Data Analysis with SciView
Viewing large DataFrames in a notebook cell often leads to truncated output or excessive scrolling. DataSpell's SciView tool window aggregates data frames and plots into a dedicated side panel for better visibility.
Using the Data Viewer
When you execute a cell that creates a pandas DataFrame, DataSpell provides a link to view the data in a tabular format. Instead of printing the object, click the View as DataFrame link next to the variable in the Jupyter variable explorer.
This opens the data in the SciView window, allowing you to:
- Sort columns without modifying the underlying data.
- Filter rows using a search interface.
- Inspect specific cell values without writing
.ilocor.locqueries.
Comparison: Notebook Output vs. SciView
| Feature | Standard Notebook Output | SciView Data Viewer |
|---|---|---|
| Visibility | Truncated for large sets | Full scrollable table |
| Interaction | Static HTML/Text | Sortable/Filterable |
| Performance | Fast for small previews | Higher memory usage for large sets |
Handling Memory Constraints
Loading massive datasets into the IDE's memory for visualization can cause the interface to lag or freeze. This happens because the IDE's Java Virtual Machine (JVM) heap size may be insufficient for the metadata being passed from the kernel.
Adjusting Heap Size
If you experience lag while using SciView or the split-screen editor, increase the memory allocation:
- Go to
Help > Change Memory Settings. - Increase the
Maximum Heap Size(e.g., from 2048 MiB to 4096 MiB). - Restart DataSpell to apply the changes.
Rollback Procedure
If the IDE fails to start after increasing memory (due to insufficient physical RAM on your local machine), you can reset the settings by deleting the dataspell.vmoptions file in the IDE's configuration directory or reverting the value via the command line options file.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.