Metadata-Version: 2.4
Name: elizaos-plugin-acp
Version: 2.0.0a4
Summary: elizaOS ACP Plugin - Agentic Commerce Protocol for checkout and commerce
Project-URL: Homepage, https://github.com/elizaos/eliza
Project-URL: Documentation, https://elizaos.ai/docs
Project-URL: Repository, https://github.com/elizaos/eliza
Author: elizaOS Contributors
License-Expression: MIT
Keywords: acp,agents,ai,checkout,commerce,elizaos
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: httpx>=0.28.0
Requires-Dist: pydantic>=2.10.0
Provides-Extra: dev
Requires-Dist: mypy>=1.19.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest-httpx>=0.30.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: python-dotenv>=1.0.0; extra == 'dev'
Requires-Dist: ruff>=0.14.0; extra == 'dev'
Description-Content-Type: text/markdown

# elizaos-plugin-acp

Python implementation of the ACP (Agentic Commerce Protocol) plugin for elizaOS.

## Installation

```bash
pip install elizaos-plugin-acp
```

For development:

```bash
pip install -e ".[dev]"
```

## Usage

```python
import asyncio
from elizaos_plugin_acp import AcpClient, AcpClientConfig

async def main():
    # Create client from environment variables
    config = AcpClientConfig.from_env()
    client = AcpClient(config)
    
    # Create a checkout session
    session = await client.create_checkout_session({
        "currency": "USD",
        "line_items": [
            {
                "id": "item_123",
                "name": "Widget",
                "unit_amount": 1000,
                "quantity": 2
            }
        ],
        "buyer": {
            "email": "customer@example.com"
        }
    })
    
    print(f"Session ID: {session.id}")
    print(f"Status: {session.status}")
    print(f"Total: {session.totals}")

asyncio.run(main())
```

## Environment Variables

- `ACP_MERCHANT_BASE_URL` (required): Base URL of the merchant API
- `ACP_MERCHANT_API_KEY` (optional): API key for authentication
- `ACP_REQUEST_TIMEOUT` (optional): Request timeout in seconds (default: 30)
- `ACP_API_VERSION` (optional): API version (default: 2026-01-30)

## Running Tests

```bash
pytest
```

With coverage:

```bash
pytest --cov=elizaos_plugin_acp
```

## License

MIT
