yera.config.loaders.profiles
Yera profile loader — reads and validates profile config from yera.toml.
Symbols
get_profile
get_profile(
profile_name: str,
profiles: Profiles,
) → ProfileLook up a named Yera profile from the loaded profiles config.
Parameters
Name of the Yera profile to retrieve.
The loaded Yera profiles config.
Returns
The matching Yera profile object.
Raises
If no profile with the given name exists in profiles.
load_profiles
load_profiles() → Profiles | NoneRead [profiles] from yera.toml and build a Profiles instance.
Returns an empty Profiles when the section or file is absent.
Validation is eager — malformed profile config raises immediately via
Pydantic.
Returns
A Profiles instance populated from yera.toml, or None if the section is absent.
Raises
If the profiles section fails Pydantic validation.
read_pyproject_yera_profile
read_pyproject_yera_profile() → str | NoneRead Yera profile override from [tool.yera.profiles] in pyproject.toml.
Looks for a default key under [tool.yera.profiles], e.g.
[tool.yera.profiles] default = "work" overrides the active Yera
profile for this project.
Returns
The profile name string if present and valid, otherwise None.
resolve_active_profile
resolve_active_profile(
profile_override: str | None,
profiles: Profiles,
pyproject_profile: str | None = None,
) → strDetermine the effective Yera profile name using the resolution order.
Priority: CLI --profile override → pyproject.toml profiles default
→ yera.toml profiles default → raise.
Parameters
Explicit profile name from a CLI --profile flag,
or None.
The loaded Yera profiles config.
Active profile override from pyproject.toml,
or None. Callers should pass the result of
read_pyproject_yera_profile().
Returns
The resolved active profile name string.
Raises
If no profile can be resolved from any source.