class_docstr: A stage that transforms blocks independently (e.g., map or filter).
class_docstr_tok: ["A","stage","that","transforms","blocks","independently","(","e.g.",",","map","or","filter",")","."]
code: def __init__(
      self,
      name: str,
      block_fn: BlockTransform,
      compute: Union[str, ComputeStrategy],
      ray_remote_args: dict,
      min_rows_per_block: Optional[int] = None,
      fn: Optional[UserDefinedFunction] = None,
      fn_args: Optional[Iterable[Any]] = None,
      fn_kwargs: Optional[Dict[str, Any]] = None,
      fn_constructor_args: Optional[Iterable[Any]] = None,
      fn_constructor_kwargs: Optional[Dict[str, Any]] = None,
  ):
      super().__init__(name, None)
      self.block_fn = block_fn
      self.compute = compute or TaskPoolStrategy()
      self.ray_remote_args = ray_remote_args or {}
      self.min_rows_per_block = min_rows_per_block
      self.fn = fn
      self.fn_args = fn_args
      self.fn_kwargs = fn_kwargs
      self.fn_constructor_args = fn_constructor_args
      self.fn_constructor_kwargs = fn_constructor_kwargs
  
imports: import copy
  import itertools
  from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, Iterator, List, Optional, Tuple, Union
  import ray
  from ray._private.internal_api import get_memory_info_reply, get_state_from_address
  from ray.data._internal.block_list import BlockList
  from ray.data._internal.compute import ActorPoolStrategy, BlockTransform, CallableClass, ComputeStrategy, TaskPoolStrategy, UserDefinedFunction, get_compute, is_task_compute
  from ray.data._internal.dataset_logger import DatasetLogger
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data._internal.lazy_block_list import LazyBlockList
  from ray.data._internal.logical.interfaces.logical_operator import LogicalOperator
  from ray.data._internal.logical.operators.from_operators import AbstractFrom
  from ray.data._internal.logical.operators.input_data_operator import InputData
  from ray.data._internal.logical.operators.read_operator import Read
  from ray.data._internal.logical.rules.operator_fusion import _are_remote_args_compatible
  from ray.data._internal.stats import DatasetStats, DatasetStatsSummary
  from ray.data._internal.util import create_dataset_tag, unify_block_metadata_schema
  from ray.data.block import Block, BlockMetadata
  from ray.data.context import DataContext
  from ray.types import ObjectRef
  from ray.util.debug import log_once
label_desc: Use image node_id 1 to create a new OneToOneStage object from inherited base classes: Stage with example: obj = OneToOneStage(name, block_fn, compute, ray_remote_args, min_rows_per_block, fn, fn_args, fn_kwargs, fn_constructor_args, fn_constructor_kwargs)