summaryrefslogtreecommitdiff
path: root/searx/metrics/__init__.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2025-08-22 17:17:51 +0200
committerMarkus Heiser <markus.heiser@darmarIT.de>2025-09-03 13:37:36 +0200
commit57b9673efb1b4fd18a3ac15e26da642201e2cd33 (patch)
tree79d3ecd365a1669a1109aa7e5dd3636bc1041d96 /searx/metrics/__init__.py
parent09500459feffa414dc7a0601bdb164464a8b0454 (diff)
[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
Diffstat (limited to 'searx/metrics/__init__.py')
-rw-r--r--searx/metrics/__init__.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/searx/metrics/__init__.py b/searx/metrics/__init__.py
index 00a811635..da833a8c9 100644
--- a/searx/metrics/__init__.py
+++ b/searx/metrics/__init__.py
@@ -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