code: def layout(*args, **kwargs):
      
      sizing_mode = kwargs.pop('sizing_mode', None)
      children = kwargs.pop('children', None)
  
      children = _handle_children(*args, children=children)
  
      # Make the grid
      return _create_grid(children, sizing_mode)
docs: Create a grid-based arrangement of Bokeh Layout objects.
  
      Args:
          children (list of lists of :class:`~bokeh.models.layouts.LayoutDOM` ): A list of lists of instances
              for a grid layout. Can be any of the following - :class:`~bokeh.models.plots.Plot`,
              :class:`~bokeh.models.widgets.widget.Widget`,
              :class:`~bokeh.models.layouts.Row`,
              :class:`~bokeh.models.layouts.Column`,
              :class:`~bokeh.models.tools.ToolbarBox`,
              :class:`~bokeh.models.layouts.Spacer`.
  
          sizing_mode (``"fixed"``, ``"stretch_both"``, ``"scale_width"``, ``"scale_height"``, ``"scale_both"`` ): How
              will the items in the layout resize to fill the available space.
              Default is ``"fixed"``. For more information on the different
              modes see :attr:`~bokeh.models.layouts.LayoutDOM.sizing_mode`
              description on :class:`~bokeh.models.layouts.LayoutDOM`.
  
      Returns:
          Column: A column of ``Row`` layouts of the children, all with the same sizing_mode.
  
      Examples:
  
          >>> layout([[plot_1, plot_2], [plot_3, plot_4]])
          >>> layout(
                  children=[
                      [widget_1, plot_1],
                      [slider],
                      [widget_2, plot_2, plot_3]
                  ],
                  sizing_mode='fixed',
              )