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 |
Create a versioned variant beneath a model. |
| Function | create |
Creates a new variant of a model. |
| Function | delete |
Delete a model variant from HubAI. |
| Function | delete |
Deletes a model variant. |
| Function | get |
Get one model variant by UUID or slug. |
| Function | get |
Returns information about a model version. |
| Function | list |
List model variants visible to the authenticated team. |
| Function | list |
List the model versions in the HubAI. |
| Constant | VARIANT |
Undocumented |
| Constant | VARIANT |
Undocumented |
| Constant | VARIANT |
Undocumented |
| Variable | app |
Undocumented |
| Function | _print |
Undocumented |
| Function | _print |
Undocumented |
| Function | _variant |
Undocumented |
@telemetry_operation( OperationTelemetrySpec( operation_name=OperationName.VARIANT_CREATE, operation_group=TelemetryGroup.VARIANTS, success_event=VARIANT_CREATED_EVENT, target_resource=TargetResource.VARIANT, success_builder=build_variant_created_properties))
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:str | Human-readable variant name. |
modelUUID | str | UUID of the parent model. |
variantstr | Version string for this variant. |
description:str | None | Full description of the variant. |
repositorystr | None | Source repository URL. |
commitstr | None | Source revision used to produce the variant. |
domain:str | None | Application or dataset domain. |
tags:list[ | Searchable labels for the variant. |
| Returns | |
ModelVersionResponse | The created model version resource. |
| Raises | |
ResourceConflictError | If the variant already exists for the model. |
HubApiError | If 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 | str | Variant UUID, slug, or full HubAI slug. |
@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 | str | Variant UUID, slug, or full HubAI slug. |
| Returns | |
ModelVersionResponse | The resolved model version resource. |
@telemetry_operation( OperationTelemetrySpec( operation_name=OperationName.VARIANTS_LIST, operation_group=TelemetryGroup.VARIANTS, success_event=VARIANTS_LISTED_EVENT, target_resource=TargetResource.VARIANT, success_builder=build_variants_listed_properties))
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 | |
modelUUID | str | None | Keep variants belonging to this model UUID. |
name:str | None | Keep variants with this name. |
variantstr | None | Keep variants with this slug. |
variantstr | None | Keep variants with this version string. |
isbool | None | Filter by visibility, or leave as None for no filter. |
includebool | Resolve and populate the parent model_name. This performs an additional request for each returned variant. |
limit:int | Maximum number of variants to return. |
sort:str | ModelVersionResponse field used for sorting. |
order:Order | Sort in ascending or descending order. |
| Returns | |
list[ | 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.
def _print_variant_list(variants:
list[ ModelVersionResponse], include_model_name: bool, field: list[ str] | None = None):
¶
Undocumented