code: def vegafusion_data_transformer(
      data: DataType, max_rows: int = 100000
  ) -> Union[_ToVegaFusionReturnUrlDict, ToValuesReturnType]:
      """VegaFusion Data Transformer"""
      if hasattr(data, "__geo_interface__"):
          # Use default transformer for geo interface objects
          # # (e.g. a geopandas GeoDataFrame)
          return default_data_transformer(data)
      elif hasattr(data, "__dataframe__"):
          table_name = f"table_{uuid.uuid4()}".replace("-", "_")
          extracted_inline_tables[table_name] = data
          return {"url": VEGAFUSION_PREFIX + table_name}
      else:
          # Use default transformer if we don't recognize data type
          return default_data_transformer(data)
  
file_path: altair/altair/utils/_vegafusion_data.py
imports: from toolz import curried
  import uuid
  from weakref import WeakValueDictionary
  from typing import Union, Dict, Set, MutableMapping, TypedDict, Final, TYPE_CHECKING
  from altair.utils._importers import import_vegafusion
  from altair.utils.core import DataFrameLike
  from altair.utils.data import DataType, ToValuesReturnType, MaxRowsError
  from altair.vegalite.data import default_data_transformer
label_desc: Use image node_id 1 for calling a global function with example usage: vegafusion_data_transformer(data, max_rows) and returns: default_data_transformer, dict, default_data_transformer