Skip to content

Commit 055dc2c

Browse files
committed
estimate -> bool
1 parent 958d191 commit 055dc2c

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

petab/v2/core.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -890,19 +890,21 @@ def _validate_estimate_before(cls, v):
890890
if isinstance(v, bool):
891891
return v
892892

893-
if isinstance(v, int) or isinstance(v, float) and v.is_integer():
894-
if v == 0:
895-
return False
896-
if v == 1:
897-
return True
893+
# FIXME: grace period for 0/1 values until the test suite was updated
894+
if v in [0, 1, "0", "1"]:
895+
return bool(int(v))
898896

897+
# TODO: clarify whether extra whitespace is allowed
899898
if isinstance(v, str):
900-
if v == "0":
901-
return False
902-
if v == "1":
899+
v = v.strip().lower()
900+
if v == "true":
903901
return True
902+
if v == "false":
903+
return False
904904

905-
raise ValueError(f"Invalid value for estimate: {v}. Must be 0 or 1.")
905+
raise ValueError(
906+
f"Invalid value for estimate: {v}. Must be `true` or `false`."
907+
)
906908

907909
@field_validator("lb", "ub", "nominal_value")
908910
@classmethod

petab/v2/problem.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -970,7 +970,7 @@ def add_parameter(
970970
PARAMETER_ID: id_,
971971
}
972972
if estimate is not None:
973-
record[ESTIMATE] = int(estimate)
973+
record[ESTIMATE] = estimate
974974
if nominal_value is not None:
975975
record[NOMINAL_VALUE] = nominal_value
976976
if scale is not None:

0 commit comments

Comments
 (0)