# HubAI SDK API Reference

Python API: `hubai_sdk`

Source version: `v0.3.2` (commit `2fb490c2b246b68e1d97bb2ede6d83642047668f`)

Client library for managing and converting models with HubAI.

HubAI stores model resources in a three-level hierarchy:

 1. A model describes the architecture, task, license, and visibility.
 2. A variant is a named and versioned implementation of that model.
 3. An instance is a concrete model artifact, such as an ONNX model or an exported artifact for RVC2, RVC3, RVC4, or Hailo.

[HubAIClient](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/hubai_client.md) is the main
entry point. It validates the API key and exposes the
[hubai_sdk.services.models](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/services/models.md),
[hubai_sdk.services.variants](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/services/variants.md),
[hubai_sdk.services.instances](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/services/instances.md),
and
[hubai_sdk.services.convert](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/services/convert.md)
modules as attributes.

> **Example**
> List public object-detection models and inspect the first result.

```python
from hubai_sdk import HubAIClient

client = HubAIClient()
models = client.models.list_models(
    tasks=["OBJECT_DETECTION"],
    is_public=True,
)

if models:
    model = client.models.get_model(models[0].id)
    print(model.name, model.tasks)
```

 * `Authentication:`: Pass an API key to
   [HubAIClient](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/hubai_client.md), set the
   `HUBAI_API_KEY` environment variable, or store a key with `hubai login`. The explicit constructor argument takes precedence
   over the environment and stored credentials.

> **See Also**
> [hubai_sdk.services.convert](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/services/convert.md) for hosted conversion workflows and [hubai_sdk.utils.sdk_models](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/utils/sdk_models.md) for the response objects returned by the service functions.

## Child Pages

 * [services](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/services.md)
 * [utils](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/utils.md)
 * [CLI](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/__main__.md)
 * [errors](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/errors.md)
 * [hubai_client](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/hubai_client.md)
 * [typing](https://docs.luxonis.com/cloud/hubai/model-registry/hubai-sdk/hubai-sdk-api-reference/typing.md)

## Attributes

### version
