class_docstr: This class is not meant to be overridden and is meant to be common across
  different datastores.
class_docstr_tok: ["This","class","is","not","meant","to","be","overridden","and","is","meant","to","be","common","across","different","datastores","."]
docstr: Initialize a ContentAddressedStore
  
  A content-addressed store stores data using a name/key that is a hash
  of the content. This means that duplicate content is only stored once.
  
  Parameters
  ----------
  prefix : string
      Prefix that will be prepended when storing a file
  storage_impl : type
      Implementation for the backing storage implementation to use
docstr_tok: ["Initialize","a","ContentAddressedStore","A","content-addressed","store","stores","data","using","a","name\/key","that","is","a","hash","of","the","content",".","This","means","that","duplicate","content","is","only","stored","once",".","Parameters","--","--","--","--","--","prefix",":","string","Prefix","that","will","be","prepended","when","storing","a","file","storage_impl",":","type","Implementation","for","the","backing","storage","implementation","to","use"]
code: def __init__(self, prefix, storage_impl):
      """
      Initialize a ContentAddressedStore
  
      A content-addressed store stores data using a name/key that is a hash
      of the content. This means that duplicate content is only stored once.
  
      Parameters
      ----------
      prefix : string
          Prefix that will be prepended when storing a file
      storage_impl : type
          Implementation for the backing storage implementation to use
      """
      self._prefix = prefix
      self._storage_impl = storage_impl
      self.TYPE = self._storage_impl.TYPE
      self._blob_cache = None
  
file_path: metaflow/metaflow/datastore/content_addressed_store.py
imports: import gzip
  from collections import namedtuple
  from hashlib import sha1
  from io import BytesIO
  from ..exception import MetaflowInternalError
  from .exceptions import DataException
label_desc: Use image node_id 1 to create a new ContentAddressedStore object from inherited base classes: object with example: obj = ContentAddressedStore(prefix, storage_impl)