geventhttpclient
HTTP client library for gevent
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires gevent to be installed and working; gevent itself depends on greenlet and may require a C compiler on some platforms.
- 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 · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; permissive treatment means you can use this freely in most projects.
last release 2026-03-03 (164 days) · last repo commit 2026-05-09 · 563 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 12,101,220 downloads/mo, #1,343 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on it.
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
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.
Requires gevent to be installed and working; gevent itself depends on greenlet and may require a C compiler on some platforms.
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()
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 packagesgeventcertifibrotliurllib3 |
| 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 |
| Classifiers | 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 |
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
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “gevent http client”
- geventhttpclientA concurrent HTTP client for gevent that handles high-throughput…
- grequestsGRequests wraps the requests library with gevent to make concurrent…
- websocketProvides WebSocket protocol support for gevent-based applications,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also gevent · grequests · django-db-geventpool · aiosonic · watchdog-gevent · httpr · httpx · vonage-http-client · flask-sock · apiclient