docs: def apply_plugins(plugin_names):
      """
      This function should be used by code in the SQUAD core to trigger
      functionality from plugins.
  
      The ``plugin_names`` argument is list of plugins names to be used. Most
      probably, you will want to pass the list of plugins enabled for a given
      project, e.g.  ``project.enabled_plugins``.
  
      Example::
  
          from squad.core.plugins import apply_plugins
  
          # ...
  
          for plugin in apply_plugins(project.enabled_plugins):
              plugin.method(...)
  
      """
      if plugin_names is None:
          return
  
      for p in plugin_names:
          try:
              plugin = get_plugin_instance(p)
              yield(plugin)
          except PluginNotFound:
              pass