We’re pleased to announce the release of QtConsole 4.4, along with a follow-on bugfix update, 4.4.1. QtConsole, which melds the feel of a lightweight terminal and the functionality of an advanced GUI editor, is a rich interface to Jupyter kernels that can be used standalone or built in to an IDE like Spyder (with which QtConsole is a joint collaboration). From user-selectable syntax highlighting themes and expanded integration with external clients like your favorite editors and IDEs, to productivity boosts like block (un)indent, cell-specific Select-All, intelligent Ctrl-Backspace and Ctrl-Delete, and Ctrl-D to send an EOT byte, there’s plenty new for everyone to like.

Read on for a visual summary of the key changes, and check out the Changelog and GitHub Milestone for more details. The new version is available on PyPI and Conda, if you want to get right to trying it out for yourself. If running under conda , you can use Anaconda Navigator, or execute the following (from the Anaconda Prompt on Windows, or your terminal/command line otherwise, after first activate -ing the environment with the QtConsole package you want to update):

conda update qtconsole

Or, if on a pip -only install, after activate -ing the appropriate virtualenv / venv , run:

pip install --upgrade qtconsole

Perhaps the most exciting improvements are the enhancements to QtConsole’s ability to integrate with external editors and IDEs. Thanks to the Jupyter client-server architecture, you can integrate QtConsole with any editor you want, allowing you to assemble your very own Spyder/MATLAB-like IDE out of the components of your choosing. Marijn van Vliet, the author of the changes, demonstrates a few of the possibilities in a short video:

Margin van Vliet demonstrates the new editor/IDE integration enhancements in QtConsole 4.4

Thanks to the new changes, you can now print beautifully-formatted input and output from other clients, like your editor, with proper indentation, customizable syntax highlighting, configurable prompts with an incrementing prompt number, and more. If you’re interested in setting up your own custom environment, check out Marijn’s blog post on the subject for more details.

QtConsole‘s syntax-highlighted output with a user-selected theme, now available with external editors

Complementary to the previous enhancements, QtConsole now allows you to change the syntax highlighting theme and its overall color scheme (light/dark), and includes a wide variety of options to choose from. From popular styles like Monokai, emacs, vim and VS to more esoteric choices, the list should cover a wide variety of tastes. You can easily switch between them under View→Syntax Style.

Demonstration of how to select a syntax style in QtConsole

When working with multi-line input, QtConsole now offers a block indent/unindent feature, allowing an entire selection to be indented or unindented at once — even across multiple levels of indents. Just highlight the lines you’d like to change, and press TAB to indent or Shift-TAB to unindent.