# Python SDK

Use the official Python client with typed resources and bounded cursor iteration.

- [Source on GitHub](https://github.com/luranta/sdk-python): Inspect the stable runtime and generated model boundary.
- [PyPI package](https://pypi.org/project/luranta/): Install the trusted public release when enabled.

## Installation

### pip

```shell
pip install luranta
```

### uv

```shell
uv add luranta
```

### Poetry

```shell
poetry add luranta
```

## Quick start

### Python

```python
import os
from luranta import Luranta

luranta = Luranta(api_key=os.environ["LURANTA_API_KEY"])
page = luranta.jobs.list({
    "roles": ["software-engineering"],
    "limit": 3,
})

for job in page.data:
    print(job.title)
```

## Key features

| Feature | Behaviour |
| --- | --- |
| Models | Typed Pydantic response models |
| Pagination | Synchronous cursor iterators with loop protection |
| Retries | Only explicit non-billable retryable responses |
| Raw responses | Request ID and billing headers remain available |
| Runtime | Python 3.10 through 3.14 |

> **Authentication:** Read the key from a server-side secret or environment variable. Never commit it or send it in support messages.
