Skip to content

Commands

heliaAOT is a Python-based CLI that supports various commands with configurable arguments. Each command can accept options directly via flags, via a YAML configuration file, or both, with flags taking precedence over YAML options. This allows for flexible and convenient configuration of the CLI.

Available Commands

  • version: Show the version of the heliaAOT CLI.
  • list-targets: List every supported target platform name.
  • target-info: Show the capabilities of a given target platform.
  • convert: Convert a model to a standalone C inference module.

Passing arguments

  • Via flags: specify each option on the command line:

    helia-aot [command] \
      --flag value \
      --nested.flag other-value
    
  • Via YAML: provide a config file:

    helia-aot [command] --path configuration.yaml
    
Mixing YAML and CLI flags

The CLI allows providing both YAML and CLI flags. CLI flags take precedance over YAML options and will override any equivalent options in the YAML file. For example, you can use a YAML file for most options and then override the --verbose level directly in the command line.

helia-aot [command] --path configuration.yaml --verbose 2
Dictionary-valued options merge per-key

A dictionary-valued flag such as --platform.memories patches the corresponding YAML dictionary key-by-key rather than replacing it: entries absent from the CLI value keep their YAML sizes, and an empty CLI dictionary is a no-op. Scalar and list flags replace the YAML value wholesale (a bare list flag clears it).

Unknown configuration keys

Misspelled or unknown keys in nested YAML sections (e.g. memory.planer instead of memory.planner) are currently ignored with a warning that includes a did-you-mean suggestion. Unknown keys will become hard errors in a future release — fix them when you see the warning. Unknown keys at the top level of the configuration are already rejected.