composio-client
The official Python library for the composio API
What it is and what it does
Composio-client is an official Python SDK for the Composio REST API, generated using Stainless and built on httpx. It provides both synchronous (Composio) and asynchronous (AsyncComposio) clients with full type definitions for all request parameters and response fields, enabling IDE autocomplete and type checking. The library handles authentication via API key, manages retries automatically for transient errors, and includes specialized error classes for different HTTP status codes.
The package is designed for developers integrating Composio's tool execution capabilities into Python applications. It supports nested typed parameters using TypedDict, Pydantic response models with serialization helpers, and configurable timeouts and retry behavior. An optional aiohttp backend is available for improved async concurrency. The library is actively maintained, supports modern Python versions (3.9–3.14), and includes comprehensive error handling and logging capabilities.
Use it for:
- Execute remote tools via the Composio API from a Python application with full type safety and error handling.
- Build async workflows that call multiple Composio tools concurrently using AsyncComposio and await syntax.
- Integrate Composio tool execution into a larger Python service with automatic retries and configurable timeouts.
- Develop IDE-friendly integrations where type hints and autocomplete guide correct API usage.
- Handle authentication and API errors consistently across synchronous and asynchronous code paths.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A Python client library for the Composio REST API, providing synchronous and asynchronous access to tool execution and API operations with full type hints and error handling.
Yes. The library is actively maintained, has no known vulnerabilities, carries a permissive Apache-2.0 license, and installs with low friction. It supports current Python versions and provides both sync and async clients with comprehensive type hints. Install it if you need to call the Composio API from Python; the typing and error handling will save integration time.
Install
composio-client on PyPI
pip
pip install composio-clientuv
uv add composio-clientpoetry
poetry add composio-clientInstalling composio-client
Before you install
Low friction installation as a pure-Python wheel. Active maintenance with recent releases; last commit 2026-08-12. Supports Python 3.9 through 3.14 across major platforms.
License in practice
Licensed under Apache-2.0 (permissive), allowing free use, modification, and distribution in both open-source and commercial projects with minimal restrictions.
Quickstart
pip install composio-client
import os
from composio_client import Composio
client = Composio(api_key=os.environ.get("COMPOSIO_API_KEY"))
response = client.tools.execute(tool_slug="tool_slug")
print(response.log_id)
Requires COMPOSIO_API_KEY environment variable or explicit api_key parameter to authenticate with the Composio service.
Verify before relying
- Whether the library's retry logic (2 times by default) and timeout handling (1 minute default) are suitable for your use case.
- Performance characteristics when using aiohttp backend versus default httpx for async operations.
- Rate limiting behavior and how the RateLimitError is handled in production workflows.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — anyio, distro, httpx, pydantic, sniffio, typing-extensions |
| Maintenance | actively maintained — 37 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,891,847/month — #3,460 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: composio_client-1.43.0-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
opencode-aiProvides a Python client library for the…
permissive · top 15,000 on PyPI
postgrid-pythonProvides a typed Python client for the PostGrid…
permissive · top 15,000 on PyPI
prelude-python-sdkProvides a typed Python client for the Prelude…
permissive · top 5,000 on PyPI
runloop_api_clientA Python client library for the Runloop REST…
permissive · top 5,000 on PyPI
steel-sdkProvides a typed Python client for the Steel…
permissive · top 15,000 on PyPI
reductoaiA Python client library for the Reducto REST…
permissive · top 5,000 on PyPI
arcadepyProvides a typed Python client library for the…
permissive · top 15,000 on PyPI
telnyxProvides a Python client library for the Telnyx…
permissive · top 15,000 on PyPI
metronome-sdkProvides a Python client library for the…
permissive · top 15,000 on PyPI
openlayerProvides a typed Python client for the…
permissive · top 15,000 on PyPI