code: def windowing(size, padding=UNSET, window_type=tuple):
      
  
      if size < 1:
          raise ValueError("windowing() size {} is not at least 1".format(size))
  
      def windowing_transducer(reducer):
          return Windowing(reducer, size, padding, window_type)
  
      return windowing_transducer
docs: Create a transducer which produces a moving window over items.