Metadata-Version: 2.4
Name: runblob
Version: 0.1.0
Summary: Official Python SDK for RunBlob AI generation platform — async-first, high-throughput, production-grade
Project-URL: Homepage, https://runblob.io
Project-URL: Documentation, https://docs.runblob.io
Project-URL: Repository, https://github.com/runblob/runblob-python
Project-URL: Changelog, https://github.com/runblob/runblob-python/blob/main/CHANGELOG.md
Author-email: RunBlob <dev@runblob.io>
License-Expression: MIT
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: AsyncIO
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: anyio<5,>=4.0
Requires-Dist: httpx[http2]<1.0,>=0.27.0
Requires-Dist: pydantic<3.0,>=2.5
Provides-Extra: dev
Requires-Dist: coverage[toml]>=7.0; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: respx>=0.22; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Description-Content-Type: text/markdown

# RunBlob Python SDK

Official async-first Python SDK for the [RunBlob](https://runblob.io) AI generation platform.

## Install

```bash
pip install runblob
```

## Quick Start

```python
import asyncio
from runblob import RunBlob

async def main():
    async with RunBlob(api_key="rb_...") as client:
        # Generate and wait for result
        result = await client.nanobanana.generate_and_wait(
            prompt="A cute orange cat on a windowsill",
            model="pro",
            quality="4k",
        )
        print(result.result_image_url)

asyncio.run(main())
```

## Features

- Async-first with `httpx` + HTTP/2
- Connection pooling (100 concurrent connections)
- Automatic retry with exponential backoff
- Circuit breaker for cascading failure protection
- Client-side rate limiting (token bucket)
- TTL cache for GET requests
- Auto-polling with `generate_and_wait()`
- Batch generation support
- Webhook verification
- Full type hints (py.typed, Pydantic v2)
