CHAPTER TWO PROGRAMMING FAQ 2.1 General Questions 2.1.1 Is there a source code level debugger with breakpoints, single-stepping, etc.? 2.1.2 Are there tools to help find bugs or perform static analysis? 7 Yes. Pylint and Pyflakes do basic checking that will help you catch bugs sooner. Static type checkers such as Mypy, Pyre, and Pytype can check type hints in Python source code. There are a number of commercial Python IDEs that include graphical debuggers. They include: Visual Studio Code is an IDE with debugging tools that integrates with version-control software. trepan3k is a gdb-like debugger. Eric is an IDE built on PyQt and the Scintilla editing component. PythonWin is a Python IDE that includes a GUI debugger based on pdb. The PythonWin debugger colors breakpoints and has quite a few cool features such as debugging non-PythonWin programs. PythonWin is available as part of pywin32 project and as a part of the ActivePython distribution. The IDLE interactive development environment, which is part of the standard Python distribution (normally available as Tools/scripts/idle), includes a graphical debugger. The pdb module is a simple but adequate console-mode debugger for Python. It is part of the standard Python library, and is$_{documented in the Library Reference Manual}$. You can also write your own debugger by using the code for pdb as an example. Several debuggers for Python are described below, and the built-in function$_{breakpoint()}$ allows you to drop into any of them. Yes. • PyCharm • Komodo IDE • Wing IDE