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

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.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

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
  • 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)
benchmark
  • PRs: Run lint, tests across Python 3.10-3.14 matrix, and verify docs build
  • Push to main: Run tests only
  • Tags: Run tests, build wheels, publish stable release to PyPI, run benchmarks
  • Manual: Full multi-platform wheel builds with release and benchmarks

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

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tWindows x86

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

httpr-0.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpr-0.4.6-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

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

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14tmanylinux: glibc 2.12+ i686

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

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.12+ x86-64

httpr-0.4.6-cp313-cp313t-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13tWindows x86-64

httpr-0.4.6-cp313-cp313t-win32.whl (2.0 MB view details)

Uploaded CPython 3.13tWindows x86

httpr-0.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl (2.8 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

httpr-0.4.6-cp313-cp313t-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

httpr-0.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

httpr-0.4.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

httpr-0.4.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.3 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

httpr-0.4.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

httpr-0.4.6-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (2.4 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

httpr-0.4.6-cp313-cp313t-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

httpr-0.4.6-cp313-cp313t-macosx_10_12_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

httpr-0.4.6-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.4.6-cp39-abi3-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

httpr-0.4.6-cp39-abi3-musllinux_1_2_aarch64.whl (2.7 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

httpr-0.4.6-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.4.6-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.4.6-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.4.6-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.4.6-cp39-abi3-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

httpr-0.4.6-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.4.6.tar.gz.

File metadata

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

File hashes

Hashes for httpr-0.4.6.tar.gz
Algorithm Hash digest
SHA256 d8a782fbea8374dc942cf05dcea1ef32f4c64b42cb0140b7bfb0a319869a51be
MD5 25382f197292035713dbd0020e039e89
BLAKE2b-256 a5251d85c923e164f58d95055a588e74a88611be84295fca00018c8c63ba9b4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.6-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.13.1

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 91aabcf10a126bbb325f895ed3f4660cff987d976d2da1b6a49774e43f7d5a1e
MD5 6e04e970a790f9f05301e7b7ff8268c5
BLAKE2b-256 41fc13401f18b3512f83f0962ab5f6031fc83c74d40b9e9a8e2c27dd4a07c55b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.6-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.13.1

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 884e36f7a6a31ad924f99b5c7987e3a1dc00fab42e07eda4897aadf8c73f8eb4
MD5 f7d75403e93b455a3feac939699a0776
BLAKE2b-256 2151a218959143318ae8c5c852e57a8bcb834184b64ec87031b87ed38830ed24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 941a57ad7b2611396aef5788678293c69b6445614334a1c04d2d290418387058
MD5 a0778373721907a1bf7aa178994e5e28
BLAKE2b-256 0d6017d8b08f1e6a37607def9a4dbbe0249672a85952d25cd8616e9817b5aa53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c286669e73732df6adeee1bee773a7ab8b7357e1190432da177e64cbf184b818
MD5 d62cd02c516f54ed8ed1facc3495f881
BLAKE2b-256 f888406d758003aa5c7a728406ab922c689c3852b8ae4b3e0435bd1c83ecda89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 861b4c3eb4caa8dd07fc9f237df433568a9e252755749fa8bcfe058a21d1ed78
MD5 ae2db255d374b69188660ef7738f053e
BLAKE2b-256 eb7534424b00531776ddda83bc08b584ebdefad2ee8a50449a43cfa02049260b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4924a4a8abe9642ed77d9ae46b0c1221316b0dae68bdf3d0464d12170d70973e
MD5 f3c815779c9b2dce76ac66d0b90dfe46
BLAKE2b-256 314449d6b743c5c3ab5d176c52a0ec15c4e9c0a4d0988e561f6bb2e3660d1aa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a24c95444aaf5eca778086a8da43db5e0f709fd1440756b7c951fad74497c175
MD5 1590b7d42c54ca44caadb92cd5681fd4
BLAKE2b-256 33918be2110a3c3c9f58748329a6338ddda8b3d60e7e915f89a2d1eeb771e34a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dae17213a75bed1dc0b7d6f0b71dd39d6c92412ea2d3abbcc75e800f04948602
MD5 b140f948ed9ae14ea46101486dffd790
BLAKE2b-256 84b6c90d19e683359e6cb7f0ca9514793aafe4b798502c375f71a00801acda45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 f111a8d7586ebfeaa74e674ee34c3242b4c4e1d97a06166c401769ee6ce479c8
MD5 15a46f069afd21407d7cda6790af6018
BLAKE2b-256 9cf8880f1a1bfbd273e3cd2b03cea913430daf680dc7fb669531116613386923

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e9fce1b00c46744ac30b6b904b13132464224dbe99b4d289d10031851f4ecb24
MD5 d91a3e3cdb0f860f336b443a765fb089
BLAKE2b-256 9b0aca97b047f10c489dfa704a5c67aa995dd5e38b5ae23dc532d8c4972ac485

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 302c045445f24c66ae582f3a9475c6b419017d5e216833ffcee97a2f5f2cef10
MD5 593936acc393d8b6289504a534067cbb
BLAKE2b-256 2ffa7ead8103d36f831dca724ab7aa2d816b32c5f746e4d919def3d01797699b

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-win_amd64.whl.

File metadata

  • Download URL: httpr-0.4.6-cp313-cp313t-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.13t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 a9580e72f44624116bb7093b96e79f69ec88632f603ad022d33d33ecf4ee33d2
MD5 fa0ab8f731ddd82c4a8469c6a9620392
BLAKE2b-256 f70afc03da7e3a71c1ca622a6b97f8871ffb588fac8d1d76acf998140da85334

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-win32.whl.

File metadata

  • Download URL: httpr-0.4.6-cp313-cp313t-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.13t, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.13.1

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 8445d166a254d63dd58e2448d8390cce65189f1457f4b114f60940a028605484
MD5 4a5923d0f140bfd28e821cfa8e022740
BLAKE2b-256 4d7c7ef638208a61317874880e2b066627f0c24e1b4a6157e8109364811a4c8b

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 75295962ed1723c2f97909383ca9e95a8d11cf4be47d16c85fb7b89636e2ff27
MD5 2cf648162685293c4b3411aa5a91f49c
BLAKE2b-256 e4420c36e5f6d0eb60eb26d04193078854ea5f87787ecf66ef59aa9e1a93919b

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 95355dd72732b008ab39760b740e50e85034f9bc2a7daa7fc643b6fea9da33c9
MD5 b9013097134f2754d57c7389830eb1fd
BLAKE2b-256 690d87559ce0d01e99b8d4dafee674f7394fd4332f4ce9ecba395000389a2313

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9225708eca488ee03c10e2a59d35f269aec3b62ef0270ad38d38924d6ca1e82b
MD5 b1ba30e9c33aef8e5f64e4da443615f2
BLAKE2b-256 ec5f074c0852d9a796aa88cbe30009b31cb501370bbef003752a3b41f8a984ca

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0430cdebd2a1993b1f0c858b78f25f851e51554e143080c5878438e6dcb3457b
MD5 b842081198c505c3ebd0a5a214e3cdf8
BLAKE2b-256 b66f94a3a1e9917384f7207f80685ce90f09e807564e40bdbced8d2c3c8d26fb

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c76e2ccdf6d11cf63fd86671695f328181bcc578c61abeed2ac1d42ec7fa9eef
MD5 e93d76c00c39dbbb49e4350d1aba1275
BLAKE2b-256 9d8d54e8e6aeb0fdd9be9ea7e71dd52ae59ee3d61f1ae39cfea5cb78f807dc1c

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 722370567d2c4d392556108e70459c92bbf325f00eef1d5538db3f9286eff89d
MD5 b8b87fdc22295e2b06c1a6df7fba709d
BLAKE2b-256 47dca51c344e5351de00ed7aeeedab9def4149edc3f9a59e36e306e4c0914fb3

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c2b5b2c0be8ff5d69bd1af90794165377fc609ef53360be7c83b323216e5c7f1
MD5 bd23e4bb0ad3347c227b1a0c7435dc20
BLAKE2b-256 99f4aa8a4a255d35f14a32c0748961989178dbf0526b22c5e70328caf5a7c67c

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ff9668228f6ac2207e6784bbe23e0f227a93ab096b0af1259797b70031a4b09
MD5 da5274889ff821f341d925312bab5940
BLAKE2b-256 0843871ed6cbc43fabb95fc266dfc4437491ab8a08b661d721bfddb11eccfa3b

See more details on using hashes here.

File details

Details for the file httpr-0.4.6-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.4.6-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0f6e3ac37d9f3de31589248f900d107a8d9d87c4ff6a3ffb2bb39eb37a03a8fd
MD5 4f4a2201db7b955cfefd45f04fa78064
BLAKE2b-256 decef273e542423c6cddeb37f9daf29f14e2bd0e9d9bb268e1a11479dae34db5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.6-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.13.1

File hashes

Hashes for httpr-0.4.6-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 63e865c81db62382ee10d37c3a5f9f763f4134ecc2f08ff30bfe8656c79b7e7f
MD5 c306a8459cfa2d487a547ea629c66a85
BLAKE2b-256 56c012fd48e5297604c5169f8da47401d65f91c977e2353046709d8474e2629c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.6-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.13.1

File hashes

Hashes for httpr-0.4.6-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 f4640609f1606c9ac19f3027b55ad1abda7d23d3fb736890757b7e614c8f42e5
MD5 6781f085caacdb386764ced6b8840789
BLAKE2b-256 40e11be6db94a93d4852690fa264bb2115f041be92bac726ac3105204666318d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cf1981be978fd411832177e7752ee119f9d129f5dd9d6a7abb46c3125884049a
MD5 2398809151a5d15e81686329bc39a0b1
BLAKE2b-256 8167c5f58ea3f84da7fad9339fe872a1c9a99620db931bbfb96f3f753a8c89f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f9daf1a4601bdaeaf6fc88fbe8d02f8084008e98d2e3d963fce5a320855ddc28
MD5 bcfdf61b3c697ce4df3a1718943a466b
BLAKE2b-256 8905c4465cf68bd9b39849aa15db371f5dfda55a389ba61061422ea2b8188e67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5bc55a45abe0be8e807ef654ff3138f85e755d6bf0360eaee9fda1edcca6714a
MD5 204b849fc20cd408975b3335ad71929b
BLAKE2b-256 d364e7459ab98305562eac31844a25353909d8e03eaf5c79322089f9a59fc218

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0b880ed647863a237ee38ef74689afc17d89da316fb569d961d7c2af831cd2e
MD5 b7d10365323292f97e72f79b9410a8a9
BLAKE2b-256 38ba6d0b1b58e890c2d362ea8efd392f28f46a126d667a401352e2dbe25e919f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 c9ddde03376530a2625b2344f5826f33bc47b7f5187cfdfcd2f3b4cf1594ab6b
MD5 d04466f1f645e635e540373ee204270b
BLAKE2b-256 25969dfee8b8e944cdbd5e93b675a9093c4fafb6e39442bc932e3dd28df84c3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f5d80a7fd0b25ac97dddb6c0613793d79bdc8adc92bcb7a3a8c2fde81b944986
MD5 90a57b9ea9f80321ba7a4166c86373d9
BLAKE2b-256 c7c4f03b99a07e2878da336deab5264d51d1ac9525ef5645704601f72847be24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 53a1cd633ace27b5c9958e571eb644f46f76fdb392070bbbef0f2ca80eb1c12e
MD5 c9101625e91fd7a864b6fae4b8029052
BLAKE2b-256 ac4c77db1bf1a4b11ef8bdebf7370a1ec8f904452344cf0c71f4386c60ed9234

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d3864551a570ad8002dc723dfec71faf7eea0db83d18ec7028b06913a2a3461
MD5 f62fdd2347f43f38ccb0085ab8182125
BLAKE2b-256 9d16bd5d6fe0f2f679b837b750b19b47729d58e3686ea3c90f1259236be8d225

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.6-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bf51350febb5ea9621be03f808361cbcd94c53d8f4b93e737a43e2f54b32ad3f
MD5 d7c67e5a3e21b313d2b2e10c4e9a9473
BLAKE2b-256 b46222bf2611666f3750646e2d0119aaabe4180be57a7e4af7e0f63d40fa2a29

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