code: def marshall(
      proto: ArrowProto, data: Data, default_uuid: Optional[str] = None
  ) -> None:
      """Marshall pandas.DataFrame into an Arrow proto.
  
      Parameters
      ----------
      proto : proto.Arrow
          Output. The protobuf for Streamlit Arrow proto.
  
      data : pandas.DataFrame, pandas.Styler, pyarrow.Table, numpy.ndarray, pyspark.sql.DataFrame, snowflake.snowpark.DataFrame, Iterable, dict, or None
          Something that is or can be converted to a dataframe.
  
      default_uuid : Optional[str]
          If pandas.Styler UUID is not provided, this value will be used.
          This attribute is optional and only used for pandas.Styler, other elements
          (e.g. charts) can ignore it.
  
      """
      if type_util.is_pandas_styler(data):
          # default_uuid is a string only if the data is a `Styler`,
          # and `None` otherwise.
          assert isinstance(
              default_uuid, str
          ), "Default UUID must be a string for Styler data."
          marshall_styler(proto, data, default_uuid)
  
      if isinstance(data, pa.Table):
          proto.data = type_util.pyarrow_table_to_bytes(data)
      else:
          df = type_util.convert_anything_to_df(data)
          proto.data = type_util.data_frame_to_bytes(df)
  
file_path: streamlit/lib/streamlit/elements/arrow.py
imports: from __future__ import annotations
  from collections.abc import Iterable
  from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Union, cast
  import pyarrow
  from typing_extensions import TypeAlias
  from streamlit import type_util
  from streamlit.elements.lib.column_config_utils import INDEX_IDENTIFIER, ColumnConfigMappingInput, apply_data_specific_configs, marshall_column_config, process_config_mapping, update_column_config
  from streamlit.elements.lib.pandas_styler_utils import marshall_styler
  from streamlit.proto.Arrow_pb2 import Arrow
  from streamlit.runtime.metrics_util import gather_metrics
label_desc: Use image node_id 1 for calling a global function with example usage: marshall(proto, data, default_uuid) without return types