code: def __init__(
      self,
      cache_capacity,
      memory_limit,
      worker_threads,
      connection=None,
  ):
      self._embedded_runtime = None
      self._grpc_channel = None
      self._grpc_query = None
      self._cache_capacity = cache_capacity
      self._memory_limit = memory_limit
      self._worker_threads = worker_threads
      self._connection = connection
  
imports: import pandas
  import psutil
  import pyarrow
  from typing import Union
  from .connection import SqlConnection
  from .dataset import SqlDataset, DataFrameDataset
  from .datasource import PandasDatasource, DfiDatasource
  from .evaluation import get_mark_group_for_scope
  from .transformer import import_pyarrow_interchange, to_arrow_table
  from .local_tz import get_local_tz
  from typing import TypedDict, List, Literal, Any
label_desc: Use image node_id 1 to create a new VegaFusionRuntime object  with example: obj = VegaFusionRuntime(cache_capacity, memory_limit, worker_threads, connection)