-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
config.pyi
134 lines (113 loc) · 5.65 KB
/
config.pyi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
import sys
from _typeshed import StrOrBytesPath
from collections.abc import Callable, Hashable, Iterable, Mapping, Sequence
from configparser import RawConfigParser
from re import Pattern
from threading import Thread
from typing import IO, Any, Final, Literal, SupportsIndex, TypedDict, overload
from typing_extensions import Required, TypeAlias
from . import Filter, Filterer, Formatter, Handler, Logger, _FilterType, _FormatStyle, _Level
DEFAULT_LOGGING_CONFIG_PORT: int
RESET_ERROR: Final[int] # undocumented
IDENTIFIER: Final[Pattern[str]] # undocumented
if sys.version_info >= (3, 11):
class _RootLoggerConfiguration(TypedDict, total=False):
level: _Level
filters: Sequence[str | _FilterType]
handlers: Sequence[str]
else:
class _RootLoggerConfiguration(TypedDict, total=False):
level: _Level
filters: Sequence[str]
handlers: Sequence[str]
class _LoggerConfiguration(_RootLoggerConfiguration, TypedDict, total=False):
propagate: bool
_FormatterConfigurationTypedDict = TypedDict(
"_FormatterConfigurationTypedDict", {"class": str, "format": str, "datefmt": str, "style": _FormatStyle}, total=False
)
class _FilterConfigurationTypedDict(TypedDict):
name: str
# Formatter and filter configs can specify custom factories via the special `()` key.
# If that is the case, the dictionary can contain any additional keys
# https://docs.python.org/3/library/logging.config.html#user-defined-objects
_FormatterConfiguration: TypeAlias = _FormatterConfigurationTypedDict | dict[str, Any]
_FilterConfiguration: TypeAlias = _FilterConfigurationTypedDict | dict[str, Any]
# Handler config can have additional keys even when not providing a custom factory so we just use `dict`.
_HandlerConfiguration: TypeAlias = dict[str, Any]
class _DictConfigArgs(TypedDict, total=False):
version: Required[Literal[1]]
formatters: dict[str, _FormatterConfiguration]
filters: dict[str, _FilterConfiguration]
handlers: dict[str, _HandlerConfiguration]
loggers: dict[str, _LoggerConfiguration]
root: _RootLoggerConfiguration
incremental: bool
disable_existing_loggers: bool
# Accept dict[str, Any] to avoid false positives if called with a dict
# type, since dict types are not compatible with TypedDicts.
#
# Also accept a TypedDict type, to allow callers to use TypedDict
# types, and for somewhat stricter type checking of dict literals.
def dictConfig(config: _DictConfigArgs | dict[str, Any]) -> None: ...
if sys.version_info >= (3, 10):
def fileConfig(
fname: StrOrBytesPath | IO[str] | RawConfigParser,
defaults: Mapping[str, str] | None = None,
disable_existing_loggers: bool = True,
encoding: str | None = None,
) -> None: ...
else:
def fileConfig(
fname: StrOrBytesPath | IO[str] | RawConfigParser,
defaults: Mapping[str, str] | None = None,
disable_existing_loggers: bool = True,
) -> None: ...
def valid_ident(s: str) -> Literal[True]: ... # undocumented
def listen(port: int = 9030, verify: Callable[[bytes], bytes | None] | None = None) -> Thread: ...
def stopListening() -> None: ...
class ConvertingMixin: # undocumented
def convert_with_key(self, key: Any, value: Any, replace: bool = True) -> Any: ...
def convert(self, value: Any) -> Any: ...
class ConvertingDict(dict[Hashable, Any], ConvertingMixin): # undocumented
def __getitem__(self, key: Hashable) -> Any: ...
def get(self, key: Hashable, default: Any = None) -> Any: ...
def pop(self, key: Hashable, default: Any = None) -> Any: ...
class ConvertingList(list[Any], ConvertingMixin): # undocumented
@overload
def __getitem__(self, key: SupportsIndex) -> Any: ...
@overload
def __getitem__(self, key: slice) -> Any: ...
def pop(self, idx: SupportsIndex = -1) -> Any: ...
class ConvertingTuple(tuple[Any, ...], ConvertingMixin): # undocumented
@overload
def __getitem__(self, key: SupportsIndex) -> Any: ...
@overload
def __getitem__(self, key: slice) -> Any: ...
class BaseConfigurator: # undocumented
CONVERT_PATTERN: Pattern[str]
WORD_PATTERN: Pattern[str]
DOT_PATTERN: Pattern[str]
INDEX_PATTERN: Pattern[str]
DIGIT_PATTERN: Pattern[str]
value_converters: dict[str, str]
importer: Callable[..., Any]
def __init__(self, config: _DictConfigArgs | dict[str, Any]) -> None: ...
def resolve(self, s: str) -> Any: ...
def ext_convert(self, value: str) -> Any: ...
def cfg_convert(self, value: str) -> Any: ...
def convert(self, value: Any) -> Any: ...
def configure_custom(self, config: dict[str, Any]) -> Any: ...
def as_tuple(self, value: list[Any] | tuple[Any, ...]) -> tuple[Any, ...]: ...
class DictConfigurator(BaseConfigurator):
def configure(self) -> None: ... # undocumented
def configure_formatter(self, config: _FormatterConfiguration) -> Formatter | Any: ... # undocumented
def configure_filter(self, config: _FilterConfiguration) -> Filter | Any: ... # undocumented
def add_filters(self, filterer: Filterer, filters: Iterable[_FilterType]) -> None: ... # undocumented
def configure_handler(self, config: _HandlerConfiguration) -> Handler | Any: ... # undocumented
def add_handlers(self, logger: Logger, handlers: Iterable[str]) -> None: ... # undocumented
def common_logger_config(
self, logger: Logger, config: _LoggerConfiguration, incremental: bool = False
) -> None: ... # undocumented
def configure_logger(self, name: str, config: _LoggerConfiguration, incremental: bool = False) -> None: ... # undocumented
def configure_root(self, config: _LoggerConfiguration, incremental: bool = False) -> None: ... # undocumented
dictConfigClass = DictConfigurator