async-kernel
async-kernel provides Python Jupyter kernels and clients compatible with CPython (Jupyter & VS code) and Pyodide (Jupyterlite).
The kernel interface supports multiple connections including:
- Messaging via ZMQ sockets (Jupyter, VS Code, etc).
- Same-process local client enabling (Jupyterlite) and user access.
Highlights
- Built using aiologic thread-safe synchronisation primitives.
- The
Callerclass provides a powerful but simple interface for cross-thread code execution in asyncio and trio backends, with guest event loop support built in. - A zmq poll event loop for thread-safe zmq sockets.
- IPython shell
- top-level await ('asyncio' or 'trio' backend) in cells
- async magic function support in cells
- Per-subshell user_ns
- GUI event loops 1
- Experimental support for
Jupyterlite (try it online here 👈)
%pip installmagic (using micropip)
- Debugger client
- Local client.
- ZMQ client.
Installation
pip install async-kernel
Kernelspecs
A kernelspec with the name 'async' is added when async-kernel is installed.
Kernel specs can be installed/uninstalled via the command line.
async-kernel install
# To install for a user
async-kernel install --user
For further detail about kernel spec customisation see command line and kernel configuration and custom kernel.ipynb.
Faster data serialization
orjson (a fast JSON library) is supported and will be used by default if it has been installed.
Free-threading support
async-kernel's Caller's are thread-local and it's methods are internally synchronised4.
Origin
async-kernel started as a fork of IPyKernel. Thank you to the original contributors of IPyKernel that made async-kernel possible.
-
A gui (host) enabled kernel interface starts a gui's mainloop (host) which starts the backend as a guest, then finally the Kernel is started. ↩
-
The asyncio implementation of
start_guest_runwas written by the author of aiologic and provided as a gist. ↩ ↩2 -
trio's start_guest_run. ↩ ↩2
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file async_kernel-0.22.1.tar.gz.
File metadata
- Download URL: async_kernel-0.22.1.tar.gz
- Upload date:
- Size: 359.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff6e390f8af3f6472a2a296c69683e73545a3abea7b11245fc0748253bf7d853
|
|
| MD5 |
68b9a091acfed90151fb7b722b77d246
|
|
| BLAKE2b-256 |
5b798c216a4432b3fbe0238fde907e26a49e523b485f504597335fd83607f9a5
|
Provenance
The following attestation bundles were made for async_kernel-0.22.1.tar.gz:
Publisher:
publish-to-pypi.yml on fleming79/async-kernel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
async_kernel-0.22.1.tar.gz -
Subject digest:
ff6e390f8af3f6472a2a296c69683e73545a3abea7b11245fc0748253bf7d853 - Sigstore transparency entry: 2511869844
- Sigstore integration time:
-
Permalink:
fleming79/async-kernel@9edddcde45ba98b50de29db678bb8335c9f4cbf2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/fleming79
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@9edddcde45ba98b50de29db678bb8335c9f4cbf2 -
Trigger Event:
workflow_run
-
Statement type:
File details
Details for the file async_kernel-0.22.1-py3-none-any.whl.
File metadata
- Download URL: async_kernel-0.22.1-py3-none-any.whl
- Upload date:
- Size: 135.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1930af492b0bc60b2c5d479002834a5d47792640ef5dff7b16e3c7d5c4efdfd2
|
|
| MD5 |
4424b0bcf9a113c45eea289eee6dae56
|
|
| BLAKE2b-256 |
b74fa99528ec74757101546665a5f5da4503d24446b81ec5d640eea5f4a1d095
|
Provenance
The following attestation bundles were made for async_kernel-0.22.1-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on fleming79/async-kernel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
async_kernel-0.22.1-py3-none-any.whl -
Subject digest:
1930af492b0bc60b2c5d479002834a5d47792640ef5dff7b16e3c7d5c4efdfd2 - Sigstore transparency entry: 2511869914
- Sigstore integration time:
-
Permalink:
fleming79/async-kernel@9edddcde45ba98b50de29db678bb8335c9f4cbf2 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/fleming79
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@9edddcde45ba98b50de29db678bb8335c9f4cbf2 -
Trigger Event:
workflow_run
-
Statement type: