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

Uploaded CPython 3.14tWindows x86-64

httpr-0.4.1-cp314-cp314t-win32.whl (2.1 MB view details)

Uploaded CPython 3.14tWindows x86

httpr-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

httpr-0.4.1-cp314-cp314t-musllinux_1_2_i686.whl (2.7 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpr-0.4.1-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.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

httpr-0.4.1-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.1-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl (2.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.12+ i686

httpr-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

httpr-0.4.1-cp314-cp314t-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

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

Uploaded CPython 3.13tWindows x86-64

httpr-0.4.1-cp313-cp313t-win32.whl (2.1 MB view details)

Uploaded CPython 3.13tWindows x86

httpr-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

httpr-0.4.1-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.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

httpr-0.4.1-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.1-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl (2.5 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.12+ i686

httpr-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

httpr-0.4.1-cp313-cp313t-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

httpr-0.4.1-cp39-abi3-win32.whl (2.1 MB view details)

Uploaded CPython 3.9+Windows x86

httpr-0.4.1-cp39-abi3-musllinux_1_2_x86_64.whl (2.9 MB view details)

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

httpr-0.4.1-cp39-abi3-musllinux_1_2_i686.whl (2.7 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

httpr-0.4.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (2.4 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARMv7l

httpr-0.4.1-cp39-abi3-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

httpr-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

httpr-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

httpr-0.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

httpr-0.4.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

File details

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

File metadata

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

File hashes

Hashes for httpr-0.4.1.tar.gz
Algorithm Hash digest
SHA256 4a592c26b775e3542ea0fea069dd2cd9e9dc5a80e24e1fa2a466d5ac374eb03c
MD5 b47b2473657c3256427a8ed40d03de8a
BLAKE2b-256 38eb644349f01f0e8af737a52aff18f69c8490922ed890ed2c256d8d5db0c6c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.1-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.12.6

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 419c4894a4547829636abb0ee98a8d27de4bf96555a354b8bc8c559f56e0e0a7
MD5 1e007493527550eaf4f492c7daf67f31
BLAKE2b-256 3bcf07a68ebbae6397680bd6610fed4ad5658af7b42dabb3cc8b4bdb34efc850

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 45c89be444b92bfad2e8d217045d07a1db7671b66df57f6bb1372e29db78ac2d
MD5 1f6530021b254efb1a71d64d9989c75d
BLAKE2b-256 3caf1539ed1699e7d145f735fd1a9c726ee04c0bbeb092bf113d86320b1e269f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 14e6199419478540f98c66ea84c518623d1fa6a831a977020c3c7e0b68a5171f
MD5 07659d6c4bd02389f2f260114a5e71f9
BLAKE2b-256 eabe83219b05e6deb73164f3a1293dd1e534e1022bf20256f0908110d35338b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d735b76da08fe88f57b914dbf03a790af7fc555eb2d343ee5faa27f90d0f07da
MD5 a47c5696189c582b275d9ce2b8754618
BLAKE2b-256 11d70d9fa9d695e2dde009d01d9380c1dfcbd6c1dc6b6e73c14c5ec615d36bb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ece5a1207c654080af757364c7fa0c4bbd25ff910db0f240a4d4b89d4c1c88a6
MD5 7d5e1da9fd0d6386d31e00352146bccc
BLAKE2b-256 6b92ba4b17be7e4060bf36e7472e2afa998eb87eeb168cfb0ce5aec0313b37d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a070723b04c9e41b4b8d6450f97dbf54820288d33efe740525f691d47c4af967
MD5 85a67df0bf65b4a8d816b756f0183a6a
BLAKE2b-256 0c8f1bfa9a6767244b79df82c202c2843b664f9fc1acff9dbe7f982c8627d2fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d77c62647bf6308d308b8352ac5132d96ab58f58b93c39bdae340a2fc5de0d44
MD5 0f4ebaa354d374c7a2bc81665d6ba528
BLAKE2b-256 a8bf92a47a0ffdfc7729786b00743dbfce34d7d2bab3ee3bde3ca17aa3413d52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 567ad9d8d24e889a06863ac6108f7bac7960b0cacd74ead04608bb9baaf44444
MD5 ec0a2291281bc09205f6e4159a63f1dd
BLAKE2b-256 bc162e62a445588f0a4f832c4f3a8cb3e3d24ade52fdf59ef5ad426ad8fcf090

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1e610d73c813ea8c5b65b3830459f9aa8a5ce29afd4e50548e4706c1dc270405
MD5 dd007575f8b6bab55d1edb698bdaaa35
BLAKE2b-256 e8fcc4c6755d38f4a97302992da1a5a9aa8d01e5ec180c09c47b93e2a7a9f85a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12db774b08250742183f9e4ae45695c64f832627f4c5f268cb59aba1e5c360b1
MD5 e74c99cabd29605abd07134ce28a1228
BLAKE2b-256 61c43adb4b708cc2f5b44110f31dc217f292a0b33e71f6ed0d0c2211dcb03236

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 13f1e2768d2c1543c874119beef2f68e98a9452c7c076038833ca03a60fc2e5c
MD5 76b3a705f52e801c2728d6f973d662f7
BLAKE2b-256 f1ee7f654baa4061a88e9f4f156bea797783a4ba28929cf620778e7813ce19d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.1-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.12.6

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 cd4497483a78f4a10eaa9d67211a44176b7aec7a7de288228b7f1e3e0b958b0d
MD5 277a2abd59e04fe2548c2f658c068378
BLAKE2b-256 ee05f9652691effe48ac17c75372716cb6361245a4f8f7d70129dd7b72bd33e5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 637d58b3338656ae68d04df938db3028cf83a217874da92d94a0fe85ae286ecc
MD5 d92af237a8724706920538c6f95c747f
BLAKE2b-256 851abbde0bac4410178b895100c986346681e7b216d6f09d367270b692cb8e2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4cb71034ef883243572debc078726e011a586932450951929d707e429aa509f6
MD5 fa84c79a42b25ab8e3e2f7833d28ca67
BLAKE2b-256 6e93c87b7e11e644948fd83f853b71e3d0989b217592cfc2efb37bbd4e835bd1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 46f9b006d3c61f597f3f7af03b69827bd1a14de6a6adfca28f6b9a5e3ad3dc23
MD5 c2f80ea4033ca2d7ebfe024e87f75018
BLAKE2b-256 0778ce957ec65331b375a276471856bea3345c7e797e1f700e4f038527d9b3a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 91e96795f20b53e54cdb031013134de87b7995d3bfa51ecc4aa26de9311b3653
MD5 7d4bded111b5d503e97e33655876d14d
BLAKE2b-256 693328787212ac8e0e166a7a06decaa9531d1840ed68698f2e10c3372ce13a60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83a702fd09af35bc03b95edde0d1eafa5f2ed46750e0f240a75b370452ba6782
MD5 2a26d1427e5dcb8193931f19481333c4
BLAKE2b-256 8543f48b3f7f064f06435f002d33298c8d2e09967c29135f959011daada6c3c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 724edde6bd87e86f64b6581bb94690adbf73f5eb6d5f207b2adeece53069fcbd
MD5 39af4f865af87678da7c61652d99c5f8
BLAKE2b-256 3eccea799133ebae7922a10e161a5d0d50099035b999d03f11d5cbff7d8d3b10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b6fcd417f838cb05ccf538f08fb3ed91586dad2641f4285a2b36b312405bc85d
MD5 165b250279a22d3e0b17b75f0bf88537
BLAKE2b-256 704d19234dda67df6a552c0776c4987d875cb1a77190a0bd4e418cb558b44d63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 fd00861c9271056d4e270e8d8ca764ada592e4b1c451d3a5d7558f59fbae35d1
MD5 f795155415fa04ca18528c7c59c9bd68
BLAKE2b-256 36f0d093b7f779eb3cf97148c377c046d4408ff569332db3fb3ffa70a90978ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 524216fd1d688c78b0a523c6fe5220198789ddc27f4576d2a43a34ff7b7dbfe7
MD5 63572486cd6c972ff8911438047bb0a4
BLAKE2b-256 c581271cf119550d684cab56101807540458f801f8c2c51f44d287ea59047031

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 134a8b0042ab6b102a141c717219994ae9aa89e88ad97a09c8702f790225a623
MD5 cf1b22cbf062336dd07a8e8de282001a
BLAKE2b-256 839e6babaca23d526b8c32232919104def1d81cd503741896a2be9e8ba9f0d9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.1-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.12.6

File hashes

Hashes for httpr-0.4.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cc2da5229e200e08e7858b55df99ddd33e48fba450f484fde0a035ea627dbf20
MD5 fe94cd69a4fc968cf6b9e3c9e81ad25a
BLAKE2b-256 55c1149c9b3071339da353422602c73562062b3f11f2a019cecd20df8bc9f2a0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for httpr-0.4.1-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 5c6ea2a1151cc665faa6f6dae017a86d380590d5dbd0fd4321dbf1616f8d7660
MD5 3a6f97144a7f181aa806e901e5ac8786
BLAKE2b-256 94da084472a759715208f620424a08322b40569b40239c44a31e74b98e4c9a8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0d61f8c95d18498d90052048f890b611dacf3aa646d5dea68bdaf295d5bdd0c0
MD5 da1c524f63223a9feec6c8fd7bebb138
BLAKE2b-256 e6a02986108c3d5ff7ea39587fae0f3eac984d7fc03f1975fc129e1eaa779846

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 ad2b8c324f856e061e5b242cae9eaedaf460c166f1fd7ce456a5872860d3d81a
MD5 6bc26e9f4377d3a832737b706248e462
BLAKE2b-256 d89f94e93f742d302dcb00ff4a11b2da012983e886ad71508bd7f07a51fb71f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 81162019e2308af4f0694d154a8286f99ef8cef5f8ef9b08aa6699288e2059cb
MD5 fd0d70a7c5ce9fc8a55e76f9d52c5245
BLAKE2b-256 715611acf0ec67166ed5aa17ae53c563bbe9dc5781527ce03d23dbe7e580c4e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 30889f270a2dbffdfa1575843c021909c2f38ceb576e89f7992a45ade097d262
MD5 6939c22cb239a2e36a711ce0b3e02dd3
BLAKE2b-256 303bc9c31136156b35b0ad9db04dd2117ec5a13ad885ec51f3b0b3bd4fba43f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0eb815d995826c1f0a82f3bad837bc90c53ccdcc3aeced1e8b49afcec31cdec
MD5 ae9d0e48dfc2ed08683e5c409a1aec73
BLAKE2b-256 99ca496a46b119b0c37fe245dd1986248343a62f31bf5a601a8b2bfefb21b3ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8ac0781cf3811c4804d8fc8092e535350dd1f9ead1678d06c05bf41c027526b6
MD5 e224875a01e44874d086f8e5783c23d7
BLAKE2b-256 7302b41c7b05d8ed68895b300d7caf2d72c4b45dc535b4e881f2ab58373ff3b6

See more details on using hashes here.

File details

Details for the file httpr-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for httpr-0.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f1b724f27ca6ca7278186bfc2009e5b9f53bd9d098b5a314c8558e72ce3b8cf
MD5 9a89e843f0b61ac0b3e7139d32b80b62
BLAKE2b-256 2cd243ae5889b6311956215d7663d4c58bbf6af12be64f403301d83148ea05a9

See more details on using hashes here.

File details

Details for the file httpr-0.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for httpr-0.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fdde11f10e26bb1ae45d6c6d9eb16120e41301ecd67ba089c55075ab633b7170
MD5 9abe9536db376e17e77e38c48347f698
BLAKE2b-256 525000e9e52741d0fa75e8c48546baa2f7dcaf2331b040f104c721632d5201e4

See more details on using hashes here.

File details

Details for the file httpr-0.4.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for httpr-0.4.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 1aa2296f129042d98bf8f18f7ab5cabf33ff7d2f7d825e307c414cab743b05a6
MD5 bdd17575be542298d152a8af37de4555
BLAKE2b-256 a4267f9f44e44d24698c552133b215ae142c56b572db9fb0cf3520886abc7f67

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