skillfed

geventhttpclient

HTTP client library for gevent

geventhttpclient v2.3.9 12.1M downloads/30d#1,343 on PyPI563
Permissive license MIT Active released

What it is and what it does

geventhttpclient is a concurrent HTTP client built on gevent that replaces the httplib support that was removed from gevent 1.0. It uses a fast C-based HTTP parser and is designed for high-concurrency scenarios, streaming, and REST API consumption. The library includes a built-in connection pool and is greenlet-safe, allowing you to reuse the same client instance across multiple greenlets without synchronization overhead.

Since version 2.3, it offers a requests-compatible interface for simple use cases like basic GET/POST operations, cookie management, and compressed response handling. It also provides lower-level HTTPClient and httplib compatibility layers for more control or drop-in replacement of standard library code. Runtime dependencies are gevent, certifi, brotli, and urllib3.

Use it for:

  • Pull data from REST APIs concurrently using gevent greenlets with automatic connection reuse and pooling.
  • Stream large files or API responses incrementally using read() and readline() methods to minimize memory usage.
  • Replace http.client in existing code via the httplib compatibility module or monkey-patch httplib2/urllib without rewriting.
  • Consume streaming APIs (e.g., Twitter streams) with persistent HTTP/1.1 connections and non-blocking I/O.
  • Benchmark or load-test HTTP services by issuing thousands of concurrent requests with controlled concurrency limits.

Worth the install?

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

A concurrent HTTP client for gevent that handles high-throughput requests with connection pooling, streaming, and persistent connections.

Yes, if you are already using gevent and need concurrent HTTP requests. The library is actively maintained, has no known vulnerabilities, and offers significantly higher throughput than requests or urllib3 in gevent contexts. Install with caution if you are new to gevent; the learning curve for greenlet-based concurrency is steeper than asyncio, but the performance gains and streaming support justify it for high-concurrency workloads.

Install

geventhttpclient on PyPI

pip

pip install geventhttpclient

uv

uv add geventhttpclient

poetry

poetry add geventhttpclient

Installing geventhttpclient

Before you install

Medium install friction due to compiled wheels across multiple platforms and Python versions (3.9–3.14). Active maintenance with recent commits and stable production status.

License in practice

MIT license permits commercial and private use with minimal restrictions; permissive treatment means you can use this freely in most projects.

Quickstart

pip install geventhttpclient

from geventhttpclient import HTTPClient
from geventhttpclient.url import URL

url = URL("http://example.com/")
client = HTTPClient(url.host)
response = client.get(url.request_uri)
print(response.status_code)
client.close()

Requires gevent to be installed and working; gevent itself depends on greenlet and may require a C compiler on some platforms.

Verify before relying

  • Whether the requests-compatible interface (added in version 2.3) covers all common use cases for your specific API patterns.
  • Performance characteristics under your specific concurrency and request volume; benchmarks show 7268.9 RPS locally but real-world throughput depends on network and server conditions.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies 4 — gevent, certifi, brotli, urllib3
Maintenance actively maintained — 164 days since the last release
Last repo commit
First released
Downloads 12,101,220/month — #1,343 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: geventhttpclient-2.3.9-cp310-cp310-macosx_10_9_universal2.whl; geventhttpclient-2.3.9-cp310-cp310-macosx_10_9_x86_64.whl; geventhttpclient-2.3.9-cp310-cp310-macosx_11_0_arm64.whl; geventhttpclient-2.3.9-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; geventhttpclient-2.3.9-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; geventhttpclient-2.3.9-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl; geventhttpclient-2.3.9-cp310-cp310-musllinux_1_2_aarch64.whl; geventhttpclient-2.3.9-cp310-cp310-musllinux_1_2_ppc64le.whl; geventhttpclient-2.3.9-cp310-cp310-musllinux_1_2_x86_64.whl; geventhttpclient-2.3.9-cp310-cp310-win32.whl; geventhttpclient-2.3.9-cp310-cp310-win_amd64.whl; geventhttpclient-2.3.9-cp311-cp311-macosx_10_9_universal2.whl; geventhttpclient-2.3.9-cp311-cp311-macosx_10_9_x86_64.whl; geventhttpclient-2.3.9-cp311-cp311-macosx_11_0_arm64.whl; geventhttpclient-2.3.9-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; geventhttpclient-2.3.9-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; geventhttpclient-2.3.9-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl; geventhttpclient-2.3.9-cp311-cp311-musllinux_1_2_aarch64.whl; geventhttpclient-2.3.9-cp311-cp311-musllinux_1_2_ppc64le.whl; geventhttpclient-2.3.9-cp311-cp311-musllinux_1_2_x86_64.whl

Keywords: http, gevent, client

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Topic :: Software Development :: Libraries

Tags

gevent http clientconcurrent http requestshigh performance http librarygevent streaming httpconnection pooling http clientrest api client geventhttp persistent connections
gevent-concurrencystreaming-httpconnection-pooling

More Libraries packages