inducer

pudb

inducer

pudb is a full-screen console visual debugger for Python, offering syntax-highlighted source, variable inspection, and breakpoint management in the terminal for remote and server environments.

v2026.1
Published at
14d ago
3,249
Stars
84
Download
Synced at
8d ago

Latest release

v2026.1Oct 13, 2026, 05:23 PM
Downloads slow? Switch the source anytime above

README

Project Overview

pudb is a console-based visual debugger for Python that brings the niceties of modern GUI debuggers into a lightweight, keyboard-friendly terminal package. Source, stack, breakpoints, and variables are visible at once and continuously updated, with an expandable variable tree. It suits debugging directly on servers or remote environments, with themes, a module browser, and post-mortem mode.

Item Value
Type Terminal visual debugger
Language Python
Runtime Python 3.6+
UI Full-screen text UI (urwid)

A GUI-debugger experience inside the terminal, comfortable breakpoints on servers.

Key Features

  • Single-screen overview: source, stack, breakpoints, and variables update live together
  • Variable tree: displays expand, collapse, and offer customization
  • Keyboard navigation: single-keystroke control with cursor keys and Vi shortcuts
  • Breakpoint management: press b on a line and edit breakpoints visually in their window
  • Run to cursor: press t to run to the line under the cursor
  • Embedded shell: press the exclamation key to open a Python shell in the current environment
  • Module browser: press m to view, load, and reload modules
  • Post-mortem mode: retrace a crashing program's last steps

Target Audience

  • Server-side Python developers
  • Remote and SSH workflow users
  • Engineers who never leave the terminal
  • Scientific computing developers
  • Instructors teaching Python debugging

Quick Start

  1. Install pudb
pip install pudb
  1. Insert a breakpoint in code
import pudb
pudb.set_trace()
  1. Run the script and the debugger UI opens in the terminal

  2. Key bindings: b sets breakpoints, t runs to line, the exclamation key opens a shell, Ctrl-P switches themes

Core Advantages

  • Terminal friendly: a complete visual debugging experience without a GUI
  • Quick to learn: keys follow pdb conventions with efficient single-keystroke actions
  • Rich themes: bundled themes plus custom theme support

System Requirements

Item Requirement
OS Linux, macOS, and other terminal environments
Runtime Python 3.6 or later
UI dependency urwid

Notes

  • Terminal requirement: needs a terminal emulator supporting full-screen text UIs
  • Legacy support: only versions 2019.2 and older support Python 2.7
  • pytest integration: works as a pytest plugin to drop into debugging on failures

Release history

Sort