Source code for embedl_hub._internal.core.device.config.embedl_onnxruntime

"""Typed configuration for the ``embedl_onnxruntime`` provider."""

from __future__ import annotations

from dataclasses import dataclass, field

from embedl_hub._internal.core.device.config.abc import ProviderConfig
from embedl_hub._internal.core.types import RemotePath


[docs] @dataclass(frozen=True) class EmbedlONNXRuntimeConfig(ProviderConfig): """Configuration for devices using the ``embedl-onnxruntime`` CLI. Instances are attached to a :class:`~embedl_hub._internal.core.device.abc.Device` via :attr:`~Device.provider_config` (default for all components) and optionally overridden per-component in :attr:`~Device.provider_config_overrides`. :param embedl_onnxruntime_path: Path to the ``embedl-onnxruntime`` executable on the remote system. Defaults to ``"embedl-onnxruntime"`` (assumes it is on ``$PATH``). :param cli_args: Additional device-specific CLI arguments forwarded verbatim to the ``embedl-onnxruntime`` tool. """ embedl_onnxruntime_path: RemotePath = RemotePath("embedl-onnxruntime") cli_args: tuple[str, ...] = field(default_factory=tuple)