module documentation

Manage named and versioned variants of HubAI models.

A variant groups related model instances under a semantic version. For example, a model can have separate variants for different input resolutions or training datasets, and each variant can have versions such as "1.0.0" and "1.1.0".

Example

variant = client.variants.create_variant(
    "coco-640x640",
    model_id=model.id,
    variant_version="1.0.0",
    tags=["coco"],
)
instances = client.instances.list_instances(variant_id=variant.id)

Functions accepting an identifier resolve UUIDs and HubAI slugs. Deleting a variant removes the resource remotely and cannot be undone through the SDK.

Function create_variant Create a versioned variant beneath a model.
Function create_variant_cli Creates a new variant of a model.
Function delete_variant Delete a model variant from HubAI.
Function delete_variant_cli Deletes a model variant.
Function get_variant Get one model variant by UUID or slug.
Function get_variant_info_cli Returns information about a model version.
Function list_variants List model variants visible to the authenticated team.
Function list_variants_cli List the model versions in the HubAI.
Constant VARIANT_INFO_KEYS Undocumented
Constant VARIANT_LIST_KEYS Undocumented
Constant VARIANT_LIST_KEYS_WITH_MODEL Undocumented
Variable app Undocumented
Function _print_variant_info Undocumented
Function _print_variant_list Undocumented
Function _variant_to_cli_data Undocumented
def create_variant(name: str, *, model_id: UUID | str, variant_version: str, description: str | None = None, repository_url: str | None = None, commit_hash: str | None = None, domain: str | None = None, tags: list[str] | None = None) -> ModelVersionResponse:

Create a versioned variant beneath a model.

Parameters
name:strHuman-readable variant name.
model_id:UUID | strUUID of the parent model.
variant_version:strVersion string for this variant.
description:str | NoneFull description of the variant.
repository_url:str | NoneSource repository URL.
commit_hash:str | NoneSource revision used to produce the variant.
domain:str | NoneApplication or dataset domain.
tags:list[str] | NoneSearchable labels for the variant.
Returns
ModelVersionResponseThe created model version resource.
Raises
ResourceConflictErrorIf the variant already exists for the model.
HubApiErrorIf HubAI rejects the request for another reason.
@app.command(name='create')
def create_variant_cli(name: str, *, model_id: UUID | str, variant_version: str, description: str | None = None, repository_url: str | None = None, commit_hash: str | None = None, domain: str | None = None, tags: list[str] | None = None):

Creates a new variant of a model.

@telemetry_operation(OperationTelemetrySpec(operation_name=OperationName.VARIANT_DELETE, operation_group=TelemetryGroup.VARIANTS, success_event=VARIANT_DELETED_EVENT, target_resource=TargetResource.VARIANT, identifier_param='identifier', success_builder=build_model_identifier_properties))
def delete_variant(identifier: UUID | str):

Delete a model variant from HubAI.

Parameters
identifier:UUID | strVariant UUID, slug, or full HubAI slug.
@app.command(name='delete')
def delete_variant_cli(identifier: UUID | str):

Deletes a model variant.

@telemetry_operation(OperationTelemetrySpec(operation_name=OperationName.VARIANT_GET, operation_group=TelemetryGroup.VARIANTS, success_event=VARIANT_RETRIEVED_EVENT, target_resource=TargetResource.VARIANT, identifier_param='identifier', success_builder=build_model_identifier_properties))
def get_variant(identifier: UUID | str) -> ModelVersionResponse:

Get one model variant by UUID or slug.

Parameters
identifier:UUID | strVariant UUID, slug, or full HubAI slug.
Returns
ModelVersionResponseThe resolved model version resource.
@app.command(name='info')
def get_variant_info_cli(identifier: UUID | str):

Returns information about a model version.

def list_variants(model_id: UUID | str | None = None, name: str | None = None, variant_slug: str | None = None, variant_version: str | None = None, is_public: bool | None = None, include_model_name: bool = False, limit: int = 50, sort: str = 'updated', order: Order = 'desc') -> list[ModelVersionResponse]:

List model variants visible to the authenticated team.

Parameters
model_id:UUID | str | NoneKeep variants belonging to this model UUID.
name:str | NoneKeep variants with this name.
variant_slug:str | NoneKeep variants with this slug.
variant_version:str | NoneKeep variants with this version string.
is_public:bool | NoneFilter by visibility, or leave as None for no filter.
include_model_name:boolResolve and populate the parent model_name. This performs an additional request for each returned variant.
limit:intMaximum number of variants to return.
sort:strModelVersionResponse field used for sorting.
order:OrderSort in ascending or descending order.
Returns
list[ModelVersionResponse]A list of matching model version resources.
@app.command(name='ls')
def list_variants_cli(model_id: UUID | str | None = None, name: str | None = None, variant_slug: str | None = None, variant_version: str | None = None, is_public: bool | None = None, include_model_name: bool = False, limit: int = 50, sort: str = 'updated', order: Order = 'desc', field: Annotated[list[str] | None, Parameter(name=[(--field), (-f)])] = None):

List the model versions in the HubAI.

VARIANT_INFO_KEYS: list[str] =

Undocumented

Value
['model_name',
 'name',
 'slug',
 'version',
 'id',
 'model_id',
 'created',
...
VARIANT_LIST_KEYS: list[str] =

Undocumented

Value
['name', 'version', 'id', 'platforms']
VARIANT_LIST_KEYS_WITH_MODEL: list[str] =

Undocumented

Value
['model_name', 'name', 'version', 'id', 'platforms']
app =

Undocumented

def _print_variant_info(variant: ModelVersionResponse):

Undocumented

def _print_variant_list(variants: list[ModelVersionResponse], include_model_name: bool, field: list[str] | None = None):

Undocumented

def _variant_to_cli_data(variant: ModelVersionResponse) -> dict[str, object]:

Undocumented