class_docstr: Interface for defining a custom :class:`~ray.data.Dataset` datasource.
  
  To read a datasource into a dataset, use :meth:`~ray.data.read_datasource`.
class_docstr_tok: ["Interface","for","defining","a","custom",":","class",":","`","~ray.data.Dataset","`","datasource",".","To","read","a","datasource","into","a","dataset",",","use",":","meth",":","`","~ray.data.read_datasource","`","."]
docstr: Return an estimate of the in-memory data size, or None if unknown.
  
  Note that the in-memory data size may be larger than the on-disk data size.
docstr_tok: ["Return","an","estimate","of","the","in-memory","data","size",",","or","None","if","unknown",".","Note","that","the","in-memory","data","size","may","be","larger","than","the","on-disk","data","size","."]
code: def estimate_inmemory_data_size(self) -> Optional[int]:
      """Return an estimate of the in-memory data size, or None if unknown.
  
      Note that the in-memory data size may be larger than the on-disk data size.
      """
      raise NotImplementedError
  
imports: import warnings
  from typing import Any, Callable, Iterable, List, Optional
  import numpy
  import ray
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data._internal.util import _check_pyarrow_version
  from ray.data.block import Block, BlockAccessor, BlockMetadata
  from ray.data.context import DataContext
  from ray.types import ObjectRef
  from ray.util.annotations import Deprecated, DeveloperAPI, PublicAPI
label_desc: Use image node_id 8 for calling the Datasource obj's underlying member method code with example usage: obj.estimate_inmemory_data_size() without return types