code: def from_tuple(cls, tp):
      (
          obj,
          keys,
          axis,
          level,
          exclusions,
          selection,
          as_index,
          sort,
          group_keys,
          squeeze,
          observed,
          dropna,
          mutated,
          grouper_cache,
      ) = tp
  
      if isinstance(keys, (bytes, bytearray)):
          keys = cloudpickle.loads(keys)
  
      return cls(
          obj,
          keys=keys,
          axis=axis,
          level=level,
          exclusions=exclusions,
          selection=selection,
          as_index=as_index,
          sort=sort,
          group_keys=group_keys,
          squeeze=squeeze,
          observed=observed,
          dropna=dropna,
          mutated=mutated,
          grouper_cache=grouper_cache,
      )
  
imports: import sys
  from collections.abc import Iterable
  import cloudpickle
  import numpy
  from pandas.core.groupby import DataFrameGroupBy, SeriesGroupBy
  from ..utils import estimate_pandas_size, pd_release_version, no_default
label_desc: Use image node_id 13 for calling the GroupByWrapper obj's underlying member method code with example usage: obj.from_tuple(cls, tp) and returns: cls