docs: def get_library(self, library):
          """
          Return the library instance.  Can generally use slicing to return the library:
              arctic_store[library]
  
          Parameters
          ----------
          library : `str`
              The name of the library. e.g. 'library' or 'user.library'
          """
          if library in self._library_cache:
              return self._library_cache[library]
  
          try:
              error = None
              lib = ArcticLibraryBinding(self, library)
              lib_type = lib.get_library_type()
          except (OperationFailure, AutoReconnect) as e:
              error = e
  
          if error:
              raise LibraryNotFoundException("Library %s was not correctly initialized in %s.\nReason: %r)" %
                                             (library, self, error))
          elif not lib_type:
              raise LibraryNotFoundException("Library %s was not correctly initialized in %s." %
                                             (library, self))
          elif lib_type not in LIBRARY_TYPES:
              raise LibraryNotFoundException("Couldn't load LibraryType '%s' for '%s' (has the class been registered?)" %
                                             (lib_type, library))
          instance = LIBRARY_TYPES[lib_type](lib)
          self._library_cache[library] = instance
          # The library official name may be different from 'library': e.g. 'library' vs 'user.library'
          self._library_cache[lib.get_name()] = instance
          return self._library_cache[library]