2023-10-02 20:58:24 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
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.
|
2023-09-29 15:40:02 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
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.
|
2023-09-02 07:39:25 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
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`
|
2023-08-02 01:20:57 by Thomas Klausner | Files touched by this commit (158) |
Log message:
*: remove more references to Python 3.7
|
2023-06-06 20:28:30 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
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
|
2023-05-04 19:42:04 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
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.
|
2023-04-30 06:52:08 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
py-ipython: updated to 8.13.1
8.13.1
Bug fixes
|
2023-04-28 16:37:45 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
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`
|
2023-04-03 19:33:39 by Adam Ciarcinski | Files touched by this commit (2) |  |
Log message:
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.
|
2023-03-02 13:47:08 by Adam Ciarcinski | Files touched by this commit (3) |  |
Log message:
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`
|