Use Composio to get an array of tools with your Google AI Python Gemini model.
Project description
composio-google
Adapts Composio tools to the Vertex AI SDK (vertexai.generative_models) as FunctionDeclaration objects for Gemini function calling.
Installation
pip install composio composio-google google-cloud-aiplatform
Set COMPOSIO_API_KEY (create one at https://dashboard.composio.dev/settings) in your environment. Vertex AI authenticates with Google Cloud credentials; run gcloud auth application-default login or set GOOGLE_APPLICATION_CREDENTIALS.
Quickstart
GoogleProvider is non-agentic: the model returns function calls, and composio.provider.handle_response executes every function call in the response and returns the results.
import vertexai
from vertexai.generative_models import GenerativeModel, Tool
from composio import Composio
from composio_google import GoogleProvider
vertexai.init(project="your-gcp-project", location="us-central1")
composio = Composio(provider=GoogleProvider())
# Create a session for your user
session = composio.create(user_id="user_123")
tools = session.tools()
model = GenerativeModel(
"gemini-2.0-flash",
tools=[Tool(function_declarations=tools)],
)
chat = model.start_chat()
response = chat.send_message(
"Send an email to john@example.com with the subject 'Hello' and body 'Hello from Composio!'"
)
# Execute the function calls the model requested
results = composio.provider.handle_response(user_id="user_123", response=response)
print(results)
To execute a single call instead of the whole response, use composio.provider.execute_tool_call(user_id="user_123", function_call=part.function_call).
composio-google vs composio-gemini
This package targets the Vertex AI SDK (vertexai.generative_models, installed via google-cloud-aiplatform). composio-gemini targets the newer google-genai SDK with Automatic Function Calling. For new projects, use composio-gemini.
Links
- Google provider docs: https://docs.composio.dev/docs/providers/google
- Composio docs: https://docs.composio.dev
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file composio_google-0.18.0.tar.gz.
File metadata
- Download URL: composio_google-0.18.0.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3d0942bb05115849589449711581b6ab421fe7418e04646b7545a07f3e716bb
|
|
| MD5 |
cfcbcb52e31c1d2138186f225cf232b3
|
|
| BLAKE2b-256 |
332ddc09138cf1d4afa1d75f9963043c0b19ac3d1219219355e9fcce3aef9bc8
|
File details
Details for the file composio_google-0.18.0-py3-none-any.whl.
File metadata
- Download URL: composio_google-0.18.0-py3-none-any.whl
- Upload date:
- Size: 4.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bbf447cb258826257b5e20bc673cd11867ba98d175240338ad52afcd0ff2d8de
|
|
| MD5 |
ee14a87b2e07ecd74efbd44737469a3f
|
|
| BLAKE2b-256 |
70065139acd0384c170d12452178c1f256873b9bf33f9eed143cbcc26eb15106
|