utils.parse.parse_bool(value)
Parse case-insensitive boolean strings for CLI arguments.
Parameters
| value |
str |
String representation of a boolean value. |
required |
Returns
| bool |
bool |
True for {‘true’, ‘t’, ‘yes’, ‘1’}, False for {‘false’, ‘f’, ‘no’, ‘0’}. |
Examples
import argparse
from spotforecast2_safe.utils.parse import parse_bool
# True values (case-insensitive, whitespace-tolerant)
assert parse_bool("true") is True
assert parse_bool("TRUE") is True
assert parse_bool("t") is True
assert parse_bool("yes") is True
assert parse_bool("1") is True
assert parse_bool(" true ") is True
# False values
assert parse_bool("false") is False
assert parse_bool("FALSE") is False
assert parse_bool("f") is False
assert parse_bool("no") is False
assert parse_bool("0") is False
assert parse_bool(" false ") is False
print("All true/false/whitespace cases pass.")
All true/false/whitespace cases pass.
import argparse
from spotforecast2_safe.utils.parse import parse_bool
# Invalid values raise ArgumentTypeError
try:
parse_bool("invalid")
except argparse.ArgumentTypeError:
print("ArgumentTypeError raised as expected.")
# Use as type= in an ArgumentParser
parser = argparse.ArgumentParser()
_ = parser.add_argument("--enable", type=parse_bool, default=True)
args = parser.parse_args(["--enable", "yes"])
assert args.enable is True
print(f"Parsed --enable yes → {args.enable}")
ArgumentTypeError raised as expected.
Parsed --enable yes → True