ElasticKernel – automatic checkpoint/restore of kernel execution state

Hi all,

I built ElasticKernel, an IPython kernel that automatically saves and restores the execution state of a notebook, so a kernel restart or crash doesn’t wipe your session. You just select the “Python 3 (Elastic)” kernel and keep working — variables and imports come back after a restart, no manual pickling required.

It’s based on the ElasticNotebook work (SIGMOD 2023), packaged as an installable JupyterLab kernel:

pip install elastic-kernel
elastic-kernel install

then select “Python 3 (Elastic)”.

There’s also a prebuilt Docker image.

It’s still early (v0.0.x), and I’d really value feedback from people who know the kernel internals:

  • the approach to capturing and serializing session state
  • how this should interact with kernel restart / interrupt semantics
  • failure modes you’d expect (unserializable objects, large dataframes, memory pressure, GPU state)

Repo: GitHub - MRyutaro/ElasticKernel: ElasticKernel: An IPython Kernel that automatically saves and restores Jupyter Notebook execution states (CLOSER 2026) · GitHub
PyPI: Client Challenge

Thanks for taking a look!

3 Likes