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

import typing
import pathlib
from styxdefs import *
import dataclasses

V__INSTALL_MACAQUE_DEMO_REST_METADATA = Metadata(
    id="10a53ef31c17c86242b50300d965aee0155a9142.boutiques",
    name="@Install_MACAQUE_DEMO_REST",
    package="afni",
    container_image_tag="afni/afni_make_build:AFNI_24.2.06",
)


class VInstallMacaqueDemoRestOutputs(typing.NamedTuple):
    """
    Output object returned when calling `v__install_macaque_demo_rest(...)`.
    """
    root: OutputPathType
    """Output root folder. This is the root folder for all outputs."""
    readme_file: OutputPathType
    """Details of the demo archive after download."""


def v__install_macaque_demo_rest(
    wget_flag: bool = False,
    curl_flag: bool = False,
    lite_version_flag: bool = False,
    runner: Runner | None = None,
) -> VInstallMacaqueDemoRestOutputs:
    """
    Installs the demo archive for AFNI's resting state FMRI macaque-analysis demo.
    
    Author: AFNI Team
    
    URL:
    https://afni.nimh.nih.gov/pub/dist/doc/program_help/@Install_MACAQUE_DEMO_REST.html
    
    Args:
        wget_flag: Use wget to download archive. Script chooses by default with\
            preference for curl.
        curl_flag: Use curl to download archive. Script chooses by default with\
            preference for curl.
        lite_version_flag: Download a version of the Demo in which the EPIs\
            have been truncated to 75 points each. This makes the download size\
            less than half of the original, and means the afni_proc.py processing\
            will run faster.
        runner: Command runner.
    Returns:
        NamedTuple of outputs (described in `VInstallMacaqueDemoRestOutputs`).
    """
    runner = runner or get_global_runner()
    execution = runner.start_execution(V__INSTALL_MACAQUE_DEMO_REST_METADATA)
    cargs = []
    cargs.append("Install_MACAQUE_DEMO_REST")
    if wget_flag:
        cargs.append("-wget")
    if curl_flag:
        cargs.append("-curl")
    if lite_version_flag:
        cargs.append("-lite_version")
    ret = VInstallMacaqueDemoRestOutputs(
        root=execution.output_file("."),
        readme_file=execution.output_file("README.txt"),
    )
    execution.run(cargs)
    return ret


__all__ = [
    "VInstallMacaqueDemoRestOutputs",
    "V__INSTALL_MACAQUE_DEMO_REST_METADATA",
    "v__install_macaque_demo_rest",
]
