[PR #3056] [MERGED] Add httptap #9024

Closed
opened 2026-04-18 23:01:20 -05:00 by GiteaMirror · 0 comments
Owner

📋 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: masterHead: patch-1


📝 Commits (2)

📊 Changes

1 file changed (+1 additions, -0 deletions)

View changed files

📝 README.md (+1 -0)

📄 Description

Project

httptap

Checklist

  • One project per PR
  • PR title format: Add project-name
  • Entry format: - [project-name](url) - Description ending with period.
  • Description is concise and short

Why This Project Is Awesome

Which criterion does it meet? (pick one)

  • Industry Standard - The go-to tool for a specific use case
  • Rising Star - 5000+ stars in < 2 years, significant adoption
  • Hidden Gem - Exceptional quality, solves niche problems elegantly

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=value metrics — whichever fits the context.

Signals of real-world maturity despite a modest star count (485 in 6 months):

  • PyPI releases (https://pypi.org/project/httptap/) with automated SLSA v1.0 build provenance and Sigstore keyless signing — verifiable via gh attestation verify.
  • OpenSSF Best Practices silver (project 12474) and OpenSSF Scorecard ~9/10: pinned dependencies, strict token permissions, CodeQL SAST, signed releases.
  • Full docs site at https://docs.httptap.dev — getting-started, API reference, troubleshooting, assurance case.
  • Clean Python API (httptap.HTTPTapAnalyzer) with Protocol interfaces for DNS, TLS, timing, visualizer, and exporter — usable programmatically, not CLI-only.
  • Production-oriented output modes: --json for post-hoc analysis, --metrics-only for log pipelines, per-step timings for redirect chains.
  • curl-compatible flag aliases (-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 in
Debugging 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) or curl -w, both non-Python and without a library
API.

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.

## 📋 Pull Request Information **Original PR:** https://github.com/vinta/awesome-python/pull/3056 **Author:** [@ozeranskii](https://github.com/ozeranskii) **Created:** 4/12/2026 **Status:** ✅ Merged **Merged:** 4/13/2026 **Merged by:** [@JinyangWang27](https://github.com/JinyangWang27) **Base:** `master` ← **Head:** `patch-1` --- ### 📝 Commits (2) - [`f4201b8`](https://github.com/vinta/awesome-python/commit/f4201b85db50bbeab1d49b1e60351b598b4f99ff) Add httptap to Debugging Tools - [`985400c`](https://github.com/vinta/awesome-python/commit/985400cac34d86240ae3d747af568bff9e5ded82) Update README.md ### 📊 Changes **1 file changed** (+1 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) </details> ### 📄 Description ## Project [httptap](https://github.com/ozeranskii/httptap) ## Checklist - [x] One project per PR - [x] PR title format: `Add project-name` - [x] Entry format: `- [project-name](url) - Description ending with period.` - [x] Description is concise and short ## Why This Project Is Awesome Which criterion does it meet? (pick one) - [ ] **Industry Standard** - The go-to tool for a specific use case - [ ] **Rising Star** - 5000+ stars in < 2 years, significant adoption - [x] **Hidden Gem** - Exceptional quality, solves niche problems elegantly 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=value` metrics — whichever fits the context. Signals of real-world maturity despite a modest star count (485 ⭐ in 6 months): - **PyPI releases** (https://pypi.org/project/httptap/) with automated **SLSA v1.0 build provenance** and **Sigstore keyless signing** — verifiable via `gh attestation verify`. - **OpenSSF Best Practices silver** (project 12474) and **OpenSSF Scorecard ~9/10**: pinned dependencies, strict token permissions, CodeQL SAST, signed releases. - Full docs site at https://docs.httptap.dev — getting-started, API reference, troubleshooting, assurance case. - Clean Python API (`httptap.HTTPTapAnalyzer`) with Protocol interfaces for DNS, TLS, timing, visualizer, and exporter — usable programmatically, not CLI-only. - Production-oriented output modes: `--json` for post-hoc analysis, `--metrics-only` for log pipelines, per-step timings for redirect chains. - curl-compatible flag aliases (`-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 in *Debugging 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) or `curl -w`, both non-Python and without a library API. This is why it is proposed under **Debugging Tools → Network** (new subcategory) rather than HTTP Clients. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-18 23:01:20 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-python#9024