Module

config.feature_mappings

Feature group mappings for ergonomic config.

Maps simple feature toggles (features.rss = true) to detailed configuration sections.

Functions

expand_features
Expand feature toggles to detailed configuration. Reads from config["features"] and expands to det…
1 dict[str, Any]
def expand_features(config: dict[str, Any]) -> dict[str, Any]

Expand feature toggles to detailed configuration.

Reads from config["features"] and expands to detailed config keys. Only sets values if they're not already explicitly configured.

Parameters 1

Name Type Default Description
config dict[str, Any]

Configuration dictionary (will be modified in place)

Returns

dict[str, Any]

Modified config dictionary (same object)

_set_if_missing
Set nested key only if it doesn't exist. Handles special cases: - Lists: append to existing list i…
3 None
def _set_if_missing(config: dict[str, Any], key_path: str, value: Any) -> None

Set nested key only if it doesn't exist.

Handles special cases:

  • Lists: append to existing list instead of replacing
  • Dicts: don't override if already present
  • Primitives: set if missing

Parameters 3

Name Type Default Description
config dict[str, Any]
key_path str
value Any
get_available_features
Get list of available feature names.
0 list[str]
def get_available_features() -> list[str]

Get list of available feature names.

Returns

list[str]

List of feature names that can be used in config

get_feature_expansion
Get the detailed config mapping for a feature.
1 dict[str, Any] | None
def get_feature_expansion(feature_name: str) -> dict[str, Any] | None

Get the detailed config mapping for a feature.

Parameters 1

Name Type Default Description
feature_name str

Name of feature (e.g., "rss")

Returns

dict[str, Any] | None

Mapping dict, or None if feature unknown