code: def read_ipc_schema(
      source: str | Path | IO[bytes] | bytes,
  ) -> dict[str, DataType]:
      """
      Get the schema of an IPC file without reading data.
  
      Parameters
      ----------
      source
          Path to a file or a file-like object (by file-like object, we refer to objects
          that have a `read()` method, such as a file handler (e.g. via builtin `open`
          function) or `BytesIO`).
  
      Returns
      -------
      dict
          Dictionary mapping column names to datatypes
  
      """
      if isinstance(source, (str, Path)):
          source = normalize_filepath(source)
  
      return _read_ipc_schema(source)
  
file_path: polars/py-polars/polars/io/ipc/functions.py
imports: from __future__ import annotations
  import contextlib
  from pathlib import Path
  from typing import IO, TYPE_CHECKING, Any, BinaryIO
  import polars._reexport
  from polars.dependencies import _PYARROW_AVAILABLE
  from polars.io._utils import _prepare_file_arg
  from polars.utils.various import normalize_filepath
label_desc: Use image node_id 3 for calling a global function with example usage: read_ipc_schema(source) and returns: _read_ipc_schema