./devel/py-ipython, Interactive computing environment for Python

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 7.10.2, Package name: py37-ipython-7.10.2, Maintainer: pkgsrc-users

The goal of IPython is to create a comprehensive environment for interactive and
exploratory computing. To support this goal, IPython has two main components:

* An enhanced interactive Python shell.
* An architecture for interactive parallel computing.


Required to run:
[devel/py-pexpect] [devel/py-setuptools] [textproc/py-pygments] [databases/py-sqlite3] [devel/py-decorator] [devel/py-traitlets] [databases/py-pickleshare] [devel/py-simplegeneric] [editors/py-jedi] [devel/py-backcall] [lang/python37] [devel/py-prompt_toolkit2]

Required to build:
[pkgtools/cwrappers]

Master sites:

SHA1: bce5708d2b9506eea6cd4347ed2cffb3637e3f14
RMD160: 64330c8cd873403e9328fb121e2e2c356e8da8e7
Filesize: 5083.051 KB

Version history: (Expand)


CVS history: (Expand)


   2019-12-15 10:18:46 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-ipython: updated to 7.10.2

IPython 7.10.2 fix a couple of extra incompatibility between IPython, ipdb,
asyncio and Prompt Toolkit 3.
   2019-12-02 12:45:46 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-ipython: updated to 7.10.1

IPython 7.10.1 fix a couple of incompatibilities with Prompt toolkit 3 (please
update Prompt toolkit to 3.0.2 at least), and fixes some interaction with
headless IPython.
   2019-11-28 07:26:33 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-ipython: updated to 7.10.0

IPython 7.10.0
==============

IPython 7.10 is the first double digit minor release in the  last decade, and
first since the release of IPython 1.0, previous double digit minor release was
in August 2009.

We've been trying to give you regular release on the last Friday of every month
for a guaranty of rapid access to bug fixes and new features.

Unlike the previous first few releases that have seen only a couple of code
changes, 7.10 bring a number of changes, new features and bugfixes.

Stop Support for Python 3.5 – Adopt NEP 29
------------------------------------------

IPython has decided to follow the informational `NEP 29
<https://numpy.org/neps/nep-0029-deprecation_policy.html>`_ which layout a \ 
clear
policy as to which version of (C)Python and NumPy are supported.

We thus dropped support for Python 3.5, and cleaned up a number of code path
that were Python-version dependant. If you are on 3.5 or earlier pip should
automatically give you the latest compatible version of IPython so you do not
need to pin to a given version.

Support for Prompt Toolkit 3.0
------------------------------

Prompt Toolkit 3.0 was release a week before IPython 7.10 and introduces a few
breaking changes. We believe IPython 7.10 should be compatible with both Prompt
Toolkit 2.x and 3.x, though it has not been extensively tested with 3.x so
please report any issues.

Prompt Rendering Performance improvements
-----------------------------------------

Pull Request :ghpull:`11933` introduced an optimisation in the prompt rendering
logic that should decrease the resource usage of IPython when using the
_default_ configuration but could potentially introduce a regression of
functionalities if you are using a custom prompt.

We know assume if you haven't changed the default keybindings that the prompt
**will not change** during the duration of your input – which is for example
not true when using vi insert mode that switches between `[ins]` and `[nor]`
for the current mode.

If you are experiencing any issue let us know.

Code autoformatting
-------------------

The IPython terminal can now auto format your code just before entering a new
line or executing a command. To do so use the
``--TerminalInteractiveShell.autoformatter`` option and set it to ``'black'``;
if black is installed IPython will use black to format your code when possible.

IPython cannot always properly format your code; in particular it will
auto formatting with *black* will only work if:

   - Your code does not contains magics or special python syntax.

   - There is no code after your cursor.

The Black API is also still in motion; so this may not work with all versions of
black.

It should be possible to register custom formatter, though the API is till in
flux.

Arbitrary Mimetypes Handing in Terminal (Aka inline images in terminal)
-----------------------------------------------------------------------

When using IPython terminal it is now possible to register function to handle
arbitrary mimetypes. While rendering non-text based representation was possible in
many jupyter frontend; it was not possible in terminal IPython, as usually
terminal are limited to displaying text. As many terminal these days provide
escape sequences to display non-text; bringing this loved feature to IPython CLI
made a lot of sens. This functionality will not only allow inline images; but
allow opening of external program; for example ``mplayer`` to \ 
"display" sound
files.

So far only the hooks necessary for this are in place, but no default mime
renderers added; so inline images will only be available via extensions. We will
progressively enable these features by default in the next few releases, and
contribution is welcomed.

We welcome any feedback on the API. See :ref:`shell_mimerenderer` for more
informations.

This is originally based on work form in :ghpull:`10610` from @stephanh42
started over two years ago, and still a lot need to be done.

MISC
----

 - Completions can define their own ordering :ghpull:`11855`
 - Enable Plotting in the same cell than the one that import matplotlib
   :ghpull:`11916`
 - Allow to store and restore multiple variables at once :ghpull:`11930`

You can see `all pull-requests \ 
<https://github.com/ipython/ipython/pulls?q=is%3Apr+milestone%3A7.10+is%3Aclosed>`_ \ 
for this release.

API Changes
-----------

Change of API and exposed objects automatically detected using `frappuccino \ 
<https://pypi.org/project/frappuccino/>`_ (still in beta):

The following items are new in IPython 7.10::

    + IPython.terminal.shortcuts.reformat_text_before_cursor(buffer, document, shell)
    + IPython.terminal.interactiveshell.PTK3
    + IPython.terminal.interactiveshell.black_reformat_handler(text_before_cursor)
    + IPython.terminal.prompts.RichPromptDisplayHook.write_format_data(self, \ 
format_dict, md_dict='None')

The following items have been removed in 7.10::

    - IPython.lib.pretty.DICT_IS_ORDERED

The following signatures differ between versions::

    - IPython.extensions.storemagic.restore_aliases(ip)
    + IPython.extensions.storemagic.restore_aliases(ip, alias='None')

Special Thanks
--------------

 - @stephanh42 who started the work on inline images in terminal 2 years ago
 - @augustogoulart who spent a lot of time triaging issues and responding to
   users.
 - @con-f-use who is my (@Carreau) first sponsor on GitHub, as a reminder if you
   like IPython, Jupyter and many other library of the SciPy stack you can
   donate to numfocus.org non profit
   2019-10-27 00:51:30 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-ipython: updated to 7.9.0

IPython 7.9 is a small release with a couple of improvement and bug fixes.
 - Xterm terminal title should be restored on exit
 - special variables ``_``,``__``, ``___`` are not set anymore when cache size
   is 0 or less.
 - Autoreload should have regained some speed by using a new heuristic logic to
   find all objects needing reload. This should avoid large objects traversal
   like pandas dataframes.
 - Get ready for Python 4.
 - `%env` Magic nonw has euristic to hide potentially sensitive values
   2019-09-02 09:55:53 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-ipython: updated to 7.8.0

IPython 7.8.0 contain a few bugfix and 2 new APIs:
- Enable changing the font color for LaTeX rendering
- and Re-Expose some PDB API
   2019-08-03 14:31:47 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-ipython: updated to 7.7.0

IPython 7.7.0 contain multiple bug fixes and documentation updates; Here are a
few of the outstanding issue fixed:

   - Fix a bug introduced in 7.6 where the ``%matplotlib`` magic would fail on
     previously acceptable arguments
   - Fix the manage location on freebsd
   - Fix error message about aliases after ``%reset`` call in ipykernel
   - Fix Duplication completions in emacs

We are planning to adopt `NEP29 <https://github.com/numpy/numpy/pull/14086>`_
(still currently in draft) which may make this minor version of IPython the
last one to support Python 3.5 and will make the code base more aggressive
toward removing compatibility with older versions of Python.

GitHub now support to give only "Triage" permissions to users; if \ 
you'd like to
help close stale issues and labels issues please reach to us with your GitHub
Username and we'll add you to the triage team. It is a great way to start
contributing and a path toward getting commit rights.
   2019-07-07 00:47:18 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-ipython: updated to 7.6.1

IPython 7.6.1 contain a critical bugfix in the %timeit magic, which would
crash on some inputs as a side effect of :ghpull:11716.
   2019-07-01 09:13:07 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-ipython: updated to 7.6.0

IPython 7.6.0

IPython 7.6.0 contains a couple of bug fixes and number of small features \ 
additions as well as some compatibility with the current development version of \ 
Python 3.8.

Add a -l option to %psearch to list the available search types.
Support PathLike for DisplayObject and Image.
Configurability of timeout in the test suite for slow platforms.
Accept any casing for matplotlib backend.
Properly skip test that requires numpy to be installed
More support for Python 3.8 and positional only arguments (pep570)
Unicode names for the completion are loaded lazily on first use which should \ 
decrease startup time.
Autoreload now update the types of reloaded objects; this for example allow \ 
pickling of reloaded objects.
Fix a big where %%time magic would suppress cell output.