code: def window(preceding=None, following=None, group_by=None, order_by=None):
      
      return Window(
          preceding=preceding,
          following=following,
          group_by=group_by,
          order_by=order_by,
          how='rows',
      )
docs: Create a window clause for use with window functions.
  
      This ROW window clause aggregates adjacent rows based on differences in row
      number.
  
      All window frames / ranges are inclusive.
  
      Parameters
      ----------
      preceding : int, tuple, or None, default None
          Specify None for unbounded, 0 to include current row tuple for
          off-center window
      following : int, tuple, or None, default None
          Specify None for unbounded, 0 to include current row tuple for
          off-center window
      group_by : expressions, default None
          Either specify here or with TableExpr.group_by
      order_by : expressions, default None
          For analytic functions requiring an ordering, specify here, or let Ibis
          determine the default ordering (for functions like rank)
  
      Returns
      -------
      Window