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

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tWindows x86

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

httpr-0.4.0-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.0-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.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

httpr-0.4.0-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.0-cp314-cp314t-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14tmacOS 10.12+ x86-64

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

Uploaded CPython 3.13tWindows x86-64

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

Uploaded CPython 3.13tWindows x86

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

httpr-0.4.0-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.0-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.0-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.0-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.0-cp313-cp313t-macosx_11_0_arm64.whl (2.3 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.13tmacOS 10.12+ x86-64

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

Uploaded CPython 3.9+Windows x86-64

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

Uploaded CPython 3.9+Windows x86

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

Uploaded CPython 3.9+musllinux: musl 1.2+ i686

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

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

httpr-0.4.0-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.0-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.0-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.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl (2.5 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.12+ i686

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

Uploaded CPython 3.9+macOS 11.0+ ARM64

httpr-0.4.0-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.0.tar.gz.

File metadata

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

File hashes

Hashes for httpr-0.4.0.tar.gz
Algorithm Hash digest
SHA256 9492d870d8ea0bf67af38490184e960b84b35a6ec52c08cca946f4f8c7a958e1
MD5 b4ea985352ccf2287ae8cd7b4e0c3202
BLAKE2b-256 6bfefd1fd6fe0c087f24c48d8500e04815f910e3d4b13cadd0f7dc9e09dd6db3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 413a9bb9120fbc31974ac044b67e5767626d7a5749bbcb20dbaabc084bdc8568
MD5 fbc98b1f21c3c256be44a26c7efe36db
BLAKE2b-256 3d6ca7373d54d2158df354ff4e2a2f7fc1401fe38ce9e353dfd835f71fded8be

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 e90400a65ac21da098b6d42ac4ce7d732fd43a09a7bd5cdb2469f51f0fb0e8b6
MD5 c980a4ad508627d2218e203048439aa8
BLAKE2b-256 b87ded9cdc6510c92293a46d6028fb610eacc343a33eefae0c4bc3c2d825e075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fcf6b9ea0b1c041bb17a5cc31e2a82507e1cae4e4113bd138d9ce35913ecf0b5
MD5 9ab6fc6db399977d93402abab4824c35
BLAKE2b-256 e11063d482e282dd6204eed0c33471c9ad220088a884500dc02daafe28000f1c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 66a4653ca379457c2cffc1fc1e91590718c841ecfeecca7854c03bdd0ca9e28c
MD5 9fbf1dca98fbfe3f9d657865d4b0b21a
BLAKE2b-256 c5d20dcc2556cfc5d83a4277b4a3429f1716e6a0ffa4b14e4fcf2cb68af524b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 289f39d46b5304722543bbd5b90ba8fa1956fbc5197f846e93308a4c766d0432
MD5 761cbee32fd3103d64c8a861506670fb
BLAKE2b-256 1e0cca24334bfaf8c1799546a2775d52318b197c690ec57eb82bdb455593a994

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8442c79b6421c1845699db498cc1bd1204b8c97e9274ce55b01496b2fc33566d
MD5 4c957aaa0771eba8da55ba328dbd0879
BLAKE2b-256 bf059b8075bdac60ef688c25848d06a7006621ad02fd0365181e05d913f45a9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f964bef6c4b67b306a67f682d32102d5910042e063433d7c262177d5e75003e4
MD5 3a9547b1cacfeabfe35c6c82a54dc3ea
BLAKE2b-256 f84f91908a2288926d76ce4add68ffcca83e3859053e53cc3a62b0b56c5286e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f96f2b78916e170f3f5d0499a646140e16066675799d425253b99015bc4595d0
MD5 d6c3e40d763bb3a638b60ec1e52ae4dc
BLAKE2b-256 512480936b93e907a1070991b81bc8c43f850dfd08221f9f1865e18adbb62a5d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 20df3a914daa23274f69326997d265b20f94ecac6392a1b69d85c3fb638445e2
MD5 9ed50ae7e1993f26c68493dc2ceeecb4
BLAKE2b-256 e54c9d8ff5de0023fc145593e1309b7ccae1c870a91327f6bb0d42615ba3442b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0d1b1d1308a02998392d18a8215312f6983adfb9b9b4851ba94c4e669530746
MD5 53c34255f191c91c0e07c1c2850772e7
BLAKE2b-256 c8aae81396a779b6e4da651657f094f9a07f4356666b895b0a46006ae66fad6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cc0ba7917931257f8afb2e23c3796e65cd9f11cbc41b052e3b2dde3f74f7e898
MD5 5e50386f6bde1a5714b893ec8d755d82
BLAKE2b-256 1ff5452b2cc389f9adf57ea71c046f1ed2db45afca6d830d2a4116ff0e5bd38f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.0-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.11.5

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-win_amd64.whl
Algorithm Hash digest
SHA256 7b08072e2fa78d5be50659c119be201cfbd31ffa239acdc64b33d6c93815a9c2
MD5 0689e3aa3a4b034df03672504f7d5248
BLAKE2b-256 0de6996db0e63a9df243eabc41f96ae640f730e95a0f604ceae05cedd1240e83

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.0-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.11.5

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-win32.whl
Algorithm Hash digest
SHA256 90db4bf66b12a349ff6b4702442f3af7838b2fe883749dc1b07eabbac00c9387
MD5 36bf538cd79b5599271e4cf74259c213
BLAKE2b-256 43c66083a922e4bd86c7a9886f4fe38c00cf9ccfc0d44f1128f32f4fbe4fca13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e45d123685928fc714d9d31ec1651767af294864f6909010333a2b75b507121d
MD5 b02d44f6b29bb78704e01fc76cec39d2
BLAKE2b-256 a9d44c5cd5b56da09097b3b65b1870b536b5bb3fc68ec330de8f73b0f6c99e38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 743d8c03d42661f5dec6c57f13f25b6a78acac1a5187b2f7f378b9a02961284b
MD5 3375a56a38986d2c552ccc702379d1bd
BLAKE2b-256 6204028e4b568d7634c8d2f137fe018a3ecc3e054772ad1dd37a4e9f2c14721a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ff9a379decf180d9ad63a3c6b5db9b5e26446fb85a01ea819db3e7dfd98fc2d6
MD5 bbb02a0702ec440ea1dce60f1d39f9ba
BLAKE2b-256 5567c8a88fa46a90f648e7753a6262e0be3f8d2c13fbd3176336850d4d0b77a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c995ab53ae582b71817231042d2ce3e7028f181429601fc6881e1a7b7558c24
MD5 6bbe0d0459dfbad69cc8a5f755ca0b6d
BLAKE2b-256 3022df7bdcbe8341ca60f839b28799032f358cf1475770e4bcb75e250b9ec488

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f006affb19f6a000cf9e3695194c35d9310ebfbdc5ce428eec84df85ef9623a6
MD5 9c253f88928c87faaa6894880c41ec85
BLAKE2b-256 1a6090d3245a6ba1ca54f21c70c9e18c04c38ca98be6e57850c319daae54f80f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 499228b58e13a1417b1c9a83798ef63dcc6a67bb18ebce265c7b58aa0d49c1b5
MD5 65b5c20028c057d19d4e52be28945aee
BLAKE2b-256 f0f29f5ce887e82151c0e96c2dfb90e944f9ca24cca7cd136292ee123b866e19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4e2242a07744aa77d395a7c14791d01b639276b6a9fb8ab427cb067dcf44db42
MD5 e03d3bd363d0830d9575bffd0251c882
BLAKE2b-256 05552fd332a5424a12768c5533f081430edbf4a28d73a4f819ae7995e065fc7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03e9956fff74e18bf91893971ddba422f9923cd42452d6675cf48be792106f76
MD5 f542666c0ab0f0786807828a0e8b9241
BLAKE2b-256 cac99b90468665b64a8c7a1005bd89d1f1ef3f82cc1f9f5e5827922e02dd3d77

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e302eee955b1ef7c5e4477e0bceea12e238a51919014dd6e61a62b3097f50065
MD5 90149441404b198942eb29f3fa0afd59
BLAKE2b-256 f647c93e9d2d7068d092559e3055f34c50bd5a4dfe2b2bfdb2f9a6e296e9b495

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.0-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.11.5

File hashes

Hashes for httpr-0.4.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4cbacfd1dfde1d471688e75c7569483172fc911fff5355849cc6e936b8353ded
MD5 a1a27133fe01a36c6e81429bf426f78e
BLAKE2b-256 ee5ca6182390192a3f869b8352513035ffeaf7b9309239fc339b7427f98bb824

See more details on using hashes here.

File details

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

File metadata

  • Download URL: httpr-0.4.0-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.11.5

File hashes

Hashes for httpr-0.4.0-cp39-abi3-win32.whl
Algorithm Hash digest
SHA256 2e48558622c0819d527a5a765dbc93888aa0443b8272cab19303c870e1113582
MD5 1687f5aae354a08bcc5ef7434c3c2b93
BLAKE2b-256 aa84d2f82d80c617c9011ec02a20177c93800121e509e53ed2a89870b088894d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8ac00788e17b58b55189fc0e930e6f57a6b74f775d7b981ccc77974ca4383f51
MD5 5187d4a078c3552a5d9b498c6f1a3159
BLAKE2b-256 ca1f3c0704ff2f9dcac35cf01f304ffbd6fa9c31e4a1fadd1de89a2cd11206ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1a0880c878f3f250e14441da47bfa109a5710a3693a7ecfc2e806494d8b137f7
MD5 36a21881f8562987f89e60ba20f30537
BLAKE2b-256 4fa1c9c596789e5f6c58753d5207a3393b9e5fd0ef51fa248931a4db43611afd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8e747736d4f369d5f863d9e347287d90ee6f5524cb74547d09fa164987017546
MD5 75f4e27892c2ccb04807d95e67b67281
BLAKE2b-256 6a0240d1c289e945dc9673699317c204688f1682d1044d00b4922a2ff939a05f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf90c06a9126d7f134189ef9ad053e6a378cf1c0c6ed538a721ac1ced73061e1
MD5 ca61fead160afd65900ab61455082ad3
BLAKE2b-256 8e8ac7811b1b1cac205a746085333db89b11133cdfc909ebeb29c88297cbe586

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8989278faaca5ff3a63b444e777c309055a5b2a7e336a031635795ade66c9d2c
MD5 1fead91096fa4f068798a1a45befcf50
BLAKE2b-256 86f196f278dc384f9bc03e7a278c3f1e6328eceea3f73ad6457f049fa5d026ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 152a9e68c69028477e0b4df41f8a9c35992003daf36e72c4cf314e0768d1e923
MD5 49edd7d5dd6f334237dd83ac9b94f94a
BLAKE2b-256 1a3ed5c280125d99bfcded0024e557932fa46422c9287092f10cd26ebb5e6f97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4a329d65879c4e3efb5a4bbdffbc61f24412fb447c60b3beeebaf7cc6dfd96e4
MD5 700c2ff62c3f54edb7bb10eb6f85126d
BLAKE2b-256 4e215c57b8c5c40ed1eb15d44dc039f3db9aac6d43f4a45e33528d2314e0d923

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f99cbcf8285696077e98604ebd6b9326a61572786f2959e22dec8fd09b6849e
MD5 706c54825da6f09a273ba04357d33084
BLAKE2b-256 102a945a7c860056ebeff8b22568fbf16295eab1c4e622a41a0400439cc902da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for httpr-0.4.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 88d6d7fa042a042b1498e27bff2bc6e6be9d81154010ac56d80965dd7113069f
MD5 a9b6ef6aa3baf85d427f4932f806c0bd
BLAKE2b-256 9aaaa1fb5e69e4d3b17c52548efbb25eaf98f9191ca38b97fa144ad2064019b2

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