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.

Files for background_zmq_ipython, version 1.20200202.222340
Filename, size File type Python version Upload date Hashes
Filename, size background_zmq_ipython-1.20200202.222340.tar.gz (8.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page