docstr: Hashes the configs that are not compile_ignored
code: def get_hash(self) -> bytes:
      """Hashes the configs that are not compile_ignored"""
      if self._is_dirty or self._hash_digest is None:
          dict_to_hash = {
              k: v
              for k, v in self._config.items()
              if k not in self._compile_ignored_keys
          }
          string_to_hash = repr(sorted(dict_to_hash.items()))
          self._hash_digest = hashlib.md5(
              string_to_hash.encode("utf-8")
          ).digest()
          self._is_dirty = False
      return self._hash_digest
  
imports: import contextlib
  import copy
  import hashlib
  import inspect
  import io
  import pickle
  import tokenize
  import unittest
  import warnings
  from types import FunctionType, ModuleType
  from typing import Any, Dict, Optional, Set, Union
  from unittest import mock
label_desc: Use image node_id 7 for calling the ConfigModule obj's underlying member method code with example usage: obj.get_hash() and returns: self