Skip to main content

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

Project description

httpxr

CI PyPI version Python versions

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.29.3.tar.gz (6.6 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.29.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.29.3-cp314-cp314t-musllinux_1_2_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

httpxr-0.29.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.29.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

httpxr-0.29.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.29.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

httpxr-0.29.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.29.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

httpxr-0.29.3-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.29.3.tar.gz.

File metadata

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

File hashes

Hashes for httpxr-0.29.3.tar.gz
Algorithm Hash digest
SHA256 43ca20dd09f1f744b96498f40289c8c2316c2760f27aff02794b47d35fc3f4d6
MD5 6a6137cdc409533467e52d6ddff10fb9
BLAKE2b-256 1ff9fb944933639e370ef620f4033a9332cfb94b7b74e05d60694c4bf8bcbd10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2e01a5f8c3710f97efb61ecc2f99c179a84a98c1ddc08e6f086c555a3f40b122
MD5 22d8768d57be20c1862ed5ce1cc3715c
BLAKE2b-256 e714f5de2a34d5874b77d2ba176b622683d35933dd79743cb0b04de49ed8dc44

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f9c1e187858de0e67ffc51210b5d93afdf38c948e1ae5b0cbd0b2da6f6694f1
MD5 d685b1d5fc568a823e04f7a3ec0da9a3
BLAKE2b-256 f866bcf917a042d331a8f2d77e93e7e69de4478592682ad58f17123467e42dae

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.29.3-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.29.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 282e3dfb0cc9faba813f9bf289d6f016ac90d46852b748cef7413532d9dd3413
MD5 fb547bb8afa219102b44ae407ac95616
BLAKE2b-256 c4b5cba03fdc54a1aacf23da6947f060894fad01857297865acb3f929bad85ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 79dc0c054604b6d16714600ba7aae3af9f657f37be85773d2bab289ff6f109e3
MD5 2a315a48533738bad26b371d406484fb
BLAKE2b-256 70696551fa629da363ada2ed3d1daf10d0c013d5441560fbb111ff6ff915e8f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4d20eaddf18d7c2c0f1a9eb6809628b0aa93cb10a8885d1c18f34cc91c4f62e
MD5 23b52782e7f940cac62ce2122e003a72
BLAKE2b-256 b2e1722b831560efd991436a68afabd281d103730a2152e8fb0f58e0d082b266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ba43c0fbaa748e50ad2d164249038375e9d8307678b1f504f4381107fc148ec
MD5 4b2b0bb55c0b149cea3474b120f69c90
BLAKE2b-256 f4faff015aacadfbe0b304c49573792950b3b7e3b3789be88d7a7a5bacbdc8a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f1e87e97bf9df5466d8167d11dcdfac77753b3fc5b7e4fcb5f42286541747bba
MD5 2ebc2f983b3046b95353487b7d46ca35
BLAKE2b-256 589417bd775af3c511736920c793563381fced214c73121ce1c01c6f3ca1b801

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dde9a71fb2b861ad466a878f274d52cfa06fa18bbb9c32cad1b5b033459e47ae
MD5 83667d9a1960647e7f6ac6eef8b96d4d
BLAKE2b-256 6db496f2a09e2508d06d8a4d6690c121d002517ef66a350bd2778031e5e222c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 38c2e8c357673a34928bf1904263d75c58f18725968d6c8a65cd0f38b74c5ea3
MD5 979c2baa6219a1b27332e751abca9478
BLAKE2b-256 3077c25948ffa1e0196266a884cc0016c8e66175727915b3fbf11a99f95d75d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 37882a8552bec58e834e9b35964f37547b486e18093e953b66e2840a31a90164
MD5 81e119372503b72de0aa59686813e7ad
BLAKE2b-256 fa71682aa931fbb6913d4964e35e3244d41a3230046d0e8685ae07f66b526c2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f4b43735dc90e695b34d161d44b5ac3b00401bb6ea504ecc237d97914f3fb101
MD5 ed0936af544eb22f6bca06841cc25280
BLAKE2b-256 b2c21ac482c63bd43fbc2689d93f410ce0f2256d657b61cb876f173da1689a66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.29.3-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.29.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 425edff8ae3fe9210b10fba1274727c6016fb723832eb6e7a095aa919dc82d7f
MD5 019bf7355923e9ff4ed71ba44e16c49a
BLAKE2b-256 26401b3c664b67e9c31c9597532698c2efd0e35d28b10f6c4dd8f1a9de192eda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d186a8518a3ebaa39c2d1181366b11d5ef1d4f26023e3b756214cba9c9735dbc
MD5 302d7f937d0204a863c0006093ea3974
BLAKE2b-256 feef80e47c3aca231ac55122f3afdc1ab51c7f868ac6d1b882de93df83bfdbe1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1420a76f7a03c1355f0c83a2c7199e3a60f6b7af79c05da7199403bb904b6800
MD5 f1f60582f78e0842b7b6080e4eca35ec
BLAKE2b-256 ecf6086fb7561e79cf24f917a630658a92d96b777b68011d59d6dfaef940b510

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 665ed51eeaab6f808702055c52f69f6a85f1edfd85210a92ef3aa6b10839d86f
MD5 d7af68481c946224b2565bdbf2a95532
BLAKE2b-256 df05b251de0751ff2e1fafe3393bf75bcb21f6ee34968347b24cec058a23cb1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a6ef7b7a8d6d4af9b1c240a418567b5e60de2ef5190a841ad1c9785e55016ce5
MD5 3d9d56a664dd625e2e45b68280fea9ca
BLAKE2b-256 b524a5657c6c8e801781c2f3bcf29721e4e3636332a9cab3ad9ff2395d73eafc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7026dc9f0964e6a624da45827e61926da9eedc0892ec2c3d839b71a2e5172dd3
MD5 2d7db57073048cf6fb4934befaa321a1
BLAKE2b-256 719b5e4bfd6a75a159e5ab13901bbb0978011ce1cc32b151c3f00546e1ba7884

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f5b9d2787ab0ea973eb1296440b0c0c758c6d147f836c0696cbe800356d2a402
MD5 2a3723b8f308fca63cc00a6adbae6c78
BLAKE2b-256 0e4df56c0a83dadbcf55a1ecc89d1fa1ba3c6a8a8f5cbe58988154b8d3ae2bc2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.29.3-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.29.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 adfc88d2154fe9c214d8998a46fdb205a29762ad22b48cc8ee019ef11bd921ed
MD5 d45c53ff1f813f36da992489c11d2625
BLAKE2b-256 74770d7489f24462b3087d0aab75efe0d6e6b915f2f78746cefc61210c7fdadf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cfab52af617d04fcd57ef107eccc0dd632e2a8e58ff6b15267a278f4ce8471a9
MD5 07911aacb605b44f7eba6ff0c841cb23
BLAKE2b-256 1bdb4a0bf89939ea06c7aacde08e3ed83c673c9f74af8fb2cfe80667153e2d9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ee7a48d60ea43f1c89abb03eb1792a93246a7a23bf75bc1b9bac3c06922470c2
MD5 8fe3ef282f2c5403356126a31b4bddef
BLAKE2b-256 2fa7d8a59bef837817c699842189dd03e3b3dde6d53f9678b5477298ab4f688e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c605142cf0828182331af148c6ec1ae673299affbfec300b37b3accdcf99d497
MD5 b18ada995da193486a8f5f963f9913bf
BLAKE2b-256 f5fa30b49237910f6e392e1a4d7faab34676fba10b007c4ff981fe4679631921

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 67395592e5dc343b33be0b4ed9b35350f8f52035f459a21e851203bf6d9b64e2
MD5 f115e2e96c303fd93b4c1dc58caa73f7
BLAKE2b-256 06795d9e7cab0eb71a12c987dbd8f82d8a63a7a37b757692d7b45eb7e5882b6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5208fc3cadb6fc931a0e3165f7b46d1012b4b8eacc58d7a6d305b9e9be5fb5b8
MD5 3f9912ad1d94abfb0902a6d1a2c258d3
BLAKE2b-256 5db3ed452d26a58e7a592d1f2aee8dae14c7c6c8e8b089a695415aa94e3d74eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d57408262829ea20d5bc284b02869b7cc85decd364c1605896d15b5ee0a16497
MD5 72aa5fe45c28a6a5153c9be619b83198
BLAKE2b-256 acd3becec6d8eb66ae8fad56364f04adacdfef95b84983a7eb28ad0f4459f054

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