class_docstr: Read-only interface from a storage protocol.
  
  .. seealso::
  
      :py:class:`BaseStorageProtocol`
class_docstr_tok: ["Read-only","interface","from","a","storage","protocol",".","..","seealso",":",":",":","py",":","class",":","`","BaseStorageProtocol","`"]
docstr: Init method, see attributes of :class:`BaseStorageProtocol`.
docstr_tok: ["Init","method",",","see","attributes","of",":","class",":","`","BaseStorageProtocol","`","."]
code: def __init__(self, protocol):
      """Init method, see attributes of :class:`BaseStorageProtocol`."""
      self._storage = protocol
  
imports: from __future__ import annotations
  import contextlib
  import copy
  import logging
  import typing
  from datetime import datetime
  from typing import Literal
  import orion.core
  from orion.core.io import resolve_config
  from orion.core.utils import GenericFactory
label_desc: Use image node_id 1 to create a new ReadOnlyStorageProtocol object  with example: obj = ReadOnlyStorageProtocol(protocol)