Metadata-Version: 2.4
Name: ucpify
Version: 1.0.0
Summary: Generate UCP-compliant servers for merchants from a simple schema
License: MIT
Project-URL: Homepage, https://ucp.dev
Project-URL: Repository, https://github.com/hemanth/ucpify
Keywords: ucp,commerce,checkout,agentic,ai-commerce
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.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: flask>=3.0.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: click>=8.0.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: structlog>=24.0.0
Requires-Dist: stripe>=7.0.0
Requires-Dist: paypalserversdk>=1.0.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-flask>=1.3.0; extra == "dev"

# ucpify (Python)

Generate UCP-compliant (Universal Commerce Protocol) servers for merchants from a simple schema.

## Installation

```bash
pip install -e .
```

## Quick Start

```bash
# Initialize a sample merchant config
ucpify init

# Edit merchant-config.json to add your products, shipping, payments

# Start the UCP server
ucpify serve merchant-config.json
```

## CLI Commands

```bash
# Create sample configuration
ucpify init --output my-store.json

# Validate configuration
ucpify validate my-store.json

# Start server
ucpify serve my-store.json --port 8080
```

## Programmatic Usage

```python
from ucp_server import create_flask_app, MerchantConfig, Item, ShippingOption

config = MerchantConfig(
    name="My Store",
    domain="http://localhost:3000",
    currency="USD",
    items=[
        Item(id="prod_1", title="Widget", price=1999)
    ],
    shipping_options=[
        ShippingOption(id="standard", title="Standard", price=500)
    ]
)

app = create_flask_app(config)
app.run(port=3000)
```

## License

MIT
