Metadata-Version: 2.4
Name: agentcloudservice
Version: 1.0.0
Summary: AgentCloudService SDK - Cloud hosting for autonomous AI agents
Author-email: VibeCaaS <support@vibecaas.com>
Maintainer-email: "NeuralQuantum.ai" <support@neuralquantum.ai>
License: MIT
Project-URL: Homepage, https://acs.vibecaas.app
Project-URL: Documentation, https://acs.vibecaas.app/docs
Project-URL: Repository, https://github.com/VibeCaaS/acs-sdk-python
Project-URL: Changelog, https://github.com/VibeCaaS/acs-sdk-python/releases
Project-URL: Bug Tracker, https://github.com/VibeCaaS/acs-sdk-python/issues
Keywords: ai,agents,cloud,hosting,autonomous,openclaw,api,sdk,vibecaas,neuralquantum
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: types-requests>=2.28.0; extra == "dev"
Dynamic: license-file

# ACS SDK for Python

Official Python SDK for [AgentCloudService](https://acs.vibecaas.app) - Cloud hosting for autonomous AI agents.

## Installation

```bash
pip install acs-sdk
```

## Quick Start

```python
from acs_sdk import ACS

# Register a new agent (no auth required)
result = ACS.register(name="my-research-agent")
print(f"API Key: {result.api_key}")

# Create client with API key
client = ACS(api_key=result.api_key)

# Deploy an OpenClaw agent
agent = client.deploy(
    name="research-agent",
    type="openclaw",
    config={
        "model": "claude-sonnet-4",
        "channels": ["telegram", "discord"],
        "skills": ["web_search", "coding"]
    },
    region="us-east-1"
)
print(f"Agent deployed: {agent.url}")
```

## Features

- **No CAPTCHA, No Phone Verification** - Just API keys and code
- **OpenClaw Native** - Deploy pre-configured AI agents with channels and skills
- **Multiple Deployment Types** - OpenClaw, Docker, or serverless functions
- **Programmatic Billing** - Stripe API or USDC via x402 protocol
- **Multi-Region** - US, EU, and Asia-Pacific regions

## Authentication

```python
from acs_sdk import ACS

# Option 1: Pass API key directly
client = ACS(api_key="acs_live_xxx")

# Option 2: Use environment variable
# export ACS_API_KEY=acs_live_xxx
client = ACS()
```

## API Reference

### Registration (No Auth Required)

```python
# Register new agent
result = ACS.register(
    name="my-agent",
    email="agent@example.com",  # Optional
    wallet="0x..."              # Optional, for USDC payments
)
print(result.agent_id)
print(result.api_key)

# Check service status
status = ACS.status()
print(status)
```

### Agent Management

```python
client = ACS(api_key="acs_live_xxx")

# List all agents
agents = client.list_agents()
for agent in agents:
    print(f"{agent.name}: {agent.status}")

# List running agents only
running = client.list_agents(status="running")

# Get specific agent
agent = client.get_agent("agent_xxx")

# Start/stop agent
client.start_agent("agent_xxx")
client.stop_agent("agent_xxx")

# Delete agent
client.delete_agent("agent_xxx")
```

### Deployment

```python
# Deploy OpenClaw agent
agent = client.deploy(
    name="my-agent",
    type="openclaw",
    config={
        "model": "claude-sonnet-4",
        "channels": ["telegram", "discord", "slack"],
        "skills": ["web_search", "coding", "browser"],
        "memory": True
    },
    region="us-east-1"
)

# Deploy Docker container
agent = client.deploy(
    name="custom-agent",
    type="docker",
    config={
        "image": "my-org/my-agent:latest",
        "env": {"API_KEY": "xxx"}
    }
)

# Deploy serverless function
agent = client.deploy(
    name="webhook-handler",
    type="function",
    config={
        "runtime": "python3.11",
        "handler": "main.handler"
    }
)
```

### Usage & Billing

```python
# Get usage metrics
usage = client.get_usage()
print(f"Requests (24h): {usage.requests_24h}")
print(f"Compute used: {usage.compute_used} GB")
print(f"Current bill: ${usage.current_bill}")

# Get billing info
billing = client.get_billing()

# Create checkout session
checkout = client.checkout(plan="micro")
print(f"Checkout URL: {checkout['checkoutUrl']}")

# Pay with USDC
payment = client.pay_usdc(amount="19.00")
```

## Regions

| Region | Location |
|--------|----------|
| `us-east-1` | US East (Virginia) |
| `us-west-2` | US West (Oregon) |
| `eu-west-1` | EU West (Ireland) |
| `eu-central-1` | EU Central (Frankfurt) |
| `ap-southeast-1` | Asia Pacific (Singapore) |
| `ap-southeast-2` | Asia Pacific (Sydney) |

## Error Handling

```python
from acs_sdk import ACS, ACSError, AuthenticationError, ValidationError

try:
    client = ACS(api_key="invalid")
    agents = client.list_agents()
except AuthenticationError:
    print("Invalid API key")
except ValidationError as e:
    print(f"Validation failed: {e.message}")
except ACSError as e:
    print(f"API error: {e.message} (status: {e.status_code})")
```

## Links

- [Documentation](https://acs.vibecaas.app/docs)
- [API Reference](https://acs.vibecaas.app/api/discover)
- [OpenAPI Spec](https://acs.vibecaas.app/api/openapi.json)
- [Pricing](https://acs.vibecaas.app/pricing)
- [Status](https://acs.vibecaas.app/status)

## License

MIT License - Copyright (c) 2026 VibeCaaS / NeuralQuantum.ai LLC
