basedpyright 1.25.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/dist/pyright-langserver.js +1 -1
  2. package/dist/pyright-langserver.js.map +1 -1
  3. package/dist/pyright.js +1 -1
  4. package/dist/pyright.js.map +1 -1
  5. package/dist/typeshed-fallback/README.md +1 -1
  6. package/dist/typeshed-fallback/commit.txt +1 -1
  7. package/dist/typeshed-fallback/stdlib/VERSIONS +1 -0
  8. package/dist/typeshed-fallback/stdlib/_asyncio.pyi +3 -3
  9. package/dist/typeshed-fallback/stdlib/_blake2.pyi +12 -12
  10. package/dist/typeshed-fallback/stdlib/_bz2.pyi +7 -1
  11. package/dist/typeshed-fallback/stdlib/_collections_abc.pyi +3 -0
  12. package/dist/typeshed-fallback/stdlib/_contextvars.pyi +5 -3
  13. package/dist/typeshed-fallback/stdlib/_csv.pyi +4 -4
  14. package/dist/typeshed-fallback/stdlib/_ctypes.pyi +7 -7
  15. package/dist/typeshed-fallback/stdlib/_curses.pyi +3 -3
  16. package/dist/typeshed-fallback/stdlib/_dummy_threading.pyi +19 -127
  17. package/dist/typeshed-fallback/stdlib/_frozen_importlib.pyi +2 -1
  18. package/dist/typeshed-fallback/stdlib/_interpqueues.pyi +9 -6
  19. package/dist/typeshed-fallback/stdlib/_interpreters.pyi +3 -1
  20. package/dist/typeshed-fallback/stdlib/_io.pyi +1 -1
  21. package/dist/typeshed-fallback/stdlib/_json.pyi +5 -4
  22. package/dist/typeshed-fallback/stdlib/_lzma.pyi +16 -5
  23. package/dist/typeshed-fallback/stdlib/_pickle.pyi +286 -0
  24. package/dist/typeshed-fallback/stdlib/_sitebuiltins.pyi +3 -2
  25. package/dist/typeshed-fallback/stdlib/_socket.pyi +3 -1
  26. package/dist/typeshed-fallback/stdlib/_ssl.pyi +3 -4
  27. package/dist/typeshed-fallback/stdlib/_thread.pyi +87 -39
  28. package/dist/typeshed-fallback/stdlib/_tkinter.pyi +35 -20
  29. package/dist/typeshed-fallback/stdlib/_weakrefset.pyi +2 -1
  30. package/dist/typeshed-fallback/stdlib/argparse.pyi +27 -20
  31. package/dist/typeshed-fallback/stdlib/array.pyi +13 -10
  32. package/dist/typeshed-fallback/stdlib/ast.pyi +24 -7
  33. package/dist/typeshed-fallback/stdlib/asyncio/__init__.pyi +1300 -0
  34. package/dist/typeshed-fallback/stdlib/asyncio/base_events.pyi +2 -0
  35. package/dist/typeshed-fallback/stdlib/asyncio/coroutines.pyi +1 -0
  36. package/dist/typeshed-fallback/stdlib/asyncio/events.pyi +1 -0
  37. package/dist/typeshed-fallback/stdlib/asyncio/exceptions.pyi +1 -0
  38. package/dist/typeshed-fallback/stdlib/asyncio/futures.pyi +1 -0
  39. package/dist/typeshed-fallback/stdlib/asyncio/locks.pyi +1 -0
  40. package/dist/typeshed-fallback/stdlib/asyncio/proactor_events.pyi +1 -0
  41. package/dist/typeshed-fallback/stdlib/asyncio/protocols.pyi +1 -0
  42. package/dist/typeshed-fallback/stdlib/asyncio/queues.pyi +1 -0
  43. package/dist/typeshed-fallback/stdlib/asyncio/runners.pyi +1 -0
  44. package/dist/typeshed-fallback/stdlib/asyncio/selector_events.pyi +2 -0
  45. package/dist/typeshed-fallback/stdlib/asyncio/streams.pyi +1 -0
  46. package/dist/typeshed-fallback/stdlib/asyncio/subprocess.pyi +1 -0
  47. package/dist/typeshed-fallback/stdlib/asyncio/taskgroups.pyi +1 -0
  48. package/dist/typeshed-fallback/stdlib/asyncio/tasks.pyi +1 -0
  49. package/dist/typeshed-fallback/stdlib/asyncio/threads.pyi +1 -0
  50. package/dist/typeshed-fallback/stdlib/asyncio/timeouts.pyi +1 -0
  51. package/dist/typeshed-fallback/stdlib/asyncio/transports.pyi +1 -0
  52. package/dist/typeshed-fallback/stdlib/asyncio/unix_events.pyi +3 -0
  53. package/dist/typeshed-fallback/stdlib/asyncio/windows_events.pyi +1 -0
  54. package/dist/typeshed-fallback/stdlib/builtins.pyi +21 -15
  55. package/dist/typeshed-fallback/stdlib/codecs.pyi +2 -0
  56. package/dist/typeshed-fallback/stdlib/codeop.pyi +5 -1
  57. package/dist/typeshed-fallback/stdlib/collections/__init__.pyi +3 -1
  58. package/dist/typeshed-fallback/stdlib/concurrent/futures/process.pyi +12 -2
  59. package/dist/typeshed-fallback/stdlib/contextlib.pyi +21 -22
  60. package/dist/typeshed-fallback/stdlib/ctypes/__init__.pyi +69 -18
  61. package/dist/typeshed-fallback/stdlib/dataclasses.pyi +11 -3
  62. package/dist/typeshed-fallback/stdlib/datetime.pyi +1 -1
  63. package/dist/typeshed-fallback/stdlib/decimal.pyi +0 -1
  64. package/dist/typeshed-fallback/stdlib/email/charset.pyi +2 -1
  65. package/dist/typeshed-fallback/stdlib/email/header.pyi +2 -1
  66. package/dist/typeshed-fallback/stdlib/email/headerregistry.pyi +2 -0
  67. package/dist/typeshed-fallback/stdlib/fractions.pyi +3 -3
  68. package/dist/typeshed-fallback/stdlib/gzip.pyi +5 -5
  69. package/dist/typeshed-fallback/stdlib/http/__init__.pyi +15 -6
  70. package/dist/typeshed-fallback/stdlib/http/client.pyi +80 -58
  71. package/dist/typeshed-fallback/stdlib/inspect.pyi +5 -5
  72. package/dist/typeshed-fallback/stdlib/ipaddress.pyi +5 -3
  73. package/dist/typeshed-fallback/stdlib/itertools.pyi +12 -12
  74. package/dist/typeshed-fallback/stdlib/json/scanner.pyi +4 -0
  75. package/dist/typeshed-fallback/stdlib/lib2to3/pgen2/pgen.pyi +2 -1
  76. package/dist/typeshed-fallback/stdlib/lib2to3/pytree.pyi +2 -1
  77. package/dist/typeshed-fallback/stdlib/mmap.pyi +6 -6
  78. package/dist/typeshed-fallback/stdlib/multiprocessing/managers.pyi +63 -17
  79. package/dist/typeshed-fallback/stdlib/multiprocessing/pool.pyi +3 -0
  80. package/dist/typeshed-fallback/stdlib/multiprocessing/reduction.pyi +1 -1
  81. package/dist/typeshed-fallback/stdlib/multiprocessing/synchronize.pyi +1 -0
  82. package/dist/typeshed-fallback/stdlib/numbers.pyi +2 -1
  83. package/dist/typeshed-fallback/stdlib/operator.pyi +2 -2
  84. package/dist/typeshed-fallback/stdlib/optparse.pyi +89 -32
  85. package/dist/typeshed-fallback/stdlib/os/__init__.pyi +1 -0
  86. package/dist/typeshed-fallback/stdlib/parser.pyi +2 -1
  87. package/dist/typeshed-fallback/stdlib/pickle.pyi +51 -266
  88. package/dist/typeshed-fallback/stdlib/pickletools.pyi +8 -1
  89. package/dist/typeshed-fallback/stdlib/plistlib.pyi +2 -1
  90. package/dist/typeshed-fallback/stdlib/sched.pyi +3 -2
  91. package/dist/typeshed-fallback/stdlib/select.pyi +19 -13
  92. package/dist/typeshed-fallback/stdlib/selectors.pyi +5 -3
  93. package/dist/typeshed-fallback/stdlib/signal.pyi +47 -47
  94. package/dist/typeshed-fallback/stdlib/socket.pyi +8 -6
  95. package/dist/typeshed-fallback/stdlib/sqlite3/__init__.pyi +1 -1
  96. package/dist/typeshed-fallback/stdlib/ssl.pyi +4 -0
  97. package/dist/typeshed-fallback/stdlib/sys/__init__.pyi +9 -3
  98. package/dist/typeshed-fallback/stdlib/tarfile.pyi +24 -10
  99. package/dist/typeshed-fallback/stdlib/telnetlib.pyi +2 -2
  100. package/dist/typeshed-fallback/stdlib/threading.pyi +6 -53
  101. package/dist/typeshed-fallback/stdlib/tkinter/__init__.pyi +193 -3
  102. package/dist/typeshed-fallback/stdlib/tkinter/filedialog.pyi +9 -9
  103. package/dist/typeshed-fallback/stdlib/tkinter/font.pyi +5 -4
  104. package/dist/typeshed-fallback/stdlib/token.pyi +1 -1
  105. package/dist/typeshed-fallback/stdlib/tokenize.pyi +3 -4
  106. package/dist/typeshed-fallback/stdlib/traceback.pyi +17 -4
  107. package/dist/typeshed-fallback/stdlib/types.pyi +45 -10
  108. package/dist/typeshed-fallback/stdlib/typing.pyi +45 -47
  109. package/dist/typeshed-fallback/stdlib/typing_extensions.pyi +53 -12
  110. package/dist/typeshed-fallback/stdlib/unittest/mock.pyi +3 -1
  111. package/dist/typeshed-fallback/stdlib/unittest/runner.pyi +11 -12
  112. package/dist/typeshed-fallback/stdlib/unittest/suite.pyi +2 -0
  113. package/dist/typeshed-fallback/stdlib/weakref.pyi +19 -5
  114. package/dist/typeshed-fallback/stdlib/xml/dom/minidom.pyi +5 -4
  115. package/dist/typeshed-fallback/stdlib/xml/sax/expatreader.pyi +53 -0
  116. package/dist/typeshed-fallback/stdlib/xmlrpc/client.pyi +4 -3
  117. package/dist/typeshed-fallback/stdlib/xxlimited.pyi +4 -2
  118. package/dist/typeshed-fallback/stdlib/zipfile/_path/glob.pyi +22 -0
  119. package/dist/typeshed-fallback/stdlib/zoneinfo/__init__.pyi +1 -1
  120. package/dist/typeshed-fallback/stubs/Authlib/METADATA.toml +7 -0
  121. package/dist/typeshed-fallback/stubs/Authlib/authlib/__init__.pyi +4 -0
  122. package/dist/typeshed-fallback/stubs/Authlib/authlib/common/encoding.pyi +10 -0
  123. package/dist/typeshed-fallback/stubs/Authlib/authlib/common/errors.pyi +26 -0
  124. package/dist/typeshed-fallback/stubs/Authlib/authlib/common/security.pyi +4 -0
  125. package/dist/typeshed-fallback/stubs/Authlib/authlib/common/urls.pyi +19 -0
  126. package/dist/typeshed-fallback/stubs/Authlib/authlib/consts.pyi +8 -0
  127. package/dist/typeshed-fallback/stubs/Authlib/authlib/deprecate.pyi +7 -0
  128. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/__init__.pyi +0 -0
  129. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/__init__.pyi +29 -0
  130. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_app.pyi +16 -0
  131. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/async_openid.pyi +8 -0
  132. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/errors.pyi +23 -0
  133. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/framework_integration.pyi +13 -0
  134. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/registry.pyi +21 -0
  135. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_app.pyi +93 -0
  136. package/dist/typeshed-fallback/stubs/Authlib/authlib/integrations/base_client/sync_openid.pyi +7 -0
  137. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/__init__.pyi +44 -0
  138. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/__init__.pyi +3 -0
  139. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_algorithms.pyi +27 -0
  140. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptodome.pyi +13 -0
  141. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/drafts/_jwe_enc_cryptography.pyi +13 -0
  142. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/errors.pyi +72 -0
  143. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/jwk.pyi +4 -0
  144. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/__init__.pyi +4 -0
  145. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/jws.pyi +14 -0
  146. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7515/models.pyi +25 -0
  147. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/__init__.pyi +9 -0
  148. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/jwe.pyi +23 -0
  149. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7516/models.pyi +56 -0
  150. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/__init__.pyi +7 -0
  151. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/_cryptography_key.pyi +5 -0
  152. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/asymmetric_key.pyi +39 -0
  153. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/base_key.pyi +28 -0
  154. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/jwk.pyi +13 -0
  155. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7517/key_set.pyi +10 -0
  156. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/__init__.pyi +20 -0
  157. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/ec_key.pyi +24 -0
  158. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_algs.pyi +64 -0
  159. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_encs.pyi +27 -0
  160. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jwe_zips.pyi +9 -0
  161. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/jws_algs.pyi +63 -0
  162. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/oct_key.pyi +23 -0
  163. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/rsa_key.pyi +23 -0
  164. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7518/util.pyi +2 -0
  165. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/__init__.pyi +4 -0
  166. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/claims.pyi +21 -0
  167. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc7519/jwt.pyi +21 -0
  168. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/__init__.pyi +4 -0
  169. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/jws_eddsa.pyi +10 -0
  170. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/rfc8037/okp_key.pyi +24 -0
  171. package/dist/typeshed-fallback/stubs/Authlib/authlib/jose/util.pyi +3 -0
  172. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/__init__.pyi +33 -0
  173. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/client.pyi +39 -0
  174. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/errors.pyi +1 -0
  175. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/__init__.pyi +35 -0
  176. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/authorization_server.pyi +21 -0
  177. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/base_server.pyi +12 -0
  178. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/client_auth.pyi +41 -0
  179. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/errors.pyi +56 -0
  180. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/models.pyi +21 -0
  181. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/parameters.pyi +5 -0
  182. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/resource_protector.pyi +5 -0
  183. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/rsa.pyi +2 -0
  184. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/signature.pyi +22 -0
  185. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/util.pyi +2 -0
  186. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth1/rfc5849/wrapper.pyi +33 -0
  187. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/__init__.pyi +22 -0
  188. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/auth.pyi +24 -0
  189. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/base.pyi +20 -0
  190. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/client.pyi +96 -0
  191. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/__init__.pyi +76 -0
  192. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authenticate_client.pyi +13 -0
  193. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/authorization_server.pyi +46 -0
  194. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/errors.pyi +92 -0
  195. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/__init__.pyi +21 -0
  196. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/authorization_code.pyi +24 -0
  197. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/base.pyi +55 -0
  198. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/client_credentials.pyi +6 -0
  199. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/implicit.pyi +12 -0
  200. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/refresh_token.pyi +15 -0
  201. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/grants/resource_owner_password_credentials.pyi +7 -0
  202. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/models.pyi +22 -0
  203. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/parameters.pyi +14 -0
  204. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/requests.pyi +48 -0
  205. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/resource_protector.pyi +19 -0
  206. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/token_endpoint.pyi +13 -0
  207. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/util.pyi +5 -0
  208. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6749/wrappers.pyi +5 -0
  209. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/__init__.pyi +15 -0
  210. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/errors.pyi +27 -0
  211. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/parameters.pyi +6 -0
  212. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/token.pyi +41 -0
  213. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc6750/validator.pyi +6 -0
  214. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/__init__.pyi +4 -0
  215. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/parameters.pyi +5 -0
  216. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7009/revocation.pyi +9 -0
  217. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/__init__.pyi +3 -0
  218. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7521/client.pyi +39 -0
  219. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/__init__.pyi +18 -0
  220. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/assertion.pyi +19 -0
  221. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/auth.pyi +22 -0
  222. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/client.pyi +16 -0
  223. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/jwt_bearer.pyi +28 -0
  224. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/token.pyi +30 -0
  225. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7523/validator.pyi +24 -0
  226. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/__init__.pyi +17 -0
  227. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/claims.pyi +22 -0
  228. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/endpoint.pyi +24 -0
  229. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7591/errors.pyi +13 -0
  230. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/__init__.pyi +3 -0
  231. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7592/endpoint.pyi +26 -0
  232. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/__init__.pyi +3 -0
  233. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7636/challenge.pyi +20 -0
  234. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/__init__.pyi +5 -0
  235. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/introspection.pyi +11 -0
  236. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/models.pyi +8 -0
  237. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc7662/token_validator.pyi +7 -0
  238. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/__init__.pyi +4 -0
  239. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/models.pyi +40 -0
  240. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8414/well_known.pyi +1 -0
  241. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/__init__.pyi +19 -0
  242. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/device_code.pyi +15 -0
  243. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/endpoint.pyi +21 -0
  244. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/errors.pyi +10 -0
  245. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8628/models.pyi +13 -0
  246. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc8693/__init__.pyi +0 -0
  247. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/__init__.pyi +6 -0
  248. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/claims.pyi +16 -0
  249. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/introspection.pyi +13 -0
  250. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/revocation.pyi +9 -0
  251. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token.pyi +23 -0
  252. package/dist/typeshed-fallback/stubs/Authlib/authlib/oauth2/rfc9068/token_validator.pyi +20 -0
  253. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/__init__.pyi +0 -0
  254. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/__init__.pyi +29 -0
  255. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/claims.pyi +37 -0
  256. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/errors.pyi +28 -0
  257. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/__init__.pyi +5 -0
  258. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/code.pyi +17 -0
  259. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/hybrid.pyi +13 -0
  260. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/implicit.pyi +16 -0
  261. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/grants/util.pyi +18 -0
  262. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/models.pyi +5 -0
  263. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/core/util.pyi +1 -0
  264. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/__init__.pyi +4 -0
  265. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/models.pyi +36 -0
  266. package/dist/typeshed-fallback/stubs/Authlib/authlib/oidc/discovery/well_known.pyi +1 -0
  267. package/dist/typeshed-fallback/stubs/Flask-Migrate/METADATA.toml +1 -1
  268. package/dist/typeshed-fallback/stubs/Flask-Migrate/flask_migrate/__init__.pyi +2 -4
  269. package/dist/typeshed-fallback/stubs/Flask-SocketIO/METADATA.toml +1 -1
  270. package/dist/typeshed-fallback/stubs/Flask-SocketIO/flask_socketio/__init__.pyi +30 -4
  271. package/dist/typeshed-fallback/stubs/Markdown/markdown/core.pyi +2 -13
  272. package/dist/typeshed-fallback/stubs/PyAutoGUI/pyautogui/__init__.pyi +2 -2
  273. package/dist/typeshed-fallback/stubs/PyYAML/yaml/constructor.pyi +1 -1
  274. package/dist/typeshed-fallback/stubs/Pygments/METADATA.toml +1 -1
  275. package/dist/typeshed-fallback/stubs/WebOb/webob/exc.pyi +1 -1
  276. package/dist/typeshed-fallback/stubs/click-log/METADATA.toml +3 -0
  277. package/dist/typeshed-fallback/stubs/click-log/click_log/__init__.pyi +4 -0
  278. package/dist/typeshed-fallback/stubs/click-log/click_log/core.pyi +15 -0
  279. package/dist/typeshed-fallback/stubs/click-log/click_log/options.pyi +12 -0
  280. package/dist/typeshed-fallback/stubs/click-web/METADATA.toml +3 -0
  281. package/dist/typeshed-fallback/stubs/click-web/click_web/__init__.pyi +16 -0
  282. package/dist/typeshed-fallback/stubs/click-web/click_web/exceptions.pyi +2 -0
  283. package/dist/typeshed-fallback/stubs/click-web/click_web/resources/cmd_exec.pyi +79 -0
  284. package/dist/typeshed-fallback/stubs/click-web/click_web/resources/cmd_form.pyi +6 -0
  285. package/dist/typeshed-fallback/stubs/click-web/click_web/resources/index.pyi +6 -0
  286. package/dist/typeshed-fallback/stubs/click-web/click_web/resources/input_fields.pyi +49 -0
  287. package/dist/typeshed-fallback/stubs/click-web/click_web/web_click_types.pyi +18 -0
  288. package/dist/typeshed-fallback/stubs/croniter/METADATA.toml +1 -1
  289. package/dist/typeshed-fallback/stubs/croniter/croniter/croniter.pyi +7 -0
  290. package/dist/typeshed-fallback/stubs/django-import-export/METADATA.toml +6 -0
  291. package/dist/typeshed-fallback/stubs/django-import-export/import_export/__init__.pyi +1 -0
  292. package/dist/typeshed-fallback/stubs/django-import-export/import_export/admin.pyi +114 -0
  293. package/dist/typeshed-fallback/stubs/django-import-export/import_export/exceptions.pyi +2 -0
  294. package/dist/typeshed-fallback/stubs/django-import-export/import_export/fields.pyi +34 -0
  295. package/dist/typeshed-fallback/stubs/django-import-export/import_export/formats/__init__.pyi +0 -0
  296. package/dist/typeshed-fallback/stubs/django-import-export/import_export/formats/base_formats.pyi +57 -0
  297. package/dist/typeshed-fallback/stubs/django-import-export/import_export/forms.pyi +31 -0
  298. package/dist/typeshed-fallback/stubs/django-import-export/import_export/instance_loaders.pyi +23 -0
  299. package/dist/typeshed-fallback/stubs/django-import-export/import_export/mixins.pyi +66 -0
  300. package/dist/typeshed-fallback/stubs/django-import-export/import_export/resources.pyi +232 -0
  301. package/dist/typeshed-fallback/stubs/django-import-export/import_export/results.pyi +73 -0
  302. package/dist/typeshed-fallback/stubs/django-import-export/import_export/signals.pyi +4 -0
  303. package/dist/typeshed-fallback/stubs/django-import-export/import_export/templatetags/__init__.pyi +0 -0
  304. package/dist/typeshed-fallback/stubs/django-import-export/import_export/templatetags/import_export_tags.pyi +8 -0
  305. package/dist/typeshed-fallback/stubs/django-import-export/import_export/tmp_storages.pyi +34 -0
  306. package/dist/typeshed-fallback/stubs/django-import-export/import_export/utils.pyi +18 -0
  307. package/dist/typeshed-fallback/stubs/django-import-export/import_export/widgets.pyi +66 -0
  308. package/dist/typeshed-fallback/stubs/docker/docker/models/containers.pyi +2 -2
  309. package/dist/typeshed-fallback/stubs/flake8-bugbear/METADATA.toml +1 -1
  310. package/dist/typeshed-fallback/stubs/fpdf2/METADATA.toml +1 -1
  311. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/__init__.pyi +2 -0
  312. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/annotations.pyi +2 -2
  313. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/enums.pyi +50 -4
  314. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/fonts.pyi +3 -3
  315. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/fpdf.pyi +53 -18
  316. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/html.pyi +2 -0
  317. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/image_parsing.pyi +10 -2
  318. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/line_break.pyi +9 -3
  319. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/outline.pyi +21 -0
  320. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/output.pyi +19 -0
  321. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/prefs.pyi +38 -4
  322. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/table.pyi +13 -1
  323. package/dist/typeshed-fallback/stubs/fpdf2/fpdf/util.pyi +1 -0
  324. package/dist/typeshed-fallback/stubs/gdb/METADATA.toml +1 -1
  325. package/dist/typeshed-fallback/stubs/gdb/gdb/__init__.pyi +126 -9
  326. package/dist/typeshed-fallback/stubs/gdb/gdb/unwinder.pyi +2 -3
  327. package/dist/typeshed-fallback/stubs/gevent/gevent/select.pyi +7 -2
  328. package/dist/typeshed-fallback/stubs/hdbcli/METADATA.toml +1 -1
  329. package/dist/typeshed-fallback/stubs/ibm-db/METADATA.toml +1 -1
  330. package/dist/typeshed-fallback/stubs/ibm-db/ibm_db.pyi +11 -1
  331. package/dist/typeshed-fallback/stubs/icalendar/METADATA.toml +1 -5
  332. package/dist/typeshed-fallback/stubs/icalendar/icalendar/timezone/tzp.pyi +1 -1
  333. package/dist/typeshed-fallback/stubs/jsonschema/METADATA.toml +0 -2
  334. package/dist/typeshed-fallback/stubs/jwcrypto/jwcrypto/jwk.pyi +4 -4
  335. package/dist/typeshed-fallback/stubs/lupa/METADATA.toml +1 -1
  336. package/dist/typeshed-fallback/stubs/m3u8/m3u8/httpclient.pyi +1 -1
  337. package/dist/typeshed-fallback/stubs/nanoleafapi/METADATA.toml +2 -0
  338. package/dist/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/__init__.pyi +16 -0
  339. package/dist/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/digital_twin.pyi +12 -0
  340. package/dist/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/discovery.pyi +1 -0
  341. package/dist/typeshed-fallback/stubs/nanoleafapi/nanoleafapi/nanoleaf.pyi +68 -0
  342. package/dist/typeshed-fallback/stubs/networkx/networkx/classes/multidigraph.pyi +1 -1
  343. package/dist/typeshed-fallback/stubs/openpyxl/openpyxl/styles/cell_style.pyi +1 -1
  344. package/dist/typeshed-fallback/stubs/peewee/peewee.pyi +4 -4
  345. package/dist/typeshed-fallback/stubs/pexpect/pexpect/pty_spawn.pyi +1 -1
  346. package/dist/typeshed-fallback/stubs/pika/pika/credentials.pyi +10 -7
  347. package/dist/typeshed-fallback/stubs/polib/polib.pyi +3 -2
  348. package/dist/typeshed-fallback/stubs/protobuf/METADATA.toml +2 -2
  349. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/api_pb2.pyi +1 -1
  350. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/descriptor_pb2.pyi +4 -8
  351. package/dist/typeshed-fallback/stubs/protobuf/google/protobuf/runtime_version.pyi +23 -0
  352. package/dist/typeshed-fallback/stubs/pycocotools/METADATA.toml +1 -0
  353. package/dist/typeshed-fallback/stubs/pycocotools/pycocotools/coco.pyi +6 -11
  354. package/dist/typeshed-fallback/stubs/pycocotools/pycocotools/cocoeval.pyi +16 -30
  355. package/dist/typeshed-fallback/stubs/pycocotools/pycocotools/mask.pyi +7 -9
  356. package/dist/typeshed-fallback/stubs/pycurl/METADATA.toml +1 -1
  357. package/dist/typeshed-fallback/stubs/pycurl/pycurl.pyi +33 -32
  358. package/dist/typeshed-fallback/stubs/pynput/pynput/keyboard/_base.pyi +65 -65
  359. package/dist/typeshed-fallback/stubs/python-dateutil/dateutil/relativedelta.pyi +3 -11
  360. package/dist/typeshed-fallback/stubs/pywin32/_win32typing.pyi +3 -3
  361. package/dist/typeshed-fallback/stubs/qrbill/qrbill/bill.pyi +2 -2
  362. package/dist/typeshed-fallback/stubs/requests-oauthlib/requests_oauthlib/oauth1_auth.pyi +1 -1
  363. package/dist/typeshed-fallback/stubs/seaborn/METADATA.toml +1 -11
  364. package/dist/typeshed-fallback/stubs/seaborn/seaborn/algorithms.pyi +13 -13
  365. package/dist/typeshed-fallback/stubs/setuptools/METADATA.toml +1 -1
  366. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/cmd.pyi +5 -0
  367. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/bdist.pyi +1 -1
  368. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/command/install_data.pyi +2 -1
  369. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/dist.pyi +21 -21
  370. package/dist/typeshed-fallback/stubs/setuptools/setuptools/_distutils/extension.pyi +3 -4
  371. package/dist/typeshed-fallback/stubs/setuptools/setuptools/extension.pyi +2 -3
  372. package/dist/typeshed-fallback/stubs/shapely/shapely/_enum.pyi +1 -1
  373. package/dist/typeshed-fallback/stubs/six/METADATA.toml +1 -1
  374. package/dist/typeshed-fallback/stubs/tabulate/tabulate/__init__.pyi +2 -1
  375. package/dist/typeshed-fallback/stubs/tqdm/tqdm/asyncio.pyi +2 -2
  376. package/dist/typeshed-fallback/stubs/vobject/METADATA.toml +2 -2
  377. package/dist/typeshed-fallback/stubs/vobject/vobject/__init__.pyi +2 -4
  378. package/dist/typeshed-fallback/stubs/vobject/vobject/base.pyi +26 -24
  379. package/dist/typeshed-fallback/stubs/vobject/vobject/behavior.pyi +5 -4
  380. package/dist/typeshed-fallback/stubs/vobject/vobject/icalendar.pyi +28 -37
  381. package/dist/typeshed-fallback/stubs/vobject/vobject/vcard.pyi +20 -20
  382. package/dist/typeshed-fallback/stubs/vobject/vobject/win32tz.pyi +22 -22
  383. package/package.json +1 -1
  384. package/dist/typeshed-fallback/stubs/python-gflags/METADATA.toml +0 -2
  385. package/dist/typeshed-fallback/stubs/python-gflags/gflags.pyi +0 -309
  386. package/dist/typeshed-fallback/stubs/redis/METADATA.toml +0 -12
  387. package/dist/typeshed-fallback/stubs/redis/redis/__init__.pyi +0 -72
  388. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/__init__.pyi +0 -64
  389. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/client.pyi +0 -1091
  390. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/cluster.pyi +0 -229
  391. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/connection.pyi +0 -363
  392. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/lock.pyi +0 -51
  393. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/parser.pyi +0 -9
  394. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/retry.pyi +0 -12
  395. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/sentinel.pyi +0 -162
  396. package/dist/typeshed-fallback/stubs/redis/redis/asyncio/utils.pyi +0 -15
  397. package/dist/typeshed-fallback/stubs/redis/redis/backoff.pyi +0 -31
  398. package/dist/typeshed-fallback/stubs/redis/redis/client.pyi +0 -817
  399. package/dist/typeshed-fallback/stubs/redis/redis/cluster.pyi +0 -265
  400. package/dist/typeshed-fallback/stubs/redis/redis/commands/__init__.pyi +0 -17
  401. package/dist/typeshed-fallback/stubs/redis/redis/commands/bf/__init__.pyi +0 -58
  402. package/dist/typeshed-fallback/stubs/redis/redis/commands/bf/commands.pyi +0 -112
  403. package/dist/typeshed-fallback/stubs/redis/redis/commands/bf/info.pyi +0 -43
  404. package/dist/typeshed-fallback/stubs/redis/redis/commands/cluster.pyi +0 -60
  405. package/dist/typeshed-fallback/stubs/redis/redis/commands/core.pyi +0 -1743
  406. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/__init__.pyi +0 -26
  407. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/commands.pyi +0 -25
  408. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/edge.pyi +0 -14
  409. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/exceptions.pyi +0 -5
  410. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/node.pyi +0 -18
  411. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/path.pyi +0 -18
  412. package/dist/typeshed-fallback/stubs/redis/redis/commands/graph/query_result.pyi +0 -74
  413. package/dist/typeshed-fallback/stubs/redis/redis/commands/helpers.pyi +0 -10
  414. package/dist/typeshed-fallback/stubs/redis/redis/commands/json/__init__.pyi +0 -15
  415. package/dist/typeshed-fallback/stubs/redis/redis/commands/json/commands.pyi +0 -32
  416. package/dist/typeshed-fallback/stubs/redis/redis/commands/json/decoders.pyi +0 -4
  417. package/dist/typeshed-fallback/stubs/redis/redis/commands/json/path.pyi +0 -5
  418. package/dist/typeshed-fallback/stubs/redis/redis/commands/parser.pyi +0 -8
  419. package/dist/typeshed-fallback/stubs/redis/redis/commands/redismodules.pyi +0 -14
  420. package/dist/typeshed-fallback/stubs/redis/redis/commands/search/__init__.pyi +0 -22
  421. package/dist/typeshed-fallback/stubs/redis/redis/commands/search/aggregation.pyi +0 -53
  422. package/dist/typeshed-fallback/stubs/redis/redis/commands/search/commands.pyi +0 -111
  423. package/dist/typeshed-fallback/stubs/redis/redis/commands/search/query.pyi +0 -52
  424. package/dist/typeshed-fallback/stubs/redis/redis/commands/search/result.pyi +0 -7
  425. package/dist/typeshed-fallback/stubs/redis/redis/commands/sentinel.pyi +0 -17
  426. package/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/__init__.pyi +0 -14
  427. package/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/commands.pyi +0 -160
  428. package/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/info.pyi +0 -18
  429. package/dist/typeshed-fallback/stubs/redis/redis/commands/timeseries/utils.pyi +0 -5
  430. package/dist/typeshed-fallback/stubs/redis/redis/connection.pyi +0 -289
  431. package/dist/typeshed-fallback/stubs/redis/redis/crc.pyi +0 -5
  432. package/dist/typeshed-fallback/stubs/redis/redis/credentials.pyi +0 -11
  433. package/dist/typeshed-fallback/stubs/redis/redis/exceptions.pyi +0 -42
  434. package/dist/typeshed-fallback/stubs/redis/redis/lock.pyi +0 -56
  435. package/dist/typeshed-fallback/stubs/redis/redis/ocsp.pyi +0 -21
  436. package/dist/typeshed-fallback/stubs/redis/redis/retry.pyi +0 -11
  437. package/dist/typeshed-fallback/stubs/redis/redis/sentinel.pyi +0 -62
  438. package/dist/typeshed-fallback/stubs/redis/redis/typing.pyi +0 -34
  439. package/dist/typeshed-fallback/stubs/redis/redis/utils.pyi +0 -22
  440. package/dist/typeshed-fallback/stubs/setuptools/setuptools/compat/py310.pyi +0 -9
  441. package/dist/typeshed-fallback/stubs/setuptools/setuptools/compat/py311.pyi +0 -4
  442. package/dist/typeshed-fallback/stubs/setuptools/setuptools/compat/py312.pyi +0 -3
  443. package/dist/typeshed-fallback/stubs/setuptools/setuptools/compat/py39.pyi +0 -7
  444. /package/dist/typeshed-fallback/stdlib/zipfile/{_path.pyi → _path/__init__.pyi} +0 -0
  445. /package/dist/typeshed-fallback/stubs/{setuptools/setuptools/compat → Authlib/authlib/common}/__init__.pyi +0 -0
@@ -325,6 +325,10 @@ class _ASN1Object(_ASN1ObjectBase):
325
325
  def fromname(cls, name: str) -> Self: ...
326
326
 
327
327
  class Purpose(_ASN1Object, enum.Enum):
328
+ # Normally this class would inherit __new__ from _ASN1Object, but
329
+ # because this is an enum, the inherited __new__ is replaced at runtime with
330
+ # Enum.__new__.
331
+ def __new__(cls, value: object) -> Self: ...
328
332
  SERVER_AUTH = (129, "serverAuth", "TLS Web Server Authentication", "1.3.6.1.5.5.7.3.2") # pyright: ignore[reportCallIssue]
329
333
  CLIENT_AUTH = (130, "clientAuth", "TLS Web Client Authentication", "1.3.6.1.5.5.7.3.1") # pyright: ignore[reportCallIssue]
330
334
 
@@ -79,7 +79,7 @@ from collections.abc import AsyncGenerator, Callable, Sequence
79
79
  from io import TextIOWrapper
80
80
  from types import FrameType, ModuleType, TracebackType
81
81
  from typing import Any, Final, Literal, NoReturn, Protocol, TextIO, TypeVar, final, type_check_only
82
- from typing_extensions import TypeAlias
82
+ from typing_extensions import LiteralString, TypeAlias
83
83
 
84
84
  _T = TypeVar("_T")
85
85
 
@@ -118,7 +118,7 @@ if sys.version_info >= (3, 10):
118
118
  path: list[str]
119
119
  path_hooks: list[Callable[[str], PathEntryFinderProtocol]]
120
120
  path_importer_cache: dict[str, PathEntryFinderProtocol | None]
121
- platform: str
121
+ platform: LiteralString
122
122
  if sys.version_info >= (3, 9):
123
123
  platlibdir: str
124
124
  prefix: str
@@ -146,7 +146,7 @@ if sys.version_info >= (3, 10):
146
146
  __stdin__: Final[TextIOWrapper | None] # Contains the original value of stdin
147
147
  __stdout__: Final[TextIOWrapper | None] # Contains the original value of stdout
148
148
  __stderr__: Final[TextIOWrapper | None] # Contains the original value of stderr
149
- tracebacklimit: int
149
+ tracebacklimit: int | None
150
150
  version: str
151
151
  api_version: int
152
152
  warnoptions: Any
@@ -601,6 +601,12 @@ def intern(string: str, /) -> str:
601
601
  the previously interned string object with the same value.
602
602
  """
603
603
  ...
604
+
605
+ if sys.version_info >= (3, 13):
606
+ def _is_gil_enabled() -> bool:
607
+ """Return True if the GIL is currently enabled and False otherwise."""
608
+ ...
609
+
604
610
  def is_finalizing() -> bool:
605
611
  """Return True if Python is exiting."""
606
612
  ...
@@ -1,7 +1,7 @@
1
1
  import bz2
2
2
  import io
3
3
  import sys
4
- from _typeshed import StrOrBytesPath, StrPath, SupportsRead
4
+ from _typeshed import ReadableBuffer, StrOrBytesPath, StrPath, SupportsRead, WriteableBuffer
5
5
  from builtins import list as _list # aliases to avoid name clashes with fields named "type" or "list"
6
6
  from collections.abc import Callable, Iterable, Iterator, Mapping
7
7
  from gzip import _ReadableFileobj as _GzipReadableFileobj, _WritableFileobj as _GzipWritableFileobj
@@ -123,7 +123,7 @@ def open(
123
123
  @overload
124
124
  def open(
125
125
  name: StrOrBytesPath | None,
126
- mode: Literal["x", "x:", "a", "a:", "w", "w:"],
126
+ mode: Literal["x", "x:", "a", "a:", "w", "w:", "w:tar"],
127
127
  fileobj: _Fileobj | None = None,
128
128
  bufsize: int = 10240,
129
129
  *,
@@ -141,7 +141,7 @@ def open(
141
141
  def open(
142
142
  name: StrOrBytesPath | None = None,
143
143
  *,
144
- mode: Literal["x", "x:", "a", "a:", "w", "w:"],
144
+ mode: Literal["x", "x:", "a", "a:", "w", "w:", "w:tar"],
145
145
  fileobj: _Fileobj | None = None,
146
146
  bufsize: int = 10240,
147
147
  format: int | None = ...,
@@ -226,15 +226,29 @@ def open(
226
226
  errorlevel: int | None = ...,
227
227
  preset: Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | None = ...,
228
228
  ) -> TarFile: ...
229
-
230
- # TODO: Temporary fallback for modes containing pipe characters. These don't
231
- # work with mypy 1.10, but this should be fixed with mypy 1.11.
232
- # https://github.com/python/typeshed/issues/12182
233
229
  @overload
234
230
  def open(
235
- name: StrOrBytesPath | None = None,
231
+ name: StrOrBytesPath | ReadableBuffer | None = None,
232
+ *,
233
+ mode: Literal["r|*", "r|", "r|gz", "r|bz2", "r|xz"],
234
+ fileobj: IO[bytes] | None = None,
235
+ bufsize: int = 10240,
236
+ format: int | None = ...,
237
+ tarinfo: type[TarInfo] | None = ...,
238
+ dereference: bool | None = ...,
239
+ ignore_zeros: bool | None = ...,
240
+ encoding: str | None = ...,
241
+ errors: str = ...,
242
+ pax_headers: Mapping[str, str] | None = ...,
243
+ debug: int | None = ...,
244
+ errorlevel: int | None = ...,
245
+ preset: int | None = ...,
246
+ ) -> TarFile: ...
247
+ @overload
248
+ def open(
249
+ name: StrOrBytesPath | WriteableBuffer | None = None,
236
250
  *,
237
- mode: str,
251
+ mode: Literal["w|", "w|gz", "w|bz2", "w|xz"],
238
252
  fileobj: IO[bytes] | None = None,
239
253
  bufsize: int = 10240,
240
254
  format: int | None = ...,
@@ -561,7 +575,7 @@ class TarInfo:
561
575
  self,
562
576
  *,
563
577
  name: str = ...,
564
- mtime: int = ...,
578
+ mtime: float = ...,
565
579
  mode: int = ...,
566
580
  linkname: str = ...,
567
581
  uid: int = ...,
@@ -1,5 +1,5 @@
1
1
  import socket
2
- from collections.abc import Callable, Sequence
2
+ from collections.abc import Callable, MutableSequence, Sequence
3
3
  from re import Match, Pattern
4
4
  from types import TracebackType
5
5
  from typing import Any
@@ -114,7 +114,7 @@ class Telnet:
114
114
  def mt_interact(self) -> None: ...
115
115
  def listener(self) -> None: ...
116
116
  def expect(
117
- self, list: Sequence[Pattern[bytes] | bytes], timeout: float | None = None
117
+ self, list: MutableSequence[Pattern[bytes] | bytes] | Sequence[Pattern[bytes]], timeout: float | None = None
118
118
  ) -> tuple[int, Match[bytes] | None, bytes]: ...
119
119
  def __enter__(self) -> Self: ...
120
120
  def __exit__(
@@ -144,69 +144,22 @@ class Thread:
144
144
  class _DummyThread(Thread):
145
145
  def __init__(self) -> None: ...
146
146
 
147
- @final
148
- class Lock:
149
- """
150
- A lock object is a synchronization primitive. To create a lock,
151
- call threading.Lock(). Methods are:
152
-
153
- acquire() -- lock the lock, possibly blocking until it can be obtained
154
- release() -- unlock of the lock
155
- locked() -- test whether the lock is currently locked
156
-
157
- A lock is not owned by the thread that locked it; another thread may
158
- unlock it. A thread attempting to lock a lock that it has already locked
159
- will block until another thread unlocks it. Deadlocks may ensue.
160
- """
161
- def __enter__(self) -> bool:
162
- """Lock the lock."""
163
- ...
164
- def __exit__(
165
- self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
166
- ) -> None:
167
- """Release the lock."""
168
- ...
169
- def acquire(self, blocking: bool = ..., timeout: float = ...) -> bool:
170
- """
171
- Lock the lock. Without argument, this blocks if the lock is already
172
- locked (even by the same thread), waiting for another thread to release
173
- the lock, and return True once the lock is acquired.
174
- With an argument, this will only block if the argument is true,
175
- and the return value reflects whether the lock is acquired.
176
- The blocking operation is interruptible.
177
- """
178
- ...
179
- def release(self) -> None:
180
- """
181
- Release the lock, allowing another thread that is blocked waiting for
182
- the lock to acquire the lock. The lock must be in the locked state,
183
- but it needn't be locked by the same thread that unlocks it.
184
- """
185
- ...
186
- def locked(self) -> bool:
187
- """Return whether the lock is in the locked state."""
188
- ...
189
- def acquire_lock(self, blocking: bool = ..., timeout: float = ...) -> bool:
190
- """An obsolete synonym of acquire()."""
191
- ...
192
- def release_lock(self) -> None:
193
- """An obsolete synonym of release()."""
194
- ...
195
- def locked_lock(self) -> bool:
196
- """An obsolete synonym of locked()."""
197
- ...
147
+ # This is actually the function _thread.allocate_lock for <= 3.12
148
+ Lock = _thread.LockType
198
149
 
150
+ # Python implementation of RLock.
199
151
  @final
200
152
  class _RLock:
153
+ _count: int
201
154
  def acquire(self, blocking: bool = True, timeout: float = -1) -> bool: ...
202
155
  def release(self) -> None: ...
203
156
  __enter__ = acquire
204
157
  def __exit__(self, t: type[BaseException] | None, v: BaseException | None, tb: TracebackType | None) -> None: ...
205
158
 
206
- RLock = _RLock
159
+ RLock = _thread.RLock # Actually a function at runtime.
207
160
 
208
161
  class Condition:
209
- def __init__(self, lock: Lock | _RLock | None = None) -> None: ...
162
+ def __init__(self, lock: Lock | _RLock | RLock | None = None) -> None: ...
210
163
  def __enter__(self) -> bool: ...
211
164
  def __exit__(
212
165
  self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
@@ -5,7 +5,7 @@ from collections.abc import Callable, Iterable, Mapping, Sequence
5
5
  from tkinter.constants import *
6
6
  from tkinter.font import _FontDescription
7
7
  from types import TracebackType
8
- from typing import Any, Generic, Literal, NamedTuple, Protocol, TypedDict, TypeVar, overload, type_check_only
8
+ from typing import Any, ClassVar, Generic, Literal, NamedTuple, Protocol, TypedDict, TypeVar, overload, type_check_only
9
9
  from typing_extensions import TypeAlias, TypeVarTuple, Unpack, deprecated
10
10
 
11
11
  if sys.version_info >= (3, 11):
@@ -330,6 +330,7 @@ class Variable:
330
330
  def trace_vinfo(self): ...
331
331
  def __eq__(self, other: object) -> bool: ...
332
332
  def __del__(self) -> None: ...
333
+ __hash__: ClassVar[None] # type: ignore[assignment]
333
334
 
334
335
  class StringVar(Variable):
335
336
  def __init__(self, master: Misc | None = None, value: str | None = None, name: str | None = None) -> None: ...
@@ -370,6 +371,9 @@ class _GridIndexInfo(TypedDict, total=False):
370
371
  uniform: str | None
371
372
  weight: int
372
373
 
374
+ class _BusyInfo(TypedDict):
375
+ cursor: _Cursor
376
+
373
377
  class Misc:
374
378
  master: Misc | None
375
379
  tk: _tkinter.TkappType
@@ -403,7 +407,29 @@ class Misc:
403
407
  # after_idle is essentially partialmethod(after, "idle")
404
408
  def after_idle(self, func: Callable[[Unpack[_Ts]], object], *args: Unpack[_Ts]) -> str: ...
405
409
  def after_cancel(self, id: str) -> None: ...
410
+ if sys.version_info >= (3, 13):
411
+ def after_info(self, id: str | None = None) -> tuple[str, ...]: ...
412
+
406
413
  def bell(self, displayof: Literal[0] | Misc | None = 0) -> None: ...
414
+ if sys.version_info >= (3, 13):
415
+ # Supports options from `_BusyInfo``
416
+ def tk_busy_cget(self, option: Literal["cursor"]) -> _Cursor: ...
417
+ busy_cget = tk_busy_cget
418
+ def tk_busy_configure(self, cnf: Any = None, **kw: Any) -> Any: ...
419
+ tk_busy_config = tk_busy_configure
420
+ busy_configure = tk_busy_configure
421
+ busy_config = tk_busy_configure
422
+ def tk_busy_current(self, pattern: str | None = None) -> list[Misc]: ...
423
+ busy_current = tk_busy_current
424
+ def tk_busy_forget(self) -> None: ...
425
+ busy_forget = tk_busy_forget
426
+ def tk_busy_hold(self, **kw: Unpack[_BusyInfo]) -> None: ...
427
+ tk_busy = tk_busy_hold
428
+ busy_hold = tk_busy_hold
429
+ busy = tk_busy_hold
430
+ def tk_busy_status(self) -> bool: ...
431
+ busy_status = tk_busy_status
432
+
407
433
  def clipboard_get(self, *, displayof: Misc = ..., type: str = ...) -> str: ...
408
434
  def clipboard_clear(self, *, displayof: Misc = ...) -> None: ...
409
435
  def clipboard_append(self, string: str, *, displayof: Misc = ..., format: str = ..., type: str = ...) -> None: ...
@@ -661,6 +687,38 @@ class YView:
661
687
  @overload
662
688
  def yview_scroll(self, number: _ScreenUnits, what: Literal["pixels"]) -> None: ...
663
689
 
690
+ if sys.platform == "darwin":
691
+ @type_check_only
692
+ class _WmAttributes(TypedDict):
693
+ alpha: float
694
+ fullscreen: bool
695
+ modified: bool
696
+ notify: bool
697
+ titlepath: str
698
+ topmost: bool
699
+ transparent: bool
700
+ type: str # Present, but not actually used on darwin
701
+
702
+ elif sys.platform == "win32":
703
+ @type_check_only
704
+ class _WmAttributes(TypedDict):
705
+ alpha: float
706
+ transparentcolor: str
707
+ disabled: bool
708
+ fullscreen: bool
709
+ toolwindow: bool
710
+ topmost: bool
711
+
712
+ else:
713
+ # X11
714
+ @type_check_only
715
+ class _WmAttributes(TypedDict):
716
+ alpha: float
717
+ topmost: bool
718
+ zoomed: bool
719
+ fullscreen: bool
720
+ type: str
721
+
664
722
  class Wm:
665
723
  @overload
666
724
  def wm_aspect(self, minNumer: int, minDenom: int, maxNumer: int, maxDenom: int) -> None: ...
@@ -669,12 +727,144 @@ class Wm:
669
727
  self, minNumer: None = None, minDenom: None = None, maxNumer: None = None, maxDenom: None = None
670
728
  ) -> tuple[int, int, int, int] | None: ...
671
729
  aspect = wm_aspect
730
+ if sys.version_info >= (3, 13):
731
+ @overload
732
+ def wm_attributes(self, *, return_python_dict: Literal[False] = False) -> tuple[Any, ...]: ...
733
+ @overload
734
+ def wm_attributes(self, *, return_python_dict: Literal[True]) -> _WmAttributes: ...
735
+
736
+ else:
737
+ @overload
738
+ def wm_attributes(self) -> tuple[Any, ...]: ...
739
+
740
+ @overload
741
+ def wm_attributes(self, option: Literal["-alpha"], /) -> float: ...
742
+ @overload
743
+ def wm_attributes(self, option: Literal["-fullscreen"], /) -> bool: ...
672
744
  @overload
673
- def wm_attributes(self) -> tuple[Any, ...]: ...
745
+ def wm_attributes(self, option: Literal["-topmost"], /) -> bool: ...
746
+ if sys.platform == "darwin":
747
+ @overload
748
+ def wm_attributes(self, option: Literal["-modified"], /) -> bool: ...
749
+ @overload
750
+ def wm_attributes(self, option: Literal["-notify"], /) -> bool: ...
751
+ @overload
752
+ def wm_attributes(self, option: Literal["-titlepath"], /) -> str: ...
753
+ @overload
754
+ def wm_attributes(self, option: Literal["-transparent"], /) -> bool: ...
755
+ @overload
756
+ def wm_attributes(self, option: Literal["-type"], /) -> str: ...
757
+ elif sys.platform == "win32":
758
+ @overload
759
+ def wm_attributes(self, option: Literal["-transparentcolor"], /) -> str: ...
760
+ @overload
761
+ def wm_attributes(self, option: Literal["-disabled"], /) -> bool: ...
762
+ @overload
763
+ def wm_attributes(self, option: Literal["-toolwindow"], /) -> bool: ...
764
+ else:
765
+ # X11
766
+ @overload
767
+ def wm_attributes(self, option: Literal["-zoomed"], /) -> bool: ...
768
+ @overload
769
+ def wm_attributes(self, option: Literal["-type"], /) -> str: ...
770
+ if sys.version_info >= (3, 13):
771
+ @overload
772
+ def wm_attributes(self, option: Literal["alpha"], /) -> float: ...
773
+ @overload
774
+ def wm_attributes(self, option: Literal["fullscreen"], /) -> bool: ...
775
+ @overload
776
+ def wm_attributes(self, option: Literal["topmost"], /) -> bool: ...
777
+ if sys.platform == "darwin":
778
+ @overload
779
+ def wm_attributes(self, option: Literal["modified"], /) -> bool: ...
780
+ @overload
781
+ def wm_attributes(self, option: Literal["notify"], /) -> bool: ...
782
+ @overload
783
+ def wm_attributes(self, option: Literal["titlepath"], /) -> str: ...
784
+ @overload
785
+ def wm_attributes(self, option: Literal["transparent"], /) -> bool: ...
786
+ @overload
787
+ def wm_attributes(self, option: Literal["type"], /) -> str: ...
788
+ elif sys.platform == "win32":
789
+ @overload
790
+ def wm_attributes(self, option: Literal["transparentcolor"], /) -> str: ...
791
+ @overload
792
+ def wm_attributes(self, option: Literal["disabled"], /) -> bool: ...
793
+ @overload
794
+ def wm_attributes(self, option: Literal["toolwindow"], /) -> bool: ...
795
+ else:
796
+ # X11
797
+ @overload
798
+ def wm_attributes(self, option: Literal["zoomed"], /) -> bool: ...
799
+ @overload
800
+ def wm_attributes(self, option: Literal["type"], /) -> str: ...
801
+
674
802
  @overload
675
803
  def wm_attributes(self, option: str, /): ...
676
804
  @overload
677
- def wm_attributes(self, option: str, value, /, *__other_option_value_pairs: Any) -> None: ...
805
+ def wm_attributes(self, option: Literal["-alpha"], value: float, /) -> Literal[""]: ...
806
+ @overload
807
+ def wm_attributes(self, option: Literal["-fullscreen"], value: bool, /) -> Literal[""]: ...
808
+ @overload
809
+ def wm_attributes(self, option: Literal["-topmost"], value: bool, /) -> Literal[""]: ...
810
+ if sys.platform == "darwin":
811
+ @overload
812
+ def wm_attributes(self, option: Literal["-modified"], value: bool, /) -> Literal[""]: ...
813
+ @overload
814
+ def wm_attributes(self, option: Literal["-notify"], value: bool, /) -> Literal[""]: ...
815
+ @overload
816
+ def wm_attributes(self, option: Literal["-titlepath"], value: str, /) -> Literal[""]: ...
817
+ @overload
818
+ def wm_attributes(self, option: Literal["-transparent"], value: bool, /) -> Literal[""]: ...
819
+ elif sys.platform == "win32":
820
+ @overload
821
+ def wm_attributes(self, option: Literal["-transparentcolor"], value: str, /) -> Literal[""]: ...
822
+ @overload
823
+ def wm_attributes(self, option: Literal["-disabled"], value: bool, /) -> Literal[""]: ...
824
+ @overload
825
+ def wm_attributes(self, option: Literal["-toolwindow"], value: bool, /) -> Literal[""]: ...
826
+ else:
827
+ # X11
828
+ @overload
829
+ def wm_attributes(self, option: Literal["-zoomed"], value: bool, /) -> Literal[""]: ...
830
+ @overload
831
+ def wm_attributes(self, option: Literal["-type"], value: str, /) -> Literal[""]: ...
832
+
833
+ @overload
834
+ def wm_attributes(self, option: str, value, /, *__other_option_value_pairs: Any) -> Literal[""]: ...
835
+ if sys.version_info >= (3, 13):
836
+ if sys.platform == "darwin":
837
+ @overload
838
+ def wm_attributes(
839
+ self,
840
+ *,
841
+ alpha: float = ...,
842
+ fullscreen: bool = ...,
843
+ modified: bool = ...,
844
+ notify: bool = ...,
845
+ titlepath: str = ...,
846
+ topmost: bool = ...,
847
+ transparent: bool = ...,
848
+ ) -> None: ...
849
+ elif sys.platform == "win32":
850
+ @overload
851
+ def wm_attributes(
852
+ self,
853
+ *,
854
+ alpha: float = ...,
855
+ transparentcolor: str = ...,
856
+ disabled: bool = ...,
857
+ fullscreen: bool = ...,
858
+ toolwindow: bool = ...,
859
+ topmost: bool = ...,
860
+ ) -> None: ...
861
+ else:
862
+ # X11
863
+ @overload
864
+ def wm_attributes(
865
+ self, *, alpha: float = ..., topmost: bool = ..., zoomed: bool = ..., fullscreen: bool = ..., type: str = ...
866
+ ) -> None: ...
867
+
678
868
  attributes = wm_attributes
679
869
  def wm_client(self, name: str | None = None) -> str: ...
680
870
  client = wm_client
@@ -80,8 +80,8 @@ class Directory(commondialog.Dialog):
80
80
  # TODO: command kwarg available on macos
81
81
  def asksaveasfilename(
82
82
  *,
83
- confirmoverwrite: bool | None = ...,
84
- defaultextension: str | None = ...,
83
+ confirmoverwrite: bool | None = True,
84
+ defaultextension: str | None = "",
85
85
  filetypes: Iterable[tuple[str, str | list[str] | tuple[str, ...]]] | None = ...,
86
86
  initialdir: StrOrBytesPath | None = ...,
87
87
  initialfile: StrOrBytesPath | None = ...,
@@ -91,7 +91,7 @@ def asksaveasfilename(
91
91
  ) -> str: ... # can be empty string
92
92
  def askopenfilename(
93
93
  *,
94
- defaultextension: str | None = ...,
94
+ defaultextension: str | None = "",
95
95
  filetypes: Iterable[tuple[str, str | list[str] | tuple[str, ...]]] | None = ...,
96
96
  initialdir: StrOrBytesPath | None = ...,
97
97
  initialfile: StrOrBytesPath | None = ...,
@@ -101,7 +101,7 @@ def askopenfilename(
101
101
  ) -> str: ... # can be empty string
102
102
  def askopenfilenames(
103
103
  *,
104
- defaultextension: str | None = ...,
104
+ defaultextension: str | None = "",
105
105
  filetypes: Iterable[tuple[str, str | list[str] | tuple[str, ...]]] | None = ...,
106
106
  initialdir: StrOrBytesPath | None = ...,
107
107
  initialfile: StrOrBytesPath | None = ...,
@@ -110,15 +110,15 @@ def askopenfilenames(
110
110
  typevariable: StringVar | str | None = ...,
111
111
  ) -> Literal[""] | tuple[str, ...]: ...
112
112
  def askdirectory(
113
- *, initialdir: StrOrBytesPath | None = ..., mustexist: bool | None = ..., parent: Misc | None = ..., title: str | None = ...
113
+ *, initialdir: StrOrBytesPath | None = ..., mustexist: bool | None = False, parent: Misc | None = ..., title: str | None = ...
114
114
  ) -> str: ... # can be empty string
115
115
 
116
116
  # TODO: If someone actually uses these, overload to have the actual return type of open(..., mode)
117
117
  def asksaveasfile(
118
118
  mode: str = "w",
119
119
  *,
120
- confirmoverwrite: bool | None = ...,
121
- defaultextension: str | None = ...,
120
+ confirmoverwrite: bool | None = True,
121
+ defaultextension: str | None = "",
122
122
  filetypes: Iterable[tuple[str, str | list[str] | tuple[str, ...]]] | None = ...,
123
123
  initialdir: StrOrBytesPath | None = ...,
124
124
  initialfile: StrOrBytesPath | None = ...,
@@ -129,7 +129,7 @@ def asksaveasfile(
129
129
  def askopenfile(
130
130
  mode: str = "r",
131
131
  *,
132
- defaultextension: str | None = ...,
132
+ defaultextension: str | None = "",
133
133
  filetypes: Iterable[tuple[str, str | list[str] | tuple[str, ...]]] | None = ...,
134
134
  initialdir: StrOrBytesPath | None = ...,
135
135
  initialfile: StrOrBytesPath | None = ...,
@@ -140,7 +140,7 @@ def askopenfile(
140
140
  def askopenfiles(
141
141
  mode: str = "r",
142
142
  *,
143
- defaultextension: str | None = ...,
143
+ defaultextension: str | None = "",
144
144
  filetypes: Iterable[tuple[str, str | list[str] | tuple[str, ...]]] | None = ...,
145
145
  initialdir: StrOrBytesPath | None = ...,
146
146
  initialfile: StrOrBytesPath | None = ...,
@@ -3,7 +3,7 @@ import itertools
3
3
  import sys
4
4
  import tkinter
5
5
  from typing import Any, ClassVar, Final, Literal, TypedDict, overload
6
- from typing_extensions import TypeAlias
6
+ from typing_extensions import TypeAlias, Unpack
7
7
 
8
8
  if sys.version_info >= (3, 9):
9
9
  __all__ = ["NORMAL", "ROMAN", "BOLD", "ITALIC", "nametofont", "Font", "families", "names"]
@@ -18,9 +18,9 @@ _FontDescription: TypeAlias = (
18
18
  | Font # A font object constructed in Python
19
19
  | list[Any] # ["Helvetica", 12, BOLD]
20
20
  | tuple[str] # ("Liberation Sans",) needs wrapping in tuple/list to handle spaces
21
- | tuple[str, int] # ("Liberation Sans", 12)
22
- | tuple[str, int, str] # ("Liberation Sans", 12, "bold")
23
- | tuple[str, int, list[str] | tuple[str, ...]] # e.g. bold and italic
21
+ # ("Liberation Sans", 12) or ("Liberation Sans", 12, "bold", "italic", "underline")
22
+ | tuple[str, int, Unpack[tuple[str, ...]]] # Any number of trailing options is permitted
23
+ | tuple[str, int, list[str] | tuple[str, ...]] # Options can also be passed as list/tuple
24
24
  | _tkinter.Tcl_Obj # A font object constructed in Tcl
25
25
  )
26
26
 
@@ -58,6 +58,7 @@ class Font:
58
58
  underline: bool = ...,
59
59
  overstrike: bool = ...,
60
60
  ) -> None: ...
61
+ __hash__: ClassVar[None] # type: ignore[assignment]
61
62
  def __setitem__(self, key: str, value: Any) -> None: ...
62
63
  @overload
63
64
  def cget(self, option: Literal["family"]) -> str: ...
@@ -76,7 +76,7 @@ if sys.version_info >= (3, 10):
76
76
  __all__ += ["SOFT_KEYWORD"]
77
77
 
78
78
  if sys.version_info >= (3, 12):
79
- __all__ += ["EXCLAMATION", "FSTRING_END", "FSTRING_MIDDLE", "FSTRING_START"]
79
+ __all__ += ["EXCLAMATION", "FSTRING_END", "FSTRING_MIDDLE", "FSTRING_START", "EXACT_TOKEN_TYPES"]
80
80
 
81
81
  ENDMARKER: int
82
82
  NAME: int
@@ -88,7 +88,7 @@ if sys.version_info >= (3, 10):
88
88
  __all__ += ["SOFT_KEYWORD"]
89
89
 
90
90
  if sys.version_info >= (3, 12):
91
- __all__ += ["EXCLAMATION", "FSTRING_END", "FSTRING_MIDDLE", "FSTRING_START"]
91
+ __all__ += ["EXCLAMATION", "FSTRING_END", "FSTRING_MIDDLE", "FSTRING_START", "EXACT_TOKEN_TYPES"]
92
92
 
93
93
  if sys.version_info >= (3, 13):
94
94
  __all__ += ["TokenError", "open"]
@@ -130,9 +130,8 @@ class Untokenizer:
130
130
  if sys.version_info >= (3, 12):
131
131
  def escape_brackets(self, token: str) -> str: ...
132
132
 
133
- # the docstring says "returns bytes" but is incorrect --
134
- # if the ENCODING token is missing, it skips the encode
135
- def untokenize(iterable: Iterable[_Token]) -> Any: ...
133
+ # Returns str, unless the ENCODING token is present, in which case it returns bytes.
134
+ def untokenize(iterable: Iterable[_Token]) -> str | Any: ...
136
135
  def detect_encoding(readline: Callable[[], bytes | bytearray]) -> tuple[str, Sequence[bytes]]: ...
137
136
  def tokenize(readline: Callable[[], bytes | bytearray]) -> Generator[TokenInfo, None, None]: ...
138
137
  def generate_tokens(readline: Callable[[], str]) -> Generator[TokenInfo, None, None]: ...
@@ -2,7 +2,7 @@ import sys
2
2
  from _typeshed import SupportsWrite, Unused
3
3
  from collections.abc import Generator, Iterable, Iterator, Mapping
4
4
  from types import FrameType, TracebackType
5
- from typing import Any, Literal, overload
5
+ from typing import Any, ClassVar, Literal, overload
6
6
  from typing_extensions import Self, TypeAlias, deprecated
7
7
 
8
8
  __all__ = [
@@ -113,15 +113,26 @@ if sys.version_info >= (3, 11):
113
113
  def emit(self, text_gen: str | Iterable[str], margin_char: str | None = None) -> Generator[str, None, None]: ...
114
114
 
115
115
  class TracebackException:
116
- __cause__: TracebackException
117
- __context__: TracebackException
116
+ __cause__: TracebackException | None
117
+ __context__: TracebackException | None
118
+ if sys.version_info >= (3, 11):
119
+ exceptions: list[TracebackException] | None
118
120
  __suppress_context__: bool
121
+ if sys.version_info >= (3, 11):
122
+ __notes__: list[str] | None
119
123
  stack: StackSummary
124
+
125
+ # These fields only exist for `SyntaxError`s, but there is no way to express that in the type system.
120
126
  filename: str
121
- lineno: int
127
+ lineno: str | None
128
+ if sys.version_info >= (3, 10):
129
+ end_lineno: str | None
122
130
  text: str
123
131
  offset: int
132
+ if sys.version_info >= (3, 10):
133
+ end_offset: int | None
124
134
  msg: str
135
+
125
136
  if sys.version_info >= (3, 13):
126
137
  @property
127
138
  def exc_type_str(self) -> str: ...
@@ -218,6 +229,7 @@ class TracebackException:
218
229
  ) -> Self: ...
219
230
 
220
231
  def __eq__(self, other: object) -> bool: ...
232
+ __hash__: ClassVar[None] # type: ignore[assignment]
221
233
  if sys.version_info >= (3, 11):
222
234
  def format(self, *, chain: bool = True, _ctx: _ExceptionPrintContext | None = None) -> Generator[str, None, None]: ...
223
235
  else:
@@ -281,6 +293,7 @@ class FrameSummary:
281
293
  def __iter__(self) -> Iterator[Any]: ...
282
294
  def __eq__(self, other: object) -> bool: ...
283
295
  def __len__(self) -> Literal[4]: ...
296
+ __hash__: ClassVar[None] # type: ignore[assignment]
284
297
 
285
298
  class StackSummary(list[FrameSummary]):
286
299
  @classmethod