code: def load_compositor_configs_for_sensors(
      sensor_names: Iterable[str],
  ) -> tuple[dict[str, dict], dict[str, dict]]:
      """Load compositor and modifier configuration files for the specified sensors.
  
      Args:
          sensor_names (list of strings): Sensor names that have matching
              ``sensor_name.yaml`` config files.
  
      Returns:
          (comps, mods): Where `comps` is a dictionary:
  
                  sensor_name -> composite ID -> compositor object
  
              And `mods` is a dictionary:
  
                  sensor_name -> modifier name -> (modifier class,
                  modifiers options)
  
      """
      comps = {}
      mods = {}
      for sensor_name in sensor_names:
          (
              sensor_comps,
              sensor_mods,
          ) = load_compositor_configs_for_sensor(sensor_name)[:2]
          comps[sensor_name] = sensor_comps
          mods[sensor_name] = sensor_mods
      return comps, mods
  
imports: from __future__ import annotations
  import logging
  import os
  import warnings
  from functools import lru_cache, update_wrapper
  from typing import Callable, Iterable
  import yaml
  from yaml import UnsafeLoader
  import satpy
  from satpy import DataID, DataQuery
  from satpy._config import config_search_paths, get_entry_points_config_dirs, glob_config
  from satpy.dataset.dataid import minimal_default_keys_config
  from satpy.utils import recursive_dict_update
label_desc: Use image node_id 7 for calling a global function with example usage: load_compositor_configs_for_sensors(sensor_names) and returns: comps,  mods