# Omni SDK for Python

`omnictl` is an async-first Python SDK and CLI for the Sidero Omni API.

This project ships:

- A typed Python package (`omni`) with compatibility alias (`omnisdk`).
- A unified sync/async client (`OmniClient`) with async-prefixed methods.
- A Typer/Rich CLI (`omnipy`) that mirrors `omnictl` in phased parity.
- Upstream drift tooling to keep SDK artifacts aligned with Omni releases.

## Package goals

- Match upstream Omni versioning (`X.Y.Z`) and use `.postN` for SDK-only fixes.
- Keep transport async-first (`httpx`) with retry + conservative short-lived caching.
- Provide strong DX: pydantic config, typed APIs, global singleton helpers.
- Support service-account signing for `/api/*` and `/image/*` requests.

## Quick links

- [Getting Started](/getting-started)
- [Configuration](/configuration)
- [Common Tasks](/common-tasks)
- [Client Usage](/client-usage)
- [CLI Parity](/cli-parity)
- [Talos Wrapper](/talos-wrapper)
- [CRD Navigator](/crd-navigator)
- [History and Autocomplete](/history-and-autocomplete)
- [Upstream Updates](/upstream-updates)
