def getGussVariables(project_vars: dict) -> tuple:
    """Collects from project_variables.csv the parameters related to the activation of GUSS tool.

    Args:
        project_vars (dict): project variables collected from project_variables.csv.

    Raises:
        Exception: GUSS should be "yes" or "no" in project_variables.csv
        Exception: GUSS_parallel should be "yes" or "no" in project_variables.csv
        Exception: GUSS_parallel_threads must be an integer in project_variables.csv

    Returns:
        tuple: 3-element tuple containing

        - **guss** (*bool*): activation of GUSS tool.
        - **guss_parallel** (*bool*): run GUSS tool in parallel.
        - **guss_parallel_threads** (*int*): number CPUs used to run GUSS tool in parallel.
    """
    if project_vars["GUSS"].lower() in ["yes", "no"]:
        guss = True if project_vars["GUSS"].lower() == "yes" else False
    else:
        raise Exception('GUSS should be "yes" or "no"')

    if project_vars["GUSS_parallel"].lower() in ["yes", "no"]:
        guss_parallel = (
            True if project_vars["GUSS_parallel"].lower() == "yes" else False
        )
    else:
        raise Exception('GUSS_parallel should be "yes" or "no"')
    if isinstance(project_vars["GUSS_parallel_threads"], int):
        guss_parallel_threads = project_vars["GUSS_parallel_threads"]
    elif project_vars["GUSS_parallel_threads"].isdigit():
        guss_parallel_threads = int(project_vars["GUSS_parallel_threads"])
    else:
        raise Exception("GUSS_parallel_threads must be an integer")
    return guss, guss_parallel, guss_parallel_threads