mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-29 07:06:55 +08:00
ast, configparser, glob: Python 3.13 updates (#12050)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
# =========================
|
||||
|
||||
# TODO: triage these new errors
|
||||
_ast.PyCF_OPTIMIZED_AST
|
||||
_collections_abc.dict_items.isdisjoint
|
||||
_collections_abc.dict_keys.isdisjoint
|
||||
_ctypes.POINTER
|
||||
@@ -11,7 +10,6 @@ _ctypes.addressof
|
||||
_ctypes.alignment
|
||||
_ctypes.pointer
|
||||
_ctypes.sizeof
|
||||
_json.encode_basestring_ascii
|
||||
_thread.interrupt_main
|
||||
_thread.lock
|
||||
_thread.stack_size
|
||||
@@ -20,7 +18,6 @@ _thread.start_new_thread
|
||||
_tkinter.TkappType.gettrace
|
||||
_tkinter.TkappType.settrace
|
||||
_tkinter.create
|
||||
ast.PyCF_OPTIMIZED_AST
|
||||
asyncio.AbstractEventLoop.create_server
|
||||
asyncio.AbstractServer.abort_clients
|
||||
asyncio.AbstractServer.close_clients
|
||||
@@ -53,13 +50,6 @@ codecs.namereplace_errors
|
||||
codecs.replace_errors
|
||||
codecs.strict_errors
|
||||
codecs.xmlcharrefreplace_errors
|
||||
configparser.LegacyInterpolation
|
||||
configparser.MultilineContinuationError
|
||||
configparser.ParsingError.__init__
|
||||
configparser.ParsingError.combine
|
||||
configparser.RawConfigParser.__init__
|
||||
configparser.UNNAMED_SECTION
|
||||
configparser.__all__
|
||||
ctypes.POINTER
|
||||
ctypes._endian.DEFAULT_MODE
|
||||
ctypes._endian.RTLD_GLOBAL
|
||||
@@ -98,8 +88,6 @@ doctest.TestResults.__new__
|
||||
email.utils.getaddresses
|
||||
email.utils.parseaddr
|
||||
filecmp.dircmp.__init__
|
||||
glob.__all__
|
||||
glob.translate
|
||||
importlib.metadata.DeprecatedTuple
|
||||
importlib.metadata.Distribution.origin
|
||||
importlib.metadata._meta.SimplePath.exists
|
||||
|
||||
@@ -7,6 +7,9 @@ PyCF_ONLY_AST: Literal[1024]
|
||||
PyCF_TYPE_COMMENTS: Literal[4096]
|
||||
PyCF_ALLOW_TOP_LEVEL_AWAIT: Literal[8192]
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
PyCF_OPTIMIZED_AST: Literal[33792]
|
||||
|
||||
# Used for node end positions in constructor keyword arguments
|
||||
_EndPositionT = typing_extensions.TypeVar("_EndPositionT", int, int | None, default=int | None) # noqa: Y023
|
||||
|
||||
|
||||
@@ -45,5 +45,5 @@ class make_scanner:
|
||||
def __init__(self, context: make_scanner) -> None: ...
|
||||
def __call__(self, string: str, index: int) -> tuple[Any, int]: ...
|
||||
|
||||
def encode_basestring_ascii(s: str) -> str: ...
|
||||
def encode_basestring_ascii(s: str, /) -> str: ...
|
||||
def scanstring(string: str, end: int, strict: bool = ...) -> tuple[str, int]: ...
|
||||
|
||||
@@ -5,7 +5,31 @@ from re import Pattern
|
||||
from typing import Any, ClassVar, Literal, TypeVar, overload
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
if sys.version_info >= (3, 12):
|
||||
if sys.version_info >= (3, 13):
|
||||
__all__ = (
|
||||
"NoSectionError",
|
||||
"DuplicateOptionError",
|
||||
"DuplicateSectionError",
|
||||
"NoOptionError",
|
||||
"InterpolationError",
|
||||
"InterpolationDepthError",
|
||||
"InterpolationMissingOptionError",
|
||||
"InterpolationSyntaxError",
|
||||
"ParsingError",
|
||||
"MissingSectionHeaderError",
|
||||
"ConfigParser",
|
||||
"RawConfigParser",
|
||||
"Interpolation",
|
||||
"BasicInterpolation",
|
||||
"ExtendedInterpolation",
|
||||
"SectionProxy",
|
||||
"ConverterMapping",
|
||||
"DEFAULTSECT",
|
||||
"MAX_INTERPOLATION_DEPTH",
|
||||
"UNNAMED_SECTION",
|
||||
"MultilineContinuationError",
|
||||
)
|
||||
elif sys.version_info >= (3, 12):
|
||||
__all__ = (
|
||||
"NoSectionError",
|
||||
"DuplicateOptionError",
|
||||
@@ -71,8 +95,9 @@ class Interpolation:
|
||||
class BasicInterpolation(Interpolation): ...
|
||||
class ExtendedInterpolation(Interpolation): ...
|
||||
|
||||
class LegacyInterpolation(Interpolation):
|
||||
def before_get(self, parser: _Parser, section: str, option: str, value: str, vars: _Section) -> str: ...
|
||||
if sys.version_info < (3, 13):
|
||||
class LegacyInterpolation(Interpolation):
|
||||
def before_get(self, parser: _Parser, section: str, option: str, value: str, vars: _Section) -> str: ...
|
||||
|
||||
class RawConfigParser(_Parser):
|
||||
_SECT_TMPL: ClassVar[str] # undocumented
|
||||
@@ -86,54 +111,108 @@ class RawConfigParser(_Parser):
|
||||
|
||||
BOOLEAN_STATES: ClassVar[Mapping[str, bool]] # undocumented
|
||||
default_section: str
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: Mapping[str, str | None] | None = None,
|
||||
dict_type: type[Mapping[str, str]] = ...,
|
||||
*,
|
||||
allow_no_value: Literal[True],
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: Mapping[str, str | None] | None,
|
||||
dict_type: type[Mapping[str, str]],
|
||||
allow_no_value: Literal[True],
|
||||
*,
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: _Section | None = None,
|
||||
dict_type: type[Mapping[str, str]] = ...,
|
||||
allow_no_value: bool = False,
|
||||
*,
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
) -> None: ...
|
||||
if sys.version_info >= (3, 13):
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: Mapping[str, str | None] | None = None,
|
||||
dict_type: type[Mapping[str, str]] = ...,
|
||||
*,
|
||||
allow_no_value: Literal[True],
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
allow_unnamed_section: bool = False,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: Mapping[str, str | None] | None,
|
||||
dict_type: type[Mapping[str, str]],
|
||||
allow_no_value: Literal[True],
|
||||
*,
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
allow_unnamed_section: bool = False,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: _Section | None = None,
|
||||
dict_type: type[Mapping[str, str]] = ...,
|
||||
allow_no_value: bool = False,
|
||||
*,
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
allow_unnamed_section: bool = False,
|
||||
) -> None: ...
|
||||
else:
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: Mapping[str, str | None] | None = None,
|
||||
dict_type: type[Mapping[str, str]] = ...,
|
||||
*,
|
||||
allow_no_value: Literal[True],
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: Mapping[str, str | None] | None,
|
||||
dict_type: type[Mapping[str, str]],
|
||||
allow_no_value: Literal[True],
|
||||
*,
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
) -> None: ...
|
||||
@overload
|
||||
def __init__(
|
||||
self,
|
||||
defaults: _Section | None = None,
|
||||
dict_type: type[Mapping[str, str]] = ...,
|
||||
allow_no_value: bool = False,
|
||||
*,
|
||||
delimiters: Sequence[str] = ("=", ":"),
|
||||
comment_prefixes: Sequence[str] = ("#", ";"),
|
||||
inline_comment_prefixes: Sequence[str] | None = None,
|
||||
strict: bool = True,
|
||||
empty_lines_in_values: bool = True,
|
||||
default_section: str = "DEFAULT",
|
||||
interpolation: Interpolation | None = ...,
|
||||
converters: _ConvertersMap = ...,
|
||||
) -> None: ...
|
||||
|
||||
def __len__(self) -> int: ...
|
||||
def __getitem__(self, key: str) -> SectionProxy: ...
|
||||
def __setitem__(self, key: str, value: _Section) -> None: ...
|
||||
@@ -300,7 +379,10 @@ class InterpolationSyntaxError(InterpolationError): ...
|
||||
class ParsingError(Error):
|
||||
source: str
|
||||
errors: list[tuple[int, str]]
|
||||
if sys.version_info >= (3, 12):
|
||||
if sys.version_info >= (3, 13):
|
||||
def __init__(self, source: str, *args: object) -> None: ...
|
||||
def combine(self, others: Iterable[ParsingError]) -> ParsingError: ...
|
||||
elif sys.version_info >= (3, 12):
|
||||
def __init__(self, source: str) -> None: ...
|
||||
else:
|
||||
def __init__(self, source: str | None = None, filename: str | None = None) -> None: ...
|
||||
@@ -311,3 +393,12 @@ class MissingSectionHeaderError(ParsingError):
|
||||
lineno: int
|
||||
line: str
|
||||
def __init__(self, filename: str, lineno: int, line: str) -> None: ...
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
class _UNNAMED_SECTION: ...
|
||||
UNNAMED_SECTION: _UNNAMED_SECTION
|
||||
|
||||
class MultilineContinuationError(ParsingError):
|
||||
lineno: int
|
||||
line: str
|
||||
def __init__(self, filename: str, lineno: int, line: str) -> None: ...
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
import sys
|
||||
from _typeshed import StrOrBytesPath
|
||||
from collections.abc import Iterator
|
||||
from collections.abc import Iterator, Sequence
|
||||
from typing import AnyStr
|
||||
|
||||
__all__ = ["escape", "glob", "iglob"]
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
__all__ += ["translate"]
|
||||
|
||||
def glob0(dirname: AnyStr, pattern: AnyStr) -> list[AnyStr]: ...
|
||||
def glob1(dirname: AnyStr, pattern: AnyStr) -> list[AnyStr]: ...
|
||||
|
||||
@@ -40,3 +43,8 @@ else:
|
||||
|
||||
def escape(pathname: AnyStr) -> AnyStr: ...
|
||||
def has_magic(s: str | bytes) -> bool: ... # undocumented
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
def translate(
|
||||
pat: str, *, recursive: bool = False, include_hidden: bool = False, seps: Sequence[str] | None = None
|
||||
) -> str: ...
|
||||
|
||||
Reference in New Issue
Block a user