code: def to_feather(df, path):
      """
      Write a DataFrame to the feather-format
  
      Parameters
      ----------
      df : DataFrame
      path : string file path, or file-like object
  
      """
      path = _stringify_path(path)
      if not isinstance(df, DataFrame):
          raise ValueError("feather only support IO with DataFrames")
  
      feather = _try_import()[0]
      valid_types = {"string", "unicode"}
  
      # validate index
      # --------------
  
      # validate that we have only a default index
      # raise on anything else as we don't serialize the index
  
      if not isinstance(df.index, Int64Index):
          raise ValueError(
              "feather does not support serializing {} "
              "for the index; you can .reset_index()"
              "to make the index into column(s)".format(type(df.index))
          )
  
      if not df.index.equals(RangeIndex.from_range(range(len(df)))):
          raise ValueError(
              "feather does not support serializing a "
              "non-default index for the index; you "
              "can .reset_index() to make the index "
              "into column(s)"
          )
  
      if df.index.name is not None:
          raise ValueError(
              "feather does not serialize index meta-data on a "
              "default index"
          )
  
      # validate columns
      # ----------------
  
      # must have value column names (strings only)
      if df.columns.inferred_type not in valid_types:
          raise ValueError("feather must have string column names")
  
      feather.write_feather(df, path)
  
imports: from distutils.version import LooseVersion
  from pandas.compat import range
  from pandas.util._decorators import deprecate_kwarg
  from pandas import DataFrame, Int64Index, RangeIndex
  from pandas.io.common import _stringify_path
label_desc: Use image node_id 2 for calling a global function with example usage: to_feather(df, path) without return types