# hxprobe Per-phase HTTP latency probe built on [httpx](https://www.python-httpx.org/), matching Go's `http.DefaultClient`: HTTP/2 negotiated via ALPN, redirects followed by default, connection pooling, and default TLS verification — while reporting a six-phase timing breakdown (DNS, TCP connect, TLS, TTFB, Transfer, Total). This is a fully self-contained project: no imports outside this directory, own `pyproject.toml`, own lockfile (`uv.lock`). It can be copied out of its parent repo and used standalone. See [docs/usage/hxprobe.md](../docs/usage/hxprobe.md) in the parent repo for full flag reference, example output, and design notes (redirect semantics, a TTFB-accuracy finding worth knowing about). ## Quick start Requires [uv](https://docs.astral.sh/uv/). ```sh uv sync # create .venv, install deps + lockfile uv run python -m hxprobe https://example.com uv run python -m hxprobe -v http://github.com # verbose: shows HTTP/2, redirects, TLS, cert ``` ## Development ```sh uv run pytest tests -m "not integration" -v # hermetic unit tests uv run pytest tests -m integration -v # live tests (hits the real internet) uv run ruff check . # lint uv run ruff format . # format ``` From the parent repo's root, the equivalent Makefile targets are `make hx-run`, `make hx-test`, `make hx-test-integration`, `make hx-lint`, `make hx-fmt`, and `make hx-check` (lint + hermetic tests).