pudb: Debug Python Programs in a Terminal

pudb: Debug Python Programs in a Terminal

Summary

PuDB is a full-screen, keyboard-driven debugger for Python that runs in a terminal. It brings source code, variables, stack frames, and breakpoints together for developers who prefer an interactive console workflow.

At a glance

Language
Python
License
NOASSERTION
Stars
3.2k
Forks
245
Added to OSRepos
December 22, 2025
Last analyzed
October 3, 2026
View on GitHub

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Overview

PuDB is a visual debugger for Python programs that runs inside a terminal. It addresses the gap between command-line debugging with pdb and GUI-based debuggers, providing an at-a-glance view of program state without leaving the console.

It is suited to developers who work in terminals or want a lightweight debugging interface alongside their code and tests. Its keyboard-based controls and post-mortem mode support both stepping through a running program and investigating a crash.

Key Features

  • Shows syntax-highlighted source, stack frames, breakpoints, and variables together, with variable values that can be expanded or collapsed.
  • Supports keyboard navigation with cursor keys and Vi-style shortcuts.
  • Lets users set breakpoints at source lines and run execution to the selected line.
  • Provides source search and a module browser for inspecting, loading, or reloading modules.
  • Offers an interactive Python shell in the current environment and a command prompt alongside source code.
  • Includes post-mortem debugging for retracing a program after an exception.
  • Supports themes and control from a separate terminal.

Use Cases

  • Python developers can inspect variables and stack frames while stepping through code, without switching from a terminal workflow.
  • Test authors can launch the debugger when a test fails and examine the program state around the failure.
  • Developers diagnosing crashes can use post-mortem mode to retrace the last steps of a program.
  • Users working with loaded Python modules can inspect them in the module browser and reload modules during debugging.

Project Facts

  • Language: Python
  • License: NOASSERTION
  • Stars: 3.2k
  • Forks: 245
  • Topics: bpython, debug, debugger, ipython, pdb, pytest, pytest-plugin, python, urwid
  • Archived: No

Getting Started

Clone the repository:

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

See the README and documentation for usage and setup details.

Considerations

PuDB is a terminal interface, so it is intended for console-based debugging rather than a graphical desktop workflow. The README states that it should work with Python 3.6 and newer; versions 2019.2 and older continued to support Python 2.7. The repository input does not assert a license, so review the repository's licensing information before relying on specific reuse permissions.

Found this useful?

Share it with someone who would like pudb.

Comparisons

Source repository

Open the original repository on GitHub.

34 counted GitHub visits

View on GitHub

Related repositories

Similar repositories that may be relevant next.

OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️