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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.14macOS 10.12+ x86-64

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

httpxr-0.29.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.29.1.tar.gz.

File metadata

  • Download URL: httpxr-0.29.1.tar.gz
  • Upload date:
  • Size: 6.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.12.2

File hashes

Hashes for httpxr-0.29.1.tar.gz
Algorithm Hash digest
SHA256 b2e5ae06c8862801cd85fd1b75eb4e967ddf5d42efbdc44deb771950650c6b1d
MD5 ba4fa2635d528879a380051e8b9065fc
BLAKE2b-256 cd6df49bef6b4263b2c6043945b2755a4ce815799e5027118039ce3adb1aa518

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e1940f02d4c8d5c71cf18a3eb0941161f1c62112b3b888c3b873d56fa5e144e2
MD5 5ada38148fc043a33f5c66d2669881ef
BLAKE2b-256 1718eab71ea24ed2fd7d36e9f6bf89b719981d75ed73277dbf633eff6b5285b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7d2ee232d28592075562aaa891676e70a2fb5405c3357a07e3938b47b3b9d3a0
MD5 6b6d0c8b72b679a6a1480dba221eaa67
BLAKE2b-256 7bca3f7773dc955e6016097d781575165401d48e59377722057d9439830a1d20

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.29.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: maturin/1.12.2

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b75cd35b097156e6f42ebeb65e1ffbbcd5d7aaba74e7778f13d0d1540bbac75a
MD5 1bb633ed43c0eabd01a9559ae9a4c042
BLAKE2b-256 b20ed2ed594a87c3c4c9a60e5e7d1779a77c80c5aaca7fbb8f6ebcc74062a9f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c75f3cbf5c6ba7bcdc149b551a7a81702d013d1da70d4bc61e45b4c45130dce
MD5 15d28d73bb68152b1edd7d4cfd13b38d
BLAKE2b-256 1f7ee887f221bf57902fb5e67461b52e1c563797f2764580436d0e800878ba4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6b87e7c8f6363dba7132ef699ab4d5f593f6043a0189c7447ea6e9c6ba77db41
MD5 037513b00b62399b11e32028967a020f
BLAKE2b-256 42c2a2a4cb525a8fcdec34358ff3d0460b7f676f0d0f529ba8e968eb27371763

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a0feb64facaf6b02101b59e20ed9c58a1ab606331aeb491a82ed0c66abff4f68
MD5 a99be5f7b559442d33d45ac5b878494d
BLAKE2b-256 06191ebf0a2aa4fe606eff94934c0a2a6d1084f0c10893268e7b1a334580dc70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 26e190b5ec922374017d0fd9813e52b93d1f14aa724d2912d065f36ce0cd70e9
MD5 50b3d26405d22b5251f05d8f99a8db10
BLAKE2b-256 fbceb4f1d9e968511de125396a2364c6e632b894a50b536d5a1821d231afd6c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9fd5580fcfb3ba952179650538a2d6fe2fc1976db6cbb3ad28fe7f4718ae73e
MD5 cf3e956b8c5e871865d93281171bba8f
BLAKE2b-256 225520b352ce99b2ccf983c037747ad57f73959dbda46ca9b0552604380892f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c843f65a14a2cffb69f2fe5f46641de1718f96971877ad14092e2ae4c05dd1fb
MD5 d9bad486f1bbf9a23a01b0cf9371a9d8
BLAKE2b-256 b20231b390775890c61d65f5ebf310c65cb05ac02e1e666c7b0b6c5bce14d97f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 85eea6fe7469a238c8ba54290614a8ad4fd42cc5e1e41f46060c4b3ee71e59d3
MD5 fe867b641413b486f3074e4d29244a2a
BLAKE2b-256 08c52a17a764f6e5fb5d6692ff88194a551d61469c2743a2aa676e4fb270acc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 341884d3ccf9ff8a96b7fa3b7e5767ee703437e8e83ed3b0a62757abba8c6326
MD5 f6e63d96f5ab4d540fbecfac9153dbed
BLAKE2b-256 e70e85d5e581f0e1be2acabf14591817e7956115c12fe10955b6397b0a4ec118

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.29.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: maturin/1.12.2

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c4a1af33d43ab16c83076709ae8891e06293dbe6bf106c261b64f329f73b9fa0
MD5 def1545e3ab8aaf448a479f5e4473df8
BLAKE2b-256 d447cc21fce5dabf51f9d0e84126a54ce739a61b9b75f5bc4b97fe17bc09c69b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 09e14500a638a6a45675a3f8b103ba34bb00fd021d852b36422b53e29fbdccfd
MD5 6aa33d5920b381acde6f2f1297d9b192
BLAKE2b-256 d6e0614f2761598bed97a8a08dc7e687e0d6b5aa9b358974bf79ff75ab232a6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0ebae10902ea6993f58667fb3195d4f38d10663a9c89e321cc9eb87a1c5593fb
MD5 edcb8ff2f3680772b957d579d41d13f3
BLAKE2b-256 eebf8177abade5ef6db1c556a65192d31810dc9ad61a215a3609de0640937a40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1314841f02c8ea75ef29414bed825361ea1569efd92ed1683e9614d650e3cf0c
MD5 96d4c2a83cd67322db990830fde0b443
BLAKE2b-256 e022e01d93755d60994c40a9ecd75b672072ee8a983bf70a8a129bdcd1693a54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e020336f0d2cbdbe57d11998da5c68d3e1b7eb2c645c16adb8498cec0a9bf6e7
MD5 06af3d52970cb91e91596624e5e048b6
BLAKE2b-256 97b6a6b3b352ca6058197be3a4a74faafe0887e73b2a56c4230fad6d7a26ed98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf8d0e4aa2bba5324cf51adb5c9597fdaf78007e40a0e8a18da481326f0ad714
MD5 ccf76e061998f08f5a6bd6abda65f5d1
BLAKE2b-256 6a2a835fe387b8ab1732bf183367c78cdf9550b1b8381dfb1a8a6181e8ea2c54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 272077c5c643c479e58f8a68b7af285b0237567e6603508f078eab7fe5607ce8
MD5 78750ec6b5ac959d8a2c12b1cea497ff
BLAKE2b-256 8978b5afe00cf6baf129b6d08458fddd2469c7be5f478f224536957e79da3a25

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpxr-0.29.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: maturin/1.12.2

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 783228e2abe0b263bc648ecd5c9f8656ba1a8dc5fcf9bdc27c9f42ddbe7f990d
MD5 c80472c84020dada56a70bf7b4defb7a
BLAKE2b-256 8a77164462b8fba0bb05aeb7e105beb9f2f095e0bc176d31eca896d202126dc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 af46c0af2e831513be0b08040e4d342aab22376d483b33977683e330bd416d46
MD5 55feeb01060b6418af3aaedb080823e7
BLAKE2b-256 6574da70eee5ec573d6fdea0c4c91c3dce9f019325007aec906acd255fc1d98e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3cedaeeb78f9f9a3dbe273f7fd722ab726c22ec37fd5f660e4c19d8a72c161b2
MD5 89f7cc7a6bcbf9a5df3205072702553c
BLAKE2b-256 cc20ce324a3bdafce56b6e4c14657a7955ce5eae24b08356582336750a49319f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5b0f53f83f4a6bc71568d597e1d93837ccc6edfdc16313829119e8ba8aba9a6
MD5 16fa812a4078f62d9d9cf76e9364d502
BLAKE2b-256 47b77b5ecc7f49f21e7d393e900134f80d4929d4ed010f830de71a8dfaba115e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4c177464ef9fef8e8044cb35c6e9272bc432f2315fe4b8feb4c9db89a9cf8cf
MD5 559a2728d6338609bdf2def1989272d7
BLAKE2b-256 f844817415b1f887e4237ed9e95aa206836243969a0262bb33f646cf74298317

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 80d89503d0d9736c1a3ae421a69187295c35443c226619fa52ade92d11e6a9a6
MD5 3246d150c96db39df904c7e66f3c446c
BLAKE2b-256 ba54fb9accbf5a52840d95e761c07d9ed796ab30da5efbc14430a3b51bb6f8b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpxr-0.29.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 99cf6fd26d656fcdad4ede902c490167836f941bcc81302550ca61e4c740d9be
MD5 9c095634aa37464251bc2bf38100e300
BLAKE2b-256 ae19310fedbf3412e355a95e843e18a44df1442fc7fb71371bc82753739d4d92

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