--- - branch: MAIN date: Thu Mar 2 12:47:08 UTC 2023 files: - new: '1.86' old: '1.85' path: pkgsrc/devel/py-ipython/Makefile pathrev: pkgsrc/devel/py-ipython/Makefile@1.86 type: modified - new: '1.22' old: '1.21' path: pkgsrc/devel/py-ipython/PLIST pathrev: pkgsrc/devel/py-ipython/PLIST@1.22 type: modified - new: '1.59' old: '1.58' path: pkgsrc/devel/py-ipython/distinfo pathrev: pkgsrc/devel/py-ipython/distinfo@1.59 type: modified id: 20230302T124708Z.c865235bf971bfbb6df74045d051fd6c5858a7f8 log: | 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` module: pkgsrc subject: 'CVS commit: pkgsrc/devel/py-ipython' unixtime: '1677761228' user: adam