Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

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


import background_zmq_ipython

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={"main_globals": globals()})


    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.20190928.182508
Filename, size File type Python version Upload date Hashes
Filename, size background_zmq_ipython-1.20190928.182508.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page