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

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tWindows x86

httpr-0.4.8-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.8-cp314-cp314t-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpr-0.4.8-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.8-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.8-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.8-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.8-cp314-cp314t-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.12+ x86-64

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

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

httpr-0.4.8-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.8-cp313-cp313t-musllinux_1_2_i686.whl (2.6 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

httpr-0.4.8-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.8-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.8-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.8-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.8-cp313-cp313t-macosx_11_0_arm64.whl (2.2 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

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

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

httpr-0.4.8-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.8.tar.gz.

File metadata

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

File hashes

Hashes for httpr-0.4.8.tar.gz
Algorithm Hash digest
SHA256 09f256d149a6a851ff31d2a5c0ce78f7c5229d730294bb6ec16cb49bad48a479
MD5 3a8b16efcf5366f4df84c9dd91eea18d
BLAKE2b-256 a97923d302611ead1a9e82f08f4fcae9c9f56e5f1dee648870699bd380f7db4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.8-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.3

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 d9c13998c7cdf54e224aafd3ef1bc5a829e7155b91e160cdcf95f22e169053da
MD5 2703868260b6d0157e4f60f488ce02e6
BLAKE2b-256 4024bd8f72da1e23567e06489203b27784450892de45bf4782761e5a83bba14c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.8-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.3

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 b7760964854651a30a4e3e9f581decaf252e98c9820248f1554ded4e8150fd2f
MD5 fa10ddf712939446fc222bd598877e0d
BLAKE2b-256 edb547ac999490a9329d77af5fe15e33c782a68efbececec0624ecb547103c29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 450d085621a371ffad86b33f578c690fdd91a26e510518655435daf72b2bb7a8
MD5 9025cd2956675fd17828785b9bc83f8f
BLAKE2b-256 38f86967f7c5c01ae17263d78caae4b61ab40ae16704be68219440aee28eae90

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 81676efc431857d6456c6aceba991d60d7dfce5a86b8bd80a6f5e7080bf59f52
MD5 f622f59f902037456499bc924f041532
BLAKE2b-256 c68e64053da09697a3a2691c37024ec353348ea01eaf4947bdca9daddcebcfea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9ac54e003d56619fc3f8eec0ebf74796660723f463f15bd42eca73acc6d64863
MD5 d0c387ca5119f48272ead16f412f17f8
BLAKE2b-256 20ebacbf7b65080b4693e4281de5d016591490f91628112b9a807c7cb6b69d1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ea6dfe6f6c75538c2b06bf656d8a9c63f4c6e4dd70d26e406edf1c4650eee5ec
MD5 9c9708da37b68f3913d45a82d6baa817
BLAKE2b-256 497e55a294e628a1e50347633aad90d89d60075b8af02c53e4507d3c9e8a6835

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9931838707bc996027fbb9f67d3c336d97e2fc87c0d7e99f8d32011029bb5299
MD5 32038535d1da4f42df64a488c6402e9b
BLAKE2b-256 dd57e7371db4f2b282bf616cf9bf35a583dbd98c31a01fd373fd4aa27aa63460

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 112b04476248bc177520edaf8e36b76c32d941a139ed8bd2abca0ce9fc422f58
MD5 463ee95d1ed7ce82091c4de2f3b353e6
BLAKE2b-256 0df430bcbd881f70dfac221fd518cea5419c06ea32afd5cac396c09b705aaaa0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 406e8a8b15a2b0e31a14e49aa0aeb9c9b2d28f538adf87dc411b656dccd48cfe
MD5 7f4f42cf3ee06f1a09883992802a2985
BLAKE2b-256 3ad5c3341fd3875c81555c86d3803008c75ccd6a62d877575e67f2ffab58c15c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8f20dc617038fd19eaf21af3998849b5be959da474a3975cf3af70d97367b105
MD5 8a39693a80c426b1da1d3da606aa1438
BLAKE2b-256 1824e49f28ef14e640790821c329490fb75044f031773be43c40386ba0801a78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 86c042f59c742200d410c0ba3ade198f2b7dbf9fdfd62bc90b4189a6a7501e3f
MD5 8f8e1c8d731acfa66271c1c3a3cad6ec
BLAKE2b-256 9efd85fe95554da69bf572f8992b421ec8a14963a9e2d38098aacb7ffd71c80e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.8-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.3

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 3addc3c6ce5c355c7647ed2677eba5d16969c4a3fd608a844c9c94f7b0687127
MD5 c1ed11a2101aefbe2617e414f5d3b806
BLAKE2b-256 82039b40a34a2371b8d4f96464bbb20b425d580e991c0e5b466df8d4d5ff7110

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.8-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.3

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 78c9906c1b179a23e1a486396a7d1b2e80918d1f03b0df1794ea6c0238638ddb
MD5 e066f3183859f775b3fc5537b7b720a5
BLAKE2b-256 97b95ae3ef82f8dc9ea96c1acd5a37f75a5504851a9572be655430b44d48822e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6857b01f755545c900601d25aeae408405bbf9b10ff412debd0ddafdc5792f94
MD5 79f89cf97c04290d6aa4130041631ea8
BLAKE2b-256 8e384467187fb1094d6edfe7598e5f9937d4871cec4dbf2184ec8ac3d57afac9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 989bfcb481e278f47f36ea67e0924ec8fb59f011d06ccf88fd29b3894a24e8ea
MD5 06e3c9c63089dba643610cd332460c59
BLAKE2b-256 3e071f05a0f7af66d2468b6d78a6d2c7ab38448eb836165e1c851d79dce3a8f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 480fc7d51a90c9c58534d94f4bb9e4714fde746d9a621bccec3d1a283503f05b
MD5 c12e5454edb5401266e7dc65f6dc89dd
BLAKE2b-256 2fc9fd069eec6c4b90d61487b3d91820244701d4ee56a7fb10e65fe1e05c8d6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57cbbac3b4644fd0340fbce1a6b4cc15ecfb3171b007866fa8654325273a9cd2
MD5 d039ceab596afd2bf53aecbad6923256
BLAKE2b-256 a88c91c164a37240348c413c8af3d28471989b7e7efb3c0cbef8b745820de5c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 394bc8efc529812466e8efdc7d77edbaf5468f7456ae16be6e2adaa0c91553d9
MD5 dbdc95967e6974a4a412a070a1f7d8ba
BLAKE2b-256 d0de3b79d023e0fad47ef02ccd3ebf07f211cdb784655556d327895c055f584c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bc51ce9a50bbe3ff6137841c5149c6805a002cc7beb808feda9c57fba3562c78
MD5 bb21da396699e4d441575c6b0230f30b
BLAKE2b-256 13488da6fabceb388efa8a8c762bf8b5659496b4babe108734ac2815c0a7076e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 90d0012346294c56ee8dc442836ee48360276e931d3a992ab7edd0aee304cfd9
MD5 8227f2aa1184295fb142074a9a216abd
BLAKE2b-256 30ae7761ca41baaf0a8f4a0b1f8a17864fc47e28f6b72a55eba4c99c9ed42dac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11c4db24a4c05bcdcee99c64ae5a1306d79bba63a15ac08b30cf5441817061f6
MD5 a0977924ef54fd2649fc416fb7104c23
BLAKE2b-256 f5d62cb473267c6bbaaf2cca29837194c2121d5cac6881df3c4e9febb7146e84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8b3141f7ab0a2ed4aaa585d66977ae781a6f4a22ecc11846ce59e8cecdf82cad
MD5 e8a7c530a37479f3659bef9b8269286d
BLAKE2b-256 5496381d8cfbcb80e8f04f0d47c75b1606a67363523c40e60dd041cdb548272a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.8-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.3

File hashes

Hashes for httpr-0.4.8-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 fa3d0873f23844106abfe37018a0c5dca39dad5c099b4487fee81e396be1aad9
MD5 8c29c6d6ab5e614f6b4592acec191ff7
BLAKE2b-256 fbc03f4b93cf465b1385522005e0b96bc24443a852c68f1917ae73713d00fd6b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.8-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.3

File hashes

Hashes for httpr-0.4.8-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 702e15b5f175137b9b8833fbac2eb533bf993492ea5fc8d9eea554a33bd23d70
MD5 9c214e3760b94ebc090955eaa4b70cd4
BLAKE2b-256 53f579638fdda846771c088a836744ceee18193693c57344ed0ca3ae84f39317

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cbe0cc48572d2f337cc146e3e38a8ee0f2996f5395e7dd903590771fb2206301
MD5 dbaf72097bbe1a05ba525b5c9285304c
BLAKE2b-256 643587919b5a6e5ce6da9a2422472b4576a383ec8ec126bfdb0a243d04e03eba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bb3105471b262adca5908f19eb4e45772ef41a7d58e8585e4514432361fc402c
MD5 10e0fb5bdc6cdbd71a0af3b373fe4900
BLAKE2b-256 22aa3b60e79b07643f477e835f292bc1ee3d29860a6e3340ac1ef57090f6bff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a20644906f8c3aaa69916abd6085239bc46f34d5707af3691861becee256e61a
MD5 fdc520aefe6fff9fcd4ede229db1706d
BLAKE2b-256 fb707fbce11d3cb263f8f4c8687a5b3464ffdf9009aeae3aa007eedecd86a502

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc9c7e3637b2a4809640be393e000837f34b97112dc0ec36aa77a4724323ea35
MD5 0139104827aa980afb38b6bf0cb7dd70
BLAKE2b-256 52fd1cc25db0b8600e392b392aa8ce7cbcd240627d25216f1d2c5c9cb0ab463c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 319ec5be742aac4c715598b0c21971f98499bbf1a77fffd2b2af5228629e9ad0
MD5 3a736ff0d30b62acb2380f87be1e702e
BLAKE2b-256 3ffdc18b6c508e2825dedb861a8f0115eed800ae217b74ddae87780ea688d1c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4cce8b7c71b3726eae739545f202b91f869d54896d39dc80eb27e2626823843
MD5 362d45ec8202c7d50c400c6f47b3596c
BLAKE2b-256 cce8e1e9d80f13ec5389cbf4d9c87a1aa16fc0bb364999ee9b618608e78d5aa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 5c9b41527b4c5eb1e5de9e6a5f30915601ac67caccedf5c89d1103ce667d460f
MD5 412d26d285823efb10eae56906b326ae
BLAKE2b-256 36472efef42fd10c8f98d6d0565b6c278a574cb39ecb1175168a971123c9363f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f446a6d4ca42159fae36f6d7721d3035b277a81bed3a62abff356034ed09fa35
MD5 bbd9e74c829efb1cae45de72ca831d9d
BLAKE2b-256 9257911894755cc1906f5dcef8dd692debaa21ae402e26b33d2d369f0e8679c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.8-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df309d5d3616ccfc53d4decf178d119039fab2e8ff2bb5f4bc96eb9ffab675cb
MD5 f52cbb361adff0190a672a51d674b5f8
BLAKE2b-256 56a8f454134c8f0e2f724f8f596e2c480a9c969dc4b602805ddfda43e5c909f2

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