Current collected state Current
Observed since 21 Oct, 10:48 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
aigents-sdk
Official Python client library for AIgents AI platform
Official Python client library for the AIgents AI platform.
pip install aigents-sdk
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}")
# 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
)
# 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"}
}
]
)
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}")
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()
AIgentsClient(api_key, base_url, timeout)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 applicationclient.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 agentclient.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 requestclient.applications.tools.list(app_id) - List toolsclient.applications.mcps.list(app_id) - List MCPsclient.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 datapip install -e .[dev]pytestblack aigents/mypy aigents/MIT License - see LICENSE file for details.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
requestsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | requests>=2.28.0 | runtime |
typing-extensionsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | typing-extensions>=4.0.0 | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest>=7.0.0; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | pytest-cov>=4.0.0; extra == "dev" | runtime |
blackEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | black>=22.0.0; extra == "dev" | runtime |
flake8Environment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | flake8>=5.0.0; extra == "dev" | runtime |
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.8",
"evaluation": "NOT_EVALUATED"
} | mypy>=1.0.0; extra == "dev" | runtime |
bdist_wheel · 10.83 KB · Python py3
sdist · 11.54 KB · Python source
Observed since 21 Oct, 10:48 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:b65ee224ddd85a86cb0ce8ef7cbe3d6513f6cb25ca4de0ec259396df500004a9