> For the complete documentation index, see [llms.txt](https://docs.layerlens.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.layerlens.ai/13.1-sdk-and-apis/type-stubs.md).

# Type stubs and IDE support

Type stubs and IDE autocomplete for the Stratix Python SDK.

The `layerlens` SDK is fully typed using PEP 561 inline annotations. No separate stub package needed.

## What works out of the box

* **VS Code with Pylance / Pyright** — autocomplete, hover docs, go-to-definition
* **PyCharm** — autocomplete, type inspection, refactor support
* **mypy / pyright** — strict-mode compatible

## How types are exposed

The package ships a `py.typed` marker (PEP 561). Pydantic models surface their field types directly:

```python
from layerlens import Stratix
client = Stratix()

result = client.evaluations.wait_for_completion(eval_id)
# IDE knows result is EvaluationResult and offers.accuracy,.pass_rate,.rows,...
```

## Strict mypy

```bash
mypy --strict your_code_using_layerlens.py
```

passes against the SDK as of v1.3.0. Open an issue if you find a missing annotation.

## Async types

`AsyncStratix` mirrors `Stratix` with awaitable methods. IDEs distinguish them.

```python
from layerlens import AsyncStratix
async def f():
 client = AsyncStratix()
 result = await client.evaluations.wait_for_completion(eval_id)
 # result type identical to sync — IDE knows it's awaited
```

## See also

* [Type models (Pydantic)](https://github.com/LayerLens/gitbook-full/blob/main/13-reference/sdk-python/type-models.md)
* [Installation](/6.-build-wire-your-code/installation.md)
* [Errors](https://github.com/LayerLens/gitbook-full/blob/main/13-reference/sdk-python/errors.md)
