code: def __init__(
      self,
      obj: NDFrame,
      com: float | None = None,
      span: float | None = None,
      halflife: float | TimedeltaConvertibleTypes | None = None,
      alpha: float | None = None,
      min_periods: int | None = 0,
      adjust: bool = True,
      ignore_na: bool = False,
      axis: Axis = 0,
      times: np.ndarray | NDFrame | None = None,
      engine: str = "numba",
      engine_kwargs: dict[str, bool] | None = None,
      *,
      selection=None,
  ) -> None:
      if times is not None:
          raise NotImplementedError(
              "times is not implemented with online operations."
          )
      super().__init__(
          obj=obj,
          com=com,
          span=span,
          halflife=halflife,
          alpha=alpha,
          min_periods=min_periods,
          adjust=adjust,
          ignore_na=ignore_na,
          axis=axis,
          times=times,
          selection=selection,
      )
      self._mean = EWMMeanState(
          self._com, self.adjust, self.ignore_na, self.axis, obj.shape
      )
      if maybe_use_numba(engine):
          self.engine = engine
          self.engine_kwargs = engine_kwargs
      else:
          raise ValueError("'numba' is the only supported engine")
  
imports: from __future__ import annotations
  import datetime
  from functools import partial
  from textwrap import dedent
  from typing import TYPE_CHECKING
  import numpy
  from pandas._libs.tslibs import Timedelta
  import pandas._libs.window.aggregations
  from pandas.util._decorators import doc
  from pandas.core.dtypes.common import is_datetime64_dtype, is_numeric_dtype
  from pandas.core.dtypes.dtypes import DatetimeTZDtype
  from pandas.core.dtypes.generic import ABCSeries
  from pandas.core.dtypes.missing import isna
  from pandas.core import common
  from pandas.core.arrays.datetimelike import dtype_to_unit
  from pandas.core.indexers.objects import BaseIndexer, ExponentialMovingWindowIndexer, GroupbyIndexer
  from pandas.core.util.numba_ import get_jit_arguments, maybe_use_numba
  from pandas.core.window.common import zsqrt
  from pandas.core.window.doc import _shared_docs, create_section_header, kwargs_numeric_only, numba_notes, template_header, template_returns, template_see_also, window_agg_numba_parameters
  from pandas.core.window.numba_ import generate_numba_ewm_func, generate_numba_ewm_table_func
  from pandas.core.window.online import EWMMeanState, generate_online_numba_ewma_func
  from pandas.core.window.rolling import BaseWindow, BaseWindowGroupby
label_desc: Use image node_id 1 to create a new OnlineExponentialMovingWindow object from inherited base classes: ExponentialMovingWindow with example: obj = OnlineExponentialMovingWindow(obj, com, span, halflife, alpha, min_periods, adjust, ignore_na, axis, times, engine, engine_kwargs)