composio-core 0.7.21


pip install composio-core

  Latest version

Released: Sep 09, 2025

Project Links

Meta
Author: Utkarsh
Requires Python: >=3.9,<4

Classifiers

Development Status
  • 7 - Inactive

Programming Language
  • Python :: 3

License
  • OSI Approved :: Apache Software License

Operating System
  • OS Independent

EN | CN | JP

Composio logo Composio Logo

Read the Docs

PyPI NPM Downloads

Production Ready Toolset for AI Agents

Composio MCP Servers

Composio Cursor

๐Ÿš€ Now launching Composio MCP๐Ÿš€

We're excited to announce the launch of Composio MCP Servers! Connect Claude, Cursor and Windsurf to 100+ fully-managed MCP Servers with built-in auth! Check it out here

Learn More About MCP Servers

What is Composio?

Composio provides production-ready toolset for AI agents, offering:

  • Support for over 250+ tools across multiple categories:
    • Software tools like GitHub, Notion, Linear, Gmail, Slack, Hubspot, Salesforce & more
    • OS operations including file tool, shell tool, code analysis tool & more
    • Search capabilities through Google, Perplexity, Tavily, and Exa & more
  • Comprehensive framework support including OpenAI, Groq, Claude, LlamaIndex, Langchain, CrewAI, Autogen, Gemini, and more
  • Managed authentication supporting multiple protocols (OAuth, API Keys, Basic JWT)
  • Up to 40% improved tool call accuracy through optimized design
  • Whitelabel solution for backend integration
  • Pluggable architecture supporting custom tools and extensions

Table of contents

Getting Started with Python

1. Installation

Start by installing the package

pip install composio-core

If you want to install the 'composio' package along with its openai plugin: pip install composio-openai.

2. Creating an agent & executing a tool

Let's create an AI Agent using OpenAI and use Composio's GitHub tool to star a GitHub repository

[!NOTE] Set your COMPOSIO_API_KEY & OPENAI_API_KEY in your environment variables.

Connect your GitHub account to Composio

composio add github # Run this in terminal
from openai import OpenAI
from composio_openai import ComposioToolSet, App, Action

# Initialize OpenAI client
openai_client = OpenAI(
    api_key="{{OPENAIKEY}}"
)

# Initialize the Composio Tool Set
composio_tool_set = ComposioToolSet()

# Get GitHub tools that are pre-configured
actions = composio_tool_set.get_actions(
    actions=[Action.GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER]
)

my_task = "Star a repo composiodev/composio on GitHub"

# Setup OpenAI assistant
assistant_instruction = "You are a super intelligent personal assistant"
assistant = openai_client.beta.assistants.create(
    name="Personal Assistant",
    instructions=assistant_instruction,
    model="gpt-4-turbo",
    tools=actions,
)

# Create a thread
thread = openai_client.beta.threads.create()

# Add user message to thread
message = openai_client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content=my_task
)

# Execute Agent with integrations
run = openai_client.beta.threads.runs.create(
    thread_id=thread.id,
    assistant_id=assistant.id
)

# Execute Function calls
response_after_tool_calls = composio_tool_set.wait_and_handle_assistant_tool_calls(
    client=openai_client,
    run=run,
    thread=thread,
)

print(response_after_tool_calls)

Getting Started with JavaScript

To get started with the Composio SDK in JavaScript, follow these steps:

1. Installation:

npm install composio-core

2. Creating an agent & executing a tool

Let's create an AI Agent using OpenAI and use Composio's GitHub tool to star a GitHub repository

[!NOTE] Set your COMPOSIO_API_KEY & OPENAI_API_KEY in your environment variables.

Connect your GitHub account to Composio

composio add github # Run this in terminal
import { OpenAIToolSet } from "composio-core";
import OpenAI from "openai";

const toolset = new OpenAIToolSet({ apiKey: process.env.COMPOSIO_API_KEY });
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const tools = await toolset.getTools({ 
  actions: ["GITHUB_STAR_A_REPOSITORY_FOR_THE_AUTHENTICATED_USER"] 
});

async function createGithubAssistant(openai, tools) {
  return await openai.beta.assistants.create({
    name: "Github Assistant",
    instructions: "You're a GitHub Assistant, you can do operations on GitHub",
    tools: tools,
    model: "gpt-4o"
  });
}

async function executeAssistantTask(openai, toolset, assistant, task) {
  const thread = await openai.beta.threads.create();
  
  const run = await openai.beta.threads.runs.create(thread.id, {
    assistant_id: assistant.id,
    instructions: task,
    tools: tools,
    model: "gpt-4o",
    stream: false
  });
  
  const call = await toolset.waitAndHandleAssistantToolCalls(openai, run, thread);
  console.log(call);
}

(async () => {
  const githubAssistant = await createGithubAssistant(openai, tools);
  
  await executeAssistantTask(
    openai,
    toolset,
    githubAssistant,
    "Star the repository 'composiohq/composio'"
  );
})();

Examples

Python Examples

Javascript Examples

Star History

Star History Chart

Getting help

Contributions

We're an open-source project and welcome contributions. Please read the contributing guide for more information and check our code of conduct before you start.

Request a feature

  • If you have a feature request, please open an issue, make a pull request, or submit it in our feature requests channel.
  • If you have ideas for improvements, you can also start a discussion in our GitHub repository.

Thanks To All Contributors

List of Contributors



discord     youtube     x     linkedin

0.7.21 Sep 09, 2025
0.7.20 Jul 03, 2025
0.7.19 Jun 19, 2025
0.7.19rc1 Jun 19, 2025
0.7.18 Jun 13, 2025
0.7.17 Jun 12, 2025
0.7.16 May 27, 2025
0.7.16rc1 Apr 21, 2025
0.7.15 Apr 07, 2025
0.7.14 Apr 02, 2025
0.7.13 Apr 01, 2025
0.7.12 Mar 27, 2025
0.7.11 Mar 25, 2025
0.7.10 Mar 18, 2025
0.7.9 Mar 17, 2025
0.7.8 Mar 14, 2025
0.7.7 Mar 10, 2025
0.7.6 Mar 06, 2025
0.7.5 Mar 05, 2025
0.7.4 Feb 20, 2025
0.7.3 Feb 20, 2025
0.7.2 Feb 11, 2025
0.7.1 Feb 05, 2025
0.7.0 Feb 04, 2025
0.6.20rc1 Feb 03, 2025
0.6.19 Jan 28, 2025
0.6.19rc1 Jan 28, 2025
0.6.18 Jan 24, 2025
0.6.17 Jan 24, 2025
0.6.16 Jan 20, 2025
0.6.15 Jan 15, 2025
0.6.14 Jan 14, 2025
0.6.13 Jan 09, 2025
0.6.12 Jan 07, 2025
0.6.11.post1 Jan 03, 2025
0.6.11 Jan 03, 2025
0.6.10 Jan 02, 2025
0.6.9 Dec 31, 2024
0.6.8 Dec 31, 2024
0.6.7 Dec 24, 2024
0.6.6 Dec 23, 2024
0.6.5 Dec 20, 2024
0.6.4 Dec 20, 2024
0.6.3 Dec 18, 2024
0.6.2 Dec 16, 2024
0.6.1 Dec 16, 2024
0.6.0 Dec 12, 2024
0.6.0rc1 Dec 11, 2024
0.5.52rc2 Dec 08, 2024
0.5.52rc1 Dec 08, 2024
0.5.51 Dec 05, 2024
0.5.51rc1 Dec 11, 2024
0.5.50 Nov 28, 2024
0.5.49 Nov 26, 2024
0.5.48rc1 Nov 25, 2024
0.5.47 Nov 25, 2024
0.5.46 Nov 23, 2024
0.5.45 Nov 22, 2024
0.5.44 Nov 21, 2024
0.5.43 Nov 20, 2024
0.5.42 Nov 14, 2024
0.5.41 Nov 11, 2024
0.5.40 Nov 06, 2024
0.5.39 Nov 06, 2024
0.5.38 Nov 04, 2024
0.5.38rc2 Nov 02, 2024
0.5.37 Oct 28, 2024
0.5.37rc1 Nov 01, 2024
0.5.36 Oct 25, 2024
0.5.35 Oct 23, 2024
0.5.34 Oct 17, 2024
0.5.33 Oct 17, 2024
0.5.31 Oct 11, 2024
0.5.30 Oct 05, 2024
0.5.28 Sep 25, 2024
0.5.27 Sep 23, 2024
0.5.26 Sep 23, 2024
0.5.25 Sep 19, 2024
0.5.24 Sep 18, 2024
0.5.23 Sep 14, 2024
0.5.22 Sep 13, 2024
0.5.21 Sep 13, 2024
0.5.20 Sep 13, 2024
0.5.19 Sep 12, 2024
0.5.18 Sep 12, 2024
0.5.17 Sep 11, 2024
0.5.16 Sep 10, 2024
0.5.15 Sep 05, 2024
0.5.14 Sep 05, 2024
0.5.13 Sep 03, 2024
0.5.12 Sep 03, 2024
0.5.11 Aug 31, 2024
0.5.10 Aug 29, 2024
0.5.9 Aug 28, 2024
0.5.8 Aug 27, 2024
0.5.7 Aug 27, 2024
0.5.6 Aug 25, 2024
0.5.5 Aug 24, 2024
0.5.4 Aug 24, 2024
0.5.3 Aug 22, 2024
0.5.2 Aug 22, 2024
0.5.1 Aug 12, 2024
0.5.0 Aug 21, 2024
0.5.0rc2 Aug 21, 2024
0.5.0rc1 Aug 21, 2024
0.5.0rc0 Aug 21, 2024
0.4.5 Aug 19, 2024
0.4.5rc1 Aug 20, 2024
0.4.5rc0 Aug 19, 2024
0.4.4 Aug 17, 2024
0.4.3 Aug 16, 2024
0.4.2 Aug 13, 2024
0.4.2rc2 Aug 19, 2024
0.4.2rc1 Aug 16, 2024
0.4.1 Aug 05, 2024
0.4.0 Jul 31, 2024
0.3.30 Jul 26, 2024
0.3.29 Jul 26, 2024
0.3.28 Jul 24, 2024
0.3.27 Jul 23, 2024
0.3.26 Jul 23, 2024
0.3.25 Jul 19, 2024
0.3.24 Jul 19, 2024
0.3.23 Jul 16, 2024
0.3.23rc0 Jul 17, 2024
0.3.22 Jul 16, 2024
0.3.20 Jul 12, 2024
0.3.20rc1 Jul 15, 2024
0.3.20rc0 Jul 15, 2024
0.3.19 Jul 10, 2024
0.3.18 Jul 09, 2024
0.3.18rc2 Jul 11, 2024
0.3.18rc1 Jul 11, 2024
0.3.18rc0 Jul 10, 2024
0.3.17 Jul 09, 2024
0.3.16 Jun 28, 2024
0.3.15 Jun 27, 2024
0.3.14 Jun 25, 2024
0.3.13 Jun 21, 2024
0.3.12 Jun 19, 2024
0.3.11 Jun 18, 2024
0.3.10 Jun 18, 2024
0.3.9 Jun 08, 2024
0.3.9rc4 Jun 08, 2024
0.3.9rc3 Jun 08, 2024
0.3.9rc2 Jun 07, 2024
0.3.9rc1 Jun 06, 2024
0.3.7 Jun 01, 2024
0.3.6 Jun 01, 2024
0.3.5 Jun 01, 2024
0.3.4 Jun 01, 2024
0.3.3 May 31, 2024
0.3.2 May 30, 2024
0.3.1 May 30, 2024
0.3.0 May 30, 2024
0.2.64 May 23, 2024
0.2.63 May 23, 2024
0.2.60 May 14, 2024
0.2.59 May 13, 2024
0.2.56 May 10, 2024
0.2.55 May 10, 2024
0.2.54 May 10, 2024
0.2.52 May 07, 2024
0.2.51 May 06, 2024
0.2.50 May 06, 2024
0.2.49 May 06, 2024
0.2.48 May 05, 2024
0.2.47 May 02, 2024
0.2.46 May 01, 2024
0.2.44 May 01, 2024
0.2.41 May 02, 2024
0.2.40 May 01, 2024
0.2.39 May 01, 2024
0.2.38 Apr 30, 2024
0.2.37 Apr 30, 2024
0.2.36 Apr 30, 2024
0.2.36rc2 May 30, 2024
0.2.36rc1 May 30, 2024
0.2.35 Apr 30, 2024
0.2.34 Apr 30, 2024
0.2.33 Apr 30, 2024
0.2.32 Apr 30, 2024
0.2.22 Apr 24, 2024
0.2.21 Apr 24, 2024
0.2.20 Apr 24, 2024
0.2.19 Apr 24, 2024
0.2.18 Apr 24, 2024
0.2.17 Apr 24, 2024
0.2.16 Apr 23, 2024
0.2.15 Apr 23, 2024
0.2.14 Apr 23, 2024
0.2.12 Apr 19, 2024
0.2.11 Apr 18, 2024
0.2.10 Apr 18, 2024
0.2.9 Apr 18, 2024
0.2.8 Apr 18, 2024
0.2.7 Apr 17, 2024
0.2.6 Apr 16, 2024
0.2.5 Apr 16, 2024
0.2.4 Apr 16, 2024
0.2.3 Apr 16, 2024
0.2.2 Apr 16, 2024
0.2.1 Apr 15, 2024
0.2.0 Apr 15, 2024
0.1.101 Apr 12, 2024
0.1.100 Apr 12, 2024
0.1.99 Apr 12, 2024
0.1.98 Apr 12, 2024
0.1.97 Apr 12, 2024
0.1.96 Apr 12, 2024
0.1.95 Apr 12, 2024
0.1.94 Apr 12, 2024
0.1.93 Apr 12, 2024
0.1.92 Apr 12, 2024
0.1.91 Apr 12, 2024
0.1.90 Apr 12, 2024
0.1.89 Apr 12, 2024
0.1.88 Apr 11, 2024
0.1.87 Apr 11, 2024
0.1.84 Apr 07, 2024
0.1.83 Apr 07, 2024
0.1.82 Apr 07, 2024

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
aiohttp
requests (<3,>=2.31.0)
jsonschema (<5,>=4.21.1)
sentry-sdk (>=2.0.0)
pysher (==1.0.8)
pydantic (>=2.6.4)
importlib-metadata (>=4.8.1)
jsonref (>=1.1.0)
inflection (>=0.5.1)
semver (>=2.13.0)
click
rich (<14,>=13.7.1)
pyperclip (<2,>=1.8.2)
Pillow (<11,>=10.2.0)
paramiko (>=3.4.1)
fastapi
uvicorn
pyyaml (>=6.0.2)