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__``.
This commit is contained in:
adam 2021-06-10 07:19:46 +00:00
parent c669143e8e
commit 4996ebe6e8
2 changed files with 9 additions and 8 deletions

View file

@ -1,6 +1,6 @@
# $NetBSD: Makefile,v 1.59 2021/05/07 18:09:15 adam Exp $
# $NetBSD: Makefile,v 1.60 2021/06/10 07:19:46 adam Exp $
DISTNAME= ipython-7.23.1
DISTNAME= ipython-7.24.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= devel python
MASTER_SITES= ${MASTER_SITE_PYPI:=i/ipython/}
@ -15,11 +15,12 @@ DEPENDS+= ${PYPKGPREFIX}-decorator-[0-9]*:../../devel/py-decorator
DEPENDS+= ${PYPKGPREFIX}-jedi>=0.16:../../editors/py-jedi
DEPENDS+= ${PYPKGPREFIX}-pexpect-[0-9]*:../../devel/py-pexpect
DEPENDS+= ${PYPKGPREFIX}-pickleshare-[0-9]*:../../databases/py-pickleshare
DEPENDS+= ${PYPKGPREFIX}-prompt_toolkit>=3.0.2:../../devel/py-prompt_toolkit2
DEPENDS+= ${PYPKGPREFIX}-prompt_toolkit>=3.0.2:../../devel/py-prompt_toolkit
DEPENDS+= ${PYPKGPREFIX}-pygments-[0-9]*:../../textproc/py-pygments
DEPENDS+= ${PYPKGPREFIX}-setuptools>=18.5:../../devel/py-setuptools
DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
DEPENDS+= ${PYPKGPREFIX}-traitlets>=4.2:../../devel/py-traitlets
# TODO: matplotlib-inline
.include "../../mk/bsd.prefs.mk"
.if ${OPSYS} == Darwin
DEPENDS+= ${PYPKGPREFIX}-appnope-[0-9]*:../../sysutils/py-appnope

View file

@ -1,7 +1,7 @@
$NetBSD: distinfo,v 1.36 2021/05/07 18:09:15 adam Exp $
$NetBSD: distinfo,v 1.37 2021/06/10 07:19:46 adam Exp $
SHA1 (ipython-7.23.1.tar.gz) = f474650c6aa34664c984758f82a363b2a5479aaf
RMD160 (ipython-7.23.1.tar.gz) = c90f7ecc0791e1c51bd285df03cdce577b5823cf
SHA512 (ipython-7.23.1.tar.gz) = 9b35626a8a07c6bd0b93552341e5a61d3d90a60c72ad6e3fc71266d9509134366c46a7ae8aeca9c3acc7509dfeab47b5144f105cb3d1d05ef1c7acca6c2f365d
Size (ipython-7.23.1.tar.gz) = 5188898 bytes
SHA1 (ipython-7.24.1.tar.gz) = f06a7fb54e81e0e70bc94b2167cae8c8ae6f2d3c
RMD160 (ipython-7.24.1.tar.gz) = 32e22ecba08aed4df660063af9274ab4d7ccdbb6
SHA512 (ipython-7.24.1.tar.gz) = 0ea8843a1f2e7f9357ff9896f2b6da058adb5fcbbad5c3b1fc4138a085eb57034c62c0b50d82dea0e563523649ec112edd4ef0c267a914f6a7d33b44be30b977
Size (ipython-7.24.1.tar.gz) = 5146561 bytes
SHA1 (patch-setupbase.py) = 241463d5368a4c80c8194244f5c3895196b44da5