class_docstr: Container for multiple `Scene` objects.
class_docstr_tok: ["Container","for","multiple","`","Scene","`","objects","."]
docstr: Create multiple Scene objects from multiple files.
  
  Args:
      files_to_sort: files to read
      reader: reader or readers to use
      ensure_all_readers: If True, limit to scenes where all
          readers have at least one file.  If False (default), include
          all scenes where at least one reader has at least one file.
      scene_kwargs: additional arguments to pass on to
          :func:`Scene.__init__` for each created scene.
  
  This uses the :func:`satpy.readers.group_files` function to group
  files. See this function for more details on additional possible
  keyword arguments.  In particular, it is strongly recommended to pass
  `"group_keys"` when using multiple instruments.
  
  .. versionadded:: 0.12
code: def from_files(  # noqa: D417
      cls,
      files_to_sort: Collection[str],
      reader: str | Collection[str] | None = None,
      ensure_all_readers: bool = False,
      scene_kwargs: Mapping | None = None,
      **kwargs,
  ):
      """Create multiple Scene objects from multiple files.
  
      Args:
          files_to_sort: files to read
          reader: reader or readers to use
          ensure_all_readers: If True, limit to scenes where all
              readers have at least one file.  If False (default), include
              all scenes where at least one reader has at least one file.
          scene_kwargs: additional arguments to pass on to
              :func:`Scene.__init__` for each created scene.
  
      This uses the :func:`satpy.readers.group_files` function to group
      files. See this function for more details on additional possible
      keyword arguments.  In particular, it is strongly recommended to pass
      `"group_keys"` when using multiple instruments.
  
      .. versionadded:: 0.12
  
      """
      from satpy.readers import group_files
  
      if scene_kwargs is None:
          scene_kwargs = {}
      file_groups = group_files(files_to_sort, reader=reader, **kwargs)
      if ensure_all_readers:
          warnings.warn(
              "Argument ensure_all_readers is deprecated.  Use "
              "missing='skip' instead.",
              DeprecationWarning,
              stacklevel=2,
          )
          file_groups = [fg for fg in file_groups if all(fg.values())]
      scenes = (
          Scene(filenames=fg, **scene_kwargs) for fg in file_groups
      )
      return cls(scenes)
  
imports: from __future__ import annotations
  import copy
  import logging
  import warnings
  from queue import Queue
  from threading import Thread
  from typing import Callable, Collection, Mapping
  import dask.array
  import numpy
  import xarray
  from satpy.dataset import DataID
  from satpy.scene import Scene
  from satpy.writers import get_enhanced_image, split_results
label_desc: Use image node_id 3 for calling the MultiScene obj's underlying member method code with example usage: obj.from_files(cls, files_to_sort, reader, ensure_all_readers, scene_kwargs) and returns: cls