# This file was auto generated by Styx.
# Do not edit this file directly.

import typing
import pathlib
from styxdefs import *
import dataclasses

V__INSTALL_D99_MACAQUE_METADATA = Metadata(
    id="11b48efb49cea8ca46bf421bd6a126147413494b.boutiques",
    name="@Install_D99_macaque",
    package="afni",
    container_image_tag="afni/afni_make_build:AFNI_24.2.06",
)


class VInstallD99MacaqueOutputs(typing.NamedTuple):
    """
    Output object returned when calling `v__install_d99_macaque(...)`.
    """
    root: OutputPathType
    """Output root folder. This is the root folder for all outputs."""
    readme_file: OutputPathType
    """Readme file with details about the installed atlas."""
    atlas_files: OutputPathType
    """Installed D99 macaque version 2 atlas files."""


def v__install_d99_macaque(
    wget_download: bool = False,
    curl_download: bool = False,
    runner: Runner | None = None,
) -> VInstallD99MacaqueOutputs:
    """
    Installs the D99 macaque version 2 atlases for subcortical regions in the
    macaque monkey.
    
    Author: AFNI Team
    
    URL:
    https://afni.nimh.nih.gov/pub/dist/doc/program_help/@Install_D99_macaque.html
    
    Args:
        wget_download: Use wget to download archive. Script chooses by default\
            with preference for curl.
        curl_download: Use curl to download archive. Script chooses by default\
            with preference for curl.
        runner: Command runner.
    Returns:
        NamedTuple of outputs (described in `VInstallD99MacaqueOutputs`).
    """
    runner = runner or get_global_runner()
    execution = runner.start_execution(V__INSTALL_D99_MACAQUE_METADATA)
    cargs = []
    cargs.append("@Install_D99_macaque")
    if wget_download:
        cargs.append("-wget")
    if curl_download:
        cargs.append("-curl")
    ret = VInstallD99MacaqueOutputs(
        root=execution.output_file("."),
        readme_file=execution.output_file("README.txt"),
        atlas_files=execution.output_file("D99_macaque_v2/*"),
    )
    execution.run(cargs)
    return ret


__all__ = [
    "VInstallD99MacaqueOutputs",
    "V__INSTALL_D99_MACAQUE_METADATA",
    "v__install_d99_macaque",
]
