unilab.base.variants

Task-owned fixed model variant declarations.

UniLab owns which variant each environment uses. It does not compile engine models or select an executor representation; those responsibilities stay behind the UniSim backend contract.

Functions

build_fixed_variant_plan(catalog, num_envs)

Build the immutable UniSim construction-time variant identity.

require_fixed_variant_support(capabilities, plan)

Fail closed unless UniSim can realize the complete variant plan.

Classes

FixedModelVariantCatalogCfg

Task-owned variant sources and their optional explicit assignment.

FixedModelVariantCfg

One named, pickle-safe source descriptor for a fixed model variant.

class unilab.base.variants.FixedModelVariantCatalogCfg[source]

Bases: object

Task-owned variant sources and their optional explicit assignment.

Parameters:
variants: tuple[FixedModelVariantCfg, ...]
explicit_variant_names: tuple[str, ...]
__init__(variants=<factory>, explicit_variant_names=<factory>)
Parameters:
class unilab.base.variants.FixedModelVariantCfg[source]

Bases: object

One named, pickle-safe source descriptor for a fixed model variant.

Parameters:
  • name (str)

  • source_model_file (str)

name: str
source_model_file: str
__init__(name, source_model_file)
Parameters:
  • name (str)

  • source_model_file (str)

unilab.base.variants.build_fixed_variant_plan(catalog, num_envs)[source]

Build the immutable UniSim construction-time variant identity.

Parameters:
Return type:

FixedVariantPlan

unilab.base.variants.require_fixed_variant_support(capabilities, plan)[source]

Fail closed unless UniSim can realize the complete variant plan.

Parameters:
  • capabilities (DomainRandomizationCapabilities)

  • plan (FixedVariantPlan)

Return type:

None