Field Helpers¶
These helpers create Field descriptors with built-in converters for common
value shapes. Use them when you want the library to parse string input for you
instead of wiring a custom converter by hand.
Scalar Helpers¶
liblaf.conf.field_bool
¶
field_bool(
env: str | None = None,
default: bool | MissingType = MISSING,
factory: Factory[bool] | None = None,
converter: Converter[bool] | None = None,
) -> Field[bool]
Create a field that parses booleans with Pydantic string rules.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_decimal
¶
field_decimal(
env: str | None = None,
default: Decimal | MissingType = MISSING,
factory: Factory[Decimal] | None = None,
converter: Converter[Decimal] | None = None,
) -> Field[Decimal]
Create a field that converts strings to Decimal values.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_float
¶
field_float(
env: str | None = None,
default: float | MissingType = MISSING,
factory: Factory[float] | None = None,
converter: Converter[float] | None = None,
) -> Field[float]
Create a field that converts strings to float values.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_int
¶
field_int(
env: str | None = None,
default: int | MissingType = MISSING,
factory: Factory[int] | None = None,
converter: Converter[int] | None = None,
) -> Field[int]
Create a field that converts strings to int values.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_str
¶
field_str(
env: str | None = None,
default: str | MissingType = MISSING,
factory: Factory[str] | None = None,
converter: Converter[str] | None = None,
) -> Field[str]
Create a field that keeps string values unchanged.
Source code in src/liblaf/conf/_field_specifiers.py
Structured Helpers¶
liblaf.conf.field_json
¶
field_json(
env: str | None = None,
default: Any | MissingType = MISSING,
factory: Factory[Any] | None = None,
converter: Converter[Any] | None = None,
) -> Field[Any]
Create a field that decodes JSON strings.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_list_str
¶
field_list_str(
env: str | None = None,
default: list[str] | MissingType = MISSING,
factory: Factory[list[str]] | None = None,
converter: Converter[list[str]] | None = None,
delimiter: str = ",",
) -> Field[list[str]]
Create a field that splits strings into trimmed string lists.
Parameters:
-
env(str | None, default:None) –Explicit environment variable name.
-
default(list[str] | MissingType, default:MISSING) –Default list value.
-
factory(Factory[list[str]] | None, default:None) –Callable that produces a fresh default list.
-
converter(Converter[list[str]] | None, default:None) –Optional converter overriding the built-in splitter.
-
delimiter(str, default:',') –Delimiter used by the default converter.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_path
¶
field_path(
env: str | None = None,
default: StrPath | MissingType = MISSING,
factory: Factory[StrPath] | None = None,
converter: Converter[Path] | None = None,
) -> Field[Path]
Create a field that normalizes defaults and inputs to Path objects.
Source code in src/liblaf/conf/_field_specifiers.py
Temporal Helpers¶
liblaf.conf.field_date
¶
field_date(
env: str | None = None,
default: Any | MissingType = MISSING,
factory: Factory[Any] | None = None,
converter: Converter[Any] | None = None,
) -> Field[Any]
Create a field that parses calendar dates from strings.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_datetime
¶
field_datetime(
env: str | None = None,
default: datetime | MissingType = MISSING,
factory: Factory[datetime] | None = None,
converter: Converter[datetime] | None = None,
) -> Field[datetime]
Create a field that parses timezone-aware datetimes from strings.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_time
¶
field_time(
env: str | None = None,
default: time | MissingType = MISSING,
factory: Factory[time] | None = None,
converter: Converter[time] | None = None,
) -> Field[time]
Create a field that parses timezone-aware times from strings.
Source code in src/liblaf/conf/_field_specifiers.py
liblaf.conf.field_timedelta
¶
field_timedelta(
env: str | None = None,
default: timedelta | MissingType = MISSING,
factory: Factory[timedelta] | None = None,
converter: Converter[timedelta] | None = None,
) -> Field[timedelta]
Create a field that parses duration strings to timedeltas.