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.5.2.tar.gz (335.3 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.5.2-cp314-cp314t-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tWindows x86

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpr-0.5.2-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.5.2-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14tmanylinux: glibc 2.12+ i686

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.12+ x86-64

httpr-0.5.2-cp39-abi3-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9+Windows x86-64

httpr-0.5.2-cp39-abi3-win32.whl (2.0 MB view details)

Uploaded CPython 3.9+Windows x86

httpr-0.5.2-cp39-abi3-musllinux_1_2_x86_64.whl (2.8 MB view details)

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

httpr-0.5.2-cp39-abi3-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

httpr-0.5.2-cp39-abi3-musllinux_1_2_aarch64.whl (2.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

httpr-0.5.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

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

httpr-0.5.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

httpr-0.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

httpr-0.5.2-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

httpr-0.5.2-cp39-abi3-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

httpr-0.5.2-cp39-abi3-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for httpr-0.5.2.tar.gz
Algorithm Hash digest
SHA256 e8fbd9e0ad0ffe05d6df61018a2224756fae8e5898d2873a193fc9b986d0013d
MD5 790286656b1aac2f1a826dcca113778b
BLAKE2b-256 57c06f440af34e12bda6cb7267bd3659de705f9a02ee84caa0bab1bec2c34233

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.5.2-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.5.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 027387bc93b317e17d7ab9ed75b4923fc246a4c6184b42d2da1ee24491b33dfd
MD5 16e7974f454b1c0b6cefb3964c9a2792
BLAKE2b-256 9f2448fab03691cc2fabd2e32b45da25ffb20911c6e6585c0784f9b54da9f77e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.5.2-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.5.2-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 4c827ff9133e8f68d04aba02b81c8e8b13c8b74235c412b94a6d41374e403c51
MD5 e2ff3e738c07268d46ecd2c086d39899
BLAKE2b-256 ec80e1c865073221e8e7059f48fde13b120be5091b7defb022404ae3b25aed29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1dfa4c86c4865c8564d232d1b3f42ad03d66421214107b79df7f144c7ec4903f
MD5 f81cd98e142528253d7d3475ae575fd1
BLAKE2b-256 d5df4fdacbe05f0b5efc10c83c26f47da2f6244978f0d0821a195c370e4ef4e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4ef5c83c9c8d0a0de631482aafbaa69705561634ca7087ac4a6326def694b3ce
MD5 4b60ef6e0c0e1f188eda1b19e5e5b726
BLAKE2b-256 6763c96a517d59eff56f8ddb96f6ce0dc09d8bb0013bc34f595ada88431e4b69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 fec3bdfad1367069df3a75e49309107c590f6a1d5d9a6fb847909f35bff4c50f
MD5 6962cec0152841a05f1de9d407ed00b8
BLAKE2b-256 29e027ae777e2edfe3a2bee9a02aa5fac12c843537d950fb2286a83ff4c8e2c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 68e5aa0986037890e73ceb402369f72ccd1e6f83d7c0e497c65cd76f736eabd7
MD5 86a72aef026b1075b26ca12f03d855d4
BLAKE2b-256 5f013564df3f3f8b1c8f9f9b62eb5b22b2412066bd46d3851ef4053769289b02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f46ac8465206eaa653a5f92cd6b36608f90b2557a6701206474d8d2c4e596ac5
MD5 acf271fc5f1307e7934c153d4bb913ba
BLAKE2b-256 608cbe9d4e1ab64b7a2017c4702a1a84e821e1a9c5db43b6d22b3185d3f64322

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a4477e6fbd87061db896d1a50ba0be5a803bfcc7352f8d42fb5027ebffad0ad
MD5 1e9513e8ad3f3108432af7e655d209c6
BLAKE2b-256 4f500a1cb9e075daed4b6ff6ef04331992a36833cd2685bc5b7aff87469e2782

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3ca90692bf43897bd912de55ff15911eec6035a9137439080e143d0b65d46106
MD5 6b12dbe5f5ea949004f596b93a95f781
BLAKE2b-256 5c545d140dd883ed54c585eaf4987e39c05cfc44b461a3565fa97a32f5a30f6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8b47ffb9c06712a72923bfc829d810593c25ca9dd04933ca342f539788436295
MD5 ad0a5355598de443b311ffd42bc3b854
BLAKE2b-256 ac99d8f55b0046c51a45a7ef47d6b6f3c58c151be268a03c46a31b672d4b1507

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.5.2-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aeb9cdd20080427933bef2836e074e85324f6b63ef742433853b51db6c054230
MD5 7d23f0092854f91b29dfc2777ce67da0
BLAKE2b-256 7567ac12e3bcc59d28c2a3240967ccf193fc8031e575e96979bc1a6909477fc2

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-win_amd64.whl.

File metadata

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

File hashes

Hashes for httpr-0.5.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 63146d236cbed410c25cc4d193857d9b3def819231ae27550a5f93db60f90804
MD5 50524f8c9637f5b28d9e3db1f8e5beb7
BLAKE2b-256 ed36fec133f2e0143a4d828b820f1df22db793f18c1f3f7ca095e25111dead8e

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-win32.whl.

File metadata

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

File hashes

Hashes for httpr-0.5.2-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 a04aebde6047f3b84541176b92930f7a21760a27cd6d4e9fad5f8b107c0152c0
MD5 4252023244359a3fdc0509fc604275a0
BLAKE2b-256 e37f3f34dd99ff3d3ebe983cfa950e7b2ff832e86373f473601c0ddd45e940e3

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fe90fc6025f6709db90087242930966af59f358912d93763a040ad236eea8abd
MD5 b3936f7b3830ca6ce902031f9f85e518
BLAKE2b-256 a8d780d27aa3eebb8b5237942ba91075b583afc511143b972a081a30f81f03f7

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 6ab10a56787ebc1d21e45c150d9337b8f60a470368481a004037417cbeb375c0
MD5 db5ad7d3c2b9507769d3fb32e21450ab
BLAKE2b-256 cee0716ad1a89660e658583cdaa784aa8ee4de592a9b1b291e533308419523db

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8429f3ac0177346818f125e7f71bb27200d435fa2bacd8ec9d53f0b72fff144b
MD5 37e86e883e65784012d94de2ac9c9fa3
BLAKE2b-256 1cfe2020253c6fff53cd6385312e80c8fdfe1aea8142086e83b6a99bf291f2c5

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47067cba541ef2570fa75adeb7a729ac5e1a35d26c80f5ec541990bd4d39f21d
MD5 796c37869e708c84e3788eb413f59933
BLAKE2b-256 2357b1410a8842dd96898321a50def1e1b7df9840a2a76313837dd6d54defda1

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f4be22badcf00d66fa1d7141aa69431a1d60519ed528f26541d2f03f273b42b1
MD5 8a7e6b9892c6d07413a8efc1374544dd
BLAKE2b-256 b4b95941983a00d89f4ce4e2600836ccff0f5ff7cac9cb265e334860d2382df4

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f52b179d0ac1b6588314ba40de02ee9e2c432877fdb913d1977b61f3f599aa7e
MD5 ad55f591e84aca5183f455ba543e99c5
BLAKE2b-256 32f868357450092dc3c3a42fa9c38f0165f6150bc206ec3408ff3caa831137c3

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 415fbcab05edefedc71ed5d03df7b044de151f2f4db33053b4005840d9d28468
MD5 dfd28cc0d4bfc4252808e8f5b5291fc9
BLAKE2b-256 879680d80d77a0e0b5f3c67159a50aa1ac19777a4b2da98e1f39f413c7039d50

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 75771c5827da2e4ce41562e43741aff8c69add1c907e31ec3076e90d081edf39
MD5 5dd73ddf80eba2128dcd331b1105c18f
BLAKE2b-256 47f287fb84689d0a2e983629f5cc71fd9754e4cf8f0110a9c979722afe0d9a70

See more details on using hashes here.

File details

Details for the file httpr-0.5.2-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.5.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3353b32d1267b8c18dd6d8b9e5e151106f1f9307794a02c75d25ce80f26e95bf
MD5 e560bb2eb73dccb7d5360fba7c3a3a22
BLAKE2b-256 ec507e58f7420e88b10d72db663f7a83d2842db8433c31c51fbcdfccc2d8b6b3

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