# datasdr-dsg-core-client

Typed async Python client for DSG Core.

## Install (local repository)

```bash
pip install .
```

## Build

```bash
python -m build
```

This produces wheel and sdist artifacts in `dist/`.

## Usage

```python
from dsg_core_client import DSGCoreClient
from dsg_core_client.schemas import QueryRequest
from uuid import UUID

client = DSGCoreClient(base_url="https://dsg-core.example.org", token="<token>")

tasks = await client.tasks.list_tasks(limit=50)
item_type_id = await client.catalog.map_item_type_id("namespace/collection/item-type")
request = QueryRequest(item_type_id=UUID("00000000-0000-0000-0000-000000000000"))
job = await client.reports.start_report_generation(request)
report_file = await client.reports.download_report(job.job_id)
```

## Notes

- The client facade exposes subclients: `tasks`, `queries`, `catalog`, `commands`, `reports`.
- Item type mapping cache is available via `client.item_type_cache`.
