code: def load_compositor_configs_for_sensor(
      sensor_name: str,
  ) -> tuple[dict[str, dict], dict[str, dict], dict]:
      """Load compositor, modifier, and DataID key information from configuration files for the specified sensor.
  
      Args:
          sensor_name: Sensor name that has matching ``sensor_name.yaml``
              config files.
  
      Returns:
          (comps, mods, data_id_keys): Where `comps` is a dictionary:
  
                  composite ID -> compositor object
  
              And `mods` is a dictionary:
  
                  modifier name -> (modifier class, modifiers options)
  
              Add `data_id_keys` is a dictionary:
  
                  DataID key -> key properties
  
      """
      config_filename = sensor_name + ".yaml"
      logger.debug(
          "Looking for composites config file %s", config_filename
      )
      paths = get_entry_points_config_dirs("satpy.composites")
      composite_configs = config_search_paths(
          os.path.join("composites", config_filename),
          search_dirs=paths,
          check_exists=True,
      )
      if not composite_configs:
          logger.debug(
              "No composite config found called %s", config_filename
          )
          return {}, {}, minimal_default_keys_config
      return _load_config(composite_configs)
  
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 6 for calling a global function with example usage: load_compositor_configs_for_sensor(sensor_name) and returns: _load_config, dict,  dict,  minimal_default_keys_config