class_docstr: Use Apprise(https://github.com/caronc/apprise) to interact with notification services.
  
  The complete list of notification services supported by Apprise can be found at:
  https://github.com/caronc/apprise/wiki#notification-services.
  
  :param apprise_conn_id: :ref:`Apprise connection id <howto/connection:apprise>`
      that has services configured in the `config` field.
docstr: Send message to plugged-in services.
  
  :param body: Specify the message body
  :param title: Specify the message title. (optional)
  :param notify_type: Specify the message type (default=info). Possible values are "info",
      "success", "failure", and "warning"
  :param body_format: Specify the input message format (default=text). Possible values are "text",
      "html", and "markdown".
  :param tag: Specify one or more tags to filter which services to notify
  :param attach: Specify one or more file attachment locations
  :param interpret_escapes: Enable interpretation of backslash escapes. For example, this would convert
      sequences such as \n and \r to their respective ascii new-line and carriage return characters
  :param config: Specify one or more configuration
docstr_tok: ["Send","message","to","plugged-in","services",".",":","param","body",":","Specify","the","message","body",":","param","title",":","Specify","the","message","title",".","(","optional",")",":","param","notify_type",":","Specify","the","message","type","(","default=info",")",".","Possible","values","are","``","info","''",",","``","success","''",",","``","failure","''",",","and","``","warning","''",":","param","body_format",":","Specify","the","input","message","format","(","default=text",")",".","Possible","values","are","``","text","''",",","``","html","''",",","and","``","markdown","''",".",":","param","tag",":","Specify","one","or","more","tags","to","filter","which","services","to","notify",":","param","attach",":","Specify","one","or","more","file","attachment","locations",":","param","interpret_escapes",":","Enable","interpretation","of","backslash","escapes",".","For","example",",","this","would","convert","sequences","such","as","\\n","and","\\r","to","their","respective","ascii","new-line","and","carriage","return","characters",":","param","config",":","Specify","one","or","more","configuration"]
code: def notify(
      self,
      body: str,
      title: str | None = None,
      notify_type: NotifyType = NotifyType.INFO,
      body_format: NotifyFormat = NotifyFormat.TEXT,
      tag: str | Iterable[str] | None = None,
      attach: str | Iterable[str] | None = None,
      interpret_escapes: bool | None = None,
      config: AppriseConfig | None = None,
  ):
      r"""
      Send message to plugged-in services.
  
      :param body: Specify the message body
      :param title: Specify the message title. (optional)
      :param notify_type: Specify the message type (default=info). Possible values are "info",
          "success", "failure", and "warning"
      :param body_format: Specify the input message format (default=text). Possible values are "text",
          "html", and "markdown".
      :param tag: Specify one or more tags to filter which services to notify
      :param attach: Specify one or more file attachment locations
      :param interpret_escapes: Enable interpretation of backslash escapes. For example, this would convert
          sequences such as \n and \r to their respective ascii new-line and carriage return characters
      :param config: Specify one or more configuration
      """
      title = title or ""
  
      apprise_obj = apprise.Apprise()
      if config:
          apprise_obj.add(config)
      else:
          self.set_config_from_conn(apprise_obj)
      apprise_obj.notify(
          body=body,
          title=title,
          notify_type=notify_type,
          body_format=body_format,
          tag=tag,
          attach=attach,
          interpret_escapes=interpret_escapes,
      )
  
file_path: airflow/airflow/providers/apprise/hooks/apprise.py
imports: from __future__ import annotations
  import json
  from typing import Any, Iterable
  import apprise
  from apprise import AppriseConfig, NotifyFormat, NotifyType
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 4 for calling the AppriseHook obj's underlying member method code with example usage: obj.notify(body, title, notify_type, body_format, tag, attach, interpret_escapes, config) without return types