class_docstr: Implement a generic protocol to allow Orion to communicate using
  different storage backend
class_docstr_tok: ["Implement","a","generic","protocol","to","allow","Orion","to","communicate","using","different","storage","backend"]
docstr: Delete experiment algorithm lock from the storage
  
  Parameters
  ----------
  experiment: Experiment, optional
     experiment object to retrieve from the database
  uid: str or int, optional
      experiment id used to retrieve the trial object
  
  Returns
  -------
  Number of algorithm lock deleted. Should 1 if successful, 0 is failed.
  
  Raises
  ------
  UndefinedCall
      if both experiment and uid are not set
  AssertionError
      if both experiment and uid are provided and they do not match
docstr_tok: ["Delete","experiment","algorithm","lock","from","the","storage","Parameters","--","--","--","--","--","experiment",":","Experiment",",","optional","experiment","object","to","retrieve","from","the","database","uid",":","str","or","int",",","optional","experiment","id","used","to","retrieve","the","trial","object","Returns","--","--","--","-","Number","of","algorithm","lock","deleted",".","Should","1","if","successful",",","0","is","failed",".","Raises","--","--","--","UndefinedCall","if","both","experiment","and","uid","are","not","set","AssertionError","if","both","experiment","and","uid","are","provided","and","they","do","not","match"]
code: def delete_algorithm_lock(
      self,
      experiment: Experiment | None = None,
      uid: str | int | None = None,
  ) -> Literal[0, 1]:
      """Delete experiment algorithm lock from the storage
  
      Parameters
      ----------
      experiment: Experiment, optional
         experiment object to retrieve from the database
      uid: str or int, optional
          experiment id used to retrieve the trial object
  
      Returns
      -------
      Number of algorithm lock deleted. Should 1 if successful, 0 is failed.
  
      Raises
      ------
      UndefinedCall
          if both experiment and uid are not set
      AssertionError
          if both experiment and uid are provided and they do not match
      """
      raise NotImplementedError()
  
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 28 for calling the BaseStorageProtocol obj's underlying member method code with example usage: obj.delete_algorithm_lock(experiment, uid) without return types