Skip to main content

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:

Project details


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

File hashes

Hashes for background_zmq_ipython-1.20220901.135250.tar.gz
Algorithm Hash digest
SHA256 01dc3423b81714f493f572599507df9c15137edcbd379fa6df9e089db37ad987
MD5 be5d65c62d53976b66801ec31aef3846
BLAKE2b-256 74b458c53c3f15583cf4ee351c781bf8df1ed0e3aafb9937d1e54352585b053f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page