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

"""Typed configuration for the ``trtexec`` 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 TrtexecConfig(ProviderConfig): """Configuration for devices using the ``trtexec`` 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 trtexec_path: Path to the ``trtexec`` executable on the remote system. Defaults to ``"trtexec"`` (assumes it is on ``$PATH``). :param trtexec_cli_args: Additional device-specific CLI arguments forwarded verbatim to ``trtexec``. These are **appended** to any component-level arguments. """ trtexec_path: RemotePath = RemotePath("trtexec") trtexec_cli_args: tuple[str, ...] = field(default_factory=tuple)