IPython 8.0 is now available with a finer codebase and improved coding experience • DEVCLASS

Interactive Python Toolkit IPython has been stripped down a bit, got some readability and debugging improvements, and is available for download in version 8.0.

The major release’s useful new features mostly fall into the developer experience category, with better trackers among the most highlighted. Starting with the new version, tracebacks give users a better idea of ​​the cause of an error by indicating in which AST node an incident occurs and showing the cell in which an error occurred, instead of display a hash. Additional information in the trace also means that various terminals and editors can jump directly to an issue’s file and line.

To help developers avoid errors in the first place, there are options for emacs and vi to automatically suggest code when used in insert-editing mode. If the Python code formatter black is installed in the environment where IPython is running, the IPython terminal will automatically use its capabilities. If this is not desired, the function can be deactivated via --TerminalInteractiveShell.autoformatter=None.

Once updated, users can retrieve object information in IPDB using ? and ??, suggesting behavioral alignment with the IPython prompt. They also come with a new auto-reload option for newly imported funcs/classes/enums/globals from external modules.

IPython 8.0 automatically removes pasted code from the main vi prompts and offers the use of some history commands with empty ranges.

To get the project’s code in a more maintainable form, the IPython team took advantage of the major version change to remove everything marked as deprecated between versions 1.0 and 5.0. Other than that, it removed IPython from its nasal dependencies and made Python 3.8 a minimum requirement, allowing natives to be used. async instead of homemade solutions. Type annotations into parts of the codebase in combination with mypy it is also hoped that the checks will help improve the quality of the project.

Version 8.0 comes with a slight change in release frequency, which means users can expect to get access to a new stable minor release on the last Friday of every month. The project’s Python support schedule will meanwhile be aligned with other tools in the Python ecosystem, as recommended by the NumPy project in its NEP 29.

More information about the latest changes is available via the IPython changelog.

IPython started in 2001 as a one-person project and has since evolved into its own kind of ecosystem, Jupyter being probably its best-known representative. IPython includes an interactive Python shell and Jupyter core “for working with Python code in Jupyter notebooks and other interactive interfaces”.

Other components were also created at some point during development, which is why packages like IPython Parallel are now available as standalone projects.

Comments are closed.