class_docstr: LocalDAL is a local DAL object that stores info locally. DAL stands for 'data access layer' and serves as a storage for
  all entities.
  
  Parameters
  ----------
  driver_type : str
      type of driver to pull from
  driver_options : dict
      options for the DALdriver class
  driver : datmo.core.storage.driver.DALDriver, optional
      Instantiated DAL driver used for backend storage for entities
  
  Attributes
  ----------
  driver_type : str
  driver_options : dict
  driver : datmo.core.storage.driver.DALDriver
      Instantiated DAL driver used for backend storage for entities
  is_initialized : bool
  model : ModelMethods
  code : CodeMethods
  environment : EnvironmentMethods
  file_collection : FileCollectionMethods
  task : TaskMethods
  snapshot : SnapshotMethods
  user : UserMethods
  
  Methods
  -------
  init()
      initialize the dal
class_docstr_tok: ["LocalDAL","is","a","local","DAL","object","that","stores","info","locally",".","DAL","stands","for","'data","access","layer","'","and","serves","as","a","storage","for","all","entities",".","Parameters","--","--","--","--","--","driver_type",":","str","type","of","driver","to","pull","from","driver_options",":","dict","options","for","the","DALdriver","class","driver",":","datmo.core.storage.driver.DALDriver",",","optional","Instantiated","DAL","driver","used","for","backend","storage","for","entities","Attributes","--","--","--","--","--","driver_type",":","str","driver_options",":","dict","driver",":","datmo.core.storage.driver.DALDriver","Instantiated","DAL","driver","used","for","backend","storage","for","entities","is_initialized",":","bool","model",":","ModelMethods","code",":","CodeMethods","environment",":","EnvironmentMethods","file_collection",":","FileCollectionMethods","task",":","TaskMethods","snapshot",":","SnapshotMethods","user",":","UserMethods","Methods","--","--","--","-","init","(",")","initialize","the","dal"]
docstr: Snapshot CRUD methods
  
  Returns
  -------
  SnapshotMethods
      Specific set of CRUD functions for snapshot
  
  Raises
  ------
  DALNotInitialized
docstr_tok: ["Snapshot","CRUD","methods","Returns","--","--","--","-","SnapshotMethods","Specific","set","of","CRUD","functions","for","snapshot","Raises","--","--","--","DALNotInitialized"]
code: def snapshot(self):
      """Snapshot CRUD methods
  
      Returns
      -------
      SnapshotMethods
          Specific set of CRUD functions for snapshot
  
      Raises
      ------
      DALNotInitialized
      """
      if not self.is_initialized:
          raise DALNotInitialized()
      return SnapshotMethods(self.driver)
  
imports: import os
  from kids.cache import cache
  from datetime import datetime
  from datmo.core.util.i18n import get
  from datmo.core.entity.model import Model
  from datmo.core.entity.code import Code
  from datmo.core.entity.environment import Environment
  from datmo.core.entity.file_collection import FileCollection
  from datmo.core.entity.task import Task
  from datmo.core.entity.snapshot import Snapshot
  from datmo.core.entity.user import User
  from datmo.core.util.exceptions import InputError, EntityNotFound, MoreThanOneEntityFound, DALNotInitialized
  from datmo.core.util.misc_functions import create_unique_hash
  from datmo.core.storage.driver.blitzdb_dal_driver import BlitzDBDALDriver
label_desc: Use image node_id 8 for calling the LocalDAL obj's underlying member method code with example usage: obj.snapshot() and returns: SnapshotMethods