<< back

pyzo 4.17.0

Python IDE that works with any Python interpreter installed on your system

Category: Developer Tools
Price: Free
Popularity: Low
Version String: 4.17.0
Release Date: 2024-10-07
Architecture: Intel
Minimum OS: macOS 10.13.0
Vendor Name: pyzo
Homepage: pyzo.org

Version History 4.17.0

#{version_history}

Description:

Python to the people

Pyzo is a free and open-source computing environment based on Python. If you're used to e.g. Matlab, Pyzo can be considered a free alternative. Pyzo is a Python IDE that works with any Python interpreter installed on your system, including Conda environments. The IDE is aimed at interactivity and simplicity, and consists of an editor, a shell, and a set of tools to help the programmer in various ways.


About Pyzo

Pyzo is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing. Its practical design is aimed at simplicity and efficiency. It consists of two main components, the editor and the shell, and uses a set of pluggable tools to help the programmer in various ways. Some example tools are source structure, project manager, interactive help, workspace

Pyzo is written in (pure) Python 3 and uses the Qt GUI toolkit. Binaries are provided for all major operating system. After installing Pyzo, it can be used to execute code on any Python version available on your system (Python 2.4 - 3.x, including Pypy). Our code is hosted at Github and bugs can be reported at our issue tracker. We also have a discussion group.


List of features of the Pyzo IDE

General

• Powerful introspection (see below).
• Allows various ways to interactively run code (see below).
• Using an intuitive shortcut editor, a shortcut can be created for any item in the menu.
• Various handy tools, plus the ability to make your own.
• Choose between different Qt themes.
• Full Unicode support in both editor and shell (this seems obvious, but was not trivial at the time :)).

Shell

• The pythonic shells run in a subprocess and can therefore be interrupted or killed.
• Several shells can be used simultaneously, and can be of different Python versions (v2.4 - v3.x).
• Pypy is supported, Jython and IronPython may be too (untested).
• Command history.
• Text in the shell can be selected and copied. Text can be pasted to the command line.
• The original stdout and stderr are printed to the shell (for C programs that print to file 1 or 2).
• It is guaranteed that no stdout or stderr messages are dropped; if the shell cannot keep up with displaying messages, the kernel is slowed down automatically (try while True: print(time.time())).
• Debugging next/step/continue.
• Post-mortem debugging.
• Enables using several GUI toolkits interactively: PySide, PyQt4, Tk, wx, fltk, GTK.
• Supports removing previously printed text by using the backspace char.
• Supports magic commands similar to IPython.
• You can create multiple shell configurations (different Python version, different GUI integration, etc.)
• Use 'pip' or 'conda' commands to manage your packages.

Editor

• Supports auto indentation.
• Automatically determines the indentation width when loading a file.
• Matlab-style cell system to mark code sections (by starting a line with '##').
• Syntax highlighting for Python, Cython, C, and more to come.
• todo: Syntax schemes easily editable and extendable
• Supports commenting and uncommenting selected lines.
• Drag-'n-drop files or directories to open them.
• Find/Replace (also supports regular expressions).
• The line ending style can be changed.
• Optionally use tabs, or insert tabs as spaces.
• Indentation guides.
• todo: Brace matching.
• View whitespace / line endings.
• Zooming.
• Undo / redo.
• Highlighting of current line.
• Long line indicator.
• Chooice of multiple fonts, Pyzo comes with two beautiful fonts by default.
• Breakpoints for debugging.

Introspection

• Introspection information is queried from the active shell, and from the source code (by continuously parsing the file in a separate thread). (This is going to be integrated with the syntax parsing)
• Auto completion for any object in the active Python session and all __builtins__.
• Optional auto completion for Python keywords.
• Auto completion for functions, classes, and class attributes defined in the current file in the editor (taking inheritance into account, even if a super class is defined in the shell).
• Shows signature of functions (from the shell or from the source) using a call-tip.
• Interactive help for all objects in the active Python session by moving up/down the auto completion list, by double-clicking on a name, or by filling in the name directly.
• Interactive help show the docstrings of properties (rather than of the returned object).

Interactivity (ways to run code)

• Run code by typing directly in the interactive shell.
• Run selection:
• Run current line if there is no selection.
• Evaluate selection if there is a selection and it is on one line.
• Run all (whole) selected lines if selection spans multiple lines.
• Run cell (a cell is the piece of code between two lines starting with '##').
• Run current file.
• Run main file.
• Run current file as a script.
• Run main file as a script.