composio-core


Namecomposio-core JSON
Version 0.3.30 PyPI version JSON
download
home_pagehttps://github.com/SamparkAI/composio_sdk
SummaryCore package to act as a bridge between composio platform and other services.
upload_time2024-07-26 10:38:14
maintainerNone
docs_urlNone
authorUtkarsh
requires_python<4,>=3.9
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 0.28636s