# ==========
# Allowlist entries that should be fixed
# ==========

# Please keep sorted alphabetically

_collections_abc.AsyncGenerator.ag_await
_collections_abc.AsyncGenerator.ag_code
_collections_abc.AsyncGenerator.ag_frame
_collections_abc.AsyncGenerator.ag_running
_collections_abc.ItemsView.__reversed__
_collections_abc.KeysView.__reversed__
_collections_abc.ValuesView.__reversed__
_csv.Dialect.__init__  # C __init__ signature is inaccurate
_ctypes.CFuncPtr  # stubtest erroneously thinks it can't be subclassed
_threading_local.local.__new__
ast.Bytes.__new__
ast.Ellipsis.__new__
ast.NameConstant.__new__
ast.Num.__new__
ast.Str.__new__
asyncio.BaseEventLoop.subprocess_exec # BaseEventLoop adds several parameters and stubtest fails on the difference if we add them
asyncio.base_events.BaseEventLoop.subprocess_exec # BaseEventLoop adds several parameters and stubtest fails on the difference if we add them
asyncio.Future.__init__  # Usually initialized from c object
asyncio.futures.Future.__init__  # Usually initialized from c object
builtins.dict.get
collections\.ChainMap\.fromkeys  # https://github.com/python/mypy/issues/17023
collections\.UserList\.sort  # Runtime has *args but will error if any are supplied
configparser.SectionProxy.__getattr__  # SectionProxy can have arbitrary attributes when custom converters are used
# SectionProxy get functions are set in __init__
configparser.SectionProxy.getboolean
configparser.SectionProxy.getfloat
configparser.SectionProxy.getint
copy.PyStringMap  # defined only in Jython
ctypes.CDLL._FuncPtr  # None at class level but initialized in __init__ to this value
ctypes.memmove  # CFunctionType
ctypes.memset  # CFunctionType
ctypes.string_at  # docstring argument name is wrong
ctypes.wstring_at  # docstring argument name is wrong
fractions.Fraction.__new__  # overload is too complicated for stubtest to resolve
ftplib.FTP.trust_server_pasv_ipv4_address  # Dangerous to use, intentionally undocumented, intentionally missing from typeshed. #6154
functools.cached_property.__set__  # Stub is a white lie; see comments in the stub
hmac.new  # Stub is a white lie; see comments in the stub
http.HTTPStatus.description  # set in __new__
http.HTTPStatus.phrase  # set in __new__
http.client.HTTPConnection.response_class  # the actual type at runtime is abc.ABCMeta
importlib.abc.FileLoader.get_filename  # Wrapped with _check_name decorator which changes runtime signature
importlib.abc.FileLoader.load_module  # Wrapped with _check_name decorator which changes runtime signature
importlib.abc.Loader.exec_module  # See Lib/importlib/_abc.py. Might be defined for backwards compatibility
importlib.abc.MetaPathFinder.find_spec  # Not defined on the actual class, but expected to exist.
importlib.abc.PathEntryFinder.find_spec  # Not defined on the actual class, but expected to exist.
importlib.machinery.ExtensionFileLoader.get_filename  # Wrapped with _check_name decorator which changes runtime signature
io.BufferedRandom.truncate
io.BufferedReader.seek
io.BufferedReader.truncate
io.BufferedWriter.seek
io.BufferedWriter.truncate
io.BytesIO.readlines
io.BytesIO.seek  # Parameter name for a positional-only param differs from its name in the inherited method
io.FileIO.seek
io.StringIO.seek
io.StringIO.truncate
io.TextIOWrapper.truncate
ipaddress.IPv4Interface.hostmask
ipaddress.IPv6Interface.hostmask
ipaddress._BaseNetwork.broadcast_address
ipaddress._BaseNetwork.hostmask
ipaddress._BaseAddress.is_global
ipaddress._BaseAddress.is_link_local
ipaddress._BaseAddress.is_loopback
ipaddress._BaseAddress.is_multicast
ipaddress._BaseAddress.is_private
ipaddress._BaseAddress.is_reserved
ipaddress._BaseAddress.is_unspecified
ipaddress._BaseAddress.max_prefixlen
ipaddress._BaseAddress.packed
ipaddress._BaseNetwork.max_prefixlen
multiprocessing.JoinableQueue
multiprocessing.Queue
multiprocessing.SimpleQueue
multiprocessing.managers.BaseManager.shutdown
multiprocessing.managers.SyncManager.Event
multiprocessing.managers.SyncManager.Lock
multiprocessing.managers.SyncManager.Namespace
multiprocessing.managers.SyncManager.RLock
multiprocessing.queues.JoinableQueue.__init__
multiprocessing.queues.Queue.__init__
multiprocessing.queues.SimpleQueue.__init__
multiprocessing.spawn._main
multiprocessing.synchronize.Barrier.__init__
multiprocessing.synchronize.Condition.acquire
multiprocessing.synchronize.Condition.release
multiprocessing.synchronize.SemLock.__init__
multiprocessing.synchronize.SemLock.acquire
multiprocessing.synchronize.SemLock.release
numbers.Number.__hash__  # typeshed marks this as abstract but code just sets this as None
optparse.Values.__getattr__  # Some attributes are set in __init__ using setattr
pickle.Pickler.reducer_override  # implemented in C pickler
pyexpat.expat_CAPI
select.poll  # Depends on configuration
selectors.DevpollSelector  # Depends on configuration
shutil.rmtree  # stubtest doesn't like that we have this as an instance of a callback protocol instead of a function
socketserver.BaseServer.fileno  # implemented in derived classes
socketserver.BaseServer.get_request  # implemented in derived classes
socketserver.BaseServer.server_bind  # implemented in derived classes
ssl.Purpose.__new__  # the multiple inheritance confuses mypy
sys.UnraisableHookArgs  # Not exported from sys
tarfile.TarFile.errors  # errors is initialized for some reason as None even though it really only accepts str
tkinter.simpledialog.[A-Z_]+
tkinter.simpledialog.TclVersion
tkinter.simpledialog.TkVersion
tkinter.Misc.after  # we intentionally don't allow everything that "works" at runtime
traceback.TracebackException.from_exception  # explicitly expanding arguments going into TracebackException __init__
typing(_extensions)?\.IO\.__next__  # Added because IO streams are iterable. See https://github.com/python/typeshed/commit/97bc450acd60c1bcdafef3ce8fbe3b95a9c0cac3
typing.type_check_only  # typing decorator that is not available at runtime
unittest.mock.patch  # It's a complicated overload and I haven't been able to figure out why stubtest doesn't like it
urllib.request.HTTPPasswordMgrWithPriorAuth.__init__  # Args are passed as is to super, so super args are specified
weakref.WeakKeyDictionary.update
weakref.WeakValueDictionary.update
xml.etree.ElementTree.XMLParser.__init__  # Defined in C so has general signature
xml.etree.cElementTree.XMLParser.__init__  # Defined in C so has general signature
xml.parsers.expat.expat_CAPI

# Modules that exist at runtime, but shouldn't be added to typeshed
idlelib

# ==========
# Modules that exist at runtime, but are missing from stubs
# ==========
ctypes.macholib
ctypes.macholib.dyld
ctypes.macholib.dylib
ctypes.macholib.framework
encodings.aliases
encodings.ascii
encodings.base64_codec
encodings.big5
encodings.big5hkscs
encodings.bz2_codec
encodings.charmap
encodings\.cp\d+
encodings\.euc_.+
encodings.gb18030
encodings.gb2312
encodings.gbk
encodings.hex_codec
encodings.hp_roman8
encodings.hz
encodings.idna
encodings\.iso2022_.*
encodings\.iso8859_\d+
encodings.johab
encodings\.koi8_\w
encodings.kz1048
encodings.latin_1
encodings\.mac_.+
encodings.palmos
encodings.ptcp154
encodings.punycode
encodings.quopri_codec
encodings.raw_unicode_escape
encodings.rot_13
encodings\.shift_jis.*
encodings.tis_620
encodings.undefined
encodings.unicode_escape
encodings.utf_16
encodings.utf_16_be
encodings.utf_16_le
encodings.utf_32
encodings.utf_32_be
encodings.utf_32_le
encodings.utf_7
encodings.uu_codec
encodings.zlib_codec
json.scanner
sqlite3.dump
turtledemo
turtledemo\..+
xml.sax.expatreader

# ==========
# Module members that exist at runtime, but are missing from stubs
# ==========
_json.encode_basestring
_thread.LockType.acquire_lock
_thread.LockType.locked_lock
_thread.LockType.release_lock
_thread.RLock
_thread.allocate
_thread.exit_thread
_thread.start_new
_threading_local._localimpl.localargs
_threading_local._localimpl.locallock
builtins.SyntaxError.print_file_and_line
bz2.BZ2File.peek
codecs.StreamReader.charbuffertype
codecs.StreamReader.seek
codecs.StreamWriter.seek
configparser.RawConfigParser.converters
ctypes.ARRAY
ctypes.SetPointerType
ctypes.c_voidp
ctypes.util.test
modulefinder.test
multiprocessing.managers.Server.accepter
multiprocessing.managers.Server.create
multiprocessing.managers.Server.debug_info
multiprocessing.managers.Server.decref
multiprocessing.managers.Server.dummy
multiprocessing.managers.Server.fallback_getvalue
multiprocessing.managers.Server.fallback_mapping
multiprocessing.managers.Server.fallback_repr
multiprocessing.managers.Server.fallback_str
multiprocessing.managers.Server.get_methods
multiprocessing.managers.Server.handle_request
multiprocessing.managers.Server.incref
multiprocessing.managers.Server.number_of_objects
multiprocessing.managers.Server.public
multiprocessing.managers.Server.serve_client
multiprocessing.managers.Server.shutdown
multiprocessing.managers.SharedMemoryServer.create
multiprocessing.managers.SharedMemoryServer.list_segments
multiprocessing.managers.SharedMemoryServer.public
multiprocessing.managers.SharedMemoryServer.release_segment
multiprocessing.managers.SharedMemoryServer.shutdown
multiprocessing.managers.SharedMemoryServer.track_segment
multiprocessing.managers.SyncManager.Barrier
multiprocessing.managers.SyncManager.JoinableQueue
multiprocessing.managers.SyncManager.Pool
multiprocessing.pool.Pool.Process
multiprocessing.pool.ThreadPool.Process
multiprocessing.synchronize.Semaphore.get_value
tkinter.Misc.config
tkinter.font.Font.counter
turtle.TNavigator.speed

# Undocumented implementation details of a deprecated class
importlib.machinery.WindowsRegistryFinder.DEBUG_BUILD
importlib.machinery.WindowsRegistryFinder.REGISTRY_KEY
importlib.machinery.WindowsRegistryFinder.REGISTRY_KEY_DEBUG

# Undocumented implementation details
profile.Profile.dispatch
profile.Profile.fake_code
profile.Profile.fake_frame
profile.Profile.trace_dispatch
profile.Profile.trace_dispatch_c_call
profile.Profile.trace_dispatch_call
profile.Profile.trace_dispatch_exception
profile.Profile.trace_dispatch_i
profile.Profile.trace_dispatch_l
profile.Profile.trace_dispatch_mac
profile.Profile.trace_dispatch_return
email.contentmanager.get_and_fixup_unknown_message_content
email.contentmanager.get_message_content
email.contentmanager.get_non_text_content
email.contentmanager.get_text_content
email.contentmanager.set_bytes_content
email.contentmanager.set_message_content
email.contentmanager.set_text_content
turtle.ScrolledCanvas.adjustScrolls
turtle.ScrolledCanvas.onResize
wave.Wave_read.initfp
wave.Wave_write.initfp

_ctypes.PyObj_FromPtr
_ctypes.Py_DECREF
_ctypes.Py_INCREF
_ctypes.buffer_info
_ctypes.call_cdeclfunction
_ctypes.call_function

# ==========
# Allowlist entries that cannot or should not be fixed
# ==========

# Runtime AST node runtime constructor behaviour is too loose.
# For static typing, the loose behaviour is undesirable (https://github.com/python/typeshed/issues/8378).
# For the runtime, the loose behaviour is deprecated in Python 3.13 (https://github.com/python/cpython/issues/105858)
_?ast.AST.__init__
_?ast.excepthandler.__init__
_?ast.expr.__init__
_?ast.stmt.__init__

# async at runtime, deliberately not in the stub, see #7491
_collections_abc.AsyncGenerator.asend  # pos-only differences also.
_collections_abc.AsyncGenerator.__anext__
_collections_abc.AsyncGenerator.aclose
_collections_abc.AsyncIterator.__anext__

# Coroutine and Generator properties are added programmatically
_collections_abc.Coroutine.cr_await
_collections_abc.Coroutine.cr_code
_collections_abc.Coroutine.cr_frame
_collections_abc.Coroutine.cr_running
_collections_abc.Generator.gi_code
_collections_abc.Generator.gi_frame
_collections_abc.Generator.gi_running
_collections_abc.Generator.gi_yieldfrom
_collections_abc.Mapping.__reversed__  # set to None at runtime for a better error message
_collections_abc.Mapping.get  # Adding None to the Union messed up mypy
_collections_abc.Sequence.index  # Supporting None in end is not mandatory

# Adding these reflected dunders to `typing.AbstractSet` causes a large number of false-positives. See #7414.
_collections_abc.Set.__rand__
_collections_abc.Set.__ror__
_collections_abc.Set.__rsub__
_collections_abc.Set.__rxor__

collections.abc.*  # Types are re-exported from _collections_abc, so errors should be fixed there

_?ctypes.Array.raw  # exists but stubtest can't see it; only available if _CT == c_char
_?ctypes.Array._type_  # _type_ is abstract, https://github.com/python/typeshed/pull/6361
_?ctypes.Array._length_ # _length_ is abstract, https://github.com/python/typeshed/pull/6361
_pydecimal.*  # See comments in file
argparse.ArgumentParser.__init__  # stubtest doesn't recognise the runtime default (a class) as being compatible with a callback protocol (the stub annotation)
argparse.Namespace.__getattr__  # The whole point of this class is its attributes are dynamic
ast.NodeVisitor.visit_\w+  # Methods are discovered dynamically, see #3796
asyncio.proactor_events.BaseProactorEventLoop.sock_recv # nbytes parameter has different name 'n' in implementation
asyncio.selector_events.BaseSelectorEventLoop.sock_recv # nbytes parameter has different name 'n' in implementation

# Condition functions are exported in __init__
asyncio.Condition.acquire
asyncio.Condition.locked
asyncio.Condition.release
asyncio.locks.Condition.acquire
asyncio.locks.Condition.locked
asyncio.locks.Condition.release
threading.Condition.acquire
threading.Condition.release
multiprocessing.dummy.Condition.acquire
multiprocessing.dummy.Condition.release

# Weird special builtins that are typed as functions, but aren't functions
builtins.copyright
builtins.credits
builtins.exit
builtins.help
builtins.license
builtins.quit

builtins.float.__getformat__  # Internal method for CPython test suite
builtins.memoryview.__contains__  # C type that implements __getitem__
builtins.object.__init__  # default C signature is incorrect
builtins.OSError.characters_written  # GetSetDescriptor that always raises AttributeError
builtins.reveal_locals  # Builtins that type checkers pretends exist
builtins.reveal_type  # Builtins that type checkers pretends exist
builtins.type.__dict__  # read-only but not actually a property; stubtest thinks it's a mutable attribute.

# These super() dunders don't seem to be particularly useful,
# and having them pop up on autocomplete suggestions would be annoying
builtins.super.__self__
builtins.super.__self_class__
builtins.super.__thisclass__

# The following CodecInfo properties are added in __new__
codecs.CodecInfo.decode
codecs.CodecInfo.encode
codecs.CodecInfo.incrementaldecoder
codecs.CodecInfo.incrementalencoder
codecs.CodecInfo.streamreader
codecs.CodecInfo.streamwriter

# The Dialect properties are initialized as None in Dialect but their values are enforced in _Dialect
csv.Dialect.delimiter
csv.Dialect.doublequote
csv.Dialect.lineterminator
csv.Dialect.quoting
csv.Dialect.skipinitialspace

csv.DictReader.__init__  # runtime sig has *args but will error if more than 5 positional args are supplied
csv.DictWriter.__init__  # runtime sig has *args but will error if more than 5 positional args are supplied

contextvars.Context.__init__  # C signature is broader than what is actually accepted
dataclasses.field  # White lies around defaults
hashlib.scrypt  # Raises TypeError if salt, n, r or p are None
hashlib.sha3_\d+  # Can be a class or a built-in function, can't be subclassed at runtime
hashlib.shake_\d+  # Can be a class or a built-in function, can't be subclassed at runtime
hmac.HMAC.blocksize  # use block_size instead

# We can't distinguish not having a default value from having a default value of inspect.Parameter.empty
inspect.Parameter.__init__
inspect.Signature.__init__

inspect.Parameter.empty  # set as private marker _empty
inspect.Signature.empty  # set as private marker _empty

# These multiprocessing proxy methods have *args, **kwargs signatures at runtime,
# But have more precise (accurate) signatures in the stub
multiprocessing.managers.BaseListProxy.__imul__
multiprocessing.managers.BaseListProxy.__len__
multiprocessing.managers.BaseListProxy.__reversed__
multiprocessing.managers.BaseListProxy.reverse
multiprocessing.managers.BaseListProxy.sort
multiprocessing.managers.DictProxy.__iter__
multiprocessing.managers.DictProxy.__len__
multiprocessing.managers.DictProxy.copy
multiprocessing.managers.DictProxy.items
multiprocessing.managers.DictProxy.keys
multiprocessing.managers.DictProxy.values

multiprocessing.(dummy|managers).Namespace.__[gs]etattr__  # Any field can be set on Namespace
# alias for a class defined elsewhere,
# mypy infers the variable has type `(*args) -> ForkingPickler`
# but stubtest infers the runtime type as <class ForkingPickler>
multiprocessing.reduction.AbstractReducer.ForkingPickler
# Non-private parameter on __del__
multiprocessing.pool.Pool.__del__

# C signature is broader than what is actually accepted
queue.SimpleQueue.__init__

# Items that depend on the existence and flags of SSL
imaplib.IMAP4_SSL.ssl
ssl.PROTOCOL_SSLv2
ssl.PROTOCOL_SSLv3
ssl.RAND_egd

pickle._Pickler\..*  # Best effort typing for undocumented internals
pickle._Unpickler\..*  # Best effort typing for undocumented internals
pickle.Pickler.memo  # undocumented implementation detail, has different type in C/Python implementations
pickle.Pickler.persistent_id  # C pickler persistent_id is an attribute
pickle.Unpickler.memo  # undocumented implementation detail, has different type in C/Python implementations
pickle.Unpickler.persistent_load  # C unpickler persistent_load is an attribute
re.Pattern.scanner  # Undocumented and not useful. #6405
tempfile._TemporaryFileWrapper.[\w_]+  # Dynamically specified by __getattr__, and thus don't exist on the class

# Details of runtime definition don't need to be in stubs
typing_extensions\._SpecialForm.*
typing_extensions\.TypeVar.*
typing_extensions\.ParamSpec.*
typing(_extensions)?\.Generic
typing\.Protocol
typing(_extensions)?\._TypedDict

# Special primitives
typing_extensions\.Final
typing_extensions\.NamedTuple
typing_extensions\.LiteralString
typing_extensions\.Coroutine
typing_extensions\.Awaitable
typing(_extensions)?\.AsyncIterator
typing(_extensions)?\.AsyncIterable
typing(_extensions)?\.AsyncGenerator
typing(_extensions)?\.ValuesView
typing(_extensions)?\.Sized
typing(_extensions)?\.Sequence
typing(_extensions)?\.Reversible
typing(_extensions)?\.Pattern
typing(_extensions)?\.MutableSet
typing(_extensions)?\.MutableSequence
typing(_extensions)?\.MutableMapping
typing(_extensions)?\.Match
typing(_extensions)?\.MappingView
typing(_extensions)?\.Mapping
typing(_extensions)?\.KeysView
typing(_extensions)?\.Iterator
typing(_extensions)?\.Iterable
typing(_extensions)?\.ItemsView
typing(_extensions)?\.Hashable
typing(_extensions)?\.Generator
typing(_extensions)?\.Coroutine
typing(_extensions)?\.Collection
typing(_extensions)?\.Container
typing\.ByteString
typing(_extensions)?\.Awaitable
typing(_extensions)?\.AbstractSet

typing_extensions.NewType.__mro_entries__  # just exists for an error message

# Typing-related weirdness
_collections_abc.Callable
_typeshed.*  # Utility types for typeshed, doesn't exist at runtime
typing._SpecialForm.__call__
typing._SpecialForm.__init__

# Pretend typing.ByteString is a Union, to better match its documented semantics.
# As a side effect, this changes the definition of collections.abc.ByteString, which is okay,
# because it's not an ABC that makes any sense and was deprecated in 3.12
_collections_abc.ByteString

# These are abstract properties at runtime,
# but marking them as such in the stub breaks half the the typed-Python ecosystem (see #8726)
typing(_extensions)?\.IO\.closed
typing(_extensions)?\.IO\.mode
typing(_extensions)?\.IO\.name
typing(_extensions)?\.TextIO\.buffer
typing(_extensions)?\.TextIO\.encoding
typing(_extensions)?\.TextIO\.errors
typing(_extensions)?\.TextIO\.line_buffering
typing(_extensions)?\.TextIO\.newlines

# These are typing._SpecialGenericAlias at runtime, which is not a real type, but it
# behaves like one in most cases
typing(_extensions)?\.(Async)?ContextManager

types.MethodType.__closure__  # read-only but not actually a property; stubtest thinks it doesn't exist.
types.MethodType.__defaults__  # read-only but not actually a property; stubtest thinks it doesn't exist.
types.ModuleType.__dict__  # read-only but not actually a property; stubtest thinks it's a mutable attribute.
types.ModuleType.__getattr__  # this doesn't exist at runtime

# sys attributes that are not always defined
sys.gettotalrefcount  # Available on python debug builds
sys.last_traceback
sys.last_type
sys.last_value
sys.ps1
sys.ps2
sys.tracebacklimit

sys.implementation  # Actually SimpleNamespace but then you wouldn't have convenient attributes

# A factory function that returns 'most efficient lock'.
# Marking it as a function will make it impossible for users to use the Lock type as an annotation.
threading.RLock
multiprocessing.dummy.RLock

# Dynamically created, has unnecessary *args
turtle.ScrolledCanvas.find_all
turtle.ScrolledCanvas.select_clear
turtle.ScrolledCanvas.select_item

# Attributes that are intended to be private
uuid.bytes_
uuid.int_

# Always overridden in inheriting class
webbrowser.UnixBrowser.remote_action
webbrowser.UnixBrowser.remote_action_newtab
webbrowser.UnixBrowser.remote_action_newwin

# Undocumented and have a comment in the source code saying "State variables (don't mess with these)"
wsgiref.handlers.BaseHandler.bytes_sent
wsgiref.handlers.BaseHandler.headers
wsgiref.handlers.BaseHandler.headers_sent
wsgiref.handlers.BaseHandler.result
wsgiref.handlers.BaseHandler.status

(_?weakref.ref|_?weakref.ReferenceType).__call__  # C function default annotation is wrong
_?weakref.CallableProxyType.__getattr__  # Should have all attributes of proxy
_?weakref.ProxyType.__bytes__  # Doesn't actually exist
_?weakref.ProxyType.__getattr__  # Should have all attributes of proxy
weakref.WeakValueDictionary.setdefault  # has a default value for the "default" argument, but always errors out if no value is supplied for the parameter by the user
xml.dom.minidom.StringTypes  # Unnecessary re-export

# See comments in file. List out methods that are delegated by __getattr__ at runtime.
# Used to make the relevant class satisfy BinaryIO interface.
codecs.StreamReaderWriter.\w+
codecs.StreamRecoder.\w+
urllib.response.addbase.\w+

# __all__-related weirdness (see #6523)
email.base64mime
email.charset
email.encoders
email.errors
email.feedparser
email.generator
email.header
email.iterators
email.message
email.mime
email.parser
email.quoprimime
email.utils
xml.dom
xml.etree
xml.sax

# Platform differences that cannot be captured by the type system
os.O_[A-Z_]+
socket.AF_DECnet

# Loadable SQLite extensions are disabled on GitHub runners
(sqlite3(.dbapi2)?.Connection.enable_load_extension)?
(sqlite3(.dbapi2)?.Connection.load_extension)?

# Missing aliases to existing methods that not many people seem to use.
# Complicated multiple inheritance, confuses type checkers.
tkinter.Grid.bbox
tkinter.Grid.columnconfigure
tkinter.Grid.config
tkinter.Grid.configure
tkinter.Grid.forget
tkinter.Grid.grid_bbox
tkinter.Grid.grid_columnconfigure
tkinter.Grid.grid_location
tkinter.Grid.grid_propagate
tkinter.Grid.grid_rowconfigure
tkinter.Grid.grid_size
tkinter.Grid.grid_slaves
tkinter.Grid.info
tkinter.Grid.propagate
tkinter.Grid.rowconfigure
tkinter.Grid.slaves
tkinter.Pack.config
tkinter.Pack.configure
tkinter.Pack.info
tkinter.Pack.pack_propagate
tkinter.Pack.pack_slaves
tkinter.Pack.slaves
tkinter.Place.config
tkinter.Place.configure
tkinter.Place.forget
tkinter.Place.place_slaves
tkinter.Place.slaves

# Methods that come from __getattr__() at runtime
tkinter.Tk.adderrorinfo
tkinter.Tk.call
tkinter.Tk.createcommand
tkinter.Tk.createtimerhandler
tkinter.Tk.dooneevent
tkinter.Tk.eval
tkinter.Tk.evalfile
tkinter.Tk.exprboolean
tkinter.Tk.exprdouble
tkinter.Tk.exprlong
tkinter.Tk.exprstring
tkinter.Tk.globalgetvar
tkinter.Tk.globalsetvar
tkinter.Tk.globalunsetvar
tkinter.Tk.interpaddr
tkinter.Tk.record
tkinter.Tk.splitlist
tkinter.Tk.unsetvar
tkinter.Tk.wantobjects
tkinter.Tk.willdispatch

tkinter.font.Font.__getitem__  # Argument name differs (doesn't matter for __dunder__ methods)
tkinter.Misc.grid_propagate  # The noarg placeholder is a set value list
tkinter.Misc.pack_propagate  # The noarg placeholder is a set value list
tkinter.Tk.report_callback_exception  # A bit of a lie, since it's actually a method, but typing it as an attribute allows it to be assigned to
tkinter.Wm.wm_iconphoto  # Default value of argument can't be used without runtime error

# Iterable classes that don't define __iter__ at runtime (usually iterable via __getitem__)
# These would ideally be special-cased by type checkers; see https://github.com/python/mypy/issues/2220
_ctypes.Array.__iter__
ctypes.Array.__iter__
mmap.mmap.__iter__
mmap.mmap.__contains__
xml.etree.ElementTree.Element.__iter__
xml.etree.cElementTree.Element.__iter__
typing(_extensions)?\.IO\.__iter__  # See https://github.com/python/typeshed/commit/97bc450acd60c1bcdafef3ce8fbe3b95a9c0cac3

# LC_MESSAGES is sometimes present in __all__, sometimes not,
# so stubtest will sometimes complain about exported names being different at runtime to the exported names in the stub
(locale.__all__)?

# Added or modified in a patch release, backported to all security branches,
# but have yet to find their way to all GitHub Actions images
(tarfile.tar_filter)?
(tarfile.fully_trusted_filter)?
(tarfile.data_filter)?
(tarfile.TarFile.extractall)?
(tarfile.TarFile.extract)?
(tarfile.SpecialFileError)?
(tarfile.OutsideDestinationError)?
(tarfile.LinkOutsideDestinationError)?
(tarfile.FilterError)?
(tarfile.AbsolutePathError)?
(tarfile.AbsoluteLinkError)?
(shutil.unpack_archive)?
(pyexpat.XMLParserType.GetReparseDeferralEnabled)?
(pyexpat.XMLParserType.SetReparseDeferralEnabled)?
(xml.etree.ElementTree.XMLParser.flush)?
(xml.etree.ElementTree.XMLPullParser.flush)?
(xml.etree.cElementTree.XMLParser.flush)?
(xml.etree.cElementTree.XMLPullParser.flush)?
(xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled)?
(xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled)?
