Skip to main content

Fast HTTP client for Python

Project description

httpr

Blazing fast http-client for Python in Rust 🦀 that can be used as drop-in replacement for httpx and requests in most cases.

  • Fast: httpr is built on top of reqwests, which is a blazing fast http client in Rust. Check out the benchmark.
  • Both async and sync: httpr provides both a sync and async client.
  • Lightweight: httpr is a lightweight http client with zero python-dependencies.
  • Async: first-class async support.
  • Streaming: supports streaming responses for efficient memory usage with large payloads.
  • http2: httpr supports HTTP/2.
  • mTLS: httpr supports mTLS.

Not implemented yet

  • Fine-grained error handling: Fine-grained error handling is not implemented yet.

Documentation

📖 Full documentation: thomasht86.github.io/httpr

🤖 LLM-friendly docs: llms.txt | llms-full.txt

Table of Contents

Installation

Install with uv

uv add httpr

or

uv pip install httpr

Install from PyPI

pip install -U httpr

Benchmark

Performance is tracked continuously with github-action-benchmark: on every push to main, the benchmark suite (tests/benchmark/) runs in CI and the results are published as interactive charts.

📈 View live benchmark results

To run the benchmarks locally, see benchmark/README.md.

Usage

I. Client

class Client:
    """Initializes an HTTP client.

    Args:
        auth (tuple[str, str| None] | None): Username and password for basic authentication. Default is None.
        auth_bearer (str | None): Bearer token for authentication. Default is None.
        params (dict[str, str] | None): Default query parameters to include in all requests. Default is None.
        headers (dict[str, str] | None): Default headers to send with requests. 
        cookies (dict[str, str] | None): - Map of cookies to send with requests as the `Cookie` header.
        timeout (float | None): HTTP request timeout in seconds. Default is 30.
        cookie_store (bool | None): Enable a persistent cookie store. Received cookies will be preserved and included
            in additional requests. Default is True.
        referer (bool | None): Enable or disable automatic setting of the `Referer` header. Default is True.
        proxy (str | None): Proxy URL for HTTP requests. Example: "socks5://127.0.0.1:9150". Default is None.
        follow_redirects (bool | None): Whether to follow redirects. Default is True.
        max_redirects (int | None): Maximum redirects to follow. Default 20. Applies if `follow_redirects` is True.
        verify (bool | None): Verify SSL certificates. Default is True.
        ca_cert_file (str | None): Path to CA certificate store. Default is None.
        https_only` (bool | None): Restrict the Client to be used with HTTPS only requests. Default is `false`.
        http2_only` (bool | None): If true - use only HTTP/2; if false - use only HTTP/1. Default is `false`.

    """

Client methods

The Client class provides a set of methods for making HTTP requests: get, head, options, delete, post, put, patch, each of which internally utilizes the request() method for execution. The parameters for these methods closely resemble those in httpx.

def get(
    url: str,
    params: dict[str, str] | None = None,
    headers: dict[str, str] | None = None,
    cookies: dict[str, str] | None = None,
    auth: tuple[str, str| None] | None = None,
    auth_bearer: str | None = None,
    timeout: float | None = 30,
):
    """Performs a GET request to the specified URL.

    Args:
        url (str): The URL to which the request will be made.
        params (dict[str, str] | None): A map of query parameters to append to the URL. Default is None.
        headers (dict[str, str] | None): A map of HTTP headers to send with the request. Default is None.
        cookies (dict[str, str] | None): - An optional map of cookies to send with requests as the `Cookie` header.
        auth (tuple[str, str| None] | None): A tuple containing the username and an optional password
            for basic authentication. Default is None.
        auth_bearer (str | None): A string representing the bearer token for bearer token authentication. Default is None.
        timeout (float | None): The timeout for the request in seconds. Default is 30.

    """
def post(
    url: str,
    params: dict[str, str] | None = None,
    headers: dict[str, str] | None = None,
    cookies: dict[str, str] | None = None,
    content: bytes | None = None,
    data: dict[str, Any] | None = None,
    json: Any | None = None,
    files: dict[str, str] | None = None,
    auth: tuple[str, str| None] | None = None,
    auth_bearer: str | None = None,
    timeout: float | None = 30,
):
    """Performs a POST request to the specified URL.

    Args:
        url (str): The URL to which the request will be made.
        params (dict[str, str] | None): A map of query parameters to append to the URL. Default is None.
        headers (dict[str, str] | None): A map of HTTP headers to send with the request. Default is None.
        cookies (dict[str, str] | None): - An optional map of cookies to send with requests as the `Cookie` header.
        content (bytes | None): The content to send in the request body as bytes. Default is None.
        data (dict[str, Any] | None): The form data to send in the request body. Default is None.
        json (Any | None): A JSON serializable object to send in the request body. Default is None.
        files (dict[str, str] | None): A map of file fields to file paths to be sent as multipart/form-data. Default is None.
        auth (tuple[str, str| None] | None): A tuple containing the username and an optional password
            for basic authentication. Default is None.
        auth_bearer (str | None): A string representing the bearer token for bearer token authentication. Default is None.
        timeout (float | None): The timeout for the request in seconds. Default is 30.

    """

Response object

The Client class returns a Response object that contains the following attributes and methods:

resp.content
resp.cookies
resp.encoding
resp.headers
resp.json()
resp.status_code
resp.reason_phrase  # e.g. "OK", "Not Found"
resp.raise_for_status()  # raise HTTPStatusError on non-2xx (returns self)
resp.is_informational  # 1xx
resp.is_success  # 2xx
resp.is_redirect  # 3xx
resp.is_client_error  # 4xx
resp.is_server_error  # 5xx
resp.is_error  # 4xx or 5xx
resp.has_redirect_location  # 3xx with a Location header
resp.text
resp.text_markdown  # html is converted to markdown text using html2text-rs
resp.text_plain  # html is converted to plain text
resp.text_rich  # html is converted to rich text
resp.url

raise_for_status() follows httpx semantics: any non-2xx status raises HTTPStatusError (not just 4xx/5xx as in requests).

Streaming responses

The Client class supports streaming responses for efficient memory usage when handling large payloads. Use the stream() context manager to iterate over response data without buffering the entire response in memory.

# Stream bytes chunks
with client.stream("GET", "https://example.com/large-file") as response:
    print(f"Status: {response.status_code}")
    for chunk in response.iter_bytes():
        process(chunk)

# Stream text chunks
with client.stream("GET", "https://example.com/text") as response:
    for text in response.iter_text():
        print(text, end="")

# Stream line by line (useful for Server-Sent Events)
with client.stream("GET", "https://example.com/events") as response:
    for line in response.iter_lines():
        print(line.strip())

# Read entire response (if needed after checking headers)
with client.stream("GET", url) as response:
    if response.status_code == 200:
        content = response.read()

StreamingResponse attributes:

  • status_code - HTTP status code
  • reason_phrase - Canonical reason phrase (e.g. "OK")
  • raise_for_status() - Raise HTTPStatusError on a non-2xx status (returns self)
  • is_success / is_error / is_redirect / ... - Status-class helpers (same as Response)
  • headers - Response headers (case-insensitive)
  • cookies - Response cookies
  • url - Final URL after redirects
  • is_closed - Whether the stream has been closed
  • is_consumed - Whether the stream has been fully consumed

StreamingResponse methods:

  • iter_bytes() - Iterate over response as bytes chunks
  • iter_text() - Iterate over response as text chunks (decoded using response encoding)
  • iter_lines() - Iterate over response line by line
  • read() - Read entire remaining response body into memory
  • close() - Close the stream and release resources

Important notes:

  • Streaming must be used as a context manager (with statement)
  • Headers, cookies, and status code are available immediately before reading the body
  • The response body is only read when you iterate over it or call read()
  • Once consumed, the stream cannot be read again
  • Streaming is supported for all HTTP methods (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS)

Examples

import httpr

# Initialize the client
client = httpr.Client() 

# GET request
resp = client.get("https://tls.peet.ws/api/all")
print(resp.json())

# GET request with passing params and setting timeout
params = {"param1": "value1", "param2": "value2"}
resp = client.post(url="https://httpbin.org/anything", params=params, timeout=10)
print(r.text)

# POST Binary Request Data
content = b"some_data"
resp = client.post(url="https://httpbin.org/anything", content=content)
print(r.text)

# POST Form Encoded Data
data = {"key1": "value1", "key2": "value2"}
resp = client.post(url="https://httpbin.org/anything", data=data)
print(r.text)

# POST JSON Encoded Data
json = {"key1": "value1", "key2": "value2"}
resp = client.post(url="https://httpbin.org/anything", json=json)
print(r.text)

# POST Multipart-Encoded Files
files = {'file1': '/home/root/file1.txt', 'file2': 'home/root/file2.txt'}
r = client.post("https://httpbin.org/post", files=files)
print(r.text)

# Authentication using user/password
auth = ("user", "password")
resp = client.post(url="https://httpbin.org/anything", auth=auth)
print(r.text)

# Authentication using auth bearer
auth_bearer = "bearerXXXXXXXXXXXXXXXXXXXX"
resp = client.post(url="https://httpbin.org/anything", auth_bearer=auth_bearer)
print(r.text)

# Using proxy or env var HTTPR_PROXY
resp = httpr.Client(proxy="http://127.0.0.1:8080").get("https://tls.peet.ws/api/all")
print(resp.json())
export HTTPR_PROXY="socks5://127.0.0.1:1080"
resp = httpr.Client().get("https://tls.peet.ws/api/all")
print(resp.json())

# Using custom CA certificate store: env var HTTPR_CA_BUNDLE
resp = httpr.Client(ca_cert_file="/cert/cacert.pem").get("https://tls.peet.ws/api/all")
print(resp.json())
resp = httpr.Client(ca_cert_file=certifi.where()).get("https://tls.peet.ws/api/all")
print(resp.json())
export HTTPR_CA_BUNDLE="/home/user/Downloads/cert.pem"
resp = httpr.Client().get("https://tls.peet.ws/api/all")
print(resp.json())

# You can also use convenience functions that use a default Client instance under the hood:
# httpr.get() | httpr.head() | httpr.options() | httpr.delete() | httpr.post() | httpr.patch() | httpr.put()
resp = httpr.get("https://httpbin.org/anything")
print(r.text)

II. AsyncClient

httpr.AsyncClient() is an asynchronous wrapper around the httpr.Client class, offering the same functions, behavior, and input arguments.

import asyncio
import logging

import httpr

async def aget_text(url):
    async with httpr.AsyncClient() as client:
        resp = await client.get(url)
        return resp.text

async def main():
    urls = ["https://nytimes.com/", "https://cnn.com/", "https://abcnews.go.com/"]
    tasks = [aget_text(u) for u in urls]
    results = await asyncio.gather(*tasks)

if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO)
    asyncio.run(main())

Streaming with AsyncClient:

The AsyncClient also supports streaming responses with the same API:

async with httpr.AsyncClient() as client:
    async with client.stream("GET", "https://example.com/large-file") as response:
        for chunk in response.iter_bytes():
            process(chunk)

Note: While the context manager is async, the iteration over chunks (iter_bytes(), iter_text(), iter_lines()) is synchronous.

Precompiled wheels

Provides precompiled wheels for the following platforms:

  • 🐧 linux: amd64, aarch64, armv7 (aarch64 and armv7 builds are manylinux_2_34 compatible. ubuntu>=22.04, debian>=12)
  • 🐧 musllinux: amd64, aarch64
  • 🪟 windows: amd64
  • 🍏 macos: amd64, aarch64.

Development

This project uses Taskfile for development workflows.

Setup

# Install dependencies
uv sync --extra dev

# Build Rust extension (required after any .rs changes)
uv run maturin develop

# Add hosts entry for e2e tests (one-time setup)
echo '127.0.0.1 httpbun.local' | sudo tee -a /etc/hosts

Running Tests

# List all available tasks
task --list

# Run unit tests only
task test:unit

# Run e2e tests (full workflow: start httpbun → test → stop)
task e2e

# Run e2e tests iteratively (keep httpbun running)
task e2e:local
task test:e2e  # run tests against running container

# Run all tests
task test

Other Tasks

task dev           # Build Rust extension
task check         # Run all checks (lint + test) - use before committing
task lint          # Run Python linters (ruff + mypy)
task lint:rust     # Run Rust linters (fmt + clippy)
task lint:all      # Run all linters (Python + Rust)
task fmt           # Format Python code with ruff
task fmt:rust      # Format Rust code
task fmt:all       # Format all code (Python + Rust)
task certs         # Generate SSL certificates for e2e tests
task httpbun:start # Start httpbun container
task httpbun:stop  # Stop httpbun container
task httpbun:logs  # Show container logs

Test Structure

  • tests/unit/ - Unit tests using pytest-httpbin (fast, no Docker required)
  • tests/e2e/ - E2E tests using httpbun Docker container with SSL

CI

Job PRs Push to main Tags (Release) Manual
lint
test (Python 3.10-3.14)
docs (build)
linux, musllinux, windows, macos, sdist
release (PyPI publish)
  • PRs: Run lint, tests across Python 3.10-3.14 matrix, and verify docs build
  • Push to main: Run tests, then the separate Benchmark workflow runs the benchmark suite and publishes results to the live benchmark charts
  • Tags: Run tests, build wheels, publish stable release to PyPI
  • Manual: Full multi-platform wheel builds with release

Acknowledgements

  • uv: The package manager used, and for leading the way in the "Rust for python tools"-sphere.
  • primp: A lot of code is borrowed from primp, that wraps rust library rquest for python in a similar way. If primp supported mTLS, I would have used it instead.
  • reqwests: The rust library that powers httpr.
  • pyo3
  • maturin

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

httpr-0.6.0.tar.gz (301.0 kB view details)

Uploaded Source

Built Distributions

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

httpr-0.6.0-cp314-cp314t-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

httpr-0.6.0-cp314-cp314t-win32.whl (2.0 MB view details)

Uploaded CPython 3.14tWindows x86

httpr-0.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

httpr-0.6.0-cp314-cp314t-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

httpr-0.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpr-0.6.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

httpr-0.6.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

httpr-0.6.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

httpr-0.6.0-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.12+ i686

httpr-0.6.0-cp314-cp314t-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

httpr-0.6.0-cp314-cp314t-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

httpr-0.6.0-cp310-abi3-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10+Windows x86-64

httpr-0.6.0-cp310-abi3-win32.whl (2.0 MB view details)

Uploaded CPython 3.10+Windows x86

httpr-0.6.0-cp310-abi3-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

httpr-0.6.0-cp310-abi3-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

httpr-0.6.0-cp310-abi3-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

httpr-0.6.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

httpr-0.6.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

httpr-0.6.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

httpr-0.6.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.12+ i686

httpr-0.6.0-cp310-abi3-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

httpr-0.6.0-cp310-abi3-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file httpr-0.6.0.tar.gz.

File metadata

  • Download URL: httpr-0.6.0.tar.gz
  • Upload date:
  • Size: 301.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for httpr-0.6.0.tar.gz
Algorithm Hash digest
SHA256 ebbaf9ef0e7d5d0ae3b8ae216b94777a1b6fbf8afaf39d7a3a2715a41298a097
MD5 a3b6a89c00b99d7675e4a0cdf02d6803
BLAKE2b-256 aabd0a6aac1454609009a55554b8d462b0ae03c734a1ac17f5ea9f47bfde4577

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: httpr-0.6.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 40c7fb3a5d5b68d9597338d2c5bb4ee75a0346146335d14d183c4d68456bab5a
MD5 bc491159607bf87be94ebc72ca07b4ce
BLAKE2b-256 a250d0581e0e343e566efa12948454b1d7561a1fc147bd2de8c463736889269d

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: httpr-0.6.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 736e27a1be91a6083f50bbf4a2b7c6ca0778e44411076a6803a3282d69938c67
MD5 e485ba6308cf9629a230977545665b41
BLAKE2b-256 9d41c486003a08982b83aecca41c7d79db959d4af7fc5f9aa53f840f511716ed

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a1e15a32e9296092655aec85992494a62565f894847c67ecb41aecd0aa9e44c6
MD5 b2fa8551136ed025b4d80b00af402ce1
BLAKE2b-256 dba1bbc2b7f4c7fd1ebb2443513a77b7baf8c56905e09156a24f3a06d71bf141

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 61298aec4a24c1d0b7972a5b1dd7c075277bb9a581fa74372dc7278b68cdc035
MD5 695c6b47b8b5aa020feafc3086823ed9
BLAKE2b-256 b2a141a873bebcc142269368e127467773b06ebf2331050b424aeb05367ad1b3

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5abe85137bdbdfd3e76abd93378fa3aa6457f3871e250bc828c6cad54b1e13fd
MD5 272177e6938f38582db359bcd1428d3d
BLAKE2b-256 7838c763d46f8e47a68283bff943943076bf7ebbd09e6b88299e2855132e7d32

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 680400e0a77556bc31980e6ad705a2d2296bde235c47eb3854f948a03df4bd0a
MD5 253adc68d462081b988032d374e84d50
BLAKE2b-256 a4c21a406b1708cd55927519d02df4070b3ee7b6582d5f489d2f2220c4770bc5

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 50981b3068c1361398ca40d4c88bdbd4269c3f0aa3dc7a7be150b9883b9d2b05
MD5 da7da2db46d2d3626186d7b7d868b5a6
BLAKE2b-256 91762c701ab774d0512895b3a9d2dff82710be56a53daace347f0531fa25cb75

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e6875e4a644eb5c176b56b2f1d9aab0eddad12fcecd598254c9248932657b42
MD5 bb3a4884bec2551ea8c6f0b295abbbfb
BLAKE2b-256 69e9885bca6bc0f3839055ccbd5824d91161b49ce5805c231e3481e034c49c76

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a1be722d20994c4e3b71b83e3181c983caa099c6d75c2b3d3b09205b7010ab62
MD5 3f0d07f6b2933d1f7cdcb63f86edb1be
BLAKE2b-256 6e1e3a07a4e0dcc5267bc498df1fef8740c3fa4cd85e3e783ce23efdd1c54cd8

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b451323123a39cfa59834794897802a0d0ba8b0768ae0e3c3fac111e604341f
MD5 87bfbff15c8f93c1139b84627f6107c5
BLAKE2b-256 41e6bba21bf5b5c835d228bf6b6e9cbfd07e157c85347007922b320732ad4140

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5316be629b45b5bc7f22d624bb3fe9a66bd4e9e68fbe5144e587b2121a886f05
MD5 a395f2d3fa71a2101226520536a3b08e
BLAKE2b-256 4b5c0047e9409a8e0fc8170d4b6283236f2809e4217e3229ce081070b86b3a6b

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: httpr-0.6.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for httpr-0.6.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 50b9117ce00859a9451f3b2aa7375acc116e8be046f393783bf398630d4ebf09
MD5 baf2d4af0e6936c67249721c82bab7a8
BLAKE2b-256 b422a00d8790e84bd219113f3524dfaea37b5ab7e7749ab789ac3da744152908

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-win32.whl.

File metadata

  • Download URL: httpr-0.6.0-cp310-abi3-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for httpr-0.6.0-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 89897052dd837fff3fd44f1ef1a0ca2e49a1d36b012c4df5b279eb0275f588ae
MD5 91851573b001eb9aac396916a2e7209d
BLAKE2b-256 35ad46b0bb375f1441e782a80a9effb0f69028b8068016ac50b753ef09510b84

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2198c93420075e56b5063e1694fa755995205651a841696812719797d2fb9671
MD5 4db46b45d2a941c3f7ddea4b667cceab
BLAKE2b-256 f1c07b91e8ebef3f2d6921329f87167c42b6b0f925de3c04ae48823efa596202

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2824f68ac7dc84e980b1f07cba33c97519abd022adc92ee4e52424cf3779ed29
MD5 4f5ba712e7d4295a93d6ac86af33e988
BLAKE2b-256 c28ae78e5901f70ca6bd6f458ddd931f2e036af9f912abf14a4fd832ee919d13

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7397dbc213cb95d186909bf02869eff2c6b56ffbd72f54760535d5880e93b2d4
MD5 a3b48fa825b3bda23905e540681eab05
BLAKE2b-256 eac50a849aac8cb64b08ed1fa5e6f8b20cd855ded8ddade8df52b7d192868eb8

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad09fdec69a43c5293569569ce83016553faabcfd4a891b5797793876bc482d8
MD5 1142925130f70ec47cbee664f081f018
BLAKE2b-256 cad7c9ad5404554be83eb58b70c3cee3c0dd4a8b1c6b0e7af6ac6e6478a80fe2

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 69a97ed13dc9f00f55c1f7e65274d1913c7335c2a8bd6e04cd4d62981196297c
MD5 de27b1266426391cbf05e2fa0cfc6823
BLAKE2b-256 fa339477a176165a15d746dbb1abc886516d4c0dc342376113a852aea80a7747

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f431ffca92c4c831b47b24aa1142d37445a930613f052ef3056c5b8a2a8d7875
MD5 fa3a719df7342cd544fbecb1e89d07cf
BLAKE2b-256 51bb08cbca47c0cebaf1f92672ecf5a43f499acbb83c42a8d4c15a34fea8ade8

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 2f13a61789d30eae307fe03e8101e6a66be226c1a742a2bccf9991fdb4445232
MD5 beaef14134890a7711c94e0fc060d6a8
BLAKE2b-256 6e065de48322635e5b1bcd650e7b1db24345563a51da002035fa4a2a19939d70

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 faa0708990dca7760a443c63190c45f72097cdba471450dd59b93a647fc495f5
MD5 430b09ffd5ad0a85f00aba84f0ece8e1
BLAKE2b-256 194fd726a1d9372d4be4f7a547787b8c1f8d172089a76eda7c738a70c90c914f

See more details on using hashes here.

File details

Details for the file httpr-0.6.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.6.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4a3a888cacd6b78c23c609c9363f2966c76ae9b6b4874ef63fe9b5ae9ef42c26
MD5 861c1c8bccad8770daa42305b206cd0d
BLAKE2b-256 5f8ed68cae88df9c5a600931ab928dee058a0b8b8ba66ba561ab2053e0437d73

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