<p align="center">
<a href="https://composio.dev//#gh-dark-mode-only">
<img src="./docs/imgs/composio_white_font.svg" width="318px" alt="Composio logo" />
</a>
<a href="https://composio.dev//#gh-light-mode-only">
<img src="./docs/imgs/composio_black_font.svg" width="318px" alt="Composio Logo" />
</a>
</p>
<p align="center">
<a href="https://github.com/composiodev/composio/actions/workflows/common.yml">
<img alt="Tests" src="https://img.shields.io/github/actions/workflow/status/composiodev/composio/common.yml?label=Tests&style=plastic&logo=github&color=blue&cacheSeconds=60">
</a>
<a href="https://pypi.org/project/composio-core/">
<img alt="PyPI" src="https://img.shields.io/pypi/v/composio_core?label=Latest&style=plastic&logo=pypi&color=blue&cacheSeconds=60&logoColor=white">
</a>
<a href="https://pypi.org/project/composio-core/">
<img alt="Downloads" src="https://img.shields.io/pypi/dm/composio-core?label=Downloads&style=plastic&logo=github&color=blue&cacheSeconds=60">
</a>
</p>
<h2 align="center"><i>
Production Ready Toolset for AI Agents
</i></h2>
<h4 align="center">Equip your agent with high-quality tools & integrations without worrying about authentication, accuracy, and reliability in a single line of code!
</h4>
<div align="center">
<p>
<a href="https://docs.composio.dev" rel="dofollow"><strong>Explore the Docs ยป</strong></a>
</p>
<p>
<a href="https://app.composio.dev">Try on Dashboard</a> <b>|</b>
<a href="https://www.composio.dev">Homepage</a> <b>|</b>
<!-- <a href="https://docs.composio.dev/guides/examples">Examples</a> |
<a href="https://docs.composio.dev/chat-with-docs">Chat with Docs</a> | -->
<a href="https://docs.composio.dev/sdk">SDK</a> <b>|</b>
<a href="https://docs.composio.dev/api-reference/">APIs</a>
</p>
</div>
<hr>
<div align="center">
<p >
<b>โจ Socials >></b>
<a href="https://discord.gg/XMa3eWKkH8">Discord</a> <b>|</b>
<a href="https://www.youtube.com/@Composio">Youtube</a> <b>|</b>
<a href="https://twitter.com/composiohq">Twitter</a> <b>|</b>
<a href="https://www.linkedin.com/company/composio-dev"> Linkedin </a>
</p>
<p align="center">
<b>โ๏ธ Contribute >></b>
<a href="https://github.com/composiodev/composio/issues/new?assignees=&labels=type%3A+bug&template=bug_report.yml&title=%F0%9F%90%9B+Bug+Report%3A+">Report Bugs</a> <b>|</b>
<a href="https://github.com/composiodev/composio/issues/new?assignees=&labels=feature&template=feature_request.yml&title=%F0%9F%9A%80+Feature%3A+">Request Feature</a> <b>|</b>
<a href="https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md">Contribute</a>
</p>
</div>
## ๐ Table of contents
- [๐ Table of contents](#-table-of-contents)
- [๐ค Why Composio?](#-why-composio)
- [๐ฅ Key Features](#-key-features)
- [๐ Getting Started](#-getting-started)
- [1. Installation](#1-installation)
- [2. Testing Composio in Action](#2-testing-composio-in-action)
- [๐ก Examples](#-examples)
- [Competitor Researcher](#competitor-researcher)
- [Todolist to Calendar](#todolist-to-calendar)
- [Github to Trello](#github-to-trello)
- [Star History](#star-history)
- [๐ Read Our Code Of Conduct](#-read-our-code-of-conduct)
- [๐ค Contributions](#-contributions)
- [๐ Links](#-links)
- [๐ก๏ธ License](#๏ธ-license)
- [๐ช Thanks To All Contributors](#-thanks-to-all-contributors)
## ๐ค Why Composio?
We believe AI Based Agents/Workflows are the future.
Composio is the best toolset to integrate AI Agents to best Agentic Tools and use them to accomplish tasks.
<img alt="Illustration" src="./docs/imgs/banner.gif" style="border-radius: 5px"/>
## ๐ฅ Key Features
- **100+ Tools**: Support for a range of different categories
- **Software**: Do anything on GitHub, Notion, Linear, Gmail, Slack, Hubspot, Salesforce, & 90 more.
- **OS**: Click anywhere, Type anything, Copy to Clipboard, & more.
- **Browser**: Smart Search, Take a screenshot, MultiOn, Download, Upload, & more.
- **Search**: Google Search, Perplexity Search, Tavily, Exa & more.
- **SWE**: Ngrok, Database, Redis, Vercel, Git, etc.
- **RAG**: Agentic RAG for any type of data on the fly!
- **Frameworks**: Use tools with agent frameworks like **OpenAI, Claude, LlamaIndex, Langchain, CrewAI, Autogen, Gemini, Julep, Lyzr**, and more in a single line of code.
- **Managed Authorisation**: Supports six different auth protocols. _Access Token, Refresh token, OAuth, API Keys, JWT, and more_ abstracted out so you can focus on the building agents.
- **Accuracy**: Get _upto 40% better agentic accuracy_ in your tool calls due to better tool designs.
- **Embeddable**: Whitelabel in the backend of your applications managing Auth & Integrations for all your users & agents and maintain a consistent experience.
- **Pluggable**: Designed to be extended with additional Tools, Frameworks and Authorisation Protocols very easily.
## ๐ Getting Started
### 1. Installation
To get started, type the following command in your Terminal.
```bash
pip install composio-core
```
If you want to install the 'composio' package along with its openai plugin: `pip install composio-openai`.
### 2. Testing Composio in Action
Let's use Composio to create an AI Agent that can star a Github Repo.
```bash
composio add github # Connect your Github - Run this in terminal
```
```python
from openai import OpenAI
from composio_openai import ComposioToolSet, App, Action
openai_client = OpenAI(
api_key="{{OPENAIKEY}}"
)
# Initialise the Composio Tool Set
composio_tool_set = ComposioToolSet()
# Get GitHub tools that are pre-configured
actions = composio_tool_set.get_actions(
actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_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()
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)
```
## ๐ก Examples
### [Competitor Researcher](https://docs.composio.dev/guides/examples/CompetitorResearcher)
### [Todolist to Calendar](https://docs.composio.dev/guides/examples/todo-to-calendar)
### [Github to Trello](https://docs.composio.dev/guides/examples/github-trello)
## Star History
[![Star History Chart](https://api.star-history.com/svg?repos=composiohq/composio&type=Date)](https://star-history.com/#composiohq/composio&Date)
## ๐ Read Our Code Of Conduct
As part of our open-source community, we hold ourselves and other contributors to a high standard of communication. As a participant and contributor to this project, you agree to abide by our [Code of Conduct](https://github.com/composiodev/composio/blob/master/CODE_OF_CONDUCT.md).
## ๐ค Contributions
Composio is open-source and we welcome contributions. Please fork the repository, create a new branch for your feature, add your feature or improvement, and send a pull request.
Also go through our [Contribution Guidelines](https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md) and [Code of Conduct](https://github.com/composiodev/composio/blob/master/CODE_OF_CONDUCT.md) before you start.
## ๐ Links
- [Home page](https://composio.dev?utm_campaign=github-readme)
- [Contribution Guidelines](https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md)
- [Docs](https://docs.composio.dev/?utm_campaign=github-readme)
## ๐ก๏ธ License
Composio is licensed under the Elastic License - see the [LICENSE](https://github.com/composiodev/composio/blob/master/LICENSE) file for details.
## ๐ช Thanks To All Contributors
<a href="https://github.com/composiohq/composio/graphs/contributors">
<img src="https://contributors-img.web.app/image?repo=composiodev/composio" alt="List of Contributors"/>
</a>
Raw data
{
"_id": null,
"home_page": "https://github.com/SamparkAI/composio_sdk",
"name": "composio-core",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Utkarsh",
"author_email": "utkarsh@composio.dev",
"download_url": "https://files.pythonhosted.org/packages/97/92/dec34f016714414f2e6595e9d4a7c1019b091c41c6d2a5461d351a1f7f8c/composio_core-0.3.30.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://composio.dev//#gh-dark-mode-only\">\n <img src=\"./docs/imgs/composio_white_font.svg\" width=\"318px\" alt=\"Composio logo\" />\n </a>\n <a href=\"https://composio.dev//#gh-light-mode-only\">\n <img src=\"./docs/imgs/composio_black_font.svg\" width=\"318px\" alt=\"Composio Logo\" />\n </a>\n</p>\n<p align=\"center\">\n <a href=\"https://github.com/composiodev/composio/actions/workflows/common.yml\">\n <img alt=\"Tests\" src=\"https://img.shields.io/github/actions/workflow/status/composiodev/composio/common.yml?label=Tests&style=plastic&logo=github&color=blue&cacheSeconds=60\">\n </a>\n <a href=\"https://pypi.org/project/composio-core/\">\n <img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/composio_core?label=Latest&style=plastic&logo=pypi&color=blue&cacheSeconds=60&logoColor=white\">\n </a>\n <a href=\"https://pypi.org/project/composio-core/\">\n <img alt=\"Downloads\" src=\"https://img.shields.io/pypi/dm/composio-core?label=Downloads&style=plastic&logo=github&color=blue&cacheSeconds=60\">\n </a>\n \n</p>\n\n<h2 align=\"center\"><i>\n Production Ready Toolset for AI Agents\n</i></h2>\n\n<h4 align=\"center\">Equip your agent with high-quality tools & integrations without worrying about authentication, accuracy, and reliability in a single line of code!\n</h4>\n<div align=\"center\">\n<p>\n<a href=\"https://docs.composio.dev\" rel=\"dofollow\"><strong>Explore the Docs \u00bb</strong></a>\n</p>\n\n<p>\n<a href=\"https://app.composio.dev\">Try on Dashboard</a> <b>|</b>\n<a href=\"https://www.composio.dev\">Homepage</a> <b>|</b>\n<!-- <a href=\"https://docs.composio.dev/guides/examples\">Examples</a> |\n<a href=\"https://docs.composio.dev/chat-with-docs\">Chat with Docs</a> | -->\n<a href=\"https://docs.composio.dev/sdk\">SDK</a> <b>|</b>\n<a href=\"https://docs.composio.dev/api-reference/\">APIs</a> \n</p>\n</div>\n\n<hr>\n<div align=\"center\">\n<p >\n <b>\u2728 Socials >></b>\n <a href=\"https://discord.gg/XMa3eWKkH8\">Discord</a> <b>|</b>\n <a href=\"https://www.youtube.com/@Composio\">Youtube</a> <b>|</b>\n <a href=\"https://twitter.com/composiohq\">Twitter</a> <b>|</b>\n <a href=\"https://www.linkedin.com/company/composio-dev\"> Linkedin </a>\n</p>\n<p align=\"center\">\n <b>\u26cf\ufe0f Contribute >></b>\n <a href=\"https://github.com/composiodev/composio/issues/new?assignees=&labels=type%3A+bug&template=bug_report.yml&title=%F0%9F%90%9B+Bug+Report%3A+\">Report Bugs</a> <b>|</b>\n <a href=\"https://github.com/composiodev/composio/issues/new?assignees=&labels=feature&template=feature_request.yml&title=%F0%9F%9A%80+Feature%3A+\">Request Feature</a> <b>|</b>\n <a href=\"https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md\">Contribute</a>\n</p>\n</div>\n\n## \ud83d\udccb Table of contents\n\n- [\ud83d\udccb Table of contents](#-table-of-contents)\n- [\ud83e\udd14 Why Composio?](#-why-composio)\n- [\ud83d\udd25 Key Features](#-key-features)\n- [\ud83d\ude80 Getting Started](#-getting-started)\n - [1. Installation](#1-installation)\n - [2. Testing Composio in Action](#2-testing-composio-in-action)\n- [\ud83d\udca1 Examples](#-examples)\n - [Competitor Researcher](#competitor-researcher)\n - [Todolist to Calendar](#todolist-to-calendar)\n - [Github to Trello](#github-to-trello)\n- [Star History](#star-history)\n- [\ud83d\udccb Read Our Code Of Conduct](#-read-our-code-of-conduct)\n- [\ud83e\udd17 Contributions](#-contributions)\n- [\ud83d\udd17 Links](#-links)\n- [\ud83d\udee1\ufe0f License](#\ufe0f-license)\n- [\ud83d\udcaa Thanks To All Contributors](#-thanks-to-all-contributors)\n\n## \ud83e\udd14 Why Composio?\n\nWe believe AI Based Agents/Workflows are the future.\nComposio is the best toolset to integrate AI Agents to best Agentic Tools and use them to accomplish tasks.\n\n<img alt=\"Illustration\" src=\"./docs/imgs/banner.gif\" style=\"border-radius: 5px\"/>\n\n## \ud83d\udd25 Key Features\n\n- **100+ Tools**: Support for a range of different categories\n\n - **Software**: Do anything on GitHub, Notion, Linear, Gmail, Slack, Hubspot, Salesforce, & 90 more.\n - **OS**: Click anywhere, Type anything, Copy to Clipboard, & more.\n - **Browser**: Smart Search, Take a screenshot, MultiOn, Download, Upload, & more.\n - **Search**: Google Search, Perplexity Search, Tavily, Exa & more.\n - **SWE**: Ngrok, Database, Redis, Vercel, Git, etc.\n - **RAG**: Agentic RAG for any type of data on the fly!\n\n- **Frameworks**: Use tools with agent frameworks like **OpenAI, Claude, LlamaIndex, Langchain, CrewAI, Autogen, Gemini, Julep, Lyzr**, and more in a single line of code.\n- **Managed Authorisation**: Supports six different auth protocols. _Access Token, Refresh token, OAuth, API Keys, JWT, and more_ abstracted out so you can focus on the building agents.\n- **Accuracy**: Get _upto 40% better agentic accuracy_ in your tool calls due to better tool designs.\n- **Embeddable**: Whitelabel in the backend of your applications managing Auth & Integrations for all your users & agents and maintain a consistent experience.\n- **Pluggable**: Designed to be extended with additional Tools, Frameworks and Authorisation Protocols very easily.\n\n## \ud83d\ude80 Getting Started\n\n### 1. Installation\n\nTo get started, type the following command in your Terminal.\n\n```bash\npip install composio-core\n```\n\nIf you want to install the 'composio' package along with its openai plugin: `pip install composio-openai`.\n\n### 2. Testing Composio in Action\n\nLet's use Composio to create an AI Agent that can star a Github Repo.\n\n```bash\ncomposio add github # Connect your Github - Run this in terminal\n```\n\n```python\n\nfrom openai import OpenAI\nfrom composio_openai import ComposioToolSet, App, Action\n\nopenai_client = OpenAI(\n api_key=\"{{OPENAIKEY}}\"\n)\n\n# Initialise the Composio Tool Set\n\ncomposio_tool_set = ComposioToolSet()\n\n# Get GitHub tools that are pre-configured\nactions = composio_tool_set.get_actions(\n actions=[Action.GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER]\n)\n\nmy_task = \"Star a repo composiodev/composio on GitHub\"\n\n# Setup openai assistant\nassistant_instruction = \"You are a super intelligent personal assistant\"\n\nassistant = openai_client.beta.assistants.create(\n name=\"Personal Assistant\",\n instructions=assistant_instruction,\n model=\"gpt-4-turbo\",\n tools=actions,\n)\n\n# create a thread\nthread = openai_client.beta.threads.create()\n\nmessage = openai_client.beta.threads.messages.create(\n thread_id=thread.id,\n role=\"user\",\n content=my_task\n)\n\n# Execute Agent with integrations\nrun = openai_client.beta.threads.runs.create(\n thread_id=thread.id,\n assistant_id=assistant.id\n)\n\n\n# Execute Function calls\nresponse_after_tool_calls = composio_tool_set.wait_and_handle_assistant_tool_calls(\n client=openai_client,\n run=run,\n thread=thread,\n)\n\nprint(response_after_tool_calls)\n```\n\n## \ud83d\udca1 Examples\n\n### [Competitor Researcher](https://docs.composio.dev/guides/examples/CompetitorResearcher)\n\n### [Todolist to Calendar](https://docs.composio.dev/guides/examples/todo-to-calendar)\n\n### [Github to Trello](https://docs.composio.dev/guides/examples/github-trello)\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=composiohq/composio&type=Date)](https://star-history.com/#composiohq/composio&Date)\n\n\n## \ud83d\udccb Read Our Code Of Conduct\n\nAs part of our open-source community, we hold ourselves and other contributors to a high standard of communication. As a participant and contributor to this project, you agree to abide by our [Code of Conduct](https://github.com/composiodev/composio/blob/master/CODE_OF_CONDUCT.md).\n\n## \ud83e\udd17 Contributions\n\nComposio is open-source and we welcome contributions. Please fork the repository, create a new branch for your feature, add your feature or improvement, and send a pull request.\n\nAlso go through our [Contribution Guidelines](https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md) and [Code of Conduct](https://github.com/composiodev/composio/blob/master/CODE_OF_CONDUCT.md) before you start.\n\n## \ud83d\udd17 Links\n\n- [Home page](https://composio.dev?utm_campaign=github-readme)\n- [Contribution Guidelines](https://github.com/composiodev/composio/blob/master/CONTRIBUTING.md)\n- [Docs](https://docs.composio.dev/?utm_campaign=github-readme)\n\n## \ud83d\udee1\ufe0f License\n\nComposio is licensed under the Elastic License - see the [LICENSE](https://github.com/composiodev/composio/blob/master/LICENSE) file for details.\n\n## \ud83d\udcaa Thanks To All Contributors\n\n<a href=\"https://github.com/composiohq/composio/graphs/contributors\">\n <img src=\"https://contributors-img.web.app/image?repo=composiodev/composio\" alt=\"List of Contributors\"/>\n</a>\n",
"bugtrack_url": null,
"license": null,
"summary": "Core package to act as a bridge between composio platform and other services.",
"version": "0.3.30",
"project_urls": {
"Homepage": "https://github.com/SamparkAI/composio_sdk"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "583d8b82d81070811eaeed7cc01ae52882ae82b796e098562c351467a4754034",
"md5": "fc358c9c5ae072ed23aa4367957d3e66",
"sha256": "1d0948485b1d060840779a2e38530e55ca3272260fe3825e486d920ab81c34c2"
},
"downloads": -1,
"filename": "composio_core-0.3.30-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fc358c9c5ae072ed23aa4367957d3e66",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.9",
"size": 243619,
"upload_time": "2024-07-26T10:38:11",
"upload_time_iso_8601": "2024-07-26T10:38:11.817563Z",
"url": "https://files.pythonhosted.org/packages/58/3d/8b82d81070811eaeed7cc01ae52882ae82b796e098562c351467a4754034/composio_core-0.3.30-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9792dec34f016714414f2e6595e9d4a7c1019b091c41c6d2a5461d351a1f7f8c",
"md5": "800e9c8ca455185d765577c9d7d73fa7",
"sha256": "8be6ddde99f5d9d37ecdb6322f4455379f4598ef587451b37a71a27201cd9de9"
},
"downloads": -1,
"filename": "composio_core-0.3.30.tar.gz",
"has_sig": false,
"md5_digest": "800e9c8ca455185d765577c9d7d73fa7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.9",
"size": 171060,
"upload_time": "2024-07-26T10:38:14",
"upload_time_iso_8601": "2024-07-26T10:38:14.052541Z",
"url": "https://files.pythonhosted.org/packages/97/92/dec34f016714414f2e6595e9d4a7c1019b091c41c6d2a5461d351a1f7f8c/composio_core-0.3.30.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-26 10:38:14",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "SamparkAI",
"github_project": "composio_sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "composio-core"
}