Metadata-Version: 2.4
Name: ciaren-client
Version: 0.1.0
Summary: Python client for the Ciaren visual data and ML workflow server
Project-URL: Homepage, https://www.ciaren.com/
Project-URL: Repository, https://github.com/ciaren-labs/Ciaren
Project-URL: Documentation, https://ciaren.com/docs
Project-URL: Issues, https://github.com/ciaren-labs/Ciaren/issues
Project-URL: Author, https://www.linkedin.com/in/rodrigo-arenas-gomez/
Author-email: Rodrigo Arenas <31422766+rodrigo-arenas@users.noreply.github.com>
License: Apache-2.0
Keywords: api-client,ciaren,data,data-engineering,etl,ml,workflow
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software 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: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx>=0.24
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: respx>=0.21; extra == 'dev'
Description-Content-Type: text/markdown

# ciaren-client

`ciaren-client` is the lightweight Python SDK for Ciaren. It talks to the
Ciaren REST API without installing the full application.

> Status: alpha (pre-1.0), `0.1.0`. Breaking changes are expected before `1.0.0`.

## Install

```bash
python -m pip install ciaren-client
```

For local development from this repository:

```bash
pip install -e path/to/Ciaren/client
```

## Quick Start

```python
from ciaren_client import Ciaren

with Ciaren("http://localhost:8055", webhook_secret="my-secret") as client:
    run = client.trigger("flow-id", parameters={"date": "2026-07-01"})
    print(run["status"])
```

Async usage is available through `AsyncCiaren`:

```python
from ciaren_client import AsyncCiaren

async with AsyncCiaren("http://localhost:8055", webhook_secret="my-secret") as client:
    run = await client.trigger("flow-id")
```

## What It Covers

The client includes typed sync and async methods for projects, datasets, flows,
runs, schedules, connections (including OS-keychain secrets), catalog metadata,
transformations, runtime app settings, ML helpers, plugins, marketplace
endpoints, webhook triggers, and SSE run logs.

Use `api_token` when the server is configured with `CIAREN_API_TOKEN`.
Use `webhook_secret` only for `trigger()`, which calls the webhook endpoint.

License: Apache-2.0.

See the [SDK documentation](https://ciaren.com/docs/guide/sdk).
