By Rick Grehan | InfoWorld | Published: 16:16, 08 September 2010
PyScripter is the creation of Kiriakos Vlahos. It was originally designed to be a scripting solution for Delphi applications. In fact, PyScripter is built with Delphi (with additional components created by Python for Delphi), and it is noticeably more responsive than the IDEs written in Python. On the downside, PyScripter's Delphi roots limit it to the Windows platform. I tested version 18.104.22.168, which claimed to have support for most of the 2.x Python variants, as well as Python 3.1. I tested PyScripter with Python 2.6.
PyScripter's interface is uncluttered and easy to navigate. Its editor supports code completion, as well as call tips, and will perform syntax checking on the fly as you type. You can create both code snippet and file templates for quickly pouring boilerplate code into an application's source. And templates can be programmed to do more than paste in static source, thanks to PyScripter's custom parameters, which let you script the behavior of templates. Custom parameters can be used, for example, to fetch system values, date, current directory, Python version, and write them into the source code when the template is employed. You can also define custom parameters that prompt the user for input and paste the response into the code. You can extend the IDE in a fashion: Any application that can be invoked from the command line can be added to PyScripter's Tools menu.
PyScripter's File Explorer window has a handy, graphical display of the Pythonpath, which you can update with drag-and-drop ease. The Project Explorer lets you create multiple run and debug configurations; each can have its own runtime parameters, working directory, local/remote Python executable selection, and more.
The Project Explorer also lets you configure whether or not the Python runtime is re-initialised before subsequent runs. Without this, if you run an application, stop it to examine something or make changes, and restart it, classes and globals might be retained from the preceding run, which can result in difficult-to-diagnose problems. This feature can be particularly useful when debugging GUI-based applications.
PyScripter uses the standard Python debugger, which supports watches, call stack viewing, breakpoints and a locals window. You can do remote debugging via one of four remote engines, all making use of RPyC (Remote Python Call), which is bundled with the latest version of PyScripter.
The IDE also supplies remote engines for debugging Tkinter and wxPython applications, although the current debugger only really allows debugging of single-thread applications. More specifically, breakpoints only work in an application's main thread. However, the IDE's author points out that debugging multithreaded Python applications is possible with the excellent Winpdb debugger. The only price you have to pay is stepping outside of the IDE to get your debugging done. Considering both PyScripter and Winpdb are free applications, it's difficult to complain.