[Python-modules-commits] [ipython4] 01/05: Import ipython_5.5.0.orig.tar.gz

Gordon Ball chronitis-guest at moszumanska.debian.org
Sun Sep 17 14:30:50 UTC 2017


This is an automated email from the git hooks/post-receive script.

chronitis-guest pushed a commit to branch master
in repository ipython4.

commit b2fd16b03c2c3e0c9b68ab3a799a3ab1c72f39c5
Author: Gordon Ball <gordon at chronitis.net>
Date:   Sun Sep 17 16:04:43 2017 +0200

    Import ipython_5.5.0.orig.tar.gz
---
 .gitattributes                                    |    5 -
 .gitignore                                        |   23 -
 .mailmap                                          |  156 -
 .travis.yml                                       |   45 -
 CONTRIBUTING.md                                   |   45 -
 Dockerfile                                        |    7 -
 IPython/core/application.py                       |    9 +
 IPython/core/compilerop.py                        |    2 +-
 IPython/core/completer.py                         |   13 +-
 IPython/core/display.py                           |   52 +-
 IPython/core/interactiveshell.py                  |    4 +-
 IPython/core/magics/basic.py                      |    8 +-
 IPython/core/magics/execution.py                  |    8 +
 IPython/core/pylabtools.py                        |    5 +-
 IPython/core/release.py                           |    2 +-
 IPython/core/shellapp.py                          |   12 +-
 IPython/core/tests/test_display.py                |   14 +
 IPython/core/tests/test_magic.py                  |   32 +
 IPython/core/tests/test_run.py                    |   19 +-
 IPython/core/ultratb.py                           |    5 +-
 IPython/lib/demo.py                               |    2 +-
 IPython/lib/pretty.py                             |   30 +-
 IPython/sphinxext/ipython_directive.py            |    2 +-
 IPython/terminal/ipapp.py                         |   10 +-
 IPython/utils/_sysinfo.py                         |    2 +-
 IPython/utils/terminal.py                         |    2 +-
 IPython/utils/tests/test_path.py                  |    1 +
 MANIFEST.in                                       |   36 -
 PKG-INFO                                          |   60 +
 codecov.yml                                       |    9 -
 docs/source/conf.py                               |    7 -
 docs/source/interactive/python-ipython-diff.rst   |    6 +-
 docs/source/whatsnew/github-stats-5.rst           |   26 +
 docs/source/whatsnew/index.rst                    |    1 -
 docs/source/whatsnew/pr/progressbar.rst           |   10 +
 docs/source/whatsnew/version5.rst                 |   58 +
 examples/IPython Kernel/Updating Displays.ipynb   |   62 +-
 tools/alldeps/Makefile                            |  130 -
 tools/alldeps/README.txt                          |  109 -
 tools/alldeps/pkginstall                          |  119 -
 tools/alldeps/pkginstall.cfg                      |   27 -
 tools/backport_pr.py                              |  189 -
 tools/build_release                               |   29 -
 tools/check_sources.py                            |   55 -
 tools/gen_latex_symbols.py                        |   89 -
 tools/gh_api.py                                   |  303 -
 tools/git-mpr.py                                  |  128 -
 tools/git-mrb                                     |   80 -
 tools/github_stats.py                             |  231 -
 tools/make_tarball.py                             |   22 -
 tools/mknbindex.py                                |   36 -
 tools/post_pr_test.py                             |   13 -
 tools/release                                     |   94 -
 tools/test_pr.py                                  |  289 -
 tools/tests/ANSI Test.ipynb                       |  560 --
 tools/tests/CSS Reference.ipynb                   | 8193 ---------------------
 tools/tests/Confined Output.ipynb                 |  307 -
 tools/tests/Markdown Pandoc Limitations.ipynb     | 2691 -------
 tools/tests/Test Output Callbacks.ipynb           |  291 -
 tools/tests/embed/embed1.py                       |   10 -
 tools/tests/embed/embed2.py                       |    5 -
 tools/tests/embed/embed3.py                       |    7 -
 tools/tests/embed/embed_division.py               |    5 -
 tools/tests/embed/embed_no_division.py            |    6 -
 tools/tests/heartbeat/gilsleep.ipynb              |   72 -
 tools/tests/heartbeat/hb_gil.py                   |   31 -
 tools/tests/inline_figshow.py                     |   23 -
 tools/tests/mpl-switch/Matplotlib Switching.ipynb |  654 --
 tools/testupload                                  |   22 -
 tools/toollib.py                                  |   57 -
 tools/update_whatsnew.py                          |   82 -
 tox.ini                                           |   28 -
 72 files changed, 352 insertions(+), 15425 deletions(-)

diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 56783b6..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,5 +0,0 @@
-IPython/.git_commit_info.ini export-subst
-* text=auto
-*.py diff=python
-*.js diff=javascript
-*.html diff=html
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index c10cded..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,23 +0,0 @@
-MANIFEST
-build
-dist
-_build
-docs/man/*.gz
-docs/source/api/generated
-docs/source/config/options
-docs/source/interactive/magics-generated.txt
-docs/gh-pages
-jupyter_notebook/notebook/static/mathjax
-jupyter_notebook/static/style/*.map
-*.py[co]
-__pycache__
-*.egg-info
-*~
-*.bak
-.ipynb_checkpoints
-.tox
-.DS_Store
-\#*#
-.#*
-.coverage
-*.swp
diff --git a/.mailmap b/.mailmap
deleted file mode 100644
index a96fb4d..0000000
--- a/.mailmap
+++ /dev/null
@@ -1,156 +0,0 @@
-A. J. Holyoake <a.j.holyoake at gmail.com> ajholyoake <a.j.holyoake at gmail.com>
-Aaron Culich <aculich at gmail.com> Aaron Culich <aculich at eecs.berkeley.edu>
-Aron Ahmadia <aron at ahmadia.net> ahmadia <aron at ahmadia.net>
-Benjamin Ragan-Kelley <benjaminrk at gmail.com> <minrk at Mercury.local>
-Benjamin Ragan-Kelley <benjaminrk at gmail.com> Min RK
-Benjamin Ragan-Kelley <benjaminrk at gmail.com> MinRK <benjaminrk at gmail.com>
-Barry Wark <barrywark at gmail.com> Barry Wark <barrywarkatgmaildotcom>
-Ben Edwards <bedwards at cs.unm.edu> Ben Edwards <bedwards at sausage.(none)>
-Bradley M. Froehle <brad.froehle at gmail.com> Bradley M. Froehle <bfroehle at math.berkeley.edu>
-Bradley M. Froehle <brad.froehle at gmail.com> Bradley Froehle <brad.froehle at gmail.com>
-Brandon Parsons <brandon at parsonstx.com> Brandon Parsons <brandon.parsons at hp.com>
-Brian E. Granger <ellisonbg at gmail.com> Brian Granger
-Brian E. Granger <ellisonbg at gmail.com> Brian Granger <>
-Brian E. Granger <ellisonbg at gmail.com> bgranger <>
-Brian E. Granger <ellisonbg at gmail.com> bgranger <bgranger at red>
-Christoph Gohlke <cgohlke at uci.edu> cgohlke <cgohlke at uci.edu>
-Cyrille Rossant <cyrille.rossant at gmail.com> rossant <rossant at github>
-Damián Avila <damianavila82 at yahoo.com.ar> damianavila <damianavila82 at yahoo.com.ar>
-Damián Avila <damianavila82 at yahoo.com.ar> damianavila <damianavila at gmail.com>
-Damon Allen <damontallen at gmail.com> damontallen <damontallen at gmail.com>
-Darren Dale <dsdale24 at gmail.com> darren.dale <>
-Darren Dale <dsdale24 at gmail.com> Darren Dale <>
-Dav Clark <davclark at berkeley.edu> Dav Clark <>
-Dav Clark <davclark at berkeley.edu> Dav Clark <davclark at gmail.com>
-David Hirschfeld <david.hirschfeld at gazprom-mt.com> dhirschfeld <david.hirschfeld at gazprom-mt.com>
-David P. Sanders <dpsanders at gmail.com> David P. Sanders <dpsanders at ciencias.unam.mx>
-David Warde-Farley <wardefar at iro.umontreal.ca> David Warde-Farley <>
-Doug Blank <dblank at cs.brynmawr.edu> Doug Blank <doug.blank at gmail.com>
-Eugene Van den Bulke <eugene.van-den-bulke at gmail.com> Eugene Van den Bulke <eugene.vandenbulke at gmail.com> 
-Evan Patterson <epatters at enthought.com> <epatters at EPattersons-MacBook-Pro.local>
-Evan Patterson <epatters at enthought.com> <epatters at evan-laptop.localdomain>
-Evan Patterson <epatters at enthought.com> <epatters at caltech.edu>
-Evan Patterson <epatters at enthought.com> <ejpatters at gmail.com>
-Evan Patterson <epatters at enthought.com> epatters <ejpatters at gmail.com>
-Evan Patterson <epatters at enthought.com> epatters <epatters at enthought.com>
-Ernie French <ernestfrench at gmail.com> Ernie French <ernie at gqpbj.com>
-Ernie French <ernestfrench at gmail.com> ernie french <ernestfrench at gmail.com>
-Ernie French <ernestfrench at gmail.com> ernop <ernestfrench at gmail.com>
-Fernando Perez <Fernando.Perez at berkeley.edu> <fperez.net at gmail.com>
-Fernando Perez <Fernando.Perez at berkeley.edu> Fernando Perez <fernando.perez at berkeley.edu>
-Fernando Perez <Fernando.Perez at berkeley.edu> fperez <>
-Fernando Perez <Fernando.Perez at berkeley.edu> fptest <>
-Fernando Perez <Fernando.Perez at berkeley.edu> fptest1 <>
-Fernando Perez <Fernando.Perez at berkeley.edu> Fernando Perez <fernando.perez at berkeley.edu>
-Fernando Perez <fernando.perez at berkeley.edu> Fernando Perez <>
-Fernando Perez <fernando.perez at berkeley.edu> Fernando Perez <fperez at maqroll>
-Frank Murphy <fpmurphy at mtu.edu> Frank Murphy <fmurphy at arbor.net>
-Gabriel Becker <gmbecker at ucdavis.edu> gmbecker <gmbecker at ucdavis.edu>
-Gael Varoquaux <gael.varoquaux at normalesup.org> gael.varoquaux <>
-Gael Varoquaux <gael.varoquaux at normalesup.org> gvaroquaux <gvaroquaux at gvaroquaux-desktop>
-Gael Varoquaux <gael.varoquaux at normalesup.org> Gael Varoquaux <>
-Ingolf Becker <ingolf.becker at googlemail.com> watercrossing <ingolf.becker at googlemail.com>
-Jake Vanderplas <jakevdp at gmail.com> Jake Vanderplas <vanderplas at astro.washington.edu>
-Jakob Gager <jakob.gager at gmail.com> jakobgager <jakob.gager at gmail.com>
-Jakob Gager <jakob.gager at gmail.com> jakobgager <gager at ilsb.tuwien.ac.at>
-Jakob Gager <jakob.gager at gmail.com> jakobgager <jakobgager at hotmail.com>
-Jason Grout <jgrout6 at bloomberg.net> <jason.grout at drake.edu>
-Jason Grout <jgrout6 at bloomberg.net> <jason-github at creativetrax.com>
-Jason Gors <jason.gors.work at gmail.com> jason gors <jason.gors.work at gmail.com>
-Jason Gors <jason.gors.work at gmail.com> jgors <jason.gors.work at gmail.com>
-Jens Hedegaard Nielsen <jenshnielsen at gmail.com> Jens Hedegaard Nielsen <jhn at jhn-Znote.(none)>
-Jens Hedegaard Nielsen <jenshnielsen at gmail.com> Jens H Nielsen <jenshnielsen at gmail.com>
-Jens Hedegaard Nielsen <jenshnielsen at gmail.com> Jens H. Nielsen <jenshnielsen at gmail.com>
-Jez Ng <jezreel at gmail.com> Jez Ng <me at jezng.com>
-Jonathan Frederic <jdfreder at calpoly.edu> Jonathan Frederic <jonathan at LifebookMint.(none)>
-Jonathan Frederic <jdfreder at calpoly.edu> Jonathan Frederic <jon.freder at gmail.com>
-Jonathan Frederic <jdfreder at calpoly.edu> Jonathan Frederic <xh3xx.goose at gmail.com>
-Jonathan Frederic <jdfreder at calpoly.edu> jon <jon.freder at gmail.com>
-Jonathan Frederic <jdfreder at calpoly.edu> U-Jon-PC\Jon <Jon at Jon-PC.(none)>
-Jonathan March <jmarch at enthought.com> Jonathan March <JDM at MarchRay.net>
-Jonathan March <jmarch at enthought.com> jdmarch <JDM at marchRay.net>
-Jörgen Stenarson <jorgen.stenarson at kroywen.se> Jörgen Stenarson <jorgen.stenarson at bostream.nu>
-Jörgen Stenarson <jorgen.stenarson at kroywen.se> Jorgen Stenarson <jorgen.stenarson at bostream.nu>
-Jörgen Stenarson <jorgen.stenarson at kroywen.se> Jorgen Stenarson <>
-Jörgen Stenarson <jorgen.stenarson at kroywen.se> jstenar <jorgen.stenarson at bostream.nu>
-Jörgen Stenarson <jorgen.stenarson at kroywen.se> jstenar <>
-Jörgen Stenarson <jorgen.stenarson at kroywen.se> Jörgen Stenarson <jorgen.stenarson at kroywen.se>
-Juergen Hasch <python at elbonia.de> juhasch <python at elbonia.de>
-Juergen Hasch <python at elbonia.de> juhasch <hasch at VMBOX.fritz.box>
-Julia Evans <julia at jvns.ca> Julia Evans <julia at stripe.com>
-Kester Tong <kestert at google.com> KesterTong <kestert at google.com>
-Kyle Kelley <rgbkrk at gmail.com> Kyle Kelley <kyle.kelley at rackspace.com>
-Kyle Kelley <rgbkrk at gmail.com> rgbkrk <rgbkrk at gmail.com>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> <laurent.dufrechou at gmail.com>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> <laurent at Pep>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> laurent dufrechou <>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> laurent.dufrechou <>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> Laurent Dufrechou <>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> laurent.dufrechou at gmail.com <>
-Laurent Dufréchou <laurent.dufrechou at gmail.com> ldufrechou <ldufrechou at PEP>
-Lorena Pantano <lorena.pantano at gmail.com> Lorena <lorena.pantano at gmail.com>
-Luis Pedro Coelho <luis at luispedro.org> Luis Pedro Coelho <lpc at cmu.edu>
-Marc Molla <marcmolla at gmail.com> marcmolla <marcmolla at gmail.com>
-Martín Gaitán <gaitan at gmail.com> Martín Gaitán <gaitan at phasety.com>
-Matthias Bussonnier <bussonniermatthias at gmail.com> Matthias BUSSONNIER <bussonniermatthias at gmail.com>
-Matthias Bussonnier <bussonniermatthias at gmail.com> Bussonnier Matthias <bussonniermatthias at gmail.com>
-Matthias Bussonnier <bussonniermatthias at gmail.com> Matthias BUSSONNIER <bussonniermatthias at umr168-curn-1-24x-6561.curie.fr>
-Matthias Bussonnier <bussonniermatthias at gmail.com> Matthias Bussonnier <carreau at Aspire.(none)>
-Michael Droettboom <mdboom at gmail.com> Michael Droettboom <mdroe at stsci.edu>
-Nicholas Bollweg <nick.bollweg at gmail.com> Nicholas Bollweg (Nick) <nick.bollweg at gmail.com>
-Nicolas Rougier <Nicolas.Rougier at inria.fr> <Nicolas.rougier at inria.fr>
-Nikolay Koldunov <koldunovn at gmail.com> Nikolay Koldunov <nikolay.koldunov at zmaw.de>
-Omar Andrés Zapata Mesa <andresete.chaos at gmail.com> Omar Andres Zapata Mesa <andresete.chaos at gmail.com>
-Omar Andrés Zapata Mesa <andresete.chaos at gmail.com> Omar Andres Zapata Mesa <omazapa at tuxhome>
-Pankaj Pandey <pankaj86 at gmail.com> Pankaj Pandey <pankaj at enthought.com>
-Pascal Schetelat <pascal.schetelat at gmail.com> pascal-schetelat <pascal.schetelat at gmail.com>
-Paul Ivanov <pi at berkeley.edu> Paul Ivanov <pivanov314 at gmail.com>
-Paul Ivanov <pi at berkeley.edu> Paul Ivanov <pivanov5 at bloomberg.net>
-Pauli Virtanen <pauli.virtanen at iki.fi> Pauli Virtanen <>
-Pauli Virtanen <pauli.virtanen at iki.fi> Pauli Virtanen <pav at iki.fi>
-Pierre Gerold <pierre.gerold at laposte.net> Pierre Gerold <gerold at crans.org>
-Pietro Berkes <pberkes at enthought.com> Pietro Berkes <pietro.berkes at googlemail.com>
-Piti Ongmongkolkul <piti118 at gmail.com> piti118 <piti118 at gmail.com>
-Prabhu Ramachandran <prabhu at enthought.com> Prabhu Ramachandran <>
-Puneeth Chaganti <punchagan at gmail.com> Puneeth Chaganti <punchagan at muse-amuse.in>
-Robert Kern <robert.kern at gmail.com> rkern <>
-Robert Kern <robert.kern at gmail.com> Robert Kern <rkern at enthought.com>
-Robert Kern <robert.kern at gmail.com> Robert Kern <rkern at Sacrilege.local>
-Robert Kern <robert.kern at gmail.com> Robert Kern <>
-Robert Marchman <bo.marchman at gmail.com> Robert Marchman <robert.l.marchman at dartmouth.edu>
-Satrajit Ghosh <satra at mit.edu> Satrajit Ghosh <satra at ba5.mit.edu>
-Satrajit Ghosh <satra at mit.edu> Satrajit Ghosh <satrajit.ghosh at gmail.com>
-Scott Sanderson <scoutoss at gmail.com> Scott Sanderson <ssanderson at quantopian.com>
-smithj1 <smithj1 at LMC-022896.local> smithj1 <smithj1 at LMC-022896.swisscom.com>
-smithj1 <smithj1 at LMC-022896.local> smithj1 <smithj1 at lmc-022896.local>
-Steven Johnson <steven.johnson at drake.edu> stevenJohnson <steven.johnson at drake.edu>
-Steven Silvester <steven.silvester at ieee.org> blink1073 <steven.silvester at ieee.org>
-S. Weber <s8weber at c4.usr.sh> s8weber <s8weber at c5.usr.sh>
-Stefan van der Walt <stefan at sun.ac.za> Stefan van der Walt <bzr at mentat.za.net>
-Silvia Vinyes <silvia.vinyes at gmail.com> Silvia <silvia at silvia-U44SG.(none)>
-Silvia Vinyes <silvia.vinyes at gmail.com> silviav12 <silvia.vinyes at gmail.com>
-Srinivas Reddy Thatiparthy <thatiparthysreenivas at gmail.com> Srinivas Reddy Thatiparthy <srinivasreddy at users.noreply.github.com>
-Sylvain Corlay <scorlay at bloomberg.net> <sylvain.corlay at gmail.com>
-Sylvain Corlay <scorlay at bloomberg.net> sylvain.corlay <sylvain.corlay at gmail.com>
-Tamir Bahar <tamir at north-bit.com> Tamir Bahar <tmr232 at users.noreply.github.com>
-Ted Drain <ted.drain at gmail.com> TD22057 <ted.drain at gmail.com>
-Théophile Studer <theo.studer at gmail.com> Théophile Studer <studer at users.noreply.github.com>
-Thomas A Caswell <tcaswell at gmail.com> Thomas A Caswell <tcaswell at bnl.gov> 
-Thomas Kluyver <thomas at kluyver.me.uk> Thomas <takowl at gmail.com>
-Thomas Kluyver <thomas at kluyver.me.uk> Thomas Kluyver <takowl at gmail.com>
-Thomas Spura <tomspur at fedoraproject.org> Thomas Spura <thomas.spura at gmail.com>
-Timo Paulssen <timonator at perpetuum-immobile.de> timo <timonator at perpetuum-immobile.de>
-vds <vds at VIVIAN> vds2212 <vds2212 at VIVIAN>
-vds <vds at VIVIAN> vds <vds at vivian>
-Ville M. Vainio <vivainio at gmail.com> <vivainio2 at WN-W0941>
-Ville M. Vainio <vivainio at gmail.com> ville <ville at VILLE-PC>
-Ville M. Vainio <vivainio at gmail.com> ville <ville at ville-desktop>
-Ville M. Vainio <vivainio at gmail.com> vivainio <>
-Ville M. Vainio <vivainio at gmail.com> Ville M. Vainio <vivainio at villev>
-Ville M. Vainio <vivainio at gmail.com> Ville M. Vainio <vivainio at ville_vmw>
-Walter Doerwald <walter at livinglogic.de> walter.doerwald <>
-Walter Doerwald <walter at livinglogic.de> Walter Doerwald <>
-Wieland Hoffmann <themineo at gmail.com> Wieland Hoffmann <mineo at users.noreply.github.com>
-W. Trevor King <wking at tremily.us> W. Trevor King <wking at drexel.edu>
-Yoval P. <yoval at gmx.com> y-p <yoval at gmx.com>
-
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 895d76e..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-# http://travis-ci.org/#!/ipython/ipython
-language: python
-python:
-    - "nightly"
-    - 3.6
-    - 3.5
-    - 3.4
-    - 3.3
-    - 2.7
-    - pypy
-sudo: false
-before_install:
-    - git clone --quiet --depth 1 https://github.com/minrk/travis-wheels travis-wheels
-    - 'if [[ $GROUP != js* ]]; then COVERAGE=""; fi'
-install:
-    - pip install "setuptools>=18.5" pip --upgrade
-    # Installs PyPy (+ its Numpy). Based on @frol comment at:
-    # https://github.com/travis-ci/travis-ci/issues/5027
-    - |
-        if [ "$TRAVIS_PYTHON_VERSION" = "pypy" ]; then
-          export PYENV_ROOT="$HOME/.pyenv"
-          if [ -f "$PYENV_ROOT/bin/pyenv" ]; then
-            cd "$PYENV_ROOT" && git pull
-          else
-            rm -rf "$PYENV_ROOT" && git clone --depth 1 https://github.com/yyuu/pyenv.git "$PYENV_ROOT"
-          fi
-          export PYPY_VERSION="5.3.1"
-          "$PYENV_ROOT/bin/pyenv" install "pypy-$PYPY_VERSION"
-          virtualenv --python="$PYENV_ROOT/versions/pypy-$PYPY_VERSION/bin/python" "$HOME/virtualenvs/pypy-$PYPY_VERSION"
-          source "$HOME/virtualenvs/pypy-$PYPY_VERSION/bin/activate"
-          pip install https://bitbucket.org/pypy/numpy/get/master.zip
-        fi
-    - pip install -f travis-wheels/wheelhouse -e file://$PWD#egg=ipython[test]
-    - pip install codecov mock
-script:
-    - cd /tmp && iptest --coverage xml && cd -
-after_success:
-    - cp /tmp/ipy_coverage.xml ./
-    - cp /tmp/.coverage ./
-    - codecov
-
-matrix:
-    allow_failures:
-        - python: nightly
-        - python: pypy
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index a6aab5b..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,45 +0,0 @@
-## Opening an Issue
-
-When opening a new Issue, please take the following steps:
-
-1. Search GitHub and/or Google for your issue to avoid duplicate reports.
-   Keyword searches for your error messages are most helpful.
-2. If possible, try updating to master and reproducing your issue,
-   because we may have already fixed it.
-3. Try to include a minimal reproducible test case
-4. Include relevant system information.  Start with the output of:
-
-        python -c "import IPython; print(IPython.sys_info())"
-
-   And include any relevant package versions, depending on the issue,
-   such as matplotlib, numpy, Qt, Qt bindings (PyQt/PySide), tornado, web browser, etc.
-
-## Pull Requests
-
-Some guidelines on contributing to IPython:
-
-* All work is submitted via Pull Requests.
-* Pull Requests can be submitted as soon as there is code worth discussing.
-  Pull Requests track the branch, so you can continue to work after the PR is submitted.
-  Review and discussion can begin well before the work is complete,
-  and the more discussion the better.
-  The worst case is that the PR is closed.
-* Pull Requests should generally be made against master
-* Pull Requests should be tested, if feasible:
-    - bugfixes should include regression tests
-    - new behavior should at least get minimal exercise
-* New features and backwards-incompatible changes should be documented by adding
-  a new file to the [pr](docs/source/whatsnew/pr) directory, see [the README.md
-  there](docs/source/whatsnew/pr/README.md) for details.
-* Don't make 'cleanup' pull requests just to change code style.
-  We don't follow any style guide strictly, and we consider formatting changes
-  unnecessary noise.
-  If you're making functional changes, you can clean up the specific pieces of
-  code you're working on.
-
-[Travis](http://travis-ci.org/#!/ipython/ipython) does a pretty good job testing IPython and Pull Requests,
-but it may make sense to manually perform tests (possibly with our `test_pr` script),
-particularly for PRs that affect `IPython.parallel` or Windows.
-
-For more detailed information, see our [GitHub Workflow](https://github.com/ipython/ipython/wiki/Dev:-GitHub-workflow).
-
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 994e9f0..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,7 +0,0 @@
-# DEPRECATED: You probably want jupyter/notebook
-
-FROM jupyter/notebook
-
-MAINTAINER IPython Project <ipython-dev at scipy.org>
-
-ONBUILD RUN echo "ipython/ipython is deprecated, use jupyter/notebook" >&2
diff --git a/IPython/core/application.py b/IPython/core/application.py
index 1801627..af28133 100644
--- a/IPython/core/application.py
+++ b/IPython/core/application.py
@@ -44,6 +44,14 @@ else:
         "/etc/ipython",
     ]
 
+
+ENV_CONFIG_DIRS = []
+_env_config_dir = os.path.join(sys.prefix, 'etc', 'ipython')
+if _env_config_dir not in SYSTEM_CONFIG_DIRS:
+    # only add ENV_CONFIG if sys.prefix is not already included
+    ENV_CONFIG_DIRS.append(_env_config_dir)
+
+
 _envvar = os.environ.get('IPYTHON_SUPPRESS_CONFIG_ERRORS')
 if _envvar in {None, ''}:
     IPYTHON_SUPPRESS_CONFIG_ERRORS = None
@@ -403,6 +411,7 @@ class BaseIPythonApplication(Application):
 
     def init_config_files(self):
         """[optionally] copy default config files into profile dir."""
+        self.config_file_paths.extend(ENV_CONFIG_DIRS)
         self.config_file_paths.extend(SYSTEM_CONFIG_DIRS)
         # copy config files
         path = self.builtin_profile_dir
diff --git a/IPython/core/compilerop.py b/IPython/core/compilerop.py
index e39ded6..f529eb5 100644
--- a/IPython/core/compilerop.py
+++ b/IPython/core/compilerop.py
@@ -56,7 +56,7 @@ def code_name(code, number=0):
     
     This now expects code to be unicode.
     """
-    hash_digest = hashlib.md5(code.encode("utf-8")).hexdigest()
+    hash_digest = hashlib.sha1(code.encode("utf-8")).hexdigest()
     # Include the number and 12 characters of the hash in the name.  It's
     # pretty much impossible that in a single session we'll have collisions
     # even with truncated hashes, and the full one makes tracebacks too long
diff --git a/IPython/core/completer.py b/IPython/core/completer.py
index 5ce832c..b386945 100644
--- a/IPython/core/completer.py
+++ b/IPython/core/completer.py
@@ -47,6 +47,9 @@ if sys.platform == 'win32':
 else:
     PROTECTABLES = ' ()[]{}?=\\|;:\'#*"^&'
 
+# Protect against returning an enormous number of completions which the frontend
+# may have trouble processing.
+MATCHES_LIMIT = 500
 
 def has_open_quotes(s):
     """Return whether a string has open quotes.
@@ -1090,6 +1093,12 @@ class IPCompleter(Completer):
                     return [cast_unicode_py2(r) for r in res if r.lower().startswith(text_low)]
             except TryNext:
                 pass
+            except KeyboardInterrupt:
+                """
+                If custom completer take too long,
+                let keyboard interrupt abort and return nothing.
+                """
+                break
 
         return None
 
@@ -1142,7 +1151,7 @@ class IPCompleter(Completer):
             for meth in (self.unicode_name_matches, back_latex_name_matches, back_unicode_name_matches):
                 name_text, name_matches = meth(base_text)
                 if name_text:
-                    return name_text, name_matches
+                    return name_text, name_matches[:MATCHES_LIMIT]
         
         # if text is either None or an empty string, rely on the line buffer
         if not text:
@@ -1183,6 +1192,6 @@ class IPCompleter(Completer):
         # different types of objects.  The rlcomplete() method could then
         # simply collapse the dict into a list for readline, but we'd have
         # richer completion semantics in other evironments.
-        self.matches = sorted(set(self.matches), key=completions_sorting_key)
+        self.matches = sorted(set(self.matches), key=completions_sorting_key)[:MATCHES_LIMIT]
 
         return text, self.matches
diff --git a/IPython/core/display.py b/IPython/core/display.py
index e52c815..a9f648a 100644
--- a/IPython/core/display.py
+++ b/IPython/core/display.py
@@ -11,7 +11,7 @@ try:
 except ImportError:
     from base64 import encodestring as base64_encode
 
-from binascii import b2a_hex
+from binascii import b2a_hex, hexlify
 import json
 import mimetypes
 import os
@@ -26,7 +26,7 @@ from IPython.testing.skipdoctest import skip_doctest
 __all__ = ['display', 'display_pretty', 'display_html', 'display_markdown',
 'display_svg', 'display_png', 'display_jpeg', 'display_latex', 'display_json',
 'display_javascript', 'display_pdf', 'DisplayObject', 'TextDisplayObject',
-'Pretty', 'HTML', 'Markdown', 'Math', 'Latex', 'SVG', 'JSON', 'Javascript',
+'Pretty', 'HTML', 'Markdown', 'Math', 'Latex', 'SVG', 'ProgressBar', 'JSON', 'Javascript',
 'Image', 'clear_output', 'set_matplotlib_formats', 'set_matplotlib_close',
 'publish_display_data', 'update_display', 'DisplayHandle']
 
@@ -659,8 +659,8 @@ class TextDisplayObject(DisplayObject):
 
 class Pretty(TextDisplayObject):
 
-    def _repr_pretty_(self):
-        return self.data
+    def _repr_pretty_(self, pp, cycle):
+        return pp.text(self.data)
 
 
 class HTML(TextDisplayObject):
@@ -730,6 +730,50 @@ class SVG(DisplayObject):
     def _repr_svg_(self):
         return self.data
 
+class ProgressBar(DisplayObject):
+    """Progressbar supports displaying a progressbar like element 
+    """
+    def __init__(self, total):
+        """Creates a new progressbar
+        
+        Parameters
+        ----------
+        total : int
+            maximum size of the progressbar
+        """
+        self.total = total
+        self._progress = 0
+        self.html_width = '60ex'
+        self.text_width = 60
+        self._display_id = hexlify(os.urandom(8)).decode('ascii')
+
+    def __repr__(self):
+        fraction = self.progress / self.total
+        filled = '=' * int(fraction * self.text_width)
+        rest = ' ' * (self.text_width - len(filled))
+        return '[{}{}] {}/{}'.format(
+            filled, rest,
+            self.progress, self.total,
+        )
+
+    def _repr_html_(self):
+        return "<progress style='width:{}' max='{}' value='{}'></progress>".format(
+            self.html_width, self.total, self.progress)
+
+    def display(self):
+        display(self, display_id=self._display_id)
+
+    def update(self):
+        display(self, display_id=self._display_id, update=True)
+
+    @property
+    def progress(self):
+        return self._progress
+
+    @progress.setter
+    def progress(self, value):
+        self._progress = value
+        self.update()
 
 class JSON(DisplayObject):
     """JSON expects a JSON-able dict or list
diff --git a/IPython/core/interactiveshell.py b/IPython/core/interactiveshell.py
index 51040bc..41b2704 100644
--- a/IPython/core/interactiveshell.py
+++ b/IPython/core/interactiveshell.py
@@ -2064,7 +2064,7 @@ class InteractiveShell(SingletonConfigurable):
             etpl = "Line magic function `%%%s` not found%s."
             extra = '' if cm is None else (' (But cell magic `%%%%%s` exists, '
                                     'did you mean that instead?)' % magic_name )
-            error(etpl % (magic_name, extra))
+            raise UsageError(etpl % (magic_name, extra))
         else:
             # Note: this is the distance in the stack to the user's frame.
             # This will need to be updated if the internal calling logic gets
@@ -2101,7 +2101,7 @@ class InteractiveShell(SingletonConfigurable):
             etpl = "Cell magic `%%{0}` not found{1}."
             extra = '' if lm is None else (' (But line magic `%{0}` exists, '
                             'did you mean that instead?)'.format(magic_name))
-            error(etpl.format(magic_name, extra))
+            raise UsageError(etpl.format(magic_name, extra))
         elif cell == '':
             message = '%%{0} is a cell magic, but the cell body is empty.'.format(magic_name)
             if self.find_line_magic(magic_name) is not None:
diff --git a/IPython/core/magics/basic.py b/IPython/core/magics/basic.py
index 781fa72..ca69e2e 100644
--- a/IPython/core/magics/basic.py
+++ b/IPython/core/magics/basic.py
@@ -288,12 +288,14 @@ Currently the magic system has the following functions:""",
 
     @line_magic
     def profile(self, parameter_s=''):
-        """Print your currently active IPython profile.
+        """DEPRECATED since IPython 2.0.
+
+        Raise `UsageError`. To profile code use the :magic:`prun` magic.
+        
 
         See Also
         --------
-        prun : run code using the Python profiler
-               (:meth:`~IPython.core.magics.execution.ExecutionMagics.prun`)
+        prun : run code using the Python profiler (:magic:`prun`)
         """
         warn("%profile is now deprecated. Please use get_ipython().profile instead.")
         from IPython.core.application import BaseIPythonApplication
diff --git a/IPython/core/magics/execution.py b/IPython/core/magics/execution.py
index b9b5ced..3734b0c 100644
--- a/IPython/core/magics/execution.py
+++ b/IPython/core/magics/execution.py
@@ -816,6 +816,7 @@ python-profiler package from non-free.""")
         bdb.Breakpoint.next = 1
         bdb.Breakpoint.bplist = {}
         bdb.Breakpoint.bpbynumber = [None]
+        deb.clear_all_breaks()
         if bp_line is not None:
             # Set an initial breakpoint to stop execution
             maxtries = 10
@@ -1012,6 +1013,13 @@ python-profiler package from non-free.""")
         ast_setup = self.shell.transform_ast(ast_setup)
         ast_stmt = self.shell.transform_ast(ast_stmt)
 
+        # Check that these compile to valid Python code *outside* the timer func
+        # Invalid code may become valid when put inside the function & loop,
+        # which messes up error messages.
+        # https://github.com/ipython/ipython/issues/10636
+        self.shell.compile(ast_setup, "<magic-timeit-setup>", "exec")
+        self.shell.compile(ast_stmt, "<magic-timeit-stmt>", "exec")
+
         # This codestring is taken from timeit.template - we fill it in as an
         # AST, so that we can apply our AST transformations to the user code
         # without affecting the timing code.
diff --git a/IPython/core/pylabtools.py b/IPython/core/pylabtools.py
index 22ac8d8..db35d1b 100644
--- a/IPython/core/pylabtools.py
+++ b/IPython/core/pylabtools.py
@@ -17,16 +17,17 @@ backends = {'tk': 'TkAgg',
             'gtk': 'GTKAgg',
             'gtk3': 'GTK3Agg',
             'wx': 'WXAgg',
-            'qt': 'Qt4Agg', # qt3 not supported
             'qt4': 'Qt4Agg',
             'qt5': 'Qt5Agg',
+            'qt': 'Qt5Agg',
             'osx': 'MacOSX',
             'nbagg': 'nbAgg',
             'notebook': 'nbAgg',
             'agg': 'agg',
             'inline': 'module://ipykernel.pylab.backend_inline',
             'ipympl': 'module://ipympl.backend_nbagg',
-}
+            'widget': 'module://ipympl.backend_nbagg',
+            }
 
 # We also need a reverse backends2guis mapping that will properly choose which
 # GUI support to activate based on the desired matplotlib backend.  For the
diff --git a/IPython/core/release.py b/IPython/core/release.py
index 9206bf4..84488ae 100644
--- a/IPython/core/release.py
+++ b/IPython/core/release.py
@@ -20,7 +20,7 @@ name = 'ipython'
 # release.  'dev' as a _version_extra string means this is a development
 # version
 _version_major = 5
-_version_minor = 4
+_version_minor = 5
 _version_patch = 0
 _version_extra = '.dev'
 # _version_extra = 'rc1'
diff --git a/IPython/core/shellapp.py b/IPython/core/shellapp.py
index ab8fbe4..2136482 100644
--- a/IPython/core/shellapp.py
+++ b/IPython/core/shellapp.py
@@ -11,12 +11,14 @@ from __future__ import absolute_import
 from __future__ import print_function
 
 import glob
+from itertools import chain
 import os
 import sys
 
 from traitlets.config.application import boolean_flag
 from traitlets.config.configurable import Configurable
 from traitlets.config.loader import Config
+from IPython.core.application import SYSTEM_CONFIG_DIRS, ENV_CONFIG_DIRS
 from IPython.core import pylabtools
 from IPython.utils import py3compat
 from IPython.utils.contexts import preserve_keys
@@ -331,7 +333,9 @@ class InteractiveShellApp(Configurable):
 
     def _run_startup_files(self):
         """Run files from profile startup directory"""
-        startup_dir = self.profile_dir.startup_dir
+        startup_dirs = [self.profile_dir.startup_dir] + [
+            os.path.join(p, 'startup') for p in chain(ENV_CONFIG_DIRS, SYSTEM_CONFIG_DIRS)
+        ]
         startup_files = []
 
         if self.exec_PYTHONSTARTUP and os.environ.get('PYTHONSTARTUP', False) and \
@@ -343,9 +347,9 @@ class InteractiveShellApp(Configurable):
             except:
                 self.log.warning("Unknown error in handling PYTHONSTARTUP file %s:", python_startup)
                 self.shell.showtraceback()
-
-        startup_files += glob.glob(os.path.join(startup_dir, '*.py'))
-        startup_files += glob.glob(os.path.join(startup_dir, '*.ipy'))
+        for startup_dir in startup_dirs[::-1]:
+            startup_files += glob.glob(os.path.join(startup_dir, '*.py'))
+            startup_files += glob.glob(os.path.join(startup_dir, '*.ipy'))
         if not startup_files:
             return
 
diff --git a/IPython/core/tests/test_display.py b/IPython/core/tests/test_display.py
index c6631d1..b605506 100644
--- a/IPython/core/tests/test_display.py
+++ b/IPython/core/tests/test_display.py
@@ -142,6 +142,13 @@ def test_display_available():
     with AssertNotPrints('NameError'):
         ip.run_cell('display')
 
+def test_textdisplayobj_pretty_repr():
+     p = display.Pretty("This is a simple test")
+     nt.assert_equal(repr(p), '<IPython.core.display.Pretty object>')
+     nt.assert_equal(p.data, 'This is a simple test')
+
+     p._show_mem_addr = True
+     nt.assert_equal(repr(p), object.__repr__(p))
 
 def test_displayobject_repr():
     h = display.HTML('<br />')
@@ -158,6 +165,13 @@ def test_displayobject_repr():
     j._show_mem_addr = False
     nt.assert_equal(repr(j), '<IPython.core.display.Javascript object>')
 
+def test_progress():
+    p = display.ProgressBar(10)
+    nt.assert_true('0/10' in repr(p))
+    p.html_width = '100%'
+    p.progress = 5
+    nt.assert_equal(p._repr_html_(), "<progress style='width:100%' max='10' value='5'></progress>")
+
 def test_json():
     d = {'a': 5}
     lis = [d]
diff --git a/IPython/core/tests/test_magic.py b/IPython/core/tests/test_magic.py
index eb40331..9845cee 100644
--- a/IPython/core/tests/test_magic.py
+++ b/IPython/core/tests/test_magic.py
@@ -80,6 +80,35 @@ def test_extract_symbols_raises_exception_with_non_python_code():
     with nt.assert_raises(SyntaxError):
         code.extract_symbols(source, "hello")
 
+
+def test_magic_not_found():
+    # magic not found raises UsageError
+    with nt.assert_raises(UsageError):
+        _ip.magic('doesntexist')
+
+    # ensure result isn't success when a magic isn't found
+    result = _ip.run_cell('%doesntexist')
+    assert isinstance(result.error_in_exec, UsageError)
+
+
+def test_cell_magic_not_found():
+    # magic not found raises UsageError
+    with nt.assert_raises(UsageError):
+        _ip.run_cell_magic('doesntexist', 'line', 'cell')
+
+    # ensure result isn't success when a magic isn't found
+    result = _ip.run_cell('%%doesntexist')
+    assert isinstance(result.error_in_exec, UsageError)
+
+
+def test_magic_error_status():
+    def fail(shell):
+        1/0
+    _ip.register_magic_function(fail)
+    result = _ip.run_cell('%fail')
+    assert isinstance(result.error_in_exec, ZeroDivisionError)
+
+
 def test_config():
     """ test that config magic does not raise
     can happen if Configurable init is moved too early into
@@ -583,6 +612,9 @@ def test_timeit_futures():
     ip.compile.reset_compiler_flags()
     with tt.AssertNotPrints('0.25'):
         ip.run_line_magic('timeit', '-n1 -r1 print(1/4)')
+def test_timeit_invalid_return():
+    with nt.assert_raises_regexp(SyntaxError, "outside function"):
+        _ip.run_line_magic('timeit', 'return')
 
 @dec.skipif(execution.profile is None)
 def test_prun_special_syntax():
diff --git a/IPython/core/tests/test_run.py b/IPython/core/tests/test_run.py
index afe01a7..3779883 100644
--- a/IPython/core/tests/test_run.py
+++ b/IPython/core/tests/test_run.py
@@ -18,6 +18,7 @@ import functools
 import os
 from os.path import join as pjoin
 import random
+import string
 import sys
 import tempfile
 import textwrap
@@ -171,8 +172,8 @@ def doctest_reset_del():
 class TestMagicRunPass(tt.TempFileMixin):
 
     def setup(self):
-        """Make a valid python temp file."""
-        self.mktmp('pass\n')
+        content = "a = [1,2,3]\nb = 1"
+        self.mktmp(content)
         
     def run_tmpfile(self):
         _ip = get_ipython()
@@ -219,6 +220,16 @@ class TestMagicRunPass(tt.TempFileMixin):
         with tt.fake_input(['c']):
             _ip.magic('run -d %s' % self.fname)
 
+    def test_run_debug_twice_with_breakpoint(self):
+        """Make a valid python temp file."""
+        _ip = get_ipython()
+        with tt.fake_input(['b 2', 'c', 'c']):
+            _ip.magic('run -d %s' % self.fname)
+
+        with tt.fake_input(['c']):
+            with tt.AssertNotPrints('KeyError'):
+                _ip.magic('run -d %s' % self.fname)
+
 
 class TestMagicRunSimple(tt.TempFileMixin):
 
@@ -405,8 +416,8 @@ class TestMagicRunWithPackage(unittest.TestCase):
             f.write(textwrap.dedent(content))
 
     def setUp(self):
-        self.package = package = 'tmp{0}'.format(repr(random.random())[2:])
-        """Temporary valid python package name."""
+        self.package = package = 'tmp{0}'.format(''.join([random.choice(string.ascii_letters) for i in range(10)]))
+        """Temporary  (probably) valid python package name."""
 
         self.value = int(random.random() * 10000)
 
diff --git a/IPython/core/ultratb.py b/IPython/core/ultratb.py
index 98e2cd5..a855145 100644
--- a/IPython/core/ultratb.py
+++ b/IPython/core/ultratb.py
@@ -438,7 +438,7 @@ def is_recursion_error(etype, value, records):
     # by stack frames in IPython itself. >500 frames probably indicates
     # a recursion error.
     return (etype is recursion_error_type) \
-           and "recursion" in str(value).lower() \
+           and str("recursion") in str(value).lower() \
            and len(records) > 500
 
 def find_recursion(etype, value, records):
@@ -1227,8 +1227,7 @@ class VerboseTB(TBTools):
 
         if force or self.call_pdb:
             if self.pdb is None:
-                self.pdb = self.debugger_cls(
-                    self.color_scheme_table.active_scheme_name)
+                self.pdb = self.debugger_cls()
             # the system displayhook may have changed, restore the original
             # for pdb
             display_trap = DisplayTrap(hook=sys.__displayhook__)
diff --git a/IPython/lib/demo.py b/IPython/lib/demo.py
index 4db31aa..b0f3503 100644
--- a/IPython/lib/demo.py
+++ b/IPython/lib/demo.py
@@ -106,7 +106,7 @@ the execution.
 This is probably best explained with the simple example file below.  You can
 copy this into a file named ex_demo.py, and try running it via::
 
-    from IPython.demo import Demo
+    from IPython.lib.demo import Demo
     d = Demo('ex_demo.py')
     d()
 
diff --git a/IPython/lib/pretty.py b/IPython/lib/pretty.py
index 97529f1..7240c88 100644
--- a/IPython/lib/pretty.py
+++ b/IPython/lib/pretty.py
@@ -119,6 +119,21 @@ else:
                 cast_unicode(text, encoding=get_stream_enc(sys.stdout)))
 
 
+def _sorted_for_pprint(items):
+    """
+    Sort the given items for pretty printing. Since some predictable
+    sorting is better than no sorting at all, we sort on the string
+    representation if normal sorting fails.
+    """
+    items = list(items)
+    try:
+        return sorted(items)
+    except Exception:
+        try:
+            return sorted(items, key=str)
+        except Exception:
+            return items
+
 def pretty(obj, verbose=False, max_width=79, newline='\n', max_seq_length=MAX_SEQ_LENGTH):
     """
     Pretty print the object's representation.
@@ -576,13 +591,10 @@ def _set_pprinter_factory(start, end, basetype):
             step = len(start)
             p.begin_group(step, start)
             # Like dictionary keys, we will try to sort the items if there aren't too many
-            items = obj
             if not (p.max_seq_length and len(obj) >= p.max_seq_length):
-                try:
-                    items = sorted(obj)
-                except Exception:
-                    # Sometimes the items don't sort.
-                    pass
+                items = _sorted_for_pprint(obj)
+            else:
+                items = obj
             for idx, x in p._enumerate(items):
                 if idx:
                     p.text(',')
@@ -610,11 +622,7 @@ def _dict_pprinter_factory(start, end, basetype=None):
         keys = obj.keys()
         # if dict isn't large enough to be truncated, sort keys before displaying
         if not (p.max_seq_length and len(obj) >= p.max_seq_length):
-            try:
-                keys = sorted(keys)
-            except Exception:
-                # Sometimes the keys don't sort.
-                pass
+            keys = _sorted_for_pprint(keys)
         for idx, key in p._enumerate(keys):
             if idx:
                 p.text(',')
diff --git a/IPython/sphinxext/ipython_directive.py b/IPython/sphinxext/ipython_directive.py
index 63ad0c1..7a294f1 100644
--- a/IPython/sphinxext/ipython_directive.py
+++ b/IPython/sphinxext/ipython_directive.py
@@ -139,7 +139,7 @@ import shutil
 
 # Third-party
 from docutils.parsers.rst import directives
-from sphinx.util.compat import Directive
+from docutils.parsers.rst import Directive
 
 # Our own
 from traitlets.config import Config
diff --git a/IPython/terminal/ipapp.py b/IPython/terminal/ipapp.py
index 30cb93d..6b25aaa 100755
--- a/IPython/terminal/ipapp.py
+++ b/IPython/terminal/ipapp.py
@@ -365,12 +365,10 @@ def load_default_config(ipython_dir=None):
         ipython_dir = get_ipython_dir()
 
     profile_dir = os.path.join(ipython_dir, 'profile_default')
-
-    config = Config()
-    for cf in Application._load_config_files("ipython_config", path=profile_dir):
-        config.update(cf)
-
-    return config
+    app = TerminalIPythonApp()
+    app.config_file_paths.append(profile_dir)
+    app.load_config_file()
+    return app.config
 
 launch_new_instance = TerminalIPythonApp.launch_instance
 
diff --git a/IPython/utils/_sysinfo.py b/IPython/utils/_sysinfo.py
index a80b029..7a6dc40 100644
--- a/IPython/utils/_sysinfo.py
+++ b/IPython/utils/_sysinfo.py
@@ -1,2 +1,2 @@
 # GENERATED BY setup.py
-commit = u""
+commit = u"b467d487e"
diff --git a/IPython/utils/terminal.py b/IPython/utils/terminal.py
index 0f3a45d..e92c410 100644
--- a/IPython/utils/terminal.py
+++ b/IPython/utils/terminal.py
@@ -24,7 +24,7 @@ except ImportError:
     try:
         from backports.shutil_get_terminal_size import get_terminal_size as _get_terminal_size
     except ImportError:
-        from ._get_terminal_size import _get_terminal_size
+        from ._get_terminal_size import get_terminal_size as _get_terminal_size
 
 from . import py3compat
 
diff --git a/IPython/utils/tests/test_path.py b/IPython/utils/tests/test_path.py
index 4aba13f..66388f5 100644
--- a/IPython/utils/tests/test_path.py
+++ b/IPython/utils/tests/test_path.py
@@ -410,6 +410,7 @@ def test_unescape_glob():
... 15617 lines suppressed ...

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/ipython4.git



More information about the Python-modules-commits mailing list