From fc5147767f5e140a8b19c192f7959dff4d86390a Mon Sep 17 00:00:00 2001 From: dberenbaum Date: Wed, 18 Oct 2023 15:18:25 -0400 Subject: [PATCH] api: make exp_show return float instead of None for zeroes --- dvc/api/experiments.py | 2 +- tests/func/api/test_experiments.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dvc/api/experiments.py b/dvc/api/experiments.py index 58861c3aef..4a1ead96e8 100644 --- a/dvc/api/experiments.py +++ b/dvc/api/experiments.py @@ -53,7 +53,7 @@ def _postprocess(exp_rows): except ValueError: exp_row[k] = v_str - if not exp_row[k]: + elif not exp_row[k]: exp_row[k] = None return exp_rows diff --git a/tests/func/api/test_experiments.py b/tests/func/api/test_experiments.py index afade043cf..924996f889 100644 --- a/tests/func/api/test_experiments.py +++ b/tests/func/api/test_experiments.py @@ -20,6 +20,8 @@ def test_exp_save(tmp_dir, dvc, scm): def test_exp_show(tmp_dir, dvc, scm, exp_stage): # noqa: F811 + with open("params.yaml", "a") as fobj: + fobj.write("\nbar: 0") exps = api.exp_show() assert len(exps) == 2 @@ -32,3 +34,5 @@ def test_exp_show(tmp_dir, dvc, scm, exp_stage): # noqa: F811 assert exps[0]["State"] is None # Postprocessing empty string as `None` assert exps[0]["Experiment"] is None + # Postprocessing 0 as float + assert exps[0]["bar"] == 0.0