# Feature catalog — encode/httpx

> Canonical page: https://codevetter.com/unpack/httpx/feature-catalog

# Feature catalog — encode/httpx

Scanned commit b5addb64f0161ff6bfe94c124ef76f6a1fba5254 (2026-02-23). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The user-facing surface consists of library APIs and a single HTTP request CLI. Library callers can choose convenience helpers or reusable clients, customize request construction, and consume buffered or streaming responses. Protocol, proxy, authentication, and in-process application integrations share the client model. The following eight groups describe capabilities supported by the inspected implementation.
- The top-level API exports get, options, head, post, put, patch, delete, request, and stream; generic request accepts body content, form data, files, JSON, query parameters, headers, cookies, and authentication. — [httpx/_api.py#L26-L56](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_api.py#L26-L56) [httpx/_api.py#L102-L120](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_api.py#L102-L120)
- Reusable clients combine default headers, query parameters, and cookies with request values, append relative paths to base_url, retain cookies, and offer synchronous or awaited request methods. — [httpx/_client.py#L340-L443](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_client.py#L340-L443) [httpx/_client.py#L1751-L1778](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_client.py#L1751-L1778) [docs/advanced/clients.md#L21-L28](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/docs/advanced/clients.md#L21-L28)
- Response offers decoded bytes, text, JSON, links, cookies, HTTP metadata, status predicates, and explicit raise_for_status(); the latter raises for any non-success response and requires an associated request. — [httpx/_models.py#L611-L672](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_models.py#L611-L672) [httpx/_models.py#L794-L852](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_models.py#L794-L852)
- Uploads support raw strings/bytes, sync or async byte iterables, URL-encoded forms, compact UTF-8 JSON, and multipart files with optional filename, content type, and per-part headers. — [httpx/_content.py#L107-L157](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_content.py#L107-L157) [httpx/_content.py#L176-L218](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_content.py#L176-L218) [httpx/_multipart.py#L122-L169](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_multipart.py#L122-L169)
- Streaming responses expose raw bytes, decompressed bytes, incremental text and lines, plus corresponding async methods; gzip/deflate are built in and Brotli/Zstandard decoders depend on installed extras. — [httpx/_models.py#L884-L959](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_models.py#L884-L959) [httpx/_models.py#L982-L1035](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_models.py#L982-L1035) [httpx/_decoders.py#L381-L393](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_decoders.py#L381-L393)
- Authentication supports Basic, Digest, explicit NetRCAuth, callable request transforms, and custom Auth flows. Redirect following is optional, with history and next_request available for automatic or manual navigation. — [httpx/_auth.py#L19-L32](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_auth.py#L19-L32) [httpx/_auth.py#L113-L172](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_auth.py#L113-L172) [httpx/_auth.py#L193-L222](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_auth.py#L193-L222) [httpx/_client.py#L964-L999](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_client.py#L964-L999)
- Transport configuration exposes HTTP/1 and opt-in HTTP/2, HTTP/HTTPS/SOCKS proxies, TLS contexts, four timeout categories, connection limits, socket options, local addresses, Unix sockets, and connection-error retries; ASGI/WSGI transports call local apps. — [httpx/_transports/default.py#L135-L210](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_transports/default.py#L135-L210) [httpx/_config.py#L72-L138](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_config.py#L72-L138) [docs/advanced/transports.md#L1-L23](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/docs/advanced/transports.md#L1-L23) [httpx/_transports/asgi.py#L63-L97](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_transports/asgi.py#L63-L97)
- The CLI accepts URL, method, body/query/header/cookie/auth options, proxy, timeout, redirects, TLS verification toggle, HTTP/2, download destination, and verbose tracing; it renders text/JSON or a binary-size summary and exits according to response success. — [httpx/_main.py#L41-L99](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_main.py#L41-L99) [httpx/_main.py#L170-L186](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_main.py#L170-L186) [httpx/_main.py#L475-L506](https://github.com/encode/httpx/blob/b5addb64f0161ff6bfe94c124ef76f6a1fba5254/httpx/_main.py#L475-L506)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
