docs: def attribute_dependend_key(key_function, *dependencies):
      """Return a cache key for the specified hashable arguments with additional dependent arguments."""
  
      def dependend_key_function(self, *args, **kwargs):
          key = hash_key(*args, **kwargs)
          
          if len(dependencies) > 0:
              dependecies_dict = {}
              for dependency in dependencies:
                  value = eval(dependency)
                  dependecies_dict[dependency] = value
              
              key = key + cachetools.keys._HashedTuple(_dependency_mark + tuple(itertools.chain(sorted(dependecies_dict.items()))))
  
          return key
      
      return dependend_key_function