Metadata-Version: 2.4
Name: atamya-client
Version: 0.1.0
Summary: Typed Python REST client for the Atamya Neo API (v2)
Author: Atamya Client Contributors
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: requests>=2.31.0
Provides-Extra: dev
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.5.0; extra == "dev"
Requires-Dist: isort>=5.12.0; extra == "dev"
Requires-Dist: twine>=4.0.0; extra == "dev"
Dynamic: license-file

# atamya_client

Typed Python REST client for the **Atamya Neo API (v2)**.

Generated from the OpenAPI 3.0.3 specification. Uses `pydantic>=2.0` for
models and `requests` for HTTP transport. MIT license.

## Quick Start

```python
from atamya_client import AtamyaClient

# Configure from environment variables:
#   ATAMYA_BASE_URL (default: https://hoerl.internal.atamya.cloud/api/v2)
#   ATAMYA_API_KEY   or ATAMYA_TOKEN
client = AtamyaClient()

# List domains
domains = client.get_domains()
for d in domains.content:
    print(d.id, d.name)

# Get a single domain
domain = client.get_domain_by_id("bikes")
print(domain.id)

# Don't forget to close
client.close()

# Or use as a context manager:
with AtamyaClient() as c:
    bo_page = c.get_business_objects("bikes")
    for bo in bo_page.content:
        print(bo.id)
```

## Installation

```bash
pip install atamya-client
```

## Development

```bash
# Install dev dependencies
pip install -r requirements-dev.txt

# Run tests
pytest --cov=atamya_client

# Type check
mypy src/atamya_client

# Format
black src/ tests/
ruff check src/ tests/

# Build wheel
python build_wheel.py
```

## Regenerate

If the `openapi.json` specification changes, re-run the generator to keep
models and client methods in sync.
