Hi all!
This summer I published sshpyk, a lightweight Python package that lets you launch Jupyter kernels on a remote machine via SSH and use them from many Jupyter front-end (Lab/Notebook/Console) as if they were local. It plugs into Jupyter’s kernel provisioning API, so it installs a proper kernelspec and manages tunnels for you.
Why you might care:
- Simple remote compute: point your notebook to a remote env (GPU box, server, cluster node) without exposing a full Jupyter server.
- From the CLI: supports persistent kernels (reconnect later) and interactive controls for interrupt/restart/leave. Unix signals are also supported for non-interactive shells.
Notes and requirements:
-
Local:
sshpyk+jupyter_client; Remote:jupyter_client -
Windows is currently not supported (local nor remote).
-
There are other approaches like
ssh_ipykernelandremote_ikernel; sshpyk’s angle is to use the modern kernel provisioner mechanism and ship a focused CLI for lifecycle/persistence. -
I donated my work to the Common Astronomy Software Applications in an attempt to have a tool that does not need to be rebuilt every few years.
Repo & docs: https://github.com/casangi/sshpyk Feedback is welcome!
Hope you find it useful, cheers!