code: def __init__(self, datasource: Datasource, **read_args):
      self._datasource = datasource
      self._read_args = read_args
  
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 1 to create a new _LegacyDatasourceReader object from inherited base classes: Reader with example: obj = _LegacyDatasourceReader(datasource)