apiclient
Framework for making good API client libraries using urllib3.
Decision gist · record as of 2026-08-14
No. The package is abandoned (last release 2019-03-21, no commits in 2703 days) and has not been tested against modern Python versions since 2016. High install friction combined with no active maintenance makes it unsuitable for new projects. Consider modern alternatives like requests, httpx, or aiohttp instead.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Package is abandoned and untested against modern Python versions; Python 3 compatibility was last addressed in 2016.
- High install friction reported.
- Package is abandoned as of 2019-03-21 with no maintenance activity in 2703 days; last Python 3 fixes were in 2016.
License · maintenance · safety
MIT (permissive) — MIT license (permissive) places no restrictions on use, modification, or distribution. Suitable for commercial and open-source projects without obligation to share modifications.
last release 2019-03-21 (2703 days) · last repo commit 2019-03-21 · 89 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 140,696 downloads/mo, #11,265 on PyPI
Alternatives
Verify before relying
from apiclient import APIClient
class MyAPI(APIClient):
BASE_URL = 'https://api.example.com/'
client = MyAPI()
response = client.call('/endpoint', params={'key': 'value'})- Whether the package works reliably with current Python 3.x versions given no maintenance since 2016.
- Whether urllib3 dependency is implicitly required or if it must be installed separately.
- Current state of the codebase regarding security or compatibility issues not tracked in OSV.
What it is and what it does
apiclient is a minimal framework for building HTTP API client libraries on top of urllib3. It provides a base APIClient class that handles connection reuse with Keep-Alive, thread-safe request execution, and built-in rate limiting via a RateLimiter utility. You subclass APIClient, set a BASE_URL, and call the inherited call() method to make requests; the framework handles URL composition, response parsing (JSON by default), and connection management.
The package is designed for simplicity and extensibility—you can override methods like _compose_url() or _handle_response() to adapt the client to different API conventions (JSON encoding, YAML responses, custom authentication). However, the project has been abandoned since 2019 with no active maintenance, and Python 3 support was last updated in 2016, making it risky for production use on modern Python versions.
Use it for
- Build a lightweight REST API client for a third-party service without heavy framework overhead.
- Implement rate limiting on outbound API calls to respect API quotas and avoid throttling.
- Create a thread-safe HTTP client that reuses connections efficiently for high-concurrency scenarios.
- Extend the base client class to handle non-standard API response formats or authentication schemes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
No.
The package is abandoned (last release 2019-03-21, no commits in 2703 days) and has not been tested against modern Python versions since 2016. High install friction combined with no active maintenance makes it unsuitable for new projects. Consider modern alternatives like requests, httpx, or aiohttp instead.
Install
apiclient on PyPI
Before you install
High install friction reported. Package is abandoned as of 2019-03-21 with no maintenance activity in 2703 days; last Python 3 fixes were in 2016. No runtime dependencies, but age and lack of maintenance signal risk for modern Python versions.
Package is abandoned and untested against modern Python versions; Python 3 compatibility was last addressed in 2016.
License in practice
MIT license (permissive) places no restrictions on use, modification, or distribution. Suitable for commercial and open-source projects without obligation to share modifications.
Quickstart
from apiclient import APIClient
class MyAPI(APIClient):
BASE_URL = 'https://api.example.com/'
client = MyAPI()
response = client.call('/endpoint', params={'key': 'value'})
Verify before relying
- Whether the package works reliably with current Python 3.x versions given no maintenance since 2016.
- Whether urllib3 dependency is implicitly required or if it must be installed separately.
- Current state of the codebase regarding security or compatibility issues not tracked in OSV.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,703 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 140,696 / month, #11,265 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Web EnvironmentIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonTopic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries |
Evidence: apiclient-1.0.4.tar.gz
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 › “http client library builder”
- apiclientA lightweight framework for building HTTP API client libraries with…
- python-http-clientProvides a simplified Python interface for making HTTP requests to…
- pysnowpysnow is a Python HTTP client library for interacting with…
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 agithub · python-squarelet · urllib3-future · sailthru-client · mattermostdriver · pyreqwest · pydiscourse · geventhttpclient · pagerduty