# SPDX-License-Identifier: AGPL-3.0-or-later """The *answerers* give instant answers related to the search query, they usually provide answers of type :py:obj:`Answer `. Here is an example of a very simple answerer that adds a "Hello" into the answer area: .. code:: from flask_babel import gettext as _ from searx.answerers import Answerer from searx.result_types import Answer class MyAnswerer(Answerer): keywords = [ "hello", "hello world" ] def info(self): return AnswererInfo(name=_("Hello"), description=_("lorem .."), keywords=self.keywords) def answer(self, request, search): return [ Answer(answer="Hello") ] ---- .. autoclass:: Answerer :members: .. autoclass:: AnswererInfo :members: .. autoclass:: AnswerStorage :members: .. autoclass:: searx.answerers._core.ModuleAnswerer :members: :show-inheritance: """ from __future__ import annotations __all__ = ["AnswererInfo", "Answerer", "AnswerStorage"] from ._core import AnswererInfo, Answerer, AnswerStorage STORAGE: AnswerStorage = AnswerStorage() STORAGE.load_builtins()