inducer

pudb: Debug Python in a Visual Terminal Interface

PuDB is a full-screen, console-based visual debugger for Python, designed for keyboard-friendly debugging where you write and test code. It brings source, stack, breakpoints, and variables together in a terminal, with support for Python 3.10 and newer.

Stars
3.3k
Forks
246
Stars, last 30 days
+6
Last commit
1 day ago
Contributors
89

Our take

Activeregular commits and releases

Health score

52/100

How it is scored
Activity
54
Community
67
Issues
21
Pull requests
65

+6 stars in the last 30 days

  • More contributors than 75% of the projects we track

PuDB is an actively maintained option for terminal-based Python debugging, with recent commits and releases and contributions from a broad, non-concentrated contributor base.

Good fit if

  • You want a visual debugger that runs in a terminal and focuses on Python.
  • You need to inspect breakpoints, variables, and the call stack while stepping through code.
  • Your project uses Python 3.10 or newer and you value regular releases.

Look elsewhere if

  • You need a graphical desktop debugger rather than a console interface.
  • Your environment must support Python versions older than 3.10.
  • Your workflow depends on a feature not described in the project documentation, such as a particular IDE integration.
All health signals
Last commit2026-10-14 (1 day ago)
Commits, last 90 days21
Releases, last 12 months5 (latest v2026.1, 2026-10-13)
Contributors89 (top contributor: 61% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days11 (typically merged in 0 days)
Project age15 years

Checked on 2026-10-16 with the GitHub API.

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

3,256

Forks

246

Change since Nov 14, 2026: +1 stars·+1 forks

Overview

PuDB is a full-screen, console-based visual debugger for Python. It brings source code, the call stack, breakpoints, and variables into one terminal interface, helping Python developers inspect program behavior without switching to a GUI debugger.

Its keyboard-focused controls support stepping through code, setting breakpoints, and examining variables. PuDB also provides post-mortem debugging for tracing a program after an exception. The project currently requires Python 3.10 or newer.

Key Features

  • View syntax-highlighted source, the stack, breakpoints, and variables together.
  • Navigate with single-key commands, cursor keys, or Vi-style shortcuts.
  • Set breakpoints at the current source line and edit them in a visual window.
  • Search source code and browse loaded modules, including reloading them.
  • Expand and collapse variable displays, with customization options.
  • Open a Python shell in the current environment or a command prompt alongside the source.
  • Trace failures in post-mortem mode and control the debugger from a separate terminal.

Use Cases

  • Python developers stepping through code in a terminal-based workflow who want source and runtime state visible together.
  • Test authors investigating a failing test without leaving their terminal environment.
  • Developers diagnosing an uncaught exception by retracing the program's final steps.
  • Users who prefer keyboard-driven debugging and want to navigate with cursor keys or Vi-style shortcuts.

What you need

Detected in the repository

  • Python ~=3.10 (from pyproject.toml)
  • Automated checks on GitHub Actions

Getting Started

Clone the repository:

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

See the PuDB documentation for installation and usage details.

License in Plain Words

No standard license was detected. Without a license, the default copyright rules apply: you may read the code, but not reuse it. Check the repository or ask the authors.

Alternatives

  • PySnooper: PySnooper traces executed lines and local-variable changes to logs, while PuDB provides an interactive, full-screen debugger with stepping and breakpoints.
ProjectLanguageLicenseStarsStatus
pudbPython–3.3kActive
PySnooperPythonMIT16.6kQuiet

Considerations

PuDB's interface is designed for terminals, so it may not suit teams that require a graphical debugger. The current project requirement is Python 3.10 or newer; the README notes that older PuDB releases supported Python 2.7, but that does not describe the current requirement. Recent project activity is strong, though the health data reports no issues closed in the recent measurement window. Check the repository and documentation for the project's current licensing and any workflow-specific requirements before adopting it.

Found this useful?

Share it with someone who would like pudb.

Comparisons