The NetBSD Project

CVS log for pkgsrc/devel/py-ipython/Makefile

[BACK] Up to [cvs.NetBSD.org] / pkgsrc / devel / py-ipython

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.99 / (download) - annotate - [select for diffs], Mon Nov 27 15:26:12 2023 UTC (4 days, 4 hours ago) by adam
Branch: MAIN
CVS Tags: HEAD
Changes since 1.98: +3 -3 lines
Diff to previous 1.98 (colored)

py-ipython: updated to 8.18.1

IPython 8.18 and 8.18.1
-----------------------

8.18.1 is identical to 8.18 but pin ``prompt_toolkit`` to greater than ``3.0.41``

Small release of IPython that fixes a small number of inconveniences.

 - :ghpull:`14251` Fix a memory leak in qt event loop integration by setting
   the Loop parent to None.
 - :ghpull:`14252` Pickleshare was made an optional dependency in 8.17, this
   leads to warnings in some installations when using modules completions. The
   warning has been silenced.
 - :ghpull:`14241` Update event loop code for compatibility with more recent
   ``prompt_toolkit`` due to deprecations in Python 3.12.
 - :ghpull:`14245` Fix doc example on Pygments styles
 - :ghpull:`14238` Remove dependency on app_nope, this is actually only a
   dependency of IPykernel.

Revision 1.98 / (download) - annotate - [select for diffs], Sun Nov 26 10:05:41 2023 UTC (5 days, 9 hours ago) by adam
Branch: MAIN
Changes since 1.97: +2 -2 lines
Diff to previous 1.97 (colored)

py-ipython: updated to 8.18.0

IPython 8.18
------------

Small release of IPython that fixes a small number of inconveniences.

 - :ghpull:`14251` Fix a memory leak in qt event loop integration by setting
   the Loop parent to None.
 - :ghpull:`14252` Pickleshare was made an optional dependency in 8.17, this
   leads to warnings in some installations when using modules completions. The
   warning has been silenced.
 - :ghpull:`14241` Update event loop code for compatibility with more recent
   ``prompt_toolkit`` due to deprecations in Python 3.12.
 - :ghpull:`14245` Fix doc example on Pygments styles
 - :ghpull:`14238` Remove dependency on app_nope, this is actually only a
   dependency of IPykernel.

Revision 1.97 / (download) - annotate - [select for diffs], Thu Nov 2 09:17:35 2023 UTC (4 weeks, 1 day ago) by adam
Branch: MAIN
Changes since 1.96: +5 -7 lines
Diff to previous 1.96 (colored)

py-ipython: updated to 8.17.2

IPython 8.17, 8.17.1
--------------------

Medium-sized release of IPython that includes some cleanup (backcall, python2 leftovers)
and some refactoring improvements (typing, pathlib) and a fix on completion.

  - remove backcall dependency
  - make pickleshare dependency optional
  - support completion based on type annotations of calls

Reverted in 8.17.1:

  - remove support for python 2 in lexers (reverted in 8.17.1 as it is imported by qtconsole/spyder)

Mamba and Micromamba magic
~~~~~~~~~~~~~~~~~~~~~~~~~~

In addition to the conda command to manage conda environment, mamba and
micromamba can now be used using the corresponding magic in IPython.
Since these commands are compatible with conda, they are following the
same logic.

These two magic require to have the corresponding commands available
either in the conda environment or system wide.

Revision 1.96 / (download) - annotate - [select for diffs], Mon Oct 23 06:37:41 2023 UTC (5 weeks, 4 days ago) by wiz
Branch: MAIN
Changes since 1.95: +3 -2 lines
Diff to previous 1.95 (colored)

*: update for Python base package change

Instead of depending on one of the removed packages (that are now included
in the base Python packages), include batteries-included.mk to require
a Python version that supplies them.

Remove now included packages.

Bump PKGREVISION.

Revision 1.95 / (download) - annotate - [select for diffs], Mon Oct 2 18:58:24 2023 UTC (8 weeks, 4 days ago) by adam
Branch: MAIN
Changes since 1.94: +2 -2 lines
Diff to previous 1.94 (colored)

py-ipython: updated to 8.16.1

This PR is in 8.16.0 but reverted in 8.16.1, we'll  rework the fix for 8.17
- Fix an error where semicolon would not suppress output.

Revision 1.94 / (download) - annotate - [select for diffs], Fri Sep 29 13:40:02 2023 UTC (2 months ago) by adam
Branch: MAIN
Changes since 1.93: +5 -2 lines
Diff to previous 1.93 (colored)

py-ipython: updated to 8.16.0

IPython 8.16
------------

Small double release of IPython (with the 8.12.3 release notes just below).
Mostly bug fixes and cleanups, and type annotations. Of interest for users:

 - Fix a bug of the new iPdb chained traceback where some
   Exception would not have any traceback. (see upstream fix in CPython for more
   details).
 - Fix an error where semicolon would not suppress output.
 - Fix case with spurious message about event loops when using
   matplotlib.

Revision 1.93 / (download) - annotate - [select for diffs], Sat Sep 2 05:39:24 2023 UTC (2 months, 4 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q3-base, pkgsrc-2023Q3
Changes since 1.92: +2 -2 lines
Diff to previous 1.92 (colored)

py-ipython: updated to 8.15.0

IPython 8.15
------------

Medium release of IPython after a couple of month hiatus, and a bit
off-schedule.

Among other, IPython 8.15:

 - Improve compatibility with future version of Python 3.12/3.13
   :ghpull:`14107`, :ghpull:`14139`,
 - Improve support for ``ExceptionGroups``, :ghpull:`14108`
 - Fix hangs in ``%gui osx``, :ghpull:`14125`
 - Fix memory lead with ``%reset``, :ghpull:`14133`
 - Unstable config option to modify traceback highlighting that is sometime hard
   to read :ghpull:`14138`
 - Support ``.`` in ``ipdb`` as an argument to the ``list`` command
   :ghpull:`14121`
 - Workroud ``parso`` showing warning message when the default logger level is
   changed :ghpull:`14119`
 - Fix multiple issues with matplotlib interactive mode, qt5/qt6 :ghpull:`14128`

Revision 1.92 / (download) - annotate - [select for diffs], Tue Aug 1 23:20:40 2023 UTC (4 months ago) by wiz
Branch: MAIN
Changes since 1.91: +2 -2 lines
Diff to previous 1.91 (colored)

*: remove more references to Python 3.7

Revision 1.91 / (download) - annotate - [select for diffs], Tue Jun 6 18:28:30 2023 UTC (5 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q2-base, pkgsrc-2023Q2
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (colored)

py-ipython: updated to 8.14.0

IPython 8.14
------------

Small release of IPython.

 - :ghpull:`14080` fixes some shortcuts issues.
 - :ghpull:`14056` Add option to ``%autoreload`` to hide errors when reloading code. This will be the default for spyder
   user is my understanding.
 - :ghpull:`14039` (and :ghpull:`14040`) to show exception notes in tracebacks.

 - :ghpull:`14076` Add option to EventManager to prevent printing

Revision 1.90 / (download) - annotate - [select for diffs], Thu May 4 17:42:03 2023 UTC (6 months, 4 weeks ago) by adam
Branch: MAIN
Changes since 1.89: +3 -3 lines
Diff to previous 1.89 (colored)

py-ipython: updated to 8.13.2

IPython 8.13.1, 8.13.2 and 8.12.2
---------------------------------

3 quick in succession patch release of IPython in addition to IPython 8.13.0
having been yanked.

IPython 8.13.0 was improperly tagged as still compatible with Python 3.8, and
still had some mention of compatibility woth 3.8. IPython 8.13.1 is identical to
8.13 but with the exception of being correctly tagged. This release and yank was
mostly done to fix CI.

IPython 8.12.2 and 8.13.2 contain UI fixes, with respect to right arrow not
working in some case in the terminal, and 8.12.2 contain also a requested
backport of :ghpull:`14029` (Allow safe access to the ``__getattribute__``
method of modules) for tab completion.

Revision 1.89 / (download) - annotate - [select for diffs], Sun Apr 30 04:52:08 2023 UTC (7 months ago) by adam
Branch: MAIN
Changes since 1.88: +2 -2 lines
Diff to previous 1.88 (colored)

py-ipython: updated to 8.13.1

8.13.1
Bug fixes

Revision 1.88 / (download) - annotate - [select for diffs], Fri Apr 28 14:37:45 2023 UTC (7 months ago) by adam
Branch: MAIN
Changes since 1.87: +10 -6 lines
Diff to previous 1.87 (colored)

py-ipython: updated to 8.13.0

IPython 8.13
------------

As usual for the end of the month, minor release of IPython. This release is
significant in that it not only has a number of bugfixes, but also drop support
for Python 3.8 as per NEP 29 (:ghpull:`14023`).

All the critical bugfixes have been backported onto the 8.12.1 release (see
below). In addition to that went into 8.12.1 you'll find:

 - Pretty reprensentation for ``Counter`` has been fixed to match the Python one
   and be in decreasing order. :ghpull:`14032`
 - Module completion is better when jedi is disabled :ghpull:`14029`.
 - Improvment of ``%%bash`` magic that would get stuck :ghpull:`14019`

Revision 1.87 / (download) - annotate - [select for diffs], Mon Apr 3 17:33:39 2023 UTC (7 months, 4 weeks ago) by adam
Branch: MAIN
Changes since 1.86: +2 -2 lines
Diff to previous 1.86 (colored)

py-ipython: updated to 8.12.0

IPython 8.12
------------

Hopefully slightly early release for IPython 8.12. Last Thursday of the month,
even if I guess it's likely already Friday somewhere in the pacific ocean.

A number of PRs and bug fixes this month with close to 20 PRs merged !


The IPython repo reached :ghpull:``14000`` !! Actually the PR that create those exact release
note is :ghpull:`14000`. Ok, more issues and PR is not always better, and I'd
love to have more time to close issues and Pull Requests.

Let's note that in less than 2 month JupyterCon is back, in Paris please visit
`jupytercon.com <https://jupytercon.com>`__, and looking forward to see you
there.



Packagers should take note that ``typing_extension`` is now a mandatory dependency
for Python versions ``<3.10``.



Let's note also that according to `NEP29
<https://numpy.org/neps/nep-0029-deprecation_policy.html>`__, It is soon time to
stop support for Python 3.8 that will be release more than 3 and 1/2 years ago::

    On Apr 14, 2023 drop support for Python 3.8 (initially released on Oct 14, 2019)

Thus I am likely to stop advertising support for Python 3.8 in the next
release at the end of April.


Here are some miscellaneous updates of interest:

 - :ghpull:`13957` brings updates to the Qt integration, particularly for Qt6.
 - :ghpull:`13960` fixes the %debug magic command to give access to the local
   scope.
 - :ghpull:`13964` fixes some crashes with the new fast traceback code. Note that
   there are still some issues with the fast traceback code, and I a, likely
   to fix and tweak behavior.
 - :ghpull:`13973` We are slowly migrating IPython internals to use proper type
   objects/dataclasses instead of dictionaries to allow static typing checks.
   These are technically public API and could lead to breakage, so please let us
   know if that's the case and I'll mitigate.
 - :ghpull:`13990`, :ghpull:`13991`, :ghpull:`13994` all improve keybinding and
   shortcut configurability.

As usual you can find the full list of PRs on GitHub under `the 8.12 milestone
<https://github.com/ipython/ipython/milestone/114?closed=1>`__.

We want to thank the D.E. Shaw group for requesting and sponsoring the work on
the following big feature. We had productive discussions on how to best expose
this feature

Dynamic documentation dispatch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

We are experimenting with dynamic documentation dispatch for object attribute.
See :ghissue:`13860`. The goal is to allow object to define documentation for
their attributes, properties, even when those are dynamically defined with
`__getattr__`.

In particular when those objects are base types it can be useful to show the
documentation


.. code-block:: ipython


    In [1]: class User:
       ...:
       ...:     __custom_documentations__ = {
       ...:         "first": "The first name of the user.",
       ...:         "last": "The last name of the user.",
       ...:     }
       ...:
       ...:     first:str
       ...:     last:str
       ...:
       ...:     def __init__(self, first, last):
       ...:         self.first = first
       ...:         self.last = last
       ...:
       ...:     @property
       ...:     def full(self):
       ...:         """`self.first` and `self.last` joined by a space."""
       ...:         return self.first + " " + self.last
       ...:
       ...:
       ...: user = Person('Jane', 'Doe')

    In [2]: user.first?
    Type:            str
    String form:     Jane
    Length:          4
    Docstring:       the first name of a the person object, a str
    Class docstring:
    ....

    In [3]: user.last?
    Type:            str
    String form:     Doe
    Length:          3
    Docstring:       the last name, also a str
    ...


We can see here the symmetry with IPython looking for the docstring on the
properties:

.. code-block:: ipython


    In [4]: user.full?
    HERE
    Type:        property
    String form: <property object at 0x102bb15d0>
    Docstring:   first and last join by a space


Note that while in the above example we use a static dictionary, libraries may
decide to use a custom object that define ``__getitem__``, we caution against
using objects that would trigger computation to show documentation, but it is
sometime preferable for highly dynamic code that for example export ans API as
object.

Revision 1.86 / (download) - annotate - [select for diffs], Thu Mar 2 12:47:08 2023 UTC (9 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2023Q1-base, pkgsrc-2023Q1
Changes since 1.85: +2 -2 lines
Diff to previous 1.85 (colored)

py-ipython: updated to 8.11.0

IPython 8.11
------------

Back on almost regular monthly schedule for IPython with end-of-month
really-late-Friday release to make sure some bugs are properly fixed.
Small addition of with a few new features, bugfix and UX improvements.

This is a non-exhaustive list, but among other you will find:

Faster Traceback Highlighting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Resurrection of pre-IPython-8 traceback highlighting code.

Really long and complicated files were slow to highlight in traceback with
IPython 8 despite upstream improvement that make many case better. Therefore
starting with IPython 8.11 when one of the highlighted file is more than 10 000
line long by default, we'll fallback to a faster path that does not have all the
features of highlighting failing AST nodes.

This can be configures by setting the value of
``IPython.code.ultratb.FAST_THRESHOLD`` to an arbitrary low or large value.


Autoreload verbosity
~~~~~~~~~~~~~~~~~~~~

We introduce more descriptive names for the ``%autoreload`` parameter:

- ``%autoreload now`` (also ``%autoreload``) - perform autoreload immediately.
- ``%autoreload off`` (also ``%autoreload 0``) - turn off autoreload.
- ``%autoreload explicit`` (also ``%autoreload 1``) - turn on autoreload only for modules
  whitelisted by ``%aimport`` statements.
- ``%autoreload all`` (also ``%autoreload 2``) - turn on autoreload for all modules except those
  blacklisted by ``%aimport`` statements.
- ``%autoreload complete`` (also ``%autoreload 3``) - all the fatures of ``all`` but also adding new
  objects from the imported modules (see
  IPython/extensions/tests/test_autoreload.py::test_autoload_newly_added_objects).

The original designations (e.g. "2") still work, and these new ones are case-insensitive.

Additionally, the option ``--print`` or ``-p`` can be added to the line to print the names of
modules being reloaded. Similarly, ``--log`` or ``-l`` will output the names to the logger at INFO
level. Both can be used simultaneously.

The parsing logic for ``%aimport`` is now improved such that modules can be whitelisted and
blacklisted in the same line, e.g. it's now possible to call ``%aimport os, -math`` to include
``os`` for ``%autoreload explicit`` and exclude ``math`` for modes ``all`` and ``complete``.

Terminal shortcuts customization
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Previously modifying shortcuts was only possible by hooking into startup files
and practically limited to adding new shortcuts or removing all shortcuts bound
to a specific key. This release enables users to override existing terminal
shortcuts, disable them or add new keybindings.

For example, to set the :kbd:`right` to accept a single character of auto-suggestion
you could use::

    my_shortcuts = [
        {
            "command": "IPython:auto_suggest.accept_character",
            "new_keys": ["right"]
        }
    ]
    %config TerminalInteractiveShell.shortcuts = my_shortcuts

You can learn more in :std:configtrait:`TerminalInteractiveShell.shortcuts`
configuration reference.

Miscellaneous
~~~~~~~~~~~~~

 - ``%gui`` should now support PySide6. :ghpull:`13864`
 - Cli shortcuts can now be configured :ghpull:`13928`, see above.
   (note that there might be an issue with prompt_toolkit 3.0.37 and shortcut configuration).

 - Capture output should now respect ``;`` semicolon to suppress output.
   :ghpull:`13940`
 - Base64 encoded images (in jupyter frontend), will not have trailing newlines.
   :ghpull:`13941`

Revision 1.85 / (download) - annotate - [select for diffs], Sat Feb 11 12:42:14 2023 UTC (9 months, 2 weeks ago) by adam
Branch: MAIN
Changes since 1.84: +2 -2 lines
Diff to previous 1.84 (colored)

py-ipython: updated to 8.10.0

IPython 8.10
------------

Out of schedule release of IPython with minor fixes to patch a potential CVE-2023-24816.
This is a really low severity CVE that you most likely are not affected by unless:

 - You are on windows.
 - You have a custom build of Python without ``_ctypes``
 - You cd or start IPython or Jupyter in untrusted directory which names may be
   valid shell commands.

You can read more on `the advisory
<https://github.com/ipython/ipython/security/advisories/GHSA-29gw-9793-fvw7>`__.

In addition to fixing this CVE we also fix a couple of outstanding bugs and issues.

As usual you can find the full list of PRs on GitHub under `the 8.10 milestone
<https://github.com/ipython/ipython/milestone/112?closed=1>`__.

In Particular:

 - bump minimum numpy to `>=1.21` version following NEP29. :ghpull:`13930`
 - fix for compatibility with MyPy 1.0. :ghpull:`13933`
 - fix nbgrader stalling when IPython's ``showtraceback`` function is
   monkeypatched. :ghpull:`13934`

Revision 1.84 / (download) - annotate - [select for diffs], Tue Jan 31 09:22:21 2023 UTC (10 months ago) by adam
Branch: MAIN
Changes since 1.83: +2 -3 lines
Diff to previous 1.83 (colored)

py-ipython: updated to 8.9.0

IPython 8.9.0
-------------

Second release of IPython in 2023, last Friday of the month, we are back on
track. This is a small release with a few bug-fixes, and improvements, mostly
with respect to terminal shortcuts.

The biggest improvement for 8.9 is a drastic amelioration if the
auto-suggestions sponsored by D.E. Shaw and implemented by the more and more
active contributor `@krassowski <https://github.com/krassowski>`.

- ``right`` accepts a single character from suggestion
- ``ctrl+right`` accepts a semantic token (macos default shortcuts take
  precedence and need to be disabled to make this work)
- ``backspace`` deletes a character and resumes hinting autosuggestions
- ``ctrl-left`` accepts suggestion and moves cursor left one character.
- ``backspace`` deletes a character and resumes hinting autosuggestions
- ``down`` moves to suggestion to later in history when no lines are present below the cursors.
- ``up`` moves to suggestion from earlier in history when no lines are present above the cursor.

Revision 1.83 / (download) - annotate - [select for diffs], Tue Jan 3 21:22:01 2023 UTC (10 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.82: +2 -2 lines
Diff to previous 1.82 (colored)

py-ipython: updated to 8.8.0

IPython 8.8.0
-------------

First release of IPython in 2023 as there was no release at the end of
December.

This is an unusually big release (relatively speaking) with more than 15 Pull
Requests merge.

Of particular interest are:

 - :ghpull:`13852` that replace the greedy completer and improve
   completion, in particular for dictionary keys.
 - :ghpull:`13858` that adds ``py.typed`` to ``setup.cfg`` to make sure it is
   bundled in wheels.
 - :ghpull:`13869` that implements tab completions for IPython options in the
   shell when using `argcomplete <https://github.com/kislyuk/argcomplete>`. I
   believe this also needs a recent version of Traitlets.
 - :ghpull:`13865` makes the ``inspector`` class of `InteractiveShell`
   configurable.
 - :ghpull:`13880` that remove minor-version entrypoints as the minor version
   entry points that would be included in the wheel would be the one of the
   Python version that was used to build the ``whl`` file.

In no particular order, the rest of the changes update the test suite to be
compatible with Pygments 2.14, various docfixes, testing on more recent python
versions and various updates.

Revision 1.82 / (download) - annotate - [select for diffs], Mon Nov 28 17:58:59 2022 UTC (12 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q4-base, pkgsrc-2022Q4
Changes since 1.81: +3 -3 lines
Diff to previous 1.81 (colored)

py-ipython: updated to 8.7.0

IPython 8.7.0
-------------

Small release of IPython with a couple of bug fixes and new features for this
month. Next month is end of year, it is unclear if there will be a release close
the new year's eve, or if the next release will be at end of January.

Here are a few of the relevant fixes,
as usual you can find the full list of PRs on GitHub under `the 8.7 milestone
<https://github.com/ipython/ipython/pulls?q=milestone%3A8.7>`__.

   - :ghpull:`13834` bump the minimum prompt toolkit to 3.0.11.
   - IPython shipped with the ``py.typed`` marker now, and we are progressively
     adding more types. :ghpull:`13831`
   - :ghpull:`13817` add configuration of code blacks formatting.

Revision 1.81 / (download) - annotate - [select for diffs], Mon Oct 31 17:14:47 2022 UTC (13 months ago) by adam
Branch: MAIN
Changes since 1.80: +2 -2 lines
Diff to previous 1.80 (colored)

py-ipython: updated to 8.6.0

IPython 8.6.0
-------------

Back to a more regular release schedule (at least I try), as Friday is
already over by more than 24h hours. This is a slightly bigger release with a
few new features that contain no less then 25 PRs.

We'll notably found a couple of non negligible changes:

The ``install_ext`` and related functions have been removed after being
deprecated for years. You can use pip to install extensions. ``pip`` did not
exists when ``install_ext`` was introduced. You can still load local extensions
without installing them. Just set your ``sys.path`` for example. :ghpull:`13744`

IPython now have extra entry points that that the major *and minor* version of
python. For some of you this mean that you can do a quick ``ipython3.10`` to
launch IPython from the Python 3.10 interpreter, while still using Python 3.11
as your main Python. :ghpull:`13743`

The completer matcher API have been improved. See :ghpull:`13745`. This should
improve the type inference and improve dict keys completions in many use case.
Tanks ``@krassowski`` for all the works, and the D.E. Shaw group for sponsoring
it.

The color of error nodes in tracebacks can now be customized. See
:ghpull:`13756`. This is a private attribute until someone find the time to
properly add a configuration option. Note that with Python 3.11 that also show
the relevant nodes in traceback, it would be good to leverage this informations
(plus the "did you mean" info added on attribute errors). But that's likely work
I won't have time to do before long, so contributions welcome.

As we follow NEP 29, we removed support for numpy 1.19 :ghpull:`13760`.


The ``open()`` function present in the user namespace by default will now refuse
to open the file descriptors 0,1,2 (stdin, out, err), to avoid crashing IPython.
This mostly occurs in teaching context when incorrect values get passed around.


The ``?``, ``??``, and corresponding ``pinfo``, ``pinfo2`` magics can now find
objects insides arrays. That is to say, the following now works::


   >>> def my_func(*arg, **kwargs):pass
   >>> container = [my_func]
   >>> container[0]?


If ``container`` define a custom ``getitem``, this __will__ trigger the custom
method. So don't put side effects in your ``getitems``. Thanks the D.E. Shaw
group for the request and sponsoring the work.

Revision 1.80 / (download) - annotate - [select for diffs], Tue Sep 6 19:12:14 2022 UTC (14 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q3-base, pkgsrc-2022Q3
Changes since 1.79: +2 -2 lines
Diff to previous 1.79 (colored)

py-ipython: updated to 8.5.0

IPython 8.5.0
-------------
First release since a couple of month due to various reasons and timing preventing
me for sticking to the usual monthly release the last Friday of each month. This
is of non negligible size as it has more than two dozen PRs with various fixes
an bug fixes.

Revision 1.79 / (download) - annotate - [select for diffs], Sun May 29 18:50:05 2022 UTC (18 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q2-base, pkgsrc-2022Q2
Changes since 1.78: +2 -2 lines
Diff to previous 1.78 (colored)

py-ipython: updated to 8.4.0

IPython 8.4.0
-------------

As for 7.34, this version contains a single fix:  fix uncaught BdbQuit exceptions on ipdb
exit :ghpull:`13668`, and a single typo fix in documentation: :ghpull:`13682`

Revision 1.78 / (download) - annotate - [select for diffs], Wed May 11 09:34:03 2022 UTC (18 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.77: +2 -2 lines
Diff to previous 1.77 (colored)

py-ipython: updated to 8.3.0

IPython 8.3.0
-------------

 - :ghpull:`13625`, using ``?``, ``??``, ``*?`` will not call
   ``set_next_input`` as most frontend allow proper multiline editing and it was
   causing issues for many users of multi-cell frontends. This has been backported to 7.33

 - :ghpull:`13600`, ``pre_run_*``-hooks will now have a ``cell_id`` attribute on
   the info object when frontend provide it. This has been backported to 7.33

 - :ghpull:`13624`, fixed :kbd:`End` key being broken after accepting an
   auto-suggestion.

 - :ghpull:`13657` fix issue where history from different sessions would be mixed.

Revision 1.77 / (download) - annotate - [select for diffs], Thu Mar 31 18:22:41 2022 UTC (20 months ago) by adam
Branch: MAIN
Changes since 1.76: +2 -2 lines
Diff to previous 1.76 (colored)

py-ipython: updated to 8.2.0

IPython 8.2 mostly bring bugfixes to IPython.

 - Auto-suggestion can now be elected with the ``end`` key.
 - Some traceback issues with ``assert etb is not None`` have been fixed.
 - History is now pulled from the sqitel database and not from in-memory.
   In particular when using the ``%paste`` magic, the content of the pasted text will
   be part of the history and not the verbatim text ``%paste`` anymore.
 - Fix ``Ctrl-\\`` exit cleanup
 - Fixes to ``ultratb`` ipdb support when used outside of IPython.

Revision 1.76 / (download) - annotate - [select for diffs], Sun Mar 6 17:18:31 2022 UTC (20 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2022Q1-base, pkgsrc-2022Q1
Changes since 1.75: +3 -3 lines
Diff to previous 1.75 (colored)

py-ipython: updated to 8.1.1

IPython 8.1.1
-------------

Fix an issue with virtualenv and Python 3.8 introduced in 8.1

Revert
error in Python 3.8, and fixed in a different way in


IPython 8.1.0
-------------

IPython 8.1 is the first minor release after 8.0 and fixes a number of bugs and
Update a few behavior that were problematic with the 8.0 as with many new major
release.

Note that beyond the changes listed here, IPython 8.1.0 also contains all the
features listed in :ref:`version 7.32`.

 - Misc and multiple fixes around quotation auto-closing. It is now disabled by
   default. Run with ``TerminalInteractiveShell.auto_match=True`` to re-enabled
 - Require pygments>=2.4.0
   is now explicit in ``setup.cfg``/``setup.py``
 - Docs improvement of ``core.magic_arguments`` examples.
 - Multi-line edit executes too early with await.

 - ``black``  is back as an optional dependency, and autoformatting disabled by
   default until some fixes are implemented (black improperly reformat magics).

   reformatter has been added
   ``TerminalInteractiveShell.autoformatter="black"``,
   ``TerminalInteractiveShell.autoformatter="yapf"`` to re-enable auto formating
   with black, or switch to yapf.

 - Fix and issue where ``display`` was not defined.

 - Auto suggestions are now configurable. Currently only
   ``AutoSuggestFromHistory`` (default) and ``None``. new provider contribution
   welcomed.

 - multiple packaging/testing improvement to simplify downstream packaging
   (xfail with reasons, try to not access network...).

 - Update deprecation. ``InteractiveShell.magic`` internal method has been
   deprecated for many years but did not emit a warning until now.

 - internal ``appended_to_syspath`` context manager has been deprecated.

 - fix an issue with symlinks in virtualenv

 - Fix an issue with vim mode, where cursor would not be reset on exit

 - ipython directive now remove only known pseudo-decorators

 - ``IPython/lib/security`` which used to be used for jupyter notebook has been
   removed.

 - Fix an issue where ``async with`` would execute on new lines.

Revision 1.75 / (download) - annotate - [select for diffs], Fri Feb 4 13:39:33 2022 UTC (21 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.74: +2 -2 lines
Diff to previous 1.74 (colored)

py-ipython: actually do not support Python 3.7

Revision 1.74 / (download) - annotate - [select for diffs], Fri Feb 4 12:40:33 2022 UTC (21 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.73: +2 -2 lines
Diff to previous 1.73 (colored)

py-ipython: not for Python 3.7

Revision 1.73 / (download) - annotate - [select for diffs], Mon Jan 24 18:37:58 2022 UTC (22 months ago) by adam
Branch: MAIN
Changes since 1.72: +8 -7 lines
Diff to previous 1.72 (colored)

py-ipython: updated to 8.0.1

IPython 8.0.1 (CVE-2022-21699)
------------------------------

IPython 8.0.1, 7.31.1 and 5.11 are security releases that change some default
values in order to prevent potential Execution with Unnecessary Privileges.

Almost all version of IPython looks for configuration and profiles in current
working directory. Since IPython was developed before pip and environments
existed it was used a convenient way to load code/packages in a project
dependant way.

In 2022, it is not necessary anymore, and can lead to confusing behavior where
for example cloning a repository and starting IPython or loading a notebook from
any Jupyter-Compatible interface that has ipython set as a kernel can lead to
code execution.


I did not find any standard way for packaged to advertise CVEs they fix, I'm
thus trying to add a ``__patched_cves__`` attribute to the IPython module that
list the CVEs that should have been fixed. This attribute is informational only
as if a executable has a flaw, this value can always be changed by an attacker.

.. code::

    In [1]: import IPython

    In [2]: IPython.__patched_cves__
    Out[2]: {'CVE-2022-21699'}

    In [3]: 'CVE-2022-21699' in IPython.__patched_cves__
    Out[3]: True

Thus starting with this version:

 - The current working directory is not searched anymore for profiles or
   configurations files.
 - Added a ``__patched_cves__`` attribute (set of strings) to IPython module that contain
   the list of fixed CVE. This is informational only.

Further details can be read on the `GitHub Advisory <https://github.com/ipython/ipython/security/advisories/GHSA-pq7m-3gw7-gq5x>`__



IPython 8.0
-----------

IPython 8.0 is still in alpha/beta stage. Please help us improve those release notes
by sending PRs that modify docs/source/whatsnew/version8.rst

IPython 8.0 is bringing a large number of new features and improvements to both the
user of the terminal and of the kernel via Jupyter. The removal of compatibility
with older version of Python is also the opportunity to do a couple of
performance improvement in particular with respect to startup time.
The 8.x branch started diverging from its predecessor around IPython 7.12
(January 2020).

This release contains 250+ Pull Requests, in addition to many of the features
and backports that have made it to the 7.x branch. All PRs that went into this
released are properly tagged with the 8.0 milestone if you wish to have a more
in depth look at the changes.

Please fell free to send pull-requests to updates those notes after release,
I have likely forgotten a few things reviewing 250+ PRs.

Dependencies changes/downstream packaging
-----------------------------------------

Note that most of our building step have been changes to be (mostly) declarative
and follow PEP 517, we are trying to completely remove ``setup.py`` (:ghpull:`13238`) and are
looking for help to do so.

 - Minimum supported ``traitlets`` version if now 5+
 - we now require ``stack_data``
 - Minimal Python is now 3.8
 - ``nose`` is not a testing requirement anymore
 - ``pytest`` replaces nose.
 - ``iptest``/``iptest3`` cli entrypoints do not exists anymore.
 - minimum officially support ``numpy`` version has been bumped, but this should
   not have much effect on packaging.


Deprecation and removal
-----------------------

We removed almost all features, arguments, functions, and modules that were
marked as deprecated between IPython 1.0 and 5.0. As reminder 5.0 was released
in 2016, and 1.0 in 2013. Last release of the 5 branch was 5.10.0, in may 2020.
The few remaining deprecated features we left have better deprecation warnings
or have been turned into explicit errors for better error messages.

I will use this occasion to add the following requests to anyone emitting a
deprecation warning:

 - Please at at least ``stacklevel=2`` so that the warning is emitted into the
   caller context, and not the callee one.
 - Please add **since which version** something is deprecated.

As a side note it is much easier to deal with conditional comparing to versions
numbers than ``try/except`` when a functionality change with version.

I won't list all the removed features here, but modules like ``IPython.kernel``,
which was just a shim module around ``ipykernel`` for the past 8 years have been
remove, and so many other similar things that pre-date the name **Jupyter**
itself.

We no longer need to add ``IPyhton.extensions`` to the PYTHONPATH because that is being
handled by ``load_extension``.

We are also removing ``Cythonmagic``, ``sympyprinting`` and ``rmagic`` as they are now in
other packages and no longer need to be inside IPython.


Documentation
-------------

Majority of our docstrings have now been reformatted and automatically fixed by
the experimental `Vélin <https://pypi.org/project/velin/>`_ project, to conform
to numpydoc.

Type annotations
----------------

While IPython itself is highly dynamic and can't be completely typed, many of
the function now have type annotation, and part of the codebase and now checked
by mypy.


Featured changes
----------------

Here is a features list of changes in IPython 8.0. This is of course non-exhaustive.
Please note as well that many features have been added in the 7.x branch as well
(and hence why you want to read the 7.x what's new notes), in particular
features contributed by QuantStack (with respect to debugger protocol, and Xeus
Python), as well as many debugger features that I was please to implement as
part of my work at QuanSight and Sponsored by DE Shaw.

Traceback improvements
~~~~~~~~~~~~~~~~~~~~~~

Previously, error tracebacks for errors happening in code cells were showing a
hash, the one used for compiling the Python AST::

    In [1]: def foo():
    ...:     return 3 / 0
    ...:

    In [2]: foo()
    ---------------------------------------------------------------------------
    ZeroDivisionError                         Traceback (most recent call last)
    <ipython-input-2-c19b6d9633cf> in <module>
    ----> 1 foo()

    <ipython-input-1-1595a74c32d5> in foo()
        1 def foo():
    ----> 2     return 3 / 0
        3

    ZeroDivisionError: division by zero

The error traceback is now correctly formatted, showing the cell number in which the error happened::

    In [1]: def foo():
    ...:     return 3 / 0
    ...:

    Input In [2]: foo()
    ---------------------------------------------------------------------------
    ZeroDivisionError                         Traceback (most recent call last)
    input In [2], in <module>
    ----> 1 foo()

    Input In [1], in foo()
        1 def foo():
    ----> 2     return 3 / 0

    ZeroDivisionError: division by zero

The Second on is the integration of the ``stack_data`` package;
which provide smarter informations in traceback; in particular it will highlight
the AST node where an error occurs which can help to quickly narrow down errors.

For example in the following snippet::

    def foo(i):
        x = [[[0]]]
        return x[0][i][0]


    def bar():
        return foo(0) + foo(
            1
        ) + foo(2)


Calling ``bar()`` would raise an ``IndexError`` on the return line of ``foo``,
IPython 8.0 is capable of telling you, where the index error occurs::


    IndexError
    Input In [2], in <module>
    ----> 1 bar()
            ^^^^^

    Input In [1], in bar()
          6 def bar():
    ----> 7     return foo(0) + foo(
                                ^^^^
          8         1
             ^^^^^^^^
          9     ) + foo(2)
             ^^^^

    Input In [1], in foo(i)
          1 def foo(i):
          2     x = [[[0]]]
    ----> 3     return x[0][i][0]
                       ^^^^^^^

Corresponding location marked here with ``^`` will show up highlighted in
terminal and notebooks.

The Third, which is the most discreet but can have a high impact on
productivity, a colon ``::`` and line number is appended after a filename in
traceback::


    ZeroDivisionError               Traceback (most recent call last)
    File ~/error.py:4, in <module>
          1 def f():
          2     1/0
    ----> 4 f()

    File ~/error.py:2, in f()
          1 def f():
    ----> 2     1/0

Many terminal and editor have integrations allow to directly jump to the
relevant file/line when this syntax is used.


Autosuggestons
~~~~~~~~~~~~~~

Autosuggestion is a very useful feature available in `fish <https://fishshell.com/>`__, `zsh <https://en.wikipedia.org/wiki/Z_shell>`__, and `prompt-toolkit <https://python-prompt-toolkit.readthedocs.io/en/master/pages/asking_for_input.html#auto-suggestion>`__.

`Ptpython <https://github.com/prompt-toolkit/ptpython#ptpython>`__ allows users to enable this feature in
`ptpython/config.py <https://github.com/prompt-toolkit/ptpython/blob/master/examples/ptpython_config/config.py#L90>`__.

This feature allows users to accept autosuggestions with ctrl e, ctrl f,
or right arrow as described below.

1. Start ipython

.. image:: ../_images/8.0/auto_suggest_1_prompt_no_text.png

2. Run ``print("hello")``

.. image:: ../_images/8.0/auto_suggest_2_print_hello_suggest.png

3. start typing ``print`` again to see the autosuggestion

.. image:: ../_images/8.0/auto_suggest_3_print_hello_suggest.png

4. Press ``ctrl-f``, or ``ctrl-e``, or ``right-arrow`` to accept the suggestion

.. image:: ../_images/8.0/auto_suggest_4_print_hello.png

You can also complete word by word:

1. Run ``def say_hello(): print("hello")``

.. image:: ../_images/8.0/auto_suggest_second_prompt.png

2. Start typing  the first letter if ``def`` to see the autosuggestion

.. image:: ../_images/8.0/auto_suggest_d_phantom.png

3. Press ``alt-f`` (or ``escape`` followed by ``f``), to accept the first word of the suggestion

.. image:: ../_images/8.0/auto_suggest_def_phantom.png

Importantly, this feature does not interfere with tab completion:

1. After running ``def say_hello(): print("hello")``, press d

.. image:: ../_images/8.0/auto_suggest_d_phantom.png

2. Press Tab to start tab completion

.. image:: ../_images/8.0/auto_suggest_d_completions.png

3A. Press Tab again to select the first option

.. image:: ../_images/8.0/auto_suggest_def_completions.png

3B. Press ``alt f`` (``escape``, ``f``) to accept to accept the first word of the suggestion

.. image:: ../_images/8.0/auto_suggest_def_phantom.png

3C. Press ``ctrl-f`` or ``ctrl-e`` to accept the entire suggestion

.. image:: ../_images/8.0/auto_suggest_match_parens.png


Currently, autosuggestions are only shown in the emacs or vi insert editing modes:

- The ctrl e, ctrl f, and alt f shortcuts work by default in emacs mode.
- To use these shortcuts in vi insert mode, you will have to create `custom keybindings in your config.py <https://github.com/mskar/setup/commit/2892fcee46f9f80ef7788f0749edc99daccc52f4/>`__.


Show pinfo information in ipdb using "?" and "??"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In IPDB, it is now possible to show the information about an object using "?"
and "??", in much the same way it can be done when using the IPython prompt::

    ipdb> partial?
    Init signature: partial(self, /, *args, **kwargs)
    Docstring:
    partial(func, *args, **keywords) - new function with partial application
    of the given arguments and keywords.
    File:           ~/.pyenv/versions/3.8.6/lib/python3.8/functools.py
    Type:           type
    Subclasses:

Previously, ``pinfo`` or ``pinfo2`` command had to be used for this purpose.


Autoreload 3 feature
~~~~~~~~~~~~~~~~~~~~

Example: When an IPython session is ran with the 'autoreload' extension loaded,
you will now have the option '3' to select which means the following:

    1. replicate all functionality from option 2
    2. autoload all new funcs/classes/enums/globals from the module when they are added
    3. autoload all newly imported funcs/classes/enums/globals from external modules

Try ``%autoreload 3`` in an IPython session after running ``%load_ext autoreload``

For more information please see the following unit test : ``extensions/tests/test_autoreload.py:test_autoload_newly_added_objects``

Auto formatting with black in the CLI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If ``black`` is installed in the same environment as IPython, terminal IPython
will now *by default*  reformat the code in the CLI when possible. You can
disable this with ``--TerminalInteractiveShell.autoformatter=None``.

This feature was present in 7.x but disabled by default.


History Range Glob feature
~~~~~~~~~~~~~~~~~~~~~~~~~~

Previously, when using ``%history``, users could specify either
a range of sessions and lines, for example:

.. code-block:: python

   ~8/1-~6/5   # see history from the first line of 8 sessions ago,
               # to the fifth line of 6 sessions ago.``

Or users could specify a glob pattern:

.. code-block:: python

   -g <pattern>  # glob ALL history for the specified pattern.

However users could *not* specify both.

If a user *did* specify both a range and a glob pattern,
then the glob pattern would be used (globbing *all* history) *and the range would be ignored*.

With this enhancement, if a user specifies both a range and a glob pattern, then the glob pattern will be applied to the specified range of history.

Don't start a multi line cell with sunken parenthesis
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From now on IPython will not ask for the next line of input when given a single
line with more closing than opening brackets. For example, this means that if
you (mis)type ``]]`` instead of ``[]``, a ``SyntaxError`` will show up, instead of
the ``...:`` prompt continuation.

IPython shell for ipdb interact
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ipdb ``interact`` starts an IPython shell instead of Python's built-in ``code.interact()``.

Automatic Vi prompt stripping
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When pasting code into IPython, it will strip the leading prompt characters if
there are any. For example, you can paste the following code into the console -
it will still work, even though each line is prefixed with prompts (`In`,
`Out`)::

    In [1]: 2 * 2 == 4
    Out[1]: True

    In [2]: print("This still works as pasted")


Previously, this was not the case for the Vi-mode prompts::

    In [1]: [ins] In [13]: 2 * 2 == 4
       ...: Out[13]: True
       ...:
      File "<ipython-input-1-727bb88eaf33>", line 1
        [ins] In [13]: 2 * 2 == 4
              ^
    SyntaxError: invalid syntax

This is now fixed, and Vi prompt prefixes - ``[ins]`` and ``[nav]`` -  are
skipped just as the normal ``In`` would be.

IPython shell can be started in the Vi mode using ``ipython --TerminalInteractiveShell.editing_mode=vi``,
You should be able to change mode dynamically with ``%config TerminalInteractiveShell.editing_mode='vi'``

Empty History Ranges
~~~~~~~~~~~~~~~~~~~~

A number of magics that take history ranges can now be used with an empty
range. These magics are:

 * ``%save``
 * ``%load``
 * ``%pastebin``
 * ``%pycat``

Using them this way will make them take the history of the current session up
to the point of the magic call (such that the magic itself will not be
included).

Therefore it is now possible to save the whole history to a file using simple
``%save <filename>``, load and edit it using ``%load`` (makes for a nice usage
when followed with :kbd:`F2`), send it to `dpaste.org <http://dpast.org>`_ using
``%pastebin``, or view the whole thing syntax-highlighted with a single
``%pycat``.


Windows time-implementation: Switch to process_time
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Timing for example with ``%%time`` on windows is based on ``time.perf_counter``.
This is at the end the same as W-All.
To be a bit tighter to linux one could change to ``time.process_time`` instead.
Thus for example one would no longer count periods of sleep and further.


Miscellaneous
~~~~~~~~~~~~~
 - Non-text formatters are not disabled in terminal which should simplify
   writing extension displaying images or other mimetypes supporting terminals.
   :ghpull:`12315`
 -
 - It is now possible to automatically insert matching brackets in Terminal IPython using the
   ``TerminalInteractiveShell.auto_match=True`` option. :ghpull:`12586`
 - We are thinking of deprecating the current ``%%javascript`` magic in favor of a better replacement. See :ghpull:`13376`
 - ``%time`` uses ``process_time`` instead of  ``perf_counter``, see :ghpull:`12984`
 - ``~`` is now expanded when part of a path in most magics :ghpull:`13385`
 - ``%/%%timeit`` magic now adds comma every thousands to make reading long number easier :ghpull:`13379`
 - ``"info"`` messages can now be customised to hide some fields :ghpull:`13343`
 - ``collections.UserList`` now pretty-prints :ghpull:`13320`
 - The debugger now have a persistent history, which should make it less
   annoying to retype commands :ghpull:`13246`
 - ``!pip`` ``!conda`` ``!cd`` or ``!ls`` are likely doing the wrong thing, we
   now warn users if they use it. :ghpull:`12954`
 - make ``%precision`` work for ``numpy.float64`` type :ghpull:`12902`

Re-added support for XDG config directories
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

XDG support through the years did come an go, there is a tension between having
identical location in all platforms to have simple instructions. After initial
failure a couple of years ago IPython was modified to automatically migrate XDG
config files back into ``~/.ipython``, the migration code has now been removed.
And IPython now check the XDG locations, so if you _manually_ move your config
files to your preferred location, IPython will not move them back.


Numfocus Small Developer Grant
------------------------------

To prepare for Python 3.10 we have also started working on removing reliance and
any dependency that is not Python 3.10 compatible; that include migrating our
test suite to pytest, and starting to remove nose. This also mean that the
``iptest`` command is now gone, and all testing is via pytest.

This was in large part thanks to the NumFOCUS Small Developer grant, which enabled us to
allocate \$4000 to hire `Nikita Kniazev (@Kojoley) <https://github.com/Kojoley>`_,
who did a fantastic job at updating our code base, migrating to pytest, pushing
our coverage, and fixing a large number of bugs. I highly recommend contacting
them if you need help with C++ and Python projects

You can find all relevant issues and PRs with the SDG 2021 tag `<https://github.com/ipython/ipython/issues?q=label%3A%22Numfocus+SDG+2021%22+>`__

Removing support for Older Python
---------------------------------


We are also removing support for Python up to 3.7 allowing internal code to use more
efficient ``pathlib``, and make better use of type annotations.

.. image:: ../_images/8.0/pathlib_pathlib_everywhere.jpg
   :alt: "Meme image of Toy Story with Woody and Buzz, with the text 'pathlib, pathlib everywhere'"


We have about 34 PRs only to update some logic to update some functions from managing strings to
using Pathlib.

The completer has also seen significant updates and make use of newer Jedi API
offering faster and more reliable tab completion.

Revision 1.72 / (download) - annotate - [select for diffs], Fri Jan 7 17:16:08 2022 UTC (22 months, 3 weeks ago) by adam
Branch: MAIN
Changes since 1.71: +2 -3 lines
Diff to previous 1.71 (colored)

py-ipython: updated to 7.31.0

IPython 7.31
============

IPython 7.31 brings a couple of backports and fixes from the 8.0 branches,
it is likely one of the last releases of the 7.x series, as 8.0 will probably be released
between this release and what would have been 7.32.

Please test 8.0 beta/rc releases in addition to this release.

This Releases:
 - Backport some fixes for Python 3.10 (:ghpull:`13412`)
 - use full-alpha transparency on dvipng rendered LaTeX (:ghpull:`13372`)

Revision 1.71 / (download) - annotate - [select for diffs], Wed Jan 5 15:41:04 2022 UTC (22 months, 3 weeks ago) by wiz
Branch: MAIN
Changes since 1.70: +4 -2 lines
Diff to previous 1.70 (colored)

python: egg.mk: add USE_PKG_RESOURCES flag

This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.

Set this flag for packages that need it and bump PKGREVISION.

Revision 1.70 / (download) - annotate - [select for diffs], Tue Jan 4 20:53:11 2022 UTC (22 months, 3 weeks ago) by wiz
Branch: MAIN
Changes since 1.69: +2 -2 lines
Diff to previous 1.69 (colored)

*: bump PKGREVISION for egg.mk users

They now have a tool dependency on py-setuptools instead of a DEPENDS

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jan 1 16:24:38 2022 UTC (22 months, 4 weeks ago) by ryoon
Branch: MAIN
Changes since 1.68: +3 -2 lines
Diff to previous 1.68 (colored)

py-ipython: Use egg.mk to fix packaging

Bump PKGREVISION.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Dec 30 13:05:30 2021 UTC (23 months ago) by adam
Branch: MAIN
Changes since 1.67: +2 -2 lines
Diff to previous 1.67 (colored)

Forget about Python 3.6

Revision 1.67 / (download) - annotate - [select for diffs], Fri Dec 10 09:06:13 2021 UTC (23 months, 3 weeks ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q4-base, pkgsrc-2021Q4
Changes since 1.66: +2 -2 lines
Diff to previous 1.66 (colored)

py-ipython: updated to 7.30.1

7.30.1:
Bug fixes

Revision 1.66 / (download) - annotate - [select for diffs], Sat Nov 27 11:41:47 2021 UTC (2 years ago) by adam
Branch: MAIN
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 (colored)

py-ipython: updated to 7.30.0

IPython 7.30
============

IPython 7.30 fixes a couple of bugs introduce in previous releases (in
particular with respect to path handling), and introduce a few features and
improvements:

Notably we will highlight :ghpull:`13267` "Document that ``%run`` can execute
notebooks and ipy scripts.", which is the first commit of Fernando Pérez since
mid 2016 (IPython 5.1). If you are new to IPython, Fernando created IPython in
2001. The other most recent contribution of Fernando to IPython itself was
May 2018, by reviewing and merging PRs. I want to note that Fernando is still
active but mostly as a mentor and leader of the whole Jupyter organisation, but
we're still happy to see him contribute code !

:ghpull:`13290` "Use sphinxify (if available) in object_inspect_mime path"
should allow richer Repr of docstrings when using jupyterlab inspector.

:ghpull:`13311` make the debugger use ``ThreadPoolExecutor`` for debugger cmdloop.
This should fix some issues/infinite loop, but let us know if you come across
any regressions. In particular this fixes issues with `kmaork/madbg <https://github.com/kmaork/madbg>`_,
a remote debugger for IPython.

Note that this is likely the ante-penultimate release of IPython 7.x as a stable
branch, as I hope to release IPython 8.0 as well as IPython 7.31 next
month/early 2022.

IPython 8.0 will drop support for Python 3.7, removed nose as a dependency, and
7.x will only get critical bug fixes with 8.x becoming the new stable. This will
not be possible without `NumFOCUS Small Development Grants
<https://numfocus.org/programs/small-development-grants>`_ Which allowed us to
hire `Nikita Kniazev <https://github.com/Kojoley>`_ who provide Python and C++
help and contracting work.

Revision 1.65 / (download) - annotate - [select for diffs], Thu Nov 4 13:31:59 2021 UTC (2 years ago) by adam
Branch: MAIN
Changes since 1.64: +2 -2 lines
Diff to previous 1.64 (colored)

py-ipython: updated to 7.29.0

IPython 7.29 brings a couple of new functionalities to IPython and a number of bugfixes.
It is one of the largest recent release, relatively speaking, with close to 15 Pull Requests.

- fix an issue where base64 was returned instead of bytes when showing figures :ghpull:`13162`
- fix compatibility with PyQt6, PySide 6 :ghpull:`13172`. This may be of
  interest if you are running on Apple Silicon as only qt6.2+ is natively
  compatible.
- fix matplotlib qtagg eventloop :ghpull:`13179`
- Multiple docs fixes, typos, ... etc.
- Debugger will now exit by default on SigInt :ghpull:`13218`, this will be
  useful in notebook/lab if you forgot to exit the debugger. "Interrupt Kernel"
  will now exist the debugger.

Revision 1.64 / (download) - annotate - [select for diffs], Thu Sep 30 19:41:41 2021 UTC (2 years, 2 months ago) by adam
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 (colored)

py-ipython: updated to 7.28.0

IPython 7.28 is again a minor release that mostly bring bugfixes, and couple of
improvement. Many thanks to MrMino, who again did all the work this month, and
made a number of documentation improvements.

Here is a non-exhaustive list of changes,

Fixes:

 - async with doesn't allow newlines :ghpull:`13090`
 - Dynamically changing to vi mode via %config magic) :ghpull:`13091`

Virtualenv handling fixes:

 - init_virtualenv now uses Pathlib :ghpull:`12548`
 - Fix Improper path comparison of virtualenv directories :ghpull:`13140`
 - Fix virtual environment user warning for lower case pathes :ghpull:`13094`
 - Adapt to all sorts of drive names for cygwin :ghpull:`13153`

New Features:

 - enable autoplay in embed YouTube player :ghpull:`13133`

 Documentation:

 - Fix formatting for the core.interactiveshell documentation :ghpull:`13118`
 - Fix broken ipyparallel's refs :ghpull:`13138`
 - Improve formatting of %time documentation :ghpull:`13125`
 - Reword the YouTubeVideo autoplay WN :ghpull:`13147`

Revision 1.63 / (download) - annotate - [select for diffs], Sun Aug 29 08:39:35 2021 UTC (2 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q3-base, pkgsrc-2021Q3
Changes since 1.62: +2 -2 lines
Diff to previous 1.62 (colored)

py-ipython: updated to 7.27.0

IPython 7.27 is a minor release that fixes a couple of issues and compatibility.
- Add support for GTK4
- Add support for Qt6
- Fix an issue with pip magic on windows

Revision 1.62 / (download) - annotate - [select for diffs], Sun Aug 1 18:04:13 2021 UTC (2 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)

py-ipython: updated to 7.26.0

IPython 7.26
============

IPython 7.26 is a minor release that fixes a couple of issues, updates in API
and Copyright/Licenses issues around various part of the codebase.

We'll highlight `this issue <https://github.com/ipython/ipython/issues/13039>`
pointing out we were including and refereeing to code from Stack Overflow which
was CC-BY-SA, hence incompatible with the BSD license of IPython. This lead us
to a rewriting of the corresponding logic which in our case was done in a more
efficient way (in our case we were searching string prefixes instead of full
strings).

You will notice also a number of documentation improvements and cleanup.

Of particular interest are the following Pull-requests:

 - The IPython directive now uses Sphinx logging for warnings. :ghpull:`13030`.
 - Add expiry days option to pastebin magic and change http protocol to https.
   :ghpull:`13056`
 - Make Ipython.utils.timing work with jupyterlite :ghpull:`13050`.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Jun 28 06:51:43 2021 UTC (2 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

py-ipython: updated to 7.25.0

IPython 7.25
============

IPython 7.21 is a minor release that contains a singe bugfix, which is highly
recommended for all users of ipdb, ipython debugger %debug magic and similar.

Issuing commands like ``where`` from within the debugger would reset the
local variables changes made by the user. It is interesting to look at the root
cause of the issue as accessing an attribute (``frame.f_locals``) would trigger
this side effects.

Thanks in particular to the patience from the reporters at D.E. Shaw for their
initial bug report that was due to a similar coding oversight in an extension,
and who took time to debug and narrow down the problem.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Jun 10 07:19:46 2021 UTC (2 years, 5 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q2-base, pkgsrc-2021Q2
Changes since 1.59: +4 -3 lines
Diff to previous 1.59 (colored)

py-ipython: updated to 7.24.1

IPython 7.24
============

Third release of IPython for 2021, mostly containing bug fixes. A couple of not
typical updates:

Misc
----


 - Fix an issue where ``%recall`` would both succeeded and print an error message
   it failed. :ghpull:`12952`
 - Drop support for NumPy 1.16 practically has no effect beyond indicating in
   package metadata that we do not support it. :ghpull:`12937`

Debugger improvements
---------------------

The debugger (and ``%debug`` magic) have been improved and can skip or hide frames
originating from files that are not writable to the user, as these are less
likely to be the source of errors, or be part of system files this can be a useful
addition when debugging long errors.

In addition to the global ``skip_hidden True|False`` command, the debugger has
gained finer grained control of predicates as to whether to a frame should be
considered hidden. So far 3 predicates are available :

  - ``tbhide``: frames containing the local variable ``__tracebackhide__`` set to
    True.
  - ``readonly``: frames originating from readonly files, set to False.
  - ``ipython_internal``: frames that are likely to be from IPython internal
    code, set to True.

You can toggle individual predicates during a session with

.. code-block::

   ipdb> skip_predicates readonly True

Read-only files will now be considered hidden frames.


You can call ``skip_predicates`` without arguments to see the states of current
predicates:

.. code-block::

    ipdb> skip_predicates
    current predicates:
        tbhide : True
        readonly : False
        ipython_internal : True

If all predicates are set to ``False``,  ``skip_hidden`` will practically have
no effect. We attempt to warn you when all predicates are False.

Note that the ``readonly`` predicate may increase disk access as we check for
file access permission for all frames on many command invocation, but is usually
cached by operating systems. Let us know if you encounter any issues.

As the IPython debugger does not use the traitlets infrastructure for
configuration, by editing your ``.pdbrc`` files and appending commands you would
like to be executed just before entering the interactive prompt. For example:


.. code::

    # file : ~/.pdbrc
    skip_predicates readonly True
    skip_predicates tbhide False

Will hide read only frames by default and show frames marked with
``__tracebackhide__``.

Revision 1.59 / (download) - annotate - [select for diffs], Fri May 7 18:09:15 2021 UTC (2 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

py-ipython: updated to 7.23.1

7.23.1:
Bug fixes

Revision 1.58 / (download) - annotate - [select for diffs], Wed May 5 08:47:48 2021 UTC (2 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.57: +2 -2 lines
Diff to previous 1.57 (colored)

py-ipython: updated to 7.23.0

IPython 7.23
============
Third release of IPython for 2021, mostly containing bug fixes. A couple of not
typical updates:

 - We moved to GitHub actions away from Travis-CI, the transition may not be
   100% complete (not testing on nightly anymore), but as we ran out of
   Travis-Ci hours on the IPython organisation that was a necessary step.
   :ghpull:`12900`.

 - We have a new dependency: ``matplotlib-inline``, which try to extract
   matplotlib inline backend specific behavior. It is available on PyPI and
   conda-forge thus should not be a problem to upgrade to this version. If you
   are a package maintainer that might be an extra dependency to package first.
   :ghpull:`12817`

In the addition/new feature category, ``display()`` now have a ``clear=True``
option to clear the display if any further outputs arrives, allowing users to
avoid having to use ``clear_output()`` directly. :ghpull:`12823`.

In bug fixes category, this release fix an issue when printing tracebacks
containing Unicode characters :ghpull:`12758`.

In code cleanup category :ghpull:`12932` remove usage of some deprecated
functionality for compatibility with Python 3.10.


IPython 7.22
============
Second release of IPython for 2021, mostly containing bug fixes. Here is a quick
rundown of the few changes.

- Fix some ``sys.excepthook`` shenanigan when embedding with qt, recommended if
  you for example use `napari <https://napari.org>`__. :ghpull:`12842`.
- Fix bug when using the new ipdb ``%context`` magic :ghpull:`12844`
- Couples of deprecation cleanup :ghpull:`12868`
- Update for new dpast.com api if you use the ``%pastbin`` magic. :ghpull:`12712`
- Remove support for numpy before 1.16. :ghpull:`12836`


IPython 7.21
============
IPython 7.21 is the first release we have back on schedule of one release every
month; it contains a number of minor fixes and improvements, notably, the new
context command for ipdb


New "context" command in ipdb
-----------------------------
It is now possible to change the number of lines shown in the backtrace
information in ipdb using "context" command. :ghpull:`12826`

Other notable changes in IPython 7.21
-------------------------------------
- Fix some issues on new osx-arm64 :ghpull:`12804`, :ghpull:`12807`.
- Compatibility with Xeus-Python for debugger protocol, :ghpull:`12809`
- Misc docs fixes for compatibility and uniformity with Numpydoc.

Revision 1.57 / (download) - annotate - [select for diffs], Thu Feb 11 12:47:03 2021 UTC (2 years, 9 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2021Q1-base, pkgsrc-2021Q1
Changes since 1.56: +2 -2 lines
Diff to previous 1.56 (colored)

py-ipython: updated to 7.20.0

IPython 7.20
============

IPython 7.20 is the accumulation of 3 month of work on IPython, spacing between
IPython release have been increased from the usual once a month for various
reason.

   - Mainly as I'm too busy and the effectively sole maintainer, and
   - Second because not much changes happened before mid December.

The main driver for this release was the new version of Jedi 0.18 breaking API;
which was taken care of in the master branch early in 2020 but not in 7.x as I
though that by now 8.0 would be out.

The inclusion of a resolver in pip did not help and actually made things worse.
If usually I would have simply pinned Jedi to ``<0.18``; this is not a solution
anymore as now pip is free to install Jedi 0.18, and downgrade IPython.

I'll do my best to keep the regular release, but as the 8.0-dev branch and 7.x
are starting to diverge this is becoming difficult in particular with my limited
time, so if you have any cycles to spare I'll appreciate your help to respond to
issues and pushing 8.0 forward.

Here are thus some of the changes for IPython 7.20.

  - Support for PyQt5 >= 5.11 :ghpull:`12715`
  - ``%reset`` remove imports more agressively :ghpull:`12718`
  - fix the ``%conda`` magic :ghpull:`12739`
  - compatibility with Jedi 0.18, and bump minimum Jedi version. :ghpull:`12793`

Revision 1.56 / (download) - annotate - [select for diffs], Wed Nov 4 10:08:14 2020 UTC (3 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q4-base, pkgsrc-2020Q4
Changes since 1.55: +4 -5 lines
Diff to previous 1.55 (colored)

py-ipython: updated to 7.19.0

IPython 7.19 accumulative two month of works, bug fixes and improvements, there
was exceptionally no release last month.

- Fix to restore the ability to specify more than one extension using command
  line flags when using traitlets 5.0
- Docs docs formatting that make the install commands work on zsh
- Always display the last frame in tracebacks even if hidden with
  ``__traceback_hide__``
- Avoid an issue where a callback can be registered multiple times.
- Avoid an issue in debugger mode where frames changes could be lost.
- Never hide the frames that invoke a debugger, even if marked as hidden by
  ``__traceback_hide__``
- Fix calling the debugger in a recursive manner

Revision 1.55 / (download) - annotate - [select for diffs], Tue Sep 8 17:38:42 2020 UTC (3 years, 2 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q3-base, pkgsrc-2020Q3
Changes since 1.54: +3 -3 lines
Diff to previous 1.54 (colored)

py-ipython: updated to 7.18.1

IPython 7.18 is a minor release that mostly contains bugfixes.

 - ``CRLF`` is now handled by magics my default; solving some issues due to copy
   pasting on windows.

 - Requiring pexpect ``>=4.3`` as we are Python 3.7+ only and earlier version of
   pexpect will be incompatible.

 - Minimum jedi version is now 0.16.

Revision 1.54 / (download) - annotate - [select for diffs], Mon Aug 31 23:07:01 2020 UTC (3 years, 3 months ago) by wiz
Branch: MAIN
Changes since 1.53: +3 -2 lines
Diff to previous 1.53 (colored)

*: switch to versioned_dependencies.mk for py-setuptools

Revision 1.53 / (download) - annotate - [select for diffs], Sun Aug 9 00:00:56 2020 UTC (3 years, 3 months ago) by joerg
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52 (colored)

No longer supports Python 3.6

Revision 1.52 / (download) - annotate - [select for diffs], Mon Aug 3 09:15:00 2020 UTC (3 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 (colored)

py-ipython: updated to 7.17.0

IPython 7.17
============

IPython 7.17 brings a couple of new improvements to API and a couple of user
facing changes to make the terminal experience more user friendly.

:ghpull:`12407` introduces the ability to pass extra argument to the IPython
debugger class; this is to help a new project from ``kmaork``
(https://github.com/kmaork/madbg) to feature a fully remote debugger.

:ghpull:`12410` finally remove support for 3.6, while the codebase is still
technically compatible; IPython will not install on Python 3.6.

lots of work on the debugger and hidden frames from ``@impact27`` in
:ghpull:`12437`, :ghpull:`12445`, :ghpull:`12460` and in particular
:ghpull:`12453` which make the debug magic more robust at handling spaces.

Biggest API addition is code transformation which is done before code execution;
IPython allows a number of hooks to catch non-valid Python syntax (magic, prompt
stripping...etc). Transformers are usually called many time; typically:

 - When trying to figure out whether the code is complete and valid (should we
   insert a new line or execute ?)
 - During actual code execution pass before giving the code to Python's
   ``exec``.

This lead to issues when transformer might have had side effects; or do external
queries. Starting with IPython 7.17 you can expect your transformer to be called
less time.

Input transformers are now called only once in the execution path of
`InteractiveShell`, allowing to register transformer that potentially have side
effects (note that this is not recommended). Internal methods `should_run_async`, and
`run_cell_async` now take a recommended optional `transformed_cell`, and
`preprocessing_exc_tuple` parameters that will become mandatory at some point in
the future; that is to say cells need to be explicitly transformed to be valid
Python syntax ahead of trying to run them. :ghpull:`12440`;

``input_transformers`` can now also have an attribute ``has_side_effects`` set
to `True`, when this attribute is present; this  will prevent the transformers
from being ran when IPython is trying to guess whether the user input is
complete. Note that this may means you will need to explicitly execute in some
case where your transformations are now not ran; but will not affect users with
no custom extensions.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Jul 1 14:05:04 2020 UTC (3 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.50: +3 -3 lines
Diff to previous 1.50 (colored)

py-ipython: updated to 7.16.1

IPython 7.16
============

The default traceback mode will now skip frames that are marked with
``__tracebackhide__ = True`` and show how many traceback frames have been
skipped. This can be toggled by using :magic:`xmode` with the ``--show`` or
``--hide`` attribute. It will have no effect on non verbose traceback modes.

The ipython debugger also now understands ``__tracebackhide__`` as well and will
skip hidden frames when displaying. Movement up and down the stack will skip the
hidden frames and will show how many frames were hidden. Internal IPython frames
are also now hidden by default. The behavior can be changed with the
``skip_hidden`` while in the debugger, command and accepts "yes", "no", "true"
and "false" case insensitive parameters.

Misc Noticeable changes:
------------------------
- Exceptions are now (re)raised when running notebooks via the :magic:`%run`, helping to catch issues in workflows and
  pipelines. :ghpull:`12301`
- Fix inputhook for qt 5.15.0 :ghpull:`12355`
- Fix wx inputhook :ghpull:`12375`
- Add handling for malformed pathext env var (Windows) :ghpull:`12367`
- use $SHELL in system_piped :ghpull:`12360` for uniform behavior with
  ipykernel.

Revision 1.50 / (download) - annotate - [select for diffs], Sun May 31 11:31:52 2020 UTC (3 years, 6 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q2-base, pkgsrc-2020Q2
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

py-ipython: updated to 7.15.0

IPython 7.15 brings a number of bug fixes and user facing improvements.

Misc Noticeable changes:
------------------------
 - Long completion name have better elision in terminal
 - I've started to test on Python 3.9 and fix some errors.
 - Hi DPI scaling of figures when using qt eventloop
 - Document the ability to have systemwide configuration for IPython.
 - Fix issues with input autoformatting
 - ``IPython.core.debugger.Pdb`` is now interruptible
 - Video HTML attributes

Revision 1.49 / (download) - annotate - [select for diffs], Sun May 3 11:50:09 2020 UTC (3 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.48: +2 -2 lines
Diff to previous 1.48 (colored)

py-ipython: updated to 7.14.0

IPython 7.14
============

IPython  7.14 is a minor release that fix a couple of bugs and prepare
compatibility with new or future versions of some libraries.

Important changes:
------------------
 - Fix compatibility with Sphinx 3+
 - Remove deprecated matplotlib parameter usage, compatibility with matplotlib
   3.3+

Misc Changes
------------
 - set ``.py`` extension when editing current buffer in vi/emacs.
 - support for unicode identifiers in ``?``/``??``
 - add extra options to the ``Video`` Rich objects
 - add pretty-printing to ``SimpleNamespace``

Pending deprecated imports
--------------------------
Many object present in ``IPython.core.display`` are there for internal use only,
and should  already been imported from ``IPython.display`` by users and external
libraries. Trying to import those from ``IPython.core.display`` is still possible
but will trigger a
deprecation warning in later versions of IPython and will become errors in the
future.

This will simplify compatibility with other Python kernels (like Xeus-Python),
and simplify code base.

Revision 1.48 / (download) - annotate - [select for diffs], Tue Mar 3 05:56:20 2020 UTC (3 years, 8 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2020Q1-base, pkgsrc-2020Q1
Changes since 1.47: +6 -3 lines
Diff to previous 1.47 (colored)

py-ipython: updated to 7.13.0

IPython 7.13 is the first release of the 7.x branch since master is diverging
toward an 8.0. Exiting new features have already been merged in 8.0 and will
not be available on the 7.x branch. All the changes bellow have been backported
from the master branch.
 - Fix inability to run PDB when inside an event loop
 - Fix ability to interrupt some processes on windows
 - Fix debugger shortcuts
 - improve tab completion when inside a string by removing irrelevant elements
 - Fix display of filename tab completion when the path is long
 - Many removal of Python 2 specific code path
 - displaying wav files do not require NumPy anymore, and is 5x to 30x faster

Revision 1.47 / (download) - annotate - [select for diffs], Sat Feb 1 12:27:04 2020 UTC (3 years, 10 months ago) by adam
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

py-ipython: updated to 7.12.0

IPython 7.12 is a minor update that mostly brings code cleanup, removal of
longtime deprecated function and a couple update to documentation cleanup as well.

Notable changes are the following:
- Exit non-zero when ipython is given a file path to run that doesn't exist
- Test PR on ARM64 with Travis-CI
- Update CI to work with latest Pytest
- Add infrastructure to run ipykernel eventloop via trio
- Support git blame ignore revs
- Start multi-line ``__repr__`` s on their own line

Revision 1.46 / (download) - annotate - [select for diffs], Sun Jan 26 17:31:03 2020 UTC (3 years, 10 months ago) by rillig
Branch: MAIN
Changes since 1.45: +2 -2 lines
Diff to previous 1.45 (colored)

all: migrate homepages from http to https

pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.

Revision 1.45 / (download) - annotate - [select for diffs], Thu Jan 2 10:24:57 2020 UTC (3 years, 10 months ago) by adam
Branch: MAIN
Changes since 1.44: +2 -2 lines
Diff to previous 1.44 (colored)

py-ipython: updated to 7.11.1

IPython 7.11.1
==============

A couple of deprecated functions (no-op) have been reintroduces in py3compat as
Cython was still relying on them, and will be removed in a couple of versions.


IPython 7.11
============

IPython 7.11 received a couple of compatibility fixes and code cleanup.

A number of function in the ``py3compat`` have been removed; a number of types
in the IPython code base are now non-ambiguous and now always ``unicode``
instead of ``Union[Unicode,bytes]``; many of the relevant code path have thus
been simplified/cleaned and types annotation added.

IPython support several verbosity level from exceptions. ``xmode plain`` now
support chained exceptions. :ghpull:`11999`

We are starting to remove ``shell=True`` in some usages of subprocess. While not directly
a security issue (as IPython is made to run arbitrary code anyway) it is not good
practice and we'd like to show the example. :ghissue:`12023`. This discussion
was started by ``@mschwager`` thanks to a new auditing tool they are working on
with duo-labs (`dlint <https://github.com/duo-labs/dlint>`_).

Work around some bugs in Python 3.9 tokenizer :ghpull:`12057`

IPython will now print its version after a crash. :ghpull:`11986`

This is likely the last release from the 7.x series that will see new feature.
The master branch will soon accept large code changes and thrilling new
features; the 7.x branch will only start to accept critical bug fixes, and
update dependencies.

Revision 1.44 / (download) - annotate - [select for diffs], Sun Dec 15 09:18:46 2019 UTC (3 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q4-base, pkgsrc-2019Q4
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

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.

Revision 1.43 / (download) - annotate - [select for diffs], Mon Dec 2 11:45:46 2019 UTC (4 years ago) by adam
Branch: MAIN
Changes since 1.42: +2 -2 lines
Diff to previous 1.42 (colored)

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.

Revision 1.42 / (download) - annotate - [select for diffs], Thu Nov 28 06:26:33 2019 UTC (4 years ago) by adam
Branch: MAIN
Changes since 1.41: +2 -2 lines
Diff to previous 1.41 (colored)

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

Revision 1.41 / (download) - annotate - [select for diffs], Sat Oct 26 22:51:30 2019 UTC (4 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

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

Revision 1.40 / (download) - annotate - [select for diffs], Mon Sep 2 07:55:53 2019 UTC (4 years, 3 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q3-base, pkgsrc-2019Q3
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

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

Revision 1.39 / (download) - annotate - [select for diffs], Sat Aug 3 12:31:47 2019 UTC (4 years, 3 months ago) by adam
Branch: MAIN
Changes since 1.38: +2 -2 lines
Diff to previous 1.38 (colored)

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.

Revision 1.38 / (download) - annotate - [select for diffs], Sat Jul 6 22:47:18 2019 UTC (4 years, 4 months ago) by adam
Branch: MAIN
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored)

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.

Revision 1.37 / (download) - annotate - [select for diffs], Mon Jul 1 07:13:07 2019 UTC (4 years, 5 months ago) by adam
Branch: MAIN
Changes since 1.36: +2 -2 lines
Diff to previous 1.36 (colored)

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.

Revision 1.36 / (download) - annotate - [select for diffs], Thu May 2 09:16:47 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q2-base, pkgsrc-2019Q2
Changes since 1.35: +1 -6 lines
Diff to previous 1.35 (colored)

Forget about Python 3.4

Revision 1.35 / (download) - annotate - [select for diffs], Fri Apr 26 10:13:15 2019 UTC (4 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34 (colored)

py-ipython: updated to 7.5.0

IPython 7.5.0

IPython 7.5.0 consist mostly of bug-fixes, and documentation updates, with one minor new feature. The Audio display element can now be assigned an element id when displayed in browser.

The major outstanding bug fix correct a change of behavior that was introduce in 7.4.0 where some cell magics would not be able to access or modify global scope when using the @needs_local_scope decorator. This was typically encountered with the %%time and %%timeit magics.

Revision 1.34 / (download) - annotate - [select for diffs], Fri Mar 22 11:07:59 2019 UTC (4 years, 8 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2019Q1-base, pkgsrc-2019Q1
Changes since 1.33: +2 -2 lines
Diff to previous 1.33 (colored)

py-ipython: updated to 7.4.0

IPython 7.4.0
Unicode name completions
Make audio normalization optional
Fix improper acceptation of return outside of functions.
Fixed PyQt 5.11 backwards incompatibility causing sip import failure.
Fix Bug where type? woudl crash IPython.
Allow to apply @needs_local_scope to cell magics for convenience.

Revision 1.33 / (download) - annotate - [select for diffs], Tue Feb 19 08:29:56 2019 UTC (4 years, 9 months ago) by adam
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

py-ipython: updated to 7.3.0

IPython 7.3.0

IPython 7.3.0 bring several bug fixes and small improvements that you will
described bellow.

The biggest change to this release is the implementation of the %conda and
%pip magics, that will attempt to install packages in the **current
environment**. You may still need to restart your interpreter or kernel for the
change to be taken into account, but it should simplify installation of packages
into remote environment. Installing using pip/conda from the command line is
still the prefer method.

The %pip magic was already present, but was only printing a warning; now it
will actually forward commands to pip.

Misc bug fixes and improvements:

 - Compatibility with Python 3.8.
 - Do not expand shell variable in execution magics, and added the
   no_var_expand decorator for magic requiring a similar functionality
 - Add %pip and %conda magic
 - Re-initialize posix aliases after a %reset
 - Allow the IPython command line to run *.ipynb files

Revision 1.32 / (download) - annotate - [select for diffs], Fri Nov 30 09:59:40 2018 UTC (5 years ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q4-base, pkgsrc-2018Q4
Changes since 1.31: +2 -2 lines
Diff to previous 1.31 (colored)

py-ipython: updated to 7.2.0

IPython 7.2.0 brings minor bugfixes, improvements, and new configuration options:
- Fix a bug preventing PySide2 GUI integration from working
- Run CI on Mac OS !
- Fix IPython "Demo" mode.
- Fix ``%run`` magic  with path in name
- Fix: add CWD to sys.path *after* stdlib
- Better rendering of signatures, especially long ones.
- Re-enable jedi by default if it's installed
- Add New ``minimal`` exception reporting mode (useful for educational purpose).

Revision 1.31 / (download) - annotate - [select for diffs], Wed Nov 21 17:31:50 2018 UTC (5 years ago) by adam
Branch: MAIN
Changes since 1.30: +9 -8 lines
Diff to previous 1.30 (colored)

py-ipython: updated to 7.1.1

IPython 7.1.0

IPython 7.1.0 is the first minor release after 7.0.0 and mostly bring fixes to new feature, internal refactor and regressions that happen during the 6.x->7.x transition. It also bring Compatibility with Python 3.7.1, as were unwillingly relying on a bug in CPython.

New Core Dev:
We welcome Jonathan Slenders to the commiters. Jonathan has done a fantastic work on Prompt toolkit, and we like to recognise his impact by giving him commit rights.

Notables Changes
Major update of atex to unicodetab completion map (see below)

Notable New Features:
Restore functionality and documentation of the sphinx directive, which is now stricter (fail on error by default), gained configuration options, have a brand new documentation page IPython Sphinx Directive, which need some cleanup. It is also now tested so we hope to have less regressions.
IPython.display.Video now supports width and height arguments, allowing a custom width and height to be set instead of using the video width and height.
Warn when using HTML('<iframe>') instead of IFrame
Allow Dynamic switching of editing mode between vi/emacs and show normal/input mode in prompt when using vi. Use %config TerminalInteractiveShell.editing_mode = 'vi' or %config TerminalInteractiveShell.editing_mode = 'emacs' to dynamically spwitch

Notable Fixes:
Fix entering of multi-line block in terminal IPython, and various crashes in the new input transformation machinery
Fix moving through generator stack in ipdb
Magics arguments now support quoting.
Re-add rprint and rprinte aliases.
Remove implicit dependency to ipython_genutils
Make nonlocal raise SyntaxError instead of silently failing in async mode.
Fix mishandling of magics and = ! assignment just after a dedent in nested code blocks
Fix instructions for custom shortcuts

Notable Internals improvements:
Use of os.scandir (Python 3 only) to speedup some file system operations.
use perf_counter instead of clock for more precise timing result with %time

Revision 1.30 / (download) - annotate - [select for diffs], Thu Aug 2 14:06:23 2018 UTC (5 years, 4 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q3-base, pkgsrc-2018Q3
Changes since 1.29: +2 -2 lines
Diff to previous 1.29 (colored)

py-ipython: updated to 6.5.0

IPython 6.5.0

Miscellaneous bug fixes and compatibility with Python 3.7.

* Autocompletion fix for modules with out __init__.py
* update the %pastebin magic to use dpaste.com instead of GitHub Gist
  which now requires authentication
* Fix crash with multiprocessing

Revision 1.29 / (download) - annotate - [select for diffs], Fri May 11 10:00:49 2018 UTC (5 years, 6 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q2-base, pkgsrc-2018Q2
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored)

py-ipython: updated to 6.4.0

6.4.0:
Fix display object not emitting metadata
Comments failing Jedi test

Revision 1.28 / (download) - annotate - [select for diffs], Fri Apr 6 20:20:51 2018 UTC (5 years, 7 months ago) by adam
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27 (colored)

py-ipython: updated to 6.3.1

IPython 6.3.1

This is a bugfix release to switch the default completions back to IPython's own completion machinery. We discovered some problems with the completions from Jedi, including completing column names on pandas data frames.

You can switch the completions source with the config option :configtrait:Completer.use_jedi.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Apr 3 11:15:21 2018 UTC (5 years, 8 months ago) by adam
Branch: MAIN
Changes since 1.26: +4 -6 lines
Diff to previous 1.26 (colored)

py-ipython: updated to 6.3.0

IPython 6.3 contains all the bug fixes and features in IPython 5.6. In addition:

A new display class IPython.display.Code can be used to display syntax highlighted code in a notebook
The %%html magic now takes a --isolated option to put the content in an iframe
The code to find completions using the Jedi library has had various adjustments. This is still a work in progress, but we hope this version has fewer annoyances
The post event callbacks are now always called, even when the execution failed (for example because of a SyntaxError).
The execution info and result objects are now made available in the corresponding pre or post *_run_cell event callbacks in a backward compatible manner
Performance with very long code cells (hundreds of lines) is greatly improved

Revision 1.26 / (download) - annotate - [select for diffs], Thu Jan 25 09:28:15 2018 UTC (5 years, 10 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2018Q1-base, pkgsrc-2018Q1
Changes since 1.25: +3 -2 lines
Diff to previous 1.25 (colored)

py-ipython: also DEPEND on py-sqlite3

Revision 1.25 / (download) - annotate - [select for diffs], Wed Dec 13 08:58:03 2017 UTC (5 years, 11 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q4-base, pkgsrc-2017Q4
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

py-ipython: avoid conflicts between Python 3.x versions; PLIST changed; bumped revision

Revision 1.24 / (download) - annotate - [select for diffs], Mon Nov 20 17:10:43 2017 UTC (6 years ago) by minskim
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

Correct the PYPKGPREFIX value

It should be "py34" rather than "34".

Bump PKGREVISION.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Nov 16 18:50:53 2017 UTC (6 years ago) by minskim
Branch: MAIN
Changes since 1.22: +7 -1 lines
Diff to previous 1.22 (colored)

devel/py-ipython: Needs py-typing when used with python34

Bump PKGREVISION.

Revision 1.22 / (download) - annotate - [select for diffs], Mon Oct 16 18:03:49 2017 UTC (6 years, 1 month ago) by adam
Branch: MAIN
Changes since 1.21: +14 -19 lines
Diff to previous 1.21 (colored)

py-ipython: update to 6.2.1

IPython 6.2.1:
IPython 6.2.1 ships with two minor fixes leading to no completions when using Jedi 0.11+, and crash on some linux system with virtualenv

IPython 6.2:
IPython 6.2 contains all the bugs fixes and features available in IPython 5.5, like built in progress bar support, and system-wide configuration

Revision 1.21 / (download) - annotate - [select for diffs], Sat Jun 24 08:07:14 2017 UTC (6 years, 5 months ago) by adam
Branch: MAIN
CVS Tags: pkgsrc-2017Q3-base, pkgsrc-2017Q3, pkgsrc-2017Q2-base, pkgsrc-2017Q2
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored)

IPython 5.4.1
Released a few hours after 5.4, fix a crash when backports.shutil-get-terminal-size is not installed.

IPython 5.4
IPython 5.4-LTS is the first release of IPython after the release of the 6.x series which is Python 3 only. It backports most of the new exposed API additions made in IPython 6.0 and 6.1 and avoid having to write conditional logics depending of the version of IPython.

Revision 1.20 / (download) - annotate - [select for diffs], Thu May 4 20:24:06 2017 UTC (6 years, 6 months ago) by adam
Branch: MAIN
Changes since 1.19: +2 -1 lines
Diff to previous 1.19 (colored)

Python 2.7 requires py-scandir

Revision 1.19 / (download) - annotate - [select for diffs], Sun Apr 23 04:50:51 2017 UTC (6 years, 7 months ago) by markd
Branch: MAIN
Changes since 1.18: +18 -15 lines
Diff to previous 1.18 (colored)

Update ipython to 5.3.0

IPython 4.0
===========

Released August, 2015

IPython 4.0 is the first major release after the Big Split.
IPython no longer contains the notebook, qtconsole, etc. which have moved to
jupyter <https://jupyter.readthedocs.io>.
IPython subprojects, such as IPython.parallel and widgets have moved to their
own repos as well

IPython 5.0
===========

Released July 7, 2016

New terminal interface
----------------------

IPython 5 features a major upgrade to the terminal interface, bringing live
syntax highlighting as you type, proper multiline editing and multiline paste,
and tab completions that don't clutter up your history.

.. image:: ../_images/ptshell_features.png
    :alt: New terminal interface features
    :align: center
    :target: ../_images/ptshell_features.png

These features are provided by the Python library prompt_toolkit,
which replaces ``readline`` throughout our terminal interface.

Relying on this pure-Python, cross platform module also makes it simpler to
install IPython. We have removed dependencies on ``pyreadline`` for Windows and
``gnureadline`` for Mac.

Backwards incompatible changes
------------------------------

- The ``%install_ext`` magic function, deprecated since 4.0, has now been deleted.
  You can distribute and install extensions as packages on PyPI.
- Callbacks registered while an event is being handled will now only be called
  for subsequent events; previously they could be called for the current event.
  Similarly, callbacks removed while handling an event *will* always get that
  event.
- Integration with pydb has been removed since pydb development has been stopped
  since 2012, and pydb is not installable from PyPI.
- The ``autoedit_syntax`` option has apparently been broken for many years.
  It has been removed.

IPython 5.3
===========

Released on January 29th, 2017. Remarkable changes and fixes:

* Fix a bug in ``set_next_input`` leading to a crash of terminal IPython.
* Always wait for editor inputhook for terminal IPython
* Disable ``_ipython_display_`` in terminal
* Update terminal colors to be more visible by default on windows
* Add Ctrl-Z shortcut (suspend) in terminal debugger
* Indent on new line by looking at the text before the cursor
* Update QtEventloop integration to fix some matplotlib integration issues
* Respect completions display style in terminal debugger
* Add a config option ``TerminalInteractiveShell.extra_open_editor_shortcuts``
  to enable extra shortcuts to open the input in an editor. These are :kbd:`v`
  in vi mode, and :kbd:`C-X C-E` in emacs mode
  The :kbd:`F2` shortcut is always enabled.

Revision 1.18 / (download) - annotate - [select for diffs], Tue Jan 3 13:23:02 2017 UTC (6 years, 10 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2017Q1-base, pkgsrc-2017Q1
Changes since 1.17: +5 -6 lines
Diff to previous 1.17 (colored)

Use "${MV} || ${TRUE}" and "${RM} -f" consistently in post-install targets.

Revision 1.17 / (download) - annotate - [select for diffs], Sun Aug 28 15:48:30 2016 UTC (7 years, 3 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q4-base, pkgsrc-2016Q4, pkgsrc-2016Q3-base, pkgsrc-2016Q3
Changes since 1.16: +1 -4 lines
Diff to previous 1.16 (colored)

Remove unnecessary PLIST_SUBST and FILES_SUBST that are now provided
by the infrastructure.

Mark a couple more packages as not ready for python-3.x.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Jul 21 12:13:12 2016 UTC (7 years, 4 months ago) by wiz
Branch: MAIN
Changes since 1.15: +3 -1 lines
Diff to previous 1.15 (colored)

Add missing dependency for 'ipython notebook'.

From K.I.A.Derouiche in PR 51351.

Revision 1.15 / (download) - annotate - [select for diffs], Wed Jun 8 17:43:25 2016 UTC (7 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2016Q2-base, pkgsrc-2016Q2
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored)

Switch to MASTER_SITES_PYPI.

Revision 1.14 / (download) - annotate - [select for diffs], Wed Mar 30 08:23:33 2016 UTC (7 years, 8 months ago) by jperkin
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

Use PKGMANDIR.

Revision 1.13 / (download) - annotate - [select for diffs], Tue Dec 15 10:23:03 2015 UTC (7 years, 11 months ago) by markd
Branch: MAIN
CVS Tags: pkgsrc-2015Q4-base, pkgsrc-2015Q4
Changes since 1.12: +13 -3 lines
Diff to previous 1.12 (colored)

Update py-ipython to 3.2.1

IPython 3.2.1
IPython 3.2.1 is a small bugfix release, primarily for cross-site
security fixes in the notebook. Users are strongly encouraged to
upgrade immediately. There are also a few small unicode and
nbconvert-related fixes.

IPython 3.2
IPython 3.2 contains important security fixes. Users are strongly
encouraged to upgrade immediately.

Highlights:
- Address cross-site scripting vulnerabilities CVE-2015-4706,
  CVE-2015-4707
- A security improvement that set the secure attribute to login
  cookie to prevent them to be sent over http
- Revert the face color of matplotlib axes in the inline backend to
  not be transparent.
- Enable mathjax safe mode by default
- Fix XSS vulnerability in JSON error messages
- Various widget-related fixes

IPython 3.1
Released April 3, 2015

The first 3.x bugfix release, with 33 contributors and 344 commits.
This primarily includes bugfixes to notebook layout and focus problems.

Highlights:
- Various focus jumping and scrolling fixes in the notebook.
- Various message ordering and widget fixes in the notebook.
- Images in markdown and output are confined to the notebook width. An
  .unconfined CSS class is added to disable this behavior per-image.
  The resize handle on output images is removed.
- Improved ordering of tooltip content for Python functions, putting
  the signature at the top.
- Fix UnicodeErrors when displaying some objects with unicode reprs on
  Python 2.
- Set the kernel working directory to the notebook directory when
  running nbconvert --execute, so that behavior matches the live
  notebook.
- Allow setting custom SSL options for the tornado server with
  NotebookApp.ssl_options, and protect against POODLE with default
  settings by disabling SSLv3.
- Fix memory leak in the IPython.parallel Controller on Python 3.

Release 3.0
Released February 27, 2015

This is a really big release. Over 150 contributors, and almost 6000
commits in a bit under a year. Support for languages other than Python
is greatly improved, notebook UI has been significantly redesigned, and
a lot of improvement has happened in the experimental interactive widgets.
The message protocol and document format have both been updated, while
maintaining better compatibility with previous versions than prior updates.
The notebook webapp now enables editing of any text file, and even a
web-based terminal (on Unix platforms).

3.x will be the last monolithic release of IPython, as the next release
cycle will see the growing project split into its Python-specific and
language-agnostic components. Language-agnostic projects (notebook,
qtconsole, etc.) will move under the umbrella of the new Project Jupyter
name, while Python-specific projects (interactive Python shell, Python
kernel, IPython.parallel) will remain under IPython, and be split into a
few smaller packages. To reflect this, IPython is in a bit of a transition
state. The logo on the notebook is now the Jupyter logo. When installing
kernels system-wide, they go in a jupyter directory. We are going to do our
best to ease this transition for users and developers.

Revision 1.12 / (download) - annotate - [select for diffs], Fri Jun 12 11:12:19 2015 UTC (8 years, 5 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2
Changes since 1.11: +7 -6 lines
Diff to previous 1.11 (colored)

Add some missing dependencies, from install.rst.
Bump PKGREVISION.
Addresses PR 49663.

Revision 1.11 / (download) - annotate - [select for diffs], Mon Apr 13 23:12:41 2015 UTC (8 years, 7 months ago) by rodent
Branch: MAIN
Changes since 1.10: +1 -2 lines
Diff to previous 1.10 (colored)

Removing python26. EOL'd quite some ago and discussed a couple times on
tech-pkg@ and pkgsrc-users@.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Apr 20 13:16:28 2014 UTC (9 years, 7 months ago) by imil
Branch: MAIN
CVS Tags: pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2
Changes since 1.9: +3 -2 lines
Diff to previous 1.9 (colored)

Added net/py-zmq as a dependency in order to enable the new ipython cluster
mode.

Revision 1.9 / (download) - annotate - [select for diffs], Sun Apr 20 13:08:54 2014 UTC (9 years, 7 months ago) by imil
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

Fixed PLIST with ${PLIST.py3x}/${PLIST.py2x} as the package has different
binary names for python 2.x and 3.x.

Revision 1.8 / (download) - annotate - [select for diffs], Sun Apr 20 10:19:28 2014 UTC (9 years, 7 months ago) by imil
Branch: MAIN
Changes since 1.7: +3 -1 lines
Diff to previous 1.7 (colored)

Added dependency over databases/py-sqlite3 so history is saved.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Apr 20 10:06:22 2014 UTC (9 years, 7 months ago) by imil
Branch: MAIN
Changes since 1.6: +7 -9 lines
Diff to previous 1.6 (colored)

Updated IPython to version 2.0.0

The principal milestones of 2.0 are:

  * interactive widgets for the notebook
  * directory navigation in the notebook dashboard
  * persistent URLs for notebooks
  * a new modal user interface in the notebook
  * a security model for notebooks

Full release notes: http://ipython.org/ipython-doc/2/whatsnew/version2.0.html

Revision 1.6 / (download) - annotate - [select for diffs], Sat Jan 25 10:30:03 2014 UTC (9 years, 10 months ago) by wiz
Branch: MAIN
CVS Tags: pkgsrc-2014Q1-base, pkgsrc-2014Q1
Changes since 1.5: +2 -2 lines
Diff to previous 1.5 (colored)

Mark packages as not ready for python-3.x where applicable;
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE=  33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE=  33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.

Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.

Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.

Whitespace cleanups and other nits corrected, where necessary.

Revision 1.5 / (download) - annotate - [select for diffs], Sat Oct 26 12:15:59 2013 UTC (10 years, 1 month ago) by obache
Branch: MAIN
CVS Tags: pkgsrc-2013Q4-base, pkgsrc-2013Q4
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

drop maintainership.

I've just imported py-ipython for update of devel/accerciser, not interesting to
itself. Furthermore, pacaginf of py-ipython012 and py-ipython013 are not by me.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Oct 31 11:19:31 2012 UTC (11 years, 1 month ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4
Changes since 1.3: +1 -3 lines
Diff to previous 1.3 (colored)

Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Oct 4 00:21:59 2012 UTC (11 years, 1 month ago) by cheusov
Branch: MAIN
Changes since 1.2: +2 -1 lines
Diff to previous 1.2 (colored)


Bump revision for packages with changed CONFLICTS (PYTHON_SELF_CONFLICT)

Revision 1.2 / (download) - annotate - [select for diffs], Wed Oct 3 23:40:37 2012 UTC (11 years, 2 months ago) by cheusov
Branch: MAIN
Changes since 1.1: +3 -1 lines
Diff to previous 1.1 (colored)

CONFLICTS between python modules

Revision 1.1.1.1 / (download) - annotate - [select for diffs] (vendor branch), Sun Jan 29 13:22:51 2012 UTC (11 years, 10 months ago) by obache
Branch: TNF
CVS Tags: pkgsrc-base, pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1
Changes since 1.1: +0 -0 lines
Diff to previous 1.1 (colored)

Import py-ipython-0.10.2 as devel/py-ipython.

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.

Revision 1.1 / (download) - annotate - [select for diffs], Sun Jan 29 13:22:51 2012 UTC (11 years, 10 months ago) by obache
Branch: MAIN

Initial revision

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>