[mod] addition of various type hints / tbc

- pyright configuration [1]_
- stub files: types-lxml [2]_
- addition of various type hints
- enable use of new type system features on older Python versions [3]_
- ``.tool-versions`` - set python to lowest version we support (3.10.18) [4]_:
  Older versions typically lack some typing features found in newer Python
  versions.  Therefore, for local type checking (before commit), it is necessary
  to use the older Python interpreter.

.. [1] https://docs.basedpyright.com/v1.20.0/configuration/config-files/
.. [2] https://pypi.org/project/types-lxml/
.. [3] https://typing-extensions.readthedocs.io/en/latest/#
.. [4] https://mise.jdx.dev/configuration.html#tool-versions

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Format: reST
This commit is contained in:
Markus Heiser
2025-08-22 17:17:51 +02:00
committed by Markus Heiser
parent 09500459fe
commit 57b9673efb
107 changed files with 1205 additions and 1251 deletions

View File

@@ -1,11 +1,9 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# pylint: disable=missing-module-docstring
import typing
import math
import contextlib
from timeit import default_timer
from operator import itemgetter
from searx.engines import engines
from searx.openmetrics import OpenMetricsFamily
@@ -30,8 +28,8 @@ __all__ = [
ENDPOINTS = {'search'}
histogram_storage: typing.Optional[HistogramStorage] = None
counter_storage: typing.Optional[CounterStorage] = None
histogram_storage: HistogramStorage = None # type: ignore
counter_storage: CounterStorage = None # type: ignore
@contextlib.contextmanager
@@ -57,11 +55,11 @@ def histogram(*args, raise_on_not_found=True):
return h
def counter_inc(*args):
def counter_inc(*args: str):
counter_storage.add(1, *args)
def counter_add(value, *args):
def counter_add(value: int, *args: str):
counter_storage.add(value, *args)
@@ -69,7 +67,7 @@ def counter(*args):
return counter_storage.get(*args)
def initialize(engine_names=None, enabled=True):
def initialize(engine_names: list[str] | None = None, enabled: bool = True) -> None:
"""
Initialize metrics
"""
@@ -174,7 +172,7 @@ def get_reliabilities(engline_name_list, checker_results):
return reliabilities
def get_engines_stats(engine_name_list):
def get_engines_stats(engine_name_list: list[str]):
assert counter_storage is not None
assert histogram_storage is not None