Repolode
inducer

inducer/pudb

A full-screen, keyboard-driven console debugger for Python that shows source, stack, breakpoints and variables at once.

Stars
3,252
Forks
245
Open issues
164
Last commit
6 days ago

What is it?

PuDB brings the layout of a modern GUI debugger into the terminal. Source code with syntax highlighting, the call stack, breakpoints and variables are shown together and kept up to date while the program runs, so you can debug code where you write and test it.

Navigation relies on single keystrokes, with cursor keys and Vi-style shortcuts supported. Other commands are modeled on pdb. You can set breakpoints from the source view, run to the cursor, open a Python shell in the current environment, and browse or reload loaded modules. Post-mortem mode lets you step back through the last moments of a crashing program.

PuDB includes several built-in themes, including dark ones, and integrates with IPython. It also supports pytest and can be controlled from a separate terminal. It targets Python 3.6 and newer.

Key features

  • 01Syntax-highlighted source, stack, breakpoints and variables shown together and updated live
  • 02Single-keystroke navigation with cursor keys and Vi shortcuts
  • 03Set breakpoints by pointing at a line and pressing b; run to cursor with t
  • 04Post-mortem mode for retracing a crashing program
  • 05Module browser, Python shell in the current environment, and IPython integration
  • 06Built-in light and dark themes

Use cases

  • Debugging Python scripts over SSH or in a plain terminal without a GUI
  • Stepping through a failing pytest test interactively
  • Inspecting the state of a crash after an unhandled exception
  • Keyboard-focused debugging for developers who prefer staying in the terminal

Quick start

  1. 1

    Find the package on the Python Package Index (PyPI)

  2. 2

    Get the development version with Git

    git clone https://github.com/inducer/pudb.git

Things to know

  • The license is not clearly stated in the metadata, so check the repository before using it.
  • Python 2.7 is supported only up to version 2019.2; newer releases need Python 3.6 or later.

In collections

Topics

FAQ

What is pudb?
A full-screen, keyboard-driven console debugger for Python that shows source, stack, breakpoints and variables at once. PuDB brings the layout of a modern GUI debugger into the terminal. Source code with syntax highlighting, the call stack, breakpoints and variables are shown together and kept up to date while the program runs, so you can debug code where you write and test it.
Is pudb free to use? What license does it have?
pudb is open source under the Other license. Check the license terms before using it in commercial products.
Is pudb still maintained?
Actively maintained. The last commit to pudb was on Nov 1, 2026.
What can I use pudb for?
Debugging Python scripts over SSH or in a plain terminal without a GUI Stepping through a failing pytest test interactively Inspecting the state of a crash after an unhandled exception Keyboard-focused debugging for developers who prefer staying in the terminal
How do I install pudb?
Find the package on the Python Package Index (PyPI) Get the development version with Git: git clone https://github.com/inducer/pudb.git
Where can I get pudb?
The source code and installation instructions are on GitHub: https://github.com/inducer/pudb

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects