httpdbg
A very simple tool to debug HTTP(S) client and server requests.
What it is and what it does
httpdbg is a debugging tool that sits between your Python code and the network to capture and visualize HTTP(S) traffic. Instead of modifying your code, you run your program through the `pyhttpdbg` command, and it automatically intercepts all HTTP requests—both those made by your client code and those received by your server. The captured traffic appears in a web dashboard at http://localhost:4909, where you can inspect headers, bodies, timing, and request grouping.
It supports HTTP/1.0, HTTP/1.1, and HTTP/2, and works with popular clients (requests, urllib3, httpx, aiohttp) and servers (Flask, FastAPI). You can trace standalone scripts, test suites (pytest, unittest), or interactive Python sessions. The tool groups related requests together—for example, redirects or requests made within test fixtures—and tags them for easier navigation. It requires no configuration to start and has no runtime dependencies beyond Python itself.
Use it for:
- Debug unexpected HTTP behavior in a script by running it through pyhttpdbg and inspecting the actual requests and responses in the web UI.
- Trace all HTTP calls made by pip or another module to understand its network activity without modifying the module's code.
- Inspect HTTP requests and responses in your test suite to verify that your code is making the correct API calls.
- Monitor incoming HTTP requests to your Flask or FastAPI server during development to verify endpoint behavior.
- Export HTTP traces as a single HTML file for documentation or sharing debugging sessions with teammates.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
httpdbg intercepts and displays HTTP(S) requests made by or received by Python programs, providing a web-based dashboard to inspect client and server traffic without code changes.
Yes. httpdbg is a low-friction development tool with no dependencies, active maintenance, a permissive license, and no known vulnerabilities. It solves a real debugging problem—inspecting HTTP traffic without code changes—and works with common Python HTTP libraries and frameworks. Install it if you regularly debug HTTP-based Python applications.
Install
httpdbg on PyPI
pip
pip install httpdbguv
uv add httpdbgpoetry
poetry add httpdbgInstalling httpdbg
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent releases and 905 repository stars.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions.
Quickstart
pip install httpdbg
# Run a script with HTTP tracing:
pyhttpdbg --script my_script.py
# Or run tests with tracing:
pyhttpdbg -m pytest tests/
# View requests at http://localhost:4909
Requires Python 3.9 or later.
Verify before relying
- Whether the tool works with all HTTP client libraries or only the explicitly listed ones (requests, urllib3, httpx, aiohttp).
- Performance impact when tracing large volumes of HTTP traffic.
- Whether the web interface persists requests across Python process restarts in all scenarios.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 34 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 77,551/month — #14,516 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: httpdbg-2.1.8-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
viztracerVizTracer traces Python code execution and…
permissive · top 5,000 on PyPI
web-pdbWeb-PDB provides a web browser interface for…
permissive · top 15,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
uvicornUvicorn is an ASGI web server that runs async…
permissive · top 100 on PyPI
snakevizSnakeViz is a web-based viewer for Python…
permissive · top 5,000 on PyPI
pookpook intercepts and mocks HTTP traffic for…
permissive · top 15,000 on PyPI
httpwatcherhttpwatcher is a simple HTTP server and library…
permissive · top 15,000 on PyPI
gunicornGunicorn is a WSGI and ASGI HTTP server for…
permissive · top 1,000 on PyPI
mitmproxymitmproxy is an interactive, SSL/TLS-capable…
permissive · top 5,000 on PyPI