skillfed

pyreqwest

Powerful and fast Rust based HTTP client

pyreqwest v0.12.4 190.5K downloads/30d#9,907 on PyPI391
License unclear Active released

What it is and what it does

pyreqwest is a Rust-based HTTP client library for Python that wraps the widely-used Rust reqwest crate. It provides both synchronous and asynchronous APIs for making HTTP requests, with no Python or C-extension dependencies—the entire implementation is compiled Rust. The library targets developers who prioritize throughput and latency in high-concurrency scenarios, offering connection pooling, HTTP/1.1 and HTTP/2 support, automatic decompression, cookie management, proxy support, and built-in mocking utilities for testing.

The package requires Python 3.11 or later and is distributed as pre-compiled wheels across multiple platforms (macOS, Linux, Windows) and architectures. It includes type hints throughout, supports middleware customization and JSON serializer overrides, and can integrate with ASGI apps for testing. The trade-off is that it is not a pure Python solution—debugging HTTP internals requires understanding the Rust layer, and it does not support older Python versions or alternative implementations like PyPy or GraalPy.

Use it for:

  • Building high-throughput microservices or API clients where request latency and concurrency matter.
  • Replacing slower pure-Python HTTP libraries in existing projects when performance becomes a bottleneck.
  • Writing integration tests with built-in mocking support or ASGI app connections.
  • Handling complex HTTP scenarios: streaming bodies, multipart forms, proxy chains, or automatic charset detection.
  • Projects requiring both sync and async HTTP clients in a single, type-safe library.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A Rust-based HTTP client for Python with both synchronous and asynchronous APIs, offering high-performance request handling with connection pooling, streaming, and standard HTTP features like HTTPS, redirects, and authentication.

Yes, if you need high-performance HTTP requests and can commit to Python 3.11+. The package is actively maintained, has no security vulnerabilities, zero runtime dependencies, and offers a mature API. Verify the license before use in restricted contexts. Not suitable if you require pure Python debugging, older Python versions, or alternative implementations.

Install

pyreqwest on PyPI

pip

pip install pyreqwest

uv

uv add pyreqwest

poetry

poetry add pyreqwest

Installing pyreqwest

Before you install

Medium install friction due to compiled wheels; requires Python 3.11 or later. Actively maintained with a recent release (2 days old) and 391 repository stars. No runtime dependencies to manage.

License in practice

License status is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in commercial or restricted contexts.

Quickstart

# pip install pyreqwest
from pyreqwest.client import ClientBuilder

async def example():
    async with ClientBuilder().build() as client:
        response = await client.get("https://example.com").build().send()
        print(await response.json())

Requires Python 3.11 or later; no support for older versions or alternative Python implementations.

Verify before relying

  • Actual license identifier and terms—metadata shows 'unclear' treatment with no SPDX or raw license field populated.
  • Stability guarantees and API compatibility commitments—package is marked 'Beta' in development status.

Package facts

License not declared (unclear)
Python support supports the current Python release (>=3.11)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 2 days since the last release
Last repo commit
First released
Downloads 190,532/month — #9,907 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyreqwest-0.12.4-cp311-cp311-macosx_10_12_x86_64.whl; pyreqwest-0.12.4-cp311-cp311-macosx_11_0_arm64.whl; pyreqwest-0.12.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyreqwest-0.12.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pyreqwest-0.12.4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl; pyreqwest-0.12.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl; pyreqwest-0.12.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyreqwest-0.12.4-cp311-cp311-manylinux_2_28_ppc64le.whl; pyreqwest-0.12.4-cp311-cp311-musllinux_1_1_aarch64.whl; pyreqwest-0.12.4-cp311-cp311-musllinux_1_1_armv7l.whl; pyreqwest-0.12.4-cp311-cp311-musllinux_1_1_x86_64.whl; pyreqwest-0.12.4-cp311-cp311-win_amd64.whl; pyreqwest-0.12.4-cp311-cp311-win_arm64.whl; pyreqwest-0.12.4-cp312-cp312-macosx_10_12_x86_64.whl; pyreqwest-0.12.4-cp312-cp312-macosx_11_0_arm64.whl; pyreqwest-0.12.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyreqwest-0.12.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pyreqwest-0.12.4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl; pyreqwest-0.12.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl; pyreqwest-0.12.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Development Status :: 4 - BetaIntended Audience :: DevelopersIntended Audience :: Information TechnologyOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: GraalPyProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: RustTyping :: Typed

Tags

rust http client pythonasync http requestshigh performance http clientpython http libraryhttp client with connection poolingrust-based httpfast http requests pythonhttp/2 support python
rust-basedasync-httphigh-performance

More WWW/HTTP packages