rpdb
pdb wrapper with remote access via tcp socket
What it is and what it does
rpdb is a minimal wrapper around Python's built-in pdb debugger that redirects stdin and stdout through a TCP socket instead of the console. When you call `rpdb.set_trace()` in your code, execution pauses and waits for a remote client (telnet, netcat, or similar) to connect on a specified port (default 4444). Once connected, you interact with the debugger over the network as if you were using pdb locally.
The package was originally designed to debug Jython applications running in Tomcat, where direct console access is impractical, but it works on CPython 3.8 and later. It has no runtime dependencies and installs as a pure Python wheel. The package is dormant—last released 596 days ago—and carries known limitations: the socket may not close cleanly on exit, and there are documented issues with Jython 2.5. Use it when you need to attach a debugger to a long-running or remote process without modifying its startup or deployment.
Use it for:
- Debug a Python application running in a containerized or remote environment where console access is unavailable.
- Attach a debugger to a long-running server or background process without stopping and restarting it.
- Debug Jython applications deployed in Tomcat or other Java application servers.
- Trigger interactive debugging on demand by sending a SIGTRAP signal to a running process.
- Diagnose issues in production-like environments where direct IDE debugging is not feasible.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
rpdb is a remote debugger that wraps Python's pdb and routes debugging sessions over a TCP socket, allowing you to debug a running process by connecting via telnet or netcat.
Yes, if you specifically need remote debugging over a socket and accept the dormant maintenance status. The package is lightweight, has no dependencies, and works on modern Python (3.8–3.12). However, verify the license before use in proprietary code, test thoroughly in your environment given the inactive maintenance, and be aware of the known socket-closure bug. Not recommended as a primary debugger for active development; better suited for ad-hoc remote troubleshooting.
Install
rpdb on PyPI
pip
pip install rpdbuv
uv add rpdbpoetry
poetry add rpdbInstalling rpdb
Before you install
Installation is straightforward with no runtime dependencies. The package is dormant (596 days since last release) but supports current Python versions (3.8–3.12); use it only if you accept that maintenance is inactive.
License in practice
License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
pip install rpdb
import rpdb
rpdb.set_trace()
# Then connect from another terminal:
# nc 127.0.0.1 4444
The debugger blocks execution until a remote client connects; ensure your deployment environment permits inbound TCP connections on the chosen port (default 4444).
Verify before relying
- Whether the unclear license is documented elsewhere (e.g., in the repository or source distribution).
- Current stability and compatibility with Python 3.10–3.12 in production environments, given the dormant maintenance status.
- Whether the known socket-closure bug and Jython-specific issues remain unfixed.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 596 days since the last release |
| First released | |
| Downloads | 84,980/month — #13,963 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: rpdb-0.2.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
remote-pdbExposes Python's debugger (pdb) over a TCP…
permissive · top 5,000 on PyPI
web-pdbWeb-PDB provides a web browser interface for…
permissive · top 15,000 on PyPI
pdb-attachAttaches a Python debugger (pdb) to…
permissive · top 15,000 on PyPI
manholeManhole installs an in-process debugging…
permissive · top 5,000 on PyPI
ipdbipdb is an IPython-enabled debugger that…
permissive · top 5,000 on PyPI
pdbrpdbr enhances Python's built-in debugger with…
unclear · top 5,000 on PyPI
pdbppdbp is an enhanced Python debugger that…
permissive · top 5,000 on PyPI
pdbpppdbpp is a drop-in replacement for Python's…
permissive · top 5,000 on PyPI
debugpydebugpy is a Debug Adapter Protocol…
permissive · top 1,000 on PyPI
lauterbach-trace32-rclProvides a Python interface to Lauterbach…
permissive · top 15,000 on PyPI