Catalog PyPI
Back to packageRELEASE DETAILS

0.1.0

PyPI

aigents-sdk

Official Python client library for AIgents AI platform

agentsaiartificial-intelligencechatbotgptllmtools
Published19 Aug 2025
Direct dependencies7
Transitive dependenciesNot calculated

README

Version 0.1.0 documentation

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 applications
  • client.applications.get(app_id) - Get application details
  • client.applications.create(name, description) - Create new application
  • client.applications.update(app_id, **kwargs) - Update application
  • client.applications.delete(app_id) - Delete application

Agents

  • client.applications.agents.list(app_id) - List agents
  • client.applications.agents.get(app_id, agent_id) - Get agent details
  • client.applications.agents.create(app_id, **kwargs) - Create agent
  • client.applications.agents.update(app_id, agent_id, **kwargs) - Update agent
  • client.applications.agents.delete(app_id, agent_id) - Delete agent

Chat

  • client.chat.create_session(app_id, **kwargs) - Create chat session
  • client.chat.send_message(session_id, content, **kwargs) - Send message
  • client.chat.get_history(session_id) - Get chat history
  • client.chat.approve_mcp_request(request_id, approved) - Approve MCP request

Tools & MCPs

  • client.applications.tools.list(app_id) - List tools
  • client.applications.mcps.list(app_id) - List MCPs

Datasets

  • client.applications.datasets.list(app_id) - List datasets
  • client.applications.datasets.get(app_id, dataset_id) - Get dataset
  • client.applications.datasets.add_data(app_id, dataset_id, data) - Add data

Contributing

  1. Clone the repository
  2. Install development dependencies: pip install -e .[dev]
  3. Run tests: pytest
  4. Format code: black aigents/
  5. Type check: mypy aigents/

License

MIT License - see LICENSE file for details.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 7

Native requirements
7 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
requests>=2.28.0runtime
typing-extensions
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
typing-extensions>=4.0.0runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest>=7.0.0; extra == "dev"runtime
pytest-cov
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
pytest-cov>=4.0.0; extra == "dev"runtime
black
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
black>=22.0.0; extra == "dev"runtime
flake8
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
flake8>=5.0.0; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.8",
  "evaluation": "NOT_EVALUATED"
}
mypy>=1.0.0; extra == "dev"runtime

Distribution files

2 collected
aigents_sdk-0.1.0-py3-none-any.whl

bdist_wheel · 10.83 KB · Python py3

Source file
aigents_sdk-0.1.0.tar.gz

sdist · 11.54 KB · Python source

Source file

Repository

PENDING
aigents/aigents-python

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 10:48 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:b65ee224ddd85a86cb0ce8ef7cbe3d6513f6cb25ca4de0ec259396df500004a9

Other collected versions

View all collected versions →