mirror of
https://github.com/vinta/awesome-python.git
synced 2026-05-07 14:17:36 -05:00
[PR #3056] [MERGED] Add httptap #4404
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/3056
Author: @ozeranskii
Created: 4/12/2026
Status: ✅ Merged
Merged: 4/13/2026
Merged by: @JinyangWang27
Base:
master← Head:patch-1📝 Commits (2)
f4201b8Add httptap to Debugging Tools985400cUpdate README.md📊 Changes
1 file changed (+1 additions, -0 deletions)
View changed files
📝
README.md(+1 -0)📄 Description
Project
httptap
Checklist
Add project-name- [project-name](url) - Description ending with period.Why This Project Is Awesome
Which criterion does it meet? (pick one)
Explain:
httptap solves one narrowly-scoped problem every backend developer eventually hits: "my API is slow — where is the time going?" It dissects a single HTTP request into DNS resolution, TCP connect, TLS handshake, server wait (TTFB), and body transfer phases, and renders the timings as a Rich waterfall, a compact single-line summary, or machine-readabl
key=valuemetrics — whichever fits the context.Signals of real-world maturity despite a modest star count (485 ⭐ in 6 months):
gh attestation verify.httptap.HTTPTapAnalyzer) with Protocol interfaces for DNS, TLS, timing, visualizer, and exporter — usable programmatically, not CLI-only.--jsonfor post-hoc analysis,--metrics-onlyfor log pipelines, per-step timings for redirect chains.-X,-L,-k,-x,-H) so it drops into existing shell scripts.Repository is ~6 months old (created 2025-10-22) with consistent weekly commits and 30+ commits in the last 90 days.
How It Differs
Existing entries in HTTP Clients (
aiohttp,httpx,requests,urllib3,furl) are general-purpose libraries for issuing requests — none break a request down into per-phase timings. Existing entries inDebugging Tools (
py-spy,scalene,pudb, etc.) profile CPU, memory, or control flow of Python code — none profile the network phases of an HTTP exchange.httptap fills the gap between these two categories: it is a diagnostic / debugging tool specifically for HTTP request latency (DNS → TCP → TLS → TTFB → transfer), which is a recurring source of production
incidents that general HTTP clients cannot diagnose and general profilers cannot see. Closest conceptual sibling outside Python is
httpstat(a curl wrapper) orcurl -w, both non-Python and without a libraryAPI.
This is why it is proposed under Debugging Tools → Network (new subcategory) rather than HTTP Clients.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.