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] 🤖 100% AI-Generated — This entire project was autonomously created by an AI coding agent powered by Claude Opus 4.6. Every line of Rust, Python, and configuration was written, debugged, and tested entirely by AI. 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

This entire project was autonomously created by an AI coding agent powered by Claude Opus 4.6 — no human wrote any code.

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.1.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.1-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.1-cp314-cp314t-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpxr-0.30.1-cp314-cp314-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

httpxr-0.30.1-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.1-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.1-cp314-cp314-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.12+ x86-64

httpxr-0.30.1-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.1-cp313-cp313t-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

httpxr-0.30.1-cp313-cp313-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.13Windows x86-64

httpxr-0.30.1-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.1-cp313-cp313-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

httpxr-0.30.1-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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

httpxr-0.30.1-cp312-cp312-win_amd64.whl (2.8 MB view details)

Uploaded CPython 3.12Windows x86-64

httpxr-0.30.1-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.1-cp312-cp312-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

httpxr-0.30.1-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.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: httpxr-0.30.1.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.1.tar.gz
Algorithm Hash digest
SHA256 e94b49f005358b528ad58fe72c82f8031ff042040071744cbb53c043255f81d4
MD5 01bd934a5780333d27d6157b8aa9fc0f
BLAKE2b-256 aee7cd05b3f523a3d6364fa79bae11dd78943f2c99a9ad8bf30a84f7daf9be9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e98d691d467e29c20f8a87d83308251e264c58bdddfc50a60f632df582d577cb
MD5 6a17a00d10cd667eeda613ce1e60a5af
BLAKE2b-256 4629c341801b76a80dddd1acf1ba7fa7fffb7e3216d466bf4f2d812a286a0161

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 df7520fb407ab3f4cd295f3a0f6586a0adbe1f50980ef75627caf1c902c3328f
MD5 8988a64f391d303f92aa67be140e0463
BLAKE2b-256 c99d4b84d522d814f9ed1c38ea6e2639614f383979a565f13fd6528fa877a2e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.30.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ef869e71ef4ff7942db526a1deea720767fb9226513638195189173391b6250f
MD5 bbcbae2bdf9652cae6e6ab5b1f6cf89d
BLAKE2b-256 c34f59df3c07cc553892d5a8312ecc5dcf1ae5d1fda15560f43f8896943440a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b745a03294290951bec84c270038443d8b00cdfaaafff64be6914fdd7d6ab13f
MD5 56bd57709cdec4bb2e44dce3dc43ee8b
BLAKE2b-256 1caf1524455bd2d592212b107a7a674b63dbc9d36dcb83c8a9cd212bd7710bd9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e03a294e865b9ec5e300aa367234c255e732cf8feba9ec770f730444ab7c7fb9
MD5 523a5d42143745f432f8c6f7645d6ac3
BLAKE2b-256 bdbed8a7ff22c09ffdd0f19fbdeb89e6e1d833e5ca207335b79ccd1d202296fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4d51b4600148fe5fe355b89d63f01a374969dd010e9619cb43c906cdb307b84
MD5 0abaf034d41cc61f2d1978e095a0bb2d
BLAKE2b-256 412bbbf4e1e1e15c58d424449b1d8ac64d164169a0124a9bbbc056df51068f97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c9ef965d57c008c75f4609da90a18ffc19279784aa61e5cdaa8b253f48fe7acf
MD5 a1c53a84dd648b5d3b6359ea1323342e
BLAKE2b-256 9a2b043af12f1bdbad659106c920df8ff809545fb5f0c305937c36bd3db02ffb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc361c915b0307ca058d6022689822008b6d0a01fc4e32ae4d48a8a71a6a7194
MD5 8022d4fcd82b08f8fdb35e1baae1553a
BLAKE2b-256 de4e75c1141425faad337fd4eb855847fe94df076c25dab2331e2bf58697276a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d4c34de7f7855789f3c7e2432c1c2777b81844d027f376da6200c7e97e526bb9
MD5 42dda11ddaecf0104182956ddf65bfd5
BLAKE2b-256 319cfc7020fbc653b4969fd605af3deb1f8466e8f23c93e847466a3b47f242f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 758f0a1d43ebc249a7a379f2260b2902ed08aa52e4c1e8a3dd67d49617b68f3c
MD5 dc5b0a44e2fbf1f23eb6d02abc4c9a6e
BLAKE2b-256 af5798a5f8f1b476e29a3eb2dae87bf5e03a27b7795c8ff8fac7c315bfdc7fa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 cd1d3b67d4f5c45529c39bf7d29421bc774dd41804317ab71ddfda36795c66d6
MD5 acf17b48e233a544f174c7e59aae65b6
BLAKE2b-256 edd60637d861ddf4457c411bdf8895cdbea3e671819f492300b6d644fd0b0828

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.30.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4516a43055eb02067f460899119718c4ce3b820704b43346981ff6af54c2300f
MD5 2a1958da4283d7d3102843c795a33635
BLAKE2b-256 76a8a7c2bb4dd0093d220acf29fda1f7232a24508013ce60506205cb5d7431bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c5d675ca30ef41aa42324c191eecd2cc04239f56b182b546b07fcb00270e065b
MD5 1e8705aad9813f8fac4f15df89c34eb8
BLAKE2b-256 5c1a81c0f6ec408edaeb4c1f0c47208d7021ec10fddf51518ba45966de8de8b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fc5d674776ee6808995038a40715c0c0110600466f47a0cdccb72aa181fc52e4
MD5 a070017145129c45dc53e9aefdf04275
BLAKE2b-256 aec217b9982f29ff858922fb9f47a02c7bb7cf037c23b64929f25a00abe75215

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 53bb8287d509d5201d05ea0d861d334de27de1f19a7bab1b1219f6360eefb54e
MD5 9cee5d73daf8aac36e0615c9bae36b8d
BLAKE2b-256 da5c07701d56c6304060ccec105da60108db134d9a56c4dd961806dbda0d8709

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ddb4ed97e31b4df12d424f4229785ce29d9a77b64d51bd392abb4fc8a8e58bcd
MD5 ae078eced2ce49a70b16d08ddf127c83
BLAKE2b-256 394dd189ee86ad562367eb88fcda05e2d6306632825ecd561d1a1a9ff8f8f01c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aef7518eaede8460c7b01f070c65c45e8989bb6852081019b2518110c9d9a3b0
MD5 62bd7c49e82fcc4093b67ddbe857fffa
BLAKE2b-256 15a8ac3a5ed357b337d2050917b009f8ded4436c746afe262d4e7c75bfd8757d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ab33ef5b04fe22ac7e4a50cd5df6806cc2c96b7ac7cbcabb490803e8e5e53199
MD5 a5f4d5f56fa9d6efd86c3b69ae557fbb
BLAKE2b-256 578d2f424a21f35eeb66a318134c87cad6b7117fd99124d6ee2459b903484441

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.30.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.8 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 97b85f5d1bdc551cb7ddcb808c6ba4618c367d5888445619c5b7da6ba4552cc8
MD5 98cd33d8f1977ce789e0b522b87003fe
BLAKE2b-256 45cbbc7418cf99eb477b5ab94fce8f78626c5ea03d91ecbd1fa46f01d617ee2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9ce88c8fcde9264d3e43b5e2306a1d5a90c7af3ebd0f9515972c39fb28b93655
MD5 46877ef39ea04c27840cc5d3a16400d6
BLAKE2b-256 b2309fdb9fbc1d45f22d08445f3d6958fcef82effe57e2f3e748a0303f6e9b64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ead399f17511fb616e96a3b9f9835662e8c3b17b958a929365f56e8255548d9c
MD5 4d5c4eded320599f5eb164b4268e399b
BLAKE2b-256 afb0270436235d9c555dbcf5cf387977ed633073e74febdead0cce8028bf284e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83520b490684d2fa6356c70891a15a3d7631c7ab1280e8a4ca71af9ee41ef3ce
MD5 c3f4904c86c3cb3dbd851fbfac537a31
BLAKE2b-256 7fccd0199f3b62aafc4c4ebeb9477ecfbc8f1728c587f6cbc5727baffe5f1a7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6795581cecd1b24199352c76ebdf0436b05943031080fdfee552554b7a216c81
MD5 8b76a1fd1c35065d1f55b3986f05415f
BLAKE2b-256 9661a0068d625929307e3b66a59f3ac70816aef78b5b44afaf8044b3b808fce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 820ffac0d59b3db541fa2af62ee5746dccbfa5b5cb17b2859ff72ce0b2cbe118
MD5 0d22252872c8d050e57f84c8d4362e13
BLAKE2b-256 59a2c4aac2cb75d4cd33659741e72ea9c8a68b5b1b71693692b98e978274c034

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.30.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53b9ad51c9d0100762cfafbb2eb4ae0ecc16a6f545bbde791df77a66dbe7eb8a
MD5 4b7b6333d24ebd0dd252c933f1e94a8f
BLAKE2b-256 afaeb150c669d41653ec983cf2196639f9793bf0f52de3543e1cf99269d3a7fc

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