code: def dict_hash(dictionary: dict[str, Any]) -> str:
      """MD5 hash of a dictionary. Sorted and dumped via json to account for random sequence)"""
      # noinspection InsecureHash
      dhash = hashlib.md5()
      try:
          encoded = json.dumps(
              dictionary, sort_keys=True, default=vars
          ).encode()
      except TypeError:
          get_console().print(dictionary)
          raise
      dhash.update(encoded)
      return dhash.hexdigest()
  
imports: from __future__ import annotations
  import hashlib
  import json
  import os
  import shutil
  import subprocess
  import sys
  from copy import copy
  from pathlib import Path
  from typing import Any
  import click
  from click import Context
  from rich.console import Console
  from airflow_breeze import NAME, VERSION
  from airflow_breeze.commands.common_options import option_answer, option_backend, option_dry_run, option_mysql_version, option_postgres_version, option_python, option_verbose
  from airflow_breeze.commands.main_command import main
  from airflow_breeze.utils.cache import check_if_cache_exists, delete_cache, touch_cache_file
  from airflow_breeze.utils.click_utils import BreezeGroup
  from airflow_breeze.utils.confirm import STANDARD_TIMEOUT, Answer, user_confirm
  from airflow_breeze.utils.console import get_console, get_stderr_console
  from airflow_breeze.utils.custom_param_types import BetterChoice
  from airflow_breeze.utils.docker_command_utils import VOLUMES_FOR_SELECTED_MOUNTS
  from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT, SCRIPTS_CI_DOCKER_COMPOSE_LOCAL_YAML_FILE, get_installation_airflow_sources, get_installation_sources_config_metadata_hash, get_package_setup_metadata_hash, get_used_airflow_sources, get_used_sources_setup_metadata_hash
  from airflow_breeze.utils.recording import generating_command_images
  from airflow_breeze.utils.reinstall import reinstall_breeze, warn_non_editable
  from airflow_breeze.utils.run_utils import run_command
  from airflow_breeze.utils.shared_options import get_dry_run, get_verbose
  from airflow_breeze.utils.visuals import ASCIIART, ASCIIART_STYLE
label_desc: Use image node_id 6 for calling a global function with example usage: dict_hash(dictionary) and returns: dhash