pythonwrench.argparse module

pythonwrench.argparse.add_dataclass_fields_to_parser(dataclass_type: type[T_DataclassInstance], *, parser: ArgumentParser | None, list_parsing: 'argparse' | 'brackets' = 'argparse') ArgumentParser[source]
pythonwrench.argparse.new_parser_from_dataclass(dataclass_type: type[T_DataclassInstance], *, parser: ArgumentParser | None, list_parsing: 'argparse' | 'brackets' = 'argparse') ArgumentParser[source]
pythonwrench.argparse.parse_args_using_dataclass(dataclass_type: type[T_DataclassInstance], *, args: Iterable[str] | None = None, parser: ArgumentParser | None = None, list_parsing: 'argparse' | 'brackets' = 'argparse') T_DataclassInstance[source]

Converts prog args to a typed dataclass using argparse.

Currently only supports dataclasses that contains only builtin scalars: str, int, float, None, bool OR list of builtin scalars.

pythonwrench.argparse.parse_to(target_type: type[T] | UnionType | type[Literal] | type[Optional], *, case_sensitive: bool = False, true_values: str | Iterable[str] = ('True', 't', 'yes', 'y', '1'), false_values: str | Iterable[str] = ('False', 'f', 'no', 'n', '0'), none_values: str | Iterable[str] = ('None', 'null'), list_parsing: 'argparse' | 'brackets' = 'argparse') Callable[[str], T][source]

Returns a callable that convert string value to target type safely.

Intended for argparse arguments.

pythonwrench.argparse.str_to_bool(x: str, *, case_sensitive: bool = False, true_values: str | Iterable[str] = ('True', 't', 'yes', 'y', '1'), false_values: str | Iterable[str] = ('False', 'f', 'no', 'n', '0')) bool[source]

Convert string values to bool safely. Intended for argparse arguments.

  • True values: ‘True’, ‘T’, ‘yes’, ‘y’, ‘1’.

  • False values: ‘False’, ‘F’, ‘no’, ‘n’, ‘0’.

  • Other raises ValueError.

pythonwrench.argparse.str_to_none(x: str, *, case_sensitive: bool = False, none_values: str | Iterable[str] = ('None', 'null')) None[source]

Convert string values to None safely. Intended for argparse arguments.

  • None values: ‘None’, ‘null’

  • Other raises ValueError.

pythonwrench.argparse.str_to_optional_bool(x: str, *, case_sensitive: bool = False, none_values: str | Iterable[str] = ('None', 'null')) bool | None[source]

Convert string values to optional bool safely. Intended for argparse arguments.

  • True values: ‘True’, ‘T’, ‘yes’, ‘y’, ‘1’.

  • False values: ‘False’, ‘F’, ‘no’, ‘n’, ‘0’.

  • None values: ‘None’, ‘null’

  • Other raises ValueError.

pythonwrench.argparse.str_to_optional_float(x: str, *, case_sensitive: bool = False, none_values: str | Iterable[str] = ('None', 'null')) float | None[source]

Convert string values to optional float safely. Intended for argparse arguments.

pythonwrench.argparse.str_to_optional_int(x: str, *, case_sensitive: bool = False, none_values: str | Iterable[str] = ('None', 'null')) int | None[source]

Convert string values to optional int safely. Intended for argparse arguments.

pythonwrench.argparse.str_to_optional_str(x: str, *, case_sensitive: bool = False, none_values: str | Iterable[str] = ('None', 'null')) str | None[source]

Convert string values to optional str safely. Intended for argparse arguments.

pythonwrench.argparse.str_to_type(x: str, target_type: type[T] | UnionType | type[Literal] | type[Optional], *, case_sensitive: bool = False, true_values: str | Iterable[str] = ('True', 't', 'yes', 'y', '1'), false_values: str | Iterable[str] = ('False', 'f', 'no', 'n', '0'), none_values: str | Iterable[str] = ('None', 'null'), list_parsing: 'argparse' | 'brackets' = 'argparse') T[source]

Convert string values to target type safely. Intended for argparse arguments.

  • True values: ‘True’, ‘T’, ‘yes’, ‘y’, ‘1’.

  • False values: ‘False’, ‘F’, ‘no’, ‘n’, ‘0’.

  • None values: ‘None’, ‘null’

  • Other raises ValueError.