From bb99445f3ed70813d7c819a35543466c035750f6 Mon Sep 17 00:00:00 2001 From: rafsaf Date: Wed, 12 Jul 2023 01:24:12 +0200 Subject: [PATCH] Improve Gauge typing for param multiprocess_mode --- prometheus_client/metrics.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prometheus_client/metrics.py b/prometheus_client/metrics.py index 392e1e4d..a089a42d 100644 --- a/prometheus_client/metrics.py +++ b/prometheus_client/metrics.py @@ -1,4 +1,5 @@ import os +import sys from threading import Lock import time import types @@ -17,6 +18,9 @@ from .samples import Exemplar, Sample from .utils import floatToGoString, INF +if sys.version_info >= (3, 8, 0): + from typing import Literal + T = TypeVar('T', bound='MetricWrapperBase') F = TypeVar("F", bound=Callable[..., Any]) @@ -357,7 +361,7 @@ def __init__(self, unit: str = '', registry: Optional[CollectorRegistry] = REGISTRY, _labelvalues: Optional[Sequence[str]] = None, - multiprocess_mode: str = 'all', + multiprocess_mode: "Literal['all', 'liveall', 'min', 'livemin', 'max', 'livemax', 'sum', 'livesum']" = 'all', ): self._multiprocess_mode = multiprocess_mode if multiprocess_mode not in self._MULTIPROC_MODES: