Skip to content

Commit

Permalink
Adds support for trogon.
Browse files Browse the repository at this point in the history
Most vara-* commands now support `tui` as a subcommand which opens a text-based UI for selecting command line parameters.
  • Loading branch information
boehmseb committed Jan 5, 2024
1 parent 165cc76 commit a7cb476
Show file tree
Hide file tree
Showing 11 changed files with 23 additions and 2 deletions.
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ rich>=12.6
scikit-learn>=1.2.2
seaborn>=0.13.0
tabulate>=0.9
trogon>=0.5.0
types-PyYAML
types-requests
types-tabulate
Expand Down
1 change: 1 addition & 0 deletions varats/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"scikit-learn>=1.2.2",
"seaborn>=0.13.0",
"tabulate>=0.9",
"trogon>=0.5.0",
"varats-core>=13.0.5",
"wllvm>=1.3.1",
],
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_artefacts.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import click
import yaml
from rich.progress import Progress
from trogon import tui

Check failure on line 16 in varats/varats/tools/driver_artefacts.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_artefacts.py#L16

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_artefacts.py:16:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

Check failure on line 16 in varats/varats/tools/driver_artefacts.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_artefacts.py#L16

note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
Raw output
varats/varats/tools/driver_artefacts.py:16:1: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports

from varats.data.discover_reports import initialize_reports
from varats.paper.paper_config import get_paper_config
Expand All @@ -36,6 +37,7 @@
LOG = logging.getLogger(__name__)


@tui()

Check failure on line 40 in varats/varats/tools/driver_artefacts.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_artefacts.py#L40

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_artefacts.py:40:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group(
help="Manage artefacts.",
context_settings={"help_option_names": ['-h', '--help']}
Expand Down
4 changes: 3 additions & 1 deletion varats/varats/tools/driver_build_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import click
from plumbum import colors
from trogon import tui

Check failure on line 9 in varats/varats/tools/driver_build_setup.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_build_setup.py#L9

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_build_setup.py:9:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.containers.containers import (
ImageBase,
Expand Down Expand Up @@ -89,6 +90,7 @@ def show_major_release_prompt(
return


@tui()

Check failure on line 93 in varats/varats/tools/driver_build_setup.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_build_setup.py#L93

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_build_setup.py:93:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group(context_settings={"help_option_names": ['-h', '--help']})
def main() -> None:
"""Build VaRA on cli."""
Expand Down Expand Up @@ -170,7 +172,7 @@ def update(research_tool: str) -> None:
@click.option(
"--build-type",
type=EnumChoice(BuildType, case_sensitive=False),
default=BuildType.DEV,
default="DEV",
help="Build type to use for the tool build configuration."
)
@click.option(
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_casestudy.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import click
from plumbum import FG, colors, local
from trogon import tui

Check failure on line 11 in varats/varats/tools/driver_casestudy.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_casestudy.py#L11

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_casestudy.py:11:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.base.sampling_method import NormalSamplingMethod
from varats.data.discover_reports import initialize_reports
Expand Down Expand Up @@ -86,6 +87,7 @@ def create_plot_type_choice() -> TypedChoice[tp.Type[Plot]]:
return TypedChoice(Plot.PLOTS)


@tui()

Check failure on line 90 in varats/varats/tools/driver_casestudy.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_casestudy.py#L90

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_casestudy.py:90:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group()
@configuration_lookup_error_handler
def main() -> None:
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@
import click
import yaml
from benchbuild.utils.settings import ConfigDumper, Configuration
from trogon import tui

Check failure on line 14 in varats/varats/tools/driver_config.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_config.py#L14

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_config.py:14:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.utils.settings import vara_cfg, save_config


@tui()

Check failure on line 19 in varats/varats/tools/driver_config.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_config.py#L19

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_config.py:19:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group("vara-config")
def main() -> None:
"""
Expand Down
5 changes: 4 additions & 1 deletion varats/varats/tools/driver_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import typing as tp

import click
from trogon import tui

Check failure on line 11 in varats/varats/tools/driver_container.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_container.py#L11

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_container.py:11:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.containers.containers import (
create_base_images,
Expand All @@ -26,6 +27,7 @@
LOG = logging.Logger(__name__)


@tui()

Check failure on line 30 in varats/varats/tools/driver_container.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_container.py#L30

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_container.py:30:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group(
help="Manage base container images.",
context_settings={"help_option_names": ['-h', '--help']}
Expand Down Expand Up @@ -144,7 +146,8 @@ def delete(
"-t",
"--tool",
type=click.Choice([*get_supported_research_tool_names(), "none"]),
default=lambda: vara_cfg()["container"]["research_tool"].value or "none",
required=True,
# default=lambda: vara_cfg()["container"]["research_tool"].value or "none",
prompt="Select a research tool to activate.",
help="The research tool to activate."
)
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_develop.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import typing as tp

import click
from trogon import tui

Check failure on line 6 in varats/varats/tools/driver_develop.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_develop.py#L6

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_develop.py:6:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.tools.research_tools import development as dev
from varats.tools.research_tools.research_tool import SubProject
Expand All @@ -13,6 +14,7 @@
from varats.ts_utils.cli_util import initialize_cli_tool


@tui()

Check failure on line 17 in varats/varats/tools/driver_develop.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_develop.py#L17

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_develop.py:17:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group(context_settings={"help_option_names": ['-h', '--help']})
@click.option(
"-p",
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_gen_benchbuild_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import typing as tp

import click
from trogon import tui

Check failure on line 9 in varats/varats/tools/driver_gen_benchbuild_config.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_gen_benchbuild_config.py#L9

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_gen_benchbuild_config.py:9:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.tools.bb_config import (
create_new_bb_config,
Expand All @@ -18,6 +19,7 @@
LOG = logging.getLogger(__name__)


@tui()

Check failure on line 22 in varats/varats/tools/driver_gen_benchbuild_config.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_gen_benchbuild_config.py#L22

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_gen_benchbuild_config.py:22:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.command()
@click.option(
"--bb-root",
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_paper_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from pathlib import Path

import click
from trogon import tui

Check failure on line 12 in varats/varats/tools/driver_paper_config.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_paper_config.py#L12

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_paper_config.py:12:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.paper.paper_config import get_paper_config
from varats.ts_utils.cli_util import cli_list_choice, initialize_cli_tool
Expand All @@ -23,6 +24,7 @@
LOG = logging.getLogger(__name__)


@tui()

Check failure on line 27 in varats/varats/tools/driver_paper_config.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_paper_config.py#L27

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_paper_config.py:27:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.group("vara-pc")
def main() -> None:
"""
Expand Down
2 changes: 2 additions & 0 deletions varats/varats/tools/driver_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
from benchbuild.utils.settings import to_yaml
from plumbum import local
from plumbum.commands import ProcessExecutionError
from trogon import tui

Check failure on line 22 in varats/varats/tools/driver_run.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_run.py#L22

error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker [import-untyped]
Raw output
varats/varats/tools/driver_run.py:22:1: error: Skipping analyzing "trogon": module is installed, but missing library stubs or py.typed marker  [import-untyped]

from varats.paper.case_study import CaseStudy
from varats.paper.paper_config import get_paper_config
Expand Down Expand Up @@ -81,6 +82,7 @@ def __validate_project_parameters(
return value


@tui()

Check failure on line 85 in varats/varats/tools/driver_run.py

View workflow job for this annotation

GitHub Actions / mypy

[mypy] varats/varats/tools/driver_run.py#L85

error: Untyped decorator makes function "main" untyped [misc]
Raw output
varats/varats/tools/driver_run.py:85:2: error: Untyped decorator makes function "main" untyped  [misc]
@click.command(context_settings={"help_option_names": ['-h', '--help']})
@click.option('-v', '--verbose', count=True)
@click.option("--slurm", is_flag=True, help="Run experiments on slurm.")
Expand Down

0 comments on commit a7cb476

Please sign in to comment.