ported from numpy.testing.noseclasses, with the equivalent code
extracted into _numpy_testing_noseclasses in case numpy is not
installed.
removed some unused imports throughout
Move all libraries in external into subfolders and place a custom
__init__.py into each of them. This way the system installed ones are
tried first, before falling back to the bundled ones.
Now every distribution can properly depend on the upstream library.
(e.g. bundled libraries are not allowed in fedora)
Signed-off-by: Toshio Ernie Kuratomi <toshio@fedoraproject.org>
Signed-off-by: Thomas Spura <tomspur@fedoraproject.org>
* Moved the pprint attribute to PlainTextFormatter.
* Added DisplayFormatter.plain_text_only for disabling all but the
plain text formatting. This is now used by doctest_mode.
* Remove result_display hook.
* Fixed doctest_mode magic.
* Refactored inline matplotlib backend to use new display system.
* Added display formatter for matplotlib.figure.Figure objects.
so the display system will show the svg for them.
* Added display and display_png to the user's namespace in pylab.
* Cleaned up pylabtools.py
As best I can tell, we've been mis-specifying data_files for ages.
For some reason with a plain setup.py it worked fine, but using a
customized cmdclass for build_py, the error shows up.
The problem was that we were returning a list of triples for
data_files, and the spec clearly says they must be pairs:
http://docs.python.org/distutils/setupscript.html?highlight=data_files#installing-additional-files
This will give us an easy way for users to report platform details,
without trying to cram lots of data into the version string.
Now, the version information in release.py is simple and doesn't
attempt to read version control data at runtime. We expose sys_info()
as a top-level function so it's very easy to remember/direct for new
users.
Minor doc/copyright notices updates in the same files.
This uses the tool to record the commit data from our previous commit,
and ensures that auto-generated archives from Github, for example,
always carry identifying information.
Ideas and code taken from Matthew Brett's tools in nibabel.
This branch cleans up our trunk to make a 2to3 run be as painless as
possible, while keeping our code fully 2.6-compatible.
Closes gh-159 (pull request).
This provides a new main script, ipython-qtconsole, that offers a rich
Qt widget capable of multiline editing, inline plots, html help and
much more.
This branch was developed over the last two months mostly by Evan
Patterson, Brian Granger and Fernando Perez, thanks to the support of
Enthought, Inc.
The code is now in a good prototype stage, and it's being merged into
trunk where further work, polishing and stabilization will take place.
* Renamed CachedOutput to displayhook.DisplayHook.
* Added methods that DisplayHook.__call__ uses to do its work.
These methods can now be overridden for the ZMQ kernel.
* Removed all hooks (result_display and generate_output_prompt)
that the outputcache was using. We need to add these back in
once we figure out what to do about hooks in general.
This is a huge merge of months worth of work by Fernando and Brian.
Some highlights:
* The test suite has been ported to use the new APIs.
* The test suite runs and passes on all platforms!!!
* The IPython Sphinx directive has been updated to use the new APIs.
* %history works again.
* New %tb magic for showing last traceback.
* Significant design improvements in the config loaders and applications.
* Zillions of bugs fixed.
* Completely new %pylab implementation that uses the new GUI support.
This allows pylab to be enabled *at runtime*.
* Many other things.
Fernando's branch introduced the ability to run the test suite
from a top-level iptest.py script. This allowed IPython to be tested
without installation. The implementation was fragile and we also
decided that we *want* people to install IPython as part of testing
it, so we removed this feature.
* :mod:`IPython.testing.globalipapp` now directly creates a
:class:`~IPython.core.iplib.InteractiveShell` instance by passing it a
configuration object, rather than creating an IPython application.
* Updated everything in :mod:`IPython.frontend` and :mod:`IPython.gui` to use
raw :class:`~IPython.core.iplib.InteractiveShell directly rather than
creating an IPython application.
* Updated the IPython sphinx extension to use raw
:class:`~IPython.core.iplib.InteractiveShell directly rather than creating
an IPython application.
* Removed code from :mod:`IPython.extensions.pretty` that called
:func:`get_ipython` (r1271).
* Addressed comment on (r1284) about holding refs to deferreds in
:mod:`IPython.kernel.ipclusterapp`.
* Removed :mod:`IPython.kernel` from list of modules tested by nose in
:mod:`IPython.testing.iptest`. (r1318)
* Added comment about Magic(object) (r1224)
* Moved InteractiveTB.set_mode from IPythonApp -> InteractiveShell (r1229)
* Moved pylabtools.py to IPython/lib (r1229)
* Cleaned up comments and copyrights in testing (r1233)
* Added comment about ip.shell._ofind (r1237)
* Removed "Bye." from quitter (r1240).
* Refactored and removed :mod:`IPython.utils.genutils` and
:mod:`IPython.utils.platutils`. These modules have been replaced by topical
focused modules in :mod:`IPython.utils`.
* Refactored tests in :mod:`IPython.utils.tests`.
* Moved :func:`IPython.testing.tools.temp_pyfile` to :mod:`IPython.utils.io`.
* Moved :func:`IPython.testing.tools.cmd2argv` to
:func:`IPython.testing.tools.pycmd2argv` and documented the fact that this
only works with Python based command line programs.
* Created a new :func:`IPython.utils.path.get_ipython_module_path` to use
in finding paths to IPython modules.
Added a module-level INSTALLED flag, which can be set to false if the test
suite is being run in-place (without ipython having been installed at all).
This is because how we call and import things must be done differently
depending on whether the code is installed or is being run in-place. The
only ones that can know this reliably are the entry-point scripts, so those
are responsible for setting this flag.
Also made the code that validates ipython in subprocesses report errors
better, by checking stderr for errors before validating stdout output, as
anything on stderr will be likely informative of the real problem.