code: def update(
      snapshot_id=None,
      config=None,
      stats=None,
      message=None,
      label=None,
  ):
      """Update a snapshot within a project
  
      The project must be created before this is implemented. You can do that by using
      the following command::
  
          $ datmo init
  
  
      Parameters
      ----------
      snapshot_id : str
          snapshot id to be updated
      config : dict, optional
          provide the dictionary of configurations to update
          (default is None, which means it is not being updated)
      stats : dict, optional
          provide the dictionary of relevant statistics or metrics to update
          (default is None, which means it is not being updated)
      message : str, optional
          a string to use as a new message for the snapshot
          (default is the already given message to that snapshot, unless provided a specific string.)
      label : str, optional
          a string to use as a new label for the snapshot
          (default is the already given label to that snapshot, unless provided a specific string.)
  
      Returns
      -------
      snapshot entity
          returns a Snapshot entity
  
      Examples
      --------
      You can use this function within a project repository to update a snapshot.
  
      >>> import datmo
      >>> snapshots = datmo.snapshot.update(snapshot_id="4L24adFfsa", config={"depth": "10", "learning_rate": "0.91"},
      ...          stats={"acc": "91.34", "f1_score": "0.91"}, message="new message", label="best")
      """
      snapshot_controller = SnapshotController()
  
      return snapshot_controller.update(
          snapshot_id=snapshot_id,
          config=config,
          stats=stats,
          message=message,
          label=label,
      )
  
file_path: datmo/datmo/snapshot.py
imports: import os
  from datmo.core.controller.snapshot import SnapshotController
  from datmo.core.entity.snapshot import Snapshot
  from datmo.core.util.exceptions import InvalidArgumentType, SnapshotCreateFromTaskArgs
  from datmo.core.util.misc_functions import prettify_datetime, format_table
label_desc: Use image node_id 3 for calling a global function with example usage: update(snapshot_id, config, stats, message, label) and returns: snapshot_controller