class_docstr: Base class for window bounds calculations.
class_docstr_tok: ["Base","class","for","window","bounds","calculations","."]
docstr: Parameters
  ----------
  **kwargs :
      keyword arguments that will be available when get_window_bounds is called
docstr_tok: ["Parameters","--","--","--","--","--","*","*","kwargs",":","keyword","arguments","that","will","be","available","when","get_window_bounds","is","called"]
code: def __init__(
      self,
      index_array: np.ndarray | None = None,
      window_size: int = 0,
      **kwargs,
  ) -> None:
      """
      Parameters
      ----------
      **kwargs :
          keyword arguments that will be available when get_window_bounds is called
      """
      self.index_array = index_array
      self.window_size = window_size
      # Set user defined kwargs as attributes that can be used in get_window_bounds
      for key, value in kwargs.items():
          setattr(self, key, value)
  
imports: from __future__ import annotations
  from datetime import timedelta
  import numpy
  from pandas._libs.window.indexers import calculate_variable_window_bounds
  from pandas.util._decorators import Appender
  from pandas.core.dtypes.common import ensure_platform_int
  from pandas.tseries.offsets import Nano
label_desc: Use image node_id 1 to create a new BaseIndexer object  with example: obj = BaseIndexer(index_array, window_size)