##// END OF EJS Templates
Handle kernel messages synchronously...
Handle kernel messages synchronously A problem can happen when two messages come in for different comms, where the second depends on the first (for example, the first might be a message setting the state of a widget, and the second triggering a view creation for the widget). Since comm message queues are independent of each other, the second message could be executed before the first message. This exposes a more fundamental assumption users are likely to have that messages from python are processed synchronously. Thanks to @dmadeka for reporting an error that led to discovering this issue.
Jason Grout -
r20621:f936f880
Show More
Name Size Modified Last Commit Author
IPython
docs
examples
git-hooks
scripts
setupext
tools
.gitattributes Loading ...
.gitignore Loading ...
.gitmodules Loading ...
.mailmap Loading ...
.travis.yml Loading ...
CONTRIBUTING.md Loading ...
COPYING.rst Loading ...
Dockerfile Loading ...
MANIFEST.in Loading ...
README.rst Loading ...
setup.py Loading ...
setupbase.py Loading ...
setupegg.py Loading ...
tox.ini Loading ...
https://img.shields.io/coveralls/ipython/ipython.svg https://img.shields.io/pypi/dm/IPython.svg https://img.shields.io/pypi/v/IPython.svg https://img.shields.io/travis/ipython/ipython.svg

IPython: Productive Interactive Computing

Overview

Welcome to IPython. Our full documentation is available on our website; if you downloaded a built source distribution the docs/source directory contains the plaintext version of these manuals. If you have Sphinx installed, you can build them by typing cd docs; make html for local browsing.

Dependencies and supported Python versions

For full details, see the installation section of the manual. The basic parts of IPython only need the Python standard library, but much of its more advanced functionality requires extra packages.

Officially, IPython requires Python version 2.7, or 3.3 and above. IPython 1.x is the last IPython version to support Python 2.6 and 3.2.

Instant running

You can run IPython from this directory without even installing it system-wide by typing at the terminal:

$ python -m IPython

Development installation

If you want to hack on certain parts, e.g. the IPython notebook, in a clean environment (such as a virtualenv) you can use pip to grab the necessary dependencies quickly:

$ git clone --recursive https://github.com/ipython/ipython.git
$ cd ipython
$ pip install -e ".[notebook]" --user

This installs the necessary packages and symlinks IPython into your current environment so that you can work on your local repo copy and run it from anywhere:

$ ipython notebook

The same process applies for other parts, such as the qtconsole (the extras_require attribute in the setup.py file lists all the possibilities).

Git Hooks and Submodules

IPython now uses git submodules to ship its javascript dependencies. If you run IPython from git master, you may need to update submodules once in a while with:

$ git submodule update

or:

$ python setup.py submodule

We have some git hooks for helping keep your submodules always in sync, see our git-hooks directory for more info.