Skip to main content

A 1:1 Rust port of httpx — same API, faster execution.

Project description

httpxr

CI PyPI version Python versions Docs

A 1:1 Rust port of httpx — same API, faster execution.

📖 Documentation · 📦 PyPI · 🐙 GitHub · 🤖 llm.txt

[!NOTE] 🤖 AI-Generated — Every line of Rust, Python, and configuration in this project was written by an AI coding agent powered by Claude Opus 4.6. The iterative process of getting all 1300+ tests to pass involved human oversight — reviewing agent output, steering direction, and deciding next steps — so this was not a press-button-and-done affair. Read the full story →


What is httpxr?

httpxr is a faithful port of the httpx HTTP client with one goal: make it faster by replacing the Python internals with Rust. The Python API stays identical — swap import httpx for import httpxr and everything just works, but with the performance benefits of native Rust networking, TLS, and compression.

The networking layer is reimplemented in Rust:

Layer Technology
Python bindings PyO3
Async HTTP reqwest + tokio
Sync HTTP reqwest + tokio
TLS rustls + native-tls
Compression gzip, brotli, zstd, deflate (native Rust)

Zero Python Dependencies

Unlike httpx (which depends on httpcore, certifi, anyio, idna, and optional packages for compression), httpxr has zero runtime Python dependencies. Everything — HTTP, TLS, compression, SOCKS proxy, IDNA encoding — is handled natively in Rust.


Benchmarks

All benchmarks run against 10 HTTP libraries on a local ASGI server (uvicorn), 100 rounds each. Scenarios: Single GET, 50 Sequential GETs, 50 Concurrent GETs.

HTTP Library Benchmark

📊 Interactive version → with full hover/zoom

Summary (median, ms — lower is better)

Scenario httpxr httpr pyreqwest ry aiohttp curl_cffi urllib3 rnet httpx niquests
Single GET 0.20 0.12 0.10 0.18 0.24 0.23 0.30 0.34 0.38 0.39
50 Sequential GETs 7.84 6.52 6.33 8.98 10.73 12.91 15.17 17.76 18.78 19.65
50 Concurrent GETs 5.23 7.31 6.56 6.23 7.85 12.31 16.26 10.15 70.23 21.14

Key takeaways:

  • httpxr is the fastest full-featured httpx-compatible client — on par with raw Rust libraries
  • #1 under concurrency — faster than all other libraries including httpr, pyreqwest, and ry
  • ~2.4× faster than httpx for sequential workloads
  • ~13× faster than httpx under concurrency (GIL-free Rust)
  • Competitive with bare-metal libraries (pyreqwest, ry) while offering the full httpx API

Why httpxr is slightly slower on Single GET

Libraries like httpr and pyreqwest achieve lower single-request latency (~0.10-0.12ms) because they return minimal response objects — essentially just status + bytes + a headers dict. They are not full httpx drop-in replacements.

httpxr returns full httpx-compatible Response objects with:

  • Parsed URL with scheme/host/path/query components
  • Headers (multidict with case-insensitive lookup)
  • Request back-reference, redirect history, elapsed timing
  • Event hooks, auth flows, cookie persistence, transport mounts

This ~0.08ms of extra per-request overhead is the cost of 100% API compatibility with httpx. Under real-world workloads (sequential/concurrent), httpxr's Rust transport layer dominates and beats httpx in both scenarios.

# Reproduce benchmarks locally:
uv sync --group dev --group benchmark
uv run python benchmarks/run_benchmark.py

Quick Start

pip install httpxr

To also install the optional CLI:

pip install "httpxr[cli]"

Sync:

import httpxr

with httpxr.Client() as client:
    r = client.get("https://httpbin.org/get")
    print(r.status_code)
    print(r.json())

Async:

import httpxr, asyncio

async def main():
    async with httpxr.AsyncClient() as client:
        r = await client.get("https://httpbin.org/get")
        print(r.json())

asyncio.run(main())

API Compatibility

httpxr supports the full httpx API surface:

  • Client / AsyncClient — sync and async HTTP clients
  • Request / Response — full request/response models
  • URL, Headers, QueryParams, Cookies — all data types
  • Timeout, Limits, Proxy — configuration objects
  • MockTransport, ASGITransport, WSGITransport — test transports
  • Authentication flows, redirects, streaming, event hooks
  • HTTP/1.1 & HTTP/2, SOCKS proxy support
  • CLI via httpxr command (requires pip install "httpxr[cli]")

httpxr Extensions

Beyond the standard httpx API, httpxr adds features that leverage the Rust runtime:

gather() — Concurrent Batch Requests

Dispatch multiple requests concurrently with a single call. Requests are built in Python, then sent in parallel via Rust's tokio runtime with zero GIL contention.

with httpxr.Client() as client:
    requests = [
        client.build_request("GET", f"https://api.example.com/items/{i}")
        for i in range(100)
    ]
    responses = client.gather(requests, max_concurrency=10)
Parameter Default Description
max_concurrency 10 Max simultaneous in-flight requests
return_exceptions False Return errors inline instead of raising

paginate() — Auto-Follow Pagination

Automatically follow pagination links across multiple API responses.

# Follow @odata.nextLink in JSON body (Microsoft Graph)
pages = client.paginate("GET", url, next_url="@odata.nextLink")

# Follow Link header (GitHub-style)
pages = client.paginate("GET", url, next_header="link")

# Custom extractor function
pages = client.paginate("GET", url, next_func=my_extractor)
Parameter Default Description
next_url JSON key containing the next page URL
next_header HTTP header to parse for rel="next" links
next_func Custom Callable[[Response], str | None]
max_pages 100 Stop after N pages

Both methods are available on Client (sync) and AsyncClient (async). See examples/gather.py and examples/paginate.py for full examples.

Raw API — Maximum-Speed Dispatch

For latency-critical code, get_raw(), post_raw(), put_raw(), patch_raw(), delete_raw(), and head_raw() bypass all httpx Request/Response construction and call reqwest directly.

with httpxr.Client() as client:
    status, headers, body = client.get_raw("https://api.example.com/data")
    # status:  int (e.g. 200)
    # headers: dict[str, str]
    # body:    bytes

These accept url (full URL, not path), optional headers (dict), optional body (bytes, for POST/PUT/PATCH), and optional timeout (float, seconds).


Test Suite

The port is validated against the complete httpx test suite1303 tests across 30+ modules, ported 1:1 from the original project.

Behavioral Differences

Difference Detail Why it's OK
Header ordering Default headers sent in different order Headers are unordered per RFC 9110 §5.3
MockTransport init Handler stored differently internally Test logic and assertions unchanged

Test Modifications (6 files)

Change Original New Reason
User-Agent python-httpx/… python-httpxr/… Reflects actual client identity
Logger name "httpx" "httpxr" Logs should identify the actual library
Timeout validation Timeout(pool=60.0) raises Succeeds PyO3 framework limitation
Test URLs Hardcoded port Dynamic server.url Random OS port in test server
Write timeout Catches WriteTimeout Catches TimeoutException Rust transport may buffer writes via OS kernel, surfacing timeout on read instead of write

Development

git clone https://github.com/bmsuisse/httpxr.git
cd httpxr
uv sync --group dev
maturin develop
uv run pytest tests/
uv run pyright

A pre-push hook runs pytest and pyright automatically before every push.


How It Was Built

Every line of code in this project was written by an AI coding agent powered by Claude Opus 4.6. The iterative process — running tests, reading failures, fixing the Rust implementation, rebuilding — was guided by human oversight: reviewing agent output, steering direction, and deciding what to tackle next. This was not a fully autonomous "press button and done" workflow, but a human-in-the-loop collaboration where the AI did the coding and the human kept it on track. Still, the project demonstrates what becomes possible when an AI agent is given a clear, measurable goal — and hints at a near future where this kind of work runs fully autonomously.

Why build another Rust HTTP library? Great Rust-powered Python HTTP clients already exist — pyreqwest, httpr, rnet, and others. This project was never about reinventing the wheel. It started as an experiment to see how well an AI coding agent performs when given a clear, well-scoped goal in a domain with established solutions. The two objectives — pass every httpx test and beat httpx in benchmarks — provided a tight feedback loop to push the agent's capabilities. Along the way the result turned into a genuinely useful library, so here it is. 🙂

The agent was given two objectives and iterated until both were achieved:

Phase 1: Correctness — Pass All httpx Tests

The complete httpx test suite (1300+ tests) served as the specification. The agent ported each test module, ran pytest, read the failures, fixed the Rust implementation, rebuilt, and repeated — across clients, models, transports, streaming, auth flows, and edge cases — until all 1303 tests passed.

Phase 2: Performance — Beat the Benchmarks

With correctness locked in, the agent ran benchmarks against 9 other HTTP libraries, profiled the hot path, and optimized: releasing the GIL during I/O, minimizing Python ↔ Rust boundary crossings, batching header construction, reusing connections and the tokio runtime. Each cycle was followed by a test run to ensure nothing regressed.

The iterative loop — correctness first, performance second, verify both continuously — produced a client that is fully compatible with httpx while being 2.4× faster sequentially and 13× faster under concurrency.

📖 Full development story →


License

Licensed under either of:

at your option.

This project is a Rust port of httpx by Encode OSS Ltd, originally licensed under the BSD 3-Clause License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

httpxr-0.30.3.tar.gz (6.7 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

httpxr-0.30.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

httpxr-0.30.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

httpxr-0.30.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

httpxr-0.30.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

httpxr-0.30.3-cp314-cp314t-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp314-cp314t-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp314-cp314-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.14Windows x86-64

httpxr-0.30.3-cp314-cp314-musllinux_1_2_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp314-cp314-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

httpxr-0.30.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

httpxr-0.30.3-cp314-cp314-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

httpxr-0.30.3-cp314-cp314-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

httpxr-0.30.3-cp313-cp313t-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp313-cp313t-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp313-cp313-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.13Windows x86-64

httpxr-0.30.3-cp313-cp313-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp313-cp313-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

httpxr-0.30.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

httpxr-0.30.3-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

httpxr-0.30.3-cp313-cp313-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

httpxr-0.30.3-cp312-cp312-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.12Windows x86-64

httpxr-0.30.3-cp312-cp312-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp312-cp312-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

httpxr-0.30.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

httpxr-0.30.3-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

httpxr-0.30.3-cp312-cp312-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

httpxr-0.30.3-cp311-cp311-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.11Windows x86-64

httpxr-0.30.3-cp311-cp311-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp311-cp311-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

httpxr-0.30.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

httpxr-0.30.3-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

httpxr-0.30.3-cp311-cp311-macosx_10_12_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

httpxr-0.30.3-cp310-cp310-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.10Windows x86-64

httpxr-0.30.3-cp310-cp310-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

httpxr-0.30.3-cp310-cp310-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

httpxr-0.30.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

httpxr-0.30.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file httpxr-0.30.3.tar.gz.

File metadata

  • Download URL: httpxr-0.30.3.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpxr-0.30.3.tar.gz
Algorithm Hash digest
SHA256 1177ae6cbd8b0bb1ab248e3320d684db6176811a6dd2f0e4e6f06d1ae75bd329
MD5 5f3e8800f520f53c1764fb7ed5f06915
BLAKE2b-256 c2726b5d033cd20d598ef9799c153d3def75cdfa9ee86db3c5752d10853e4f2b

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c5844b156f4c47a0adc8f6fd01b8c6758f8892124041d643da87f50cc23db38a
MD5 1414d15d4e9a911e99101ad768b52ad4
BLAKE2b-256 0719497a958891ff2d1e1ab0227cf9764d46a206c9b57090807406f88cf30be0

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3c1f4ec5d5d32f9f08218540aafddd9c9b6600260a6e085c25301c09884872a2
MD5 c3aa77a31f580f441181b4608f36ea2c
BLAKE2b-256 8ed583b7977c41c1c16baa6b93e6b916c2e8ce80c476a672783298ddd08b9461

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 555873e9563dcc1299268f24f16401dd69e1c6ce30f372843d1aa38223497a15
MD5 61705245d1e0211e5609087c6d7bdbaa
BLAKE2b-256 015c1b8f813845846355980794cda94f1dfc6c8b1a5b3fc1df3f34f336185244

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 18876f35f880dc7802b9933a1bbd5bfe8de69da1c56d8a3080010c8dba0bb5b9
MD5 7535477a23c08d368bb57ac5c9442712
BLAKE2b-256 a6cefbb5d83b78b0917a6c0dc8db28b7fd08e29487cee1a95903893d3d0bb6e3

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cb22e356ff69d34df88c2f7ca7936faf00bb6f97c6bd7d35038680a09bff0f98
MD5 1a3902e45dd2e934fa87b9124d1ab096
BLAKE2b-256 006108735183013e0b57057b3d08efc5c356dbaf0ebaf0dfe2f1654c86c8ee35

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 214d7f456bd19b5c6ed483682fe5a10f1c69d4210cda07a9d0fa284ac0740ef7
MD5 4c3fbae7ee3033501f0fab2c17c0b7e4
BLAKE2b-256 d0d03853ed234bd365b0d9cd8e64207260e2ab38d86de57187c6b7b88c2a1b7d

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: httpxr-0.30.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 43213058d9d80a3b916cba5178e0a23c7492ae24683798625d4a37e400e4e46c
MD5 bc62f2f05939b4155e966b1905334b77
BLAKE2b-256 c76094e7d44593100a480773bbbdd56ecb02f5e11d2054f51bc619b735151de0

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1fd9f96a9fe3d020e17a510232755d46143a3863d543d36de9a3baa87b891391
MD5 982025551a31d882249bbe6a2e5126fc
BLAKE2b-256 b7bf4608e5a1aabdfe4daf60ec58708e67286e4b42b0e5503f43a9170ba47863

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 527eb589c6f01a7d668e35b0aa11c3b92d14ce03c2ef354e0b7aed09a47d9906
MD5 dc71e85ed538b6eeb4b87a649cb76122
BLAKE2b-256 da1b37755a8174a989390ce6f8afd0be10c294fa7330414f0971b29cb40ab200

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cfc2fafa7357cf61ce4979aded5690086199365242a37ae160ff964c80182bc
MD5 2e5f11061c4079605674242fa869eb5d
BLAKE2b-256 39557c8a04b0d7446ef9e70453e2763cb3e1e5da0be570ec8b5a2e9737d2d4ff

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 80aa9b6785f4abfaf0f9ceef479e39478d7869692c6d9eaaa3824831d02862d5
MD5 d747c4c362a2e38142e5c9f62cd9c0ee
BLAKE2b-256 82fb73b159e81d66a7a1d991aa4ce160946f4811655f9f2048b5b232ca9895c7

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 91031003878918e309977371f05f98cf323cf29d29388c2958e6ea91e8d368fe
MD5 1b37e48ca92be848a7a7547ab2d2ff6e
BLAKE2b-256 0d2242db196623d562e46d7cd74215003ef8e48014e9392f92fd2c8b1c8fd982

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1cb97ec0b8678c123125679f0c692b714d4edeedc7454e9220f65df87ee85356
MD5 3b4d5941aae16b137c71613c10248a46
BLAKE2b-256 51233ce599637dad2ed3e2d4e02cbfa1aa5d879e09352f1bf6e3bb8d42b84a6b

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49a0e93889ac65c293dc15cb717a0e50b47c8b0cb40984ee4636b5b2184880b5
MD5 e318445ce26b95ec33614cec5febe4ca
BLAKE2b-256 a57b8afbf677049baa40b73725f8401ae469aab39574f9cf31ca3423fd164d65

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8d0fcaf5cfaeca2eda06ce842ee80626c1bcd9a4ad768b2266826af53655d953
MD5 fd96959eadd89bdb47dc5635069870e6
BLAKE2b-256 ed5d15774fe9054ea164ea3449ea4c097986cf78d180459a85204773c352562d

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: httpxr-0.30.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 437ed6fbfc62440b82f7b1c77c0e8fedfbf0d64ac9520f6dd77b5f1e2910c9ec
MD5 fedc46c0ebbe8b6804afc1b1462f10f2
BLAKE2b-256 f8feed725bdc54200a73ca74db1931c57882d43389633bc04f900f4a34b961e5

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b438372271e6686d12c74a0bc9d9c76f59982a4afbf503919d4b0b1b0c11e2de
MD5 3a7312c1328fd77958c96480eadfa35d
BLAKE2b-256 5be78b0bc2c177b040b9b7329699a89780040e764b496f1b3872a7b6afba8251

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cd75d678a84695cfe5f4cb70e97d855ecdcf4d3bddaca57c21365213b0038d27
MD5 40f13f4fb170a6342b0862e97c72229f
BLAKE2b-256 c3841130568465588dbe80e41c8e3a54e021a6a9c0e34b698439105804afd17a

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d70f4cb1ca36c234a891148acfe864817d4237e75012bef5d5beca7e24c9be2
MD5 9114b329eafae179fa65ea82556bb587
BLAKE2b-256 745cf205f4e39f257237fd0fef5be80f988a00d73439de4dd14e14f0c142e2e6

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e88a6ecbf068953991a4f6d20ae5020bced997b5092eecc3d752532519d6d63c
MD5 54a2be06532b7a616783984ddf246f4e
BLAKE2b-256 1a67170f612336bca8253829b70c9b08dc66a8777b7d4bfe9824251093ccd069

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e8733205b2c7ce1b04bcaf4b36c5e0173a1dff08e627cd56fcc741ce7f31ec0
MD5 a3977fd488659bf57d2b35435497e38f
BLAKE2b-256 8d27edbc1ae89ab805d9c6f8d503589468623b470304b159cdf8d53ffa10ed18

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c477c87ffb765fee76654cdd22a35f97518f58561e4e8d34bdd831bd03d2bfc0
MD5 8e88a55f660d57c838be0a2263d01283
BLAKE2b-256 ada31b65f078dc3a72237300b28ee3604107ef2d2c99c3367ef7c0e5ffeb62d2

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: httpxr-0.30.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4b0f93fb3e43cace05105daadb567f45ff73cb37c2f68579850192bc5e19f312
MD5 cd08be62c6244e27de7cee40c9782dd4
BLAKE2b-256 6881fd46fba6b2413ad0d7007323f4f0eacad6b142d45a4da13e488a925721ad

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4c5e5a71bdbc9c7f5463d9b8ae0e9bd13f6db92f89e3aaab30b7ed029309437f
MD5 ce6bb5d16513d4308ee3843dd0c1f689
BLAKE2b-256 a4adf4394e5ec6aa11ce4dd6ba300fa381eca6f93786ee9aaf79d1b0e91b9596

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c75360a08bb16999581d863279039361ffa4b85d54f619d516941cdc8a6ebd50
MD5 4c109d7a1f77319b0f92d797e377a672
BLAKE2b-256 4fad065c5b900df8d64c9323964adc14ebb1a1f7d9d0e9fb2c67fde10cdd13a1

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d63f9109cc8cca63dd8309ab385d87373cec25d2cd080b0c2a6cf3a1daa0c70
MD5 5ccc8277a8a329dc1b0d1097a8c44ee9
BLAKE2b-256 e73c9ad94cba2374b801c6510b7e07c62c01d37e8a182f5c9e1a66342188df66

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2b963e8481ce12068623c1fdabdb722e7d69f7c750637ae8967fe9dac6341952
MD5 c2c1fb6d0aa5ca4793064a530707d3d0
BLAKE2b-256 f1bae98711447d523be0d2950c3a4a55e230609416ae145f775899732a063e18

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4e74fc5c8395f3b952261e478f3613ad212eeebb395618ed15331c15ccb263a
MD5 329178859a0c934ccd6244eb1241848a
BLAKE2b-256 568662bd4aaac5be555fc69d6fd7db13b31e7318b6c5e7718f271e9373a0ae59

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8c8705d71a9991c40f09923b8fefde24a3e168394c9f1edba614699e874a0758
MD5 3b38c2dae4ec577576c90417c623b99f
BLAKE2b-256 25de2fe767c1f87ed5987a4c6ddfa58489b3124faf646d7fe5c6f777caca5ee7

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: httpxr-0.30.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fc426974fe4f3e6fc7c6f451ab60c1be80408e1e527ebd7e0b98a1fb763719b0
MD5 398e5f5c46ed28fd46fa9572cea65cf6
BLAKE2b-256 64289b9b92a9a95acdbf65644bdf53502319ac676cf76cb93c15af080c001553

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cca7cab72ae876c875cf3c78affe59f19847b30804b266b2973088e9e0d76e22
MD5 b39a1006ce337a48c6b5aa54f3a59258
BLAKE2b-256 61d0ffbe2f7a19e63d87a3191e1df997afffcf9eb9bcc1767aabf33de88157ff

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4ce49f6ffe5b1ebffedbbf57d107b50b4012d761d36fc7228fe4633291dab4ca
MD5 596c847d03d8e1e9e810d1fd10ddc504
BLAKE2b-256 7049567ffdbf990c93b20426feedf65932b1d05aed25395e88c448414f429022

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fe78e8f33716080ec57bdecd80141940550d81976a844cbdd866dcf330dbe5eb
MD5 c065b578b77b36a2085ff25a1249cda1
BLAKE2b-256 ebc2fda527966905f34734de6180a102ae9833469bf0bfe14f1123a5158bfcc8

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 92b970063ecd0660dd2457a0ac1e922e6e393652009c7b9e0a3b07ee1542e68b
MD5 00a859c9bec62dd1d13f687aa762a152
BLAKE2b-256 c51e9f850fdad1eb464a5cebff91fcb6dfd71ee138cca6c44bb38ac0e6a0ac28

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8f0922383b82c09c050843d66015c02572e83403f73a7458b671181bde86ddd
MD5 b034328b2ca419546f696b12c1094fc0
BLAKE2b-256 68bf259c0129e463e27e7a62671683f5fbbfca568a9bae902b02ac3a65c9ee80

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1cd93af7e9ff4d42a7d2721553f7fd85dc37f5778b9c5bf3b6e3b2efc1e01d18
MD5 278cbe305317be540e34d587cacc2887
BLAKE2b-256 7a3156d5ffd94fef53b908b28f52b2422ee3334adb8a739bd45ffbcfd7a78546

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: httpxr-0.30.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for httpxr-0.30.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f4be15e93890c4b9c6a706a78bc0cf2792e0a7555d53f64e414b4c29c7084a38
MD5 15d7d573c2d0d9d74a775f52faba45ca
BLAKE2b-256 f9239478f44740c1054efb2f87d1bab6fcf6b1487e4b6472590652c335226195

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9797f7bc2c7b9ae6d4889e05c1a6927c4b2483ba79ea45d39969f03aca7a325a
MD5 c841559b654700c9081a8ae3d9ce5b9d
BLAKE2b-256 8c0ca573ce627e8be9ba70f07c551ac70f16fcbf6b385ca8a199a8b84d015aae

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 91a1e1550f715f3482f750859a507cb3424a515000ae18ddb679fcb21f7454c2
MD5 fdd60e7c081af0296a6e335bf2519955
BLAKE2b-256 0cbf8b3bfa26a9885d67658027677889f95c7a551e4aaaad25888043e4934f24

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dcc7966823a7127f212732c7c5330510c4edacbc0f83e424faa45c74ef7bef73
MD5 f6da277dc389a4e574693db0d52c4da7
BLAKE2b-256 22aa608c189eda0121383c51743b53f728b6e90b711c195184ac5575a2a07948

See more details on using hashes here.

File details

Details for the file httpxr-0.30.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpxr-0.30.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ad3542f0a185cdd80289e2c23966a9ea73e6be43277561f2a2074005ac4de739
MD5 fe4ad202fbebe106745c55fd7a52624e
BLAKE2b-256 e269f06bdeb4b13c590310ee038f0839a0c5b823cfd443b739440cc39bba13bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page