docs: def _path(self, key):
          """
          Get the full path for the given cache key.
  
          :param key: The cache key
          :type key: str
  
          :rtype: str
          """
          hash_type, parts_count = self._HASHES[self._hash_type]
          h = hash_type(encode(key)).hexdigest()
  
          parts = [h[i:i+2] for i in range(0, len(h), 2)][:parts_count]
  
          return os.path.join(self._directory, os.path.sep.join(parts), h)