class_docstr: Read-only view of Index.data using filtered stages.
class_docstr_tok: ["Read-only","view","of","Index.data","using","filtered","stages","."]
code: def __init__(
      self,
      index: Index,
      stage_infos: Iterable["StageInfo"],
      outs_filter: Optional[Callable[["Output"], bool]],
  ):
      self._index = index
      self._stage_infos = stage_infos
      # NOTE: stage_infos might have the same stage multiple times but with
      # different filter_info
      self.stages = list({stage for stage, _ in stage_infos})
      self._outs_filter = outs_filter
  
imports: import logging
  import time
  from collections import defaultdict
  from functools import partial
  from itertools import chain
  from typing import TYPE_CHECKING, Any, Callable, Dict, Iterable, Iterator, List, NamedTuple, Optional, Set, Tuple, Union
  from funcy.debug import format_time
  from dvc.dependency import ParamsDependency
  from dvc.fs import LocalFileSystem
  from dvc.fs.callbacks import DEFAULT_CALLBACK
  from dvc.log import logger
  from dvc.utils.objects import cached_property
label_desc: Use image node_id 1 to create a new IndexView object  with example: obj = IndexView(index, stage_infos, outs_filter)