# Autogenerated code. DO NOT EDIT.
import py_gen_ml as pgml
import typing

import pydantic
import typer

from . import cli_demo_base as base


class CLIDemoArgs(pgml.YamlBaseModel):
    """Global configuration"""

    path: typing.Annotated[
        typing.Optional[str],
        typer.Option(help="Path to the dataset. Maps to 'data.dataset.path'"),
        pydantic.Field(None),
        pgml.ArgRef("data.dataset.path"),
    ]
    """Path to the dataset"""

    num_layers: typing.Annotated[
        typing.Optional[int],
        typer.Option(help="Number of layers. Maps to 'model.num_layers'"),
        pydantic.Field(None),
        pgml.ArgRef("model.num_layers"),
    ]
    """Number of layers"""

    num_workers: typing.Annotated[
        typing.Optional[int],
        typer.Option(
            help="Number of workers for loading the dataset. Maps to 'data.num_workers'"
        ),
        pydantic.Field(None),
        pgml.ArgRef("data.num_workers"),
    ]
    """Number of workers for loading the dataset"""

    num_epochs: typing.Annotated[
        typing.Optional[int],
        typer.Option(help="Number of epochs. Maps to 'training.num_epochs'"),
        pydantic.Field(None),
        pgml.ArgRef("training.num_epochs"),
    ]
    """Number of epochs"""
