class_docstr: Store models on Google Cloud Storage.
  
  Fetches them when needed, instead of storing them on the local disk.
class_docstr_tok: ["Store","models","on","Google","Cloud","Storage",".","Fetches","them","when","needed",",","instead","of","storing","them","on","the","local","disk","."]
docstr: Initialise class with client and bucket.
docstr_tok: ["Initialise","class","with","client","and","bucket","."]
code: def __init__(self, bucket_name: Text) -> None:
      """Initialise class with client and bucket."""
      # there are no type hints in this repo for now
      # https://github.com/googleapis/python-storage/issues/393
      from google.cloud import storage  # type: ignore[attr-defined]
  
      super().__init__()
  
      self.storage_client = storage.Client()
      self._ensure_bucket_exists(bucket_name)
  
      self.bucket_name = bucket_name
      self.bucket = self.storage_client.bucket(bucket_name)
  
imports: import abc
  import logging
  import os
  import shutil
  from typing import Optional, Text, Tuple, TYPE_CHECKING
  import rasa.shared.utils.common
  import rasa.utils.common
label_desc: Use image node_id 1 to create a new GCSPersistor object from inherited base classes: Persistor with example: obj = GCSPersistor(bucket_name)