code: def list_providers_rst(interface=IProvider):
      lst = "\n" + interface.__name__ + "\n"
      lst += "=" * len(interface.__name__) + "\n"
      provs = providers(interface, False)
      for p in provs:
          lst += f"  * **{p.id()}** : {p.name()}" + "\n"
      return lst
  
file_path: TimeSide/timeside/core/provider.py
imports: from .component import Component, MetaComponent, abstract
  from .component import implements, implementations, interfacedoc
  from .api import IProvider
  from .exceptions import Error, PIDError, ApiError
  from .tools.parameters import HasParam
  import re
  import youtube_dl
  from requests import get
  import os
label_desc: Use image node_id 4 for calling a global function with example usage: list_providers_rst(interface) and returns: lst