From 78b0e5719412a1149a1fa0fddf06ec45e93e18f6 Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Mon, 25 Jan 2021 13:43:04 +0000 Subject: [PATCH 01/18] initial version return --- validphys2/src/validphys/fitdata.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 309d088b60..1d044f7dff 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -7,6 +7,7 @@ from collections import namedtuple, OrderedDict, defaultdict from io import StringIO import pathlib +from functools import reduce import numpy as np import pandas as pd @@ -25,7 +26,7 @@ #TODO: Add more stuff here as needed for postfit LITERAL_FILES = ['chi2exps.log'] -REPLICA_FILES = ['.dat', '.fitinfo', '.params', '.preproc', '.sumrules'] +REPLICA_FILES = ['.dat', '.fitinfo', '.params', '.preproc', '.sumrules', '.info'] #t = blessings.Terminal() log = logging.getLogger(__name__) @@ -434,3 +435,19 @@ def print_systype_overlap(groups_commondata, group_dataset_inputs_by_metadata): return groups_overlap, systype_overlap else: return "No overlap of systypes" + +def fit_code_version(fit,replica_paths): + """ + Returns text with the code version from fit replica + 'replica_n/version.info' files. + Old fits return 'undefined'. + """ + version_info = [] + for path in replica_paths: + p = path / ('version.info') + with open(p, 'r') as stream: + rep_version = json.load(stream) + version_info.append(rep_version) + versionset = (set(x.items()) for x in version_info) + reducedset = reduce(set.intersection, versionset) + return reducedset \ No newline at end of file From 46caf227cca5e6cdde08929cbbd84257ed15d71f Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Mon, 25 Jan 2021 14:47:14 +0000 Subject: [PATCH 02/18] returning table --- validphys2/src/validphys/fitdata.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 1d044f7dff..8bc11d748c 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -436,9 +436,10 @@ def print_systype_overlap(groups_commondata, group_dataset_inputs_by_metadata): else: return "No overlap of systypes" +@table def fit_code_version(fit,replica_paths): """ - Returns text with the code version from fit replica + Returns table with the code version from 'replica_n/version.info' files. Old fits return 'undefined'. """ @@ -450,4 +451,8 @@ def fit_code_version(fit,replica_paths): version_info.append(rep_version) versionset = (set(x.items()) for x in version_info) reducedset = reduce(set.intersection, versionset) - return reducedset \ No newline at end of file + df = pd.DataFrame(reducedset, columns = ["name", "version"]) + return df + + + From f8421a702866371cf29d0359ee61d7097f8a07cf Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Mon, 25 Jan 2021 15:08:03 +0000 Subject: [PATCH 03/18] check that version.info files exist --- validphys2/src/validphys/fitdata.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 8bc11d748c..4bcc7b4cb5 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -444,15 +444,23 @@ def fit_code_version(fit,replica_paths): Old fits return 'undefined'. """ version_info = [] - for path in replica_paths: - p = path / ('version.info') - with open(p, 'r') as stream: - rep_version = json.load(stream) - version_info.append(rep_version) - versionset = (set(x.items()) for x in version_info) - reducedset = reduce(set.intersection, versionset) - df = pd.DataFrame(reducedset, columns = ["name", "version"]) - return df + # First check if first replica has 'version.info' + p_1 = replica_paths[0] / ('version.info') + if not p_1.is_file(): + undef_tuple = [("undefined", "undefined")] + # Return df with "undefined" in name, version locations + vinfo = pd.DataFrame(undef_tuple, columns = ["name", "version"]) + # Otherwise look at 'version.info' files + else: + for path in replica_paths: + p = path / ('version.info') + with open(p, 'r') as stream: + rep_version = json.load(stream) + version_info.append(rep_version) + versionset = (set(x.items()) for x in version_info) + reducedset = reduce(set.intersection, versionset) + vinfo = pd.DataFrame(reducedset, columns = ["name", "version"]) + return vinfo From 013a3566b7bdd970a30ddc6fe1da607eb5e3d6cb Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Mon, 25 Jan 2021 15:26:50 +0000 Subject: [PATCH 04/18] asserting version info matches --- validphys2/src/validphys/fitdata.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 4bcc7b4cb5..fe2a885019 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -458,8 +458,11 @@ def fit_code_version(fit,replica_paths): rep_version = json.load(stream) version_info.append(rep_version) versionset = (set(x.items()) for x in version_info) - reducedset = reduce(set.intersection, versionset) + reducedset = reduce(set.union, versionset) vinfo = pd.DataFrame(reducedset, columns = ["name", "version"]) + # Check for conflicting versions + version_names = list(vinfo["name"]) + assert (len(version_names) == len(set(version_names))), "Version information does not match for all replicas." return vinfo From 62e908d61e9a00feac6a77170f29828d5dac4b40 Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Mon, 25 Jan 2021 15:27:57 +0000 Subject: [PATCH 05/18] use exists rather than is_file --- validphys2/src/validphys/fitdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index fe2a885019..dcb49f6552 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -446,7 +446,7 @@ def fit_code_version(fit,replica_paths): version_info = [] # First check if first replica has 'version.info' p_1 = replica_paths[0] / ('version.info') - if not p_1.is_file(): + if not p_1.exists(): undef_tuple = [("undefined", "undefined")] # Return df with "undefined" in name, version locations vinfo = pd.DataFrame(undef_tuple, columns = ["name", "version"]) From d55d0220d870cb12fee202f7a73d4bcf9a0aa8fe Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Tue, 26 Jan 2021 09:51:03 +0000 Subject: [PATCH 06/18] use json rather than version.info files --- validphys2/src/validphys/fitdata.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index dcb49f6552..60fef70a16 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -26,7 +26,7 @@ #TODO: Add more stuff here as needed for postfit LITERAL_FILES = ['chi2exps.log'] -REPLICA_FILES = ['.dat', '.fitinfo', '.params', '.preproc', '.sumrules', '.info'] +REPLICA_FILES = ['.dat', '.fitinfo', '.params', '.preproc', '.sumrules', '.json'] #t = blessings.Terminal() log = logging.getLogger(__name__) @@ -440,22 +440,24 @@ def print_systype_overlap(groups_commondata, group_dataset_inputs_by_metadata): def fit_code_version(fit,replica_paths): """ Returns table with the code version from - 'replica_n/version.info' files. + 'replica_{repno}/{fitname}.json' files. Old fits return 'undefined'. """ version_info = [] - # First check if first replica has 'version.info' - p_1 = replica_paths[0] / ('version.info') + # First check if first replica has .json file + p_1 = replica_paths[0] / (f'{fit.name}.json') if not p_1.exists(): undef_tuple = [("undefined", "undefined")] # Return df with "undefined" in name, version locations vinfo = pd.DataFrame(undef_tuple, columns = ["name", "version"]) - # Otherwise look at 'version.info' files + # Otherwise look at .json files else: for path in replica_paths: - p = path / ('version.info') + p = path / (f'{fit.name}.json') with open(p, 'r') as stream: - rep_version = json.load(stream) + json_info = json.load(stream) + # Taking veresion info from .json + rep_version = json_info["version"] version_info.append(rep_version) versionset = (set(x.items()) for x in version_info) reducedset = reduce(set.union, versionset) From 675f9a9f659590bf82969413918f3ecb60b7f539 Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Tue, 26 Jan 2021 12:02:59 +0000 Subject: [PATCH 07/18] adding to vp report --- validphys2/src/validphys/comparefittemplates/report.md | 5 +++++ validphys2/src/validphys/fitdata.py | 3 +++ 2 files changed, 8 insertions(+) diff --git a/validphys2/src/validphys/comparefittemplates/report.md b/validphys2/src/validphys/comparefittemplates/report.md index 63a3ef38ec..8caa2b8203 100644 --- a/validphys2/src/validphys/comparefittemplates/report.md +++ b/validphys2/src/validphys/comparefittemplates/report.md @@ -11,6 +11,11 @@ We are comparing: {@ summarise_fits @} +Fit code versions +----------------- + +{@fits_fit_code_version@} + Theory Covariance Summary ------------------------- {@summarise_theory_covmat_fits@} diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 60fef70a16..693675c922 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -450,6 +450,7 @@ def fit_code_version(fit,replica_paths): undef_tuple = [("undefined", "undefined")] # Return df with "undefined" in name, version locations vinfo = pd.DataFrame(undef_tuple, columns = ["name", "version"]) + vinfo.index.name = f"{fit.name}" # Otherwise look at .json files else: for path in replica_paths: @@ -462,10 +463,12 @@ def fit_code_version(fit,replica_paths): versionset = (set(x.items()) for x in version_info) reducedset = reduce(set.union, versionset) vinfo = pd.DataFrame(reducedset, columns = ["name", "version"]) + vinfo.index.name = f"{fit.name}" # Check for conflicting versions version_names = list(vinfo["name"]) assert (len(version_names) == len(set(version_names))), "Version information does not match for all replicas." return vinfo +fits_fit_code_version = collect("fit_code_version", ("fits", "fitcontext",)) From 0676b0079ff61cfff5d906a674248d972af18b2e Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Tue, 26 Jan 2021 14:52:06 +0000 Subject: [PATCH 08/18] moving location in vp report --- validphys2/src/validphys/comparefittemplates/report.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/validphys2/src/validphys/comparefittemplates/report.md b/validphys2/src/validphys/comparefittemplates/report.md index 8caa2b8203..9c358812c3 100644 --- a/validphys2/src/validphys/comparefittemplates/report.md +++ b/validphys2/src/validphys/comparefittemplates/report.md @@ -11,11 +11,6 @@ We are comparing: {@ summarise_fits @} -Fit code versions ------------------ - -{@fits_fit_code_version@} - Theory Covariance Summary ------------------------- {@summarise_theory_covmat_fits@} @@ -78,3 +73,8 @@ Dataset differences and cuts ---------------------------- {@print_dataset_differences@} {@print_different_cuts@} + +Fit code versions +----------------- + +{@fits_fit_code_version@} \ No newline at end of file From 6285da4cd6b289fc659e184a51eba17a372f023a Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Fri, 29 Jan 2021 13:27:23 +0000 Subject: [PATCH 09/18] making grouped table for vp reports --- .../validphys/comparefittemplates/report.md | 2 +- validphys2/src/validphys/fitdata.py | 26 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/validphys2/src/validphys/comparefittemplates/report.md b/validphys2/src/validphys/comparefittemplates/report.md index 9c358812c3..acd4f9b2d0 100644 --- a/validphys2/src/validphys/comparefittemplates/report.md +++ b/validphys2/src/validphys/comparefittemplates/report.md @@ -77,4 +77,4 @@ Dataset differences and cuts Fit code versions ----------------- -{@fits_fit_code_version@} \ No newline at end of file +{@fits_version_table@} \ No newline at end of file diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 693675c922..903d32f41c 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -437,7 +437,7 @@ def print_systype_overlap(groups_commondata, group_dataset_inputs_by_metadata): return "No overlap of systypes" @table -def fit_code_version(fit,replica_paths): +def fit_code_version(fit_name_with_covmat_label, fit,replica_paths): """ Returns table with the code version from 'replica_{repno}/{fitname}.json' files. @@ -447,10 +447,11 @@ def fit_code_version(fit,replica_paths): # First check if first replica has .json file p_1 = replica_paths[0] / (f'{fit.name}.json') if not p_1.exists(): - undef_tuple = [("undefined", "undefined")] + undef_tuple = [("unavailable", "unavailable")] # Return df with "undefined" in name, version locations - vinfo = pd.DataFrame(undef_tuple, columns = ["name", "version"]) - vinfo.index.name = f"{fit.name}" + vinfo = pd.DataFrame(undef_tuple).set_index(0) + vinfo.columns = [f"{fit_name_with_covmat_label}"] + vinfo.index.name = "module" # Otherwise look at .json files else: for path in replica_paths: @@ -462,13 +463,22 @@ def fit_code_version(fit,replica_paths): version_info.append(rep_version) versionset = (set(x.items()) for x in version_info) reducedset = reduce(set.union, versionset) - vinfo = pd.DataFrame(reducedset, columns = ["name", "version"]) - vinfo.index.name = f"{fit.name}" + vinfo = pd.DataFrame(reducedset).set_index(0) + vinfo.columns = [f"{fit_name_with_covmat_label}"] + vinfo.index.name = "module" # Check for conflicting versions - version_names = list(vinfo["name"]) + version_names = list(vinfo.index) assert (len(version_names) == len(set(version_names))), "Version information does not match for all replicas." return vinfo fits_fit_code_version = collect("fit_code_version", ("fits", "fitcontext",)) - +@table +def fits_version_table(fits_fit_code_version): + """ Produces a table of version information for multiple fits.""" + vtable = pd.concat(fits_fit_code_version, axis=1) + # Drops any rows starting with "unavailable" + vtable.drop("unavailable", inplace=True) + # Fill NaNs with "unavailable" + vtable.fillna("unavailable", inplace=True) + return vtable From 6f2493c92d11b9e113bab81e21616a19d5b32993 Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Tue, 16 Feb 2021 15:59:06 +0000 Subject: [PATCH 10/18] remove json from replica files --- validphys2/src/validphys/fitdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 903d32f41c..5d4fdc07ab 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -26,7 +26,7 @@ #TODO: Add more stuff here as needed for postfit LITERAL_FILES = ['chi2exps.log'] -REPLICA_FILES = ['.dat', '.fitinfo', '.params', '.preproc', '.sumrules', '.json'] +REPLICA_FILES = ['.dat', '.fitinfo', '.params', '.preproc', '.sumrules'] #t = blessings.Terminal() log = logging.getLogger(__name__) From c4a29581235fd64b3d9891af4f49591bb66537d3 Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Tue, 16 Feb 2021 15:59:17 +0000 Subject: [PATCH 11/18] add space Co-authored-by: siranipour <43517072+siranipour@users.noreply.github.com> --- validphys2/src/validphys/fitdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 5d4fdc07ab..42b998ddfb 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -437,7 +437,7 @@ def print_systype_overlap(groups_commondata, group_dataset_inputs_by_metadata): return "No overlap of systypes" @table -def fit_code_version(fit_name_with_covmat_label, fit,replica_paths): +def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): """ Returns table with the code version from 'replica_{repno}/{fitname}.json' files. From 3016cad9a1061136a68fbc9f0157cca74c57027d Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Tue, 16 Feb 2021 15:59:25 +0000 Subject: [PATCH 12/18] typo Co-authored-by: Cameron Voisey <32741139+voisey@users.noreply.github.com> --- validphys2/src/validphys/fitdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 42b998ddfb..25fd1d7fd4 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -458,7 +458,7 @@ def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): p = path / (f'{fit.name}.json') with open(p, 'r') as stream: json_info = json.load(stream) - # Taking veresion info from .json + # Taking version info from .json rep_version = json_info["version"] version_info.append(rep_version) versionset = (set(x.items()) for x in version_info) From ab7ef4ed2527284fada4afabb5cf41f2178712f2 Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Wed, 17 Feb 2021 13:19:35 +0000 Subject: [PATCH 13/18] Update validphys2/src/validphys/fitdata.py Co-authored-by: Cameron Voisey <32741139+voisey@users.noreply.github.com> --- validphys2/src/validphys/fitdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 25fd1d7fd4..43fd2e7a13 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -445,7 +445,7 @@ def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): """ version_info = [] # First check if first replica has .json file - p_1 = replica_paths[0] / (f'{fit.name}.json') + p_1 = replica_paths[0] / (f'{fit.name}.json') if not p_1.exists(): undef_tuple = [("unavailable", "unavailable")] # Return df with "undefined" in name, version locations From c23fec5c50338ae56d2edbad7a53f08424174e6a Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Wed, 17 Feb 2021 13:23:09 +0000 Subject: [PATCH 14/18] add to docstring --- validphys2/src/validphys/fitdata.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 43fd2e7a13..556702b66f 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -442,6 +442,8 @@ def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): Returns table with the code version from 'replica_{repno}/{fitname}.json' files. Old fits return 'undefined'. + Asserts that version information matches + for all replicas. """ version_info = [] # First check if first replica has .json file From 97c2c3217c22292f6bb6ff08171f8c653307bc79 Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Wed, 17 Feb 2021 13:24:24 +0000 Subject: [PATCH 15/18] don't collect over fitcontext --- validphys2/src/validphys/fitdata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 556702b66f..1cb6b06266 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -473,7 +473,7 @@ def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): assert (len(version_names) == len(set(version_names))), "Version information does not match for all replicas." return vinfo -fits_fit_code_version = collect("fit_code_version", ("fits", "fitcontext",)) +fits_fit_code_version = collect("fit_code_version", "fits") @table def fits_version_table(fits_fit_code_version): From 4511f4833a54dfab56ec2cec53f5b5fbdc79e312 Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Wed, 17 Feb 2021 15:03:23 +0000 Subject: [PATCH 16/18] move lines outside if/else block --- validphys2/src/validphys/fitdata.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 903d32f41c..93dfc88d3f 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -450,8 +450,6 @@ def fit_code_version(fit_name_with_covmat_label, fit,replica_paths): undef_tuple = [("unavailable", "unavailable")] # Return df with "undefined" in name, version locations vinfo = pd.DataFrame(undef_tuple).set_index(0) - vinfo.columns = [f"{fit_name_with_covmat_label}"] - vinfo.index.name = "module" # Otherwise look at .json files else: for path in replica_paths: @@ -464,8 +462,8 @@ def fit_code_version(fit_name_with_covmat_label, fit,replica_paths): versionset = (set(x.items()) for x in version_info) reducedset = reduce(set.union, versionset) vinfo = pd.DataFrame(reducedset).set_index(0) - vinfo.columns = [f"{fit_name_with_covmat_label}"] - vinfo.index.name = "module" + vinfo.columns = [f"{fit_name_with_covmat_label}"] + vinfo.index.name = "module" # Check for conflicting versions version_names = list(vinfo.index) assert (len(version_names) == len(set(version_names))), "Version information does not match for all replicas." From 17bd5896389f0753dba8e15458702ace91325664 Mon Sep 17 00:00:00 2001 From: RosalynLP Date: Wed, 17 Feb 2021 15:06:31 +0000 Subject: [PATCH 17/18] fix bug & change set reduction --- validphys2/src/validphys/fitdata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index d123850a49..02944f20d7 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -462,7 +462,7 @@ def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): rep_version = json_info["version"] version_info.append(rep_version) versionset = (set(x.items()) for x in version_info) - reducedset = reduce(set.union, versionset) + reducedset = set.union(*versionset) vinfo = pd.DataFrame(reducedset).set_index(0) vinfo.columns = [f"{fit_name_with_covmat_label}"] vinfo.index.name = "module" @@ -471,7 +471,7 @@ def fit_code_version(fit_name_with_covmat_label, fit, replica_paths): assert (len(version_names) == len(set(version_names))), "Version information does not match for all replicas." return vinfo -fits_fit_code_version = collect("fit_code_version", "fits") +fits_fit_code_version = collect("fit_code_version", ("fits",)) @table def fits_version_table(fits_fit_code_version): From 16b7500a9cc64e773e55f5344150cbec9a5d9194 Mon Sep 17 00:00:00 2001 From: Rosalyn Pearson <33020850+RosalynLP@users.noreply.github.com> Date: Wed, 17 Feb 2021 15:10:56 +0000 Subject: [PATCH 18/18] remove import Co-authored-by: siranipour <43517072+siranipour@users.noreply.github.com> --- validphys2/src/validphys/fitdata.py | 1 - 1 file changed, 1 deletion(-) diff --git a/validphys2/src/validphys/fitdata.py b/validphys2/src/validphys/fitdata.py index 02944f20d7..509d4b522f 100644 --- a/validphys2/src/validphys/fitdata.py +++ b/validphys2/src/validphys/fitdata.py @@ -7,7 +7,6 @@ from collections import namedtuple, OrderedDict, defaultdict from io import StringIO import pathlib -from functools import reduce import numpy as np import pandas as pd