Metadata-Version: 2.4
Name: writerzroom
Version: 0.1.0
Summary: Official Python SDK for the WriterzRoom API
Project-URL: Homepage, https://writerzroom.com
Project-URL: Documentation, https://writerzroom.mintlify.app
Project-URL: Repository, https://github.com/techthumb1/writerzroom-python
Author-email: WriterzRoom <support@writerzroom.com>
License: MIT
Keywords: ai,content,generation,writerzroom
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
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
Requires-Dist: httpx>=0.27.0
Description-Content-Type: text/markdown

# writerzroom

Official Python SDK for the [WriterzRoom](https://writerzroom.com) API.

## Installation

```bash
pip install writerzroom
```

## Quickstart

```python
from writerzroom import WriterzRoomClient

client = WriterzRoomClient(
    api_key="your-api-key",
    user_id="your-user-id",
)

request_id = client.generate(
    template="blog_article_generator",
    style_profile="thought_leadership",
    generation_mode="standard",
    dynamic_parameters={"topic": "The future of enterprise AI"},
)

result = client.wait_for_completion(request_id)
print(result.content)
```

## Methods

| Method | Description |
|---|---|
| `generate(...)` | Submit a generation request, returns `request_id` |
| `get_status(request_id)` | Poll status for a generation request |
| `wait_for_completion(request_id)` | Block until generation completes, returns `GenerationResult` |
| `list_templates()` | List all available content templates |
| `list_style_profiles()` | List all available style profiles |
| `list_verticals()` | List all available industry verticals |

## Context manager

```python
with WriterzRoomClient(api_key="...", user_id="...") as client:
    request_id = client.generate(
        template="market_analysis_template",
        style_profile="fintech",
        generation_mode="premium",
        vertical_id="fintech",
        dynamic_parameters={"topic": "DeFi risk management 2026"},
    )
    result = client.wait_for_completion(request_id, timeout=720)
    print(f"Generated {result.word_count} words")
```

## Error handling

```python
from writerzroom import (
    AuthenticationError,
    InsufficientCreditsError,
    GenerationTimeoutError,
    RateLimitError,
    APIError,
)

try:
    result = client.wait_for_completion(request_id)
except InsufficientCreditsError as e:
    print(f"Need more credits. Balance: {e.balance}")
except GenerationTimeoutError as e:
    print(f"Timed out: {e.request_id}")
except APIError as e:
    print(f"API error {e.status_code}: {e}")
```