xbudget.parseΒΆ

Parse an xbudget recipe dict into the typed expression tree.

This is the single place that knows the YAML/dict schema. It validates as it builds, so malformed recipes raise a clear BudgetParseError naming the offending path instead of surfacing as a deep KeyError/NameError during evaluation.

Functions

parse_budgets(recipe)

Parse a recipe dict into {budget_name: Budget}.

Exceptions

BudgetParseError

Raised when an xbudget recipe does not match the expected schema.