Background ZMQ IPython/Jupyter kernel
Project description
Run some IPython ZMQ kernel in the background, without an interactive shell. You can connect to that kernel remotely via ZMQ.
Installation (package is on PyPI):
pip install background_zmq_ipython
Usage:
import background_zmq_ipython background_zmq_ipython.init_ipython_kernel()
The kernel will then run in the background in its own thread. The init will print some message similar to this on stdout:
To connect another client to this IPython kernel, use: jupyter console --existing kernel-1111.json
Now, after you connected, how to access globals from the main module? E.g. let’s say there is a variable a.
sys.modules["__main__"].a should work. Via sys.modules, you can access all the imported modules. Or just do import mod again.
Get the stack of all/other frames via sys._current_frames(), and there you can access the globals from other threads as well.
You can provide user_ns to init_ipython_kernel, e.g:
init_ipython_kernel(user_ns=globals())
or:
init_ipython_kernel(user_ns={"main_globals": globals()})
or:
init_ipython_kernel(user_ns={"a": a})
Alternatives / related links:
IPython.embed_kernel in a background thread (example code). This has some issues (e.g. here; messing around with sys.stdout etc).
This code was introduced in this StackOverflow question, and also discussed in this IPython GitHub issue #8097, but it has become outdated, so this project provides a rewrite / updated code, and the goal was also an easy to install pip package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file background_zmq_ipython-1.20220901.135250.tar.gz
.
File metadata
- Download URL: background_zmq_ipython-1.20220901.135250.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01dc3423b81714f493f572599507df9c15137edcbd379fa6df9e089db37ad987 |
|
MD5 | be5d65c62d53976b66801ec31aef3846 |
|
BLAKE2b-256 | 74b458c53c3f15583cf4ee351c781bf8df1ed0e3aafb9937d1e54352585b053f |