code: def get_inline_table_names(vega_spec: dict) -> Set[str]:
      """Get a set of the inline datasets names in the provided Vega spec
  
      Inline datasets are encoded as URLs that start with the table://
      prefix.
  
      Parameters
      ----------
      vega_spec: dict
          A Vega specification dict
  
      Returns
      -------
      set of str
          Set of the names of the inline datasets that are referenced
          in the specification.
  
      Examples
      --------
      >>> spec = {
      ...     "data": [
      ...         {
      ...             "name": "foo",
      ...             "url": "https://path/to/file.csv"
      ...         },
      ...         {
      ...             "name": "bar",
      ...             "url": "vegafusion+dataset://inline_dataset_123"
      ...         }
      ...     ]
      ... }
      >>> get_inline_table_names(spec)
      {'inline_dataset_123'}
      """
      table_names = set()
  
      # Process datasets
      for data in vega_spec.get("data", []):
          url = data.get("url", "")
          if url.startswith(VEGAFUSION_PREFIX):
              name = url[len(VEGAFUSION_PREFIX) :]
              table_names.add(name)
  
      # Recursively process child marks, which may have their own datasets
      for mark in vega_spec.get("marks", []):
          table_names.update(get_inline_table_names(mark))
  
      return table_names
  
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 2 for calling a global function with example usage: get_inline_table_names(vega_spec) and returns: table_names