Metadata-Version: 2.4
Name: alpha-sdk-client
Version: 0.3.0
Summary: Python client for the Alpha Camera REST API — control Sony cameras via REST. Auto-generated from the OpenAPI spec via Fern.
Project-URL: Homepage, https://github.com/ocjlee888/camera-remote-sdk-project
Project-URL: Repository, https://github.com/ocjlee888/camera-remote-sdk-project
Project-URL: Issues, https://github.com/ocjlee888/camera-remote-sdk-project/issues
Project-URL: Changelog, https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/sdks/python/CHANGELOG.md
Author: Alpha Camera
License: MIT
License-File: LICENSE
Keywords: alpha,api,camera,client,photography,remote-control,rest,sdk,sony,tethering
Classifier: Development Status :: 3 - Alpha
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics :: Capture
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: httpx>=0.21.2
Requires-Dist: pydantic>=1.9.2
Requires-Dist: typing-extensions>=4.0.0
Description-Content-Type: text/markdown

# alpha-sdk-client

Python client for the Alpha Camera REST API. Auto-generated from the OpenAPI spec via [Fern](https://buildwithfern.com/).

## Install (local development)

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

## Usage

```python
from alpha_sdk_client import AlphaSDKClient

client = AlphaSDKClient(base_url="http://localhost:8080")
cameras = client.cameras.list()
print(cameras.cameras)
```

## Async

```python
from alpha_sdk_client import AsyncAlphaSDKClient

client = AsyncAlphaSDKClient(base_url="http://localhost:8080")
cameras = await client.cameras.list()
```

## Recipes — SSE, live view, server lifecycle, discovery

This SDK covers every REST endpoint. For the patterns that aren't REST (real-time events, frame polling, spawning the server) use the copy-paste recipes in [`docs/recipes/`](https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/docs/recipes/README.md):

| Pattern | Recipe |
|---------|--------|
| Real-time events (SSE) | [Recipe 1](https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/docs/recipes/01-sse-events.md) |
| Live view frame polling | [Recipe 2](https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/docs/recipes/02-live-view-polling.md) |
| Server subprocess lifecycle | [Recipe 3](https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/docs/recipes/03-server-subprocess.md) |
| Camera discovery / hot-plug | [Recipe 4](https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/docs/recipes/04-discovery-reconnect.md) |
| Retry with backoff | [Recipe 5](https://github.com/ocjlee888/camera-remote-sdk-project/blob/main/docs/recipes/05-retry-backoff.md) |

## Regenerate

From the repo root:

```bash
cd fern && fern generate --group py-sdk --local
```

Only the generated source at `src/alpha_sdk_client/` is rewritten; `pyproject.toml` and this `README` stay put.
