Official Python client library for AIgents AI platform
Project description
AIgents Python Client
Official Python client library for the AIgents AI platform.
Installation
pip install aigents-sdk
Quick Start
from aigents import AIgentsClient
# Initialize the client with your API key
client = AIgentsClient(
api_key="aig_your_api_key_here",
base_url="http://localhost:8000" # or your AIgents server URL
)
# List your applications
apps = client.applications.list()
print(f"Found {len(apps)} applications")
# Get a specific application
app = client.applications.get("app_id")
print(f"Application: {app.name}")
# List agents in an application
agents = client.applications.agents.list("app_id")
print(f"Found {len(agents)} agents")
# Start a chat session
session = client.chat.create_session("app_id", agent_id="agent_id")
print(f"Created session: {session.id}")
# Send a message
response = client.chat.send_message(
session_id=session.id,
content="Hello, how can you help me today?"
)
print(f"Assistant: {response.content}")
Advanced Usage
Tool Calls and MCP Approval
# Send a message that might trigger tool calls
response = client.chat.send_message(
session_id=session.id,
content="What's the weather like in San Francisco?",
tools=[{"type": "weather_api"}]
)
# Handle tool calls
if response.tool_calls:
for tool_call in response.tool_calls:
print(f"Tool call: {tool_call.name}")
print(f"Arguments: {tool_call.arguments}")
# Handle MCP approval requests
if response.requires_mcp_approval:
print(f"MCP approval required: {response.mcp_approval_request_id}")
# Approve the MCP request
approved_response = client.chat.approve_mcp_request(
request_id=response.mcp_approval_request_id,
approved=True
)
Working with Datasets
# List datasets
datasets = client.applications.datasets.list("app_id")
# Add data to a dataset
client.applications.datasets.add_data(
app_id="app_id",
dataset_id="dataset_id",
data=[
{
"input": "What is machine learning?",
"output": "Machine learning is a subset of AI...",
"metadata": {"category": "education"}
}
]
)
Error Handling
from aigents.exceptions import AIgentsError, AuthenticationError, RateLimitError
try:
response = client.chat.send_message(session_id, "Hello")
except AuthenticationError:
print("Invalid API key")
except RateLimitError:
print("Rate limit exceeded")
except AIgentsError as e:
print(f"API error: {e}")
Configuration
The client can be configured with environment variables:
export AIGENTS_API_KEY="aig_your_api_key_here"
export AIGENTS_BASE_URL="https://api.aigents.co"
# Client will automatically use environment variables
client = AIgentsClient()
API Reference
Client
AIgentsClient(api_key, base_url, timeout)
Applications
client.applications.list()- List all applicationsclient.applications.get(app_id)- Get application detailsclient.applications.create(name, description)- Create new applicationclient.applications.update(app_id, **kwargs)- Update applicationclient.applications.delete(app_id)- Delete application
Agents
client.applications.agents.list(app_id)- List agentsclient.applications.agents.get(app_id, agent_id)- Get agent detailsclient.applications.agents.create(app_id, **kwargs)- Create agentclient.applications.agents.update(app_id, agent_id, **kwargs)- Update agentclient.applications.agents.delete(app_id, agent_id)- Delete agent
Chat
client.chat.create_session(app_id, **kwargs)- Create chat sessionclient.chat.send_message(session_id, content, **kwargs)- Send messageclient.chat.get_history(session_id)- Get chat historyclient.chat.approve_mcp_request(request_id, approved)- Approve MCP request
Tools & MCPs
client.applications.tools.list(app_id)- List toolsclient.applications.mcps.list(app_id)- List MCPs
Datasets
client.applications.datasets.list(app_id)- List datasetsclient.applications.datasets.get(app_id, dataset_id)- Get datasetclient.applications.datasets.add_data(app_id, dataset_id, data)- Add data
Contributing
- Clone the repository
- Install development dependencies:
pip install -e .[dev] - Run tests:
pytest - Format code:
black aigents/ - Type check:
mypy aigents/
License
MIT License - see LICENSE file for details.
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
aigents_sdk-0.1.0.tar.gz
(11.8 kB
view details)
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 aigents_sdk-0.1.0.tar.gz.
File metadata
- Download URL: aigents_sdk-0.1.0.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
920646981978ff0a6f65b3cebf95d91846c8742464da04efe7f2e984fc896a82
|
|
| MD5 |
d9cdd9ea1d1f90e3eeef8648464b83b8
|
|
| BLAKE2b-256 |
de2ace59b73d9e9a6a40d54bca8ada26ae566c3dc1d966884cd31b412fc45908
|
File details
Details for the file aigents_sdk-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aigents_sdk-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99d53e662bd8ecc8c4fbbe463389a3c1ca73c5e7fe5f0707be61222064f43c89
|
|
| MD5 |
b1a63046f82f87a9d0c174e94d318d62
|
|
| BLAKE2b-256 |
c34a951aa9c55b709b6c9dbe3bc544b72c5df1e190b17ac2ce7e34e12b300c98
|