Registry / llm-agents / composio

composio

JSON →
library0.20.0pypypi✓ verified 30d ago

Tool integration platform for AI agents. Provides 250+ pre-built tool integrations (GitHub, Gmail, Slack, Notion, etc.) with managed OAuth across frameworks including OpenAI, Anthropic, LangChain, CrewAI, and AutoGen. Has undergone a major v1→v3 SDK rewrite with significant breaking changes — the majority of tutorials and LLM-generated code targets the old v1 API.

pip install composio
INSTALL
IMPORT
SIG · COMPOSIO
C
composio
llm-agentspythonv0.20.0
Install
8.2s avg
Import
6129ms
Disk
94MB
Pass rate
8/ 10
Env Coverage8 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v0.20.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✓ —
✓ 9.01s
py 3.11
✓ —
✓ 8.15s
py 3.12
✓ —
✓ 8.01s
py 3.13
✓ —
✓ 7.77s
py 3.9
12/18 runs
12/18 runs
94MB installed
● package 94MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Composio
✓ from composio import Composio
✗ from composio import Composio
CustomTool
✓ from composio import CustomTool
SessionContext
✓ from composio import SessionContext

New v3 SDK uses unified Composio class with provider injection. Legacy framework-specific toolsets still function but receive no new features.

from composio import Composio from composio.providers import AnthropicProvider import anthropic # New v3 SDK pattern composio = Composio(provider=AnthropicProvider()) user_id = "user@acme.org" tools = composio.tools.get( user_id=user_id, toolkits=["GITHUB"] ) client = anthropic.Anthropic() response = client.messages.create( model="claude-opus-4-6", max_tokens=1024, tools=tools, messages=[{"role": "user", "content": "Star the composiohq/composio repo"}] ) # --- # Legacy v1 pattern (still works but deprecated): from composio_openai import ComposioToolSet, App toolset = ComposioToolSet() # entity_id was set here in v1 actions = toolset.get_tools(apps=[App.GITHUB])
composio --version
Debug
Known issues
breakingcomposio-core is deprecated. All tutorials and LLM-generated code using 'pip install composio-core' or 'from composio_core import ...' targets the old package. New package is 'composio'.
fix
Replace pip install composio-core with pip install composio. Import paths change accordingly.
affects: composio-core all versions
breakingv1 used framework-specific toolset classes (ComposioToolSet from composio_openai, composio_langchain, etc.) with entity_id set at the toolset level. v3 uses a single Composio class with provider injection and user_id passed per tool call.
fix
Replace ComposioToolSet() + entity_id with Composio(provider=XProvider()) + user_id= in tools.get(). See docs.composio.dev/docs/migration-guide/new-sdk
affects: composio-core / composio <0.7
breakingentity_id parameter renamed to user_id throughout the v3 SDK. Code passing entity_id= will raise TypeError.
fix
Replace all entity_id= with user_id=.
affects: v1/v2 code migrating to v3
breakingConnected account IDs changed from UUID format to nano ID format in v3. Stored IDs from v1/v2 are invalid in v3 API calls.
fix
Re-fetch connected account IDs using the new SDK after migration.
affects: v3+
breakingLocal tools (shelltool, sqltool, clipboard) were removed from the v3 SDK. They are listed as 'in development' for the new SDK.
fix
Use alternative local execution approaches or pin to legacy composio-core if these tools are required.
affects: v3+
breakingWebhook payload format changed with v3. New organizations receive Webhook Payload V3 (Standard Webhooks spec) by default. Trigger event data is now separated into data and metadata fields. Old payload parsers will fail.
fix
Update webhook handlers to read from data field instead of root payload. Check x-composio-webhook-version header to detect format.
affects: New orgs created after webhook V3 rollout
breakingComposio-managed Twitter/X credentials removed. Twitter toolkit integrations built on managed credentials no longer authenticate.
fix
Register your own Twitter Developer credentials and configure them in your auth config.
affects: all
gotchaThe v3 SDK (pip install composio) and legacy framework packages (pip install composio-openai etc.) coexist on PyPI and can both be installed. They have incompatible APIs and can conflict if imported in the same project.
fix
Pick one approach. For new projects use pip install composio only. Do not mix composio and composio-openai/composio-langchain in the same environment.
affects: all
gotchaThe v3 SDK requires Python 3.10+. Legacy composio-core supported Python 3.8+. Silent import failures occur on 3.8/3.9.
fix
Upgrade to Python 3.10+ when migrating to the new SDK.
affects: composio (new SDK)
Upgrade
Version history
0.20.0latest on PyPI · released Aug 18, 2026
Audit
Dependencies
httpxrequiredHTTP transport for Composio API calls.
Agent activity
49 hits · last 30 days
node
40
OpenAI (training)
1
Resources
composio — pip install composio · libregistry