Skip to content

Repository files navigation

Build Status

akernel

An asynchronous Python Jupyter kernel built on AnyIO:

  • runs in a separate process or in-process.
  • supports top-level await.

Install

For a standalone, out-of-process kernel, install the subprocess extra:

pip install "akernel[subprocess]"

This will give you a Python 3 (akernel) in JupyterLab.

akernel can also run in-process with Jupyverse. Install it with:

pip install "fps-akernel-task"

This will give you both Python 3 (akernel) and Python 3 (akernel-thread) kernels in JupyterLab.

In-process kernels

They run in Jupyverse's process, so running blocking user code in the kernel will also block Jupyverse.

akernel-thread is an in-process kernel that runs user code in a separate thread, which won't block Jupyverse.

Limitations

  • Cell output redirection currently uses the kernel's print function rather than capturing all writes to stdout and stderr.
  • In-process kernels cannot be interrupted while running blocking code.

About

Asynchronous Python Jupyter kernel

Topics

Resources

Stars

91 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages