From f8c6cbd5a7af9498b35290de98c487bd0570ee1d Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:11:03 -0700 Subject: [PATCH 01/45] Add bfs/dfs ordered status output --- maestrowf/datastructures/core/executiongraph.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index 5fea2d68e..eeaac73d9 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -605,6 +605,18 @@ def write_status(self, path): "Start Time,Submit Time,End Time,Number Restarts" status = [header] keys = set(self.values.keys()) - set(["_source"]) + + status_order = 'bfs' + if status_order == 'bfs': + keys, _ = set(self.bfs_subtree("_source")) - set(["_source"]) + + elif status_order == 'dfs': + subtree, _ = self.dfs_subtree("_source", par="_source") + LOGGER.info("DFS SUBTREE: {}".format(subtree)) + keys = [key for key in subtree if key != '_source'] + # keys = set(subtree) - set(["_source"]) + LOGGER.info("DFS KEYS: {}".format(keys)) + for key in keys: value = self.values[key] From c45753c9eebda2256d4f57e08e91bc07f65390c3 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:12:43 -0700 Subject: [PATCH 02/45] Prototype rich formatted status tables with cli layout switch --- maestrowf/maestro.py | 168 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 165 insertions(+), 3 deletions(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 6ab00cf27..2fc5025bd 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -32,6 +32,12 @@ import jsonschema import logging import os +from rich import box +from rich.console import Console +from rich.panel import Panel +from rich.style import Style +from rich.table import Table +from rich.theme import Theme import shutil import six import sys @@ -52,6 +58,27 @@ LOGGER = logging.getLogger(__name__) LOG_UTIL = LoggerUtility(LOGGER) +STATUS_THEME_FLAT = Theme({ + "State": "bold red", + "Step Name": "bold cyan", + "Workspace": "blue", + "Job ID": "yellow", + "row_style": "none", + "row_style_dim": "dim", + "col_style_1": "cyan", + "col_style_2": "blue", + "bgcolor": "grey7", + "color": "cyan" +}) +STATUS_THEME_NARROW = Theme({ + "State": "bold red", + "Step Name": "bold cyan", + "Workspace": "blue", + "row_style": "cyan", + "row_style_dim": "cyan dim", + "background": "grey7" +}) + # Configuration globals DEBUG_FORMAT = "[%(asctime)s: %(levelname)s] " \ "[%(module)s: %(lineno)d] %(message)s" @@ -65,7 +92,7 @@ def status_study(args): LOG_UTIL.configure(LFORMAT, log_lvl=3) directory_list = args.directory - + if directory_list: header_format = "".ljust(150, "=") @@ -77,8 +104,133 @@ def status_study(args): print(header_format) status = Conductor.get_status(abs_path) - if status: + status_layout = args.layout + + if status and status_layout == 'flat': + # Colorized printer (rich) + RCONSOLE = Console(theme=STATUS_THEME_FLAT) + + stat_table = Table(title="Study: {}".format(abs_path),) + # style=Style.combine([STATUS_THEME_FLAT.styles['color'], STATUS_THEME_FLAT.styles['bgcolor']])) + cols = list(status.keys()) + + for nom_col_num, col in enumerate(cols): + if col in list(STATUS_THEME_FLAT.styles.keys()): + col_style = col + else: + if nom_col_num % 2 == 0: + col_style = 'col_style_1' + else: + col_style = 'col_style_2' + + stat_table.add_column(col, + style=col_style, + overflow="fold") + + num_rows = len(status[cols[0]]) + # Alternate dim rows to differentiate them better + for row in range(num_rows): + if row % 2 == 0: + row_style = 'dim' + else: + row_style = 'none' + + stat_table.add_row(*['{}'.format(status[key][row]) for key in cols], style=row_style) + + elif status and status_layout == 'narrow': + # Colorized printer (rich) + RCONSOLE = Console(theme=STATUS_THEME_NARROW) + print(tabulate.tabulate(status, headers="keys")) + + step_style = Style(color='cyan', bold=True) + wspc_style = Style(color='blue') + + print(["key: {}, type: {}, is step: {}".format(key, type(key), key != 'Step Name') for key in status.keys()]) + cols = [key for key in status.keys() if (key != 'Step Name' and key != 'Workspace')] + print(cols) + colors = ['cyan', 'magenta', 'green', 'blue', 'yellow', 'red'] + col_styles = {key: colors[idx%len(colors)] for idx, key in enumerate(cols)} + + # Alternate format for narrow terminals + stat_table = Table.grid(padding=0) + # stat_table.style = "background" + stat_table.title = "STUDY: {}".format(abs_path) + stat_table.box = box.HEAVY + stat_table.show_lines = True + stat_table.show_edge = False + stat_table.show_footer = True + stat_table.collapse_padding = True + + stat_table.add_column("Step", + overflow="fold") + + num_rows = len(status[cols[0]]) + + detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] + sched_rows = ['Submit Time', 'Start Time', 'End Time', 'Number Restarts'] + for row in range(num_rows): + step_table = Table( + box=box.SIMPLE_HEAVY, + show_header=False, + ) + step_table.add_column("key") + step_table.add_column("val") + + step_table.add_row("STEP:", + status['Step Name'][row], + style='Step Name') + step_table.add_row("WORKSPACE:", + status['Workspace'][row], + style='Workspace') + + step_table.add_row("", "") + step_details = Table.grid(padding=1) + step_details.add_column("details") + + step_info = Table(title="Step Details", + # show_edge=True, + show_header=False, + show_lines=True, + # show_footer=True, + box=box.HORIZONTALS) + step_info.add_column("key") + step_info.add_column("val") + for nom_row_cnt, detail_row in enumerate(detail_rows): + if detail_row == 'State': + row_style = 'State' + else: + if nom_row_cnt % 2 == 0: + row_style = 'row_style' + else: + row_style = 'row_style' + + step_info.add_row(detail_row, + status[detail_row][row], + style=row_style) + + step_details.add_column("scheduler") + step_sched = Table(title="Scheduler Details", + show_header=False, + show_lines=True, + box=box.HORIZONTALS) + step_sched.add_column("key") + step_sched.add_column("val") + for nom_row_cnt, sched_row in enumerate(sched_rows): + if nom_row_cnt % 2 == 0: + row_style = 'row_style' + else: + row_style = 'row_style' + + step_sched.add_row(sched_row, + status[sched_row][row], + style=row_style) + + step_details.add_row(step_info, step_sched) + + step_table.add_row('', step_details) + stat_table.add_row(step_table, end_section=True) + else: print( "\nNo status to report -- the Maestro study in this path " @@ -86,6 +238,12 @@ def status_study(args): "a Maestro study.") print("") print(header_format) + + if status: + print("") + + RCONSOLE.print(stat_table) + else: print( "Path(s) or glob(s) did not resolve to a directory(ies) that " @@ -181,7 +339,7 @@ def run_study(args): LOGGER.warning("WARNING Logging Level -- Enabled") LOGGER.critical("CRITICAL Logging Level -- Enabled") LOGGER.debug("DEBUG Logging Level -- Enabled") - + LOGGER.info("WHY THE HELL ISN'T THIS WORKING?") # Load the Specification try: spec = YAMLSpecification.load_specification(args.specification) @@ -436,6 +594,10 @@ def setup_argparser(): status.add_argument( "directory", type=str, nargs="+", help="Directory containing a launched study.") + status.add_argument( + "--layout", type=str, choices=['flat', 'narrow'], + default='flat', + help="Alternate status table layouts") status.set_defaults(func=status_study) # global options From c6ab4940d3b0a1c1b96564420d1ce747c91f2f49 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:41:31 -0700 Subject: [PATCH 03/45] Fix bfs ordering option, make it default --- maestrowf/datastructures/core/executiongraph.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index eeaac73d9..b509001d8 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -608,7 +608,8 @@ def write_status(self, path): status_order = 'bfs' if status_order == 'bfs': - keys, _ = set(self.bfs_subtree("_source")) - set(["_source"]) + subtree, _ = self.bfs_subtree("_source") + keys = [key for key in subtree if key != "_source"] elif status_order == 'dfs': subtree, _ = self.dfs_subtree("_source", par="_source") From a3edcc56a9e4f7d0e93405cb599ce736fbd816f5 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:47:52 -0700 Subject: [PATCH 04/45] Remove unhelpful log output.. --- maestrowf/maestro.py | 1 - 1 file changed, 1 deletion(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 2fc5025bd..8639a4c58 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -339,7 +339,6 @@ def run_study(args): LOGGER.warning("WARNING Logging Level -- Enabled") LOGGER.critical("CRITICAL Logging Level -- Enabled") LOGGER.debug("DEBUG Logging Level -- Enabled") - LOGGER.info("WHY THE HELL ISN'T THIS WORKING?") # Load the Specification try: spec = YAMLSpecification.load_specification(args.specification) From 40b170ddb54c3aeff4d815f4a26c0c1709503350 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:50:22 -0700 Subject: [PATCH 05/45] Add rich dependency --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 2864f477d..10c23db42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,6 +39,7 @@ dill = "*" filelock = "*" jsonschema = ">=3.2.0" pyyaml = ">=4.2b1" +rich = "*" six = "*" tabulate = "*" From 033ff01d180591f6305b4903b7c3a63652f656a7 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:51:16 -0700 Subject: [PATCH 06/45] Add rich dependency to setup.py --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 2e4d5b645..9c316ec4b 100644 --- a/setup.py +++ b/setup.py @@ -42,6 +42,7 @@ def load_readme(): "dill", "jsonschema>=3.2.0", "coloredlogs", + "rich", "chainmap ; python_version<'3'", ], extras_require={}, From f314cce40c47c01d644ce11199e02543316bb019 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 12:03:42 -0700 Subject: [PATCH 07/45] Quit whining flake8... --- maestrowf/maestro.py | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 8639a4c58..b4b3efbd6 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -34,7 +34,6 @@ import os from rich import box from rich.console import Console -from rich.panel import Panel from rich.style import Style from rich.table import Table from rich.theme import Theme @@ -92,17 +91,13 @@ def status_study(args): LOG_UTIL.configure(LFORMAT, log_lvl=3) directory_list = args.directory - + if directory_list: header_format = "".ljust(150, "=") for path in directory_list: abs_path = os.path.abspath(path) - print(header_format) - print(abs_path) - print(header_format) - status = Conductor.get_status(abs_path) status_layout = args.layout @@ -110,8 +105,8 @@ def status_study(args): # Colorized printer (rich) RCONSOLE = Console(theme=STATUS_THEME_FLAT) - stat_table = Table(title="Study: {}".format(abs_path),) - # style=Style.combine([STATUS_THEME_FLAT.styles['color'], STATUS_THEME_FLAT.styles['bgcolor']])) + stat_table = Table(title="Study: {}".format(abs_path)) + cols = list(status.keys()) for nom_col_num, col in enumerate(cols): @@ -135,22 +130,16 @@ def status_study(args): else: row_style = 'none' - stat_table.add_row(*['{}'.format(status[key][row]) for key in cols], style=row_style) + stat_table.add_row(*['{}'.format(status[key][row]) + for key in cols], + style=row_style) elif status and status_layout == 'narrow': # Colorized printer (rich) RCONSOLE = Console(theme=STATUS_THEME_NARROW) - - print(tabulate.tabulate(status, headers="keys")) - - step_style = Style(color='cyan', bold=True) - wspc_style = Style(color='blue') - - print(["key: {}, type: {}, is step: {}".format(key, type(key), key != 'Step Name') for key in status.keys()]) - cols = [key for key in status.keys() if (key != 'Step Name' and key != 'Workspace')] - print(cols) - colors = ['cyan', 'magenta', 'green', 'blue', 'yellow', 'red'] - col_styles = {key: colors[idx%len(colors)] for idx, key in enumerate(cols)} + + cols = [key for key in status.keys() + if (key != 'Step Name' and key != 'Workspace')] # Alternate format for narrow terminals stat_table = Table.grid(padding=0) @@ -161,14 +150,18 @@ def status_study(args): stat_table.show_edge = False stat_table.show_footer = True stat_table.collapse_padding = True - + stat_table.add_column("Step", overflow="fold") num_rows = len(status[cols[0]]) detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] - sched_rows = ['Submit Time', 'Start Time', 'End Time', 'Number Restarts'] + sched_rows = ['Submit Time', + 'Start Time', + 'End Time', + 'Number Restarts'] + for row in range(num_rows): step_table = Table( box=box.SIMPLE_HEAVY, @@ -194,6 +187,7 @@ def status_study(args): show_lines=True, # show_footer=True, box=box.HORIZONTALS) + step_info.add_column("key") step_info.add_column("val") for nom_row_cnt, detail_row in enumerate(detail_rows): From d62cea78becc8df54cc0d60a209c010a5691b730 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 12:09:17 -0700 Subject: [PATCH 08/45] More flake8 drama.. --- maestrowf/maestro.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index b4b3efbd6..2910cba7b 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -34,13 +34,13 @@ import os from rich import box from rich.console import Console -from rich.style import Style +# from rich.style import Style from rich.table import Table from rich.theme import Theme import shutil import six import sys -import tabulate +# import tabulate import time from maestrowf import __version__ From 728267defbcd398d2d31f1e3614767e6d85d98df Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 12:30:47 -0700 Subject: [PATCH 09/45] Cache status ordering to improve scalability --- .../datastructures/core/executiongraph.py | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index b509001d8..643db1d3f 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -333,6 +333,9 @@ def __init__(self, submission_attempts=1, submission_throttle=0, self.ready_steps = deque() self.is_canceled = False + self._status_order = 'bfs' # Set status order type + self._status_subtree = None # Cache bfs_subtree for status writing + # Values for management of the DAG. Things like submission attempts, # throttling, etc. should be listed here. self._submission_attempts = submission_attempts @@ -599,26 +602,28 @@ def _execute_record(self, record, adapter, restart=False): LOGGER.debug("After execution of '%s' -- New state is %s.", record.name, record.status) + @property + def status_subtree(self): + """Cache the status ordering to improve scaling""" + if not self._status_subtree: + if self._status_order == 'bfs': + subtree, _ = self.bfs_subtree("_source") + + elif self._status_order == 'dfs': + subtree, _ = self.dfs_subtree("_source", par="_source") + + self._status_subtree = [key for key in subtree + if key != '_source'] + + return self._status_subtree + def write_status(self, path): """Write the status of the DAG to a CSV file.""" header = "Step Name,Job ID,Workspace,State,Run Time,Elapsed Time," \ "Start Time,Submit Time,End Time,Number Restarts" status = [header] - keys = set(self.values.keys()) - set(["_source"]) - - status_order = 'bfs' - if status_order == 'bfs': - subtree, _ = self.bfs_subtree("_source") - keys = [key for key in subtree if key != "_source"] - - elif status_order == 'dfs': - subtree, _ = self.dfs_subtree("_source", par="_source") - LOGGER.info("DFS SUBTREE: {}".format(subtree)) - keys = [key for key in subtree if key != '_source'] - # keys = set(subtree) - set(["_source"]) - LOGGER.info("DFS KEYS: {}".format(keys)) - for key in keys: + for key in self.status_subtree: value = self.values[key] jobid_str = "--" From b1c2543240d78c28ec3d7ebd89f608be335cd2db Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:11:03 -0700 Subject: [PATCH 10/45] Add bfs/dfs ordered status output --- maestrowf/datastructures/core/executiongraph.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index 643db1d3f..5c49ab106 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -622,8 +622,20 @@ def write_status(self, path): header = "Step Name,Job ID,Workspace,State,Run Time,Elapsed Time," \ "Start Time,Submit Time,End Time,Number Restarts" status = [header] + keys = set(self.values.keys()) - set(["_source"]) - for key in self.status_subtree: + status_order = 'bfs' + if status_order == 'bfs': + keys, _ = set(self.bfs_subtree("_source")) - set(["_source"]) + + elif status_order == 'dfs': + subtree, _ = self.dfs_subtree("_source", par="_source") + LOGGER.info("DFS SUBTREE: {}".format(subtree)) + keys = [key for key in subtree if key != '_source'] + # keys = set(subtree) - set(["_source"]) + LOGGER.info("DFS KEYS: {}".format(keys)) + + for key in keys: value = self.values[key] jobid_str = "--" From a6e096f641ba152ec57087e40825b836a7b88069 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:12:43 -0700 Subject: [PATCH 11/45] Prototype rich formatted status tables with cli layout switch --- maestrowf/maestro.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 2910cba7b..3b9814e1b 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -34,7 +34,8 @@ import os from rich import box from rich.console import Console -# from rich.style import Style +from rich.panel import Panel +from rich.style import Style from rich.table import Table from rich.theme import Theme import shutil @@ -91,7 +92,7 @@ def status_study(args): LOG_UTIL.configure(LFORMAT, log_lvl=3) directory_list = args.directory - + if directory_list: header_format = "".ljust(150, "=") @@ -105,8 +106,8 @@ def status_study(args): # Colorized printer (rich) RCONSOLE = Console(theme=STATUS_THEME_FLAT) - stat_table = Table(title="Study: {}".format(abs_path)) - + stat_table = Table(title="Study: {}".format(abs_path),) + # style=Style.combine([STATUS_THEME_FLAT.styles['color'], STATUS_THEME_FLAT.styles['bgcolor']])) cols = list(status.keys()) for nom_col_num, col in enumerate(cols): @@ -130,16 +131,22 @@ def status_study(args): else: row_style = 'none' - stat_table.add_row(*['{}'.format(status[key][row]) - for key in cols], - style=row_style) + stat_table.add_row(*['{}'.format(status[key][row]) for key in cols], style=row_style) elif status and status_layout == 'narrow': # Colorized printer (rich) RCONSOLE = Console(theme=STATUS_THEME_NARROW) - - cols = [key for key in status.keys() - if (key != 'Step Name' and key != 'Workspace')] + + print(tabulate.tabulate(status, headers="keys")) + + step_style = Style(color='cyan', bold=True) + wspc_style = Style(color='blue') + + print(["key: {}, type: {}, is step: {}".format(key, type(key), key != 'Step Name') for key in status.keys()]) + cols = [key for key in status.keys() if (key != 'Step Name' and key != 'Workspace')] + print(cols) + colors = ['cyan', 'magenta', 'green', 'blue', 'yellow', 'red'] + col_styles = {key: colors[idx%len(colors)] for idx, key in enumerate(cols)} # Alternate format for narrow terminals stat_table = Table.grid(padding=0) @@ -150,18 +157,14 @@ def status_study(args): stat_table.show_edge = False stat_table.show_footer = True stat_table.collapse_padding = True - + stat_table.add_column("Step", overflow="fold") num_rows = len(status[cols[0]]) detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] - sched_rows = ['Submit Time', - 'Start Time', - 'End Time', - 'Number Restarts'] - + sched_rows = ['Submit Time', 'Start Time', 'End Time', 'Number Restarts'] for row in range(num_rows): step_table = Table( box=box.SIMPLE_HEAVY, @@ -187,7 +190,6 @@ def status_study(args): show_lines=True, # show_footer=True, box=box.HORIZONTALS) - step_info.add_column("key") step_info.add_column("val") for nom_row_cnt, detail_row in enumerate(detail_rows): @@ -333,6 +335,7 @@ def run_study(args): LOGGER.warning("WARNING Logging Level -- Enabled") LOGGER.critical("CRITICAL Logging Level -- Enabled") LOGGER.debug("DEBUG Logging Level -- Enabled") + LOGGER.info("WHY THE HELL ISN'T THIS WORKING?") # Load the Specification try: spec = YAMLSpecification.load_specification(args.specification) From d923c8b25f6a0bf46e31be89d4409ba39aba2d94 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:41:31 -0700 Subject: [PATCH 12/45] Fix bfs ordering option, make it default --- maestrowf/datastructures/core/executiongraph.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index 5c49ab106..d7ab3a125 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -626,7 +626,8 @@ def write_status(self, path): status_order = 'bfs' if status_order == 'bfs': - keys, _ = set(self.bfs_subtree("_source")) - set(["_source"]) + subtree, _ = self.bfs_subtree("_source") + keys = [key for key in subtree if key != "_source"] elif status_order == 'dfs': subtree, _ = self.dfs_subtree("_source", par="_source") From dd1ede2f665e19edffc31a8c39c1bd5b30f8783d Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 11:47:52 -0700 Subject: [PATCH 13/45] Remove unhelpful log output.. --- maestrowf/maestro.py | 1 - 1 file changed, 1 deletion(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 3b9814e1b..992816327 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -335,7 +335,6 @@ def run_study(args): LOGGER.warning("WARNING Logging Level -- Enabled") LOGGER.critical("CRITICAL Logging Level -- Enabled") LOGGER.debug("DEBUG Logging Level -- Enabled") - LOGGER.info("WHY THE HELL ISN'T THIS WORKING?") # Load the Specification try: spec = YAMLSpecification.load_specification(args.specification) From 013dc492d1cc9462b8a9d83fe64d2c5c80de9a74 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 12:03:42 -0700 Subject: [PATCH 14/45] Quit whining flake8... --- maestrowf/maestro.py | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 992816327..f64c1e535 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -34,7 +34,6 @@ import os from rich import box from rich.console import Console -from rich.panel import Panel from rich.style import Style from rich.table import Table from rich.theme import Theme @@ -92,7 +91,7 @@ def status_study(args): LOG_UTIL.configure(LFORMAT, log_lvl=3) directory_list = args.directory - + if directory_list: header_format = "".ljust(150, "=") @@ -106,8 +105,8 @@ def status_study(args): # Colorized printer (rich) RCONSOLE = Console(theme=STATUS_THEME_FLAT) - stat_table = Table(title="Study: {}".format(abs_path),) - # style=Style.combine([STATUS_THEME_FLAT.styles['color'], STATUS_THEME_FLAT.styles['bgcolor']])) + stat_table = Table(title="Study: {}".format(abs_path)) + cols = list(status.keys()) for nom_col_num, col in enumerate(cols): @@ -131,22 +130,16 @@ def status_study(args): else: row_style = 'none' - stat_table.add_row(*['{}'.format(status[key][row]) for key in cols], style=row_style) + stat_table.add_row(*['{}'.format(status[key][row]) + for key in cols], + style=row_style) elif status and status_layout == 'narrow': # Colorized printer (rich) RCONSOLE = Console(theme=STATUS_THEME_NARROW) - - print(tabulate.tabulate(status, headers="keys")) - - step_style = Style(color='cyan', bold=True) - wspc_style = Style(color='blue') - - print(["key: {}, type: {}, is step: {}".format(key, type(key), key != 'Step Name') for key in status.keys()]) - cols = [key for key in status.keys() if (key != 'Step Name' and key != 'Workspace')] - print(cols) - colors = ['cyan', 'magenta', 'green', 'blue', 'yellow', 'red'] - col_styles = {key: colors[idx%len(colors)] for idx, key in enumerate(cols)} + + cols = [key for key in status.keys() + if (key != 'Step Name' and key != 'Workspace')] # Alternate format for narrow terminals stat_table = Table.grid(padding=0) @@ -157,14 +150,18 @@ def status_study(args): stat_table.show_edge = False stat_table.show_footer = True stat_table.collapse_padding = True - + stat_table.add_column("Step", overflow="fold") num_rows = len(status[cols[0]]) detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] - sched_rows = ['Submit Time', 'Start Time', 'End Time', 'Number Restarts'] + sched_rows = ['Submit Time', + 'Start Time', + 'End Time', + 'Number Restarts'] + for row in range(num_rows): step_table = Table( box=box.SIMPLE_HEAVY, @@ -190,6 +187,7 @@ def status_study(args): show_lines=True, # show_footer=True, box=box.HORIZONTALS) + step_info.add_column("key") step_info.add_column("val") for nom_row_cnt, detail_row in enumerate(detail_rows): From 2993c3a7b8e909261164fe47d866b3f28abaa1f6 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 12:09:17 -0700 Subject: [PATCH 15/45] More flake8 drama.. --- maestrowf/maestro.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index f64c1e535..2910cba7b 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -34,7 +34,7 @@ import os from rich import box from rich.console import Console -from rich.style import Style +# from rich.style import Style from rich.table import Table from rich.theme import Theme import shutil From 51ee47c0e6aedd12b728adcbf299d95b5c40ea63 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 12:30:47 -0700 Subject: [PATCH 16/45] Cache status ordering to improve scalability --- maestrowf/datastructures/core/executiongraph.py | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index d7ab3a125..643db1d3f 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -622,21 +622,8 @@ def write_status(self, path): header = "Step Name,Job ID,Workspace,State,Run Time,Elapsed Time," \ "Start Time,Submit Time,End Time,Number Restarts" status = [header] - keys = set(self.values.keys()) - set(["_source"]) - status_order = 'bfs' - if status_order == 'bfs': - subtree, _ = self.bfs_subtree("_source") - keys = [key for key in subtree if key != "_source"] - - elif status_order == 'dfs': - subtree, _ = self.dfs_subtree("_source", par="_source") - LOGGER.info("DFS SUBTREE: {}".format(subtree)) - keys = [key for key in subtree if key != '_source'] - # keys = set(subtree) - set(["_source"]) - LOGGER.info("DFS KEYS: {}".format(keys)) - - for key in keys: + for key in self.status_subtree: value = self.values[key] jobid_str = "--" From 301cfae66988c1e98b0474015017244b851ca4cf Mon Sep 17 00:00:00 2001 From: Francesco Di Natale Date: Fri, 7 May 2021 14:44:08 -0700 Subject: [PATCH 17/45] Tweak to python version for rich. --- poetry.lock | 258 ++++++++++++++++++++++++++++++------------------- pyproject.toml | 2 +- 2 files changed, 162 insertions(+), 98 deletions(-) diff --git a/poetry.lock b/poetry.lock index b86ccc0ed..8fe443739 100644 --- a/poetry.lock +++ b/poetry.lock @@ -16,17 +16,16 @@ python-versions = "*" [[package]] name = "astroid" -version = "2.4.2" +version = "2.5.6" description = "An abstract syntax tree for Python with inference support." category = "dev" optional = false -python-versions = ">=3.5" +python-versions = "~=3.6" [package.dependencies] -lazy-object-proxy = ">=1.4.0,<1.5.0" -six = ">=1.12,<2.0" +lazy-object-proxy = ">=1.4.0" typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""} -wrapt = ">=1.11,<2.0" +wrapt = ">=1.11,<1.13" [[package]] name = "atomicwrites" @@ -116,7 +115,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" name = "colorama" version = "0.4.4" description = "Cross-platform colored terminal text." -category = "dev" +category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" @@ -134,13 +133,27 @@ humanfriendly = ">=9.1" [package.extras] cron = ["capturer (>=2.4)"] +[[package]] +name = "commonmark" +version = "0.9.1" +description = "Python parser for the CommonMark Markdown spec" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +test = ["flake8 (==3.7.8)", "hypothesis (==3.55.3)"] + [[package]] name = "coverage" -version = "4.4.2" +version = "5.5" description = "Code coverage measurement for Python" category = "dev" optional = false -python-versions = "*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" + +[package.extras] +toml = ["toml"] [[package]] name = "cryptography" @@ -161,6 +174,14 @@ sdist = ["setuptools-rust (>=0.11.4)"] ssh = ["bcrypt (>=3.1.5)"] test = ["pytest (>=6.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"] +[[package]] +name = "dataclasses" +version = "0.8" +description = "A backport of the dataclasses module for Python 3.6" +category = "main" +optional = false +python-versions = ">=3.6, <3.7" + [[package]] name = "dill" version = "0.3.3" @@ -314,17 +335,16 @@ python-versions = "*" [[package]] name = "isort" -version = "4.3.21" +version = "5.8.0" description = "A Python utility / library to sort Python imports." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.6,<4.0" [package.extras] -pipfile = ["pipreqs", "requirementslib"] -pyproject = ["toml"] -requirements = ["pipreqs", "pip-api"] -xdg_home = ["appdirs (>=1.4.0)"] +pipfile_deprecated_finder = ["pipreqs", "requirementslib"] +requirements_deprecated_finder = ["pipreqs", "pip-api"] +colors = ["colorama (>=0.4.3,<0.5.0)"] [[package]] name = "jinja2" @@ -360,11 +380,11 @@ format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator [[package]] name = "lazy-object-proxy" -version = "1.4.3" +version = "1.6.0" description = "A fast and thorough lazy object proxy." category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" [[package]] name = "markupsafe" @@ -510,20 +530,20 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" name = "pygments" version = "2.9.0" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" +category = "main" optional = false python-versions = ">=3.5" [[package]] name = "pylint" -version = "2.6.2" +version = "2.8.2" description = "python code static checker" category = "dev" optional = false -python-versions = ">=3.5.*" +python-versions = "~=3.6" [package.dependencies] -astroid = ">=2.4.0,<2.5" +astroid = ">=2.5.6,<2.7" colorama = {version = "*", markers = "sys_platform == \"win32\""} isort = ">=4.2.5,<6" mccabe = ">=0.6,<0.7" @@ -593,14 +613,14 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm [[package]] name = "pytest-cov" -version = "2.10.1" +version = "2.11.1" description = "Pytest plugin for measuring coverage." category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" [package.dependencies] -coverage = ">=4.4" +coverage = ">=5.2.1" pytest = ">=4.6" [package.extras] @@ -640,6 +660,24 @@ urllib3 = ">=1.21.1,<1.27" security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)"] socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] +[[package]] +name = "rich" +version = "10.1.0" +description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" +category = "main" +optional = false +python-versions = ">=3.6,<4.0" + +[package.dependencies] +colorama = ">=0.4.0,<0.5.0" +commonmark = ">=0.9.0,<0.10.0" +dataclasses = {version = ">=0.7,<0.9", markers = "python_version >= \"3.6\" and python_version < \"3.7\""} +pygments = ">=2.6.0,<3.0.0" +typing-extensions = ">=3.7.4,<4.0.0" + +[package.extras] +jupyter = ["ipywidgets (>=7.5.1,<8.0.0)"] + [[package]] name = "six" version = "1.16.0" @@ -855,15 +893,16 @@ python-versions = "*" [[package]] name = "urllib3" -version = "1.22" +version = "1.26.4" description = "HTTP library with thread-safe connection pooling, file post, and more." category = "dev" optional = false -python-versions = "*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" [package.extras] secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotlipy (>=0.6.0)"] [[package]] name = "virtualenv" @@ -907,8 +946,8 @@ testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pyt [metadata] lock-version = "1.1" -python-versions = ">=3.6" -content-hash = "e7650fa44ff3583251cdcaa39e425d47964473290fb89e3900dd55f2a5c68c98" +python-versions = ">=3.6,<4.0" +content-hash = "826f7979684a0fc8de2304bbf0a7bbddedae988f4eb9ced098511fc32c40252e" [metadata.files] alabaster = [ @@ -920,8 +959,8 @@ appdirs = [ {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, ] astroid = [ - {file = "astroid-2.4.2-py3-none-any.whl", hash = "sha256:bc58d83eb610252fd8de6363e39d4f1d0619c894b0ed24603b881c02e64c7386"}, - {file = "astroid-2.4.2.tar.gz", hash = "sha256:2f4078c2a41bf377eea06d71c9d2ba4eb8f6b1af2135bec27bbbb7d8f12bb703"}, + {file = "astroid-2.5.6-py3-none-any.whl", hash = "sha256:4db03ab5fc3340cf619dbc25e42c2cc3755154ce6009469766d7143d1fc2ee4e"}, + {file = "astroid-2.5.6.tar.gz", hash = "sha256:8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975"}, ] atomicwrites = [ {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, @@ -1003,47 +1042,63 @@ coloredlogs = [ {file = "coloredlogs-15.0-py2.py3-none-any.whl", hash = "sha256:b7f630a8297a66984b6bae0f6a1b0e0afb9f2f6838ea3bfa58f50d3d13e133d6"}, {file = "coloredlogs-15.0.tar.gz", hash = "sha256:5e78691e2673a8e294499e1832bb13efcfb44a86b92e18109fa18951093218ab"}, ] +commonmark = [ + {file = "commonmark-0.9.1-py2.py3-none-any.whl", hash = "sha256:da2f38c92590f83de410ba1a3cbceafbc74fee9def35f9251ba9a971d6d66fd9"}, + {file = "commonmark-0.9.1.tar.gz", hash = "sha256:452f9dc859be7f06631ddcb328b6919c67984aca654e5fefb3914d54691aed60"}, +] coverage = [ - {file = "coverage-4.4.2-cp26-cp26m-macosx_10_10_x86_64.whl", hash = "sha256:d1ee76f560c3c3e8faada866a07a32485445e16ed2206ac8378bd90dadffb9f0"}, - {file = "coverage-4.4.2-cp26-cp26m-manylinux1_i686.whl", hash = "sha256:007eeef7e23f9473622f7d94a3e029a45d55a92a1f083f0f3512f5ab9a669b05"}, - {file = "coverage-4.4.2-cp26-cp26m-manylinux1_x86_64.whl", hash = "sha256:17307429935f96c986a1b1674f78079528833410750321d22b5fb35d1883828e"}, - {file = "coverage-4.4.2-cp26-cp26mu-manylinux1_i686.whl", hash = "sha256:845fddf89dca1e94abe168760a38271abfc2e31863fbb4ada7f9a99337d7c3dc"}, - {file = "coverage-4.4.2-cp26-cp26mu-manylinux1_x86_64.whl", hash = "sha256:3f4d0b3403d3e110d2588c275540649b1841725f5a11a7162620224155d00ba2"}, - {file = "coverage-4.4.2-cp27-cp27m-macosx_10_12_intel.whl", hash = "sha256:4c4f368ffe1c2e7602359c2c50233269f3abe1c48ca6b288dcd0fb1d1c679733"}, - {file = "coverage-4.4.2-cp27-cp27m-macosx_10_12_x86_64.whl", hash = "sha256:f8c55dd0f56d3d618dfacf129e010cbe5d5f94b6951c1b2f13ab1a2f79c284da"}, - {file = "coverage-4.4.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:cdd92dd9471e624cd1d8c1a2703d25f114b59b736b0f1f659a98414e535ffb3d"}, - {file = "coverage-4.4.2-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:2ad357d12971e77360034c1596011a03f50c0f9e1ecd12e081342b8d1aee2236"}, - {file = "coverage-4.4.2-cp27-cp27m-win32.whl", hash = "sha256:700d7579995044dc724847560b78ac786f0ca292867447afda7727a6fbaa082e"}, - {file = "coverage-4.4.2-cp27-cp27m-win_amd64.whl", hash = "sha256:66f393e10dd866be267deb3feca39babba08ae13763e0fc7a1063cbe1f8e49f6"}, - {file = "coverage-4.4.2-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:e9a0e1caed2a52f15c96507ab78a48f346c05681a49c5b003172f8073da6aa6b"}, - {file = "coverage-4.4.2-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:eea9135432428d3ca7ee9be86af27cb8e56243f73764a9b6c3e0bda1394916be"}, - {file = "coverage-4.4.2-cp33-cp33m-macosx_10_10_x86_64.whl", hash = "sha256:5ff16548492e8a12e65ff3d55857ccd818584ed587a6c2898a9ebbe09a880674"}, - {file = "coverage-4.4.2-cp33-cp33m-manylinux1_i686.whl", hash = "sha256:d00e29b78ff610d300b2c37049a41234d48ea4f2d2581759ebcf67caaf731c31"}, - {file = "coverage-4.4.2-cp33-cp33m-manylinux1_x86_64.whl", hash = "sha256:87d942863fe74b1c3be83a045996addf1639218c2cb89c5da18c06c0fe3917ea"}, - {file = "coverage-4.4.2-cp34-cp34m-macosx_10_10_x86_64.whl", hash = "sha256:358d635b1fc22a425444d52f26287ae5aea9e96e254ff3c59c407426f44574f4"}, - {file = "coverage-4.4.2-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:81912cfe276e0069dca99e1e4e6be7b06b5fc8342641c6b472cb2fed7de7ae18"}, - {file = "coverage-4.4.2-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:079248312838c4c8f3494934ab7382a42d42d5f365f0cf7516f938dbb3f53f3f"}, - {file = "coverage-4.4.2-cp34-cp34m-win32.whl", hash = "sha256:b0059630ca5c6b297690a6bf57bf2fdac1395c24b7935fd73ee64190276b743b"}, - {file = "coverage-4.4.2-cp34-cp34m-win_amd64.whl", hash = "sha256:493082f104b5ca920e97a485913de254cbe351900deed72d4264571c73464cd0"}, - {file = "coverage-4.4.2-cp35-cp35m-macosx_10_10_x86_64.whl", hash = "sha256:e3ba9b14607c23623cf38f90b23f5bed4a3be87cbfa96e2e9f4eabb975d1e98b"}, - {file = "coverage-4.4.2-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:82cbd3317320aa63c65555aa4894bf33a13fb3a77f079059eb5935eea415938d"}, - {file = "coverage-4.4.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9721f1b7275d3112dc7ccf63f0553c769f09b5c25a26ee45872c7f5c09edf6c1"}, - {file = "coverage-4.4.2-cp35-cp35m-win32.whl", hash = "sha256:bd4800e32b4c8d99c3a2c943f1ac430cbf80658d884123d19639bcde90dad44a"}, - {file = "coverage-4.4.2-cp35-cp35m-win_amd64.whl", hash = "sha256:f29841e865590af72c4b90d7b5b8e93fd560f5dea436c1d5ee8053788f9285de"}, - {file = "coverage-4.4.2-cp36-cp36m-macosx_10_12_x86_64.whl", hash = "sha256:f3a5c6d054c531536a83521c00e5d4004f1e126e2e2556ce399bef4180fbe540"}, - {file = "coverage-4.4.2-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:dd707a21332615108b736ef0b8513d3edaf12d2a7d5fc26cd04a169a8ae9b526"}, - {file = "coverage-4.4.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:2e1a5c6adebb93c3b175103c2f855eda957283c10cf937d791d81bef8872d6ca"}, - {file = "coverage-4.4.2-cp36-cp36m-win32.whl", hash = "sha256:f87f522bde5540d8a4b11df80058281ac38c44b13ce29ced1e294963dd51a8f8"}, - {file = "coverage-4.4.2-cp36-cp36m-win_amd64.whl", hash = "sha256:a7cfaebd8f24c2b537fa6a271229b051cdac9c1734bb6f939ccfc7c055689baa"}, - {file = "coverage-4.4.2.tar.gz", hash = "sha256:309d91bd7a35063ec7a0e4d75645488bfab3f0b66373e7722f23da7f5b0f34cc"}, - {file = "coverage-4.4.2.win-amd64-py2.7.exe", hash = "sha256:b6cebae1502ce5b87d7c6f532fa90ab345cfbda62b95aeea4e431e164d498a3d"}, - {file = "coverage-4.4.2.win-amd64-py3.4.exe", hash = "sha256:a4497faa4f1c0fc365ba05eaecfb6b5d24e3c8c72e95938f9524e29dadb15e76"}, - {file = "coverage-4.4.2.win-amd64-py3.5.exe", hash = "sha256:2b4d7f03a8a6632598cbc5df15bbca9f778c43db7cf1a838f4fa2c8599a8691a"}, - {file = "coverage-4.4.2.win-amd64-py3.6.exe", hash = "sha256:1afccd7e27cac1b9617be8c769f6d8a6d363699c9b86820f40c74cfb3328921c"}, - {file = "coverage-4.4.2.win32-py2.7.exe", hash = "sha256:0388c12539372bb92d6dde68b4627f0300d948965bbb7fc104924d715fdc0965"}, - {file = "coverage-4.4.2.win32-py3.4.exe", hash = "sha256:ab3508df9a92c1d3362343d235420d08e2662969b83134f8a97dc1451cbe5e84"}, - {file = "coverage-4.4.2.win32-py3.5.exe", hash = "sha256:43a155eb76025c61fc20c3d03b89ca28efa6f5be572ab6110b2fb68eda96bfea"}, - {file = "coverage-4.4.2.win32-py3.6.exe", hash = "sha256:f98b461cb59f117887aa634a66022c0bd394278245ed51189f63a036516e32de"}, + {file = "coverage-5.5-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:b6d534e4b2ab35c9f93f46229363e17f63c53ad01330df9f2d6bd1187e5eaacf"}, + {file = "coverage-5.5-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:b7895207b4c843c76a25ab8c1e866261bcfe27bfaa20c192de5190121770672b"}, + {file = "coverage-5.5-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:c2723d347ab06e7ddad1a58b2a821218239249a9e4365eaff6649d31180c1669"}, + {file = "coverage-5.5-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:900fbf7759501bc7807fd6638c947d7a831fc9fdf742dc10f02956ff7220fa90"}, + {file = "coverage-5.5-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:004d1880bed2d97151facef49f08e255a20ceb6f9432df75f4eef018fdd5a78c"}, + {file = "coverage-5.5-cp27-cp27m-win32.whl", hash = "sha256:06191eb60f8d8a5bc046f3799f8a07a2d7aefb9504b0209aff0b47298333302a"}, + {file = "coverage-5.5-cp27-cp27m-win_amd64.whl", hash = "sha256:7501140f755b725495941b43347ba8a2777407fc7f250d4f5a7d2a1050ba8e82"}, + {file = "coverage-5.5-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:372da284cfd642d8e08ef606917846fa2ee350f64994bebfbd3afb0040436905"}, + {file = "coverage-5.5-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:8963a499849a1fc54b35b1c9f162f4108017b2e6db2c46c1bed93a72262ed083"}, + {file = "coverage-5.5-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:869a64f53488f40fa5b5b9dcb9e9b2962a66a87dab37790f3fcfb5144b996ef5"}, + {file = "coverage-5.5-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:4a7697d8cb0f27399b0e393c0b90f0f1e40c82023ea4d45d22bce7032a5d7b81"}, + {file = "coverage-5.5-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:8d0a0725ad7c1a0bcd8d1b437e191107d457e2ec1084b9f190630a4fb1af78e6"}, + {file = "coverage-5.5-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:51cb9476a3987c8967ebab3f0fe144819781fca264f57f89760037a2ea191cb0"}, + {file = "coverage-5.5-cp310-cp310-win_amd64.whl", hash = "sha256:c0891a6a97b09c1f3e073a890514d5012eb256845c451bd48f7968ef939bf4ae"}, + {file = "coverage-5.5-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:3487286bc29a5aa4b93a072e9592f22254291ce96a9fbc5251f566b6b7343cdb"}, + {file = "coverage-5.5-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:deee1077aae10d8fa88cb02c845cfba9b62c55e1183f52f6ae6a2df6a2187160"}, + {file = "coverage-5.5-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:f11642dddbb0253cc8853254301b51390ba0081750a8ac03f20ea8103f0c56b6"}, + {file = "coverage-5.5-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:6c90e11318f0d3c436a42409f2749ee1a115cd8b067d7f14c148f1ce5574d701"}, + {file = "coverage-5.5-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:30c77c1dc9f253283e34c27935fded5015f7d1abe83bc7821680ac444eaf7793"}, + {file = "coverage-5.5-cp35-cp35m-win32.whl", hash = "sha256:9a1ef3b66e38ef8618ce5fdc7bea3d9f45f3624e2a66295eea5e57966c85909e"}, + {file = "coverage-5.5-cp35-cp35m-win_amd64.whl", hash = "sha256:972c85d205b51e30e59525694670de6a8a89691186012535f9d7dbaa230e42c3"}, + {file = "coverage-5.5-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:af0e781009aaf59e25c5a678122391cb0f345ac0ec272c7961dc5455e1c40066"}, + {file = "coverage-5.5-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:74d881fc777ebb11c63736622b60cb9e4aee5cace591ce274fb69e582a12a61a"}, + {file = "coverage-5.5-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:92b017ce34b68a7d67bd6d117e6d443a9bf63a2ecf8567bb3d8c6c7bc5014465"}, + {file = "coverage-5.5-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:d636598c8305e1f90b439dbf4f66437de4a5e3c31fdf47ad29542478c8508bbb"}, + {file = "coverage-5.5-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:41179b8a845742d1eb60449bdb2992196e211341818565abded11cfa90efb821"}, + {file = "coverage-5.5-cp36-cp36m-win32.whl", hash = "sha256:040af6c32813fa3eae5305d53f18875bedd079960822ef8ec067a66dd8afcd45"}, + {file = "coverage-5.5-cp36-cp36m-win_amd64.whl", hash = "sha256:5fec2d43a2cc6965edc0bb9e83e1e4b557f76f843a77a2496cbe719583ce8184"}, + {file = "coverage-5.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:18ba8bbede96a2c3dde7b868de9dcbd55670690af0988713f0603f037848418a"}, + {file = "coverage-5.5-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2910f4d36a6a9b4214bb7038d537f015346f413a975d57ca6b43bf23d6563b53"}, + {file = "coverage-5.5-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:f0b278ce10936db1a37e6954e15a3730bea96a0997c26d7fee88e6c396c2086d"}, + {file = "coverage-5.5-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:796c9c3c79747146ebd278dbe1e5c5c05dd6b10cc3bcb8389dfdf844f3ead638"}, + {file = "coverage-5.5-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:53194af30d5bad77fcba80e23a1441c71abfb3e01192034f8246e0d8f99528f3"}, + {file = "coverage-5.5-cp37-cp37m-win32.whl", hash = "sha256:184a47bbe0aa6400ed2d41d8e9ed868b8205046518c52464fde713ea06e3a74a"}, + {file = "coverage-5.5-cp37-cp37m-win_amd64.whl", hash = "sha256:2949cad1c5208b8298d5686d5a85b66aae46d73eec2c3e08c817dd3513e5848a"}, + {file = "coverage-5.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:217658ec7187497e3f3ebd901afdca1af062b42cfe3e0dafea4cced3983739f6"}, + {file = "coverage-5.5-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1aa846f56c3d49205c952d8318e76ccc2ae23303351d9270ab220004c580cfe2"}, + {file = "coverage-5.5-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:24d4a7de75446be83244eabbff746d66b9240ae020ced65d060815fac3423759"}, + {file = "coverage-5.5-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:d1f8bf7b90ba55699b3a5e44930e93ff0189aa27186e96071fac7dd0d06a1873"}, + {file = "coverage-5.5-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:970284a88b99673ccb2e4e334cfb38a10aab7cd44f7457564d11898a74b62d0a"}, + {file = "coverage-5.5-cp38-cp38-win32.whl", hash = "sha256:01d84219b5cdbfc8122223b39a954820929497a1cb1422824bb86b07b74594b6"}, + {file = "coverage-5.5-cp38-cp38-win_amd64.whl", hash = "sha256:2e0d881ad471768bf6e6c2bf905d183543f10098e3b3640fc029509530091502"}, + {file = "coverage-5.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d1f9ce122f83b2305592c11d64f181b87153fc2c2bbd3bb4a3dde8303cfb1a6b"}, + {file = "coverage-5.5-cp39-cp39-manylinux1_i686.whl", hash = "sha256:13c4ee887eca0f4c5a247b75398d4114c37882658300e153113dafb1d76de529"}, + {file = "coverage-5.5-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:52596d3d0e8bdf3af43db3e9ba8dcdaac724ba7b5ca3f6358529d56f7a166f8b"}, + {file = "coverage-5.5-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:2cafbbb3af0733db200c9b5f798d18953b1a304d3f86a938367de1567f4b5bff"}, + {file = "coverage-5.5-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:44d654437b8ddd9eee7d1eaee28b7219bec228520ff809af170488fd2fed3e2b"}, + {file = "coverage-5.5-cp39-cp39-win32.whl", hash = "sha256:d314ed732c25d29775e84a960c3c60808b682c08d86602ec2c3008e1202e3bb6"}, + {file = "coverage-5.5-cp39-cp39-win_amd64.whl", hash = "sha256:13034c4409db851670bc9acd836243aeee299949bd5673e11844befcb0149f03"}, + {file = "coverage-5.5-pp36-none-any.whl", hash = "sha256:f030f8873312a16414c0d8e1a1ddff2d3235655a2174e3648b4fa66b3f2f1079"}, + {file = "coverage-5.5-pp37-none-any.whl", hash = "sha256:2a3859cb82dcbda1cfd3e6f71c27081d18aa251d20a17d87d26d4cd216fb0af4"}, + {file = "coverage-5.5.tar.gz", hash = "sha256:ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c"}, ] cryptography = [ {file = "cryptography-3.4.7-cp36-abi3-macosx_10_10_x86_64.whl", hash = "sha256:3d8427734c781ea5f1b41d6589c293089704d4759e34597dce91014ac125aad1"}, @@ -1059,6 +1114,10 @@ cryptography = [ {file = "cryptography-3.4.7-pp37-pypy37_pp73-manylinux2014_x86_64.whl", hash = "sha256:ee77aa129f481be46f8d92a1a7db57269a2f23052d5f2433b4621bb457081cc9"}, {file = "cryptography-3.4.7.tar.gz", hash = "sha256:3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713"}, ] +dataclasses = [ + {file = "dataclasses-0.8-py3-none-any.whl", hash = "sha256:0201d89fa866f68c8ebd9d08ee6ff50c0b255f8ec63a71c16fda7af82bb887bf"}, + {file = "dataclasses-0.8.tar.gz", hash = "sha256:8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"}, +] dill = [ {file = "dill-0.3.3-py2.py3-none-any.whl", hash = "sha256:78370261be6ea49037ace8c17e0b7dd06d0393af6513cc23f9b222d9367ce389"}, {file = "dill-0.3.3.zip", hash = "sha256:efb7f6cb65dba7087c1e111bb5390291ba3616741f96840bfc75792a1a9b5ded"}, @@ -1117,8 +1176,8 @@ invoke = [ {file = "invoke-1.5.0.tar.gz", hash = "sha256:f0c560075b5fb29ba14dad44a7185514e94970d1b9d57dcd3723bec5fed92650"}, ] isort = [ - {file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"}, - {file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"}, + {file = "isort-5.8.0-py3-none-any.whl", hash = "sha256:2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d"}, + {file = "isort-5.8.0.tar.gz", hash = "sha256:0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6"}, ] jinja2 = [ {file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"}, @@ -1129,27 +1188,28 @@ jsonschema = [ {file = "jsonschema-3.2.0.tar.gz", hash = "sha256:c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a"}, ] lazy-object-proxy = [ - {file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"}, - {file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"}, - {file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"}, - {file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"}, - {file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"}, - {file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"}, - {file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"}, + {file = "lazy-object-proxy-1.6.0.tar.gz", hash = "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7b84f6b790be05b"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27m-win32.whl", hash = "sha256:ebfd274dcd5133e0afae738e6d9da4323c3eb021b3e13052d8cbd0e457b1256e"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27m-win_amd64.whl", hash = "sha256:ed361bb83436f117f9917d282a456f9e5009ea12fd6de8742d1a4752c3017e93"}, + {file = "lazy_object_proxy-1.6.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d900d949b707778696fdf01036f58c9876a0d8bfe116e8d220cfd4b15f14e741"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5743a5ab42ae40caa8421b320ebf3a998f89c85cdc8376d6b2e00bd12bd1b587"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:bf34e368e8dd976423396555078def5cfc3039ebc6fc06d1ae2c5a65eebbcde4"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-win32.whl", hash = "sha256:b579f8acbf2bdd9ea200b1d5dea36abd93cabf56cf626ab9c744a432e15c815f"}, + {file = "lazy_object_proxy-1.6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:4f60460e9f1eb632584c9685bccea152f4ac2130e299784dbaf9fae9f49891b3"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d7124f52f3bd259f510651450e18e0fd081ed82f3c08541dffc7b94b883aa981"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:22ddd618cefe54305df49e4c069fa65715be4ad0e78e8d252a33debf00f6ede2"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-win32.whl", hash = "sha256:9d397bf41caad3f489e10774667310d73cb9c4258e9aed94b9ec734b34b495fd"}, + {file = "lazy_object_proxy-1.6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a5045889cc2729033b3e604d496c2b6f588c754f7a62027ad4437a7ecc4837"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:17e0967ba374fc24141738c69736da90e94419338fd4c7c7bef01ee26b339653"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:410283732af311b51b837894fa2f24f2c0039aa7f220135192b38fcc42bd43d3"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-win32.whl", hash = "sha256:85fb7608121fd5621cc4377a8961d0b32ccf84a7285b4f1d21988b2eae2868e8"}, + {file = "lazy_object_proxy-1.6.0-cp38-cp38-win_amd64.whl", hash = "sha256:d1c2676e3d840852a2de7c7d5d76407c772927addff8d742b9808fe0afccebdf"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:b865b01a2e7f96db0c5d12cfea590f98d8c5ba64ad222300d93ce6ff9138bcad"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:4732c765372bd78a2d6b2150a6e99d00a78ec963375f236979c0626b97ed8e43"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:9698110e36e2df951c7c36b6729e96429c9c32b3331989ef19976592c5f3c77a"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-win32.whl", hash = "sha256:1fee665d2638491f4d6e55bd483e15ef21f6c8c2095f235fef72601021e64f61"}, + {file = "lazy_object_proxy-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:f5144c75445ae3ca2057faac03fda5a902eff196702b0a24daf1d6ce0650514b"}, ] markupsafe = [ {file = "MarkupSafe-1.1.1-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161"}, @@ -1258,8 +1318,8 @@ pygments = [ {file = "Pygments-2.9.0.tar.gz", hash = "sha256:a18f47b506a429f6f4b9df81bb02beab9ca21d0a5fee38ed15aef65f0545519f"}, ] pylint = [ - {file = "pylint-2.6.2-py3-none-any.whl", hash = "sha256:e71c2e9614a4f06e36498f310027942b0f4f2fde20aebb01655b31edc63b9eaf"}, - {file = "pylint-2.6.2.tar.gz", hash = "sha256:718b74786ea7ed07aa0c58bf572154d4679f960d26e9641cc1de204a30b87fc9"}, + {file = "pylint-2.8.2-py3-none-any.whl", hash = "sha256:f7e2072654a6b6afdf5e2fb38147d3e2d2d43c89f648637baab63e026481279b"}, + {file = "pylint-2.8.2.tar.gz", hash = "sha256:586d8fa9b1891f4b725f587ef267abe2a1bad89d6b184520c7f07a253dd6e217"}, ] pynacl = [ {file = "PyNaCl-1.4.0-cp27-cp27m-macosx_10_10_x86_64.whl", hash = "sha256:ea6841bc3a76fa4942ce00f3bda7d436fda21e2d91602b9e21b7ca9ecab8f3ff"}, @@ -1298,8 +1358,8 @@ pytest = [ {file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"}, ] pytest-cov = [ - {file = "pytest-cov-2.10.1.tar.gz", hash = "sha256:47bd0ce14056fdd79f93e1713f88fad7bdcc583dcd7783da86ef2f085a0bb88e"}, - {file = "pytest_cov-2.10.1-py2.py3-none-any.whl", hash = "sha256:45ec2d5182f89a81fc3eb29e3d1ed3113b9e9a873bcddb2a71faaab066110191"}, + {file = "pytest-cov-2.11.1.tar.gz", hash = "sha256:359952d9d39b9f822d9d29324483e7ba04a3a17dd7d05aa6beb7ea01e359e5f7"}, + {file = "pytest_cov-2.11.1-py2.py3-none-any.whl", hash = "sha256:bdb9fdb0b85a7cc825269a4c56b48ccaa5c7e365054b6038772c32ddcdc969da"}, ] pytz = [ {file = "pytz-2021.1-py2.py3-none-any.whl", hash = "sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"}, @@ -1340,6 +1400,10 @@ requests = [ {file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"}, {file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"}, ] +rich = [ + {file = "rich-10.1.0-py3-none-any.whl", hash = "sha256:60cd6d6ea697a1704f2057e791e3062b506b5c74a6e2ad2ced71eccb37557259"}, + {file = "rich-10.1.0.tar.gz", hash = "sha256:8f05431091601888c50341697cfc421dc398ce37b12bca0237388ef9c7e2c9e9"}, +] six = [ {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, @@ -1438,8 +1502,8 @@ typing-extensions = [ {file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"}, ] urllib3 = [ - {file = "urllib3-1.22-py2.py3-none-any.whl", hash = "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b"}, - {file = "urllib3-1.22.tar.gz", hash = "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"}, + {file = "urllib3-1.26.4-py2.py3-none-any.whl", hash = "sha256:2f4da4594db7e1e110a944bb1b551fdf4e6c136ad42e4234131391e21eb5b0df"}, + {file = "urllib3-1.26.4.tar.gz", hash = "sha256:e7b021f7241115872f92f43c6508082facffbd1c048e3c6e2bb9c2a157e28937"}, ] virtualenv = [ {file = "virtualenv-20.4.6-py2.py3-none-any.whl", hash = "sha256:307a555cf21e1550885c82120eccaf5acedf42978fd362d32ba8410f9593f543"}, diff --git a/pyproject.toml b/pyproject.toml index 10c23db42..dfc9bea90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,7 @@ packages = [ ] [tool.poetry.dependencies] -python = ">=3.6" +python = ">=3.6,<4.0" coloredlogs = "*" dill = "*" filelock = "*" From b18127861c375daed885c7dce0acb4063d7d98f9 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 17:36:32 -0700 Subject: [PATCH 18/45] Attach params to step records to enable use in status output --- .../datastructures/core/executiongraph.py | 24 ++++++++++++++++--- maestrowf/datastructures/core/parameters.py | 13 +++++++++- maestrowf/datastructures/core/study.py | 8 +++++-- 3 files changed, 39 insertions(+), 6 deletions(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index 643db1d3f..39bf2dbf6 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -65,6 +65,19 @@ def __init__(self, workspace, step, **kwargs): self._end_time = None self.status = kwargs.get("status", State.INITIALIZED) + # Parameter info + self._params = None + + def add_params(self, params): + """Attaches param names/values used in this step""" + self._params = {param: value for param, value in params} + + @property + def params(self): + if not self._params: + self._params = {} + return self._params + def setup_workspace(self): """Initialize the record's workspace.""" create_parentdir(self.workspace.value) @@ -379,7 +392,7 @@ def _check_tmp_dir(self): if self._tmp_dir and not os.path.exists(self._tmp_dir): self._tmp_dir = tempfile.mkdtemp() - def add_step(self, name, step, workspace, restart_limit): + def add_step(self, name, step, workspace, restart_limit, params=None): """ Add a StepRecord to the ExecutionGraph. @@ -395,6 +408,9 @@ def add_step(self, name, step, workspace, restart_limit): "restart_limit": restart_limit, } record = _StepRecord(**data) + if params: + record.add_params(params) + self._dependencies[name] = set() super(ExecutionGraph, self).add_node(name, record) @@ -620,7 +636,7 @@ def status_subtree(self): def write_status(self, path): """Write the status of the DAG to a CSV file.""" header = "Step Name,Job ID,Workspace,State,Run Time,Elapsed Time," \ - "Start Time,Submit Time,End Time,Number Restarts" + "Start Time,Submit Time,End Time,Number Restarts,Params" status = [header] for key in self.status_subtree: @@ -635,7 +651,9 @@ def write_status(self, path): os.path.split(value.workspace.value)[1], str(value.status.name), value.run_time, value.elapsed_time, value.time_start, value.time_submitted, value.time_end, - str(value.restarts) + str(value.restarts), + ";".join(["{}:{}".format(param, value) + for param, value in value.params.items()]) ] _ = ",".join(_) status.append(_) diff --git a/maestrowf/datastructures/core/parameters.py b/maestrowf/datastructures/core/parameters.py index 76c6ec527..bf8404029 100644 --- a/maestrowf/datastructures/core/parameters.py +++ b/maestrowf/datastructures/core/parameters.py @@ -142,7 +142,7 @@ def apply(self, item): for key, value in self._labels.items(): item = item.replace(key, str(value)) - # Apply the Combination's values to the item. + # apply the Combination's values to the item. # These are substrings within item that are represented by the format # () for key, value in self._params.items(): @@ -159,6 +159,17 @@ def apply(self, item): # substrings. return item + def get_param_values(self, params): + """ + Get the values for the specified parameters. + + :param params: A set of parameters to be used in the string. + :returns: A string containing the labels for the parameters in params. + """ + for key in params: + var = "{}({})".format(self._token, key) + yield key, self._params[var] + class ParameterGenerator: """ diff --git a/maestrowf/datastructures/core/study.py b/maestrowf/datastructures/core/study.py index 51aa51d4b..9db6d7eb0 100644 --- a/maestrowf/datastructures/core/study.py +++ b/maestrowf/datastructures/core/study.py @@ -613,7 +613,6 @@ def _stage(self, dag): node.run["restart"] = r_cmd LOGGER.debug("New cmd = %s", cmd) LOGGER.debug("New restart = %s", r_cmd) - dag.add_step(step, node, workspace, rlimit) if self.depends[step] or self.hub_depends[step]: @@ -629,6 +628,7 @@ def _stage(self, dag): # is not parameterized. LOGGER.debug("Processing hub dependencies.") for parent in self.hub_depends[step]: + LOGGER.info("Step combos: {}, type: {}".format(self.step_combos[parent], type(self.step_combos[parent]))) for item in self.step_combos[parent]: LOGGER.info("Adding edge (%s, %s)...", item, step) dag.add_connection(item, step) @@ -720,8 +720,12 @@ def _stage(self, dag): step_exp.run["cmd"] = cmd step_exp.run["restart"] = r_cmd # Add to the step to the DAG. + LOGGER.info("Step combos: {}, type: {}".format(self.step_combos[step], type(self.step_combos[step]))) + LOGGER.info("Step params: {}, type: {}".format(self.used_params[step], type(self.used_params[step]))) + LOGGER.info("Combo: {}".format(list(combo.get_param_values(self.used_params[step])))) dag.add_step( - step_exp.real_name, step_exp, workspace, rlimit) + step_exp.real_name, step_exp, workspace, rlimit, + params=combo.get_param_values(self.used_params[step])) if self.depends[step] or self.hub_depends[step]: # So, because we don't have used parameters, we can From 1ec26c9f98cada5664970bfb5fbaa07b6a96eb48 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 17:37:01 -0700 Subject: [PATCH 19/45] Add param name:value table in narrow status layout --- maestrowf/maestro.py | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 2910cba7b..1f210b72a 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -225,6 +225,43 @@ def status_study(args): step_table.add_row('', step_details) stat_table.add_row(step_table, end_section=True) + # TODO: come up with better way to scale/size this + print("STATUS keys: {}".format(list(status.keys()))) + param_list = status['Params'][row].split(';') + if len(param_list) > 0 and param_list[0]: + + if len(param_list) % 2 != 0: + param_list.append("") + print("PARAMS: {}".format(param_list)) + num_param_rows = int(len(param_list)/2) + + step_params = Table(title="Step Parameters", + show_header=False, + show_lines=True, + box=box.HORIZONTALS) + + step_params.add_column("name", style="cyan") + step_params.add_column("val", style="blue") + step_params.add_column("name2", style="cyan") + step_params.add_column("val2", style="blue") + param_idx = 0 + for param_row in range(num_param_rows): + this_row = [] + for param_str in param_list[param_idx:param_idx+2]: + if param_str: + this_row.extend(param_str.split(':')) + else: + this_row.extend(["", ""]) + + param_idx+2 + print("THIS ROW: {}".format(this_row)) + + step_params.add_row(*this_row, + style=row_style) + + step_table.add_row('', step_params) + stat_table.add_row(step_table, end_section=True) + else: print( "\nNo status to report -- the Maestro study in this path " @@ -590,7 +627,7 @@ def setup_argparser(): status.add_argument( "--layout", type=str, choices=['flat', 'narrow'], default='flat', - help="Alternate status table layouts") + help="Alternate status table layouts. [Default: %(default)s]") status.set_defaults(func=status_study) # global options From 8b84ff24bfcd969a82e297048b219001cc0724d3 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 7 May 2021 17:50:59 -0700 Subject: [PATCH 20/45] Check for new status column to enable backwards compatibility --- maestrowf/maestro.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 1f210b72a..8254d43f4 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -227,7 +227,10 @@ def status_study(args): # TODO: come up with better way to scale/size this print("STATUS keys: {}".format(list(status.keys()))) - param_list = status['Params'][row].split(';') + if 'Params' not in status.keys(): + param_list = [] + else: + param_list = status['Params'][row].split(';') if len(param_list) > 0 and param_list[0]: if len(param_list) % 2 != 0: From 960e30dac3c63beb2dbed8bb20f270a45ce9315e Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Mon, 10 May 2021 15:43:40 -0700 Subject: [PATCH 21/45] Checkpoint on renderer factory implementation --- maestrowf/__init__.py | 315 +++++++++++++++++++++++++++++++++++++ maestrowf/maestro.py | 352 ++++++++++++++++++++++-------------------- 2 files changed, 500 insertions(+), 167 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 449236967..1aff5e77c 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -37,6 +37,10 @@ import logging +from rich import box +from rich.console import Console +from rich.table import Table +from rich.theme import Theme try: # Python 2.7+ from logging import NullHandler @@ -53,3 +57,314 @@ def emit(self, record): __version_info__ = ("1", "1", "9dev1") __version__ = '.'.join(__version_info__) + + +# Register status layout types +class StatusRendererFactory: + """Factory for setting up alternate console status rendering formats""" + def __init__(self): + self._layouts = {} + + def register_layout(self, layout, renderer): + self._layouts[layout] = renderer + + def get_renderer(self, layout): + renderer = self._layouts.get(layout) + + # Note, need to wrap renderer in try/catch too, or return default val? + if not renderer: + raise ValueError(layout) + + return renderer() + + +class BaseStatusRenderer: + def __init__(self, *args, **kwargs): + self._status_data = {} + self._filters = {} + self._study_title = '' + self._theme_dict = {} + + def layout(self, table_data=None, study_title=None, data_filters=None): + pass + + def render(self, theme=None): + pass + + +class FlatStatusRenderer(BaseStatusRenderer): + """Flat, simple table layout""" + def __init__(self, *args, **kwargs): + super(FlatStatusRenderer, self).__init__(*args, **kwargs) + + # Setup default theme + self._theme_dict = { + "State": "bold red", + "Step Name": "bold cyan", + "Workspace": "blue", + "Job ID": "yellow", + "row_style": "none", + "row_style_dim": "dim", + "col_style_1": "cyan", + "col_style_2": "blue", + "bgcolor": "grey7", + "color": "cyan" + } + + def layout(self, status_data=None, study_title=None, filter_dict=None): + """Construct the Rich Table object""" + if status_data: + self._status_data = status_data + else: + raise ValueError("Status data required to layout a table") + + self._status_table = Table() + if study_title: + self._status_table.title = "Study: {}".format(study_title) + + # Apply any filters: TODO + + cols = list(self._status_data.keys()) + + # Setup the column styles + for nominal_col_num, col in enumerate(cols): + if col in list(self._theme_dict.keys()): + col_style = col + else: + if nominal_col_num % 2 == 0: + col_style = 'col_style_1' + else: + col_style = 'col_style_2' + + self._status_table.add_column(col, + style=col_style, + overflow="fold") + + num_rows = len(self._status_data[cols[0]]) + + # Alternate dim rows to differentiate them better + for row in range(num_rows): + if row % 2 == 0: + row_style = 'dim' + else: + row_style = 'none' + + self._status_table.add_row( + *['{}'.format(self._status_data[key][row]) + for key in cols], + style=row_style + ) + + def render(self, theme=None): + """Do the actual printing""" + + # Apply any theme customization + if theme: + for key, value in theme.items(): + self._theme_dict[key] = value + + status_theme = Theme(self._theme_dict) + + _printer = Console(theme=status_theme) + + _printer.print(self._status_table) + + +class NarrowStatusRenderer(BaseStatusRenderer): + def __init__(self, *args, **kwargs): + super(NarrowStatusRenderer, self).__init__(*args, **kwargs) + + # Setup default theme + self._theme_dict = { + "State": "bold red", + "Step Name": "bold cyan", + "Workspace": "blue", + "row_style": "cyan", + "row_style_dim": "cyan dim", + "background": "grey7" + } + + def layout(self, status_data=None, study_title=None, filter_dict=None): + + if status_data: + self._status_data = status_data + else: + raise ValueError("Status data required to layout a table") + + self._status_table = Table() + if study_title: + self._status_table.title = "Study: {}".format(study_title) + + # Apply any filters: TODO + + # Use grid (no headers) to contain the actual nested Table rows in single column table + self._status_table = Table.grid(padding=0) + if study_title: + self._status_table.title = "STUDY: {}".format(study_title) + self._status_table.box = box.HEAVY + self._status_table.show_lines = True + self._status_table.show_edge = False + self._status_table.show_footer = True + self._status_table.collapse_padding = True + + # Uses folding overflow for very long step/workspace names + self._status_table.add_column("Step", overflow="fold") + + # Note, filter on columns here + cols = [key for key in status.keys() + if (key != 'Step Name' and key != 'Workspace')] + + num_rows = len(self._status_data[cols[0]]) + + # Split data into three tables: deails, scheduler, params (optional) + detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] + sched_rows = ['Submit Time', + 'Start Time', + 'End Time', + 'Number Restarts'] + + # Setup one table to contain each steps' info + for row in range(num_rows): + step_table = Table( + box=box.SIMPLE_HEAVY, + show_header=False + ) + # Dummy columns + step_table.add_column("key") + step_table.add_column("val") + + # Top level contains step name and workspace name, full table width + step_table.add_row("STEP:", + self._status_data['Step Name'][row], + style='Step Name') + step_table.add_row("WORKSPACE:", + self._status_data['Workspace'][row], + style='Workspace') + + step_table.add_row("", "") # just a little whitespace + + # Add step details sub table + step_details = Table.grid(padding=1) + step_details.add_column("details") + + step_info = Table(title="Step Details", + show_header=False, + show_lines=True, + box=box.HORIZONTALS) + + step_info.add_column("key") + step_info.add_column("val") + for nom_row_cnt, detail_row in enumerate(detail_rows): + if detail_row == 'State': + row_style = 'State' + else: + if nom_row_cnt % 2 == 0: + row_style = 'row_style' + else: + row_style = 'row_style' + + step_info.add_row(detail_row, + self._status_data[detail_row][row], + style=row_style) + + step_details.add_column("scheduler") + step_sched = Table(title="Scheduler Details", + show_header=False, + show_lines=True, + box=box.HORIZONTALS) + step_sched.add_column("key") + step_sched.add_column("val") + for nom_row_cnt, sched_row in enumerate(sched_rows): + step_sched.add_row(sched_row, + self._status_data[sched_row][row], + style='row_style') # key in status theme + + # Info and scheduler sub tables are in the same column/row + step_details.add_row(step_info, step_sched) + + step_table.add_row('', step_details) + self._status_table.add_row(step_table, end_section=True) + + # Add optional parameter table, if step has parameters + if 'Params' not in self._status_data.keys(): + param_list = [] + else: + param_list = self._status_data['Params'][row].split(';') + + if len(param_list) > 0 and param_list[0]: + if len(param_list) % 2 != 0: + param_list.append("") + + num_param_rows = int(len(param_list)/2) + + step_params = Table(title="Step Parameters", + show_header=False, + show_lines=True, + box=box.HORIZONTALS) + + # Note col names don't actually matter, just setting styles + step_params.add_column("name", style="cyan") + step_params.add_column("val", style="blue") + step_params.add_column("name2", style="cyan") + step_params.add_column("val2", style="blue") + + param_idx = 0 + for param_row in range(num_param_rows): + this_row = [] + for param_str in param_list[param_idx:param_idx+2]: + if param_str: + this_row.extend(param_str.split(':')) + else: + this_row.extend(["", ""]) + + param_idx+2 + + step_params.add_row(*this_row, + style=row_style) + + step_table.add_row('', step_params) + self._status_table.add_row(step_table, end_section=True) + + def render(self, theme=None): + """Do the actual printing""" + + # Apply any theme customization + if theme: + for key, value in theme.items(): + self._theme_dict[key] = value + + status_theme = Theme(self._theme_dict) + + _printer = Console(theme=status_theme) + + _printer.print(self._status_table) + +# Register renderers +status_renderer_factory = StatusRendererFactory() +status_renderer_factory.register_layout('flat', FlatStatusRenderer) +status_renderer_factory.register_layout('narrow', NarrowStatusRenderer) + + +# class StatusRendererBuilder: + +# def render_status(self, status_data, study_path, filter_dict, *args, **kwargs): +# renderer = status_render_factory.get_renderer(status_data, +# study_path, +# filter_dict, +# *args, +# **kwargs) +# renderer.layout() + +# return renderer.render() # Rich renderable + + +# """ +# Interface: +# layout -> generate table layout from status data, filters +# takes the status_data/path/filters as arguments? +# render -> use rich Console to render the output with a theme +# setup the theme in here, with overrides? + +# want the data, filters, and theme to be instance vars + +# """ diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 8254d43f4..a15cc4ded 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -43,7 +43,7 @@ # import tabulate import time -from maestrowf import __version__ +from maestrowf import __version__, status_renderer_factory from maestrowf.conductor import Conductor from maestrowf.specification import YAMLSpecification from maestrowf.datastructures.core import Study @@ -85,6 +85,9 @@ ACCEPTED_INPUT = set(["yes", "y"]) + + + def status_study(args): """Check and print the status of an executing study.""" # Force logging to Warning and above @@ -101,169 +104,184 @@ def status_study(args): status = Conductor.get_status(abs_path) status_layout = args.layout - if status and status_layout == 'flat': - # Colorized printer (rich) - RCONSOLE = Console(theme=STATUS_THEME_FLAT) - - stat_table = Table(title="Study: {}".format(abs_path)) - - cols = list(status.keys()) - - for nom_col_num, col in enumerate(cols): - if col in list(STATUS_THEME_FLAT.styles.keys()): - col_style = col - else: - if nom_col_num % 2 == 0: - col_style = 'col_style_1' - else: - col_style = 'col_style_2' - - stat_table.add_column(col, - style=col_style, - overflow="fold") - - num_rows = len(status[cols[0]]) - # Alternate dim rows to differentiate them better - for row in range(num_rows): - if row % 2 == 0: - row_style = 'dim' - else: - row_style = 'none' - - stat_table.add_row(*['{}'.format(status[key][row]) - for key in cols], - style=row_style) - - elif status and status_layout == 'narrow': - # Colorized printer (rich) - RCONSOLE = Console(theme=STATUS_THEME_NARROW) - - cols = [key for key in status.keys() - if (key != 'Step Name' and key != 'Workspace')] - - # Alternate format for narrow terminals - stat_table = Table.grid(padding=0) - # stat_table.style = "background" - stat_table.title = "STUDY: {}".format(abs_path) - stat_table.box = box.HEAVY - stat_table.show_lines = True - stat_table.show_edge = False - stat_table.show_footer = True - stat_table.collapse_padding = True - - stat_table.add_column("Step", - overflow="fold") - - num_rows = len(status[cols[0]]) - - detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] - sched_rows = ['Submit Time', - 'Start Time', - 'End Time', - 'Number Restarts'] - - for row in range(num_rows): - step_table = Table( - box=box.SIMPLE_HEAVY, - show_header=False, - ) - step_table.add_column("key") - step_table.add_column("val") - - step_table.add_row("STEP:", - status['Step Name'][row], - style='Step Name') - step_table.add_row("WORKSPACE:", - status['Workspace'][row], - style='Workspace') - - step_table.add_row("", "") - step_details = Table.grid(padding=1) - step_details.add_column("details") - - step_info = Table(title="Step Details", - # show_edge=True, - show_header=False, - show_lines=True, - # show_footer=True, - box=box.HORIZONTALS) - - step_info.add_column("key") - step_info.add_column("val") - for nom_row_cnt, detail_row in enumerate(detail_rows): - if detail_row == 'State': - row_style = 'State' - else: - if nom_row_cnt % 2 == 0: - row_style = 'row_style' - else: - row_style = 'row_style' - - step_info.add_row(detail_row, - status[detail_row][row], - style=row_style) - - step_details.add_column("scheduler") - step_sched = Table(title="Scheduler Details", - show_header=False, - show_lines=True, - box=box.HORIZONTALS) - step_sched.add_column("key") - step_sched.add_column("val") - for nom_row_cnt, sched_row in enumerate(sched_rows): - if nom_row_cnt % 2 == 0: - row_style = 'row_style' - else: - row_style = 'row_style' - - step_sched.add_row(sched_row, - status[sched_row][row], - style=row_style) - - step_details.add_row(step_info, step_sched) - - step_table.add_row('', step_details) - stat_table.add_row(step_table, end_section=True) - - # TODO: come up with better way to scale/size this - print("STATUS keys: {}".format(list(status.keys()))) - if 'Params' not in status.keys(): - param_list = [] - else: - param_list = status['Params'][row].split(';') - if len(param_list) > 0 and param_list[0]: - - if len(param_list) % 2 != 0: - param_list.append("") - print("PARAMS: {}".format(param_list)) - num_param_rows = int(len(param_list)/2) - - step_params = Table(title="Step Parameters", - show_header=False, - show_lines=True, - box=box.HORIZONTALS) - - step_params.add_column("name", style="cyan") - step_params.add_column("val", style="blue") - step_params.add_column("name2", style="cyan") - step_params.add_column("val2", style="blue") - param_idx = 0 - for param_row in range(num_param_rows): - this_row = [] - for param_str in param_list[param_idx:param_idx+2]: - if param_str: - this_row.extend(param_str.split(':')) - else: - this_row.extend(["", ""]) - - param_idx+2 - print("THIS ROW: {}".format(this_row)) - - step_params.add_row(*this_row, - style=row_style) - - step_table.add_row('', step_params) - stat_table.add_row(step_table, end_section=True) + if status: + try: + status_renderer = status_renderer_factory.get_renderer( + status_layout) + + except ValueError: + print("Layout '{}' not implemented.".format(status_layout)) + raise + + status_renderer.layout(status_data=status, + study_title=abs_path, + filter_dict=None) + + status_renderer.render() + + # if status and status_layout == 'flat': + # # Colorized printer (rich) + # RCONSOLE = Console(theme=STATUS_THEME_FLAT) + + # stat_table = Table(title="Study: {}".format(abs_path)) + + # cols = list(status.keys()) + + # for nom_col_num, col in enumerate(cols): + # if col in list(STATUS_THEME_FLAT.styles.keys()): + # col_style = col + # else: + # if nom_col_num % 2 == 0: + # col_style = 'col_style_1' + # else: + # col_style = 'col_style_2' + + # stat_table.add_column(col, + # style=col_style, + # overflow="fold") + + # num_rows = len(status[cols[0]]) + # # Alternate dim rows to differentiate them better + # for row in range(num_rows): + # if row % 2 == 0: + # row_style = 'dim' + # else: + # row_style = 'none' + + # stat_table.add_row(*['{}'.format(status[key][row]) + # for key in cols], + # style=row_style) + + # elif status and status_layout == 'narrow': + # # Colorized printer (rich) + # RCONSOLE = Console(theme=STATUS_THEME_NARROW) + + # cols = [key for key in status.keys() + # if (key != 'Step Name' and key != 'Workspace')] + + # # Alternate format for narrow terminals + # stat_table = Table.grid(padding=0) + # # stat_table.style = "background" + # stat_table.title = "STUDY: {}".format(abs_path) + # stat_table.box = box.HEAVY + # stat_table.show_lines = True + # stat_table.show_edge = False + # stat_table.show_footer = True + # stat_table.collapse_padding = True + + # stat_table.add_column("Step", + # overflow="fold") + + # num_rows = len(status[cols[0]]) + + # detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] + # sched_rows = ['Submit Time', + # 'Start Time', + # 'End Time', + # 'Number Restarts'] + + # for row in range(num_rows): + # step_table = Table( + # box=box.SIMPLE_HEAVY, + # show_header=False, + # ) + # step_table.add_column("key") + # step_table.add_column("val") + + # step_table.add_row("STEP:", + # status['Step Name'][row], + # style='Step Name') + # step_table.add_row("WORKSPACE:", + # status['Workspace'][row], + # style='Workspace') + + # step_table.add_row("", "") + # step_details = Table.grid(padding=1) + # step_details.add_column("details") + + # step_info = Table(title="Step Details", + # # show_edge=True, + # show_header=False, + # show_lines=True, + # # show_footer=True, + # box=box.HORIZONTALS) + + # step_info.add_column("key") + # step_info.add_column("val") + # for nom_row_cnt, detail_row in enumerate(detail_rows): + # if detail_row == 'State': + # row_style = 'State' + # else: + # if nom_row_cnt % 2 == 0: + # row_style = 'row_style' + # else: + # row_style = 'row_style' + + # step_info.add_row(detail_row, + # status[detail_row][row], + # style=row_style) + + # step_details.add_column("scheduler") + # step_sched = Table(title="Scheduler Details", + # show_header=False, + # show_lines=True, + # box=box.HORIZONTALS) + # step_sched.add_column("key") + # step_sched.add_column("val") + # for nom_row_cnt, sched_row in enumerate(sched_rows): + # if nom_row_cnt % 2 == 0: + # row_style = 'row_style' + # else: + # row_style = 'row_style' + + # step_sched.add_row(sched_row, + # status[sched_row][row], + # style=row_style) + + # step_details.add_row(step_info, step_sched) + + # step_table.add_row('', step_details) + # stat_table.add_row(step_table, end_section=True) + + # # TODO: come up with better way to scale/size this + # print("STATUS keys: {}".format(list(status.keys()))) + # if 'Params' not in status.keys(): + # param_list = [] + # else: + # param_list = status['Params'][row].split(';') + # if len(param_list) > 0 and param_list[0]: + + # if len(param_list) % 2 != 0: + # param_list.append("") + # print("PARAMS: {}".format(param_list)) + # num_param_rows = int(len(param_list)/2) + + # step_params = Table(title="Step Parameters", + # show_header=False, + # show_lines=True, + # box=box.HORIZONTALS) + + # step_params.add_column("name", style="cyan") + # step_params.add_column("val", style="blue") + # step_params.add_column("name2", style="cyan") + # step_params.add_column("val2", style="blue") + # param_idx = 0 + # for param_row in range(num_param_rows): + # this_row = [] + # for param_str in param_list[param_idx:param_idx+2]: + # if param_str: + # this_row.extend(param_str.split(':')) + # else: + # this_row.extend(["", ""]) + + # param_idx+2 + # print("THIS ROW: {}".format(this_row)) + + # step_params.add_row(*this_row, + # style=row_style) + + # step_table.add_row('', step_params) + # stat_table.add_row(step_table, end_section=True) else: print( @@ -273,10 +291,10 @@ def status_study(args): print("") print(header_format) - if status: - print("") + # if status: + # print("") - RCONSOLE.print(stat_table) + # RCONSOLE.print(stat_table) else: print( From af088dbbcf874d62274fa587aaf50fb824b14074 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Mon, 10 May 2021 15:56:21 -0700 Subject: [PATCH 22/45] Cleanup after successful test --- maestrowf/__init__.py | 42 +++------ maestrowf/maestro.py | 201 ------------------------------------------ 2 files changed, 10 insertions(+), 233 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 1aff5e77c..6142ec40f 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -125,10 +125,11 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): # Apply any filters: TODO cols = list(self._status_data.keys()) - + print("Columns: {}".format(cols)) # Setup the column styles for nominal_col_num, col in enumerate(cols): if col in list(self._theme_dict.keys()): + print("Setting '{}' column to style '{}'".format(col, col)) col_style = col else: if nominal_col_num % 2 == 0: @@ -136,11 +137,11 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): else: col_style = 'col_style_2' - self._status_table.add_column(col, - style=col_style, - overflow="fold") + self._status_table.add_column(col, + style=col_style, + overflow="fold") - num_rows = len(self._status_data[cols[0]]) + num_rows = len(self._status_data[cols[0]]) # Alternate dim rows to differentiate them better for row in range(num_rows): @@ -197,7 +198,8 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): # Apply any filters: TODO - # Use grid (no headers) to contain the actual nested Table rows in single column table + # Use grid (no headers) to contain the actual nested Table rows in + # single column table self._status_table = Table.grid(padding=0) if study_title: self._status_table.title = "STUDY: {}".format(study_title) @@ -211,7 +213,7 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): self._status_table.add_column("Step", overflow="fold") # Note, filter on columns here - cols = [key for key in status.keys() + cols = [key for key in self._status_data.keys() if (key != 'Step Name' and key != 'Workspace')] num_rows = len(self._status_data[cols[0]]) @@ -339,32 +341,8 @@ def render(self, theme=None): _printer.print(self._status_table) + # Register renderers status_renderer_factory = StatusRendererFactory() status_renderer_factory.register_layout('flat', FlatStatusRenderer) status_renderer_factory.register_layout('narrow', NarrowStatusRenderer) - - -# class StatusRendererBuilder: - -# def render_status(self, status_data, study_path, filter_dict, *args, **kwargs): -# renderer = status_render_factory.get_renderer(status_data, -# study_path, -# filter_dict, -# *args, -# **kwargs) -# renderer.layout() - -# return renderer.render() # Rich renderable - - -# """ -# Interface: -# layout -> generate table layout from status data, filters -# takes the status_data/path/filters as arguments? -# render -> use rich Console to render the output with a theme -# setup the theme in here, with overrides? - -# want the data, filters, and theme to be instance vars - -# """ diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index a15cc4ded..1cb67baed 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -32,11 +32,6 @@ import jsonschema import logging import os -from rich import box -from rich.console import Console -# from rich.style import Style -from rich.table import Table -from rich.theme import Theme import shutil import six import sys @@ -57,27 +52,6 @@ LOGGER = logging.getLogger(__name__) LOG_UTIL = LoggerUtility(LOGGER) -STATUS_THEME_FLAT = Theme({ - "State": "bold red", - "Step Name": "bold cyan", - "Workspace": "blue", - "Job ID": "yellow", - "row_style": "none", - "row_style_dim": "dim", - "col_style_1": "cyan", - "col_style_2": "blue", - "bgcolor": "grey7", - "color": "cyan" -}) -STATUS_THEME_NARROW = Theme({ - "State": "bold red", - "Step Name": "bold cyan", - "Workspace": "blue", - "row_style": "cyan", - "row_style_dim": "cyan dim", - "background": "grey7" -}) - # Configuration globals DEBUG_FORMAT = "[%(asctime)s: %(levelname)s] " \ "[%(module)s: %(lineno)d] %(message)s" @@ -85,9 +59,6 @@ ACCEPTED_INPUT = set(["yes", "y"]) - - - def status_study(args): """Check and print the status of an executing study.""" # Force logging to Warning and above @@ -96,7 +67,6 @@ def status_study(args): directory_list = args.directory if directory_list: - header_format = "".ljust(150, "=") for path in directory_list: abs_path = os.path.abspath(path) @@ -119,182 +89,11 @@ def status_study(args): status_renderer.render() - # if status and status_layout == 'flat': - # # Colorized printer (rich) - # RCONSOLE = Console(theme=STATUS_THEME_FLAT) - - # stat_table = Table(title="Study: {}".format(abs_path)) - - # cols = list(status.keys()) - - # for nom_col_num, col in enumerate(cols): - # if col in list(STATUS_THEME_FLAT.styles.keys()): - # col_style = col - # else: - # if nom_col_num % 2 == 0: - # col_style = 'col_style_1' - # else: - # col_style = 'col_style_2' - - # stat_table.add_column(col, - # style=col_style, - # overflow="fold") - - # num_rows = len(status[cols[0]]) - # # Alternate dim rows to differentiate them better - # for row in range(num_rows): - # if row % 2 == 0: - # row_style = 'dim' - # else: - # row_style = 'none' - - # stat_table.add_row(*['{}'.format(status[key][row]) - # for key in cols], - # style=row_style) - - # elif status and status_layout == 'narrow': - # # Colorized printer (rich) - # RCONSOLE = Console(theme=STATUS_THEME_NARROW) - - # cols = [key for key in status.keys() - # if (key != 'Step Name' and key != 'Workspace')] - - # # Alternate format for narrow terminals - # stat_table = Table.grid(padding=0) - # # stat_table.style = "background" - # stat_table.title = "STUDY: {}".format(abs_path) - # stat_table.box = box.HEAVY - # stat_table.show_lines = True - # stat_table.show_edge = False - # stat_table.show_footer = True - # stat_table.collapse_padding = True - - # stat_table.add_column("Step", - # overflow="fold") - - # num_rows = len(status[cols[0]]) - - # detail_rows = ['State', 'Job ID', 'Run Time', 'Elapsed Time'] - # sched_rows = ['Submit Time', - # 'Start Time', - # 'End Time', - # 'Number Restarts'] - - # for row in range(num_rows): - # step_table = Table( - # box=box.SIMPLE_HEAVY, - # show_header=False, - # ) - # step_table.add_column("key") - # step_table.add_column("val") - - # step_table.add_row("STEP:", - # status['Step Name'][row], - # style='Step Name') - # step_table.add_row("WORKSPACE:", - # status['Workspace'][row], - # style='Workspace') - - # step_table.add_row("", "") - # step_details = Table.grid(padding=1) - # step_details.add_column("details") - - # step_info = Table(title="Step Details", - # # show_edge=True, - # show_header=False, - # show_lines=True, - # # show_footer=True, - # box=box.HORIZONTALS) - - # step_info.add_column("key") - # step_info.add_column("val") - # for nom_row_cnt, detail_row in enumerate(detail_rows): - # if detail_row == 'State': - # row_style = 'State' - # else: - # if nom_row_cnt % 2 == 0: - # row_style = 'row_style' - # else: - # row_style = 'row_style' - - # step_info.add_row(detail_row, - # status[detail_row][row], - # style=row_style) - - # step_details.add_column("scheduler") - # step_sched = Table(title="Scheduler Details", - # show_header=False, - # show_lines=True, - # box=box.HORIZONTALS) - # step_sched.add_column("key") - # step_sched.add_column("val") - # for nom_row_cnt, sched_row in enumerate(sched_rows): - # if nom_row_cnt % 2 == 0: - # row_style = 'row_style' - # else: - # row_style = 'row_style' - - # step_sched.add_row(sched_row, - # status[sched_row][row], - # style=row_style) - - # step_details.add_row(step_info, step_sched) - - # step_table.add_row('', step_details) - # stat_table.add_row(step_table, end_section=True) - - # # TODO: come up with better way to scale/size this - # print("STATUS keys: {}".format(list(status.keys()))) - # if 'Params' not in status.keys(): - # param_list = [] - # else: - # param_list = status['Params'][row].split(';') - # if len(param_list) > 0 and param_list[0]: - - # if len(param_list) % 2 != 0: - # param_list.append("") - # print("PARAMS: {}".format(param_list)) - # num_param_rows = int(len(param_list)/2) - - # step_params = Table(title="Step Parameters", - # show_header=False, - # show_lines=True, - # box=box.HORIZONTALS) - - # step_params.add_column("name", style="cyan") - # step_params.add_column("val", style="blue") - # step_params.add_column("name2", style="cyan") - # step_params.add_column("val2", style="blue") - # param_idx = 0 - # for param_row in range(num_param_rows): - # this_row = [] - # for param_str in param_list[param_idx:param_idx+2]: - # if param_str: - # this_row.extend(param_str.split(':')) - # else: - # this_row.extend(["", ""]) - - # param_idx+2 - # print("THIS ROW: {}".format(this_row)) - - # step_params.add_row(*this_row, - # style=row_style) - - # step_table.add_row('', step_params) - # stat_table.add_row(step_table, end_section=True) - else: print( "\nNo status to report -- the Maestro study in this path " "either unexpectedly crashed or the path does not contain " "a Maestro study.") - print("") - print(header_format) - - # if status: - # print("") - - # RCONSOLE.print(stat_table) else: print( From 371704f72c483724813d68e59c7627085f557e63 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Mon, 10 May 2021 15:56:53 -0700 Subject: [PATCH 23/45] Remove extraneous debug logging --- maestrowf/datastructures/core/study.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/maestrowf/datastructures/core/study.py b/maestrowf/datastructures/core/study.py index 9db6d7eb0..2aea20dfb 100644 --- a/maestrowf/datastructures/core/study.py +++ b/maestrowf/datastructures/core/study.py @@ -628,7 +628,6 @@ def _stage(self, dag): # is not parameterized. LOGGER.debug("Processing hub dependencies.") for parent in self.hub_depends[step]: - LOGGER.info("Step combos: {}, type: {}".format(self.step_combos[parent], type(self.step_combos[parent]))) for item in self.step_combos[parent]: LOGGER.info("Adding edge (%s, %s)...", item, step) dag.add_connection(item, step) @@ -720,9 +719,6 @@ def _stage(self, dag): step_exp.run["cmd"] = cmd step_exp.run["restart"] = r_cmd # Add to the step to the DAG. - LOGGER.info("Step combos: {}, type: {}".format(self.step_combos[step], type(self.step_combos[step]))) - LOGGER.info("Step params: {}, type: {}".format(self.used_params[step], type(self.used_params[step]))) - LOGGER.info("Combo: {}".format(list(combo.get_param_values(self.used_params[step])))) dag.add_step( step_exp.real_name, step_exp, workspace, rlimit, params=combo.get_param_values(self.used_params[step])) From 32cfe2be52f7b367a28b9b3eed6633a4fb674a4b Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 12 May 2021 22:25:41 -0700 Subject: [PATCH 24/45] Fix bad indent, tweak themes to play nice on different terminal themes --- maestrowf/__init__.py | 60 +++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 6142ec40f..0ef324a4f 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -100,15 +100,15 @@ def __init__(self, *args, **kwargs): # Setup default theme self._theme_dict = { "State": "bold red", - "Step Name": "bold cyan", + "Step Name": "bold", "Workspace": "blue", "Job ID": "yellow", "row_style": "none", "row_style_dim": "dim", - "col_style_1": "cyan", + "col_style_1": "", "col_style_2": "blue", "bgcolor": "grey7", - "color": "cyan" + "color": "" } def layout(self, status_data=None, study_title=None, filter_dict=None): @@ -178,10 +178,10 @@ def __init__(self, *args, **kwargs): # Setup default theme self._theme_dict = { "State": "bold red", - "Step Name": "bold cyan", + "Step Name": "bold", "Workspace": "blue", - "row_style": "cyan", - "row_style_dim": "cyan dim", + "row_style": "", + "row_style_dim": "dim", "background": "grey7" } @@ -292,40 +292,40 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): param_list = [] else: param_list = self._status_data['Params'][row].split(';') - + if len(param_list) > 0 and param_list[0]: if len(param_list) % 2 != 0: param_list.append("") - num_param_rows = int(len(param_list)/2) + num_param_rows = int(len(param_list)/2) - step_params = Table(title="Step Parameters", - show_header=False, - show_lines=True, - box=box.HORIZONTALS) + step_params = Table(title="Step Parameters", + show_header=False, + show_lines=True, + box=box.HORIZONTALS) - # Note col names don't actually matter, just setting styles - step_params.add_column("name", style="cyan") - step_params.add_column("val", style="blue") - step_params.add_column("name2", style="cyan") - step_params.add_column("val2", style="blue") + # Note col names don't actually matter, just setting styles + step_params.add_column("name", style="") + step_params.add_column("val", style="blue") + step_params.add_column("name2", style="") + step_params.add_column("val2", style="blue") - param_idx = 0 - for param_row in range(num_param_rows): - this_row = [] - for param_str in param_list[param_idx:param_idx+2]: - if param_str: - this_row.extend(param_str.split(':')) - else: - this_row.extend(["", ""]) + param_idx = 0 + for param_row in range(num_param_rows): + this_row = [] + for param_str in param_list[param_idx:param_idx+2]: + if param_str: + this_row.extend(param_str.split(':')) + else: + this_row.extend(["", ""]) - param_idx+2 + param_idx+2 - step_params.add_row(*this_row, - style=row_style) + step_params.add_row(*this_row, + style=row_style) - step_table.add_row('', step_params) - self._status_table.add_row(step_table, end_section=True) + step_table.add_row('', step_params) + self._status_table.add_row(step_table, end_section=True) def render(self, theme=None): """Do the actual printing""" From 212b0174430fb2566d55d51f3100106c95c2ef9b Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Thu, 13 May 2021 23:34:02 -0700 Subject: [PATCH 25/45] Unit test for flat status layout --- maestrowf/__init__.py | 43 ++++++++++++++++++- tests/conftest.py | 9 ++++ tests/status/status_renderers.py | 34 +++++++++++++++ .../test_status_data/hello_bye_world.csv | 10 +++++ .../hello_bye_world_flat_ref.txt | 22 ++++++++++ 5 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 tests/status/status_renderers.py create mode 100644 tests/status/test_status_data/hello_bye_world.csv create mode 100644 tests/status/test_status_data/hello_bye_world_flat_ref.txt diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 0ef324a4f..e516bea22 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -34,6 +34,7 @@ Environment, Parameter generation, etc.). This module also includes interface abstracts, base class abstracts, and general utilities. """ +from io import StringIO import logging @@ -125,9 +126,15 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): # Apply any filters: TODO cols = list(self._status_data.keys()) - print("Columns: {}".format(cols)) + + # Some temporary simple filters to exclude params col in this layout + col_filters = ['Params'] + + cols = [col for col in cols if col not in col_filters] + # Setup the column styles for nominal_col_num, col in enumerate(cols): + if col in list(self._theme_dict.keys()): print("Setting '{}' column to style '{}'".format(col, col)) col_style = col @@ -170,6 +177,23 @@ def render(self, theme=None): _printer.print(self._status_table) + def render_to_str(self, theme=None, width=200): + """Capture output to string""" + + # Apply any theme customization + if theme: + for key, value in theme.items(): + self._theme_dict[key] = value + + status_theme = Theme(self._theme_dict) + + _printer = Console(theme=status_theme, + file=StringIO(), + width=width) + _printer.print(self._status_table) + + return _printer.file.getvalue() + class NarrowStatusRenderer(BaseStatusRenderer): def __init__(self, *args, **kwargs): @@ -341,6 +365,23 @@ def render(self, theme=None): _printer.print(self._status_table) + def render_to_str(self, theme=None, width=120): + """Capture output to string""" + + # Apply any theme customization + if theme: + for key, value in theme.items(): + self._theme_dict[key] = value + + status_theme = Theme(self._theme_dict) + + _printer = Console(theme=status_theme, + file=StringIO(), + width=width) + _printer.print(self._status_table) + + return _printer.file.getvalue() + # Register renderers status_renderer_factory = StatusRendererFactory() diff --git a/tests/conftest.py b/tests/conftest.py index ee6542d8b..82b8fe21c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -9,3 +9,12 @@ def load_spec(file_name): return os.path.join(dirpath, "specification", "test_specs", file_name) return load_spec + + +@pytest.fixture +def status_csv_path(): + def load_status_csv(file_name): + dirpath = os.path.dirname(os.path.abspath(__file__)) + return os.path.join(dirpath, "status", "test_status_data", file_name) + + return load_status_csv diff --git a/tests/status/status_renderers.py b/tests/status/status_renderers.py new file mode 100644 index 000000000..ad5a1da11 --- /dev/null +++ b/tests/status/status_renderers.py @@ -0,0 +1,34 @@ +import pytest + +from maestrowf.utils import csvtable_to_dict +from maestrowf import status_renderer_factory +# from pytest import raises + +# Reference data sets + + +# Status csv loader +# @pytest.fixture(params=["hello_bye_all_parameterized.csv", +# "hello_bye_all_parameterized_old.csv"]) +@pytest.fixture(params=["hello_bye_world.csv"]) +def load_csv_status(status_csv_path, request): + with open(status_csv_path(request.param), "r") as status_csv_file: + status = csvtable_to_dict(status_csv_file) + + return status + + +@pytest.fixture(params=["hello_bye_world_flat_ref.txt"]) +def load_expected_status(status_csv_path, request): + with open(status_csv_path(request.param), "r") as expected_status_file: + expected_status = expected_status_file.readlines() + + return ''.join([line for line in expected_status]) + + +def test_status_layout(load_csv_status, load_expected_status): + status_renderer = status_renderer_factory.get_renderer('flat') + status_renderer.layout(status_data=load_csv_status, + study_title='Test Study') + + assert status_renderer.render_to_str() == load_expected_status diff --git a/tests/status/test_status_data/hello_bye_world.csv b/tests/status/test_status_data/hello_bye_world.csv new file mode 100644 index 000000000..a66c2c246 --- /dev/null +++ b/tests/status/test_status_data/hello_bye_world.csv @@ -0,0 +1,10 @@ +Step Name,Job ID,Workspace,State,Run Time,Elapsed Time,Start Time,Submit Time,End Time,Number Restarts,Params +hello_world_GREETING.Hello.NAME.Pam,74255,GREETING.Hello.NAME.Pam,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:15,0,GREETING:Hello;NAME:Pam +hello_world_GREETING.Ciao.NAME.Jim,74262,GREETING.Ciao.NAME.Jim,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:15,0,GREETING:Ciao;NAME:Jim +hello_world_GREETING.Hey.NAME.Michael,74263,GREETING.Hey.NAME.Michael,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:15,0,GREETING:Hey;NAME:Michael +hello_world_GREETING.Hi.NAME.Dwight,74264,GREETING.Hi.NAME.Dwight,FINISHED,0d:00h:00m:01s,0d:00h:00m:01s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:16,0,GREETING:Hi;NAME:Dwight +bye_world_GREETING.Hello.NAME.Pam,74269,GREETING.Hello.NAME.Pam,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Hello;NAME:Pam +bye_world_GREETING.Ciao.NAME.Jim,74271,GREETING.Ciao.NAME.Jim,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Ciao;NAME:Jim +bye_world_GREETING.Hey.NAME.Michael,74272,GREETING.Hey.NAME.Michael,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Hey;NAME:Michael +bye_world_GREETING.Hi.NAME.Dwight,74273,GREETING.Hi.NAME.Dwight,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Hi;NAME:Dwight +bye_all,74274,bye_all,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:18,2021-05-07 17:11:18,2021-05-07 17:11:18,0, \ No newline at end of file diff --git a/tests/status/test_status_data/hello_bye_world_flat_ref.txt b/tests/status/test_status_data/hello_bye_world_flat_ref.txt new file mode 100644 index 000000000..bd757ff5e --- /dev/null +++ b/tests/status/test_status_data/hello_bye_world_flat_ref.txt @@ -0,0 +1,22 @@ + Study: Test Study +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ +┃ Step Name ┃ Job ID ┃ Workspace ┃ State ┃ Run Time ┃ Elapsed Time ┃ Start Time ┃ Submit Time ┃ End Time ┃ Number Restarts ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ +│ hello_world_GREETING.Hello.NAM │ 74255 │ GREETING.Hello.NAME.Pam │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 0 │ +│ E.Pam │ │ │ │ │ │ │ │ │ │ +│ hello_world_GREETING.Ciao.NAME │ 74262 │ GREETING.Ciao.NAME.Jim │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 0 │ +│ .Jim │ │ │ │ │ │ │ │ │ │ +│ hello_world_GREETING.Hey.NAME. │ 74263 │ GREETING.Hey.NAME.Michael │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 0 │ +│ Michael │ │ │ │ │ │ │ │ │ │ +│ hello_world_GREETING.Hi.NAME.D │ 74264 │ GREETING.Hi.NAME.Dwight │ FINISHED │ 0d:00h:00m:01s │ 0d:00h:00m:01s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:16 │ 0 │ +│ wight │ │ │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Hello.NAME. │ 74269 │ GREETING.Hello.NAME.Pam │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ +│ Pam │ │ │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Ciao.NAME.J │ 74271 │ GREETING.Ciao.NAME.Jim │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ +│ im │ │ │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Hey.NAME.Mi │ 74272 │ GREETING.Hey.NAME.Michael │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ +│ chael │ │ │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Hi.NAME.Dwi │ 74273 │ GREETING.Hi.NAME.Dwight │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ +│ ght │ │ │ │ │ │ │ │ │ │ +│ bye_all │ 74274 │ bye_all │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:18 │ 2021-05-07 17:11:18 │ 2021-05-07 17:11:18 │ 0 │ +└────────────────────────────────┴────────┴───────────────────────────┴──────────┴────────────────┴────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────┘ From c7c9887a1dc9ecb11f4f27b22132e97601283858 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Thu, 13 May 2021 23:40:56 -0700 Subject: [PATCH 26/45] Fix erroneous whitespace --- maestrowf/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index e516bea22..268840506 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -316,7 +316,7 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): param_list = [] else: param_list = self._status_data['Params'][row].split(';') - + if len(param_list) > 0 and param_list[0]: if len(param_list) % 2 != 0: param_list.append("") From 1c04eecbc08662fdac568a03c580511bead394d5 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Mon, 17 May 2021 22:47:52 -0700 Subject: [PATCH 27/45] Add step root to workspace in status of parameterized steps --- maestrowf/datastructures/core/executiongraph.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index 39bf2dbf6..ea019d961 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -646,9 +646,18 @@ def write_status(self, path): if value.jobid: jobid_str = str(value.jobid[-1]) + # Include step root in workspace when parameterized + if list(value.params.items()): + ws = os.path.join( + * os.path.normpath( + value.workspace.value).split(os.sep)[-2:] + ) + else: + ws = os.path.split(value.workspace.value)[1] + _ = [ value.name, jobid_str, - os.path.split(value.workspace.value)[1], + ws, str(value.status.name), value.run_time, value.elapsed_time, value.time_start, value.time_submitted, value.time_end, str(value.restarts), From 199411b8cfd20de6536f826df1ecd1827cca5159 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Tue, 18 May 2021 00:16:07 -0700 Subject: [PATCH 28/45] Rework status tests, add narrow layout test, rebaseline --- tests/status/status_renderers.py | 43 ++- .../test_status_data/hello_bye_world.csv | 18 +- .../hello_bye_world_flat_ref.txt | 44 +-- .../hello_bye_world_narrow_ref.txt | 338 ++++++++++++++++++ 4 files changed, 400 insertions(+), 43 deletions(-) create mode 100644 tests/status/test_status_data/hello_bye_world_narrow_ref.txt diff --git a/tests/status/status_renderers.py b/tests/status/status_renderers.py index ad5a1da11..a10475d2c 100644 --- a/tests/status/status_renderers.py +++ b/tests/status/status_renderers.py @@ -18,17 +18,36 @@ def load_csv_status(status_csv_path, request): return status -@pytest.fixture(params=["hello_bye_world_flat_ref.txt"]) -def load_expected_status(status_csv_path, request): - with open(status_csv_path(request.param), "r") as expected_status_file: - expected_status = expected_status_file.readlines() - - return ''.join([line for line in expected_status]) - - -def test_status_layout(load_csv_status, load_expected_status): - status_renderer = status_renderer_factory.get_renderer('flat') +@pytest.fixture +def expected_status(status_csv_path): + def load_expected_status(expected_status_file): + with open(status_csv_path(expected_status_file), "r") as es_file: + expected_status = es_file.readlines() + + return ''.join([line for line in expected_status]) + return load_expected_status + + +@pytest.mark.parametrize( + "layout, title, expected", + [ + ( + "flat", + "Test Study Flat", + "hello_bye_world_flat_ref.txt", + ), + ( + "narrow", + "Test Study Narrow", + "hello_bye_world_narrow_ref.txt", + ), + ], +) +def test_status_layout(load_csv_status, expected_status, + layout, title, expected): + expected_status_output = expected_status(expected) + status_renderer = status_renderer_factory.get_renderer(layout) status_renderer.layout(status_data=load_csv_status, - study_title='Test Study') + study_title=title) - assert status_renderer.render_to_str() == load_expected_status + assert status_renderer.render_to_str() == expected_status_output diff --git a/tests/status/test_status_data/hello_bye_world.csv b/tests/status/test_status_data/hello_bye_world.csv index a66c2c246..48c09a1d1 100644 --- a/tests/status/test_status_data/hello_bye_world.csv +++ b/tests/status/test_status_data/hello_bye_world.csv @@ -1,10 +1,10 @@ Step Name,Job ID,Workspace,State,Run Time,Elapsed Time,Start Time,Submit Time,End Time,Number Restarts,Params -hello_world_GREETING.Hello.NAME.Pam,74255,GREETING.Hello.NAME.Pam,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:15,0,GREETING:Hello;NAME:Pam -hello_world_GREETING.Ciao.NAME.Jim,74262,GREETING.Ciao.NAME.Jim,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:15,0,GREETING:Ciao;NAME:Jim -hello_world_GREETING.Hey.NAME.Michael,74263,GREETING.Hey.NAME.Michael,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:15,0,GREETING:Hey;NAME:Michael -hello_world_GREETING.Hi.NAME.Dwight,74264,GREETING.Hi.NAME.Dwight,FINISHED,0d:00h:00m:01s,0d:00h:00m:01s,2021-05-07 17:11:15,2021-05-07 17:11:15,2021-05-07 17:11:16,0,GREETING:Hi;NAME:Dwight -bye_world_GREETING.Hello.NAME.Pam,74269,GREETING.Hello.NAME.Pam,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Hello;NAME:Pam -bye_world_GREETING.Ciao.NAME.Jim,74271,GREETING.Ciao.NAME.Jim,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Ciao;NAME:Jim -bye_world_GREETING.Hey.NAME.Michael,74272,GREETING.Hey.NAME.Michael,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Hey;NAME:Michael -bye_world_GREETING.Hi.NAME.Dwight,74273,GREETING.Hi.NAME.Dwight,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:17,2021-05-07 17:11:17,2021-05-07 17:11:17,0,GREETING:Hi;NAME:Dwight -bye_all,74274,bye_all,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-07 17:11:18,2021-05-07 17:11:18,2021-05-07 17:11:18,0, \ No newline at end of file +hello_world_GREETING.Hello.NAME.Pam,36260,hello_world/GREETING.Hello.NAME.Pam,FINISHED,0d:00h:00m:01s,0d:00h:00m:01s,2021-05-17 22:45:23,2021-05-17 22:45:23,2021-05-17 22:45:24,0,NAME:Pam;GREETING:Hello +hello_world_GREETING.Ciao.NAME.Jim,36264,hello_world/GREETING.Ciao.NAME.Jim,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:24,2021-05-17 22:45:24,2021-05-17 22:45:24,0,NAME:Jim;GREETING:Ciao +hello_world_GREETING.Hey.NAME.Michael,36265,hello_world/GREETING.Hey.NAME.Michael,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:24,2021-05-17 22:45:24,2021-05-17 22:45:24,0,NAME:Michael;GREETING:Hey +hello_world_GREETING.Hi.NAME.Dwight,36266,hello_world/GREETING.Hi.NAME.Dwight,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:24,2021-05-17 22:45:24,2021-05-17 22:45:24,0,NAME:Dwight;GREETING:Hi +bye_world_GREETING.Hello.NAME.Pam,36268,bye_world/GREETING.Hello.NAME.Pam,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:25,2021-05-17 22:45:25,2021-05-17 22:45:25,0,NAME:Pam;GREETING:Hello +bye_world_GREETING.Ciao.NAME.Jim,36269,bye_world/GREETING.Ciao.NAME.Jim,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:25,2021-05-17 22:45:25,2021-05-17 22:45:25,0,NAME:Jim;GREETING:Ciao +bye_world_GREETING.Hey.NAME.Michael,36270,bye_world/GREETING.Hey.NAME.Michael,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:25,2021-05-17 22:45:25,2021-05-17 22:45:25,0,NAME:Michael;GREETING:Hey +bye_world_GREETING.Hi.NAME.Dwight,36272,bye_world/GREETING.Hi.NAME.Dwight,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:25,2021-05-17 22:45:25,2021-05-17 22:45:25,0,NAME:Dwight;GREETING:Hi +bye_all,36276,bye_all,FINISHED,0d:00h:00m:00s,0d:00h:00m:00s,2021-05-17 22:45:26,2021-05-17 22:45:26,2021-05-17 22:45:26,0, \ No newline at end of file diff --git a/tests/status/test_status_data/hello_bye_world_flat_ref.txt b/tests/status/test_status_data/hello_bye_world_flat_ref.txt index bd757ff5e..562140d37 100644 --- a/tests/status/test_status_data/hello_bye_world_flat_ref.txt +++ b/tests/status/test_status_data/hello_bye_world_flat_ref.txt @@ -1,22 +1,22 @@ - Study: Test Study -┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ -┃ Step Name ┃ Job ID ┃ Workspace ┃ State ┃ Run Time ┃ Elapsed Time ┃ Start Time ┃ Submit Time ┃ End Time ┃ Number Restarts ┃ -┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ -│ hello_world_GREETING.Hello.NAM │ 74255 │ GREETING.Hello.NAME.Pam │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 0 │ -│ E.Pam │ │ │ │ │ │ │ │ │ │ -│ hello_world_GREETING.Ciao.NAME │ 74262 │ GREETING.Ciao.NAME.Jim │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 0 │ -│ .Jim │ │ │ │ │ │ │ │ │ │ -│ hello_world_GREETING.Hey.NAME. │ 74263 │ GREETING.Hey.NAME.Michael │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 0 │ -│ Michael │ │ │ │ │ │ │ │ │ │ -│ hello_world_GREETING.Hi.NAME.D │ 74264 │ GREETING.Hi.NAME.Dwight │ FINISHED │ 0d:00h:00m:01s │ 0d:00h:00m:01s │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:15 │ 2021-05-07 17:11:16 │ 0 │ -│ wight │ │ │ │ │ │ │ │ │ │ -│ bye_world_GREETING.Hello.NAME. │ 74269 │ GREETING.Hello.NAME.Pam │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ -│ Pam │ │ │ │ │ │ │ │ │ │ -│ bye_world_GREETING.Ciao.NAME.J │ 74271 │ GREETING.Ciao.NAME.Jim │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ -│ im │ │ │ │ │ │ │ │ │ │ -│ bye_world_GREETING.Hey.NAME.Mi │ 74272 │ GREETING.Hey.NAME.Michael │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ -│ chael │ │ │ │ │ │ │ │ │ │ -│ bye_world_GREETING.Hi.NAME.Dwi │ 74273 │ GREETING.Hi.NAME.Dwight │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 2021-05-07 17:11:17 │ 0 │ -│ ght │ │ │ │ │ │ │ │ │ │ -│ bye_all │ 74274 │ bye_all │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-07 17:11:18 │ 2021-05-07 17:11:18 │ 2021-05-07 17:11:18 │ 0 │ -└────────────────────────────────┴────────┴───────────────────────────┴──────────┴────────────────┴────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────┘ + Study: Test Study Flat +┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ +┃ Step Name ┃ Job ID ┃ Workspace ┃ State ┃ Run Time ┃ Elapsed Time ┃ Start Time ┃ Submit Time ┃ End Time ┃ Number Restarts ┃ +┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ +│ hello_world_GREETING.Hello. │ 36260 │ hello_world/GREETING.Hello.N │ FINISHED │ 0d:00h:00m:01s │ 0d:00h:00m:01s │ 2021-05-17 22:45:23 │ 2021-05-17 22:45:23 │ 2021-05-17 22:45:24 │ 0 │ +│ NAME.Pam │ │ AME.Pam │ │ │ │ │ │ │ │ +│ hello_world_GREETING.Ciao.N │ 36264 │ hello_world/GREETING.Ciao.NA │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:24 │ 2021-05-17 22:45:24 │ 2021-05-17 22:45:24 │ 0 │ +│ AME.Jim │ │ ME.Jim │ │ │ │ │ │ │ │ +│ hello_world_GREETING.Hey.NA │ 36265 │ hello_world/GREETING.Hey.NAM │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:24 │ 2021-05-17 22:45:24 │ 2021-05-17 22:45:24 │ 0 │ +│ ME.Michael │ │ E.Michael │ │ │ │ │ │ │ │ +│ hello_world_GREETING.Hi.NAM │ 36266 │ hello_world/GREETING.Hi.NAME │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:24 │ 2021-05-17 22:45:24 │ 2021-05-17 22:45:24 │ 0 │ +│ E.Dwight │ │ .Dwight │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Hello.NA │ 36268 │ bye_world/GREETING.Hello.NAM │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 0 │ +│ ME.Pam │ │ E.Pam │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Ciao.NAM │ 36269 │ bye_world/GREETING.Ciao.NAME │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 0 │ +│ E.Jim │ │ .Jim │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Hey.NAME │ 36270 │ bye_world/GREETING.Hey.NAME. │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 0 │ +│ .Michael │ │ Michael │ │ │ │ │ │ │ │ +│ bye_world_GREETING.Hi.NAME. │ 36272 │ bye_world/GREETING.Hi.NAME.D │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 2021-05-17 22:45:25 │ 0 │ +│ Dwight │ │ wight │ │ │ │ │ │ │ │ +│ bye_all │ 36276 │ bye_all │ FINISHED │ 0d:00h:00m:00s │ 0d:00h:00m:00s │ 2021-05-17 22:45:26 │ 2021-05-17 22:45:26 │ 2021-05-17 22:45:26 │ 0 │ +└─────────────────────────────┴────────┴──────────────────────────────┴──────────┴────────────────┴────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────┘ diff --git a/tests/status/test_status_data/hello_bye_world_narrow_ref.txt b/tests/status/test_status_data/hello_bye_world_narrow_ref.txt new file mode 100644 index 000000000..a7221703b --- /dev/null +++ b/tests/status/test_status_data/hello_bye_world_narrow_ref.txt @@ -0,0 +1,338 @@ + STUDY: Test Study Narrow + + STEP: hello_world_GREETING.Hello.NAME.Pam + WORKSPACE: hello_world/GREETING.Hello.NAME.Pam + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:23 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36260 Start Time 2021-05-17 22:45:23 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:01s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:01s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Pam GREETING Hello + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Hello.NAME.Pam + WORKSPACE: hello_world/GREETING.Hello.NAME.Pam + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:23 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36260 Start Time 2021-05-17 22:45:23 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:01s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:01s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Pam GREETING Hello + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Ciao.NAME.Jim + WORKSPACE: hello_world/GREETING.Ciao.NAME.Jim + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36264 Start Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ────────────────────────────── + NAME Jim GREETING Ciao + ────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Ciao.NAME.Jim + WORKSPACE: hello_world/GREETING.Ciao.NAME.Jim + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36264 Start Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ────────────────────────────── + NAME Jim GREETING Ciao + ────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Hey.NAME.Michael + WORKSPACE: hello_world/GREETING.Hey.NAME.Michael + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36265 Start Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ───────────────────────────────── + NAME Michael GREETING Hey + ───────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Hey.NAME.Michael + WORKSPACE: hello_world/GREETING.Hey.NAME.Michael + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36265 Start Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ───────────────────────────────── + NAME Michael GREETING Hey + ───────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Hi.NAME.Dwight + WORKSPACE: hello_world/GREETING.Hi.NAME.Dwight + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36266 Start Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Dwight GREETING Hi + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: hello_world_GREETING.Hi.NAME.Dwight + WORKSPACE: hello_world/GREETING.Hi.NAME.Dwight + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36266 Start Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Dwight GREETING Hi + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Hello.NAME.Pam + WORKSPACE: bye_world/GREETING.Hello.NAME.Pam + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36268 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Pam GREETING Hello + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Hello.NAME.Pam + WORKSPACE: bye_world/GREETING.Hello.NAME.Pam + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36268 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Pam GREETING Hello + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Ciao.NAME.Jim + WORKSPACE: bye_world/GREETING.Ciao.NAME.Jim + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36269 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ────────────────────────────── + NAME Jim GREETING Ciao + ────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Ciao.NAME.Jim + WORKSPACE: bye_world/GREETING.Ciao.NAME.Jim + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36269 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ────────────────────────────── + NAME Jim GREETING Ciao + ────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Hey.NAME.Michael + WORKSPACE: bye_world/GREETING.Hey.NAME.Michael + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36270 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ───────────────────────────────── + NAME Michael GREETING Hey + ───────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Hey.NAME.Michael + WORKSPACE: bye_world/GREETING.Hey.NAME.Michael + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36270 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ───────────────────────────────── + NAME Michael GREETING Hey + ───────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Hi.NAME.Dwight + WORKSPACE: bye_world/GREETING.Hi.NAME.Dwight + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36272 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Dwight GREETING Hi + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_world_GREETING.Hi.NAME.Dwight + WORKSPACE: bye_world/GREETING.Hi.NAME.Dwight + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36272 Start Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + Step Parameters + ─────────────────────────────── + NAME Dwight GREETING Hi + ─────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + STEP: bye_all + WORKSPACE: bye_all + + Step Details Scheduler Details + ─────────────────────────────── ─────────────────────────────────────── + State FINISHED Submit Time 2021-05-17 22:45:26 + ─────────────────────────────── ─────────────────────────────────────── + Job ID 36276 Start Time 2021-05-17 22:45:26 + ─────────────────────────────── ─────────────────────────────────────── + Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:26 + ─────────────────────────────── ─────────────────────────────────────── + Elapsed Time 0d:00h:00m:00s Number Restarts 0 + ─────────────────────────────── ─────────────────────────────────────── + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + From b9a8f699ffc1cd43198b7f9dc888303c6bacaa65 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Tue, 18 May 2021 09:53:56 -0700 Subject: [PATCH 29/45] Remove stray debug printing --- maestrowf/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 268840506..ee8e67755 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -136,7 +136,6 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): for nominal_col_num, col in enumerate(cols): if col in list(self._theme_dict.keys()): - print("Setting '{}' column to style '{}'".format(col, col)) col_style = col else: if nominal_col_num % 2 == 0: From 4e0fdffc08501f34fe261d8a0e2ee2c4a7b701e4 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Tue, 18 May 2021 11:27:52 -0700 Subject: [PATCH 30/45] Add help target and some documentation to the make file --- Makefile | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 503c4c02b..7a49fb88a 100644 --- a/Makefile +++ b/Makefile @@ -1,21 +1,31 @@ DOCS = docs EGG = $(wildcard *.egg-info) -.PHONY: cleanall clean cleandocs docs +.PHONY: cleanall clean cleandocs docs help release -all: cleanall release docs +# Use '#' comments to auto document each target in the help message +help: # Show this help message + @echo 'usage: make [target] ...' + @echo + @echo 'targets:' + @egrep '^(.+)\:\ #\ (.+)' ${MAKEFILE_LIST} | column -t -c 2 -s ':#' -release: +all: # Clean and then build everything + cleanall release docs + +release: # Build wheel python setup.py sdist bdist_wheel -docs: +docs: # Build documentation $(MAKE) -C $(DOCS) html -clean: +clean: # Clean up release (wheel) build areas rm -rf dist rm -rf build -cleandocs: +cleandocs: # Clean up docs build areas rm -rf $(DOCS)/build -cleanall: clean cleandocs +cleanall: # Clean every thing + clean + cleandocs From 162a431ffbd2aef288432c7f3dd572e9a770ee99 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Tue, 18 May 2021 11:28:34 -0700 Subject: [PATCH 31/45] Document layouts, add some test comments --- docs/source/quick_start.rst | 84 +++++++++++--------------------- tests/status/status_renderers.py | 7 +-- 2 files changed, 31 insertions(+), 60 deletions(-) diff --git a/docs/source/quick_start.rst b/docs/source/quick_start.rst index 8d5e5c19d..4fd3ab617 100644 --- a/docs/source/quick_start.rst +++ b/docs/source/quick_start.rst @@ -121,39 +121,17 @@ Maestro will launch a conductor in the background using ``nohup`` in order to mo Monitoring a Running Study *************************** -Once the conductor is spun up, you will be returned to the command line prompt. There should now be a ``.tests/lulesh`` directory within the root of the repository. This directory represents the executing study's workspace, or where Maestro will place this study's data, logs, and state. For a more in-depth description of the contents of a workspace see the documentation about :doc:`Study Workspaces <./maestro_core>`. +Once the conductor is spun up, you will be returned to the command line prompt. There should now be a ``./tests/lulesh`` directory within the root of the repository. This directory represents the executing study's workspace, or where Maestro will place this study's data, logs, and state. For a more in-depth description of the contents of a workspace see the documentation about :doc:`Study Workspaces <./maestro_core>`. In order to check the status of a running study, use the ``maestro status`` subcommand. The only required parameter to the status command is the path to the running study's workspace. In this case, to find the status of the running study (from the root of the repository) is:: $ maestro status ./tests/lulesh -The resulting output will look something like below:: - - Step Name Workspace State Run Time Elapsed Time Start Time Submit Time End Time Number Restarts - ---------------------------------- ------------------- ----------- -------------- -------------- -------------------------- -------------------------- -------------------------- ----------------- - run-lulesh_ITER.20.SIZE.20 ITER.20.SIZE.20 FINISHED 0:00:00.226297 0:00:00.226320 2018-08-07 12:54:23.233567 2018-08-07 12:54:23.233544 2018-08-07 12:54:23.459864 0 - post-process-lulesh post-process-lulesh INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.9 TRIAL.9 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.8 TRIAL.8 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-size_SIZE.10 SIZE.10 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.1 TRIAL.1 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.3 TRIAL.3 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.2 TRIAL.2 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.5 TRIAL.5 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.4 TRIAL.4 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.7 TRIAL.7 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - post-process-lulesh-trials_TRIAL.6 TRIAL.6 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - run-lulesh_ITER.30.SIZE.20 ITER.30.SIZE.20 FINISHED 0:00:00.543726 0:00:00.543743 2018-08-07 12:54:23.469009 2018-08-07 12:54:23.468992 2018-08-07 12:54:24.012735 0 - run-lulesh_ITER.10.SIZE.20 ITER.10.SIZE.20 FINISHED 0:00:00.148773 0:00:00.148794 2018-08-07 12:54:23.068119 2018-08-07 12:54:23.068098 2018-08-07 12:54:23.216892 0 - post-process-lulesh-size_SIZE.30 SIZE.30 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - run-lulesh_ITER.20.SIZE.30 ITER.20.SIZE.30 FINISHED 0:00:01.066736 0:00:01.066757 2018-08-07 12:54:24.892856 2018-08-07 12:54:24.892835 2018-08-07 12:54:25.959592 0 - run-lulesh_ITER.30.SIZE.10 ITER.30.SIZE.10 FINISHED 0:00:00.054475 0:00:00.054488 2018-08-07 12:54:23.005877 2018-08-07 12:54:23.005864 2018-08-07 12:54:23.060352 0 - make-lulesh make-lulesh FINISHED 0:00:05.416096 0:00:05.416109 2018-08-07 12:53:17.395362 2018-08-07 12:53:17.395349 2018-08-07 12:53:22.811458 0 - run-lulesh_ITER.10.SIZE.10 ITER.10.SIZE.10 FINISHED 0:00:00.043584 0:00:00.043610 2018-08-07 12:54:22.905328 2018-08-07 12:54:22.905302 2018-08-07 12:54:22.948912 0 - run-lulesh_ITER.20.SIZE.10 ITER.20.SIZE.10 FINISHED 0:00:00.035449 0:00:00.035463 2018-08-07 12:54:22.958755 2018-08-07 12:54:22.958741 2018-08-07 12:54:22.994204 0 - run-lulesh_ITER.10.SIZE.30 ITER.10.SIZE.30 FINISHED 0:00:00.812721 0:00:00.812764 2018-08-07 12:54:24.069466 2018-08-07 12:54:24.069423 2018-08-07 12:54:24.882187 0 - post-process-lulesh-size_SIZE.20 SIZE.20 INITIALIZED --:--:-- --:--:-- -- -- -- 0 - run-lulesh_ITER.30.SIZE.30 ITER.30.SIZE.30 FINISHED 0:00:01.376227 0:00:01.376240 2018-08-07 12:54:25.968730 2018-08-07 12:54:25.968717 2018-08-07 12:54:27.344957 0 +The resulting output will look something like below: + +.. image:: ./status_layouts/flat_layout_lulesh_in_progress.png + :width: 1735 + :alt: Flat layout view of status of an in progress study The general statuses that are usually encountered are: @@ -163,6 +141,7 @@ The general statuses that are usually encountered are: - ``FINISHED``: A step that has completed successfully. - ``FAILED``: A step that during execution encountered a non-zero error code. + Cancelling a Running Study *************************** @@ -172,30 +151,25 @@ Similar to checking the status of a running study, cancelling a study uses the ` .. note:: Cancelling a study is not instantaneous. The background conductor is a daemon which spins up periodically, so cancellation occurs the next time the conductor returns from sleeping and sees that a cancel has been triggered. -When a study is cancelled, the cancellation is reflected in the status when calling the ``maestro status`` command:: - - Step Name Workspace State Run Time Elapsed Time Start Time Submit Time End Time Number Restarts - ---------------------------------- ------------------- --------- -------------- -------------- -------------------------- -------------------------- -------------------------- ----------------- - run-lulesh_ITER.20.SIZE.20 ITER.20.SIZE.20 FINISHED 0:00:00.238367 0:00:00.238549 2018-08-07 17:24:04.178433 2018-08-07 17:24:04.178251 2018-08-07 17:24:04.416800 0 - post-process-lulesh post-process-lulesh CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.813454 0 - post-process-lulesh-trials_TRIAL.9 TRIAL.9 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.813207 0 - post-process-lulesh-trials_TRIAL.8 TRIAL.8 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812957 0 - post-process-lulesh-size_SIZE.10 SIZE.10 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.809833 0 - post-process-lulesh-trials_TRIAL.1 TRIAL.1 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.810962 0 - post-process-lulesh-trials_TRIAL.3 TRIAL.3 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.811659 0 - post-process-lulesh-trials_TRIAL.2 TRIAL.2 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.811368 0 - post-process-lulesh-trials_TRIAL.5 TRIAL.5 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812205 0 - post-process-lulesh-trials_TRIAL.4 TRIAL.4 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.811927 0 - post-process-lulesh-trials_TRIAL.7 TRIAL.7 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812708 0 - post-process-lulesh-trials_TRIAL.6 TRIAL.6 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812458 0 - run-lulesh_ITER.30.SIZE.20 ITER.30.SIZE.20 FINISHED 0:00:00.324670 0:00:00.324849 2018-08-07 17:24:04.425894 2018-08-07 17:24:04.425715 2018-08-07 17:24:04.750564 0 - run-lulesh_ITER.10.SIZE.20 ITER.10.SIZE.20 FINISHED 0:00:00.134795 0:00:00.135016 2018-08-07 17:24:04.032750 2018-08-07 17:24:04.032529 2018-08-07 17:24:04.167545 0 - post-process-lulesh-size_SIZE.30 SIZE.30 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.810583 0 - run-lulesh_ITER.20.SIZE.30 ITER.20.SIZE.30 FINISHED 0:00:00.678922 0:00:00.679114 2018-08-07 17:24:05.129377 2018-08-07 17:24:05.129185 2018-08-07 17:24:05.808299 0 - run-lulesh_ITER.30.SIZE.10 ITER.30.SIZE.10 FINISHED 0:00:00.048609 0:00:00.048803 2018-08-07 17:24:03.974073 2018-08-07 17:24:03.973879 2018-08-07 17:24:04.022682 0 - make-lulesh make-lulesh FINISHED 0:00:04.979883 0:00:04.980055 2018-08-07 17:22:58.735953 2018-08-07 17:22:58.735781 2018-08-07 17:23:03.715836 0 - run-lulesh_ITER.10.SIZE.10 ITER.10.SIZE.10 FINISHED 0:00:00.045598 0:00:00.045783 2018-08-07 17:24:03.853461 2018-08-07 17:24:03.853276 2018-08-07 17:24:03.899059 0 - run-lulesh_ITER.20.SIZE.10 ITER.20.SIZE.10 FINISHED 0:00:00.044422 0:00:00.044655 2018-08-07 17:24:03.912904 2018-08-07 17:24:03.912671 2018-08-07 17:24:03.957326 0 - run-lulesh_ITER.10.SIZE.30 ITER.10.SIZE.30 FINISHED 0:00:00.359750 0:00:00.359921 2018-08-07 17:24:04.760954 2018-08-07 17:24:04.760783 2018-08-07 17:24:05.120704 0 - post-process-lulesh-size_SIZE.20 SIZE.20 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.810216 0 - run-lulesh_ITER.30.SIZE.30 ITER.30.SIZE.30 FINISHED 0:00:00.915474 0:00:00.915682 2018-08-07 17:24:05.818191 2018-08-07 17:24:05.817983 2018-08-07 17:24:06.733665 0 +When a study is cancelled, the cancellation is reflected in the status when calling the ``maestro status`` command + +.. image:: ./status_layouts/flat_layout_lulesh_cancelled.png + :width: 1735 + :alt: Flat layout view of status of a cancelled study + + +Status Layouts +************** + +There are currently two layouts for viewing the status. The default `flat` layout shown above can be a little hard to read in narrow terminals or in studies with long step/parameter combo names. For this purpose a `narrow` layout has also been implemented, +compressing the width and making the status table taller. Additionally, the extra room allows the addition of per step tables of parameter names and values. To switch between these two simply use the `--layout` option with either `flat` or `narrow` as shown below:: + + $ maestro status ./tests/lulesh --layout narrow + + +A snippet of the narrow layout for the above study is shown below. These layouts are computed by status command, so can alternate between them in the same study without issue: + +.. image:: ./status_layouts/narrow_layout_lulesh_cancelled.png + :alt: Narrow layout view of status of an in progress study + +Note these layouts read some colors from your terminal theme, including the background color. The red for the state, yellow for jobid and the blue color on alternating columns are currently fixed. Snapshots reproduced using the encom theme for iTerm2. diff --git a/tests/status/status_renderers.py b/tests/status/status_renderers.py index a10475d2c..0d97cd46c 100644 --- a/tests/status/status_renderers.py +++ b/tests/status/status_renderers.py @@ -2,14 +2,9 @@ from maestrowf.utils import csvtable_to_dict from maestrowf import status_renderer_factory -# from pytest import raises - -# Reference data sets # Status csv loader -# @pytest.fixture(params=["hello_bye_all_parameterized.csv", -# "hello_bye_all_parameterized_old.csv"]) @pytest.fixture(params=["hello_bye_world.csv"]) def load_csv_status(status_csv_path, request): with open(status_csv_path(request.param), "r") as status_csv_file: @@ -20,6 +15,7 @@ def load_csv_status(status_csv_path, request): @pytest.fixture def expected_status(status_csv_path): + """Loads pre-rendered, uncolored status table layouts""" def load_expected_status(expected_status_file): with open(status_csv_path(expected_status_file), "r") as es_file: expected_status = es_file.readlines() @@ -45,6 +41,7 @@ def load_expected_status(expected_status_file): ) def test_status_layout(load_csv_status, expected_status, layout, title, expected): + """Captures status table to string without color codes for verification""" expected_status_output = expected_status(expected) status_renderer = status_renderer_factory.get_renderer(layout) status_renderer.layout(status_data=load_csv_status, From 29b528da5819f7c080cb3423f0f821f00be74063 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 19 May 2021 10:14:28 -0700 Subject: [PATCH 32/45] Rename status renderer test file so pytest can find it automatically --- tests/status/{status_renderers.py => test_status_renderers.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename tests/status/{status_renderers.py => test_status_renderers.py} (100%) diff --git a/tests/status/status_renderers.py b/tests/status/test_status_renderers.py similarity index 100% rename from tests/status/status_renderers.py rename to tests/status/test_status_renderers.py From b4c122a4b27b856f79f773e6b25aca12085668d6 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 19 May 2021 10:15:03 -0700 Subject: [PATCH 33/45] Fix bug causing duplicate entries in narrow layout --- maestrowf/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index ee8e67755..091ed60f8 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -308,7 +308,6 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): step_details.add_row(step_info, step_sched) step_table.add_row('', step_details) - self._status_table.add_row(step_table, end_section=True) # Add optional parameter table, if step has parameters if 'Params' not in self._status_data.keys(): @@ -348,7 +347,8 @@ def layout(self, status_data=None, study_title=None, filter_dict=None): style=row_style) step_table.add_row('', step_params) - self._status_table.add_row(step_table, end_section=True) + + self._status_table.add_row(step_table, end_section=True) def render(self, theme=None): """Do the actual printing""" From fabdeb177ab310d41f0cea1fd2c7ae667212851a Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 19 May 2021 10:17:14 -0700 Subject: [PATCH 34/45] Update narrow layout test baseline --- .../hello_bye_world_narrow_ref.txt | 160 ------------------ 1 file changed, 160 deletions(-) diff --git a/tests/status/test_status_data/hello_bye_world_narrow_ref.txt b/tests/status/test_status_data/hello_bye_world_narrow_ref.txt index a7221703b..59c779f15 100644 --- a/tests/status/test_status_data/hello_bye_world_narrow_ref.txt +++ b/tests/status/test_status_data/hello_bye_world_narrow_ref.txt @@ -18,46 +18,6 @@ NAME Pam GREETING Hello ─────────────────────────────── -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: hello_world_GREETING.Hello.NAME.Pam - WORKSPACE: hello_world/GREETING.Hello.NAME.Pam - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:23 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36260 Start Time 2021-05-17 22:45:23 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:01s End Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:01s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ─────────────────────────────── - NAME Pam GREETING Hello - ─────────────────────────────── - -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: hello_world_GREETING.Ciao.NAME.Jim - WORKSPACE: hello_world/GREETING.Ciao.NAME.Jim - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36264 Start Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ────────────────────────────── - NAME Jim GREETING Ciao - ────────────────────────────── - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STEP: hello_world_GREETING.Ciao.NAME.Jim @@ -98,46 +58,6 @@ NAME Michael GREETING Hey ───────────────────────────────── -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: hello_world_GREETING.Hey.NAME.Michael - WORKSPACE: hello_world/GREETING.Hey.NAME.Michael - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36265 Start Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ───────────────────────────────── - NAME Michael GREETING Hey - ───────────────────────────────── - -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: hello_world_GREETING.Hi.NAME.Dwight - WORKSPACE: hello_world/GREETING.Hi.NAME.Dwight - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36266 Start Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:24 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ─────────────────────────────── - NAME Dwight GREETING Hi - ─────────────────────────────── - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STEP: hello_world_GREETING.Hi.NAME.Dwight @@ -178,46 +98,6 @@ NAME Pam GREETING Hello ─────────────────────────────── -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: bye_world_GREETING.Hello.NAME.Pam - WORKSPACE: bye_world/GREETING.Hello.NAME.Pam - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36268 Start Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ─────────────────────────────── - NAME Pam GREETING Hello - ─────────────────────────────── - -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: bye_world_GREETING.Ciao.NAME.Jim - WORKSPACE: bye_world/GREETING.Ciao.NAME.Jim - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36269 Start Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ────────────────────────────── - NAME Jim GREETING Ciao - ────────────────────────────── - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STEP: bye_world_GREETING.Ciao.NAME.Jim @@ -258,46 +138,6 @@ NAME Michael GREETING Hey ───────────────────────────────── -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: bye_world_GREETING.Hey.NAME.Michael - WORKSPACE: bye_world/GREETING.Hey.NAME.Michael - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36270 Start Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ───────────────────────────────── - NAME Michael GREETING Hey - ───────────────────────────────── - -━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ - - STEP: bye_world_GREETING.Hi.NAME.Dwight - WORKSPACE: bye_world/GREETING.Hi.NAME.Dwight - - Step Details Scheduler Details - ─────────────────────────────── ─────────────────────────────────────── - State FINISHED Submit Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Job ID 36272 Start Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Run Time 0d:00h:00m:00s End Time 2021-05-17 22:45:25 - ─────────────────────────────── ─────────────────────────────────────── - Elapsed Time 0d:00h:00m:00s Number Restarts 0 - ─────────────────────────────── ─────────────────────────────────────── - Step Parameters - ─────────────────────────────── - NAME Dwight GREETING Hi - ─────────────────────────────── - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ STEP: bye_world_GREETING.Hi.NAME.Dwight From 1a3ed514636675470add0cbd37c3777c8a590d6b Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 19 May 2021 10:17:51 -0700 Subject: [PATCH 35/45] Add layout screenshots to docs --- .../flat_layout_lulesh_cancelled.png | Bin 0 -> 279586 bytes .../flat_layout_lulesh_in_progress.png | Bin 0 -> 260850 bytes .../narrow_layout_lulesh_cancelled.png | Bin 0 -> 141201 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/source/status_layouts/flat_layout_lulesh_cancelled.png create mode 100644 docs/source/status_layouts/flat_layout_lulesh_in_progress.png create mode 100644 docs/source/status_layouts/narrow_layout_lulesh_cancelled.png diff --git a/docs/source/status_layouts/flat_layout_lulesh_cancelled.png b/docs/source/status_layouts/flat_layout_lulesh_cancelled.png new file mode 100644 index 0000000000000000000000000000000000000000..0d5fbde4fc14754e20821c77239c68698926372d GIT binary patch literal 279586 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 z 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 G^nU<2KX%;! literal 0 HcmV?d00001 diff --git a/docs/source/status_layouts/flat_layout_lulesh_in_progress.png b/docs/source/status_layouts/flat_layout_lulesh_in_progress.png new file mode 100644 index 0000000000000000000000000000000000000000..8b9842eb031f453241e9bc2d4ad915aa9ec34319 GIT binary patch literal 260850 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 F^{tnsYEQI@p9X`ZqoSui^7bmS$~l= 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

xa7T^$0yDf{@^0n@~vYtd86)$IYJb<+L8f*yo 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

(@JvbCS5Tx#qX)o%`ek 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

-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%0A(da2{C4 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�$j*4H+M89C*5;)bU(6dhZIPT>vc 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⁣30$o7!N-EI0?;oHc z_1n`ue-2E|KZI}mH=+ehui*Ww73&lP`;q?JaDI5@8eSUx(NWxkH*v@U}eS$m({ z&#U()E=&@jEQei^tAS4lQqhxiedt*shoghB!WM|wY|Pe96O~eS9`~8+y+^Q1+$z}8 zqs%hopf=2fHQ{CQhy0zuD2;gcR3LAju{s)P15>V!8#MuAH`2FEoyr%;)Ba$@oc{RO!FjnL~5MJ-_;>0iM z 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 literal 0 HcmV?d00001 From 3e2cecbb96376a9005339f919aad3f62cbdd3af5 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 19 May 2021 11:14:50 -0700 Subject: [PATCH 36/45] Add legacy table format back to the status layout options --- maestrowf/__init__.py | 43 +++++++++++++++++++++++++++++++++++++++++++ maestrowf/maestro.py | 3 ++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 091ed60f8..4fc207da6 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -43,6 +43,8 @@ from rich.table import Table from rich.theme import Theme +import tabulate + try: # Python 2.7+ from logging import NullHandler except ImportError: @@ -93,6 +95,46 @@ def render(self, theme=None): pass +class LegacyStatusRenderer(BaseStatusRenderer): + """Legacy tabulate based flat table layout""" + def __init__(self, *args, **kwargs): + super(LegacyStatusRenderer, self).__init__(*args, **kwargs) + + def layout(self, status_data=None, study_title=None, filter_dict=None): + + """Construct the status table""" + if status_data: + # Exclude the parameter column + self._status_data = {key: value + for key, value in status_data.items() + if key != "Params"} + else: + raise ValueError("Status data required to layout a table") + + # Get the data, and compute header format length + table_str = tabulate.tabulate(self._status_data, headers="keys") + header_chars = max([len(line) for line in table_str.split("\n")]) + header_format = "".ljust(header_chars, "=") + + self._status_table = "" + self._status_table += header_format + "\n" + self._status_table += study_title + "\n" + self._status_table += header_format + "\n" + + self._status_table += table_str + "\n" + + self._status_table += header_format + "\n" + + def render(self, theme=None): + """Do the actual printing""" + print(self._status_table) + + def render_to_str(self, theme=None, width=200): + """Capture output to string""" + + return self._status_table + + class FlatStatusRenderer(BaseStatusRenderer): """Flat, simple table layout""" def __init__(self, *args, **kwargs): @@ -386,3 +428,4 @@ def render_to_str(self, theme=None, width=120): status_renderer_factory = StatusRendererFactory() status_renderer_factory.register_layout('flat', FlatStatusRenderer) status_renderer_factory.register_layout('narrow', NarrowStatusRenderer) +status_renderer_factory.register_layout('legacy', LegacyStatusRenderer) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 1cb67baed..69e83047d 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -76,6 +76,7 @@ def status_study(args): if status: try: + # Wasteful to not reuse this renderer for all paths? status_renderer = status_renderer_factory.get_renderer( status_layout) @@ -445,7 +446,7 @@ def setup_argparser(): "directory", type=str, nargs="+", help="Directory containing a launched study.") status.add_argument( - "--layout", type=str, choices=['flat', 'narrow'], + "--layout", type=str, choices=['flat', 'narrow', 'legacy'], default='flat', help="Alternate status table layouts. [Default: %(default)s]") status.set_defaults(func=status_study) From 6ee2d19de219156a781aed36152718b7c9758578 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Thu, 20 May 2021 23:43:27 -0700 Subject: [PATCH 37/45] Convert base renderer to abstract, implement auto registration and auto layout cli choice list --- maestrowf/__init__.py | 82 +++++++++++++++++++++++++++++++------------ maestrowf/maestro.py | 2 +- 2 files changed, 61 insertions(+), 23 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 4fc207da6..9892815a8 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -34,15 +34,20 @@ Environment, Parameter generation, etc.). This module also includes interface abstracts, base class abstracts, and general utilities. """ +from abc import ABCMeta, abstractmethod +import inspect from io import StringIO import logging +import sys from rich import box from rich.console import Console from rich.table import Table from rich.theme import Theme +import six + import tabulate try: # Python 2.7+ @@ -62,25 +67,7 @@ def emit(self, record): __version__ = '.'.join(__version_info__) -# Register status layout types -class StatusRendererFactory: - """Factory for setting up alternate console status rendering formats""" - def __init__(self): - self._layouts = {} - - def register_layout(self, layout, renderer): - self._layouts[layout] = renderer - - def get_renderer(self, layout): - renderer = self._layouts.get(layout) - - # Note, need to wrap renderer in try/catch too, or return default val? - if not renderer: - raise ValueError(layout) - - return renderer() - - +@six.add_metaclass(ABCMeta) class BaseStatusRenderer: def __init__(self, *args, **kwargs): self._status_data = {} @@ -88,15 +75,20 @@ def __init__(self, *args, **kwargs): self._study_title = '' self._theme_dict = {} + @abstractmethod def layout(self, table_data=None, study_title=None, data_filters=None): pass + @abstractmethod def render(self, theme=None): pass class LegacyStatusRenderer(BaseStatusRenderer): """Legacy tabulate based flat table layout""" + + layout_type = "legacy" # Defines name in factory/cli + def __init__(self, *args, **kwargs): super(LegacyStatusRenderer, self).__init__(*args, **kwargs) @@ -137,6 +129,9 @@ def render_to_str(self, theme=None, width=200): class FlatStatusRenderer(BaseStatusRenderer): """Flat, simple table layout""" + + layout_type = "flat" # Defines name in factory/cli + def __init__(self, *args, **kwargs): super(FlatStatusRenderer, self).__init__(*args, **kwargs) @@ -237,6 +232,10 @@ def render_to_str(self, theme=None, width=200): class NarrowStatusRenderer(BaseStatusRenderer): + """Narrow terminal layout with parameter info""" + + layout_type = "narrow" # Defines name in factory/cli + def __init__(self, *args, **kwargs): super(NarrowStatusRenderer, self).__init__(*args, **kwargs) @@ -424,8 +423,47 @@ def render_to_str(self, theme=None, width=120): return _printer.file.getvalue() +def iter_status_renderers(): + """Gets all concrete StatusRenderer implementations in this module""" + def member_is_renderer(member): + """Helper to test if member is a renderer subclass""" + return (inspect.isclass(member) and member.__module__ == __name__ + and issubclass(member, BaseStatusRenderer) + and not inspect.isabstract(member)) + + for member in inspect.getmembers(sys.modules[__name__], + member_is_renderer): + yield member + + +# Register status layout types +class StatusRendererFactory: + """Factory for setting up alternate console status rendering formats""" + def __init__(self): + self._layouts = {} + + # Auto-registration of implemented renderers + for layout, renderer in iter_status_renderers(): + self.register_layout(renderer.layout_type, renderer) + + def register_layout(self, layout, renderer): + """Register handle to layout renderer classes""" + self._layouts[layout] = renderer + + def get_renderer(self, layout): + """Get handle for specific layout renderer to instantiate""" + renderer = self._layouts.get(layout) + + # Note, need to wrap renderer in try/catch too, or return default val? + if not renderer: + raise ValueError(layout) + + return renderer() + + def get_layouts(self): + """Get list of registered layouts""" + return self._layouts.keys() + + # Register renderers status_renderer_factory = StatusRendererFactory() -status_renderer_factory.register_layout('flat', FlatStatusRenderer) -status_renderer_factory.register_layout('narrow', NarrowStatusRenderer) -status_renderer_factory.register_layout('legacy', LegacyStatusRenderer) diff --git a/maestrowf/maestro.py b/maestrowf/maestro.py index 69e83047d..2bf0358fa 100644 --- a/maestrowf/maestro.py +++ b/maestrowf/maestro.py @@ -446,7 +446,7 @@ def setup_argparser(): "directory", type=str, nargs="+", help="Directory containing a launched study.") status.add_argument( - "--layout", type=str, choices=['flat', 'narrow', 'legacy'], + "--layout", type=str, choices=status_renderer_factory.get_layouts(), default='flat', help="Alternate status table layouts. [Default: %(default)s]") status.set_defaults(func=status_study) From 9c97ce5d9f46e47cee82d95cd3e38dbe7fcc7a80 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Sun, 23 May 2021 22:29:17 -0700 Subject: [PATCH 38/45] Add some proper google style doc strings to render factory --- maestrowf/__init__.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 9892815a8..f56ed977c 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -424,7 +424,12 @@ def render_to_str(self, theme=None, width=120): def iter_status_renderers(): - """Gets all concrete StatusRenderer implementations in this module""" + """Finds all concrete StatusRenderer implementations in this module + + Yields: + list of (name, class) pairs for all concrete implementations of + BaseStatusRenderer's in the current module + """ def member_is_renderer(member): """Helper to test if member is a renderer subclass""" return (inspect.isclass(member) and member.__module__ == __name__ @@ -442,16 +447,29 @@ class StatusRendererFactory: def __init__(self): self._layouts = {} - # Auto-registration of implemented renderers + # Auto-registration of implemented renderers in this module for layout, renderer in iter_status_renderers(): self.register_layout(renderer.layout_type, renderer) def register_layout(self, layout, renderer): - """Register handle to layout renderer classes""" + """Register layout renderer classes + + Args: + layout (str): Name of layout to use as key/cli arg + renderer (BaseStatusRenderer): Any class that is a concrete + implementation of BaseStatusRenderer api + """ self._layouts[layout] = renderer def get_renderer(self, layout): - """Get handle for specific layout renderer to instantiate""" + """Get handle for specific layout renderer to instantiate + + Args: + layout (str): Name of layout renderer + + Returns: + BaseStatusRenderer: The concrete status renderer class + """ renderer = self._layouts.get(layout) # Note, need to wrap renderer in try/catch too, or return default val? @@ -461,7 +479,11 @@ def get_renderer(self, layout): return renderer() def get_layouts(self): - """Get list of registered layouts""" + """Get list of registered layouts + + Returns: + list of str: registered status renderer layouts + """ return self._layouts.keys() From 841d1ff0c02d20b517fd8181a62d68ba7f45f1b8 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Sun, 23 May 2021 22:36:13 -0700 Subject: [PATCH 39/45] Docstring, arg defaults change for narrow renderer --- maestrowf/__init__.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index f56ed977c..5048ed42e 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -249,9 +249,20 @@ def __init__(self, *args, **kwargs): "background": "grey7" } - def layout(self, status_data=None, study_title=None, filter_dict=None): + def layout(self, status_data, study_title=None, filter_dict=None): + """Setup concrete status layout - if status_data: + Lays out the table data in a formatted string, storing it + in renderer's `_status_table` attribute. + + Args: + status_data (dict): study status dict, one column per key + study_title (str): optional title of this study + filter_dict (dict): optional data filter (not yet implemented) + """ + + # Ensure status data is of type dict and is not empty + if isinstance(status_data, dict) and status_data: self._status_data = status_data else: raise ValueError("Status data required to layout a table") From f873ebde05ad871710f990188f962120850f2135 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Sun, 23 May 2021 22:43:44 -0700 Subject: [PATCH 40/45] Sync up layout methods and doc strings of status renderers --- maestrowf/__init__.py | 47 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 40 insertions(+), 7 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 5048ed42e..8097e7ed6 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -76,7 +76,17 @@ def __init__(self, *args, **kwargs): self._theme_dict = {} @abstractmethod - def layout(self, table_data=None, study_title=None, data_filters=None): + def layout(self, status_data, study_title=None, data_filters=None): + """Setup concrete status layout + + Lays out the table data in a formatted string, storing it + in renderer's `_status_table` attribute. + + Args: + status_data (dict): study status dict, one column per key + study_title (str): optional title of this study + filter_dict (dict): optional data filter (not yet implemented) + """ pass @abstractmethod @@ -92,10 +102,20 @@ class LegacyStatusRenderer(BaseStatusRenderer): def __init__(self, *args, **kwargs): super(LegacyStatusRenderer, self).__init__(*args, **kwargs) - def layout(self, status_data=None, study_title=None, filter_dict=None): + def layout(self, status_data, study_title=None, filter_dict=None): + """Setup concrete status layout + + Lays out the table data in a formatted string, storing it + in renderer's `_status_table` attribute. + + Args: + status_data (dict): study status dict, one column per key + study_title (str): optional title of this study + filter_dict (dict): optional data filter (not yet implemented) + """ - """Construct the status table""" - if status_data: + # Ensure status data is of type dict and isn't empty + if isinstance(status_data, dict) and status_data: # Exclude the parameter column self._status_data = {key: value for key, value in status_data.items() @@ -149,13 +169,26 @@ def __init__(self, *args, **kwargs): "color": "" } - def layout(self, status_data=None, study_title=None, filter_dict=None): - """Construct the Rich Table object""" - if status_data: + def layout(self, status_data, study_title=None, filter_dict=None): + """Setup concrete status layout + + Lays out the table data in a formatted string, storing it + in renderer's `_status_table` attribute. + + Args: + status_data (dict): study status dict, one column per key + study_title (str): optional title of this study + filter_dict (dict): optional data filter (not yet implemented) + """ + + # Ensure status data is of type dict and isn't empty + if isinstance(status_data, dict) and status_data: self._status_data = status_data else: raise ValueError("Status data required to layout a table") + """Construct the Rich Table object""" + self._status_table = Table() if study_title: self._status_table.title = "Study: {}".format(study_title) From 9c76ffc3449de3c32beef5bf051c2ce0d0a02909 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Tue, 1 Jun 2021 23:45:47 -0700 Subject: [PATCH 41/45] Fix up docstrings on params for StepRecords --- maestrowf/datastructures/core/executiongraph.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/maestrowf/datastructures/core/executiongraph.py b/maestrowf/datastructures/core/executiongraph.py index ea019d961..40b0a7ab0 100644 --- a/maestrowf/datastructures/core/executiongraph.py +++ b/maestrowf/datastructures/core/executiongraph.py @@ -69,7 +69,11 @@ def __init__(self, workspace, step, **kwargs): self._params = None def add_params(self, params): - """Attaches param names/values used in this step""" + """ + Attaches param names/values used in this step + + :param params: Iterable of tuples of param names, values + """ self._params = {param: value for param, value in params} @property @@ -400,6 +404,7 @@ def add_step(self, name, step, workspace, restart_limit, params=None): :param step: StudyStep instance to be recorded. :param workspace: Directory path for the step's working directory. :param restart_limit: Upper limit on the number of restart attempts. + :param params: Iterable of tuples of step parameter names, values """ data = { "step": step, From a6835406d97ea6c289ba75f8f8059d724372ff42 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Tue, 1 Jun 2021 23:46:58 -0700 Subject: [PATCH 42/45] Fix incorrect return type documentation --- maestrowf/datastructures/core/parameters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maestrowf/datastructures/core/parameters.py b/maestrowf/datastructures/core/parameters.py index bf8404029..24b2642ee 100644 --- a/maestrowf/datastructures/core/parameters.py +++ b/maestrowf/datastructures/core/parameters.py @@ -164,7 +164,7 @@ def get_param_values(self, params): Get the values for the specified parameters. :param params: A set of parameters to be used in the string. - :returns: A string containing the labels for the parameters in params. + :yields: Tuples of param names and values. """ for key in params: var = "{}({})".format(self._token, key) From 1cbc9a196f902a8dfead0fe8f279727a4d267150 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Fri, 4 Jun 2021 21:42:26 -0700 Subject: [PATCH 43/45] Bug fixes/style tweaks on narrow status layout --- maestrowf/__init__.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 8097e7ed6..6ab4de4ea 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -341,7 +341,7 @@ def layout(self, status_data, study_title=None, filter_dict=None): ) # Dummy columns step_table.add_column("key") - step_table.add_column("val") + step_table.add_column("val", overflow='fold') # Top level contains step name and workspace name, full table width step_table.add_row("STEP:", @@ -413,10 +413,10 @@ def layout(self, status_data, study_title=None, filter_dict=None): # Note col names don't actually matter, just setting styles step_params.add_column("name", style="") - step_params.add_column("val", style="blue") + step_params.add_column("val", style="blue", justify="right") step_params.add_column("name2", style="") - step_params.add_column("val2", style="blue") - + step_params.add_column("val2", style="blue", justify="right") + print("Param list: {}".format(param_list)) param_idx = 0 for param_row in range(num_param_rows): this_row = [] @@ -426,8 +426,9 @@ def layout(self, status_data, study_title=None, filter_dict=None): else: this_row.extend(["", ""]) - param_idx+2 + param_idx += 2 + print("adding row: {}".format(this_row)) step_params.add_row(*this_row, style=row_style) From 6075067061035aa00fc64c8a005a8cc45d39fbd6 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Sat, 5 Jun 2021 12:22:12 -0700 Subject: [PATCH 44/45] Remove debug output --- maestrowf/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/maestrowf/__init__.py b/maestrowf/__init__.py index 6ab4de4ea..6f99a6b6a 100644 --- a/maestrowf/__init__.py +++ b/maestrowf/__init__.py @@ -416,7 +416,7 @@ def layout(self, status_data, study_title=None, filter_dict=None): step_params.add_column("val", style="blue", justify="right") step_params.add_column("name2", style="") step_params.add_column("val2", style="blue", justify="right") - print("Param list: {}".format(param_list)) + param_idx = 0 for param_row in range(num_param_rows): this_row = [] @@ -428,7 +428,6 @@ def layout(self, status_data, study_title=None, filter_dict=None): param_idx += 2 - print("adding row: {}".format(this_row)) step_params.add_row(*this_row, style=row_style) From 8720d3d499365e442b81861b700b7b61b0c0f972 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Sat, 5 Jun 2021 15:14:05 -0700 Subject: [PATCH 45/45] Add documentation for legacy status layout --- docs/source/quick_start.rst | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/docs/source/quick_start.rst b/docs/source/quick_start.rst index 4fd3ab617..956c44af4 100644 --- a/docs/source/quick_start.rst +++ b/docs/source/quick_start.rst @@ -161,7 +161,7 @@ When a study is cancelled, the cancellation is reflected in the status when call Status Layouts ************** -There are currently two layouts for viewing the status. The default `flat` layout shown above can be a little hard to read in narrow terminals or in studies with long step/parameter combo names. For this purpose a `narrow` layout has also been implemented, +There are currently three layouts for viewing the status. The default `flat` layout shown above can be a little hard to read in narrow terminals or in studies with long step/parameter combo names. For this purpose a `narrow` layout has also been implemented, compressing the width and making the status table taller. Additionally, the extra room allows the addition of per step tables of parameter names and values. To switch between these two simply use the `--layout` option with either `flat` or `narrow` as shown below:: $ maestro status ./tests/lulesh --layout narrow @@ -173,3 +173,31 @@ A snippet of the narrow layout for the above study is shown below. These layout :alt: Narrow layout view of status of an in progress study Note these layouts read some colors from your terminal theme, including the background color. The red for the state, yellow for jobid and the blue color on alternating columns are currently fixed. Snapshots reproduced using the encom theme for iTerm2. + +Finally, the original status layout is still available via the `legacy` option. Note that this renderer can be difficult to read in narrow terminals and with studies having many parameters due to the lack of wrapping in columns. An example from lulesh is shown below:: + + Step Name Workspace State Run Time Elapsed Time Start Time Submit Time End Time Number Restarts + ---------------------------------- ------------------- --------- -------------- -------------- -------------------------- -------------------------- -------------------------- ----------------- + run-lulesh_ITER.20.SIZE.20 ITER.20.SIZE.20 FINISHED 0:00:00.238367 0:00:00.238549 2018-08-07 17:24:04.178433 2018-08-07 17:24:04.178251 2018-08-07 17:24:04.416800 0 + post-process-lulesh post-process-lulesh CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.813454 0 + post-process-lulesh-trials_TRIAL.9 TRIAL.9 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.813207 0 + post-process-lulesh-trials_TRIAL.8 TRIAL.8 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812957 0 + post-process-lulesh-size_SIZE.10 SIZE.10 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.809833 0 + post-process-lulesh-trials_TRIAL.1 TRIAL.1 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.810962 0 + post-process-lulesh-trials_TRIAL.3 TRIAL.3 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.811659 0 + post-process-lulesh-trials_TRIAL.2 TRIAL.2 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.811368 0 + post-process-lulesh-trials_TRIAL.5 TRIAL.5 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812205 0 + post-process-lulesh-trials_TRIAL.4 TRIAL.4 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.811927 0 + post-process-lulesh-trials_TRIAL.7 TRIAL.7 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812708 0 + post-process-lulesh-trials_TRIAL.6 TRIAL.6 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.812458 0 + run-lulesh_ITER.30.SIZE.20 ITER.30.SIZE.20 FINISHED 0:00:00.324670 0:00:00.324849 2018-08-07 17:24:04.425894 2018-08-07 17:24:04.425715 2018-08-07 17:24:04.750564 0 + run-lulesh_ITER.10.SIZE.20 ITER.10.SIZE.20 FINISHED 0:00:00.134795 0:00:00.135016 2018-08-07 17:24:04.032750 2018-08-07 17:24:04.032529 2018-08-07 17:24:04.167545 0 + post-process-lulesh-size_SIZE.30 SIZE.30 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.810583 0 + run-lulesh_ITER.20.SIZE.30 ITER.20.SIZE.30 FINISHED 0:00:00.678922 0:00:00.679114 2018-08-07 17:24:05.129377 2018-08-07 17:24:05.129185 2018-08-07 17:24:05.808299 0 + run-lulesh_ITER.30.SIZE.10 ITER.30.SIZE.10 FINISHED 0:00:00.048609 0:00:00.048803 2018-08-07 17:24:03.974073 2018-08-07 17:24:03.973879 2018-08-07 17:24:04.022682 0 + make-lulesh make-lulesh FINISHED 0:00:04.979883 0:00:04.980055 2018-08-07 17:22:58.735953 2018-08-07 17:22:58.735781 2018-08-07 17:23:03.715836 0 + run-lulesh_ITER.10.SIZE.10 ITER.10.SIZE.10 FINISHED 0:00:00.045598 0:00:00.045783 2018-08-07 17:24:03.853461 2018-08-07 17:24:03.853276 2018-08-07 17:24:03.899059 0 + run-lulesh_ITER.20.SIZE.10 ITER.20.SIZE.10 FINISHED 0:00:00.044422 0:00:00.044655 2018-08-07 17:24:03.912904 2018-08-07 17:24:03.912671 2018-08-07 17:24:03.957326 0 + run-lulesh_ITER.10.SIZE.30 ITER.10.SIZE.30 FINISHED 0:00:00.359750 0:00:00.359921 2018-08-07 17:24:04.760954 2018-08-07 17:24:04.760783 2018-08-07 17:24:05.120704 0 + post-process-lulesh-size_SIZE.20 SIZE.20 CANCELLED --:--:-- --:--:-- -- -- 2018-08-07 17:25:06.810216 0 + run-lulesh_ITER.30.SIZE.30 ITER.30.SIZE.30 FINISHED 0:00:00.915474 0:00:00.915682 2018-08-07 17:24:05.818191 2018-08-07 17:24:05.817983 2018-08-07 17:24:06.733665 0