def install_plugins(app):
    """
    Installs new issuers that are not currently bundled with Lemur.

    :param app:
    :return:
    """
    from lemur.plugins import plugins
    from lemur.plugins.base import register

    for ep in entry_points().get("lemur.plugins", []):
        try:
            plugin = ep.load()
        except Exception:
            import traceback

            app.logger.error(
                "Failed to load plugin {!r}:\n{}\n".format(ep.name, traceback.format_exc())
            )
        else:
            register(plugin)

    # ensure that we have some way to notify
    with app.app_context():
        slug = app.config.get("LEMUR_DEFAULT_NOTIFICATION_PLUGIN", "email-notification")
        try:
            plugins.get(slug)
        except KeyError:
            raise Exception(
                "Unable to location notification plugin: {slug}. Ensure that "
                "LEMUR_DEFAULT_NOTIFICATION_PLUGIN is set to a valid and installed notification plugin.".format(
                    slug=slug
                )
            )

        if current_app.config.get("USER_DOMAIN_AUTHORIZATION_PROVIDER"):
            try:
                user_domain_authz_provider = plugins.get(current_app.config.get("USER_DOMAIN_AUTHORIZATION_PROVIDER"))
                user_domain_authz_provider.warmup()
            except Exception:
                import traceback

                app.logger.error(
                    "Domain authorization warmup failed, this is a best effort call:\n%s\n" % (traceback.format_exc())
                )

    Installs new issuers that are not currently bundled with Lemur.

    :param app:
    :return:
    
lemur/factory.py