class_docstr: Class providing all logic for managing the store in a generic way.
  
  The StoreBackend subclass has to implement 3 methods: create_location,
  clear_location and configure. The StoreBackend also has to provide
  a private _open_item, _item_exists and _move_item methods. The _open_item
  method has to have the same signature as the builtin open and return a
  file-like object.
class_docstr_tok: ["Class","providing","all","logic","for","managing","the","store","in","a","generic","way",".","The","StoreBackend","subclass","has","to","implement","3","methods",":","create_location",",","clear_location","and","configure",".","The","StoreBackend","also","has","to","provide","a","private","_open_item",",","_item_exists","and","_move_item","methods",".","The","_open_item","method","has","to","have","the","same","signature","as","the","builtin","open","and","return","a","file-like","object","."]
docstr: Return information related to the cached function if it exists.
docstr_tok: ["Return","information","related","to","the","cached","function","if","it","exists","."]
code: def get_cached_func_info(self, path):
      """Return information related to the cached function if it exists."""
      return {"location": os.path.join(self.location, *path)}
  
imports: from pickle import PicklingError
  import re
  import os
  import os.path
  import datetime
  import json
  import shutil
  import warnings
  import collections
  import operator
  import threading
  from abc import ABCMeta, abstractmethod
  from .backports import concurrency_safe_rename
  from .disk import mkdirp, memstr_to_bytes, rm_subdirs
  from .None import numpy_pickle
label_desc: Use image node_id 12 for calling the StoreBackendMixin obj's underlying member method code with example usage: obj.get_cached_func_info(path) and returns: dict