web-pdb
Web interface for Python's built-in PDB debugger
Decision gist · record as of 2026-08-14
Yes, if you need remote or browser-based debugging of Python scripts. The zero runtime dependencies, recent maintenance, and permissive license make it a low-risk addition. Not suitable if you require active feature development or need to debug in environments where a separate HTTP server thread is problematic (e.g., some serverless runtimes). Single-session browser limitation is a minor gotcha for team debugging.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- Single browser session recommended—multiple concurrent sessions may display incorrect data.
- Low friction—a pure-Python wheel with no runtime dependencies beyond the standard library.
License · maintenance · safety
MIT License (permissive) — MIT License is permissive; you can use, modify, and distribute Web-PDB freely in commercial and private projects with minimal restrictions.
last release 2026-05-21 (85 days) · last repo commit 2026-08-12 · 534 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 82,641 downloads/mo, #14,148 on PyPI
Alternatives
Verify before relying
pip install web-pdb
import web_pdb
web_pdb.set_trace()
# Your code pauses here; open http://localhost:5555 in a browser to debug- Whether the asyncio-based HTTP server running in a separate thread creates issues in specific deployment environments (e.g., serverless, containerized).
- Performance or stability impact when debugging long-running or high-concurrency applications.
What it is and what it does
Web-PDB wraps Python's built-in PDB debugger with a responsive web interface, letting you debug scripts in a browser instead of a terminal. You insert `web_pdb.set_trace()` into your code, and when execution reaches that point, a web UI opens on a configurable port (default 5555) where you can step through code, inspect variables, and run PDB commands. The interface shows the current file with breakpoint markers, local and global variables, and command history.
Since v2.0, Web-PDB has no external dependencies beyond Python's standard library (it uses asyncio for the HTTP server). It works with Python's built-in `breakpoint()` function via the `PYTHONBREAKPOINT` environment variable, and includes a `catch_post_mortem()` context manager for automatic post-mortem debugging on unhandled exceptions. The project is in minimum maintenance mode—bug fixes and Python version compatibility are prioritized, but new features are not actively developed.
Use it for
- Debug a Python script running on a remote server by opening the web UI from your local browser without SSH terminal access.
- Inspect program state during development using a visual interface with syntax highlighting and variable inspection instead of typing PDB commands.
- Debug multiple processes by running separate `set_trace()` calls on different ports and opening each in its own browser tab.
- Catch and debug unhandled exceptions in a specific code block using `catch_post_mortem()` context manager.
- Use `breakpoint()` in Python 3.7+ code to launch Web-PDB automatically via environment variable without code changes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need remote or browser-based debugging of Python scripts.
The zero runtime dependencies, recent maintenance, and permissive license make it a low-risk addition. Not suitable if you require active feature development or need to debug in environments where a separate HTTP server thread is problematic (e.g., some serverless runtimes). Single-session browser limitation is a minor gotcha for team debugging.
Install
web-pdb on PyPI
Before you install
Low friction—a pure-Python wheel with no runtime dependencies beyond the standard library. Maintenance is in minimum mode: the author prioritizes Python version compatibility and critical bug fixes but is not actively developing new features. Last release was recent.
Requires Python 3.8 or later. Single browser session recommended—multiple concurrent sessions may display incorrect data.
License in practice
MIT License is permissive; you can use, modify, and distribute Web-PDB freely in commercial and private projects with minimal restrictions.
Quickstart
pip install web-pdb
import web_pdb
web_pdb.set_trace()
# Your code pauses here; open http://localhost:5555 in a browser to debug
Verify before relying
- Whether the asyncio-based HTTP server running in a separate thread creates issues in specific deployment environments (e.g., serverless, containerized).
- Performance or stability impact when debugging long-running or high-concurrency applications.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 85 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 82,641 / month, #14,148 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: Debuggers |
Evidence: web_pdb-2.0.1-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 › “remote python debugger web interface”
- web-pdbWeb-PDB provides a web browser interface for Python's built-in PDB…
- pyocdpyOCD is a Python-based debugger and programmer for Arm Cortex-M…
- lauterbach-trace32-rclProvides a Python interface to Lauterbach TRACE32 debuggers via…
Give your agent the search over MCP, or paste the wish link into any chat.
More Debuggers packages
Extracts and displays stack frame and traceback data with context-aware source code rendering, used to power enhanced tracebacks in IPython and similar tools.
Install it if you need to display or inspect stack frames with source context; skip it if your use case doesn't involve frame introspection.
debugpy is a Debug Adapter Protocol implementation for Python that enables remote debugging of Python scripts and modules through standard DAP clients, with support for breakpoints, exception handling, and subprocess debugging.
Install it if you need remote debugging, DAP client integration, or programmatic control over breakpoints and exception handling.
Pylint is a static code analyzer that checks Python code for errors, enforces coding standards, detects code smells, and suggests refactoring improvements without executing the code.
Install it if you need thorough code analysis with inference-based bug detection; if speed is critical, consider pairing it with faster linters like ruff for…
yamllint checks YAML files for syntax errors, style violations, and structural problems like key repetition, line length, trailing spaces, and indentation issues.
ipdb is an IPython-enabled debugger that replaces Python's standard pdb with tab completion, syntax highlighting, and better introspection while maintaining the same pdb interface.
Memray is a memory profiler for Python that traces every function call to track memory allocations across Python code, native extensions, and the interpreter itself, generating reports like flame graphs and tables to analyze memory usage.
See also pdb-attach · pdbr · remote-pdb · httpdbg · pudb · rpdb · pdbp · pdbpp