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

Gordon Ball chronitis-guest at moszumanska.debian.org
Sat Jun 24 13:39:49 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 77acd4d8fb600a2b3818b6aab98700da290afc6b
Author: Gordon Ball <gordon at chronitis.net>
Date:   Sat Jun 24 11:18:38 2017 +0200

    Import ipython_5.4.0.orig.tar.gz
---
 .gitattributes                                     |    5 +
 .gitignore                                         |   23 +
 .mailmap                                           |  156 +
 .travis.yml                                        |   45 +
 CONTRIBUTING.md                                    |   45 +
 Dockerfile                                         |    7 +
 IPython/config.py                                  |    2 +-
 IPython/core/completer.py                          |   69 +-
 IPython/core/completerlib.py                       |    6 +
 IPython/core/debugger.py                           |   55 +-
 IPython/core/display.py                            |  244 +-
 IPython/core/displayhook.py                        |   16 +-
 IPython/core/displaypub.py                         |   16 +-
 IPython/core/excolors.py                           |   10 +-
 IPython/core/formatters.py                         |  110 +-
 IPython/core/history.py                            |    3 +-
 IPython/core/hooks.py                              |    2 +-
 IPython/core/inputtransformer.py                   |   30 +-
 IPython/core/interactiveshell.py                   |   17 +-
 IPython/core/magics/basic.py                       |   39 +-
 IPython/core/magics/execution.py                   |    7 +-
 IPython/core/magics/script.py                      |    8 +
 IPython/core/oinspect.py                           |   14 +-
 IPython/core/pylabtools.py                         |   39 +-
 IPython/core/release.py                            |    6 +-
 IPython/core/tests/test_completer.py               |    7 +
 IPython/core/tests/test_display.py                 |  140 +
 IPython/core/tests/test_formatters.py              |   98 +-
 IPython/core/tests/test_inputtransformer.py        |    5 +
 IPython/core/tests/test_oinspect.py                |   29 +-
 IPython/core/tests/test_paths.py                   |    2 +-
 IPython/core/tests/test_run.py                     |    9 +-
 IPython/core/ultratb.py                            |    6 +
 IPython/core/usage.py                              |   34 +-
 IPython/extensions/autoreload.py                   |    4 +-
 IPython/external/qt_for_kernel.py                  |    7 +-
 IPython/external/qt_loaders.py                     |  108 +-
 IPython/frontend.py                                |    2 +-
 IPython/html.py                                    |    2 +-
 IPython/kernel/__init__.py                         |    2 +-
 IPython/lib/deepreload.py                          |    3 +-
 IPython/lib/display.py                             |    8 +-
 IPython/lib/editorhooks.py                         |    2 +-
 IPython/lib/guisupport.py                          |   27 +-
 IPython/lib/inputhook.py                           |    4 +-
 IPython/lib/tests/test_deepreload.py               |   29 +-
 IPython/lib/tests/test_editorhooks.py              |    1 +
 IPython/nbconvert.py                               |    2 +-
 IPython/nbformat.py                                |    2 +-
 IPython/parallel.py                                |    2 +-
 IPython/qt.py                                      |    2 +-
 IPython/sphinxext/ipython_directive.py             |   24 +-
 IPython/terminal/console.py                        |    2 +-
 IPython/terminal/debugger.py                       |   45 +-
 IPython/terminal/embed.py                          |  121 +-
 IPython/terminal/interactiveshell.py               |  112 +-
 IPython/terminal/ipapp.py                          |   11 +-
 IPython/terminal/magics.py                         |    5 +-
 IPython/terminal/prompts.py                        |   14 +-
 IPython/terminal/pt_inputhooks/__init__.py         |   13 +-
 IPython/terminal/pt_inputhooks/osx.py              |    6 -
 IPython/terminal/pt_inputhooks/qt.py               |   11 +-
 IPython/terminal/ptutils.py                        |   17 +-
 IPython/terminal/shortcuts.py                      |   25 +-
 IPython/terminal/tests/test_interactivshell.py     |   36 +-
 IPython/testing/decorators.py                      |   20 +-
 IPython/testing/iptest.py                          |   10 +
 IPython/testing/tools.py                           |   43 +-
 IPython/utils/_get_terminal_size.py                |  131 +
 IPython/utils/_sysinfo.py                          |    2 +-
 IPython/utils/capture.py                           |    6 +-
 IPython/utils/io.py                                |    7 +-
 IPython/utils/path.py                              |   17 +-
 IPython/utils/terminal.py                          |    7 +-
 IPython/utils/tests/test_io.py                     |   18 +-
 MANIFEST.in                                        |   36 +
 PKG-INFO                                           |   60 -
 codecov.yml                                        |    9 +
 docs/Makefile                                      |    2 +-
 docs/autogen_shortcuts.py                          |    3 +-
 docs/source/api/index.rst                          |    2 +-
 docs/source/conf.py                                |   10 +-
 docs/source/config/details.rst                     |    7 +-
 docs/source/config/extensions/index.rst            |    2 +-
 docs/source/coredev/release_process.rst            |   19 +-
 docs/source/development/wrapperkernels.rst         |    2 +-
 docs/source/index.rst                              |    4 +-
 docs/source/install/install.rst                    |   14 +-
 docs/source/interactive/plotting.rst               |   25 +
 docs/source/interactive/reference.rst              |   46 +-
 docs/source/overview.rst                           |    2 +-
 docs/source/whatsnew/development.rst               |    1 -
 docs/source/whatsnew/github-stats-0.13.rst         |    4 +-
 docs/source/whatsnew/github-stats-4.rst            |    2 +-
 docs/source/whatsnew/github-stats-5.rst            |  104 +
 docs/source/whatsnew/version3.rst                  |    2 +-
 docs/source/whatsnew/version5.rst                  |  156 +
 examples/IPython Kernel/Custom Display Logic.ipynb | 1058 +--
 examples/IPython Kernel/Updating Displays.ipynb    |  359 +
 setup.py                                           |    8 +-
 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 +
 135 files changed, 17754 insertions(+), 1384 deletions(-)

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..56783b6
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,5 @@
+IPython/.git_commit_info.ini export-subst
+* text=auto
+*.py diff=python
+*.js diff=javascript
+*.html diff=html
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c10cded
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,23 @@
+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
new file mode 100644
index 0000000..a96fb4d
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,156 @@
+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
new file mode 100644
index 0000000..895d76e
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,45 @@
+# 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
new file mode 100644
index 0000000..a6aab5b
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,45 @@
+## 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
new file mode 100644
index 0000000..994e9f0
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,7 @@
+# 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/config.py b/IPython/config.py
index c3a3e91..cf2baca 100644
--- a/IPython/config.py
+++ b/IPython/config.py
@@ -9,7 +9,7 @@ from warnings import warn
 
 from IPython.utils.shimmodule import ShimModule, ShimWarning
 
-warn("The `IPython.config` package has been deprecated. "
+warn("The `IPython.config` package has been deprecated since IPython 4.0. "
      "You should import from traitlets.config instead.", ShimWarning)
 
 
diff --git a/IPython/core/completer.py b/IPython/core/completer.py
index 87b13b1..5ce832c 100644
--- a/IPython/core/completer.py
+++ b/IPython/core/completer.py
@@ -25,6 +25,7 @@ import re
 import sys
 import unicodedata
 import string
+import warnings
 
 from traitlets.config.configurable import Configurable
 from IPython.core.error import TryNext
@@ -37,11 +38,6 @@ from IPython.utils.process import arg_split
 from IPython.utils.py3compat import builtin_mod, string_types, PY3, cast_unicode_py2
 from traitlets import Bool, Enum, observe
 
-from functools import wraps
-
-#-----------------------------------------------------------------------------
-# Globals
-#-----------------------------------------------------------------------------
 
 # Public API
 __all__ = ['Completer','IPCompleter']
@@ -52,48 +48,6 @@ else:
     PROTECTABLES = ' ()[]{}?=\\|;:\'#*"^&'
 
 
-#-----------------------------------------------------------------------------
-# Work around BUG decorators.
-#-----------------------------------------------------------------------------
-
-def _strip_single_trailing_space(complete):
-    """
-    This is a workaround for a weird IPython/Prompt_toolkit behavior,
-    that can be removed once we rely on a slightly more recent prompt_toolkit
-    version (likely > 1.0.3). So this can likely be removed in IPython 6.0
-
-    cf https://github.com/ipython/ipython/issues/9658
-    and https://github.com/jonathanslenders/python-prompt-toolkit/pull/328
-
-    The bug is due to the fact that in PTK the completer will reinvoke itself
-    after trying to completer to the longuest common prefix of all the
-    completions, unless only one completion is available.
-
-    This logic is faulty if the completion ends with space, which can happen in
-    case like::
-
-        from foo import im<ta>
-
-    which only matching completion is `import `. Note the leading space at the
-    end. So leaving a space at the end is a reasonable request, but for now
-    we'll strip it.
-    """
-
-    @wraps(complete)
-    def comp(*args, **kwargs):
-        text, matches =  complete(*args, **kwargs)
-        if len(matches) == 1:
-            return text, [matches[0].rstrip()]
-        return text, matches
-
-    return comp
-
-
-
-#-----------------------------------------------------------------------------
-# Main functions and classes
-#-----------------------------------------------------------------------------
-
 def has_open_quotes(s):
     """Return whether a string has open quotes.
 
@@ -285,7 +239,11 @@ class Completer(Configurable):
         but can be unsafe because the code is actually evaluated on TAB.
         """
     ).tag(config=True)
-    
+
+    backslash_combining_completions = Bool(True, 
+        help="Enable unicode completions, e.g. \\alpha<tab> . "
+             "Includes completion of latex commands, unicode names, and expanding "
+             "unicode characters back to latex commands.").tag(config=True)
 
     def __init__(self, namespace=None, global_namespace=None, **kwargs):
         """Create a new completer for the command line.
@@ -588,6 +546,13 @@ class IPCompleter(Completer):
         """,
     ).tag(config=True)
 
+    @observe('limit_to__all__')
+    def _limit_to_all_changed(self, change):
+        warnings.warn('`IPython.core.IPCompleter.limit_to__all__` configuration '
+            'value has been deprecated since IPython 5.0, will be made to have '
+            'no effects and then removed in future version of IPython.',
+            UserWarning)
+
     def __init__(self, shell=None, namespace=None, global_namespace=None,
                  use_readline=True, config=None, **kwargs):
         """IPCompleter() -> completer
@@ -1128,7 +1093,6 @@ class IPCompleter(Completer):
 
         return None
 
-    @_strip_single_trailing_space
     def complete(self, text=None, line_buffer=None, cursor_pos=None):
         """Find completions for the given text and line context.
 
@@ -1164,12 +1128,15 @@ class IPCompleter(Completer):
         if cursor_pos is None:
             cursor_pos = len(line_buffer) if text is None else len(text)
 
-        if PY3:
+        if self.use_main_ns:
+            self.namespace = __main__.__dict__
+
+        if PY3 and self.backslash_combining_completions:
 
             base_text = text if not line_buffer else line_buffer[:cursor_pos]
             latex_text, latex_matches = self.latex_matches(base_text)
             if latex_matches:
-                 return latex_text, latex_matches
+                return latex_text, latex_matches
             name_text = ''
             name_matches = []
             for meth in (self.unicode_name_matches, back_latex_name_matches, back_unicode_name_matches):
diff --git a/IPython/core/completerlib.py b/IPython/core/completerlib.py
index 3fbc7e6..3aefc7c 100644
--- a/IPython/core/completerlib.py
+++ b/IPython/core/completerlib.py
@@ -116,6 +116,11 @@ def get_root_modules():
     ip.db['rootmodules_cache'] maps sys.path entries to list of modules.
     """
     ip = get_ipython()
+    if ip is None:
+        # No global shell instance to store cached list of modules.
+        # Don't try to scan for modules every time.
+        return list(sys.builtin_module_names)
+
     rootmodules_cache = ip.db.get('rootmodules_cache', {})
     rootmodules = list(sys.builtin_module_names)
     start_time = time()
@@ -154,6 +159,7 @@ def is_importable(module, attr, only_modules):
         return not(attr[:2] == '__' and attr[-2:] == '__')
 
 def try_import(mod, only_modules=False):
+    mod = mod.rstrip('.')
     try:
         m = __import__(mod)
     except:
diff --git a/IPython/core/debugger.py b/IPython/core/debugger.py
index 591e4c3..f08cfb1 100644
--- a/IPython/core/debugger.py
+++ b/IPython/core/debugger.py
@@ -13,7 +13,8 @@ The code in this file is mainly lifted out of cmd.py in Python 2.2, with minor
 changes. Licensing should therefore be under the standard Python terms.  For
 details on the PSF (Python Software Foundation) standard license, see:
 
-http://www.python.org/2.2.3/license.html"""
+https://docs.python.org/2/license.html
+"""
 
 #*****************************************************************************
 #
@@ -64,7 +65,7 @@ def BdbQuit_excepthook(et, ev, tb, excepthook=None):
     parameter.
     """
     warnings.warn("`BdbQuit_excepthook` is deprecated since version 5.1",
-                  DeprecationWarning)
+                  DeprecationWarning, stacklevel=2)
     if et==bdb.BdbQuit:
         print('Exiting Debugger.')
     elif excepthook is not None:
@@ -77,7 +78,7 @@ def BdbQuit_excepthook(et, ev, tb, excepthook=None):
 def BdbQuit_IPython_excepthook(self,et,ev,tb,tb_offset=None):
     warnings.warn(
         "`BdbQuit_IPython_excepthook` is deprecated since version 5.1",
-        DeprecationWarning)
+        DeprecationWarning, stacklevel=2)
     print('Exiting Debugger.')
 
 
@@ -129,7 +130,7 @@ class Tracer(object):
         """
         warnings.warn("`Tracer` is deprecated since version 5.1, directly use "
                       "`IPython.core.debugger.Pdb.set_trace()`",
-                      DeprecationWarning)
+                      DeprecationWarning, stacklevel=2)
 
         ip = get_ipython()
         if ip is None:
@@ -202,7 +203,7 @@ def _file_lines(fname):
         return out
 
 
-class Pdb(OldPdb, object):
+class Pdb(OldPdb):
     """Modified Pdb class, does not load readline.
 
     for a standalone version that uses prompt_toolkit, see
@@ -227,10 +228,14 @@ class Pdb(OldPdb, object):
         self.shell = get_ipython()
 
         if self.shell is None:
+            save_main = sys.modules['__main__']
             # No IPython instance running, we must create one
             from IPython.terminal.interactiveshell import \
                 TerminalInteractiveShell
             self.shell = TerminalInteractiveShell.instance()
+            # needed by any code which calls __import__("__main__") after
+            # the debugger was entered. See also #9941.
+            sys.modules['__main__'] = save_main 
 
         if color_scheme is not None:
             warnings.warn(
@@ -278,37 +283,12 @@ class Pdb(OldPdb, object):
         """Shorthand access to the color table scheme selector method."""
         self.color_scheme_table.set_active_scheme(scheme)
 
-    def trace_dispatch(self, frame, event, arg):
-        try:
-            return super(Pdb, self).trace_dispatch(frame, event, arg)
-        except bdb.BdbQuit:
-            pass
-
     def interaction(self, frame, traceback):
         try:
             OldPdb.interaction(self, frame, traceback)
         except KeyboardInterrupt:
             sys.stdout.write('\n' + self.shell.get_exception_only())
 
-    def parseline(self, line):
-        if line.startswith("!!"):
-            # Force standard behavior.
-            return super(Pdb, self).parseline(line[2:])
-        # "Smart command mode" from pdb++: don't execute commands if a variable
-        # with the same name exists.
-        cmd, arg, newline = super(Pdb, self).parseline(line)
-        # Fix for #9611: Do not trigger smart command if the command is `exit`
-        # or `quit` and it would resolve to their *global* value (the
-        # `ExitAutocall` object).  Just checking that it is not present in the
-        # locals dict is not enough as locals and globals match at the
-        # toplevel.
-        if ((cmd in self.curframe.f_locals or cmd in self.curframe.f_globals)
-                and not (cmd in ["exit", "quit"]
-                         and (self.curframe.f_locals is self.curframe.f_globals
-                              or cmd not in self.curframe.f_locals))):
-            return super(Pdb, self).parseline("!" + line)
-        return super(Pdb, self).parseline(line)
-
     def new_do_up(self, arg):
         OldPdb.do_up(self, arg)
     do_u = do_up = decorate_fn_with_doc(new_do_up, OldPdb.do_up)
@@ -505,6 +485,8 @@ class Pdb(OldPdb, object):
             pass
 
     def do_list(self, arg):
+        """Print lines of code from the current stack frame
+        """
         self.lastcmd = 'list'
         last = None
         if arg:
@@ -548,6 +530,10 @@ class Pdb(OldPdb, object):
         return inspect.getblock(lines[lineno:]), lineno+1
 
     def do_longlist(self, arg):
+        """Print lines of code from the current stack frame.
+
+        Shows more lines than 'list' does.
+        """
         self.lastcmd = 'longlist'
         try:
             lines, lineno = self.getsourcelines(self.curframe)
@@ -621,3 +607,12 @@ class Pdb(OldPdb, object):
                 self.print_stack_trace()
 
         do_w = do_where
+
+
+def set_trace(frame=None):
+    """
+    Start debugging from `frame`.
+
+    If frame is not specified, debugging starts from caller's frame.
+    """
+    Pdb().set_trace(frame or sys._getframe().f_back)
diff --git a/IPython/core/display.py b/IPython/core/display.py
index 4a943e4..e52c815 100644
--- a/IPython/core/display.py
+++ b/IPython/core/display.py
@@ -11,6 +11,7 @@ try:
 except ImportError:
     from base64 import encodestring as base64_encode
 
+from binascii import b2a_hex
 import json
 import mimetypes
 import os
@@ -27,7 +28,7 @@ __all__ = ['display', 'display_pretty', 'display_html', 'display_markdown',
 'display_javascript', 'display_pdf', 'DisplayObject', 'TextDisplayObject',
 'Pretty', 'HTML', 'Markdown', 'Math', 'Latex', 'SVG', 'JSON', 'Javascript',
 'Image', 'clear_output', 'set_matplotlib_formats', 'set_matplotlib_close',
-'publish_display_data']
+'publish_display_data', 'update_display', 'DisplayHandle']
 
 #-----------------------------------------------------------------------------
 # utility functions
@@ -78,8 +79,8 @@ def _display_mimetype(mimetype, objs, raw=False, metadata=None):
 #-----------------------------------------------------------------------------
 # Main functions
 #-----------------------------------------------------------------------------
-
-def publish_display_data(data, metadata=None, source=None):
+# use * to indicate transient is keyword-only
+def publish_display_data(data, metadata=None, source=None, **kwargs):
     """Publish data and metadata to all frontends.
 
     See the ``display_data`` message in the messaging documentation for
@@ -114,19 +115,38 @@ def publish_display_data(data, metadata=None, source=None):
         to specify metadata about particular representations.
     source : str, deprecated
         Unused.
+    transient : dict, keyword-only
+        A dictionary of transient data, such as display_id.
         """
     from IPython.core.interactiveshell import InteractiveShell
-    InteractiveShell.instance().display_pub.publish(
+
+    display_pub = InteractiveShell.instance().display_pub
+
+    # only pass transient if supplied,
+    # to avoid errors with older ipykernel.
+    # TODO: We could check for ipykernel version and provide a detailed upgrade message.
+
+    display_pub.publish(
         data=data,
         metadata=metadata,
+        **kwargs
     )
 
+
+def _new_id():
+    """Generate a new random text id with urandom"""
+    return b2a_hex(os.urandom(16)).decode('ascii')
+
+
 def display(*objs, **kwargs):
     """Display a Python object in all frontends.
 
     By default all representations will be computed and sent to the frontends.
     Frontends can decide which representation is used and how.
 
+    In terminal IPython this will be similar to using :func:`print`, for use in richer
+    frontends see Jupyter notebook examples with rich display logic.
+
     Parameters
     ----------
     objs : tuple of objects
@@ -134,11 +154,11 @@ def display(*objs, **kwargs):
     raw : bool, optional
         Are the objects to be displayed already mimetype-keyed dicts of raw display data,
         or Python objects that need to be formatted before display? [default: False]
-    include : list or tuple, optional
+    include : list, tuple or set, optional
         A list of format type strings (MIME types) to include in the
         format data dict. If this is set *only* the format types included
         in this list will be computed.
-    exclude : list or tuple, optional
+    exclude : list, tuple or set, optional
         A list of format type strings (MIME types) to exclude in the format
         data dict. If this is set all format types will be computed,
         except for those included in this argument.
@@ -146,11 +166,133 @@ def display(*objs, **kwargs):
         A dictionary of metadata to associate with the output.
         mime-type keys in this dictionary will be associated with the individual
         representation formats, if they exist.
+    transient : dict, optional
+        A dictionary of transient data to associate with the output.
+        Data in this dict should not be persisted to files (e.g. notebooks).
+    display_id : str, bool optional
+        Set an id for the display.
+        This id can be used for updating this display area later via update_display.
+        If given as `True`, generate a new `display_id`
+    kwargs: additional keyword-args, optional
+        Additional keyword-arguments are passed through to the display publisher.
+
+    Returns
+    -------
+
+    handle: DisplayHandle
+        Returns a handle on updatable displays for use with :func:`update_display`,
+        if `display_id` is given. Returns :any:`None` if no `display_id` is given
+        (default).
+
+    Examples
+    --------
+
+    >>> class Json(object):
+    ...     def __init__(self, json):
+    ...         self.json = json
+    ...     def _repr_pretty_(self, pp, cycle):
+    ...         import json
+    ...         pp.text(json.dumps(self.json, indent=2))
+    ...     def __repr__(self):
+    ...         return str(self.json)
+    ...
+
+    >>> d = Json({1:2, 3: {4:5}})
+
+    >>> print(d)
+    {1: 2, 3: {4: 5}}
+
+    >>> display(d)
+    {
+      "1": 2,
+      "3": {
+        "4": 5
+      }
+    }
+
+    >>> def int_formatter(integer, pp, cycle):
+    ...     pp.text('I'*integer)
+
+    >>> plain = get_ipython().display_formatter.formatters['text/plain']
+    >>> plain.for_type(int, int_formatter)
+    <function _repr_pprint at 0x...>
+    >>> display(7-5)
+    II
+
+    >>> del plain.type_printers[int]
+    >>> display(7-5)
+    2
+
+    See Also
+    --------
+
+    :func:`update_display`
+
+    Notes
+    -----
+
+    In Python, objects can declare their textual representation using the
+    `__repr__` method. IPython expands on this idea and allows objects to declare
+    other, rich representations including:
+
+      - HTML
+      - JSON
+      - PNG
+      - JPEG
+      - SVG
+      - LaTeX
+
+    A single object can declare some or all of these representations; all are
+    handled by IPython's display system.
+
+    The main idea of the first approach is that you have to implement special
+    display methods when you define your class, one for each representation you
+    want to use. Here is a list of the names of the special methods and the
+    values they must return:
+
+      - `_repr_html_`: return raw HTML as a string
+      - `_repr_json_`: return a JSONable dict
+      - `_repr_jpeg_`: return raw JPEG data
+      - `_repr_png_`: return raw PNG data
+      - `_repr_svg_`: return raw SVG data as a string
+      - `_repr_latex_`: return LaTeX commands in a string surrounded by "$".
+      - `_repr_mimebundle_`: return a full mimebundle containing the mapping
+      from all mimetypes to data
+
+    When you are directly writing your own classes, you can adapt them for
+    display in IPython by following the above approach. But in practice, you
+    often need to work with existing classes that you can't easily modify.
+
+    You can refer to the documentation on IPython display formatters in order to
+    register custom formatters for already existing types.
+
+    .. versionadded:: 5.4 display available without import
+    .. versionadded:: 6.1 display available without import
+
+    Since IPython 5.4 and 6.1 :func:`display` is automatically made available to
+    the user without import. If you are using display in a document that might
+    be used in a pure python context or with older version of IPython, use the
+    following import at the top of your file::
+
+        from IPython.display import display
+
     """
-    raw = kwargs.get('raw', False)
-    include = kwargs.get('include')
-    exclude = kwargs.get('exclude')
-    metadata = kwargs.get('metadata')
+    raw = kwargs.pop('raw', False)
+    include = kwargs.pop('include', None)
+    exclude = kwargs.pop('exclude', None)
+    metadata = kwargs.pop('metadata', None)
+    transient = kwargs.pop('transient', None)
+    display_id = kwargs.pop('display_id', None)
+    if transient is None:
+        transient = {}
+    if display_id:
+        if display_id is True:
+            display_id = _new_id()
+        transient['display_id'] = display_id
+    if kwargs.get('update') and 'display_id' not in transient:
+        raise TypeError('display_id required for update_display')
+    if transient:
+        kwargs['transient'] = transient
 
     from IPython.core.interactiveshell import InteractiveShell
 
@@ -159,7 +301,7 @@ def display(*objs, **kwargs):
 
     for obj in objs:
         if raw:
-            publish_display_data(data=obj, metadata=metadata)
+            publish_display_data(data=obj, metadata=metadata, **kwargs)
         else:
             format_dict, md_dict = format(obj, include=include, exclude=exclude)
             if not format_dict:
@@ -168,7 +310,84 @@ def display(*objs, **kwargs):
             if metadata:
                 # kwarg-specified metadata gets precedence
                 _merge(md_dict, metadata)
-            publish_display_data(data=format_dict, metadata=md_dict)
+            publish_display_data(data=format_dict, metadata=md_dict, **kwargs)
+    if display_id:
+        return DisplayHandle(display_id)
... 21027 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