[docs]@register_panel_column(DistributedParameter)defpanel_column_handler(expr:DistributedParameter,context:dict)->None:# Set / overwrite the panel_column attributeexpr.panel_column=context["panel_column"]context["count"]+=1
[docs]defset_panel_column_on_distributed_parameters(expr:Expression,panel_column:str,)->int:""" Sets `panel_column` on all DistributedParameter nodes in `expr`. :param expr: Root expression. :param panel_column: Name of the panel id column in the dataframe. :return: Number of DistributedParameter nodes updated. """context={"panel_column":panel_column,"count":0}_panel_column_visitor.visit(expr,context)returncontext["count"]
[docs]defset_draw_dimension_for_all_draws(expr,mode:Literal["observation","individual"],)->int:""" Sets the draw dimension for all Draws expressions inside `expr`. :param expr: Root expression of the model. :param mode: {"observation", "individual"} Whether draws should be generated per observation or per individual. :return: Number of Draws expressions updated. """context={"mode":mode,"count":0}_set_draw_dimension_visitor.visit(expr,context)returncontext["count"]