class_docstr: A cache for output files that uses a provenance hash value that
  describes all steps, parameters, and software needed to generate
  each output file.
class_docstr_tok: ["A","cache","for","output","files","that","uses","a","provenance","hash","value","that","describes","all","steps",",","parameters",",","and","software","needed","to","generate","each","output","file","."]
code: def __init__(self):
      super().__init__()
      self.path = Path(self.cache_location)
      # make readable/writeable for all
      self.file_permissions = (
          stat.S_IRUSR
          | stat.S_IWUSR
          | stat.S_IRGRP
          | stat.S_IWGRP
          | stat.S_IROTH
          | stat.S_IWOTH
      )
      # directories need to have exec permission as well (for opening)
      self.dir_permissions = (
          self.file_permissions
          | stat.S_IXUSR
          | stat.S_IXGRP
          | stat.S_IXOTH
      )
  
file_path: snakemake/snakemake/caching/local.py
imports: from tempfile import TemporaryDirectory
  from pathlib import Path
  import os
  import shutil
  import stat
  from snakemake.logging import logger
  from snakemake.jobs import Job
  from snakemake.exceptions import WorkflowError
  from snakemake.caching import AbstractOutputFileCache
label_desc: Use image node_id 1 to create a new OutputFileCache object from inherited base classes: AbstractOutputFileCache with example: obj = OutputFileCache()