pudb
A full-screen, console-based Python debugger
Decision gist · record as of 2026-08-14
Yes, if you spend significant time debugging in the terminal and want a more visual alternative to pdb. The low install friction, permissive license, and stable feature set make it a solid choice. The aging maintenance status is a minor concern—expect slower updates—but the package is mature and widely used (top 5000 on PyPI). No known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or newer; terminal must support curses (POSIX/Unix environments; Windows requires WSL or similar).
- Low friction install with six runtime dependencies (jedi, packaging, pygments, typing-extensions, urwid-readline, urwid).
- Maintenance status is aging—last release was 251 days ago—so expect slower response to issues, though the package has been stable since 2009.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute PuDB freely in both open-source and proprietary projects with minimal restrictions.
last release 2025-12-06 (251 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,534,132 downloads/mo, #3,801 on PyPI
Alternatives
Verify before relying
pip install pudb
python -m pudb your_script.py
# Or in code:
import pudb; pudb.set_trace()- Whether IPython integration (mentioned in description) is fully functional in current version.
- Whether remote debugging from a separate terminal is actively maintained.
- Performance characteristics when debugging large codebases or deeply nested call stacks.
What it is and what it does
PuDB is a terminal-based Python debugger that replaces the command-line pdb with a full-screen interface where your source code, variables, stack trace, and breakpoints are all visible and continuously updated. It uses keyboard shortcuts (Vi-style and cursor keys supported) to navigate, set breakpoints, step through code, and inspect state—all without leaving your terminal. The package depends on urwid for terminal UI rendering, jedi for code completion, pygments for syntax highlighting, and a few utility libraries.
You launch it by running your script through the pudb module or by calling set_trace() in your code. It supports themes (light and dark), exception post-mortem debugging, dropping into a Python shell mid-session, and module browsing. The aging maintenance status (last release 251 days ago) suggests the core functionality is stable but new features or bug fixes may arrive slowly.
Use it for
- Debug Python scripts interactively in a terminal without switching to a GUI IDE.
- Inspect variable state and stack frames with a full-screen view while stepping through code.
- Set and manage breakpoints visually by navigating to a line and pressing 'b'.
- Perform post-mortem debugging after an exception to trace the crash path.
- Drop into a Python shell mid-debugging session to test expressions in the current scope.
- Debug on remote or headless servers where GUI debuggers are impractical.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you spend significant time debugging in the terminal and want a more visual alternative to pdb.
The low install friction, permissive license, and stable feature set make it a solid choice. The aging maintenance status is a minor concern—expect slower updates—but the package is mature and widely used (top 5000 on PyPI). No known vulnerabilities.
Install
pudb on PyPI
Before you install
Low friction install with six runtime dependencies (jedi, packaging, pygments, typing-extensions, urwid-readline, urwid). Maintenance status is aging—last release was 251 days ago—so expect slower response to issues, though the package has been stable since 2009.
Requires Python 3.8 or newer; terminal must support curses (POSIX/Unix environments; Windows requires WSL or similar).
License in practice
MIT license is permissive; you can use, modify, and distribute PuDB freely in both open-source and proprietary projects with minimal restrictions.
Quickstart
pip install pudb
python -m pudb your_script.py
# Or in code:
import pudb; pudb.set_trace()
Verify before relying
- Whether IPython integration (mentioned in description) is fully functional in current version.
- Whether remote debugging from a separate terminal is actively maintained.
- Performance characteristics when debugging large codebases or deeply nested call stacks.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release ~=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesjedipackagingpygmentstyping-extensionsurwid-readlineurwid |
| Maintenance | Aging 251 days since the last release |
| First released | |
| Downloads | 1,534,132 / month, #3,801 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaEnvironment :: ConsoleEnvironment :: Console :: CursesIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software DevelopmentTopic :: Software Development :: DebuggersTopic :: Software Development :: Quality AssuranceTopic :: System :: Recovery ToolsTopic :: System :: Software DistributionTopic :: TerminalsTopic :: Utilities |
Evidence: pudb-2025.1.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “terminal debugger python”
- pudbPuDB is a full-screen console-based visual debugger for Python that…
- pdbrpdbr enhances Python's built-in debugger with colored output and new…
- pdb-attachAttaches a Python debugger (pdb) to long-running processes without…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also flake8-debugger · web-pdb · pdbp · pdbr · ipdb · pdbpp · rpdb · vivisect · pdb-attach · pydevd