jaclang 0.6.0__py3-none-any.whl → 0.6.2__py3-none-any.whl

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 (913) hide show
  1. jaclang/cli/.gitignore +3 -0
  2. jaclang/cli/cli.md +190 -0
  3. jaclang/cli/cli.py +90 -3
  4. jaclang/cli/cmdreg.py +18 -6
  5. jaclang/compiler/.gitignore +1 -0
  6. jaclang/compiler/absyntree.py +1 -2
  7. jaclang/compiler/parser.py +1 -1
  8. jaclang/compiler/passes/main/def_impl_match_pass.py +4 -1
  9. jaclang/compiler/passes/main/fuse_typeinfo_pass.py +10 -7
  10. jaclang/compiler/passes/main/import_pass.py +39 -22
  11. jaclang/compiler/passes/main/pyast_gen_pass.py +6 -57
  12. jaclang/compiler/passes/main/pyjac_ast_link_pass.py +218 -0
  13. jaclang/compiler/passes/main/schedules.py +2 -0
  14. jaclang/compiler/passes/main/sym_tab_build_pass.py +9 -3
  15. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl/getme.impl.jac +3 -0
  16. jaclang/compiler/passes/main/tests/fixtures/autoimpl.impl.jac +3 -0
  17. jaclang/compiler/passes/main/tests/fixtures/autoimpl.jac +9 -0
  18. jaclang/compiler/passes/main/tests/fixtures/autoimpl.something.else.impl.jac +3 -0
  19. jaclang/compiler/passes/main/tests/fixtures/base.jac +13 -0
  20. jaclang/compiler/passes/main/tests/fixtures/base2.jac +14 -0
  21. jaclang/compiler/passes/main/tests/fixtures/blip.jac +2 -0
  22. jaclang/compiler/passes/main/tests/fixtures/codegentext.jac +31 -0
  23. jaclang/compiler/passes/main/tests/fixtures/decls.jac +10 -0
  24. jaclang/compiler/passes/main/tests/fixtures/defs_and_uses.jac +44 -0
  25. jaclang/compiler/passes/main/tests/fixtures/fstrings.jac +4 -0
  26. jaclang/compiler/passes/main/tests/fixtures/func.jac +18 -0
  27. jaclang/compiler/passes/main/tests/fixtures/func2.jac +8 -0
  28. jaclang/compiler/passes/main/tests/fixtures/game1.jac +15 -0
  29. jaclang/compiler/passes/main/tests/fixtures/impl/defs1.jac +8 -0
  30. jaclang/compiler/passes/main/tests/fixtures/impl/defs2.jac +8 -0
  31. jaclang/compiler/passes/main/tests/fixtures/impl/imps.jac +11 -0
  32. jaclang/compiler/passes/main/tests/fixtures/multi_def_err.jac +7 -0
  33. jaclang/compiler/passes/main/tests/fixtures/registry.jac +36 -0
  34. jaclang/compiler/passes/main/tests/test_import_pass.py +11 -0
  35. jaclang/compiler/passes/tool/tests/fixtures/corelib.jac +480 -0
  36. jaclang/compiler/passes/tool/tests/fixtures/corelib_fmt.jac +480 -0
  37. jaclang/compiler/passes/tool/tests/fixtures/genai/essay_review.jac +36 -0
  38. jaclang/compiler/passes/tool/tests/fixtures/genai/expert_answer.jac +17 -0
  39. jaclang/compiler/passes/tool/tests/fixtures/genai/joke_gen.jac +32 -0
  40. jaclang/compiler/passes/tool/tests/fixtures/genai/odd_word_out.jac +27 -0
  41. jaclang/compiler/passes/tool/tests/fixtures/genai/personality_finder.jac +35 -0
  42. jaclang/compiler/passes/tool/tests/fixtures/genai/text_to_type.jac +25 -0
  43. jaclang/compiler/passes/tool/tests/fixtures/genai/translator.jac +13 -0
  44. jaclang/compiler/passes/tool/tests/fixtures/genai/wikipedia.jac +63 -0
  45. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.dot +39 -0
  46. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.jac +7 -0
  47. jaclang/compiler/passes/tool/tests/fixtures/multi_def_err.txt +20 -0
  48. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/ability_impl_long_comprehension.jac +15 -0
  49. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/call_with_many_parameters.jac +24 -0
  50. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/entry_main.jac +4 -0
  51. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/long_line_nested_dict_access.jac +10 -0
  52. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/multiline_fstrings.jac +16 -0
  53. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_dict.jac +15 -0
  54. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/nested_loop_and_incrementer.jac +13 -0
  55. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/simple_walker.jac +25 -0
  56. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/try_block_and_walker_spawn_and_fstrings.jac +26 -0
  57. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/tuple_iteration_and_not_negation.jac +20 -0
  58. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/type_annotation.jac +3 -0
  59. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_decl_only.jac +12 -0
  60. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_default_values_types_and_docstrings.jac +18 -0
  61. jaclang/compiler/passes/tool/tests/fixtures/myca_formatted_code/walker_with_inline_ability_impl.jac +8 -0
  62. jaclang/compiler/passes/tool/tests/fixtures/simple_walk.jac +47 -0
  63. jaclang/compiler/passes/tool/tests/fixtures/simple_walk_fmt.jac +47 -0
  64. jaclang/compiler/tests/fixtures/fam.jac +67 -0
  65. jaclang/compiler/tests/fixtures/hello_world.jac +5 -0
  66. jaclang/compiler/tests/fixtures/kwesc.jac +5 -0
  67. jaclang/compiler/tests/fixtures/mod_doc_test.jac +1 -0
  68. jaclang/compiler/tests/fixtures/staticcheck.jac +20 -0
  69. jaclang/compiler/tests/fixtures/stuff.jac +6 -0
  70. jaclang/core/aott.py +10 -1
  71. jaclang/core/construct.py +157 -21
  72. jaclang/core/importer.py +6 -2
  73. jaclang/core/memory.py +48 -0
  74. jaclang/core/shelve_storage.py +55 -0
  75. jaclang/plugin/__init__.py +1 -2
  76. jaclang/plugin/builtin.py +1 -1
  77. jaclang/plugin/default.py +97 -4
  78. jaclang/plugin/feature.py +28 -9
  79. jaclang/plugin/spec.py +45 -10
  80. jaclang/plugin/tests/fixtures/impl_match.jac +9 -0
  81. jaclang/plugin/tests/fixtures/impl_match_impl.jac +3 -0
  82. jaclang/plugin/tests/fixtures/simple_node_connection.jac +55 -0
  83. jaclang/plugin/tests/fixtures/simple_persistent.jac +41 -0
  84. jaclang/plugin/tests/test_jaseci.py +219 -0
  85. jaclang/tests/fixtures/abc.jac +73 -0
  86. jaclang/tests/fixtures/access_checker.jac +19 -0
  87. jaclang/tests/fixtures/access_modifier.jac +49 -0
  88. jaclang/tests/fixtures/aott_raise.jac +25 -0
  89. jaclang/tests/fixtures/arithmetic_bug.jac +13 -0
  90. jaclang/tests/fixtures/assign_compr.jac +15 -0
  91. jaclang/tests/fixtures/assign_compr_dup.jac +15 -0
  92. jaclang/tests/fixtures/builtin_dotgen.jac +41 -0
  93. jaclang/tests/fixtures/chandra_bugs.jac +11 -0
  94. jaclang/tests/fixtures/chandra_bugs2.jac +26 -0
  95. jaclang/tests/fixtures/circle_pysolo.py +91 -0
  96. jaclang/tests/fixtures/deep/deeper/deep_outer_import.jac +9 -0
  97. jaclang/tests/fixtures/deep/deeper/deep_outer_import2.jac +9 -0
  98. jaclang/tests/fixtures/deep/deeper/snd_lev.jac +6 -0
  99. jaclang/tests/fixtures/deep/mycode.jac +4 -0
  100. jaclang/tests/fixtures/deep/one_lev.jac +6 -0
  101. jaclang/tests/fixtures/deep/one_lev_dup.jac +6 -0
  102. jaclang/tests/fixtures/deep/one_lev_dup_py.py +6 -0
  103. jaclang/tests/fixtures/deep_import.jac +7 -0
  104. jaclang/tests/fixtures/deferred_field.jac +13 -0
  105. jaclang/tests/fixtures/disconn.jac +29 -0
  106. jaclang/tests/fixtures/edge_node_walk.jac +46 -0
  107. jaclang/tests/fixtures/edge_ops.jac +45 -0
  108. jaclang/tests/fixtures/edges_walk.jac +38 -0
  109. jaclang/tests/fixtures/enum_inside_archtype.jac +20 -0
  110. jaclang/tests/fixtures/err.jac +5 -0
  111. jaclang/tests/fixtures/err2.jac +5 -0
  112. jaclang/tests/fixtures/game1.jac +15 -0
  113. jaclang/tests/fixtures/gendot_bubble_sort.jac +77 -0
  114. jaclang/tests/fixtures/guess_game.jac +47 -0
  115. jaclang/tests/fixtures/has_goodness.jac +15 -0
  116. jaclang/tests/fixtures/hashcheck.jac +12 -0
  117. jaclang/tests/fixtures/hashcheck_dup.jac +12 -0
  118. jaclang/tests/fixtures/hello.jac +5 -0
  119. jaclang/tests/fixtures/hello_nc.jac +5 -0
  120. jaclang/tests/fixtures/ignore.jac +43 -0
  121. jaclang/tests/fixtures/ignore_dup.jac +43 -0
  122. jaclang/tests/fixtures/impl_grab.impl.jac +4 -0
  123. jaclang/tests/fixtures/impl_grab.jac +2 -0
  124. jaclang/tests/fixtures/inherit_check.jac +33 -0
  125. jaclang/tests/fixtures/jacsamp.jac +6 -0
  126. jaclang/tests/fixtures/jp_importer.jac +17 -0
  127. jaclang/tests/fixtures/lambda.jac +6 -0
  128. jaclang/tests/fixtures/maxfail_run_test.jac +5 -0
  129. jaclang/tests/fixtures/mtest.impl.jac +6 -0
  130. jaclang/tests/fixtures/mtest.jac +6 -0
  131. jaclang/tests/fixtures/needs_import.jac +18 -0
  132. jaclang/tests/fixtures/needs_import_1.jac +6 -0
  133. jaclang/tests/fixtures/needs_import_2.jac +6 -0
  134. jaclang/tests/fixtures/needs_import_3.jac +6 -0
  135. jaclang/tests/fixtures/needs_import_dup.jac +18 -0
  136. jaclang/tests/fixtures/package_import.jac +6 -0
  137. jaclang/tests/fixtures/pyfunc.py +11 -0
  138. jaclang/tests/fixtures/pyfunc_1.py +311 -0
  139. jaclang/tests/fixtures/pyfunc_2.py +279 -0
  140. jaclang/tests/fixtures/pyfunc_3.py +310 -0
  141. jaclang/tests/fixtures/random_check.jac +70 -0
  142. jaclang/tests/fixtures/raw_byte_string.jac +18 -0
  143. jaclang/tests/fixtures/registry.jac +37 -0
  144. jaclang/tests/fixtures/run_test.jac +5 -0
  145. jaclang/tests/fixtures/semstr.jac +33 -0
  146. jaclang/tests/fixtures/simple_archs.jac +26 -0
  147. jaclang/tests/fixtures/slice_vals.jac +7 -0
  148. jaclang/tests/fixtures/sub_abil_sep.jac +15 -0
  149. jaclang/tests/fixtures/sub_abil_sep_multilev.jac +17 -0
  150. jaclang/tests/fixtures/try_finally.jac +34 -0
  151. jaclang/tests/fixtures/tupleunpack.jac +6 -0
  152. jaclang/tests/fixtures/tuplytuples.jac +8 -0
  153. jaclang/tests/fixtures/type_info.jac +19 -0
  154. jaclang/tests/fixtures/with_context.jac +30 -0
  155. jaclang/tests/fixtures/with_llm_function.jac +33 -0
  156. jaclang/tests/fixtures/with_llm_lower.jac +45 -0
  157. jaclang/tests/fixtures/with_llm_method.jac +51 -0
  158. jaclang/tests/fixtures/with_llm_type.jac +52 -0
  159. jaclang/tests/test_cli.py +239 -0
  160. jaclang/tests/test_language.py +807 -0
  161. jaclang/tests/test_man_code.py +148 -0
  162. jaclang/tests/test_reference.py +95 -0
  163. jaclang/tests/test_settings.py +46 -0
  164. jaclang/utils/treeprinter.py +7 -2
  165. jaclang/vendor/LICENSE +18 -0
  166. jaclang/vendor/mypy/stubgen.py +0 -0
  167. jaclang/vendor/mypy/stubgenc.py +0 -0
  168. jaclang/vendor/mypy/typeshed/LICENSE +237 -0
  169. jaclang/vendor/mypy/typeshed/stdlib/VERSIONS +308 -0
  170. jaclang/vendor/mypy/typeshed/stdlib/__future__.pyi +41 -0
  171. jaclang/vendor/mypy/typeshed/stdlib/__main__.pyi +3 -0
  172. jaclang/vendor/mypy/typeshed/stdlib/_ast.pyi +632 -0
  173. jaclang/vendor/mypy/typeshed/stdlib/_bisect.pyi +106 -0
  174. jaclang/vendor/mypy/typeshed/stdlib/_bootlocale.pyi +1 -0
  175. jaclang/vendor/mypy/typeshed/stdlib/_codecs.pyi +198 -0
  176. jaclang/vendor/mypy/typeshed/stdlib/_collections_abc.pyi +94 -0
  177. jaclang/vendor/mypy/typeshed/stdlib/_compat_pickle.pyi +8 -0
  178. jaclang/vendor/mypy/typeshed/stdlib/_compression.pyi +25 -0
  179. jaclang/vendor/mypy/typeshed/stdlib/_csv.pyi +90 -0
  180. jaclang/vendor/mypy/typeshed/stdlib/_ctypes.pyi +219 -0
  181. jaclang/vendor/mypy/typeshed/stdlib/_curses.pyi +600 -0
  182. jaclang/vendor/mypy/typeshed/stdlib/_decimal.pyi +316 -0
  183. jaclang/vendor/mypy/typeshed/stdlib/_dummy_thread.pyi +43 -0
  184. jaclang/vendor/mypy/typeshed/stdlib/_dummy_threading.pyi +185 -0
  185. jaclang/vendor/mypy/typeshed/stdlib/_heapq.pyi +11 -0
  186. jaclang/vendor/mypy/typeshed/stdlib/_imp.pyi +32 -0
  187. jaclang/vendor/mypy/typeshed/stdlib/_json.pyi +49 -0
  188. jaclang/vendor/mypy/typeshed/stdlib/_locale.pyi +100 -0
  189. jaclang/vendor/mypy/typeshed/stdlib/_markupbase.pyi +16 -0
  190. jaclang/vendor/mypy/typeshed/stdlib/_msi.pyi +92 -0
  191. jaclang/vendor/mypy/typeshed/stdlib/_operator.pyi +172 -0
  192. jaclang/vendor/mypy/typeshed/stdlib/_osx_support.pyi +55 -0
  193. jaclang/vendor/mypy/typeshed/stdlib/_posixsubprocess.pyi +32 -0
  194. jaclang/vendor/mypy/typeshed/stdlib/_py_abc.pyi +17 -0
  195. jaclang/vendor/mypy/typeshed/stdlib/_pydecimal.pyi +43 -0
  196. jaclang/vendor/mypy/typeshed/stdlib/_random.pyi +12 -0
  197. jaclang/vendor/mypy/typeshed/stdlib/_sitebuiltins.pyi +18 -0
  198. jaclang/vendor/mypy/typeshed/stdlib/_socket.pyi +851 -0
  199. jaclang/vendor/mypy/typeshed/stdlib/_stat.pyi +103 -0
  200. jaclang/vendor/mypy/typeshed/stdlib/_thread.pyi +63 -0
  201. jaclang/vendor/mypy/typeshed/stdlib/_threading_local.pyi +17 -0
  202. jaclang/vendor/mypy/typeshed/stdlib/_tkinter.pyi +120 -0
  203. jaclang/vendor/mypy/typeshed/stdlib/_tracemalloc.pyi +17 -0
  204. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/README.md +34 -0
  205. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/__init__.pyi +374 -0
  206. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/dbapi.pyi +45 -0
  207. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/wsgi.pyi +51 -0
  208. jaclang/vendor/mypy/typeshed/stdlib/_typeshed/xml.pyi +13 -0
  209. jaclang/vendor/mypy/typeshed/stdlib/_warnings.pyi +65 -0
  210. jaclang/vendor/mypy/typeshed/stdlib/_weakref.pyi +45 -0
  211. jaclang/vendor/mypy/typeshed/stdlib/_weakrefset.pyi +51 -0
  212. jaclang/vendor/mypy/typeshed/stdlib/_winapi.pyi +275 -0
  213. jaclang/vendor/mypy/typeshed/stdlib/abc.pyi +61 -0
  214. jaclang/vendor/mypy/typeshed/stdlib/aifc.pyi +99 -0
  215. jaclang/vendor/mypy/typeshed/stdlib/antigravity.pyi +3 -0
  216. jaclang/vendor/mypy/typeshed/stdlib/argparse.pyi +675 -0
  217. jaclang/vendor/mypy/typeshed/stdlib/array.pyi +111 -0
  218. jaclang/vendor/mypy/typeshed/stdlib/ast.pyi +287 -0
  219. jaclang/vendor/mypy/typeshed/stdlib/asynchat.pyi +21 -0
  220. jaclang/vendor/mypy/typeshed/stdlib/asyncio/__init__.pyi +41 -0
  221. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_events.pyi +519 -0
  222. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_futures.pyi +21 -0
  223. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_subprocess.pyi +71 -0
  224. jaclang/vendor/mypy/typeshed/stdlib/asyncio/base_tasks.pyi +13 -0
  225. jaclang/vendor/mypy/typeshed/stdlib/asyncio/constants.pyi +20 -0
  226. jaclang/vendor/mypy/typeshed/stdlib/asyncio/coroutines.pyi +32 -0
  227. jaclang/vendor/mypy/typeshed/stdlib/asyncio/events.pyi +669 -0
  228. jaclang/vendor/mypy/typeshed/stdlib/asyncio/exceptions.pyi +43 -0
  229. jaclang/vendor/mypy/typeshed/stdlib/asyncio/format_helpers.pyi +26 -0
  230. jaclang/vendor/mypy/typeshed/stdlib/asyncio/futures.pyi +61 -0
  231. jaclang/vendor/mypy/typeshed/stdlib/asyncio/locks.pyi +131 -0
  232. jaclang/vendor/mypy/typeshed/stdlib/asyncio/log.pyi +3 -0
  233. jaclang/vendor/mypy/typeshed/stdlib/asyncio/mixins.pyi +9 -0
  234. jaclang/vendor/mypy/typeshed/stdlib/asyncio/proactor_events.pyi +72 -0
  235. jaclang/vendor/mypy/typeshed/stdlib/asyncio/protocols.pyi +40 -0
  236. jaclang/vendor/mypy/typeshed/stdlib/asyncio/queues.pyi +49 -0
  237. jaclang/vendor/mypy/typeshed/stdlib/asyncio/runners.pyi +44 -0
  238. jaclang/vendor/mypy/typeshed/stdlib/asyncio/selector_events.pyi +8 -0
  239. jaclang/vendor/mypy/typeshed/stdlib/asyncio/sslproto.pyi +189 -0
  240. jaclang/vendor/mypy/typeshed/stdlib/asyncio/staggered.pyi +13 -0
  241. jaclang/vendor/mypy/typeshed/stdlib/asyncio/streams.pyi +172 -0
  242. jaclang/vendor/mypy/typeshed/stdlib/asyncio/subprocess.pyi +234 -0
  243. jaclang/vendor/mypy/typeshed/stdlib/asyncio/taskgroups.pyi +36 -0
  244. jaclang/vendor/mypy/typeshed/stdlib/asyncio/tasks.pyi +566 -0
  245. jaclang/vendor/mypy/typeshed/stdlib/asyncio/threads.pyi +11 -0
  246. jaclang/vendor/mypy/typeshed/stdlib/asyncio/timeouts.pyi +22 -0
  247. jaclang/vendor/mypy/typeshed/stdlib/asyncio/transports.pyi +64 -0
  248. jaclang/vendor/mypy/typeshed/stdlib/asyncio/trsock.pyi +140 -0
  249. jaclang/vendor/mypy/typeshed/stdlib/asyncio/unix_events.pyi +268 -0
  250. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_events.pyi +108 -0
  251. jaclang/vendor/mypy/typeshed/stdlib/asyncio/windows_utils.pyi +59 -0
  252. jaclang/vendor/mypy/typeshed/stdlib/asyncore.pyi +99 -0
  253. jaclang/vendor/mypy/typeshed/stdlib/atexit.pyi +14 -0
  254. jaclang/vendor/mypy/typeshed/stdlib/audioop.pyi +50 -0
  255. jaclang/vendor/mypy/typeshed/stdlib/base64.pyi +76 -0
  256. jaclang/vendor/mypy/typeshed/stdlib/bdb.pyi +133 -0
  257. jaclang/vendor/mypy/typeshed/stdlib/binascii.pyi +45 -0
  258. jaclang/vendor/mypy/typeshed/stdlib/binhex.pyi +47 -0
  259. jaclang/vendor/mypy/typeshed/stdlib/bisect.pyi +4 -0
  260. jaclang/vendor/mypy/typeshed/stdlib/builtins.pyi +2310 -0
  261. jaclang/vendor/mypy/typeshed/stdlib/bz2.pyi +177 -0
  262. jaclang/vendor/mypy/typeshed/stdlib/cProfile.pyi +49 -0
  263. jaclang/vendor/mypy/typeshed/stdlib/calendar.pyi +248 -0
  264. jaclang/vendor/mypy/typeshed/stdlib/cgi.pyi +122 -0
  265. jaclang/vendor/mypy/typeshed/stdlib/cgitb.pyi +44 -0
  266. jaclang/vendor/mypy/typeshed/stdlib/chunk.pyi +26 -0
  267. jaclang/vendor/mypy/typeshed/stdlib/cmath.pyi +38 -0
  268. jaclang/vendor/mypy/typeshed/stdlib/cmd.pyi +52 -0
  269. jaclang/vendor/mypy/typeshed/stdlib/code.pyi +46 -0
  270. jaclang/vendor/mypy/typeshed/stdlib/codecs.pyi +344 -0
  271. jaclang/vendor/mypy/typeshed/stdlib/codeop.pyi +17 -0
  272. jaclang/vendor/mypy/typeshed/stdlib/collections/__init__.pyi +571 -0
  273. jaclang/vendor/mypy/typeshed/stdlib/collections/abc.pyi +2 -0
  274. jaclang/vendor/mypy/typeshed/stdlib/colorsys.pyi +20 -0
  275. jaclang/vendor/mypy/typeshed/stdlib/compileall.pyi +111 -0
  276. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/__init__.pyi +32 -0
  277. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/_base.pyi +137 -0
  278. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/process.pyi +272 -0
  279. jaclang/vendor/mypy/typeshed/stdlib/concurrent/futures/thread.pyi +86 -0
  280. jaclang/vendor/mypy/typeshed/stdlib/configparser.pyi +449 -0
  281. jaclang/vendor/mypy/typeshed/stdlib/contextlib.pyi +274 -0
  282. jaclang/vendor/mypy/typeshed/stdlib/contextvars.pyi +67 -0
  283. jaclang/vendor/mypy/typeshed/stdlib/copy.pyi +16 -0
  284. jaclang/vendor/mypy/typeshed/stdlib/copyreg.pyi +32 -0
  285. jaclang/vendor/mypy/typeshed/stdlib/crypt.pyi +12 -0
  286. jaclang/vendor/mypy/typeshed/stdlib/csv.pyi +147 -0
  287. jaclang/vendor/mypy/typeshed/stdlib/ctypes/__init__.pyi +211 -0
  288. jaclang/vendor/mypy/typeshed/stdlib/ctypes/_endian.pyi +29 -0
  289. jaclang/vendor/mypy/typeshed/stdlib/ctypes/util.pyi +6 -0
  290. jaclang/vendor/mypy/typeshed/stdlib/ctypes/wintypes.pyi +298 -0
  291. jaclang/vendor/mypy/typeshed/stdlib/curses/__init__.pyi +25 -0
  292. jaclang/vendor/mypy/typeshed/stdlib/curses/ascii.pyi +63 -0
  293. jaclang/vendor/mypy/typeshed/stdlib/curses/has_key.pyi +4 -0
  294. jaclang/vendor/mypy/typeshed/stdlib/curses/panel.pyi +25 -0
  295. jaclang/vendor/mypy/typeshed/stdlib/curses/textpad.pyi +15 -0
  296. jaclang/vendor/mypy/typeshed/stdlib/dataclasses.pyi +323 -0
  297. jaclang/vendor/mypy/typeshed/stdlib/datetime.pyi +334 -0
  298. jaclang/vendor/mypy/typeshed/stdlib/dbm/__init__.pyi +98 -0
  299. jaclang/vendor/mypy/typeshed/stdlib/dbm/dumb.pyi +34 -0
  300. jaclang/vendor/mypy/typeshed/stdlib/dbm/gnu.pyi +44 -0
  301. jaclang/vendor/mypy/typeshed/stdlib/dbm/ndbm.pyi +40 -0
  302. jaclang/vendor/mypy/typeshed/stdlib/decimal.pyi +5 -0
  303. jaclang/vendor/mypy/typeshed/stdlib/difflib.pyi +169 -0
  304. jaclang/vendor/mypy/typeshed/stdlib/dis.pyi +190 -0
  305. jaclang/vendor/mypy/typeshed/stdlib/distutils/__init__.pyi +5 -0
  306. jaclang/vendor/mypy/typeshed/stdlib/distutils/archive_util.pyi +22 -0
  307. jaclang/vendor/mypy/typeshed/stdlib/distutils/bcppcompiler.pyi +3 -0
  308. jaclang/vendor/mypy/typeshed/stdlib/distutils/ccompiler.pyi +183 -0
  309. jaclang/vendor/mypy/typeshed/stdlib/distutils/cmd.pyi +88 -0
  310. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/__init__.pyi +0 -0
  311. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist.pyi +25 -0
  312. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_dumb.pyi +21 -0
  313. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_msi.pyi +45 -0
  314. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_packager.pyi +0 -0
  315. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_rpm.pyi +52 -0
  316. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/bdist_wininst.pyi +21 -0
  317. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build.pyi +31 -0
  318. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_clib.pyi +27 -0
  319. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_ext.pyi +50 -0
  320. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_py.pyi +44 -0
  321. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/build_scripts.pyi +24 -0
  322. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/check.pyi +39 -0
  323. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/clean.pyi +17 -0
  324. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/config.pyi +91 -0
  325. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install.pyi +63 -0
  326. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_data.pyi +19 -0
  327. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_egg_info.pyi +18 -0
  328. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_headers.pyi +16 -0
  329. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_lib.pyi +25 -0
  330. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/install_scripts.pyi +18 -0
  331. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/register.pyi +18 -0
  332. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/sdist.pyi +42 -0
  333. jaclang/vendor/mypy/typeshed/stdlib/distutils/command/upload.pyi +17 -0
  334. jaclang/vendor/mypy/typeshed/stdlib/distutils/config.pyi +17 -0
  335. jaclang/vendor/mypy/typeshed/stdlib/distutils/core.pyi +59 -0
  336. jaclang/vendor/mypy/typeshed/stdlib/distutils/cygwinccompiler.pyi +20 -0
  337. jaclang/vendor/mypy/typeshed/stdlib/distutils/debug.pyi +1 -0
  338. jaclang/vendor/mypy/typeshed/stdlib/distutils/dep_util.pyi +3 -0
  339. jaclang/vendor/mypy/typeshed/stdlib/distutils/dir_util.pyi +21 -0
  340. jaclang/vendor/mypy/typeshed/stdlib/distutils/dist.pyi +155 -0
  341. jaclang/vendor/mypy/typeshed/stdlib/distutils/errors.pyi +19 -0
  342. jaclang/vendor/mypy/typeshed/stdlib/distutils/extension.pyi +36 -0
  343. jaclang/vendor/mypy/typeshed/stdlib/distutils/fancy_getopt.pyi +37 -0
  344. jaclang/vendor/mypy/typeshed/stdlib/distutils/file_util.pyi +14 -0
  345. jaclang/vendor/mypy/typeshed/stdlib/distutils/filelist.pyi +78 -0
  346. jaclang/vendor/mypy/typeshed/stdlib/distutils/log.pyi +25 -0
  347. jaclang/vendor/mypy/typeshed/stdlib/distutils/msvccompiler.pyi +3 -0
  348. jaclang/vendor/mypy/typeshed/stdlib/distutils/spawn.pyi +4 -0
  349. jaclang/vendor/mypy/typeshed/stdlib/distutils/sysconfig.pyi +24 -0
  350. jaclang/vendor/mypy/typeshed/stdlib/distutils/text_file.pyi +23 -0
  351. jaclang/vendor/mypy/typeshed/stdlib/distutils/unixccompiler.pyi +3 -0
  352. jaclang/vendor/mypy/typeshed/stdlib/distutils/util.pyi +50 -0
  353. jaclang/vendor/mypy/typeshed/stdlib/distutils/version.pyi +36 -0
  354. jaclang/vendor/mypy/typeshed/stdlib/doctest.pyi +282 -0
  355. jaclang/vendor/mypy/typeshed/stdlib/dummy_threading.pyi +2 -0
  356. jaclang/vendor/mypy/typeshed/stdlib/email/__init__.pyi +37 -0
  357. jaclang/vendor/mypy/typeshed/stdlib/email/_header_value_parser.pyi +392 -0
  358. jaclang/vendor/mypy/typeshed/stdlib/email/_policybase.pyi +51 -0
  359. jaclang/vendor/mypy/typeshed/stdlib/email/base64mime.pyi +22 -0
  360. jaclang/vendor/mypy/typeshed/stdlib/email/charset.pyi +39 -0
  361. jaclang/vendor/mypy/typeshed/stdlib/email/contentmanager.pyi +11 -0
  362. jaclang/vendor/mypy/typeshed/stdlib/email/encoders.pyi +8 -0
  363. jaclang/vendor/mypy/typeshed/stdlib/email/errors.pyi +39 -0
  364. jaclang/vendor/mypy/typeshed/stdlib/email/feedparser.pyi +31 -0
  365. jaclang/vendor/mypy/typeshed/stdlib/email/generator.pyi +42 -0
  366. jaclang/vendor/mypy/typeshed/stdlib/email/header.pyi +41 -0
  367. jaclang/vendor/mypy/typeshed/stdlib/email/headerregistry.pyi +214 -0
  368. jaclang/vendor/mypy/typeshed/stdlib/email/iterators.pyi +19 -0
  369. jaclang/vendor/mypy/typeshed/stdlib/email/message.pyi +220 -0
  370. jaclang/vendor/mypy/typeshed/stdlib/email/mime/__init__.pyi +0 -0
  371. jaclang/vendor/mypy/typeshed/stdlib/email/mime/application.pyi +17 -0
  372. jaclang/vendor/mypy/typeshed/stdlib/email/mime/audio.pyi +17 -0
  373. jaclang/vendor/mypy/typeshed/stdlib/email/mime/base.pyi +15 -0
  374. jaclang/vendor/mypy/typeshed/stdlib/email/mime/image.pyi +17 -0
  375. jaclang/vendor/mypy/typeshed/stdlib/email/mime/message.pyi +10 -0
  376. jaclang/vendor/mypy/typeshed/stdlib/email/mime/multipart.pyi +18 -0
  377. jaclang/vendor/mypy/typeshed/stdlib/email/mime/nonmultipart.pyi +5 -0
  378. jaclang/vendor/mypy/typeshed/stdlib/email/mime/text.pyi +14 -0
  379. jaclang/vendor/mypy/typeshed/stdlib/email/parser.pyi +44 -0
  380. jaclang/vendor/mypy/typeshed/stdlib/email/policy.pyi +51 -0
  381. jaclang/vendor/mypy/typeshed/stdlib/email/quoprimime.pyi +30 -0
  382. jaclang/vendor/mypy/typeshed/stdlib/email/utils.pyi +84 -0
  383. jaclang/vendor/mypy/typeshed/stdlib/encodings/__init__.pyi +10 -0
  384. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8.pyi +25 -0
  385. jaclang/vendor/mypy/typeshed/stdlib/encodings/utf_8_sig.pyi +28 -0
  386. jaclang/vendor/mypy/typeshed/stdlib/ensurepip/__init__.pyi +12 -0
  387. jaclang/vendor/mypy/typeshed/stdlib/enum.pyi +347 -0
  388. jaclang/vendor/mypy/typeshed/stdlib/errno.pyi +222 -0
  389. jaclang/vendor/mypy/typeshed/stdlib/faulthandler.pyi +20 -0
  390. jaclang/vendor/mypy/typeshed/stdlib/fcntl.pyi +155 -0
  391. jaclang/vendor/mypy/typeshed/stdlib/filecmp.pyi +62 -0
  392. jaclang/vendor/mypy/typeshed/stdlib/fileinput.pyi +246 -0
  393. jaclang/vendor/mypy/typeshed/stdlib/fnmatch.pyi +9 -0
  394. jaclang/vendor/mypy/typeshed/stdlib/formatter.pyi +92 -0
  395. jaclang/vendor/mypy/typeshed/stdlib/fractions.pyi +152 -0
  396. jaclang/vendor/mypy/typeshed/stdlib/ftplib.pyi +214 -0
  397. jaclang/vendor/mypy/typeshed/stdlib/functools.pyi +261 -0
  398. jaclang/vendor/mypy/typeshed/stdlib/gc.pyi +39 -0
  399. jaclang/vendor/mypy/typeshed/stdlib/genericpath.pyi +62 -0
  400. jaclang/vendor/mypy/typeshed/stdlib/getopt.pyi +15 -0
  401. jaclang/vendor/mypy/typeshed/stdlib/getpass.pyi +8 -0
  402. jaclang/vendor/mypy/typeshed/stdlib/gettext.pyi +200 -0
  403. jaclang/vendor/mypy/typeshed/stdlib/glob.pyi +50 -0
  404. jaclang/vendor/mypy/typeshed/stdlib/graphlib.pyi +28 -0
  405. jaclang/vendor/mypy/typeshed/stdlib/grp.pyi +22 -0
  406. jaclang/vendor/mypy/typeshed/stdlib/gzip.pyi +162 -0
  407. jaclang/vendor/mypy/typeshed/stdlib/hashlib.pyi +191 -0
  408. jaclang/vendor/mypy/typeshed/stdlib/heapq.pyi +36 -0
  409. jaclang/vendor/mypy/typeshed/stdlib/hmac.pyi +45 -0
  410. jaclang/vendor/mypy/typeshed/stdlib/html/__init__.pyi +6 -0
  411. jaclang/vendor/mypy/typeshed/stdlib/html/entities.pyi +6 -0
  412. jaclang/vendor/mypy/typeshed/stdlib/html/parser.pyi +40 -0
  413. jaclang/vendor/mypy/typeshed/stdlib/http/__init__.pyi +105 -0
  414. jaclang/vendor/mypy/typeshed/stdlib/http/client.pyi +283 -0
  415. jaclang/vendor/mypy/typeshed/stdlib/http/cookiejar.pyi +206 -0
  416. jaclang/vendor/mypy/typeshed/stdlib/http/cookies.pyi +67 -0
  417. jaclang/vendor/mypy/typeshed/stdlib/http/server.pyi +93 -0
  418. jaclang/vendor/mypy/typeshed/stdlib/imaplib.pyi +221 -0
  419. jaclang/vendor/mypy/typeshed/stdlib/imghdr.pyi +17 -0
  420. jaclang/vendor/mypy/typeshed/stdlib/imp.pyi +75 -0
  421. jaclang/vendor/mypy/typeshed/stdlib/importlib/__init__.pyi +24 -0
  422. jaclang/vendor/mypy/typeshed/stdlib/importlib/_abc.pyi +15 -0
  423. jaclang/vendor/mypy/typeshed/stdlib/importlib/abc.pyi +195 -0
  424. jaclang/vendor/mypy/typeshed/stdlib/importlib/machinery.pyi +214 -0
  425. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/__init__.pyi +310 -0
  426. jaclang/vendor/mypy/typeshed/stdlib/importlib/metadata/_meta.pyi +40 -0
  427. jaclang/vendor/mypy/typeshed/stdlib/importlib/readers.pyi +68 -0
  428. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/__init__.pyi +66 -0
  429. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/abc.pyi +12 -0
  430. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/readers.pyi +14 -0
  431. jaclang/vendor/mypy/typeshed/stdlib/importlib/resources/simple.pyi +55 -0
  432. jaclang/vendor/mypy/typeshed/stdlib/importlib/simple.pyi +16 -0
  433. jaclang/vendor/mypy/typeshed/stdlib/importlib/util.pyi +57 -0
  434. jaclang/vendor/mypy/typeshed/stdlib/inspect.pyi +709 -0
  435. jaclang/vendor/mypy/typeshed/stdlib/io.pyi +222 -0
  436. jaclang/vendor/mypy/typeshed/stdlib/ipaddress.pyi +229 -0
  437. jaclang/vendor/mypy/typeshed/stdlib/itertools.pyi +394 -0
  438. jaclang/vendor/mypy/typeshed/stdlib/json/__init__.pyi +69 -0
  439. jaclang/vendor/mypy/typeshed/stdlib/json/decoder.pyi +34 -0
  440. jaclang/vendor/mypy/typeshed/stdlib/json/encoder.pyi +38 -0
  441. jaclang/vendor/mypy/typeshed/stdlib/json/tool.pyi +1 -0
  442. jaclang/vendor/mypy/typeshed/stdlib/keyword.pyi +21 -0
  443. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/__init__.pyi +0 -0
  444. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/btm_matcher.pyi +32 -0
  445. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixer_base.pyi +44 -0
  446. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/__init__.pyi +0 -0
  447. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_apply.pyi +8 -0
  448. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_asserts.pyi +10 -0
  449. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_basestring.pyi +8 -0
  450. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_buffer.pyi +8 -0
  451. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_dict.pyi +16 -0
  452. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_except.pyi +14 -0
  453. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exec.pyi +8 -0
  454. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_execfile.pyi +8 -0
  455. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_exitfunc.pyi +13 -0
  456. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_filter.pyi +9 -0
  457. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_funcattrs.pyi +8 -0
  458. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_future.pyi +8 -0
  459. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_getcwdu.pyi +8 -0
  460. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_has_key.pyi +8 -0
  461. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_idioms.pyi +15 -0
  462. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_import.pyi +16 -0
  463. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports.pyi +21 -0
  464. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_imports2.pyi +6 -0
  465. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_input.pyi +11 -0
  466. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_intern.pyi +9 -0
  467. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_isinstance.pyi +8 -0
  468. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools.pyi +9 -0
  469. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_itertools_imports.pyi +7 -0
  470. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_long.pyi +7 -0
  471. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_map.pyi +9 -0
  472. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_metaclass.pyi +17 -0
  473. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_methodattrs.pyi +10 -0
  474. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ne.pyi +8 -0
  475. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_next.pyi +19 -0
  476. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_nonzero.pyi +8 -0
  477. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_numliterals.pyi +8 -0
  478. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_operator.pyi +12 -0
  479. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_paren.pyi +8 -0
  480. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_print.pyi +12 -0
  481. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raise.pyi +8 -0
  482. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_raw_input.pyi +8 -0
  483. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reduce.pyi +8 -0
  484. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_reload.pyi +9 -0
  485. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_renames.pyi +17 -0
  486. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_repr.pyi +8 -0
  487. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_set_literal.pyi +7 -0
  488. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_standarderror.pyi +8 -0
  489. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_sys_exc.pyi +9 -0
  490. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_throw.pyi +8 -0
  491. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_tuple_params.pyi +17 -0
  492. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_types.pyi +8 -0
  493. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_unicode.pyi +12 -0
  494. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_urllib.pyi +18 -0
  495. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_ws_comma.pyi +12 -0
  496. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xrange.pyi +20 -0
  497. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_xreadlines.pyi +8 -0
  498. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/fixes/fix_zip.pyi +9 -0
  499. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/main.pyi +46 -0
  500. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/__init__.pyi +9 -0
  501. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/driver.pyi +40 -0
  502. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/grammar.pyi +24 -0
  503. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/literals.pyi +7 -0
  504. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/parse.pyi +36 -0
  505. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/pgen.pyi +52 -0
  506. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/token.pyi +67 -0
  507. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pgen2/tokenize.pyi +98 -0
  508. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pygram.pyi +114 -0
  509. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/pytree.pyi +142 -0
  510. jaclang/vendor/mypy/typeshed/stdlib/lib2to3/refactor.pyi +122 -0
  511. jaclang/vendor/mypy/typeshed/stdlib/linecache.pyi +29 -0
  512. jaclang/vendor/mypy/typeshed/stdlib/locale.pyi +165 -0
  513. jaclang/vendor/mypy/typeshed/stdlib/logging/__init__.pyi +685 -0
  514. jaclang/vendor/mypy/typeshed/stdlib/logging/config.pyi +161 -0
  515. jaclang/vendor/mypy/typeshed/stdlib/logging/handlers.pyi +315 -0
  516. jaclang/vendor/mypy/typeshed/stdlib/lzma.pyi +213 -0
  517. jaclang/vendor/mypy/typeshed/stdlib/mailbox.pyi +306 -0
  518. jaclang/vendor/mypy/typeshed/stdlib/mailcap.pyi +15 -0
  519. jaclang/vendor/mypy/typeshed/stdlib/marshal.pyi +35 -0
  520. jaclang/vendor/mypy/typeshed/stdlib/math.pyi +134 -0
  521. jaclang/vendor/mypy/typeshed/stdlib/mimetypes.pyi +50 -0
  522. jaclang/vendor/mypy/typeshed/stdlib/mmap.pyi +126 -0
  523. jaclang/vendor/mypy/typeshed/stdlib/modulefinder.pyi +84 -0
  524. jaclang/vendor/mypy/typeshed/stdlib/msilib/__init__.pyi +237 -0
  525. jaclang/vendor/mypy/typeshed/stdlib/msilib/schema.pyi +107 -0
  526. jaclang/vendor/mypy/typeshed/stdlib/msilib/sequence.pyi +13 -0
  527. jaclang/vendor/mypy/typeshed/stdlib/msilib/text.pyi +7 -0
  528. jaclang/vendor/mypy/typeshed/stdlib/msvcrt.pyi +32 -0
  529. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/__init__.pyi +94 -0
  530. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/connection.pyi +94 -0
  531. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/context.pyi +235 -0
  532. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/__init__.pyi +83 -0
  533. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/dummy/connection.pyi +50 -0
  534. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/forkserver.pyi +36 -0
  535. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/heap.pyi +38 -0
  536. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/managers.pyi +270 -0
  537. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/pool.pyi +137 -0
  538. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_fork.pyi +23 -0
  539. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_forkserver.pyi +16 -0
  540. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_posix.pyi +20 -0
  541. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/popen_spawn_win32.pyi +30 -0
  542. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/process.pyi +39 -0
  543. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/queues.pyi +43 -0
  544. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/reduction.pyi +118 -0
  545. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_sharer.pyi +20 -0
  546. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/resource_tracker.pyi +18 -0
  547. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/shared_memory.pyi +44 -0
  548. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/sharedctypes.pyi +140 -0
  549. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/spawn.pyi +34 -0
  550. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/synchronize.pyi +66 -0
  551. jaclang/vendor/mypy/typeshed/stdlib/multiprocessing/util.pyi +83 -0
  552. jaclang/vendor/mypy/typeshed/stdlib/netrc.pyi +28 -0
  553. jaclang/vendor/mypy/typeshed/stdlib/nis.pyi +9 -0
  554. jaclang/vendor/mypy/typeshed/stdlib/nntplib.pyi +151 -0
  555. jaclang/vendor/mypy/typeshed/stdlib/nt.pyi +114 -0
  556. jaclang/vendor/mypy/typeshed/stdlib/ntpath.pyi +119 -0
  557. jaclang/vendor/mypy/typeshed/stdlib/nturl2path.pyi +2 -0
  558. jaclang/vendor/mypy/typeshed/stdlib/numbers.pyi +154 -0
  559. jaclang/vendor/mypy/typeshed/stdlib/opcode.pyi +68 -0
  560. jaclang/vendor/mypy/typeshed/stdlib/operator.pyi +110 -0
  561. jaclang/vendor/mypy/typeshed/stdlib/optparse.pyi +290 -0
  562. jaclang/vendor/mypy/typeshed/stdlib/os/__init__.pyi +1317 -0
  563. jaclang/vendor/mypy/typeshed/stdlib/os/path.pyi +8 -0
  564. jaclang/vendor/mypy/typeshed/stdlib/ossaudiodev.pyi +131 -0
  565. jaclang/vendor/mypy/typeshed/stdlib/parser.pyi +28 -0
  566. jaclang/vendor/mypy/typeshed/stdlib/pathlib.pyi +282 -0
  567. jaclang/vendor/mypy/typeshed/stdlib/pdb.pyi +223 -0
  568. jaclang/vendor/mypy/typeshed/stdlib/pickle.pyi +286 -0
  569. jaclang/vendor/mypy/typeshed/stdlib/pickletools.pyi +173 -0
  570. jaclang/vendor/mypy/typeshed/stdlib/pipes.pyi +16 -0
  571. jaclang/vendor/mypy/typeshed/stdlib/pkgutil.pyi +61 -0
  572. jaclang/vendor/mypy/typeshed/stdlib/platform.pyi +56 -0
  573. jaclang/vendor/mypy/typeshed/stdlib/plistlib.pyi +176 -0
  574. jaclang/vendor/mypy/typeshed/stdlib/poplib.pyi +78 -0
  575. jaclang/vendor/mypy/typeshed/stdlib/posix.pyi +363 -0
  576. jaclang/vendor/mypy/typeshed/stdlib/posixpath.pyi +171 -0
  577. jaclang/vendor/mypy/typeshed/stdlib/pprint.pyi +122 -0
  578. jaclang/vendor/mypy/typeshed/stdlib/profile.pyi +43 -0
  579. jaclang/vendor/mypy/typeshed/stdlib/pstats.pyi +85 -0
  580. jaclang/vendor/mypy/typeshed/stdlib/pty.pyi +21 -0
  581. jaclang/vendor/mypy/typeshed/stdlib/pwd.pyi +36 -0
  582. jaclang/vendor/mypy/typeshed/stdlib/py_compile.pyi +40 -0
  583. jaclang/vendor/mypy/typeshed/stdlib/pyclbr.pyi +97 -0
  584. jaclang/vendor/mypy/typeshed/stdlib/pydoc.pyi +309 -0
  585. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/__init__.pyi +0 -0
  586. jaclang/vendor/mypy/typeshed/stdlib/pydoc_data/topics.pyi +1 -0
  587. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/__init__.pyi +94 -0
  588. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/errors.pyi +49 -0
  589. jaclang/vendor/mypy/typeshed/stdlib/pyexpat/model.pyi +11 -0
  590. jaclang/vendor/mypy/typeshed/stdlib/queue.pyi +62 -0
  591. jaclang/vendor/mypy/typeshed/stdlib/quopri.pyi +17 -0
  592. jaclang/vendor/mypy/typeshed/stdlib/random.pyi +160 -0
  593. jaclang/vendor/mypy/typeshed/stdlib/re.pyi +376 -0
  594. jaclang/vendor/mypy/typeshed/stdlib/readline.pyi +40 -0
  595. jaclang/vendor/mypy/typeshed/stdlib/reprlib.pyi +65 -0
  596. jaclang/vendor/mypy/typeshed/stdlib/resource.pyi +116 -0
  597. jaclang/vendor/mypy/typeshed/stdlib/rlcompleter.pyi +9 -0
  598. jaclang/vendor/mypy/typeshed/stdlib/runpy.pyi +31 -0
  599. jaclang/vendor/mypy/typeshed/stdlib/sched.pyi +56 -0
  600. jaclang/vendor/mypy/typeshed/stdlib/secrets.pyi +24 -0
  601. jaclang/vendor/mypy/typeshed/stdlib/select.pyi +162 -0
  602. jaclang/vendor/mypy/typeshed/stdlib/selectors.pyi +85 -0
  603. jaclang/vendor/mypy/typeshed/stdlib/shelve.pyi +64 -0
  604. jaclang/vendor/mypy/typeshed/stdlib/shlex.pyi +47 -0
  605. jaclang/vendor/mypy/typeshed/stdlib/shutil.pyi +239 -0
  606. jaclang/vendor/mypy/typeshed/stdlib/signal.pyi +208 -0
  607. jaclang/vendor/mypy/typeshed/stdlib/site.pyi +33 -0
  608. jaclang/vendor/mypy/typeshed/stdlib/smtpd.pyi +102 -0
  609. jaclang/vendor/mypy/typeshed/stdlib/smtplib.pyi +223 -0
  610. jaclang/vendor/mypy/typeshed/stdlib/sndhdr.pyi +14 -0
  611. jaclang/vendor/mypy/typeshed/stdlib/socket.pyi +881 -0
  612. jaclang/vendor/mypy/typeshed/stdlib/socketserver.pyi +195 -0
  613. jaclang/vendor/mypy/typeshed/stdlib/spwd.pyi +43 -0
  614. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/__init__.pyi +1 -0
  615. jaclang/vendor/mypy/typeshed/stdlib/sqlite3/dbapi2.pyi +519 -0
  616. jaclang/vendor/mypy/typeshed/stdlib/sre_compile.pyi +11 -0
  617. jaclang/vendor/mypy/typeshed/stdlib/sre_constants.pyi +132 -0
  618. jaclang/vendor/mypy/typeshed/stdlib/sre_parse.pyi +110 -0
  619. jaclang/vendor/mypy/typeshed/stdlib/ssl.pyi +559 -0
  620. jaclang/vendor/mypy/typeshed/stdlib/stat.pyi +1 -0
  621. jaclang/vendor/mypy/typeshed/stdlib/statistics.pyi +151 -0
  622. jaclang/vendor/mypy/typeshed/stdlib/string.pyi +112 -0
  623. jaclang/vendor/mypy/typeshed/stdlib/stringprep.pyi +27 -0
  624. jaclang/vendor/mypy/typeshed/stdlib/struct.pyi +43 -0
  625. jaclang/vendor/mypy/typeshed/stdlib/subprocess.pyi +2638 -0
  626. jaclang/vendor/mypy/typeshed/stdlib/sunau.pyi +86 -0
  627. jaclang/vendor/mypy/typeshed/stdlib/symbol.pyi +93 -0
  628. jaclang/vendor/mypy/typeshed/stdlib/symtable.pyi +63 -0
  629. jaclang/vendor/mypy/typeshed/stdlib/sys/__init__.pyi +396 -0
  630. jaclang/vendor/mypy/typeshed/stdlib/sys/_monitoring.pyi +54 -0
  631. jaclang/vendor/mypy/typeshed/stdlib/sysconfig.pyi +52 -0
  632. jaclang/vendor/mypy/typeshed/stdlib/syslog.pyi +48 -0
  633. jaclang/vendor/mypy/typeshed/stdlib/tabnanny.pyi +18 -0
  634. jaclang/vendor/mypy/typeshed/stdlib/tarfile.pyi +486 -0
  635. jaclang/vendor/mypy/typeshed/stdlib/telnetlib.pyi +129 -0
  636. jaclang/vendor/mypy/typeshed/stdlib/tempfile.pyi +521 -0
  637. jaclang/vendor/mypy/typeshed/stdlib/termios.pyi +273 -0
  638. jaclang/vendor/mypy/typeshed/stdlib/textwrap.pyi +107 -0
  639. jaclang/vendor/mypy/typeshed/stdlib/this.pyi +2 -0
  640. jaclang/vendor/mypy/typeshed/stdlib/threading.pyi +212 -0
  641. jaclang/vendor/mypy/typeshed/stdlib/time.pyi +122 -0
  642. jaclang/vendor/mypy/typeshed/stdlib/timeit.pyi +46 -0
  643. jaclang/vendor/mypy/typeshed/stdlib/tkinter/__init__.pyi +3950 -0
  644. jaclang/vendor/mypy/typeshed/stdlib/tkinter/colorchooser.pyi +28 -0
  645. jaclang/vendor/mypy/typeshed/stdlib/tkinter/commondialog.pyi +16 -0
  646. jaclang/vendor/mypy/typeshed/stdlib/tkinter/constants.pyi +80 -0
  647. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dialog.pyi +21 -0
  648. jaclang/vendor/mypy/typeshed/stdlib/tkinter/dnd.pyi +20 -0
  649. jaclang/vendor/mypy/typeshed/stdlib/tkinter/filedialog.pyi +173 -0
  650. jaclang/vendor/mypy/typeshed/stdlib/tkinter/font.pyi +148 -0
  651. jaclang/vendor/mypy/typeshed/stdlib/tkinter/messagebox.pyi +60 -0
  652. jaclang/vendor/mypy/typeshed/stdlib/tkinter/scrolledtext.pyi +10 -0
  653. jaclang/vendor/mypy/typeshed/stdlib/tkinter/simpledialog.pyi +54 -0
  654. jaclang/vendor/mypy/typeshed/stdlib/tkinter/tix.pyi +395 -0
  655. jaclang/vendor/mypy/typeshed/stdlib/tkinter/ttk.pyi +1276 -0
  656. jaclang/vendor/mypy/typeshed/stdlib/token.pyi +159 -0
  657. jaclang/vendor/mypy/typeshed/stdlib/tokenize.pyi +185 -0
  658. jaclang/vendor/mypy/typeshed/stdlib/tomllib.pyi +12 -0
  659. jaclang/vendor/mypy/typeshed/stdlib/trace.pyi +114 -0
  660. jaclang/vendor/mypy/typeshed/stdlib/traceback.pyi +297 -0
  661. jaclang/vendor/mypy/typeshed/stdlib/tracemalloc.pyi +142 -0
  662. jaclang/vendor/mypy/typeshed/stdlib/tty.pyi +30 -0
  663. jaclang/vendor/mypy/typeshed/stdlib/turtle.pyi +830 -0
  664. jaclang/vendor/mypy/typeshed/stdlib/types.pyi +647 -0
  665. jaclang/vendor/mypy/typeshed/stdlib/typing.pyi +1059 -0
  666. jaclang/vendor/mypy/typeshed/stdlib/typing_extensions.pyi +524 -0
  667. jaclang/vendor/mypy/typeshed/stdlib/unicodedata.pyi +71 -0
  668. jaclang/vendor/mypy/typeshed/stdlib/unittest/__init__.pyi +72 -0
  669. jaclang/vendor/mypy/typeshed/stdlib/unittest/_log.pyi +34 -0
  670. jaclang/vendor/mypy/typeshed/stdlib/unittest/async_case.pyi +28 -0
  671. jaclang/vendor/mypy/typeshed/stdlib/unittest/case.pyi +481 -0
  672. jaclang/vendor/mypy/typeshed/stdlib/unittest/loader.pyi +71 -0
  673. jaclang/vendor/mypy/typeshed/stdlib/unittest/main.pyi +75 -0
  674. jaclang/vendor/mypy/typeshed/stdlib/unittest/mock.pyi +468 -0
  675. jaclang/vendor/mypy/typeshed/stdlib/unittest/result.pyi +59 -0
  676. jaclang/vendor/mypy/typeshed/stdlib/unittest/runner.pyi +83 -0
  677. jaclang/vendor/mypy/typeshed/stdlib/unittest/signals.pyi +15 -0
  678. jaclang/vendor/mypy/typeshed/stdlib/unittest/suite.pyi +26 -0
  679. jaclang/vendor/mypy/typeshed/stdlib/unittest/util.pyi +31 -0
  680. jaclang/vendor/mypy/typeshed/stdlib/urllib/__init__.pyi +0 -0
  681. jaclang/vendor/mypy/typeshed/stdlib/urllib/error.pyi +27 -0
  682. jaclang/vendor/mypy/typeshed/stdlib/urllib/parse.pyi +245 -0
  683. jaclang/vendor/mypy/typeshed/stdlib/urllib/request.pyi +544 -0
  684. jaclang/vendor/mypy/typeshed/stdlib/urllib/response.pyi +50 -0
  685. jaclang/vendor/mypy/typeshed/stdlib/urllib/robotparser.pyi +20 -0
  686. jaclang/vendor/mypy/typeshed/stdlib/uu.pyi +23 -0
  687. jaclang/vendor/mypy/typeshed/stdlib/uuid.pyi +100 -0
  688. jaclang/vendor/mypy/typeshed/stdlib/warnings.pyi +144 -0
  689. jaclang/vendor/mypy/typeshed/stdlib/wave.pyi +87 -0
  690. jaclang/vendor/mypy/typeshed/stdlib/weakref.pyi +173 -0
  691. jaclang/vendor/mypy/typeshed/stdlib/webbrowser.pyi +80 -0
  692. jaclang/vendor/mypy/typeshed/stdlib/winreg.pyi +120 -0
  693. jaclang/vendor/mypy/typeshed/stdlib/winsound.pyi +28 -0
  694. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/__init__.pyi +0 -0
  695. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/handlers.pyi +109 -0
  696. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/headers.pyi +28 -0
  697. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/simple_server.pyi +49 -0
  698. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/types.pyi +44 -0
  699. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/util.pyi +31 -0
  700. jaclang/vendor/mypy/typeshed/stdlib/wsgiref/validate.pyi +52 -0
  701. jaclang/vendor/mypy/typeshed/stdlib/xdrlib.pyi +63 -0
  702. jaclang/vendor/mypy/typeshed/stdlib/xml/__init__.pyi +1 -0
  703. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/NodeFilter.pyi +19 -0
  704. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/__init__.pyi +72 -0
  705. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/domreg.pyi +12 -0
  706. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/expatbuilder.pyi +111 -0
  707. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minicompat.pyi +22 -0
  708. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/minidom.pyi +467 -0
  709. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/pulldom.pyi +101 -0
  710. jaclang/vendor/mypy/typeshed/stdlib/xml/dom/xmlbuilder.pyi +110 -0
  711. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementInclude.pyi +35 -0
  712. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementPath.pyi +49 -0
  713. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/ElementTree.pyi +367 -0
  714. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/__init__.pyi +0 -0
  715. jaclang/vendor/mypy/typeshed/stdlib/xml/etree/cElementTree.pyi +1 -0
  716. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/__init__.pyi +1 -0
  717. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/__init__.pyi +1 -0
  718. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/errors.pyi +1 -0
  719. jaclang/vendor/mypy/typeshed/stdlib/xml/parsers/expat/model.pyi +1 -0
  720. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/__init__.pyi +34 -0
  721. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/_exceptions.pyi +21 -0
  722. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/handler.pyi +59 -0
  723. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/saxutils.pyi +71 -0
  724. jaclang/vendor/mypy/typeshed/stdlib/xml/sax/xmlreader.pyi +89 -0
  725. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/__init__.pyi +0 -0
  726. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/client.pyi +348 -0
  727. jaclang/vendor/mypy/typeshed/stdlib/xmlrpc/server.pyi +186 -0
  728. jaclang/vendor/mypy/typeshed/stdlib/xxlimited.pyi +22 -0
  729. jaclang/vendor/mypy/typeshed/stdlib/zipapp.pyi +20 -0
  730. jaclang/vendor/mypy/typeshed/stdlib/zipfile/__init__.pyi +355 -0
  731. jaclang/vendor/mypy/typeshed/stdlib/zipfile/_path.pyi +105 -0
  732. jaclang/vendor/mypy/typeshed/stdlib/zipimport.pyi +40 -0
  733. jaclang/vendor/mypy/typeshed/stdlib/zlib.pyi +63 -0
  734. jaclang/vendor/mypy/typeshed/stdlib/zoneinfo/__init__.pyi +45 -0
  735. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/@tests/stubtest_allowlist.txt +2 -0
  736. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/METADATA.toml +4 -0
  737. jaclang/vendor/mypy/typeshed/stubs/mypy-extensions/mypy_extensions.pyi +238 -0
  738. jaclang/vendor/mypy/xml/mypy-html.css +104 -0
  739. jaclang/vendor/mypy/xml/mypy-html.xslt +81 -0
  740. jaclang/vendor/mypy/xml/mypy-txt.xslt +100 -0
  741. jaclang/vendor/mypy/xml/mypy.xsd +50 -0
  742. jaclang/vendor/mypyc/.readthedocs.yaml +18 -0
  743. jaclang/vendor/mypyc/README.md +133 -0
  744. jaclang/vendor/mypyc/doc/Makefile +20 -0
  745. jaclang/vendor/mypyc/doc/bool_operations.rst +27 -0
  746. jaclang/vendor/mypyc/doc/compilation_units.rst +20 -0
  747. jaclang/vendor/mypyc/doc/conf.py +59 -0
  748. jaclang/vendor/mypyc/doc/cpython-timings.md +25 -0
  749. jaclang/vendor/mypyc/doc/dev-intro.md +548 -0
  750. jaclang/vendor/mypyc/doc/dict_operations.rst +59 -0
  751. jaclang/vendor/mypyc/doc/differences_from_python.rst +332 -0
  752. jaclang/vendor/mypyc/doc/float_operations.rst +50 -0
  753. jaclang/vendor/mypyc/doc/future.md +42 -0
  754. jaclang/vendor/mypyc/doc/getting_started.rst +240 -0
  755. jaclang/vendor/mypyc/doc/index.rst +61 -0
  756. jaclang/vendor/mypyc/doc/int_operations.rst +162 -0
  757. jaclang/vendor/mypyc/doc/introduction.rst +150 -0
  758. jaclang/vendor/mypyc/doc/list_operations.rst +65 -0
  759. jaclang/vendor/mypyc/doc/make.bat +35 -0
  760. jaclang/vendor/mypyc/doc/native_classes.rst +206 -0
  761. jaclang/vendor/mypyc/doc/native_operations.rst +55 -0
  762. jaclang/vendor/mypyc/doc/performance_tips_and_tricks.rst +244 -0
  763. jaclang/vendor/mypyc/doc/set_operations.rst +47 -0
  764. jaclang/vendor/mypyc/doc/str_operations.rst +35 -0
  765. jaclang/vendor/mypyc/doc/tuple_operations.rst +33 -0
  766. jaclang/vendor/mypyc/doc/using_type_annotations.rst +398 -0
  767. jaclang/vendor/mypyc/external/googletest/LICENSE +28 -0
  768. jaclang/vendor/mypyc/external/googletest/README.md +280 -0
  769. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-death-test.h +294 -0
  770. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-message.h +250 -0
  771. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h +1444 -0
  772. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-param-test.h.pump +510 -0
  773. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-printers.h +993 -0
  774. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-spi.h +232 -0
  775. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-test-part.h +179 -0
  776. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest-typed-test.h +263 -0
  777. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest.h +2236 -0
  778. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_pred_impl.h +358 -0
  779. jaclang/vendor/mypyc/external/googletest/include/gtest/gtest_prod.h +58 -0
  780. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-port.h +69 -0
  781. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest-printers.h +42 -0
  782. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/custom/gtest.h +41 -0
  783. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-death-test-internal.h +319 -0
  784. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-filepath.h +206 -0
  785. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-internal.h +1238 -0
  786. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-linked_ptr.h +243 -0
  787. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h +5146 -0
  788. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util-generated.h.pump +286 -0
  789. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-param-util.h +731 -0
  790. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port-arch.h +93 -0
  791. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-port.h +2560 -0
  792. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-string.h +167 -0
  793. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h +1020 -0
  794. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-tuple.h.pump +347 -0
  795. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h +3331 -0
  796. jaclang/vendor/mypyc/external/googletest/include/gtest/internal/gtest-type-util.h.pump +297 -0
  797. jaclang/vendor/mypyc/external/googletest/make/Makefile +61 -0
  798. jaclang/vendor/mypyc/external/googletest/src/gtest-all.cc +48 -0
  799. jaclang/vendor/mypyc/external/googletest/src/gtest-death-test.cc +1342 -0
  800. jaclang/vendor/mypyc/external/googletest/src/gtest-filepath.cc +387 -0
  801. jaclang/vendor/mypyc/external/googletest/src/gtest-internal-inl.h +1183 -0
  802. jaclang/vendor/mypyc/external/googletest/src/gtest-port.cc +1259 -0
  803. jaclang/vendor/mypyc/external/googletest/src/gtest-printers.cc +373 -0
  804. jaclang/vendor/mypyc/external/googletest/src/gtest-test-part.cc +110 -0
  805. jaclang/vendor/mypyc/external/googletest/src/gtest-typed-test.cc +118 -0
  806. jaclang/vendor/mypyc/external/googletest/src/gtest.cc +5388 -0
  807. jaclang/vendor/mypyc/external/googletest/src/gtest_main.cc +38 -0
  808. jaclang/vendor/mypyc/lib-rt/CPy.h +643 -0
  809. jaclang/vendor/mypyc/lib-rt/bytes_ops.c +143 -0
  810. jaclang/vendor/mypyc/lib-rt/dict_ops.c +446 -0
  811. jaclang/vendor/mypyc/lib-rt/exc_ops.c +259 -0
  812. jaclang/vendor/mypyc/lib-rt/float_ops.c +192 -0
  813. jaclang/vendor/mypyc/lib-rt/generic_ops.c +64 -0
  814. jaclang/vendor/mypyc/lib-rt/getargs.c +450 -0
  815. jaclang/vendor/mypyc/lib-rt/getargsfast.c +569 -0
  816. jaclang/vendor/mypyc/lib-rt/init.c +13 -0
  817. jaclang/vendor/mypyc/lib-rt/int_ops.c +803 -0
  818. jaclang/vendor/mypyc/lib-rt/list_ops.c +335 -0
  819. jaclang/vendor/mypyc/lib-rt/misc_ops.c +942 -0
  820. jaclang/vendor/mypyc/lib-rt/module_shim.tmpl +18 -0
  821. jaclang/vendor/mypyc/lib-rt/mypyc_util.h +118 -0
  822. jaclang/vendor/mypyc/lib-rt/pythoncapi_compat.h +497 -0
  823. jaclang/vendor/mypyc/lib-rt/pythonsupport.h +548 -0
  824. jaclang/vendor/mypyc/lib-rt/set_ops.c +17 -0
  825. jaclang/vendor/mypyc/lib-rt/setup.py +76 -0
  826. jaclang/vendor/mypyc/lib-rt/str_ops.c +241 -0
  827. jaclang/vendor/mypyc/lib-rt/test_capi.cc +585 -0
  828. jaclang/vendor/mypyc/lib-rt/tuple_ops.c +61 -0
  829. jaclang/vendor/mypyc/test-data/alwaysdefined.test +732 -0
  830. jaclang/vendor/mypyc/test-data/analysis.test +603 -0
  831. jaclang/vendor/mypyc/test-data/commandline.test +245 -0
  832. jaclang/vendor/mypyc/test-data/driver/driver.py +50 -0
  833. jaclang/vendor/mypyc/test-data/exceptions-freq.test +125 -0
  834. jaclang/vendor/mypyc/test-data/exceptions.test +713 -0
  835. jaclang/vendor/mypyc/test-data/fixtures/ir.py +850 -0
  836. jaclang/vendor/mypyc/test-data/fixtures/testutil.py +117 -0
  837. jaclang/vendor/mypyc/test-data/fixtures/typing-full.pyi +212 -0
  838. jaclang/vendor/mypyc/test-data/irbuild-any.test +238 -0
  839. jaclang/vendor/mypyc/test-data/irbuild-basic.test +3690 -0
  840. jaclang/vendor/mypyc/test-data/irbuild-bool.test +463 -0
  841. jaclang/vendor/mypyc/test-data/irbuild-bytes.test +184 -0
  842. jaclang/vendor/mypyc/test-data/irbuild-classes.test +1303 -0
  843. jaclang/vendor/mypyc/test-data/irbuild-constant-fold.test +480 -0
  844. jaclang/vendor/mypyc/test-data/irbuild-dict.test +585 -0
  845. jaclang/vendor/mypyc/test-data/irbuild-dunders.test +223 -0
  846. jaclang/vendor/mypyc/test-data/irbuild-float.test +497 -0
  847. jaclang/vendor/mypyc/test-data/irbuild-generics.test +151 -0
  848. jaclang/vendor/mypyc/test-data/irbuild-glue-methods.test +437 -0
  849. jaclang/vendor/mypyc/test-data/irbuild-i16.test +526 -0
  850. jaclang/vendor/mypyc/test-data/irbuild-i32.test +598 -0
  851. jaclang/vendor/mypyc/test-data/irbuild-i64.test +2164 -0
  852. jaclang/vendor/mypyc/test-data/irbuild-int.test +235 -0
  853. jaclang/vendor/mypyc/test-data/irbuild-isinstance.test +109 -0
  854. jaclang/vendor/mypyc/test-data/irbuild-lists.test +547 -0
  855. jaclang/vendor/mypyc/test-data/irbuild-match.test +1708 -0
  856. jaclang/vendor/mypyc/test-data/irbuild-math.test +64 -0
  857. jaclang/vendor/mypyc/test-data/irbuild-nested.test +807 -0
  858. jaclang/vendor/mypyc/test-data/irbuild-optional.test +536 -0
  859. jaclang/vendor/mypyc/test-data/irbuild-set.test +838 -0
  860. jaclang/vendor/mypyc/test-data/irbuild-singledispatch.test +257 -0
  861. jaclang/vendor/mypyc/test-data/irbuild-statements.test +1149 -0
  862. jaclang/vendor/mypyc/test-data/irbuild-str.test +314 -0
  863. jaclang/vendor/mypyc/test-data/irbuild-strip-asserts.test +12 -0
  864. jaclang/vendor/mypyc/test-data/irbuild-try.test +523 -0
  865. jaclang/vendor/mypyc/test-data/irbuild-tuple.test +462 -0
  866. jaclang/vendor/mypyc/test-data/irbuild-u8.test +543 -0
  867. jaclang/vendor/mypyc/test-data/irbuild-unreachable.test +241 -0
  868. jaclang/vendor/mypyc/test-data/irbuild-vectorcall.test +153 -0
  869. jaclang/vendor/mypyc/test-data/refcount.test +1588 -0
  870. jaclang/vendor/mypyc/test-data/run-async.test +145 -0
  871. jaclang/vendor/mypyc/test-data/run-attrs.test +318 -0
  872. jaclang/vendor/mypyc/test-data/run-bench.test +196 -0
  873. jaclang/vendor/mypyc/test-data/run-bools.test +229 -0
  874. jaclang/vendor/mypyc/test-data/run-bytes.test +302 -0
  875. jaclang/vendor/mypyc/test-data/run-classes.test +2505 -0
  876. jaclang/vendor/mypyc/test-data/run-dicts.test +334 -0
  877. jaclang/vendor/mypyc/test-data/run-dunders.test +945 -0
  878. jaclang/vendor/mypyc/test-data/run-exceptions.test +448 -0
  879. jaclang/vendor/mypyc/test-data/run-floats.test +516 -0
  880. jaclang/vendor/mypyc/test-data/run-functions.test +1310 -0
  881. jaclang/vendor/mypyc/test-data/run-generators.test +681 -0
  882. jaclang/vendor/mypyc/test-data/run-i16.test +338 -0
  883. jaclang/vendor/mypyc/test-data/run-i32.test +336 -0
  884. jaclang/vendor/mypyc/test-data/run-i64.test +1519 -0
  885. jaclang/vendor/mypyc/test-data/run-imports.test +265 -0
  886. jaclang/vendor/mypyc/test-data/run-integers.test +540 -0
  887. jaclang/vendor/mypyc/test-data/run-lists.test +411 -0
  888. jaclang/vendor/mypyc/test-data/run-loops.test +485 -0
  889. jaclang/vendor/mypyc/test-data/run-match.test +283 -0
  890. jaclang/vendor/mypyc/test-data/run-math.test +106 -0
  891. jaclang/vendor/mypyc/test-data/run-misc.test +1168 -0
  892. jaclang/vendor/mypyc/test-data/run-multimodule.test +887 -0
  893. jaclang/vendor/mypyc/test-data/run-mypy-sim.test +138 -0
  894. jaclang/vendor/mypyc/test-data/run-primitives.test +375 -0
  895. jaclang/vendor/mypyc/test-data/run-python37.test +159 -0
  896. jaclang/vendor/mypyc/test-data/run-python38.test +88 -0
  897. jaclang/vendor/mypyc/test-data/run-sets.test +150 -0
  898. jaclang/vendor/mypyc/test-data/run-singledispatch.test +698 -0
  899. jaclang/vendor/mypyc/test-data/run-strings.test +641 -0
  900. jaclang/vendor/mypyc/test-data/run-traits.test +411 -0
  901. jaclang/vendor/mypyc/test-data/run-tuples.test +258 -0
  902. jaclang/vendor/mypyc/test-data/run-u8.test +303 -0
  903. jaclang/vendor/pluggy/LICENSE +21 -0
  904. jaclang-0.6.2.dist-info/METADATA +110 -0
  905. jaclang-0.6.2.dist-info/RECORD +1305 -0
  906. {jaclang-0.6.0.dist-info → jaclang-0.6.2.dist-info}/WHEEL +1 -2
  907. jaclang-0.6.2.dist-info/entry_points.txt +3 -0
  908. jaclang/compiler/generated/jac_parser.py +0 -4069
  909. jaclang-0.6.0.dist-info/METADATA +0 -17
  910. jaclang-0.6.0.dist-info/RECORD +0 -426
  911. jaclang-0.6.0.dist-info/entry_points.txt +0 -2
  912. jaclang-0.6.0.dist-info/top_level.txt +0 -1
  913. /jaclang/{compiler/generated/__init__.py → vendor/mypy/typeshed/stdlib/concurrent/__init__.pyi} +0 -0
@@ -0,0 +1,3950 @@
1
+ import _tkinter
2
+ import sys
3
+ from _typeshed import Incomplete, StrEnum, StrOrBytesPath
4
+ from collections.abc import Callable, Mapping, Sequence
5
+ from tkinter.constants import *
6
+ from tkinter.font import _FontDescription
7
+ from types import TracebackType
8
+ from typing import (
9
+ Any,
10
+ Generic,
11
+ Literal,
12
+ NamedTuple,
13
+ TypedDict,
14
+ TypeVar,
15
+ overload,
16
+ type_check_only,
17
+ )
18
+ from typing_extensions import TypeAlias, TypeVarTuple, Unpack, deprecated
19
+
20
+ if sys.version_info >= (3, 9):
21
+ __all__ = [
22
+ "TclError",
23
+ "NO",
24
+ "FALSE",
25
+ "OFF",
26
+ "YES",
27
+ "TRUE",
28
+ "ON",
29
+ "N",
30
+ "S",
31
+ "W",
32
+ "E",
33
+ "NW",
34
+ "SW",
35
+ "NE",
36
+ "SE",
37
+ "NS",
38
+ "EW",
39
+ "NSEW",
40
+ "CENTER",
41
+ "NONE",
42
+ "X",
43
+ "Y",
44
+ "BOTH",
45
+ "LEFT",
46
+ "TOP",
47
+ "RIGHT",
48
+ "BOTTOM",
49
+ "RAISED",
50
+ "SUNKEN",
51
+ "FLAT",
52
+ "RIDGE",
53
+ "GROOVE",
54
+ "SOLID",
55
+ "HORIZONTAL",
56
+ "VERTICAL",
57
+ "NUMERIC",
58
+ "CHAR",
59
+ "WORD",
60
+ "BASELINE",
61
+ "INSIDE",
62
+ "OUTSIDE",
63
+ "SEL",
64
+ "SEL_FIRST",
65
+ "SEL_LAST",
66
+ "END",
67
+ "INSERT",
68
+ "CURRENT",
69
+ "ANCHOR",
70
+ "ALL",
71
+ "NORMAL",
72
+ "DISABLED",
73
+ "ACTIVE",
74
+ "HIDDEN",
75
+ "CASCADE",
76
+ "CHECKBUTTON",
77
+ "COMMAND",
78
+ "RADIOBUTTON",
79
+ "SEPARATOR",
80
+ "SINGLE",
81
+ "BROWSE",
82
+ "MULTIPLE",
83
+ "EXTENDED",
84
+ "DOTBOX",
85
+ "UNDERLINE",
86
+ "PIESLICE",
87
+ "CHORD",
88
+ "ARC",
89
+ "FIRST",
90
+ "LAST",
91
+ "BUTT",
92
+ "PROJECTING",
93
+ "ROUND",
94
+ "BEVEL",
95
+ "MITER",
96
+ "MOVETO",
97
+ "SCROLL",
98
+ "UNITS",
99
+ "PAGES",
100
+ "TkVersion",
101
+ "TclVersion",
102
+ "READABLE",
103
+ "WRITABLE",
104
+ "EXCEPTION",
105
+ "EventType",
106
+ "Event",
107
+ "NoDefaultRoot",
108
+ "Variable",
109
+ "StringVar",
110
+ "IntVar",
111
+ "DoubleVar",
112
+ "BooleanVar",
113
+ "mainloop",
114
+ "getint",
115
+ "getdouble",
116
+ "getboolean",
117
+ "Misc",
118
+ "CallWrapper",
119
+ "XView",
120
+ "YView",
121
+ "Wm",
122
+ "Tk",
123
+ "Tcl",
124
+ "Pack",
125
+ "Place",
126
+ "Grid",
127
+ "BaseWidget",
128
+ "Widget",
129
+ "Toplevel",
130
+ "Button",
131
+ "Canvas",
132
+ "Checkbutton",
133
+ "Entry",
134
+ "Frame",
135
+ "Label",
136
+ "Listbox",
137
+ "Menu",
138
+ "Menubutton",
139
+ "Message",
140
+ "Radiobutton",
141
+ "Scale",
142
+ "Scrollbar",
143
+ "Text",
144
+ "OptionMenu",
145
+ "Image",
146
+ "PhotoImage",
147
+ "BitmapImage",
148
+ "image_names",
149
+ "image_types",
150
+ "Spinbox",
151
+ "LabelFrame",
152
+ "PanedWindow",
153
+ ]
154
+
155
+ # Using anything from tkinter.font in this file means that 'import tkinter'
156
+ # seems to also load tkinter.font. That's not how it actually works, but
157
+ # unfortunately not much can be done about it. https://github.com/python/typeshed/pull/4346
158
+
159
+ TclError = _tkinter.TclError
160
+ wantobjects: int
161
+ TkVersion: float
162
+ TclVersion: float
163
+ READABLE = _tkinter.READABLE
164
+ WRITABLE = _tkinter.WRITABLE
165
+ EXCEPTION = _tkinter.EXCEPTION
166
+
167
+ # Quick guide for figuring out which widget class to choose:
168
+ # - Misc: any widget (don't use BaseWidget because Tk doesn't inherit from BaseWidget)
169
+ # - Widget: anything that is meant to be put into another widget with e.g. pack or grid
170
+ #
171
+ # Don't trust tkinter's docstrings, because they have been created by copy/pasting from
172
+ # Tk's manual pages more than 10 years ago. Use the latest manual pages instead:
173
+ #
174
+ # $ sudo apt install tk-doc tcl-doc
175
+ # $ man 3tk label # tkinter.Label
176
+ # $ man 3tk ttk_label # tkinter.ttk.Label
177
+ # $ man 3tcl after # tkinter.Misc.after
178
+ #
179
+ # You can also read the manual pages online: https://www.tcl.tk/doc/
180
+
181
+ # Some widgets have an option named -compound that accepts different values
182
+ # than the _Compound defined here. Many other options have similar things.
183
+ _Anchor: TypeAlias = Literal[
184
+ "nw", "n", "ne", "w", "center", "e", "sw", "s", "se"
185
+ ] # manual page: Tk_GetAnchor
186
+ _ButtonCommand: TypeAlias = (
187
+ str | Callable[[], Any]
188
+ ) # accepts string of tcl code, return value is returned from Button.invoke()
189
+ _Compound: TypeAlias = Literal[
190
+ "top", "left", "center", "right", "bottom", "none"
191
+ ] # -compound in manual page named 'options'
192
+ # manual page: Tk_GetCursor
193
+ _Cursor: TypeAlias = (
194
+ str
195
+ | tuple[str]
196
+ | tuple[str, str]
197
+ | tuple[str, str, str]
198
+ | tuple[str, str, str, str]
199
+ )
200
+ # example when it's sequence: entry['invalidcommand'] = [entry.register(print), '%P']
201
+ _EntryValidateCommand: TypeAlias = (
202
+ str | list[str] | tuple[str, ...] | Callable[[], bool]
203
+ )
204
+ _GridIndex: TypeAlias = int | str
205
+ _ImageSpec: TypeAlias = _Image | str # str can be from e.g. tkinter.image_names()
206
+ _Relief: TypeAlias = Literal[
207
+ "raised", "sunken", "flat", "ridge", "solid", "groove"
208
+ ] # manual page: Tk_GetRelief
209
+ _ScreenUnits: TypeAlias = (
210
+ str | float
211
+ ) # Often the right type instead of int. Manual page: Tk_GetPixels
212
+ # -xscrollcommand and -yscrollcommand in 'options' manual page
213
+ _XYScrollCommand: TypeAlias = str | Callable[[float, float], object]
214
+ _TakeFocusValue: TypeAlias = (
215
+ int | Literal[""] | Callable[[str], bool | None]
216
+ ) # -takefocus in manual page named 'options'
217
+
218
+ if sys.version_info >= (3, 11):
219
+ class _VersionInfoType(NamedTuple):
220
+ major: int
221
+ minor: int
222
+ micro: int
223
+ releaselevel: str
224
+ serial: int
225
+
226
+ class EventType(StrEnum):
227
+ Activate: str
228
+ ButtonPress: str
229
+ Button = ButtonPress
230
+ ButtonRelease: str
231
+ Circulate: str
232
+ CirculateRequest: str
233
+ ClientMessage: str
234
+ Colormap: str
235
+ Configure: str
236
+ ConfigureRequest: str
237
+ Create: str
238
+ Deactivate: str
239
+ Destroy: str
240
+ Enter: str
241
+ Expose: str
242
+ FocusIn: str
243
+ FocusOut: str
244
+ GraphicsExpose: str
245
+ Gravity: str
246
+ KeyPress: str
247
+ Key = KeyPress
248
+ KeyRelease: str
249
+ Keymap: str
250
+ Leave: str
251
+ Map: str
252
+ MapRequest: str
253
+ Mapping: str
254
+ Motion: str
255
+ MouseWheel: str
256
+ NoExpose: str
257
+ Property: str
258
+ Reparent: str
259
+ ResizeRequest: str
260
+ Selection: str
261
+ SelectionClear: str
262
+ SelectionRequest: str
263
+ Unmap: str
264
+ VirtualEvent: str
265
+ Visibility: str
266
+
267
+ _W = TypeVar("_W", bound=Misc)
268
+ # Events considered covariant because you should never assign to event.widget.
269
+ _W_co = TypeVar("_W_co", covariant=True, bound=Misc)
270
+
271
+ class Event(Generic[_W_co]):
272
+ serial: int
273
+ num: int
274
+ focus: bool
275
+ height: int
276
+ width: int
277
+ keycode: int
278
+ state: int | str
279
+ time: int
280
+ x: int
281
+ y: int
282
+ x_root: int
283
+ y_root: int
284
+ char: str
285
+ send_event: bool
286
+ keysym: str
287
+ keysym_num: int
288
+ type: EventType
289
+ widget: _W_co
290
+ delta: int
291
+
292
+ def NoDefaultRoot() -> None: ...
293
+
294
+ _TraceMode: TypeAlias = Literal["array", "read", "write", "unset"]
295
+
296
+ class Variable:
297
+ def __init__(
298
+ self,
299
+ master: Misc | None = None,
300
+ value: Incomplete | None = None,
301
+ name: str | None = None,
302
+ ) -> None: ...
303
+ def set(self, value) -> None: ...
304
+ initialize = set
305
+ def get(self): ...
306
+ def trace_add(
307
+ self, mode: _TraceMode, callback: Callable[[str, str, str], object]
308
+ ) -> str: ...
309
+ def trace_remove(self, mode: _TraceMode, cbname: str) -> None: ...
310
+ def trace_info(self) -> list[tuple[tuple[_TraceMode, ...], str]]: ...
311
+ @deprecated("use trace_add() instead of trace()")
312
+ def trace(self, mode, callback): ...
313
+ @deprecated("use trace_add() instead of trace_variable()")
314
+ def trace_variable(self, mode, callback): ...
315
+ @deprecated("use trace_remove() instead of trace_vdelete()")
316
+ def trace_vdelete(self, mode, cbname) -> None: ...
317
+ @deprecated("use trace_info() instead of trace_vinfo()")
318
+ def trace_vinfo(self): ...
319
+ def __eq__(self, other: object) -> bool: ...
320
+ def __del__(self) -> None: ...
321
+
322
+ class StringVar(Variable):
323
+ def __init__(
324
+ self,
325
+ master: Misc | None = None,
326
+ value: str | None = None,
327
+ name: str | None = None,
328
+ ) -> None: ...
329
+ def set(self, value: str) -> None: ...
330
+ initialize = set
331
+ def get(self) -> str: ...
332
+
333
+ class IntVar(Variable):
334
+ def __init__(
335
+ self,
336
+ master: Misc | None = None,
337
+ value: int | None = None,
338
+ name: str | None = None,
339
+ ) -> None: ...
340
+ def set(self, value: int) -> None: ...
341
+ initialize = set
342
+ def get(self) -> int: ...
343
+
344
+ class DoubleVar(Variable):
345
+ def __init__(
346
+ self,
347
+ master: Misc | None = None,
348
+ value: float | None = None,
349
+ name: str | None = None,
350
+ ) -> None: ...
351
+ def set(self, value: float) -> None: ...
352
+ initialize = set
353
+ def get(self) -> float: ...
354
+
355
+ class BooleanVar(Variable):
356
+ def __init__(
357
+ self,
358
+ master: Misc | None = None,
359
+ value: bool | None = None,
360
+ name: str | None = None,
361
+ ) -> None: ...
362
+ def set(self, value: bool) -> None: ...
363
+ initialize = set
364
+ def get(self) -> bool: ...
365
+
366
+ def mainloop(n: int = 0) -> None: ...
367
+
368
+ getint: Incomplete
369
+ getdouble: Incomplete
370
+
371
+ def getboolean(s): ...
372
+
373
+ _Ts = TypeVarTuple("_Ts")
374
+
375
+ class _GridIndexInfo(TypedDict, total=False):
376
+ minsize: _ScreenUnits
377
+ pad: _ScreenUnits
378
+ uniform: str | None
379
+ weight: int
380
+
381
+ class Misc:
382
+ master: Misc | None
383
+ tk: _tkinter.TkappType
384
+ children: dict[str, Widget]
385
+ def destroy(self) -> None: ...
386
+ def deletecommand(self, name: str) -> None: ...
387
+ def tk_strictMotif(self, boolean: Incomplete | None = None): ...
388
+ def tk_bisque(self) -> None: ...
389
+ def tk_setPalette(self, *args, **kw) -> None: ...
390
+ def wait_variable(self, name: str | Variable = "PY_VAR") -> None: ...
391
+ waitvar = wait_variable
392
+ def wait_window(self, window: Misc | None = None) -> None: ...
393
+ def wait_visibility(self, window: Misc | None = None) -> None: ...
394
+ def setvar(self, name: str = "PY_VAR", value: str = "1") -> None: ...
395
+ def getvar(self, name: str = "PY_VAR"): ...
396
+ def getint(self, s): ...
397
+ def getdouble(self, s): ...
398
+ def getboolean(self, s): ...
399
+ def focus_set(self) -> None: ...
400
+ focus = focus_set
401
+ def focus_force(self) -> None: ...
402
+ def focus_get(self) -> Misc | None: ...
403
+ def focus_displayof(self) -> Misc | None: ...
404
+ def focus_lastfor(self) -> Misc | None: ...
405
+ def tk_focusFollowsMouse(self) -> None: ...
406
+ def tk_focusNext(self) -> Misc | None: ...
407
+ def tk_focusPrev(self) -> Misc | None: ...
408
+ # .after() can be called without the "func" argument, but it is basically never what you want.
409
+ # It behaves like time.sleep() and freezes the GUI app.
410
+ def after(
411
+ self,
412
+ ms: int | Literal["idle"],
413
+ func: Callable[[Unpack[_Ts]], object],
414
+ *args: Unpack[_Ts],
415
+ ) -> str: ...
416
+ # after_idle is essentially partialmethod(after, "idle")
417
+ def after_idle(
418
+ self, func: Callable[[Unpack[_Ts]], object], *args: Unpack[_Ts]
419
+ ) -> str: ...
420
+ def after_cancel(self, id: str) -> None: ...
421
+ def bell(self, displayof: Literal[0] | Misc | None = 0) -> None: ...
422
+ def clipboard_get(self, *, displayof: Misc = ..., type: str = ...) -> str: ...
423
+ def clipboard_clear(self, *, displayof: Misc = ...) -> None: ...
424
+ def clipboard_append(
425
+ self, string: str, *, displayof: Misc = ..., format: str = ..., type: str = ...
426
+ ) -> None: ...
427
+ def grab_current(self): ...
428
+ def grab_release(self) -> None: ...
429
+ def grab_set(self) -> None: ...
430
+ def grab_set_global(self) -> None: ...
431
+ def grab_status(self) -> Literal["local", "global"] | None: ...
432
+ def option_add(
433
+ self,
434
+ pattern,
435
+ value,
436
+ priority: (
437
+ int
438
+ | Literal["widgetDefault", "startupFile", "userDefault", "interactive"]
439
+ | None
440
+ ) = None,
441
+ ) -> None: ...
442
+ def option_clear(self) -> None: ...
443
+ def option_get(self, name, className): ...
444
+ def option_readfile(self, fileName, priority: Incomplete | None = None) -> None: ...
445
+ def selection_clear(self, **kw) -> None: ...
446
+ def selection_get(self, **kw): ...
447
+ def selection_handle(self, command, **kw) -> None: ...
448
+ def selection_own(self, **kw) -> None: ...
449
+ def selection_own_get(self, **kw): ...
450
+ def send(self, interp, cmd, *args): ...
451
+ def lower(self, belowThis: Incomplete | None = None) -> None: ...
452
+ def tkraise(self, aboveThis: Incomplete | None = None) -> None: ...
453
+ lift = tkraise
454
+ if sys.version_info >= (3, 11):
455
+ def info_patchlevel(self) -> _VersionInfoType: ...
456
+
457
+ def winfo_atom(self, name: str, displayof: Literal[0] | Misc | None = 0) -> int: ...
458
+ def winfo_atomname(
459
+ self, id: int, displayof: Literal[0] | Misc | None = 0
460
+ ) -> str: ...
461
+ def winfo_cells(self) -> int: ...
462
+ def winfo_children(
463
+ self,
464
+ ) -> list[Widget]: ... # Widget because it can't be Toplevel or Tk
465
+ def winfo_class(self) -> str: ...
466
+ def winfo_colormapfull(self) -> bool: ...
467
+ def winfo_containing(
468
+ self, rootX: int, rootY: int, displayof: Literal[0] | Misc | None = 0
469
+ ) -> Misc | None: ...
470
+ def winfo_depth(self) -> int: ...
471
+ def winfo_exists(self) -> bool: ...
472
+ def winfo_fpixels(self, number: _ScreenUnits) -> float: ...
473
+ def winfo_geometry(self) -> str: ...
474
+ def winfo_height(self) -> int: ...
475
+ def winfo_id(self) -> int: ...
476
+ def winfo_interps(
477
+ self, displayof: Literal[0] | Misc | None = 0
478
+ ) -> tuple[str, ...]: ...
479
+ def winfo_ismapped(self) -> bool: ...
480
+ def winfo_manager(self) -> str: ...
481
+ def winfo_name(self) -> str: ...
482
+ def winfo_parent(self) -> str: ... # return value needs nametowidget()
483
+ def winfo_pathname(self, id: int, displayof: Literal[0] | Misc | None = 0): ...
484
+ def winfo_pixels(self, number: _ScreenUnits) -> int: ...
485
+ def winfo_pointerx(self) -> int: ...
486
+ def winfo_pointerxy(self) -> tuple[int, int]: ...
487
+ def winfo_pointery(self) -> int: ...
488
+ def winfo_reqheight(self) -> int: ...
489
+ def winfo_reqwidth(self) -> int: ...
490
+ def winfo_rgb(self, color: str) -> tuple[int, int, int]: ...
491
+ def winfo_rootx(self) -> int: ...
492
+ def winfo_rooty(self) -> int: ...
493
+ def winfo_screen(self) -> str: ...
494
+ def winfo_screencells(self) -> int: ...
495
+ def winfo_screendepth(self) -> int: ...
496
+ def winfo_screenheight(self) -> int: ...
497
+ def winfo_screenmmheight(self) -> int: ...
498
+ def winfo_screenmmwidth(self) -> int: ...
499
+ def winfo_screenvisual(self) -> str: ...
500
+ def winfo_screenwidth(self) -> int: ...
501
+ def winfo_server(self) -> str: ...
502
+ def winfo_toplevel(self) -> Tk | Toplevel: ...
503
+ def winfo_viewable(self) -> bool: ...
504
+ def winfo_visual(self) -> str: ...
505
+ def winfo_visualid(self) -> str: ...
506
+ def winfo_visualsavailable(
507
+ self, includeids: bool = False
508
+ ) -> list[tuple[str, int]]: ...
509
+ def winfo_vrootheight(self) -> int: ...
510
+ def winfo_vrootwidth(self) -> int: ...
511
+ def winfo_vrootx(self) -> int: ...
512
+ def winfo_vrooty(self) -> int: ...
513
+ def winfo_width(self) -> int: ...
514
+ def winfo_x(self) -> int: ...
515
+ def winfo_y(self) -> int: ...
516
+ def update(self) -> None: ...
517
+ def update_idletasks(self) -> None: ...
518
+ @overload
519
+ def bindtags(self, tagList: None = None) -> tuple[str, ...]: ...
520
+ @overload
521
+ def bindtags(self, tagList: list[str] | tuple[str, ...]) -> None: ...
522
+ # bind with isinstance(func, str) doesn't return anything, but all other
523
+ # binds do. The default value of func is not str.
524
+ @overload
525
+ def bind(
526
+ self,
527
+ sequence: str | None = None,
528
+ func: Callable[[Event[Misc]], object] | None = None,
529
+ add: Literal["", "+"] | bool | None = None,
530
+ ) -> str: ...
531
+ @overload
532
+ def bind(
533
+ self,
534
+ sequence: str | None,
535
+ func: str,
536
+ add: Literal["", "+"] | bool | None = None,
537
+ ) -> None: ...
538
+ @overload
539
+ def bind(
540
+ self, *, func: str, add: Literal["", "+"] | bool | None = None
541
+ ) -> None: ...
542
+ # There's no way to know what type of widget bind_all and bind_class
543
+ # callbacks will get, so those are Misc.
544
+ @overload
545
+ def bind_all(
546
+ self,
547
+ sequence: str | None = None,
548
+ func: Callable[[Event[Misc]], object] | None = None,
549
+ add: Literal["", "+"] | bool | None = None,
550
+ ) -> str: ...
551
+ @overload
552
+ def bind_all(
553
+ self,
554
+ sequence: str | None,
555
+ func: str,
556
+ add: Literal["", "+"] | bool | None = None,
557
+ ) -> None: ...
558
+ @overload
559
+ def bind_all(
560
+ self, *, func: str, add: Literal["", "+"] | bool | None = None
561
+ ) -> None: ...
562
+ @overload
563
+ def bind_class(
564
+ self,
565
+ className: str,
566
+ sequence: str | None = None,
567
+ func: Callable[[Event[Misc]], object] | None = None,
568
+ add: Literal["", "+"] | bool | None = None,
569
+ ) -> str: ...
570
+ @overload
571
+ def bind_class(
572
+ self,
573
+ className: str,
574
+ sequence: str | None,
575
+ func: str,
576
+ add: Literal["", "+"] | bool | None = None,
577
+ ) -> None: ...
578
+ @overload
579
+ def bind_class(
580
+ self, className: str, *, func: str, add: Literal["", "+"] | bool | None = None
581
+ ) -> None: ...
582
+ def unbind(self, sequence: str, funcid: str | None = None) -> None: ...
583
+ def unbind_all(self, sequence: str) -> None: ...
584
+ def unbind_class(self, className: str, sequence: str) -> None: ...
585
+ def mainloop(self, n: int = 0) -> None: ...
586
+ def quit(self) -> None: ...
587
+ @property
588
+ def _windowingsystem(self) -> Literal["win32", "aqua", "x11"]: ...
589
+ def nametowidget(self, name: str | Misc | _tkinter.Tcl_Obj) -> Any: ...
590
+ def register(
591
+ self,
592
+ func: Callable[..., object],
593
+ subst: Callable[..., Sequence[Any]] | None = None,
594
+ needcleanup: int = 1,
595
+ ) -> str: ...
596
+ def keys(self) -> list[str]: ...
597
+ @overload
598
+ def pack_propagate(self, flag: bool) -> bool | None: ...
599
+ @overload
600
+ def pack_propagate(self) -> None: ...
601
+ propagate = pack_propagate
602
+ def grid_anchor(self, anchor: _Anchor | None = None) -> None: ...
603
+ anchor = grid_anchor
604
+ @overload
605
+ def grid_bbox(
606
+ self,
607
+ column: None = None,
608
+ row: None = None,
609
+ col2: None = None,
610
+ row2: None = None,
611
+ ) -> tuple[int, int, int, int] | None: ...
612
+ @overload
613
+ def grid_bbox(
614
+ self, column: int, row: int, col2: None = None, row2: None = None
615
+ ) -> tuple[int, int, int, int] | None: ...
616
+ @overload
617
+ def grid_bbox(
618
+ self, column: int, row: int, col2: int, row2: int
619
+ ) -> tuple[int, int, int, int] | None: ...
620
+ bbox = grid_bbox
621
+ def grid_columnconfigure(
622
+ self,
623
+ index: _GridIndex | list[int] | tuple[int, ...],
624
+ cnf: _GridIndexInfo = {},
625
+ *,
626
+ minsize: _ScreenUnits = ...,
627
+ pad: _ScreenUnits = ...,
628
+ uniform: str = ...,
629
+ weight: int = ...,
630
+ ) -> _GridIndexInfo | Any: ... # can be None but annoying to check
631
+ def grid_rowconfigure(
632
+ self,
633
+ index: _GridIndex | list[int] | tuple[int, ...],
634
+ cnf: _GridIndexInfo = {},
635
+ *,
636
+ minsize: _ScreenUnits = ...,
637
+ pad: _ScreenUnits = ...,
638
+ uniform: str = ...,
639
+ weight: int = ...,
640
+ ) -> _GridIndexInfo | Any: ... # can be None but annoying to check
641
+ columnconfigure = grid_columnconfigure
642
+ rowconfigure = grid_rowconfigure
643
+ def grid_location(self, x: _ScreenUnits, y: _ScreenUnits) -> tuple[int, int]: ...
644
+ @overload
645
+ def grid_propagate(self, flag: bool) -> None: ...
646
+ @overload
647
+ def grid_propagate(self) -> bool: ...
648
+ def grid_size(self) -> tuple[int, int]: ...
649
+ size = grid_size
650
+ # Widget because Toplevel or Tk is never a slave
651
+ def pack_slaves(self) -> list[Widget]: ...
652
+ def grid_slaves(
653
+ self, row: int | None = None, column: int | None = None
654
+ ) -> list[Widget]: ...
655
+ def place_slaves(self) -> list[Widget]: ...
656
+ slaves = pack_slaves
657
+ def event_add(self, virtual: str, *sequences: str) -> None: ...
658
+ def event_delete(self, virtual: str, *sequences: str) -> None: ...
659
+ def event_generate(
660
+ self,
661
+ sequence: str,
662
+ *,
663
+ above: Misc | int = ...,
664
+ borderwidth: _ScreenUnits = ...,
665
+ button: int = ...,
666
+ count: int = ...,
667
+ data: Any = ..., # anything with usable str() value
668
+ delta: int = ...,
669
+ detail: str = ...,
670
+ focus: bool = ...,
671
+ height: _ScreenUnits = ...,
672
+ keycode: int = ...,
673
+ keysym: str = ...,
674
+ mode: str = ...,
675
+ override: bool = ...,
676
+ place: Literal["PlaceOnTop", "PlaceOnBottom"] = ...,
677
+ root: Misc | int = ...,
678
+ rootx: _ScreenUnits = ...,
679
+ rooty: _ScreenUnits = ...,
680
+ sendevent: bool = ...,
681
+ serial: int = ...,
682
+ state: int | str = ...,
683
+ subwindow: Misc | int = ...,
684
+ time: int = ...,
685
+ warp: bool = ...,
686
+ width: _ScreenUnits = ...,
687
+ when: Literal["now", "tail", "head", "mark"] = ...,
688
+ x: _ScreenUnits = ...,
689
+ y: _ScreenUnits = ...,
690
+ ) -> None: ...
691
+ def event_info(self, virtual: str | None = None) -> tuple[str, ...]: ...
692
+ def image_names(self) -> tuple[str, ...]: ...
693
+ def image_types(self) -> tuple[str, ...]: ...
694
+ # See #4363 and #4891
695
+ def __setitem__(self, key: str, value: Any) -> None: ...
696
+ def __getitem__(self, key: str) -> Any: ...
697
+ def cget(self, key: str) -> Any: ...
698
+ def configure(self, cnf: Any = None) -> Any: ...
699
+ # TODO: config is an alias of configure, but adding that here creates lots of mypy errors
700
+
701
+ class CallWrapper:
702
+ func: Incomplete
703
+ subst: Incomplete
704
+ widget: Incomplete
705
+ def __init__(self, func, subst, widget) -> None: ...
706
+ def __call__(self, *args): ...
707
+
708
+ class XView:
709
+ @overload
710
+ def xview(self) -> tuple[float, float]: ...
711
+ @overload
712
+ def xview(self, *args): ...
713
+ def xview_moveto(self, fraction: float) -> None: ...
714
+ @overload
715
+ def xview_scroll(self, number: int, what: Literal["units", "pages"]) -> None: ...
716
+ @overload
717
+ def xview_scroll(self, number: _ScreenUnits, what: Literal["pixels"]) -> None: ...
718
+
719
+ class YView:
720
+ @overload
721
+ def yview(self) -> tuple[float, float]: ...
722
+ @overload
723
+ def yview(self, *args): ...
724
+ def yview_moveto(self, fraction: float) -> None: ...
725
+ @overload
726
+ def yview_scroll(self, number: int, what: Literal["units", "pages"]) -> None: ...
727
+ @overload
728
+ def yview_scroll(self, number: _ScreenUnits, what: Literal["pixels"]) -> None: ...
729
+
730
+ class Wm:
731
+ @overload
732
+ def wm_aspect(
733
+ self, minNumer: int, minDenom: int, maxNumer: int, maxDenom: int
734
+ ) -> None: ...
735
+ @overload
736
+ def wm_aspect(
737
+ self,
738
+ minNumer: None = None,
739
+ minDenom: None = None,
740
+ maxNumer: None = None,
741
+ maxDenom: None = None,
742
+ ) -> tuple[int, int, int, int] | None: ...
743
+ aspect = wm_aspect
744
+ @overload
745
+ def wm_attributes(self) -> tuple[Any, ...]: ...
746
+ @overload
747
+ def wm_attributes(self, __option: str): ...
748
+ @overload
749
+ def wm_attributes(
750
+ self, __option: str, __value, *__other_option_value_pairs: Any
751
+ ) -> None: ...
752
+ attributes = wm_attributes
753
+ def wm_client(self, name: str | None = None) -> str: ...
754
+ client = wm_client
755
+ @overload
756
+ def wm_colormapwindows(self) -> list[Misc]: ...
757
+ @overload
758
+ def wm_colormapwindows(self, __wlist: list[Misc] | tuple[Misc, ...]) -> None: ...
759
+ @overload
760
+ def wm_colormapwindows(
761
+ self, __first_wlist_item: Misc, *other_wlist_items: Misc
762
+ ) -> None: ...
763
+ colormapwindows = wm_colormapwindows
764
+ def wm_command(self, value: str | None = None) -> str: ...
765
+ command = wm_command
766
+ # Some of these always return empty string, but return type is set to None to prevent accidentally using it
767
+ def wm_deiconify(self) -> None: ...
768
+ deiconify = wm_deiconify
769
+ def wm_focusmodel(
770
+ self, model: Literal["active", "passive"] | None = None
771
+ ) -> Literal["active", "passive", ""]: ...
772
+ focusmodel = wm_focusmodel
773
+ def wm_forget(self, window: Wm) -> None: ...
774
+ forget = wm_forget
775
+ def wm_frame(self) -> str: ...
776
+ frame = wm_frame
777
+ @overload
778
+ def wm_geometry(self, newGeometry: None = None) -> str: ...
779
+ @overload
780
+ def wm_geometry(self, newGeometry: str) -> None: ...
781
+ geometry = wm_geometry
782
+ def wm_grid(
783
+ self,
784
+ baseWidth: Incomplete | None = None,
785
+ baseHeight: Incomplete | None = None,
786
+ widthInc: Incomplete | None = None,
787
+ heightInc: Incomplete | None = None,
788
+ ): ...
789
+ grid = wm_grid
790
+ def wm_group(self, pathName: Incomplete | None = None): ...
791
+ group = wm_group
792
+ def wm_iconbitmap(
793
+ self, bitmap: Incomplete | None = None, default: Incomplete | None = None
794
+ ): ...
795
+ iconbitmap = wm_iconbitmap
796
+ def wm_iconify(self) -> None: ...
797
+ iconify = wm_iconify
798
+ def wm_iconmask(self, bitmap: Incomplete | None = None): ...
799
+ iconmask = wm_iconmask
800
+ def wm_iconname(self, newName: Incomplete | None = None) -> str: ...
801
+ iconname = wm_iconname
802
+ def wm_iconphoto(
803
+ self,
804
+ default: bool,
805
+ __image1: _PhotoImageLike | str,
806
+ *args: _PhotoImageLike | str,
807
+ ) -> None: ...
808
+ iconphoto = wm_iconphoto
809
+ def wm_iconposition(
810
+ self, x: int | None = None, y: int | None = None
811
+ ) -> tuple[int, int] | None: ...
812
+ iconposition = wm_iconposition
813
+ def wm_iconwindow(self, pathName: Incomplete | None = None): ...
814
+ iconwindow = wm_iconwindow
815
+ def wm_manage(self, widget) -> None: ...
816
+ manage = wm_manage
817
+ @overload
818
+ def wm_maxsize(
819
+ self, width: None = None, height: None = None
820
+ ) -> tuple[int, int]: ...
821
+ @overload
822
+ def wm_maxsize(self, width: int, height: int) -> None: ...
823
+ maxsize = wm_maxsize
824
+ @overload
825
+ def wm_minsize(
826
+ self, width: None = None, height: None = None
827
+ ) -> tuple[int, int]: ...
828
+ @overload
829
+ def wm_minsize(self, width: int, height: int) -> None: ...
830
+ minsize = wm_minsize
831
+ @overload
832
+ def wm_overrideredirect(
833
+ self, boolean: None = None
834
+ ) -> bool | None: ... # returns True or None
835
+ @overload
836
+ def wm_overrideredirect(self, boolean: bool) -> None: ...
837
+ overrideredirect = wm_overrideredirect
838
+ def wm_positionfrom(
839
+ self, who: Literal["program", "user"] | None = None
840
+ ) -> Literal["", "program", "user"]: ...
841
+ positionfrom = wm_positionfrom
842
+ @overload
843
+ def wm_protocol(self, name: str, func: Callable[[], object] | str) -> None: ...
844
+ @overload
845
+ def wm_protocol(self, name: str, func: None = None) -> str: ...
846
+ @overload
847
+ def wm_protocol(self, name: None = None, func: None = None) -> tuple[str, ...]: ...
848
+ protocol = wm_protocol
849
+ @overload
850
+ def wm_resizable(
851
+ self, width: None = None, height: None = None
852
+ ) -> tuple[bool, bool]: ...
853
+ @overload
854
+ def wm_resizable(self, width: bool, height: bool) -> None: ...
855
+ resizable = wm_resizable
856
+ def wm_sizefrom(
857
+ self, who: Literal["program", "user"] | None = None
858
+ ) -> Literal["", "program", "user"]: ...
859
+ sizefrom = wm_sizefrom
860
+ @overload
861
+ def wm_state(self, newstate: None = None) -> str: ...
862
+ @overload
863
+ def wm_state(self, newstate: str) -> None: ...
864
+ state = wm_state
865
+ @overload
866
+ def wm_title(self, string: None = None) -> str: ...
867
+ @overload
868
+ def wm_title(self, string: str) -> None: ...
869
+ title = wm_title
870
+ @overload
871
+ def wm_transient(self, master: None = None) -> _tkinter.Tcl_Obj: ...
872
+ @overload
873
+ def wm_transient(self, master: Wm | _tkinter.Tcl_Obj) -> None: ...
874
+ transient = wm_transient
875
+ def wm_withdraw(self) -> None: ...
876
+ withdraw = wm_withdraw
877
+
878
+ class Tk(Misc, Wm):
879
+ master: None
880
+ def __init__(
881
+ # Make sure to keep in sync with other functions that use the same
882
+ # args.
883
+ # use `git grep screenName` to find them
884
+ self,
885
+ screenName: str | None = None,
886
+ baseName: str | None = None,
887
+ className: str = "Tk",
888
+ useTk: bool = True,
889
+ sync: bool = False,
890
+ use: str | None = None,
891
+ ) -> None: ...
892
+ @overload
893
+ def configure(
894
+ self,
895
+ cnf: dict[str, Any] | None = None,
896
+ *,
897
+ background: str = ...,
898
+ bd: _ScreenUnits = ...,
899
+ bg: str = ...,
900
+ border: _ScreenUnits = ...,
901
+ borderwidth: _ScreenUnits = ...,
902
+ cursor: _Cursor = ...,
903
+ height: _ScreenUnits = ...,
904
+ highlightbackground: str = ...,
905
+ highlightcolor: str = ...,
906
+ highlightthickness: _ScreenUnits = ...,
907
+ menu: Menu = ...,
908
+ padx: _ScreenUnits = ...,
909
+ pady: _ScreenUnits = ...,
910
+ relief: _Relief = ...,
911
+ takefocus: _TakeFocusValue = ...,
912
+ width: _ScreenUnits = ...,
913
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
914
+ @overload
915
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
916
+ config = configure
917
+ def destroy(self) -> None: ...
918
+ def readprofile(self, baseName: str, className: str) -> None: ...
919
+ report_callback_exception: Callable[
920
+ [type[BaseException], BaseException, TracebackType | None], object
921
+ ]
922
+ # Tk has __getattr__ so that tk_instance.foo falls back to tk_instance.tk.foo
923
+ # Please keep in sync with _tkinter.TkappType.
924
+ # Some methods are intentionally missing because they are inherited from Misc instead.
925
+ def adderrorinfo(self, __msg): ...
926
+ def call(self, __command: Any, *args: Any) -> Any: ...
927
+ def createcommand(self, __name, __func): ...
928
+ if sys.platform != "win32":
929
+ def createfilehandler(self, __file, __mask, __func): ...
930
+ def deletefilehandler(self, __file): ...
931
+
932
+ def createtimerhandler(self, __milliseconds, __func): ...
933
+ def dooneevent(self, __flags: int = ...): ...
934
+ def eval(self, __script: str) -> str: ...
935
+ def evalfile(self, __fileName): ...
936
+ def exprboolean(self, __s): ...
937
+ def exprdouble(self, __s): ...
938
+ def exprlong(self, __s): ...
939
+ def exprstring(self, __s): ...
940
+ def globalgetvar(self, *args, **kwargs): ...
941
+ def globalsetvar(self, *args, **kwargs): ...
942
+ def globalunsetvar(self, *args, **kwargs): ...
943
+ def interpaddr(self): ...
944
+ def loadtk(self) -> None: ...
945
+ def record(self, __script): ...
946
+ if sys.version_info < (3, 11):
947
+ def split(self, __arg): ...
948
+
949
+ def splitlist(self, __arg): ...
950
+ def unsetvar(self, *args, **kwargs): ...
951
+ def wantobjects(self, *args, **kwargs): ...
952
+ def willdispatch(self): ...
953
+
954
+ def Tcl(
955
+ screenName: str | None = None,
956
+ baseName: str | None = None,
957
+ className: str = "Tk",
958
+ useTk: bool = False,
959
+ ) -> Tk: ...
960
+
961
+ _InMiscTotal = TypedDict("_InMiscTotal", {"in": Misc})
962
+ _InMiscNonTotal = TypedDict("_InMiscNonTotal", {"in": Misc}, total=False)
963
+
964
+ class _PackInfo(_InMiscTotal):
965
+ # 'before' and 'after' never appear in _PackInfo
966
+ anchor: _Anchor
967
+ expand: bool
968
+ fill: Literal["none", "x", "y", "both"]
969
+ side: Literal["left", "right", "top", "bottom"]
970
+ # Paddings come out as int or tuple of int, even though any _ScreenUnits
971
+ # can be specified in pack().
972
+ ipadx: int
973
+ ipady: int
974
+ padx: int | tuple[int, int]
975
+ pady: int | tuple[int, int]
976
+
977
+ class Pack:
978
+ # _PackInfo is not the valid type for cnf because pad stuff accepts any
979
+ # _ScreenUnits instead of int only. I didn't bother to create another
980
+ # TypedDict for cnf because it appears to be a legacy thing that was
981
+ # replaced by **kwargs.
982
+ def pack_configure(
983
+ self,
984
+ cnf: Mapping[str, Any] | None = {},
985
+ *,
986
+ after: Misc = ...,
987
+ anchor: _Anchor = ...,
988
+ before: Misc = ...,
989
+ expand: int = ...,
990
+ fill: Literal["none", "x", "y", "both"] = ...,
991
+ side: Literal["left", "right", "top", "bottom"] = ...,
992
+ ipadx: _ScreenUnits = ...,
993
+ ipady: _ScreenUnits = ...,
994
+ padx: _ScreenUnits | tuple[_ScreenUnits, _ScreenUnits] = ...,
995
+ pady: _ScreenUnits | tuple[_ScreenUnits, _ScreenUnits] = ...,
996
+ in_: Misc = ...,
997
+ **kw: Any, # allow keyword argument named 'in', see #4836
998
+ ) -> None: ...
999
+ def pack_forget(self) -> None: ...
1000
+ def pack_info(self) -> _PackInfo: ... # errors if widget hasn't been packed
1001
+ pack = pack_configure
1002
+ forget = pack_forget
1003
+ propagate = Misc.pack_propagate
1004
+
1005
+ class _PlaceInfo(_InMiscNonTotal): # empty dict if widget hasn't been placed
1006
+ anchor: _Anchor
1007
+ bordermode: Literal["inside", "outside", "ignore"]
1008
+ width: (
1009
+ str # can be int()ed (even after e.g. widget.place(height='2.3c') or similar)
1010
+ )
1011
+ height: str # can be int()ed
1012
+ x: str # can be int()ed
1013
+ y: str # can be int()ed
1014
+ relheight: str # can be float()ed if not empty string
1015
+ relwidth: str # can be float()ed if not empty string
1016
+ relx: str # can be float()ed if not empty string
1017
+ rely: str # can be float()ed if not empty string
1018
+
1019
+ class Place:
1020
+ def place_configure(
1021
+ self,
1022
+ cnf: Mapping[str, Any] | None = {},
1023
+ *,
1024
+ anchor: _Anchor = ...,
1025
+ bordermode: Literal["inside", "outside", "ignore"] = ...,
1026
+ width: _ScreenUnits = ...,
1027
+ height: _ScreenUnits = ...,
1028
+ x: _ScreenUnits = ...,
1029
+ y: _ScreenUnits = ...,
1030
+ # str allowed for compatibility with place_info()
1031
+ relheight: str | float = ...,
1032
+ relwidth: str | float = ...,
1033
+ relx: str | float = ...,
1034
+ rely: str | float = ...,
1035
+ in_: Misc = ...,
1036
+ **kw: Any, # allow keyword argument named 'in', see #4836
1037
+ ) -> None: ...
1038
+ def place_forget(self) -> None: ...
1039
+ def place_info(self) -> _PlaceInfo: ...
1040
+ place = place_configure
1041
+ info = place_info
1042
+
1043
+ class _GridInfo(_InMiscNonTotal): # empty dict if widget hasn't been gridded
1044
+ column: int
1045
+ columnspan: int
1046
+ row: int
1047
+ rowspan: int
1048
+ ipadx: int
1049
+ ipady: int
1050
+ padx: int | tuple[int, int]
1051
+ pady: int | tuple[int, int]
1052
+ sticky: str # consists of letters 'n', 's', 'w', 'e', no repeats, may be empty
1053
+
1054
+ class Grid:
1055
+ def grid_configure(
1056
+ self,
1057
+ cnf: Mapping[str, Any] | None = {},
1058
+ *,
1059
+ column: int = ...,
1060
+ columnspan: int = ...,
1061
+ row: int = ...,
1062
+ rowspan: int = ...,
1063
+ ipadx: _ScreenUnits = ...,
1064
+ ipady: _ScreenUnits = ...,
1065
+ padx: _ScreenUnits | tuple[_ScreenUnits, _ScreenUnits] = ...,
1066
+ pady: _ScreenUnits | tuple[_ScreenUnits, _ScreenUnits] = ...,
1067
+ sticky: str = ..., # consists of letters 'n', 's', 'w', 'e', may contain repeats, may be empty
1068
+ in_: Misc = ...,
1069
+ **kw: Any, # allow keyword argument named 'in', see #4836
1070
+ ) -> None: ...
1071
+ def grid_forget(self) -> None: ...
1072
+ def grid_remove(self) -> None: ...
1073
+ def grid_info(self) -> _GridInfo: ...
1074
+ grid = grid_configure
1075
+ location = Misc.grid_location
1076
+ size = Misc.grid_size
1077
+
1078
+ class BaseWidget(Misc):
1079
+ master: Misc
1080
+ widgetName: Incomplete
1081
+ def __init__(self, master, widgetName, cnf={}, kw={}, extra=()) -> None: ...
1082
+ def destroy(self) -> None: ...
1083
+
1084
+ # This class represents any widget except Toplevel or Tk.
1085
+ class Widget(BaseWidget, Pack, Place, Grid):
1086
+ # Allow bind callbacks to take e.g. Event[Label] instead of Event[Misc].
1087
+ # Tk and Toplevel get notified for their child widgets' events, but other
1088
+ # widgets don't.
1089
+ @overload
1090
+ def bind(
1091
+ self: _W,
1092
+ sequence: str | None = None,
1093
+ func: Callable[[Event[_W]], object] | None = None,
1094
+ add: Literal["", "+"] | bool | None = None,
1095
+ ) -> str: ...
1096
+ @overload
1097
+ def bind(
1098
+ self,
1099
+ sequence: str | None,
1100
+ func: str,
1101
+ add: Literal["", "+"] | bool | None = None,
1102
+ ) -> None: ...
1103
+ @overload
1104
+ def bind(
1105
+ self, *, func: str, add: Literal["", "+"] | bool | None = None
1106
+ ) -> None: ...
1107
+
1108
+ class Toplevel(BaseWidget, Wm):
1109
+ # Toplevel and Tk have the same options because they correspond to the same
1110
+ # Tcl/Tk toplevel widget. For some reason, config and configure must be
1111
+ # copy/pasted here instead of aliasing as 'config = Tk.config'.
1112
+ def __init__(
1113
+ self,
1114
+ master: Misc | None = None,
1115
+ cnf: dict[str, Any] | None = {},
1116
+ *,
1117
+ background: str = ...,
1118
+ bd: _ScreenUnits = ...,
1119
+ bg: str = ...,
1120
+ border: _ScreenUnits = ...,
1121
+ borderwidth: _ScreenUnits = ...,
1122
+ class_: str = ...,
1123
+ colormap: Literal["new", ""] | Misc = ...,
1124
+ container: bool = ...,
1125
+ cursor: _Cursor = ...,
1126
+ height: _ScreenUnits = ...,
1127
+ highlightbackground: str = ...,
1128
+ highlightcolor: str = ...,
1129
+ highlightthickness: _ScreenUnits = ...,
1130
+ menu: Menu = ...,
1131
+ name: str = ...,
1132
+ padx: _ScreenUnits = ...,
1133
+ pady: _ScreenUnits = ...,
1134
+ relief: _Relief = ...,
1135
+ screen: str = ..., # can't be changed after creating widget
1136
+ takefocus: _TakeFocusValue = ...,
1137
+ use: int = ...,
1138
+ visual: str | tuple[str, int] = ...,
1139
+ width: _ScreenUnits = ...,
1140
+ ) -> None: ...
1141
+ @overload
1142
+ def configure(
1143
+ self,
1144
+ cnf: dict[str, Any] | None = None,
1145
+ *,
1146
+ background: str = ...,
1147
+ bd: _ScreenUnits = ...,
1148
+ bg: str = ...,
1149
+ border: _ScreenUnits = ...,
1150
+ borderwidth: _ScreenUnits = ...,
1151
+ cursor: _Cursor = ...,
1152
+ height: _ScreenUnits = ...,
1153
+ highlightbackground: str = ...,
1154
+ highlightcolor: str = ...,
1155
+ highlightthickness: _ScreenUnits = ...,
1156
+ menu: Menu = ...,
1157
+ padx: _ScreenUnits = ...,
1158
+ pady: _ScreenUnits = ...,
1159
+ relief: _Relief = ...,
1160
+ takefocus: _TakeFocusValue = ...,
1161
+ width: _ScreenUnits = ...,
1162
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
1163
+ @overload
1164
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
1165
+ config = configure
1166
+
1167
+ class Button(Widget):
1168
+ def __init__(
1169
+ self,
1170
+ master: Misc | None = None,
1171
+ cnf: dict[str, Any] | None = {},
1172
+ *,
1173
+ activebackground: str = ...,
1174
+ activeforeground: str = ...,
1175
+ anchor: _Anchor = ...,
1176
+ background: str = ...,
1177
+ bd: _ScreenUnits = ..., # same as borderwidth
1178
+ bg: str = ..., # same as background
1179
+ bitmap: str = ...,
1180
+ border: _ScreenUnits = ..., # same as borderwidth
1181
+ borderwidth: _ScreenUnits = ...,
1182
+ command: _ButtonCommand = ...,
1183
+ compound: _Compound = ...,
1184
+ cursor: _Cursor = ...,
1185
+ default: Literal["normal", "active", "disabled"] = ...,
1186
+ disabledforeground: str = ...,
1187
+ fg: str = ..., # same as foreground
1188
+ font: _FontDescription = ...,
1189
+ foreground: str = ...,
1190
+ # width and height must be int for buttons containing just text, but
1191
+ # ints are also valid _ScreenUnits
1192
+ height: _ScreenUnits = ...,
1193
+ highlightbackground: str = ...,
1194
+ highlightcolor: str = ...,
1195
+ highlightthickness: _ScreenUnits = ...,
1196
+ image: _ImageSpec = ...,
1197
+ justify: Literal["left", "center", "right"] = ...,
1198
+ name: str = ...,
1199
+ overrelief: _Relief = ...,
1200
+ padx: _ScreenUnits = ...,
1201
+ pady: _ScreenUnits = ...,
1202
+ relief: _Relief = ...,
1203
+ repeatdelay: int = ...,
1204
+ repeatinterval: int = ...,
1205
+ state: Literal["normal", "active", "disabled"] = ...,
1206
+ takefocus: _TakeFocusValue = ...,
1207
+ text: float | str = ...,
1208
+ # We allow the textvariable to be any Variable, not necessarily
1209
+ # StringVar. This is useful for e.g. a button that displays the value
1210
+ # of an IntVar.
1211
+ textvariable: Variable = ...,
1212
+ underline: int = ...,
1213
+ width: _ScreenUnits = ...,
1214
+ wraplength: _ScreenUnits = ...,
1215
+ ) -> None: ...
1216
+ @overload
1217
+ def configure(
1218
+ self,
1219
+ cnf: dict[str, Any] | None = None,
1220
+ *,
1221
+ activebackground: str = ...,
1222
+ activeforeground: str = ...,
1223
+ anchor: _Anchor = ...,
1224
+ background: str = ...,
1225
+ bd: _ScreenUnits = ...,
1226
+ bg: str = ...,
1227
+ bitmap: str = ...,
1228
+ border: _ScreenUnits = ...,
1229
+ borderwidth: _ScreenUnits = ...,
1230
+ command: _ButtonCommand = ...,
1231
+ compound: _Compound = ...,
1232
+ cursor: _Cursor = ...,
1233
+ default: Literal["normal", "active", "disabled"] = ...,
1234
+ disabledforeground: str = ...,
1235
+ fg: str = ...,
1236
+ font: _FontDescription = ...,
1237
+ foreground: str = ...,
1238
+ height: _ScreenUnits = ...,
1239
+ highlightbackground: str = ...,
1240
+ highlightcolor: str = ...,
1241
+ highlightthickness: _ScreenUnits = ...,
1242
+ image: _ImageSpec = ...,
1243
+ justify: Literal["left", "center", "right"] = ...,
1244
+ overrelief: _Relief = ...,
1245
+ padx: _ScreenUnits = ...,
1246
+ pady: _ScreenUnits = ...,
1247
+ relief: _Relief = ...,
1248
+ repeatdelay: int = ...,
1249
+ repeatinterval: int = ...,
1250
+ state: Literal["normal", "active", "disabled"] = ...,
1251
+ takefocus: _TakeFocusValue = ...,
1252
+ text: float | str = ...,
1253
+ textvariable: Variable = ...,
1254
+ underline: int = ...,
1255
+ width: _ScreenUnits = ...,
1256
+ wraplength: _ScreenUnits = ...,
1257
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
1258
+ @overload
1259
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
1260
+ config = configure
1261
+ def flash(self) -> None: ...
1262
+ def invoke(self) -> Any: ...
1263
+
1264
+ class Canvas(Widget, XView, YView):
1265
+ def __init__(
1266
+ self,
1267
+ master: Misc | None = None,
1268
+ cnf: dict[str, Any] | None = {},
1269
+ *,
1270
+ background: str = ...,
1271
+ bd: _ScreenUnits = ...,
1272
+ bg: str = ...,
1273
+ border: _ScreenUnits = ...,
1274
+ borderwidth: _ScreenUnits = ...,
1275
+ closeenough: float = ...,
1276
+ confine: bool = ...,
1277
+ cursor: _Cursor = ...,
1278
+ # canvas manual page has a section named COORDINATES, and the first
1279
+ # part of it describes _ScreenUnits.
1280
+ height: _ScreenUnits = ...,
1281
+ highlightbackground: str = ...,
1282
+ highlightcolor: str = ...,
1283
+ highlightthickness: _ScreenUnits = ...,
1284
+ insertbackground: str = ...,
1285
+ insertborderwidth: _ScreenUnits = ...,
1286
+ insertofftime: int = ...,
1287
+ insertontime: int = ...,
1288
+ insertwidth: _ScreenUnits = ...,
1289
+ name: str = ...,
1290
+ offset=..., # undocumented
1291
+ relief: _Relief = ...,
1292
+ # Setting scrollregion to None doesn't reset it back to empty,
1293
+ # but setting it to () does.
1294
+ scrollregion: (
1295
+ tuple[_ScreenUnits, _ScreenUnits, _ScreenUnits, _ScreenUnits] | tuple[()]
1296
+ ) = ...,
1297
+ selectbackground: str = ...,
1298
+ selectborderwidth: _ScreenUnits = ...,
1299
+ selectforeground: str = ...,
1300
+ # man page says that state can be 'hidden', but it can't
1301
+ state: Literal["normal", "disabled"] = ...,
1302
+ takefocus: _TakeFocusValue = ...,
1303
+ width: _ScreenUnits = ...,
1304
+ xscrollcommand: _XYScrollCommand = ...,
1305
+ xscrollincrement: _ScreenUnits = ...,
1306
+ yscrollcommand: _XYScrollCommand = ...,
1307
+ yscrollincrement: _ScreenUnits = ...,
1308
+ ) -> None: ...
1309
+ @overload
1310
+ def configure(
1311
+ self,
1312
+ cnf: dict[str, Any] | None = None,
1313
+ *,
1314
+ background: str = ...,
1315
+ bd: _ScreenUnits = ...,
1316
+ bg: str = ...,
1317
+ border: _ScreenUnits = ...,
1318
+ borderwidth: _ScreenUnits = ...,
1319
+ closeenough: float = ...,
1320
+ confine: bool = ...,
1321
+ cursor: _Cursor = ...,
1322
+ height: _ScreenUnits = ...,
1323
+ highlightbackground: str = ...,
1324
+ highlightcolor: str = ...,
1325
+ highlightthickness: _ScreenUnits = ...,
1326
+ insertbackground: str = ...,
1327
+ insertborderwidth: _ScreenUnits = ...,
1328
+ insertofftime: int = ...,
1329
+ insertontime: int = ...,
1330
+ insertwidth: _ScreenUnits = ...,
1331
+ offset=..., # undocumented
1332
+ relief: _Relief = ...,
1333
+ scrollregion: (
1334
+ tuple[_ScreenUnits, _ScreenUnits, _ScreenUnits, _ScreenUnits] | tuple[()]
1335
+ ) = ...,
1336
+ selectbackground: str = ...,
1337
+ selectborderwidth: _ScreenUnits = ...,
1338
+ selectforeground: str = ...,
1339
+ state: Literal["normal", "disabled"] = ...,
1340
+ takefocus: _TakeFocusValue = ...,
1341
+ width: _ScreenUnits = ...,
1342
+ xscrollcommand: _XYScrollCommand = ...,
1343
+ xscrollincrement: _ScreenUnits = ...,
1344
+ yscrollcommand: _XYScrollCommand = ...,
1345
+ yscrollincrement: _ScreenUnits = ...,
1346
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
1347
+ @overload
1348
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
1349
+ config = configure
1350
+ def addtag(self, *args): ... # internal method
1351
+ def addtag_above(self, newtag: str, tagOrId: str | int) -> None: ...
1352
+ def addtag_all(self, newtag: str) -> None: ...
1353
+ def addtag_below(self, newtag: str, tagOrId: str | int) -> None: ...
1354
+ def addtag_closest(
1355
+ self,
1356
+ newtag: str,
1357
+ x: _ScreenUnits,
1358
+ y: _ScreenUnits,
1359
+ halo: _ScreenUnits | None = None,
1360
+ start: str | int | None = None,
1361
+ ) -> None: ...
1362
+ def addtag_enclosed(
1363
+ self,
1364
+ newtag: str,
1365
+ x1: _ScreenUnits,
1366
+ y1: _ScreenUnits,
1367
+ x2: _ScreenUnits,
1368
+ y2: _ScreenUnits,
1369
+ ) -> None: ...
1370
+ def addtag_overlapping(
1371
+ self,
1372
+ newtag: str,
1373
+ x1: _ScreenUnits,
1374
+ y1: _ScreenUnits,
1375
+ x2: _ScreenUnits,
1376
+ y2: _ScreenUnits,
1377
+ ) -> None: ...
1378
+ def addtag_withtag(self, newtag: str, tagOrId: str | int) -> None: ...
1379
+ def find(self, *args): ... # internal method
1380
+ def find_above(self, tagOrId: str | int) -> tuple[int, ...]: ...
1381
+ def find_all(self) -> tuple[int, ...]: ...
1382
+ def find_below(self, tagOrId: str | int) -> tuple[int, ...]: ...
1383
+ def find_closest(
1384
+ self,
1385
+ x: _ScreenUnits,
1386
+ y: _ScreenUnits,
1387
+ halo: _ScreenUnits | None = None,
1388
+ start: str | int | None = None,
1389
+ ) -> tuple[int, ...]: ...
1390
+ def find_enclosed(
1391
+ self, x1: _ScreenUnits, y1: _ScreenUnits, x2: _ScreenUnits, y2: _ScreenUnits
1392
+ ) -> tuple[int, ...]: ...
1393
+ def find_overlapping(
1394
+ self, x1: _ScreenUnits, y1: _ScreenUnits, x2: _ScreenUnits, y2: float
1395
+ ) -> tuple[int, ...]: ...
1396
+ def find_withtag(self, tagOrId: str | int) -> tuple[int, ...]: ...
1397
+ # Incompatible with Misc.bbox(), tkinter violates LSP
1398
+ def bbox(self, *args: str | int) -> tuple[int, int, int, int]: ... # type: ignore[override]
1399
+ @overload
1400
+ def tag_bind(
1401
+ self,
1402
+ tagOrId: str | int,
1403
+ sequence: str | None = None,
1404
+ func: Callable[[Event[Canvas]], object] | None = None,
1405
+ add: Literal["", "+"] | bool | None = None,
1406
+ ) -> str: ...
1407
+ @overload
1408
+ def tag_bind(
1409
+ self,
1410
+ tagOrId: str | int,
1411
+ sequence: str | None,
1412
+ func: str,
1413
+ add: Literal["", "+"] | bool | None = None,
1414
+ ) -> None: ...
1415
+ @overload
1416
+ def tag_bind(
1417
+ self,
1418
+ tagOrId: str | int,
1419
+ *,
1420
+ func: str,
1421
+ add: Literal["", "+"] | bool | None = None,
1422
+ ) -> None: ...
1423
+ def tag_unbind(
1424
+ self, tagOrId: str | int, sequence: str, funcid: str | None = None
1425
+ ) -> None: ...
1426
+ def canvasx(self, screenx, gridspacing: Incomplete | None = None): ...
1427
+ def canvasy(self, screeny, gridspacing: Incomplete | None = None): ...
1428
+ @overload
1429
+ def coords(self, __tagOrId: str | int) -> list[float]: ...
1430
+ @overload
1431
+ def coords(
1432
+ self, __tagOrId: str | int, __args: list[int] | list[float] | tuple[float, ...]
1433
+ ) -> None: ...
1434
+ @overload
1435
+ def coords(
1436
+ self, __tagOrId: str | int, __x1: float, __y1: float, *args: float
1437
+ ) -> None: ...
1438
+ # create_foo() methods accept coords as a list or tuple, or as separate arguments.
1439
+ # Lists and tuples can be flat as in [1, 2, 3, 4], or nested as in [(1, 2), (3, 4)].
1440
+ # Keyword arguments should be the same in all overloads of each method.
1441
+ def create_arc(self, *args, **kw) -> int: ...
1442
+ def create_bitmap(self, *args, **kw) -> int: ...
1443
+ def create_image(self, *args, **kw) -> int: ...
1444
+ @overload
1445
+ def create_line(
1446
+ self,
1447
+ __x0: float,
1448
+ __y0: float,
1449
+ __x1: float,
1450
+ __y1: float,
1451
+ *,
1452
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1453
+ activefill: str = ...,
1454
+ activestipple: str = ...,
1455
+ activewidth: _ScreenUnits = ...,
1456
+ arrow: Literal["first", "last", "both"] = ...,
1457
+ arrowshape: tuple[float, float, float] = ...,
1458
+ capstyle: Literal["round", "projecting", "butt"] = ...,
1459
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1460
+ dashoffset: _ScreenUnits = ...,
1461
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1462
+ disabledfill: str = ...,
1463
+ disabledstipple: str = ...,
1464
+ disabledwidth: _ScreenUnits = ...,
1465
+ fill: str = ...,
1466
+ joinstyle: Literal["round", "bevel", "miter"] = ...,
1467
+ offset: _ScreenUnits = ...,
1468
+ smooth: bool = ...,
1469
+ splinesteps: float = ...,
1470
+ state: Literal["normal", "hidden", "disabled"] = ...,
1471
+ stipple: str = ...,
1472
+ tags: str | list[str] | tuple[str, ...] = ...,
1473
+ width: _ScreenUnits = ...,
1474
+ ) -> int: ...
1475
+ @overload
1476
+ def create_line(
1477
+ self,
1478
+ __xy_pair_0: tuple[float, float],
1479
+ __xy_pair_1: tuple[float, float],
1480
+ *,
1481
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1482
+ activefill: str = ...,
1483
+ activestipple: str = ...,
1484
+ activewidth: _ScreenUnits = ...,
1485
+ arrow: Literal["first", "last", "both"] = ...,
1486
+ arrowshape: tuple[float, float, float] = ...,
1487
+ capstyle: Literal["round", "projecting", "butt"] = ...,
1488
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1489
+ dashoffset: _ScreenUnits = ...,
1490
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1491
+ disabledfill: str = ...,
1492
+ disabledstipple: str = ...,
1493
+ disabledwidth: _ScreenUnits = ...,
1494
+ fill: str = ...,
1495
+ joinstyle: Literal["round", "bevel", "miter"] = ...,
1496
+ offset: _ScreenUnits = ...,
1497
+ smooth: bool = ...,
1498
+ splinesteps: float = ...,
1499
+ state: Literal["normal", "hidden", "disabled"] = ...,
1500
+ stipple: str = ...,
1501
+ tags: str | list[str] | tuple[str, ...] = ...,
1502
+ width: _ScreenUnits = ...,
1503
+ ) -> int: ...
1504
+ @overload
1505
+ def create_line(
1506
+ self,
1507
+ __coords: (
1508
+ tuple[float, float, float, float]
1509
+ | tuple[tuple[float, float], tuple[float, float]]
1510
+ | list[int]
1511
+ | list[float]
1512
+ | list[tuple[int, int]]
1513
+ | list[tuple[float, float]]
1514
+ ),
1515
+ *,
1516
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1517
+ activefill: str = ...,
1518
+ activestipple: str = ...,
1519
+ activewidth: _ScreenUnits = ...,
1520
+ arrow: Literal["first", "last", "both"] = ...,
1521
+ arrowshape: tuple[float, float, float] = ...,
1522
+ capstyle: Literal["round", "projecting", "butt"] = ...,
1523
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1524
+ dashoffset: _ScreenUnits = ...,
1525
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1526
+ disabledfill: str = ...,
1527
+ disabledstipple: str = ...,
1528
+ disabledwidth: _ScreenUnits = ...,
1529
+ fill: str = ...,
1530
+ joinstyle: Literal["round", "bevel", "miter"] = ...,
1531
+ offset: _ScreenUnits = ...,
1532
+ smooth: bool = ...,
1533
+ splinesteps: float = ...,
1534
+ state: Literal["normal", "hidden", "disabled"] = ...,
1535
+ stipple: str = ...,
1536
+ tags: str | list[str] | tuple[str, ...] = ...,
1537
+ width: _ScreenUnits = ...,
1538
+ ) -> int: ...
1539
+ @overload
1540
+ def create_oval(
1541
+ self,
1542
+ __x0: float,
1543
+ __y0: float,
1544
+ __x1: float,
1545
+ __y1: float,
1546
+ *,
1547
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1548
+ activefill: str = ...,
1549
+ activeoutline: str = ...,
1550
+ activeoutlinestipple: str = ...,
1551
+ activestipple: str = ...,
1552
+ activewidth: _ScreenUnits = ...,
1553
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1554
+ dashoffset: _ScreenUnits = ...,
1555
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1556
+ disabledfill: str = ...,
1557
+ disabledoutline: str = ...,
1558
+ disabledoutlinestipple: str = ...,
1559
+ disabledstipple: str = ...,
1560
+ disabledwidth: _ScreenUnits = ...,
1561
+ fill: str = ...,
1562
+ offset: _ScreenUnits = ...,
1563
+ outline: str = ...,
1564
+ outlineoffset: _ScreenUnits = ...,
1565
+ outlinestipple: str = ...,
1566
+ state: Literal["normal", "hidden", "disabled"] = ...,
1567
+ stipple: str = ...,
1568
+ tags: str | list[str] | tuple[str, ...] = ...,
1569
+ width: _ScreenUnits = ...,
1570
+ ) -> int: ...
1571
+ @overload
1572
+ def create_oval(
1573
+ self,
1574
+ __xy_pair_0: tuple[float, float],
1575
+ __xy_pair_1: tuple[float, float],
1576
+ *,
1577
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1578
+ activefill: str = ...,
1579
+ activeoutline: str = ...,
1580
+ activeoutlinestipple: str = ...,
1581
+ activestipple: str = ...,
1582
+ activewidth: _ScreenUnits = ...,
1583
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1584
+ dashoffset: _ScreenUnits = ...,
1585
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1586
+ disabledfill: str = ...,
1587
+ disabledoutline: str = ...,
1588
+ disabledoutlinestipple: str = ...,
1589
+ disabledstipple: str = ...,
1590
+ disabledwidth: _ScreenUnits = ...,
1591
+ fill: str = ...,
1592
+ offset: _ScreenUnits = ...,
1593
+ outline: str = ...,
1594
+ outlineoffset: _ScreenUnits = ...,
1595
+ outlinestipple: str = ...,
1596
+ state: Literal["normal", "hidden", "disabled"] = ...,
1597
+ stipple: str = ...,
1598
+ tags: str | list[str] | tuple[str, ...] = ...,
1599
+ width: _ScreenUnits = ...,
1600
+ ) -> int: ...
1601
+ @overload
1602
+ def create_oval(
1603
+ self,
1604
+ __coords: (
1605
+ tuple[float, float, float, float]
1606
+ | tuple[tuple[float, float], tuple[float, float]]
1607
+ | list[int]
1608
+ | list[float]
1609
+ | list[tuple[int, int]]
1610
+ | list[tuple[float, float]]
1611
+ ),
1612
+ *,
1613
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1614
+ activefill: str = ...,
1615
+ activeoutline: str = ...,
1616
+ activeoutlinestipple: str = ...,
1617
+ activestipple: str = ...,
1618
+ activewidth: _ScreenUnits = ...,
1619
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1620
+ dashoffset: _ScreenUnits = ...,
1621
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1622
+ disabledfill: str = ...,
1623
+ disabledoutline: str = ...,
1624
+ disabledoutlinestipple: str = ...,
1625
+ disabledstipple: str = ...,
1626
+ disabledwidth: _ScreenUnits = ...,
1627
+ fill: str = ...,
1628
+ offset: _ScreenUnits = ...,
1629
+ outline: str = ...,
1630
+ outlineoffset: _ScreenUnits = ...,
1631
+ outlinestipple: str = ...,
1632
+ state: Literal["normal", "hidden", "disabled"] = ...,
1633
+ stipple: str = ...,
1634
+ tags: str | list[str] | tuple[str, ...] = ...,
1635
+ width: _ScreenUnits = ...,
1636
+ ) -> int: ...
1637
+ @overload
1638
+ def create_polygon(
1639
+ self,
1640
+ __x0: float,
1641
+ __y0: float,
1642
+ __x1: float,
1643
+ __y1: float,
1644
+ *xy_pairs: float,
1645
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1646
+ activefill: str = ...,
1647
+ activeoutline: str = ...,
1648
+ activeoutlinestipple: str = ...,
1649
+ activestipple: str = ...,
1650
+ activewidth: _ScreenUnits = ...,
1651
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1652
+ dashoffset: _ScreenUnits = ...,
1653
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1654
+ disabledfill: str = ...,
1655
+ disabledoutline: str = ...,
1656
+ disabledoutlinestipple: str = ...,
1657
+ disabledstipple: str = ...,
1658
+ disabledwidth: _ScreenUnits = ...,
1659
+ fill: str = ...,
1660
+ joinstyle: Literal["round", "bevel", "miter"] = ...,
1661
+ offset: _ScreenUnits = ...,
1662
+ outline: str = ...,
1663
+ outlineoffset: _ScreenUnits = ...,
1664
+ outlinestipple: str = ...,
1665
+ smooth: bool = ...,
1666
+ splinesteps: float = ...,
1667
+ state: Literal["normal", "hidden", "disabled"] = ...,
1668
+ stipple: str = ...,
1669
+ tags: str | list[str] | tuple[str, ...] = ...,
1670
+ width: _ScreenUnits = ...,
1671
+ ) -> int: ...
1672
+ @overload
1673
+ def create_polygon(
1674
+ self,
1675
+ __xy_pair_0: tuple[float, float],
1676
+ __xy_pair_1: tuple[float, float],
1677
+ *xy_pairs: tuple[float, float],
1678
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1679
+ activefill: str = ...,
1680
+ activeoutline: str = ...,
1681
+ activeoutlinestipple: str = ...,
1682
+ activestipple: str = ...,
1683
+ activewidth: _ScreenUnits = ...,
1684
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1685
+ dashoffset: _ScreenUnits = ...,
1686
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1687
+ disabledfill: str = ...,
1688
+ disabledoutline: str = ...,
1689
+ disabledoutlinestipple: str = ...,
1690
+ disabledstipple: str = ...,
1691
+ disabledwidth: _ScreenUnits = ...,
1692
+ fill: str = ...,
1693
+ joinstyle: Literal["round", "bevel", "miter"] = ...,
1694
+ offset: _ScreenUnits = ...,
1695
+ outline: str = ...,
1696
+ outlineoffset: _ScreenUnits = ...,
1697
+ outlinestipple: str = ...,
1698
+ smooth: bool = ...,
1699
+ splinesteps: float = ...,
1700
+ state: Literal["normal", "hidden", "disabled"] = ...,
1701
+ stipple: str = ...,
1702
+ tags: str | list[str] | tuple[str, ...] = ...,
1703
+ width: _ScreenUnits = ...,
1704
+ ) -> int: ...
1705
+ @overload
1706
+ def create_polygon(
1707
+ self,
1708
+ __coords: (
1709
+ tuple[float, ...]
1710
+ | tuple[tuple[float, float], ...]
1711
+ | list[int]
1712
+ | list[float]
1713
+ | list[tuple[int, int]]
1714
+ | list[tuple[float, float]]
1715
+ ),
1716
+ *,
1717
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1718
+ activefill: str = ...,
1719
+ activeoutline: str = ...,
1720
+ activeoutlinestipple: str = ...,
1721
+ activestipple: str = ...,
1722
+ activewidth: _ScreenUnits = ...,
1723
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1724
+ dashoffset: _ScreenUnits = ...,
1725
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1726
+ disabledfill: str = ...,
1727
+ disabledoutline: str = ...,
1728
+ disabledoutlinestipple: str = ...,
1729
+ disabledstipple: str = ...,
1730
+ disabledwidth: _ScreenUnits = ...,
1731
+ fill: str = ...,
1732
+ joinstyle: Literal["round", "bevel", "miter"] = ...,
1733
+ offset: _ScreenUnits = ...,
1734
+ outline: str = ...,
1735
+ outlineoffset: _ScreenUnits = ...,
1736
+ outlinestipple: str = ...,
1737
+ smooth: bool = ...,
1738
+ splinesteps: float = ...,
1739
+ state: Literal["normal", "hidden", "disabled"] = ...,
1740
+ stipple: str = ...,
1741
+ tags: str | list[str] | tuple[str, ...] = ...,
1742
+ width: _ScreenUnits = ...,
1743
+ ) -> int: ...
1744
+ @overload
1745
+ def create_rectangle(
1746
+ self,
1747
+ __x0: float,
1748
+ __y0: float,
1749
+ __x1: float,
1750
+ __y1: float,
1751
+ *,
1752
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1753
+ activefill: str = ...,
1754
+ activeoutline: str = ...,
1755
+ activeoutlinestipple: str = ...,
1756
+ activestipple: str = ...,
1757
+ activewidth: _ScreenUnits = ...,
1758
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1759
+ dashoffset: _ScreenUnits = ...,
1760
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1761
+ disabledfill: str = ...,
1762
+ disabledoutline: str = ...,
1763
+ disabledoutlinestipple: str = ...,
1764
+ disabledstipple: str = ...,
1765
+ disabledwidth: _ScreenUnits = ...,
1766
+ fill: str = ...,
1767
+ offset: _ScreenUnits = ...,
1768
+ outline: str = ...,
1769
+ outlineoffset: _ScreenUnits = ...,
1770
+ outlinestipple: str = ...,
1771
+ state: Literal["normal", "hidden", "disabled"] = ...,
1772
+ stipple: str = ...,
1773
+ tags: str | list[str] | tuple[str, ...] = ...,
1774
+ width: _ScreenUnits = ...,
1775
+ ) -> int: ...
1776
+ @overload
1777
+ def create_rectangle(
1778
+ self,
1779
+ __xy_pair_0: tuple[float, float],
1780
+ __xy_pair_1: tuple[float, float],
1781
+ *,
1782
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1783
+ activefill: str = ...,
1784
+ activeoutline: str = ...,
1785
+ activeoutlinestipple: str = ...,
1786
+ activestipple: str = ...,
1787
+ activewidth: _ScreenUnits = ...,
1788
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1789
+ dashoffset: _ScreenUnits = ...,
1790
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1791
+ disabledfill: str = ...,
1792
+ disabledoutline: str = ...,
1793
+ disabledoutlinestipple: str = ...,
1794
+ disabledstipple: str = ...,
1795
+ disabledwidth: _ScreenUnits = ...,
1796
+ fill: str = ...,
1797
+ offset: _ScreenUnits = ...,
1798
+ outline: str = ...,
1799
+ outlineoffset: _ScreenUnits = ...,
1800
+ outlinestipple: str = ...,
1801
+ state: Literal["normal", "hidden", "disabled"] = ...,
1802
+ stipple: str = ...,
1803
+ tags: str | list[str] | tuple[str, ...] = ...,
1804
+ width: _ScreenUnits = ...,
1805
+ ) -> int: ...
1806
+ @overload
1807
+ def create_rectangle(
1808
+ self,
1809
+ __coords: (
1810
+ tuple[float, float, float, float]
1811
+ | tuple[tuple[float, float], tuple[float, float]]
1812
+ | list[int]
1813
+ | list[float]
1814
+ | list[tuple[int, int]]
1815
+ | list[tuple[float, float]]
1816
+ ),
1817
+ *,
1818
+ activedash: str | int | list[int] | tuple[int, ...] = ...,
1819
+ activefill: str = ...,
1820
+ activeoutline: str = ...,
1821
+ activeoutlinestipple: str = ...,
1822
+ activestipple: str = ...,
1823
+ activewidth: _ScreenUnits = ...,
1824
+ dash: str | int | list[int] | tuple[int, ...] = ...,
1825
+ dashoffset: _ScreenUnits = ...,
1826
+ disableddash: str | int | list[int] | tuple[int, ...] = ...,
1827
+ disabledfill: str = ...,
1828
+ disabledoutline: str = ...,
1829
+ disabledoutlinestipple: str = ...,
1830
+ disabledstipple: str = ...,
1831
+ disabledwidth: _ScreenUnits = ...,
1832
+ fill: str = ...,
1833
+ offset: _ScreenUnits = ...,
1834
+ outline: str = ...,
1835
+ outlineoffset: _ScreenUnits = ...,
1836
+ outlinestipple: str = ...,
1837
+ state: Literal["normal", "hidden", "disabled"] = ...,
1838
+ stipple: str = ...,
1839
+ tags: str | list[str] | tuple[str, ...] = ...,
1840
+ width: _ScreenUnits = ...,
1841
+ ) -> int: ...
1842
+ @overload
1843
+ def create_text(
1844
+ self,
1845
+ __x: float,
1846
+ __y: float,
1847
+ *,
1848
+ activefill: str = ...,
1849
+ activestipple: str = ...,
1850
+ anchor: _Anchor = ...,
1851
+ angle: float | str = ...,
1852
+ disabledfill: str = ...,
1853
+ disabledstipple: str = ...,
1854
+ fill: str = ...,
1855
+ font: _FontDescription = ...,
1856
+ justify: Literal["left", "center", "right"] = ...,
1857
+ offset: _ScreenUnits = ...,
1858
+ state: Literal["normal", "hidden", "disabled"] = ...,
1859
+ stipple: str = ...,
1860
+ tags: str | list[str] | tuple[str, ...] = ...,
1861
+ text: float | str = ...,
1862
+ width: _ScreenUnits = ...,
1863
+ ) -> int: ...
1864
+ @overload
1865
+ def create_text(
1866
+ self,
1867
+ __coords: tuple[float, float] | list[int] | list[float],
1868
+ *,
1869
+ activefill: str = ...,
1870
+ activestipple: str = ...,
1871
+ anchor: _Anchor = ...,
1872
+ angle: float | str = ...,
1873
+ disabledfill: str = ...,
1874
+ disabledstipple: str = ...,
1875
+ fill: str = ...,
1876
+ font: _FontDescription = ...,
1877
+ justify: Literal["left", "center", "right"] = ...,
1878
+ offset: _ScreenUnits = ...,
1879
+ state: Literal["normal", "hidden", "disabled"] = ...,
1880
+ stipple: str = ...,
1881
+ tags: str | list[str] | tuple[str, ...] = ...,
1882
+ text: float | str = ...,
1883
+ width: _ScreenUnits = ...,
1884
+ ) -> int: ...
1885
+ @overload
1886
+ def create_window(
1887
+ self,
1888
+ __x: float,
1889
+ __y: float,
1890
+ *,
1891
+ anchor: _Anchor = ...,
1892
+ height: _ScreenUnits = ...,
1893
+ state: Literal["normal", "hidden", "disabled"] = ...,
1894
+ tags: str | list[str] | tuple[str, ...] = ...,
1895
+ width: _ScreenUnits = ...,
1896
+ window: Widget = ...,
1897
+ ) -> int: ...
1898
+ @overload
1899
+ def create_window(
1900
+ self,
1901
+ __coords: tuple[float, float] | list[int] | list[float],
1902
+ *,
1903
+ anchor: _Anchor = ...,
1904
+ height: _ScreenUnits = ...,
1905
+ state: Literal["normal", "hidden", "disabled"] = ...,
1906
+ tags: str | list[str] | tuple[str, ...] = ...,
1907
+ width: _ScreenUnits = ...,
1908
+ window: Widget = ...,
1909
+ ) -> int: ...
1910
+ def dchars(self, *args) -> None: ...
1911
+ def delete(self, *tagsOrCanvasIds: str | int) -> None: ...
1912
+ @overload
1913
+ def dtag(self, __tag: str, __tag_to_delete: str | None = ...) -> None: ...
1914
+ @overload
1915
+ def dtag(self, __id: int, __tag_to_delete: str) -> None: ...
1916
+ def focus(self, *args): ...
1917
+ def gettags(self, __tagOrId: str | int) -> tuple[str, ...]: ...
1918
+ def icursor(self, *args) -> None: ...
1919
+ def index(self, *args): ...
1920
+ def insert(self, *args) -> None: ...
1921
+ def itemcget(self, tagOrId, option): ...
1922
+ # itemconfigure kwargs depend on item type, which is not known when type checking
1923
+ def itemconfigure(
1924
+ self, tagOrId: str | int, cnf: dict[str, Any] | None = None, **kw: Any
1925
+ ) -> dict[str, tuple[str, str, str, str, str]] | None: ...
1926
+ itemconfig = itemconfigure
1927
+ def move(self, *args) -> None: ...
1928
+ def moveto(
1929
+ self,
1930
+ tagOrId: str | int,
1931
+ x: Literal[""] | float = "",
1932
+ y: Literal[""] | float = "",
1933
+ ) -> None: ...
1934
+ def postscript(self, cnf={}, **kw): ...
1935
+ # tkinter does:
1936
+ # lower = tag_lower
1937
+ # lift = tkraise = tag_raise
1938
+ #
1939
+ # But mypy doesn't like aliasing here (maybe because Misc defines the same names)
1940
+ def tag_lower(
1941
+ self, __first: str | int, __second: str | int | None = ...
1942
+ ) -> None: ...
1943
+ def lower(self, __first: str | int, __second: str | int | None = ...) -> None: ... # type: ignore[override]
1944
+ def tag_raise(
1945
+ self, __first: str | int, __second: str | int | None = ...
1946
+ ) -> None: ...
1947
+ def tkraise(self, __first: str | int, __second: str | int | None = ...) -> None: ... # type: ignore[override]
1948
+ def lift(self, __first: str | int, __second: str | int | None = ...) -> None: ... # type: ignore[override]
1949
+ def scale(self, *args) -> None: ...
1950
+ def scan_mark(self, x, y) -> None: ...
1951
+ def scan_dragto(self, x, y, gain: int = 10) -> None: ...
1952
+ def select_adjust(self, tagOrId, index) -> None: ...
1953
+ def select_clear(self) -> None: ...
1954
+ def select_from(self, tagOrId, index) -> None: ...
1955
+ def select_item(self): ...
1956
+ def select_to(self, tagOrId, index) -> None: ...
1957
+ def type(self, tagOrId): ...
1958
+
1959
+ class Checkbutton(Widget):
1960
+ def __init__(
1961
+ self,
1962
+ master: Misc | None = None,
1963
+ cnf: dict[str, Any] | None = {},
1964
+ *,
1965
+ activebackground: str = ...,
1966
+ activeforeground: str = ...,
1967
+ anchor: _Anchor = ...,
1968
+ background: str = ...,
1969
+ bd: _ScreenUnits = ...,
1970
+ bg: str = ...,
1971
+ bitmap: str = ...,
1972
+ border: _ScreenUnits = ...,
1973
+ borderwidth: _ScreenUnits = ...,
1974
+ command: _ButtonCommand = ...,
1975
+ compound: _Compound = ...,
1976
+ cursor: _Cursor = ...,
1977
+ disabledforeground: str = ...,
1978
+ fg: str = ...,
1979
+ font: _FontDescription = ...,
1980
+ foreground: str = ...,
1981
+ height: _ScreenUnits = ...,
1982
+ highlightbackground: str = ...,
1983
+ highlightcolor: str = ...,
1984
+ highlightthickness: _ScreenUnits = ...,
1985
+ image: _ImageSpec = ...,
1986
+ indicatoron: bool = ...,
1987
+ justify: Literal["left", "center", "right"] = ...,
1988
+ name: str = ...,
1989
+ offrelief: _Relief = ...,
1990
+ # The checkbutton puts a value to its variable when it's checked or
1991
+ # unchecked. We don't restrict the type of that value here, so
1992
+ # Any-typing is fine.
1993
+ #
1994
+ # I think Checkbutton shouldn't be generic, because then specifying
1995
+ # "any checkbutton regardless of what variable it uses" would be
1996
+ # difficult, and we might run into issues just like how list[float]
1997
+ # and list[int] are incompatible. Also, we would need a way to
1998
+ # specify "Checkbutton not associated with any variable", which is
1999
+ # done by setting variable to empty string (the default).
2000
+ offvalue: Any = ...,
2001
+ onvalue: Any = ...,
2002
+ overrelief: _Relief = ...,
2003
+ padx: _ScreenUnits = ...,
2004
+ pady: _ScreenUnits = ...,
2005
+ relief: _Relief = ...,
2006
+ selectcolor: str = ...,
2007
+ selectimage: _ImageSpec = ...,
2008
+ state: Literal["normal", "active", "disabled"] = ...,
2009
+ takefocus: _TakeFocusValue = ...,
2010
+ text: float | str = ...,
2011
+ textvariable: Variable = ...,
2012
+ tristateimage: _ImageSpec = ...,
2013
+ tristatevalue: Any = ...,
2014
+ underline: int = ...,
2015
+ variable: Variable | Literal[""] = ...,
2016
+ width: _ScreenUnits = ...,
2017
+ wraplength: _ScreenUnits = ...,
2018
+ ) -> None: ...
2019
+ @overload
2020
+ def configure(
2021
+ self,
2022
+ cnf: dict[str, Any] | None = None,
2023
+ *,
2024
+ activebackground: str = ...,
2025
+ activeforeground: str = ...,
2026
+ anchor: _Anchor = ...,
2027
+ background: str = ...,
2028
+ bd: _ScreenUnits = ...,
2029
+ bg: str = ...,
2030
+ bitmap: str = ...,
2031
+ border: _ScreenUnits = ...,
2032
+ borderwidth: _ScreenUnits = ...,
2033
+ command: _ButtonCommand = ...,
2034
+ compound: _Compound = ...,
2035
+ cursor: _Cursor = ...,
2036
+ disabledforeground: str = ...,
2037
+ fg: str = ...,
2038
+ font: _FontDescription = ...,
2039
+ foreground: str = ...,
2040
+ height: _ScreenUnits = ...,
2041
+ highlightbackground: str = ...,
2042
+ highlightcolor: str = ...,
2043
+ highlightthickness: _ScreenUnits = ...,
2044
+ image: _ImageSpec = ...,
2045
+ indicatoron: bool = ...,
2046
+ justify: Literal["left", "center", "right"] = ...,
2047
+ offrelief: _Relief = ...,
2048
+ offvalue: Any = ...,
2049
+ onvalue: Any = ...,
2050
+ overrelief: _Relief = ...,
2051
+ padx: _ScreenUnits = ...,
2052
+ pady: _ScreenUnits = ...,
2053
+ relief: _Relief = ...,
2054
+ selectcolor: str = ...,
2055
+ selectimage: _ImageSpec = ...,
2056
+ state: Literal["normal", "active", "disabled"] = ...,
2057
+ takefocus: _TakeFocusValue = ...,
2058
+ text: float | str = ...,
2059
+ textvariable: Variable = ...,
2060
+ tristateimage: _ImageSpec = ...,
2061
+ tristatevalue: Any = ...,
2062
+ underline: int = ...,
2063
+ variable: Variable | Literal[""] = ...,
2064
+ width: _ScreenUnits = ...,
2065
+ wraplength: _ScreenUnits = ...,
2066
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2067
+ @overload
2068
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2069
+ config = configure
2070
+ def deselect(self) -> None: ...
2071
+ def flash(self) -> None: ...
2072
+ def invoke(self) -> Any: ...
2073
+ def select(self) -> None: ...
2074
+ def toggle(self) -> None: ...
2075
+
2076
+ _EntryIndex: TypeAlias = str | int # "INDICES" in manual page
2077
+
2078
+ class Entry(Widget, XView):
2079
+ def __init__(
2080
+ self,
2081
+ master: Misc | None = None,
2082
+ cnf: dict[str, Any] | None = {},
2083
+ *,
2084
+ background: str = ...,
2085
+ bd: _ScreenUnits = ...,
2086
+ bg: str = ...,
2087
+ border: _ScreenUnits = ...,
2088
+ borderwidth: _ScreenUnits = ...,
2089
+ cursor: _Cursor = ...,
2090
+ disabledbackground: str = ...,
2091
+ disabledforeground: str = ...,
2092
+ exportselection: bool = ...,
2093
+ fg: str = ...,
2094
+ font: _FontDescription = ...,
2095
+ foreground: str = ...,
2096
+ highlightbackground: str = ...,
2097
+ highlightcolor: str = ...,
2098
+ highlightthickness: _ScreenUnits = ...,
2099
+ insertbackground: str = ...,
2100
+ insertborderwidth: _ScreenUnits = ...,
2101
+ insertofftime: int = ...,
2102
+ insertontime: int = ...,
2103
+ insertwidth: _ScreenUnits = ...,
2104
+ invalidcommand: _EntryValidateCommand = ...,
2105
+ invcmd: _EntryValidateCommand = ..., # same as invalidcommand
2106
+ justify: Literal["left", "center", "right"] = ...,
2107
+ name: str = ...,
2108
+ readonlybackground: str = ...,
2109
+ relief: _Relief = ...,
2110
+ selectbackground: str = ...,
2111
+ selectborderwidth: _ScreenUnits = ...,
2112
+ selectforeground: str = ...,
2113
+ show: str = ...,
2114
+ state: Literal["normal", "disabled", "readonly"] = ...,
2115
+ takefocus: _TakeFocusValue = ...,
2116
+ textvariable: Variable = ...,
2117
+ validate: Literal["none", "focus", "focusin", "focusout", "key", "all"] = ...,
2118
+ validatecommand: _EntryValidateCommand = ...,
2119
+ vcmd: _EntryValidateCommand = ..., # same as validatecommand
2120
+ width: int = ...,
2121
+ xscrollcommand: _XYScrollCommand = ...,
2122
+ ) -> None: ...
2123
+ @overload
2124
+ def configure(
2125
+ self,
2126
+ cnf: dict[str, Any] | None = None,
2127
+ *,
2128
+ background: str = ...,
2129
+ bd: _ScreenUnits = ...,
2130
+ bg: str = ...,
2131
+ border: _ScreenUnits = ...,
2132
+ borderwidth: _ScreenUnits = ...,
2133
+ cursor: _Cursor = ...,
2134
+ disabledbackground: str = ...,
2135
+ disabledforeground: str = ...,
2136
+ exportselection: bool = ...,
2137
+ fg: str = ...,
2138
+ font: _FontDescription = ...,
2139
+ foreground: str = ...,
2140
+ highlightbackground: str = ...,
2141
+ highlightcolor: str = ...,
2142
+ highlightthickness: _ScreenUnits = ...,
2143
+ insertbackground: str = ...,
2144
+ insertborderwidth: _ScreenUnits = ...,
2145
+ insertofftime: int = ...,
2146
+ insertontime: int = ...,
2147
+ insertwidth: _ScreenUnits = ...,
2148
+ invalidcommand: _EntryValidateCommand = ...,
2149
+ invcmd: _EntryValidateCommand = ...,
2150
+ justify: Literal["left", "center", "right"] = ...,
2151
+ readonlybackground: str = ...,
2152
+ relief: _Relief = ...,
2153
+ selectbackground: str = ...,
2154
+ selectborderwidth: _ScreenUnits = ...,
2155
+ selectforeground: str = ...,
2156
+ show: str = ...,
2157
+ state: Literal["normal", "disabled", "readonly"] = ...,
2158
+ takefocus: _TakeFocusValue = ...,
2159
+ textvariable: Variable = ...,
2160
+ validate: Literal["none", "focus", "focusin", "focusout", "key", "all"] = ...,
2161
+ validatecommand: _EntryValidateCommand = ...,
2162
+ vcmd: _EntryValidateCommand = ...,
2163
+ width: int = ...,
2164
+ xscrollcommand: _XYScrollCommand = ...,
2165
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2166
+ @overload
2167
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2168
+ config = configure
2169
+ def delete(self, first: _EntryIndex, last: _EntryIndex | None = None) -> None: ...
2170
+ def get(self) -> str: ...
2171
+ def icursor(self, index: _EntryIndex) -> None: ...
2172
+ def index(self, index: _EntryIndex) -> int: ...
2173
+ def insert(self, index: _EntryIndex, string: str) -> None: ...
2174
+ def scan_mark(self, x) -> None: ...
2175
+ def scan_dragto(self, x) -> None: ...
2176
+ def selection_adjust(self, index: _EntryIndex) -> None: ...
2177
+ def selection_clear(self) -> None: ... # type: ignore[override]
2178
+ def selection_from(self, index: _EntryIndex) -> None: ...
2179
+ def selection_present(self) -> bool: ...
2180
+ def selection_range(self, start: _EntryIndex, end: _EntryIndex) -> None: ...
2181
+ def selection_to(self, index: _EntryIndex) -> None: ...
2182
+ select_adjust = selection_adjust
2183
+ select_clear = selection_clear
2184
+ select_from = selection_from
2185
+ select_present = selection_present
2186
+ select_range = selection_range
2187
+ select_to = selection_to
2188
+
2189
+ class Frame(Widget):
2190
+ def __init__(
2191
+ self,
2192
+ master: Misc | None = None,
2193
+ cnf: dict[str, Any] | None = {},
2194
+ *,
2195
+ background: str = ...,
2196
+ bd: _ScreenUnits = ...,
2197
+ bg: str = ...,
2198
+ border: _ScreenUnits = ...,
2199
+ borderwidth: _ScreenUnits = ...,
2200
+ class_: str = ..., # can't be changed with configure()
2201
+ colormap: Literal["new", ""] | Misc = ..., # can't be changed with configure()
2202
+ container: bool = ..., # can't be changed with configure()
2203
+ cursor: _Cursor = ...,
2204
+ height: _ScreenUnits = ...,
2205
+ highlightbackground: str = ...,
2206
+ highlightcolor: str = ...,
2207
+ highlightthickness: _ScreenUnits = ...,
2208
+ name: str = ...,
2209
+ padx: _ScreenUnits = ...,
2210
+ pady: _ScreenUnits = ...,
2211
+ relief: _Relief = ...,
2212
+ takefocus: _TakeFocusValue = ...,
2213
+ visual: str | tuple[str, int] = ..., # can't be changed with configure()
2214
+ width: _ScreenUnits = ...,
2215
+ ) -> None: ...
2216
+ @overload
2217
+ def configure(
2218
+ self,
2219
+ cnf: dict[str, Any] | None = None,
2220
+ *,
2221
+ background: str = ...,
2222
+ bd: _ScreenUnits = ...,
2223
+ bg: str = ...,
2224
+ border: _ScreenUnits = ...,
2225
+ borderwidth: _ScreenUnits = ...,
2226
+ cursor: _Cursor = ...,
2227
+ height: _ScreenUnits = ...,
2228
+ highlightbackground: str = ...,
2229
+ highlightcolor: str = ...,
2230
+ highlightthickness: _ScreenUnits = ...,
2231
+ padx: _ScreenUnits = ...,
2232
+ pady: _ScreenUnits = ...,
2233
+ relief: _Relief = ...,
2234
+ takefocus: _TakeFocusValue = ...,
2235
+ width: _ScreenUnits = ...,
2236
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2237
+ @overload
2238
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2239
+ config = configure
2240
+
2241
+ class Label(Widget):
2242
+ def __init__(
2243
+ self,
2244
+ master: Misc | None = None,
2245
+ cnf: dict[str, Any] | None = {},
2246
+ *,
2247
+ activebackground: str = ...,
2248
+ activeforeground: str = ...,
2249
+ anchor: _Anchor = ...,
2250
+ background: str = ...,
2251
+ bd: _ScreenUnits = ...,
2252
+ bg: str = ...,
2253
+ bitmap: str = ...,
2254
+ border: _ScreenUnits = ...,
2255
+ borderwidth: _ScreenUnits = ...,
2256
+ compound: _Compound = ...,
2257
+ cursor: _Cursor = ...,
2258
+ disabledforeground: str = ...,
2259
+ fg: str = ...,
2260
+ font: _FontDescription = ...,
2261
+ foreground: str = ...,
2262
+ height: _ScreenUnits = ...,
2263
+ highlightbackground: str = ...,
2264
+ highlightcolor: str = ...,
2265
+ highlightthickness: _ScreenUnits = ...,
2266
+ image: _ImageSpec = ...,
2267
+ justify: Literal["left", "center", "right"] = ...,
2268
+ name: str = ...,
2269
+ padx: _ScreenUnits = ...,
2270
+ pady: _ScreenUnits = ...,
2271
+ relief: _Relief = ...,
2272
+ state: Literal["normal", "active", "disabled"] = ...,
2273
+ takefocus: _TakeFocusValue = ...,
2274
+ text: float | str = ...,
2275
+ textvariable: Variable = ...,
2276
+ underline: int = ...,
2277
+ width: _ScreenUnits = ...,
2278
+ wraplength: _ScreenUnits = ...,
2279
+ ) -> None: ...
2280
+ @overload
2281
+ def configure(
2282
+ self,
2283
+ cnf: dict[str, Any] | None = None,
2284
+ *,
2285
+ activebackground: str = ...,
2286
+ activeforeground: str = ...,
2287
+ anchor: _Anchor = ...,
2288
+ background: str = ...,
2289
+ bd: _ScreenUnits = ...,
2290
+ bg: str = ...,
2291
+ bitmap: str = ...,
2292
+ border: _ScreenUnits = ...,
2293
+ borderwidth: _ScreenUnits = ...,
2294
+ compound: _Compound = ...,
2295
+ cursor: _Cursor = ...,
2296
+ disabledforeground: str = ...,
2297
+ fg: str = ...,
2298
+ font: _FontDescription = ...,
2299
+ foreground: str = ...,
2300
+ height: _ScreenUnits = ...,
2301
+ highlightbackground: str = ...,
2302
+ highlightcolor: str = ...,
2303
+ highlightthickness: _ScreenUnits = ...,
2304
+ image: _ImageSpec = ...,
2305
+ justify: Literal["left", "center", "right"] = ...,
2306
+ padx: _ScreenUnits = ...,
2307
+ pady: _ScreenUnits = ...,
2308
+ relief: _Relief = ...,
2309
+ state: Literal["normal", "active", "disabled"] = ...,
2310
+ takefocus: _TakeFocusValue = ...,
2311
+ text: float | str = ...,
2312
+ textvariable: Variable = ...,
2313
+ underline: int = ...,
2314
+ width: _ScreenUnits = ...,
2315
+ wraplength: _ScreenUnits = ...,
2316
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2317
+ @overload
2318
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2319
+ config = configure
2320
+
2321
+ class Listbox(Widget, XView, YView):
2322
+ def __init__(
2323
+ self,
2324
+ master: Misc | None = None,
2325
+ cnf: dict[str, Any] | None = {},
2326
+ *,
2327
+ activestyle: Literal["dotbox", "none", "underline"] = ...,
2328
+ background: str = ...,
2329
+ bd: _ScreenUnits = ...,
2330
+ bg: str = ...,
2331
+ border: _ScreenUnits = ...,
2332
+ borderwidth: _ScreenUnits = ...,
2333
+ cursor: _Cursor = ...,
2334
+ disabledforeground: str = ...,
2335
+ exportselection: int = ...,
2336
+ fg: str = ...,
2337
+ font: _FontDescription = ...,
2338
+ foreground: str = ...,
2339
+ height: int = ...,
2340
+ highlightbackground: str = ...,
2341
+ highlightcolor: str = ...,
2342
+ highlightthickness: _ScreenUnits = ...,
2343
+ justify: Literal["left", "center", "right"] = ...,
2344
+ # There's no tkinter.ListVar, but seems like bare tkinter.Variable
2345
+ # actually works for this:
2346
+ #
2347
+ # >>> import tkinter
2348
+ # >>> lb = tkinter.Listbox()
2349
+ # >>> var = lb['listvariable'] = tkinter.Variable()
2350
+ # >>> var.set(['foo', 'bar', 'baz'])
2351
+ # >>> lb.get(0, 'end')
2352
+ # ('foo', 'bar', 'baz')
2353
+ listvariable: Variable = ...,
2354
+ name: str = ...,
2355
+ relief: _Relief = ...,
2356
+ selectbackground: str = ...,
2357
+ selectborderwidth: _ScreenUnits = ...,
2358
+ selectforeground: str = ...,
2359
+ # from listbox man page: "The value of the [selectmode] option may be
2360
+ # arbitrary, but the default bindings expect it to be ..."
2361
+ #
2362
+ # I have never seen anyone setting this to something else than what
2363
+ # "the default bindings expect", but let's support it anyway.
2364
+ selectmode: str = ...,
2365
+ setgrid: bool = ...,
2366
+ state: Literal["normal", "disabled"] = ...,
2367
+ takefocus: _TakeFocusValue = ...,
2368
+ width: int = ...,
2369
+ xscrollcommand: _XYScrollCommand = ...,
2370
+ yscrollcommand: _XYScrollCommand = ...,
2371
+ ) -> None: ...
2372
+ @overload
2373
+ def configure(
2374
+ self,
2375
+ cnf: dict[str, Any] | None = None,
2376
+ *,
2377
+ activestyle: Literal["dotbox", "none", "underline"] = ...,
2378
+ background: str = ...,
2379
+ bd: _ScreenUnits = ...,
2380
+ bg: str = ...,
2381
+ border: _ScreenUnits = ...,
2382
+ borderwidth: _ScreenUnits = ...,
2383
+ cursor: _Cursor = ...,
2384
+ disabledforeground: str = ...,
2385
+ exportselection: bool = ...,
2386
+ fg: str = ...,
2387
+ font: _FontDescription = ...,
2388
+ foreground: str = ...,
2389
+ height: int = ...,
2390
+ highlightbackground: str = ...,
2391
+ highlightcolor: str = ...,
2392
+ highlightthickness: _ScreenUnits = ...,
2393
+ justify: Literal["left", "center", "right"] = ...,
2394
+ listvariable: Variable = ...,
2395
+ relief: _Relief = ...,
2396
+ selectbackground: str = ...,
2397
+ selectborderwidth: _ScreenUnits = ...,
2398
+ selectforeground: str = ...,
2399
+ selectmode: str = ...,
2400
+ setgrid: bool = ...,
2401
+ state: Literal["normal", "disabled"] = ...,
2402
+ takefocus: _TakeFocusValue = ...,
2403
+ width: int = ...,
2404
+ xscrollcommand: _XYScrollCommand = ...,
2405
+ yscrollcommand: _XYScrollCommand = ...,
2406
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2407
+ @overload
2408
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2409
+ config = configure
2410
+ def activate(self, index: str | int) -> None: ...
2411
+ def bbox(self, index: str | int) -> tuple[int, int, int, int] | None: ... # type: ignore[override]
2412
+ def curselection(self): ...
2413
+ def delete(self, first: str | int, last: str | int | None = None) -> None: ...
2414
+ def get(self, first: str | int, last: str | int | None = None): ...
2415
+ def index(self, index: str | int) -> int: ...
2416
+ def insert(self, index: str | int, *elements: str | float) -> None: ...
2417
+ def nearest(self, y): ...
2418
+ def scan_mark(self, x, y) -> None: ...
2419
+ def scan_dragto(self, x, y) -> None: ...
2420
+ def see(self, index: str | int) -> None: ...
2421
+ def selection_anchor(self, index: str | int) -> None: ...
2422
+ select_anchor = selection_anchor
2423
+ def selection_clear(self, first: str | int, last: str | int | None = None) -> None: ... # type: ignore[override]
2424
+ select_clear = selection_clear
2425
+ def selection_includes(self, index: str | int): ...
2426
+ select_includes = selection_includes
2427
+ def selection_set(
2428
+ self, first: str | int, last: str | int | None = None
2429
+ ) -> None: ...
2430
+ select_set = selection_set
2431
+ def size(self) -> int: ... # type: ignore[override]
2432
+ def itemcget(self, index: str | int, option): ...
2433
+ def itemconfigure(self, index: str | int, cnf: Incomplete | None = None, **kw): ...
2434
+ itemconfig = itemconfigure
2435
+
2436
+ class Menu(Widget):
2437
+ def __init__(
2438
+ self,
2439
+ master: Misc | None = None,
2440
+ cnf: dict[str, Any] | None = {},
2441
+ *,
2442
+ activebackground: str = ...,
2443
+ activeborderwidth: _ScreenUnits = ...,
2444
+ activeforeground: str = ...,
2445
+ background: str = ...,
2446
+ bd: _ScreenUnits = ...,
2447
+ bg: str = ...,
2448
+ border: _ScreenUnits = ...,
2449
+ borderwidth: _ScreenUnits = ...,
2450
+ cursor: _Cursor = ...,
2451
+ disabledforeground: str = ...,
2452
+ fg: str = ...,
2453
+ font: _FontDescription = ...,
2454
+ foreground: str = ...,
2455
+ name: str = ...,
2456
+ postcommand: Callable[[], object] | str = ...,
2457
+ relief: _Relief = ...,
2458
+ selectcolor: str = ...,
2459
+ takefocus: _TakeFocusValue = ...,
2460
+ tearoff: int = ...,
2461
+ # I guess tearoffcommand arguments are supposed to be widget objects,
2462
+ # but they are widget name strings. Use nametowidget() to handle the
2463
+ # arguments of tearoffcommand.
2464
+ tearoffcommand: Callable[[str, str], object] | str = ...,
2465
+ title: str = ...,
2466
+ type: Literal["menubar", "tearoff", "normal"] = ...,
2467
+ ) -> None: ...
2468
+ @overload
2469
+ def configure(
2470
+ self,
2471
+ cnf: dict[str, Any] | None = None,
2472
+ *,
2473
+ activebackground: str = ...,
2474
+ activeborderwidth: _ScreenUnits = ...,
2475
+ activeforeground: str = ...,
2476
+ background: str = ...,
2477
+ bd: _ScreenUnits = ...,
2478
+ bg: str = ...,
2479
+ border: _ScreenUnits = ...,
2480
+ borderwidth: _ScreenUnits = ...,
2481
+ cursor: _Cursor = ...,
2482
+ disabledforeground: str = ...,
2483
+ fg: str = ...,
2484
+ font: _FontDescription = ...,
2485
+ foreground: str = ...,
2486
+ postcommand: Callable[[], object] | str = ...,
2487
+ relief: _Relief = ...,
2488
+ selectcolor: str = ...,
2489
+ takefocus: _TakeFocusValue = ...,
2490
+ tearoff: bool = ...,
2491
+ tearoffcommand: Callable[[str, str], object] | str = ...,
2492
+ title: str = ...,
2493
+ type: Literal["menubar", "tearoff", "normal"] = ...,
2494
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2495
+ @overload
2496
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2497
+ config = configure
2498
+ def tk_popup(self, x: int, y: int, entry: str | int = "") -> None: ...
2499
+ def activate(self, index: str | int) -> None: ...
2500
+ def add(self, itemType, cnf={}, **kw): ... # docstring says "Internal function."
2501
+ def insert(
2502
+ self, index, itemType, cnf={}, **kw
2503
+ ): ... # docstring says "Internal function."
2504
+ def add_cascade(
2505
+ self,
2506
+ cnf: dict[str, Any] | None = {},
2507
+ *,
2508
+ accelerator: str = ...,
2509
+ activebackground: str = ...,
2510
+ activeforeground: str = ...,
2511
+ background: str = ...,
2512
+ bitmap: str = ...,
2513
+ columnbreak: int = ...,
2514
+ command: Callable[[], object] | str = ...,
2515
+ compound: _Compound = ...,
2516
+ font: _FontDescription = ...,
2517
+ foreground: str = ...,
2518
+ hidemargin: bool = ...,
2519
+ image: _ImageSpec = ...,
2520
+ label: str = ...,
2521
+ menu: Menu = ...,
2522
+ state: Literal["normal", "active", "disabled"] = ...,
2523
+ underline: int = ...,
2524
+ ) -> None: ...
2525
+ def add_checkbutton(
2526
+ self,
2527
+ cnf: dict[str, Any] | None = {},
2528
+ *,
2529
+ accelerator: str = ...,
2530
+ activebackground: str = ...,
2531
+ activeforeground: str = ...,
2532
+ background: str = ...,
2533
+ bitmap: str = ...,
2534
+ columnbreak: int = ...,
2535
+ command: Callable[[], object] | str = ...,
2536
+ compound: _Compound = ...,
2537
+ font: _FontDescription = ...,
2538
+ foreground: str = ...,
2539
+ hidemargin: bool = ...,
2540
+ image: _ImageSpec = ...,
2541
+ indicatoron: bool = ...,
2542
+ label: str = ...,
2543
+ offvalue: Any = ...,
2544
+ onvalue: Any = ...,
2545
+ selectcolor: str = ...,
2546
+ selectimage: _ImageSpec = ...,
2547
+ state: Literal["normal", "active", "disabled"] = ...,
2548
+ underline: int = ...,
2549
+ variable: Variable = ...,
2550
+ ) -> None: ...
2551
+ def add_command(
2552
+ self,
2553
+ cnf: dict[str, Any] | None = {},
2554
+ *,
2555
+ accelerator: str = ...,
2556
+ activebackground: str = ...,
2557
+ activeforeground: str = ...,
2558
+ background: str = ...,
2559
+ bitmap: str = ...,
2560
+ columnbreak: int = ...,
2561
+ command: Callable[[], object] | str = ...,
2562
+ compound: _Compound = ...,
2563
+ font: _FontDescription = ...,
2564
+ foreground: str = ...,
2565
+ hidemargin: bool = ...,
2566
+ image: _ImageSpec = ...,
2567
+ label: str = ...,
2568
+ state: Literal["normal", "active", "disabled"] = ...,
2569
+ underline: int = ...,
2570
+ ) -> None: ...
2571
+ def add_radiobutton(
2572
+ self,
2573
+ cnf: dict[str, Any] | None = {},
2574
+ *,
2575
+ accelerator: str = ...,
2576
+ activebackground: str = ...,
2577
+ activeforeground: str = ...,
2578
+ background: str = ...,
2579
+ bitmap: str = ...,
2580
+ columnbreak: int = ...,
2581
+ command: Callable[[], object] | str = ...,
2582
+ compound: _Compound = ...,
2583
+ font: _FontDescription = ...,
2584
+ foreground: str = ...,
2585
+ hidemargin: bool = ...,
2586
+ image: _ImageSpec = ...,
2587
+ indicatoron: bool = ...,
2588
+ label: str = ...,
2589
+ selectcolor: str = ...,
2590
+ selectimage: _ImageSpec = ...,
2591
+ state: Literal["normal", "active", "disabled"] = ...,
2592
+ underline: int = ...,
2593
+ value: Any = ...,
2594
+ variable: Variable = ...,
2595
+ ) -> None: ...
2596
+ def add_separator(
2597
+ self, cnf: dict[str, Any] | None = {}, *, background: str = ...
2598
+ ) -> None: ...
2599
+ def insert_cascade(
2600
+ self,
2601
+ index: str | int,
2602
+ cnf: dict[str, Any] | None = {},
2603
+ *,
2604
+ accelerator: str = ...,
2605
+ activebackground: str = ...,
2606
+ activeforeground: str = ...,
2607
+ background: str = ...,
2608
+ bitmap: str = ...,
2609
+ columnbreak: int = ...,
2610
+ command: Callable[[], object] | str = ...,
2611
+ compound: _Compound = ...,
2612
+ font: _FontDescription = ...,
2613
+ foreground: str = ...,
2614
+ hidemargin: bool = ...,
2615
+ image: _ImageSpec = ...,
2616
+ label: str = ...,
2617
+ menu: Menu = ...,
2618
+ state: Literal["normal", "active", "disabled"] = ...,
2619
+ underline: int = ...,
2620
+ ) -> None: ...
2621
+ def insert_checkbutton(
2622
+ self,
2623
+ index: str | int,
2624
+ cnf: dict[str, Any] | None = {},
2625
+ *,
2626
+ accelerator: str = ...,
2627
+ activebackground: str = ...,
2628
+ activeforeground: str = ...,
2629
+ background: str = ...,
2630
+ bitmap: str = ...,
2631
+ columnbreak: int = ...,
2632
+ command: Callable[[], object] | str = ...,
2633
+ compound: _Compound = ...,
2634
+ font: _FontDescription = ...,
2635
+ foreground: str = ...,
2636
+ hidemargin: bool = ...,
2637
+ image: _ImageSpec = ...,
2638
+ indicatoron: bool = ...,
2639
+ label: str = ...,
2640
+ offvalue: Any = ...,
2641
+ onvalue: Any = ...,
2642
+ selectcolor: str = ...,
2643
+ selectimage: _ImageSpec = ...,
2644
+ state: Literal["normal", "active", "disabled"] = ...,
2645
+ underline: int = ...,
2646
+ variable: Variable = ...,
2647
+ ) -> None: ...
2648
+ def insert_command(
2649
+ self,
2650
+ index: str | int,
2651
+ cnf: dict[str, Any] | None = {},
2652
+ *,
2653
+ accelerator: str = ...,
2654
+ activebackground: str = ...,
2655
+ activeforeground: str = ...,
2656
+ background: str = ...,
2657
+ bitmap: str = ...,
2658
+ columnbreak: int = ...,
2659
+ command: Callable[[], object] | str = ...,
2660
+ compound: _Compound = ...,
2661
+ font: _FontDescription = ...,
2662
+ foreground: str = ...,
2663
+ hidemargin: bool = ...,
2664
+ image: _ImageSpec = ...,
2665
+ label: str = ...,
2666
+ state: Literal["normal", "active", "disabled"] = ...,
2667
+ underline: int = ...,
2668
+ ) -> None: ...
2669
+ def insert_radiobutton(
2670
+ self,
2671
+ index: str | int,
2672
+ cnf: dict[str, Any] | None = {},
2673
+ *,
2674
+ accelerator: str = ...,
2675
+ activebackground: str = ...,
2676
+ activeforeground: str = ...,
2677
+ background: str = ...,
2678
+ bitmap: str = ...,
2679
+ columnbreak: int = ...,
2680
+ command: Callable[[], object] | str = ...,
2681
+ compound: _Compound = ...,
2682
+ font: _FontDescription = ...,
2683
+ foreground: str = ...,
2684
+ hidemargin: bool = ...,
2685
+ image: _ImageSpec = ...,
2686
+ indicatoron: bool = ...,
2687
+ label: str = ...,
2688
+ selectcolor: str = ...,
2689
+ selectimage: _ImageSpec = ...,
2690
+ state: Literal["normal", "active", "disabled"] = ...,
2691
+ underline: int = ...,
2692
+ value: Any = ...,
2693
+ variable: Variable = ...,
2694
+ ) -> None: ...
2695
+ def insert_separator(
2696
+ self,
2697
+ index: str | int,
2698
+ cnf: dict[str, Any] | None = {},
2699
+ *,
2700
+ background: str = ...,
2701
+ ) -> None: ...
2702
+ def delete(self, index1: str | int, index2: str | int | None = None) -> None: ...
2703
+ def entrycget(self, index: str | int, option: str) -> Any: ...
2704
+ def entryconfigure(
2705
+ self, index: str | int, cnf: dict[str, Any] | None = None, **kw: Any
2706
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2707
+ entryconfig = entryconfigure
2708
+ def index(self, index: str | int) -> int | None: ...
2709
+ def invoke(self, index: str | int) -> Any: ...
2710
+ def post(self, x: int, y: int) -> None: ...
2711
+ def type(
2712
+ self, index: str | int
2713
+ ) -> Literal["cascade", "checkbutton", "command", "radiobutton", "separator"]: ...
2714
+ def unpost(self) -> None: ...
2715
+ def xposition(self, index: str | int) -> int: ...
2716
+ def yposition(self, index: str | int) -> int: ...
2717
+
2718
+ class Menubutton(Widget):
2719
+ def __init__(
2720
+ self,
2721
+ master: Misc | None = None,
2722
+ cnf: dict[str, Any] | None = {},
2723
+ *,
2724
+ activebackground: str = ...,
2725
+ activeforeground: str = ...,
2726
+ anchor: _Anchor = ...,
2727
+ background: str = ...,
2728
+ bd: _ScreenUnits = ...,
2729
+ bg: str = ...,
2730
+ bitmap: str = ...,
2731
+ border: _ScreenUnits = ...,
2732
+ borderwidth: _ScreenUnits = ...,
2733
+ compound: _Compound = ...,
2734
+ cursor: _Cursor = ...,
2735
+ direction: Literal["above", "below", "left", "right", "flush"] = ...,
2736
+ disabledforeground: str = ...,
2737
+ fg: str = ...,
2738
+ font: _FontDescription = ...,
2739
+ foreground: str = ...,
2740
+ height: _ScreenUnits = ...,
2741
+ highlightbackground: str = ...,
2742
+ highlightcolor: str = ...,
2743
+ highlightthickness: _ScreenUnits = ...,
2744
+ image: _ImageSpec = ...,
2745
+ indicatoron: bool = ...,
2746
+ justify: Literal["left", "center", "right"] = ...,
2747
+ menu: Menu = ...,
2748
+ name: str = ...,
2749
+ padx: _ScreenUnits = ...,
2750
+ pady: _ScreenUnits = ...,
2751
+ relief: _Relief = ...,
2752
+ state: Literal["normal", "active", "disabled"] = ...,
2753
+ takefocus: _TakeFocusValue = ...,
2754
+ text: float | str = ...,
2755
+ textvariable: Variable = ...,
2756
+ underline: int = ...,
2757
+ width: _ScreenUnits = ...,
2758
+ wraplength: _ScreenUnits = ...,
2759
+ ) -> None: ...
2760
+ @overload
2761
+ def configure(
2762
+ self,
2763
+ cnf: dict[str, Any] | None = None,
2764
+ *,
2765
+ activebackground: str = ...,
2766
+ activeforeground: str = ...,
2767
+ anchor: _Anchor = ...,
2768
+ background: str = ...,
2769
+ bd: _ScreenUnits = ...,
2770
+ bg: str = ...,
2771
+ bitmap: str = ...,
2772
+ border: _ScreenUnits = ...,
2773
+ borderwidth: _ScreenUnits = ...,
2774
+ compound: _Compound = ...,
2775
+ cursor: _Cursor = ...,
2776
+ direction: Literal["above", "below", "left", "right", "flush"] = ...,
2777
+ disabledforeground: str = ...,
2778
+ fg: str = ...,
2779
+ font: _FontDescription = ...,
2780
+ foreground: str = ...,
2781
+ height: _ScreenUnits = ...,
2782
+ highlightbackground: str = ...,
2783
+ highlightcolor: str = ...,
2784
+ highlightthickness: _ScreenUnits = ...,
2785
+ image: _ImageSpec = ...,
2786
+ indicatoron: bool = ...,
2787
+ justify: Literal["left", "center", "right"] = ...,
2788
+ menu: Menu = ...,
2789
+ padx: _ScreenUnits = ...,
2790
+ pady: _ScreenUnits = ...,
2791
+ relief: _Relief = ...,
2792
+ state: Literal["normal", "active", "disabled"] = ...,
2793
+ takefocus: _TakeFocusValue = ...,
2794
+ text: float | str = ...,
2795
+ textvariable: Variable = ...,
2796
+ underline: int = ...,
2797
+ width: _ScreenUnits = ...,
2798
+ wraplength: _ScreenUnits = ...,
2799
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2800
+ @overload
2801
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2802
+ config = configure
2803
+
2804
+ class Message(Widget):
2805
+ def __init__(
2806
+ self,
2807
+ master: Misc | None = None,
2808
+ cnf: dict[str, Any] | None = {},
2809
+ *,
2810
+ anchor: _Anchor = ...,
2811
+ aspect: int = ...,
2812
+ background: str = ...,
2813
+ bd: _ScreenUnits = ...,
2814
+ bg: str = ...,
2815
+ border: _ScreenUnits = ...,
2816
+ borderwidth: _ScreenUnits = ...,
2817
+ cursor: _Cursor = ...,
2818
+ fg: str = ...,
2819
+ font: _FontDescription = ...,
2820
+ foreground: str = ...,
2821
+ highlightbackground: str = ...,
2822
+ highlightcolor: str = ...,
2823
+ highlightthickness: _ScreenUnits = ...,
2824
+ justify: Literal["left", "center", "right"] = ...,
2825
+ name: str = ...,
2826
+ padx: _ScreenUnits = ...,
2827
+ pady: _ScreenUnits = ...,
2828
+ relief: _Relief = ...,
2829
+ takefocus: _TakeFocusValue = ...,
2830
+ text: float | str = ...,
2831
+ textvariable: Variable = ...,
2832
+ # there's width but no height
2833
+ width: _ScreenUnits = ...,
2834
+ ) -> None: ...
2835
+ @overload
2836
+ def configure(
2837
+ self,
2838
+ cnf: dict[str, Any] | None = None,
2839
+ *,
2840
+ anchor: _Anchor = ...,
2841
+ aspect: int = ...,
2842
+ background: str = ...,
2843
+ bd: _ScreenUnits = ...,
2844
+ bg: str = ...,
2845
+ border: _ScreenUnits = ...,
2846
+ borderwidth: _ScreenUnits = ...,
2847
+ cursor: _Cursor = ...,
2848
+ fg: str = ...,
2849
+ font: _FontDescription = ...,
2850
+ foreground: str = ...,
2851
+ highlightbackground: str = ...,
2852
+ highlightcolor: str = ...,
2853
+ highlightthickness: _ScreenUnits = ...,
2854
+ justify: Literal["left", "center", "right"] = ...,
2855
+ padx: _ScreenUnits = ...,
2856
+ pady: _ScreenUnits = ...,
2857
+ relief: _Relief = ...,
2858
+ takefocus: _TakeFocusValue = ...,
2859
+ text: float | str = ...,
2860
+ textvariable: Variable = ...,
2861
+ width: _ScreenUnits = ...,
2862
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2863
+ @overload
2864
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2865
+ config = configure
2866
+
2867
+ class Radiobutton(Widget):
2868
+ def __init__(
2869
+ self,
2870
+ master: Misc | None = None,
2871
+ cnf: dict[str, Any] | None = {},
2872
+ *,
2873
+ activebackground: str = ...,
2874
+ activeforeground: str = ...,
2875
+ anchor: _Anchor = ...,
2876
+ background: str = ...,
2877
+ bd: _ScreenUnits = ...,
2878
+ bg: str = ...,
2879
+ bitmap: str = ...,
2880
+ border: _ScreenUnits = ...,
2881
+ borderwidth: _ScreenUnits = ...,
2882
+ command: _ButtonCommand = ...,
2883
+ compound: _Compound = ...,
2884
+ cursor: _Cursor = ...,
2885
+ disabledforeground: str = ...,
2886
+ fg: str = ...,
2887
+ font: _FontDescription = ...,
2888
+ foreground: str = ...,
2889
+ height: _ScreenUnits = ...,
2890
+ highlightbackground: str = ...,
2891
+ highlightcolor: str = ...,
2892
+ highlightthickness: _ScreenUnits = ...,
2893
+ image: _ImageSpec = ...,
2894
+ indicatoron: bool = ...,
2895
+ justify: Literal["left", "center", "right"] = ...,
2896
+ name: str = ...,
2897
+ offrelief: _Relief = ...,
2898
+ overrelief: _Relief = ...,
2899
+ padx: _ScreenUnits = ...,
2900
+ pady: _ScreenUnits = ...,
2901
+ relief: _Relief = ...,
2902
+ selectcolor: str = ...,
2903
+ selectimage: _ImageSpec = ...,
2904
+ state: Literal["normal", "active", "disabled"] = ...,
2905
+ takefocus: _TakeFocusValue = ...,
2906
+ text: float | str = ...,
2907
+ textvariable: Variable = ...,
2908
+ tristateimage: _ImageSpec = ...,
2909
+ tristatevalue: Any = ...,
2910
+ underline: int = ...,
2911
+ value: Any = ...,
2912
+ variable: Variable | Literal[""] = ...,
2913
+ width: _ScreenUnits = ...,
2914
+ wraplength: _ScreenUnits = ...,
2915
+ ) -> None: ...
2916
+ @overload
2917
+ def configure(
2918
+ self,
2919
+ cnf: dict[str, Any] | None = None,
2920
+ *,
2921
+ activebackground: str = ...,
2922
+ activeforeground: str = ...,
2923
+ anchor: _Anchor = ...,
2924
+ background: str = ...,
2925
+ bd: _ScreenUnits = ...,
2926
+ bg: str = ...,
2927
+ bitmap: str = ...,
2928
+ border: _ScreenUnits = ...,
2929
+ borderwidth: _ScreenUnits = ...,
2930
+ command: _ButtonCommand = ...,
2931
+ compound: _Compound = ...,
2932
+ cursor: _Cursor = ...,
2933
+ disabledforeground: str = ...,
2934
+ fg: str = ...,
2935
+ font: _FontDescription = ...,
2936
+ foreground: str = ...,
2937
+ height: _ScreenUnits = ...,
2938
+ highlightbackground: str = ...,
2939
+ highlightcolor: str = ...,
2940
+ highlightthickness: _ScreenUnits = ...,
2941
+ image: _ImageSpec = ...,
2942
+ indicatoron: bool = ...,
2943
+ justify: Literal["left", "center", "right"] = ...,
2944
+ offrelief: _Relief = ...,
2945
+ overrelief: _Relief = ...,
2946
+ padx: _ScreenUnits = ...,
2947
+ pady: _ScreenUnits = ...,
2948
+ relief: _Relief = ...,
2949
+ selectcolor: str = ...,
2950
+ selectimage: _ImageSpec = ...,
2951
+ state: Literal["normal", "active", "disabled"] = ...,
2952
+ takefocus: _TakeFocusValue = ...,
2953
+ text: float | str = ...,
2954
+ textvariable: Variable = ...,
2955
+ tristateimage: _ImageSpec = ...,
2956
+ tristatevalue: Any = ...,
2957
+ underline: int = ...,
2958
+ value: Any = ...,
2959
+ variable: Variable | Literal[""] = ...,
2960
+ width: _ScreenUnits = ...,
2961
+ wraplength: _ScreenUnits = ...,
2962
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
2963
+ @overload
2964
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
2965
+ config = configure
2966
+ def deselect(self) -> None: ...
2967
+ def flash(self) -> None: ...
2968
+ def invoke(self) -> Any: ...
2969
+ def select(self) -> None: ...
2970
+
2971
+ class Scale(Widget):
2972
+ def __init__(
2973
+ self,
2974
+ master: Misc | None = None,
2975
+ cnf: dict[str, Any] | None = {},
2976
+ *,
2977
+ activebackground: str = ...,
2978
+ background: str = ...,
2979
+ bd: _ScreenUnits = ...,
2980
+ bg: str = ...,
2981
+ bigincrement: float = ...,
2982
+ border: _ScreenUnits = ...,
2983
+ borderwidth: _ScreenUnits = ...,
2984
+ # don't know why the callback gets string instead of float
2985
+ command: str | Callable[[str], object] = ...,
2986
+ cursor: _Cursor = ...,
2987
+ digits: int = ...,
2988
+ fg: str = ...,
2989
+ font: _FontDescription = ...,
2990
+ foreground: str = ...,
2991
+ from_: float = ...,
2992
+ highlightbackground: str = ...,
2993
+ highlightcolor: str = ...,
2994
+ highlightthickness: _ScreenUnits = ...,
2995
+ label: str = ...,
2996
+ length: _ScreenUnits = ...,
2997
+ name: str = ...,
2998
+ orient: Literal["horizontal", "vertical"] = ...,
2999
+ relief: _Relief = ...,
3000
+ repeatdelay: int = ...,
3001
+ repeatinterval: int = ...,
3002
+ resolution: float = ...,
3003
+ showvalue: bool = ...,
3004
+ sliderlength: _ScreenUnits = ...,
3005
+ sliderrelief: _Relief = ...,
3006
+ state: Literal["normal", "active", "disabled"] = ...,
3007
+ takefocus: _TakeFocusValue = ...,
3008
+ tickinterval: float = ...,
3009
+ to: float = ...,
3010
+ troughcolor: str = ...,
3011
+ variable: IntVar | DoubleVar = ...,
3012
+ width: _ScreenUnits = ...,
3013
+ ) -> None: ...
3014
+ @overload
3015
+ def configure(
3016
+ self,
3017
+ cnf: dict[str, Any] | None = None,
3018
+ *,
3019
+ activebackground: str = ...,
3020
+ background: str = ...,
3021
+ bd: _ScreenUnits = ...,
3022
+ bg: str = ...,
3023
+ bigincrement: float = ...,
3024
+ border: _ScreenUnits = ...,
3025
+ borderwidth: _ScreenUnits = ...,
3026
+ command: str | Callable[[str], object] = ...,
3027
+ cursor: _Cursor = ...,
3028
+ digits: int = ...,
3029
+ fg: str = ...,
3030
+ font: _FontDescription = ...,
3031
+ foreground: str = ...,
3032
+ from_: float = ...,
3033
+ highlightbackground: str = ...,
3034
+ highlightcolor: str = ...,
3035
+ highlightthickness: _ScreenUnits = ...,
3036
+ label: str = ...,
3037
+ length: _ScreenUnits = ...,
3038
+ orient: Literal["horizontal", "vertical"] = ...,
3039
+ relief: _Relief = ...,
3040
+ repeatdelay: int = ...,
3041
+ repeatinterval: int = ...,
3042
+ resolution: float = ...,
3043
+ showvalue: bool = ...,
3044
+ sliderlength: _ScreenUnits = ...,
3045
+ sliderrelief: _Relief = ...,
3046
+ state: Literal["normal", "active", "disabled"] = ...,
3047
+ takefocus: _TakeFocusValue = ...,
3048
+ tickinterval: float = ...,
3049
+ to: float = ...,
3050
+ troughcolor: str = ...,
3051
+ variable: IntVar | DoubleVar = ...,
3052
+ width: _ScreenUnits = ...,
3053
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3054
+ @overload
3055
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
3056
+ config = configure
3057
+ def get(self) -> float: ...
3058
+ def set(self, value) -> None: ...
3059
+ def coords(self, value: float | None = None) -> tuple[int, int]: ...
3060
+ def identify(self, x, y) -> Literal["", "slider", "trough1", "trough2"]: ...
3061
+
3062
+ class Scrollbar(Widget):
3063
+ def __init__(
3064
+ self,
3065
+ master: Misc | None = None,
3066
+ cnf: dict[str, Any] | None = {},
3067
+ *,
3068
+ activebackground: str = ...,
3069
+ activerelief: _Relief = ...,
3070
+ background: str = ...,
3071
+ bd: _ScreenUnits = ...,
3072
+ bg: str = ...,
3073
+ border: _ScreenUnits = ...,
3074
+ borderwidth: _ScreenUnits = ...,
3075
+ # There are many ways how the command may get called. Search for
3076
+ # 'SCROLLING COMMANDS' in scrollbar man page. There doesn't seem to
3077
+ # be any way to specify an overloaded callback function, so we say
3078
+ # that it can take any args while it can't in reality.
3079
+ command: Callable[..., tuple[float, float] | None] | str = ...,
3080
+ cursor: _Cursor = ...,
3081
+ elementborderwidth: _ScreenUnits = ...,
3082
+ highlightbackground: str = ...,
3083
+ highlightcolor: str = ...,
3084
+ highlightthickness: _ScreenUnits = ...,
3085
+ jump: bool = ...,
3086
+ name: str = ...,
3087
+ orient: Literal["horizontal", "vertical"] = ...,
3088
+ relief: _Relief = ...,
3089
+ repeatdelay: int = ...,
3090
+ repeatinterval: int = ...,
3091
+ takefocus: _TakeFocusValue = ...,
3092
+ troughcolor: str = ...,
3093
+ width: _ScreenUnits = ...,
3094
+ ) -> None: ...
3095
+ @overload
3096
+ def configure(
3097
+ self,
3098
+ cnf: dict[str, Any] | None = None,
3099
+ *,
3100
+ activebackground: str = ...,
3101
+ activerelief: _Relief = ...,
3102
+ background: str = ...,
3103
+ bd: _ScreenUnits = ...,
3104
+ bg: str = ...,
3105
+ border: _ScreenUnits = ...,
3106
+ borderwidth: _ScreenUnits = ...,
3107
+ command: Callable[..., tuple[float, float] | None] | str = ...,
3108
+ cursor: _Cursor = ...,
3109
+ elementborderwidth: _ScreenUnits = ...,
3110
+ highlightbackground: str = ...,
3111
+ highlightcolor: str = ...,
3112
+ highlightthickness: _ScreenUnits = ...,
3113
+ jump: bool = ...,
3114
+ orient: Literal["horizontal", "vertical"] = ...,
3115
+ relief: _Relief = ...,
3116
+ repeatdelay: int = ...,
3117
+ repeatinterval: int = ...,
3118
+ takefocus: _TakeFocusValue = ...,
3119
+ troughcolor: str = ...,
3120
+ width: _ScreenUnits = ...,
3121
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3122
+ @overload
3123
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
3124
+ config = configure
3125
+ def activate(self, index: Incomplete | None = None): ...
3126
+ def delta(self, deltax: int, deltay: int) -> float: ...
3127
+ def fraction(self, x: int, y: int) -> float: ...
3128
+ def identify(
3129
+ self, x: int, y: int
3130
+ ) -> Literal["arrow1", "arrow2", "slider", "trough1", "trough2", ""]: ...
3131
+ def get(self) -> tuple[float, float, float, float] | tuple[float, float]: ...
3132
+ def set(self, first: float | str, last: float | str) -> None: ...
3133
+
3134
+ _TextIndex: TypeAlias = _tkinter.Tcl_Obj | str | float | Misc
3135
+
3136
+ class Text(Widget, XView, YView):
3137
+ def __init__(
3138
+ self,
3139
+ master: Misc | None = None,
3140
+ cnf: dict[str, Any] | None = {},
3141
+ *,
3142
+ autoseparators: bool = ...,
3143
+ background: str = ...,
3144
+ bd: _ScreenUnits = ...,
3145
+ bg: str = ...,
3146
+ blockcursor: bool = ...,
3147
+ border: _ScreenUnits = ...,
3148
+ borderwidth: _ScreenUnits = ...,
3149
+ cursor: _Cursor = ...,
3150
+ endline: int | Literal[""] = ...,
3151
+ exportselection: bool = ...,
3152
+ fg: str = ...,
3153
+ font: _FontDescription = ...,
3154
+ foreground: str = ...,
3155
+ # width is always int, but height is allowed to be ScreenUnits.
3156
+ # This doesn't make any sense to me, and this isn't documented.
3157
+ # The docs seem to say that both should be integers.
3158
+ height: _ScreenUnits = ...,
3159
+ highlightbackground: str = ...,
3160
+ highlightcolor: str = ...,
3161
+ highlightthickness: _ScreenUnits = ...,
3162
+ inactiveselectbackground: str = ...,
3163
+ insertbackground: str = ...,
3164
+ insertborderwidth: _ScreenUnits = ...,
3165
+ insertofftime: int = ...,
3166
+ insertontime: int = ...,
3167
+ insertunfocussed: Literal["none", "hollow", "solid"] = ...,
3168
+ insertwidth: _ScreenUnits = ...,
3169
+ maxundo: int = ...,
3170
+ name: str = ...,
3171
+ padx: _ScreenUnits = ...,
3172
+ pady: _ScreenUnits = ...,
3173
+ relief: _Relief = ...,
3174
+ selectbackground: str = ...,
3175
+ selectborderwidth: _ScreenUnits = ...,
3176
+ selectforeground: str = ...,
3177
+ setgrid: bool = ...,
3178
+ spacing1: _ScreenUnits = ...,
3179
+ spacing2: _ScreenUnits = ...,
3180
+ spacing3: _ScreenUnits = ...,
3181
+ startline: int | Literal[""] = ...,
3182
+ state: Literal["normal", "disabled"] = ...,
3183
+ # Literal inside Tuple doesn't actually work
3184
+ tabs: _ScreenUnits | str | tuple[_ScreenUnits | str, ...] = ...,
3185
+ tabstyle: Literal["tabular", "wordprocessor"] = ...,
3186
+ takefocus: _TakeFocusValue = ...,
3187
+ undo: bool = ...,
3188
+ width: int = ...,
3189
+ wrap: Literal["none", "char", "word"] = ...,
3190
+ xscrollcommand: _XYScrollCommand = ...,
3191
+ yscrollcommand: _XYScrollCommand = ...,
3192
+ ) -> None: ...
3193
+ @overload
3194
+ def configure(
3195
+ self,
3196
+ cnf: dict[str, Any] | None = None,
3197
+ *,
3198
+ autoseparators: bool = ...,
3199
+ background: str = ...,
3200
+ bd: _ScreenUnits = ...,
3201
+ bg: str = ...,
3202
+ blockcursor: bool = ...,
3203
+ border: _ScreenUnits = ...,
3204
+ borderwidth: _ScreenUnits = ...,
3205
+ cursor: _Cursor = ...,
3206
+ endline: int | Literal[""] = ...,
3207
+ exportselection: bool = ...,
3208
+ fg: str = ...,
3209
+ font: _FontDescription = ...,
3210
+ foreground: str = ...,
3211
+ height: _ScreenUnits = ...,
3212
+ highlightbackground: str = ...,
3213
+ highlightcolor: str = ...,
3214
+ highlightthickness: _ScreenUnits = ...,
3215
+ inactiveselectbackground: str = ...,
3216
+ insertbackground: str = ...,
3217
+ insertborderwidth: _ScreenUnits = ...,
3218
+ insertofftime: int = ...,
3219
+ insertontime: int = ...,
3220
+ insertunfocussed: Literal["none", "hollow", "solid"] = ...,
3221
+ insertwidth: _ScreenUnits = ...,
3222
+ maxundo: int = ...,
3223
+ padx: _ScreenUnits = ...,
3224
+ pady: _ScreenUnits = ...,
3225
+ relief: _Relief = ...,
3226
+ selectbackground: str = ...,
3227
+ selectborderwidth: _ScreenUnits = ...,
3228
+ selectforeground: str = ...,
3229
+ setgrid: bool = ...,
3230
+ spacing1: _ScreenUnits = ...,
3231
+ spacing2: _ScreenUnits = ...,
3232
+ spacing3: _ScreenUnits = ...,
3233
+ startline: int | Literal[""] = ...,
3234
+ state: Literal["normal", "disabled"] = ...,
3235
+ tabs: _ScreenUnits | str | tuple[_ScreenUnits | str, ...] = ...,
3236
+ tabstyle: Literal["tabular", "wordprocessor"] = ...,
3237
+ takefocus: _TakeFocusValue = ...,
3238
+ undo: bool = ...,
3239
+ width: int = ...,
3240
+ wrap: Literal["none", "char", "word"] = ...,
3241
+ xscrollcommand: _XYScrollCommand = ...,
3242
+ yscrollcommand: _XYScrollCommand = ...,
3243
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3244
+ @overload
3245
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
3246
+ config = configure
3247
+ def bbox(self, index: _TextIndex) -> tuple[int, int, int, int] | None: ... # type: ignore[override]
3248
+ def compare(
3249
+ self,
3250
+ index1: _TextIndex,
3251
+ op: Literal["<", "<=", "==", ">=", ">", "!="],
3252
+ index2: _TextIndex,
3253
+ ) -> bool: ...
3254
+ def count(self, index1, index2, *args): ... # TODO
3255
+ @overload
3256
+ def debug(self, boolean: None = None) -> bool: ...
3257
+ @overload
3258
+ def debug(self, boolean: bool) -> None: ...
3259
+ def delete(self, index1: _TextIndex, index2: _TextIndex | None = None) -> None: ...
3260
+ def dlineinfo(self, index: _TextIndex) -> tuple[int, int, int, int, int] | None: ...
3261
+ @overload
3262
+ def dump(
3263
+ self,
3264
+ index1: _TextIndex,
3265
+ index2: _TextIndex | None = None,
3266
+ command: None = None,
3267
+ *,
3268
+ all: bool = ...,
3269
+ image: bool = ...,
3270
+ mark: bool = ...,
3271
+ tag: bool = ...,
3272
+ text: bool = ...,
3273
+ window: bool = ...,
3274
+ ) -> list[tuple[str, str, str]]: ...
3275
+ @overload
3276
+ def dump(
3277
+ self,
3278
+ index1: _TextIndex,
3279
+ index2: _TextIndex | None,
3280
+ command: Callable[[str, str, str], object] | str,
3281
+ *,
3282
+ all: bool = ...,
3283
+ image: bool = ...,
3284
+ mark: bool = ...,
3285
+ tag: bool = ...,
3286
+ text: bool = ...,
3287
+ window: bool = ...,
3288
+ ) -> None: ...
3289
+ @overload
3290
+ def dump(
3291
+ self,
3292
+ index1: _TextIndex,
3293
+ index2: _TextIndex | None = None,
3294
+ *,
3295
+ command: Callable[[str, str, str], object] | str,
3296
+ all: bool = ...,
3297
+ image: bool = ...,
3298
+ mark: bool = ...,
3299
+ tag: bool = ...,
3300
+ text: bool = ...,
3301
+ window: bool = ...,
3302
+ ) -> None: ...
3303
+ def edit(self, *args): ... # docstring says "Internal method"
3304
+ @overload
3305
+ def edit_modified(
3306
+ self, arg: None = None
3307
+ ) -> bool: ... # actually returns Literal[0, 1]
3308
+ @overload
3309
+ def edit_modified(self, arg: bool) -> None: ... # actually returns empty string
3310
+ def edit_redo(self) -> None: ... # actually returns empty string
3311
+ def edit_reset(self) -> None: ... # actually returns empty string
3312
+ def edit_separator(self) -> None: ... # actually returns empty string
3313
+ def edit_undo(self) -> None: ... # actually returns empty string
3314
+ def get(self, index1: _TextIndex, index2: _TextIndex | None = None) -> str: ...
3315
+ @overload
3316
+ def image_cget(
3317
+ self, index: _TextIndex, option: Literal["image", "name"]
3318
+ ) -> str: ...
3319
+ @overload
3320
+ def image_cget(self, index: _TextIndex, option: Literal["padx", "pady"]) -> int: ...
3321
+ @overload
3322
+ def image_cget(
3323
+ self, index: _TextIndex, option: Literal["align"]
3324
+ ) -> Literal["baseline", "bottom", "center", "top"]: ...
3325
+ @overload
3326
+ def image_cget(self, index: _TextIndex, option: str) -> Any: ...
3327
+ @overload
3328
+ def image_configure(
3329
+ self, index: _TextIndex, cnf: str
3330
+ ) -> tuple[str, str, str, str, str | int]: ...
3331
+ @overload
3332
+ def image_configure(
3333
+ self,
3334
+ index: _TextIndex,
3335
+ cnf: dict[str, Any] | None = {},
3336
+ *,
3337
+ align: Literal["baseline", "bottom", "center", "top"] = ...,
3338
+ image: _ImageSpec = ...,
3339
+ name: str = ...,
3340
+ padx: _ScreenUnits = ...,
3341
+ pady: _ScreenUnits = ...,
3342
+ ) -> dict[str, tuple[str, str, str, str, str | int]] | None: ...
3343
+ def image_create(
3344
+ self,
3345
+ index: _TextIndex,
3346
+ cnf: dict[str, Any] | None = {},
3347
+ *,
3348
+ align: Literal["baseline", "bottom", "center", "top"] = ...,
3349
+ image: _ImageSpec = ...,
3350
+ name: str = ...,
3351
+ padx: _ScreenUnits = ...,
3352
+ pady: _ScreenUnits = ...,
3353
+ ) -> str: ...
3354
+ def image_names(self) -> tuple[str, ...]: ...
3355
+ def index(self, index: _TextIndex) -> str: ...
3356
+ def insert(
3357
+ self, index: _TextIndex, chars: str, *args: str | list[str] | tuple[str, ...]
3358
+ ) -> None: ...
3359
+ @overload
3360
+ def mark_gravity(
3361
+ self, markName: str, direction: None = None
3362
+ ) -> Literal["left", "right"]: ...
3363
+ @overload
3364
+ def mark_gravity(
3365
+ self, markName: str, direction: Literal["left", "right"]
3366
+ ) -> None: ... # actually returns empty string
3367
+ def mark_names(self) -> tuple[str, ...]: ...
3368
+ def mark_set(self, markName: str, index: _TextIndex) -> None: ...
3369
+ def mark_unset(self, *markNames: str) -> None: ...
3370
+ def mark_next(self, index: _TextIndex) -> str | None: ...
3371
+ def mark_previous(self, index: _TextIndex) -> str | None: ...
3372
+ # **kw of peer_create is same as the kwargs of Text.__init__
3373
+ def peer_create(
3374
+ self, newPathName: str | Text, cnf: dict[str, Any] = {}, **kw
3375
+ ) -> None: ...
3376
+ def peer_names(self) -> tuple[_tkinter.Tcl_Obj, ...]: ...
3377
+ def replace(
3378
+ self,
3379
+ index1: _TextIndex,
3380
+ index2: _TextIndex,
3381
+ chars: str,
3382
+ *args: str | list[str] | tuple[str, ...],
3383
+ ) -> None: ...
3384
+ def scan_mark(self, x: int, y: int) -> None: ...
3385
+ def scan_dragto(self, x: int, y: int) -> None: ...
3386
+ def search(
3387
+ self,
3388
+ pattern: str,
3389
+ index: _TextIndex,
3390
+ stopindex: _TextIndex | None = None,
3391
+ forwards: bool | None = None,
3392
+ backwards: bool | None = None,
3393
+ exact: bool | None = None,
3394
+ regexp: bool | None = None,
3395
+ nocase: bool | None = None,
3396
+ count: Variable | None = None,
3397
+ elide: bool | None = None,
3398
+ ) -> str: ... # returns empty string for not found
3399
+ def see(self, index: _TextIndex) -> None: ...
3400
+ def tag_add(self, tagName: str, index1: _TextIndex, *args: _TextIndex) -> None: ...
3401
+ # tag_bind stuff is very similar to Canvas
3402
+ @overload
3403
+ def tag_bind(
3404
+ self,
3405
+ tagName: str,
3406
+ sequence: str | None,
3407
+ func: Callable[[Event[Text]], object] | None,
3408
+ add: Literal["", "+"] | bool | None = None,
3409
+ ) -> str: ...
3410
+ @overload
3411
+ def tag_bind(
3412
+ self,
3413
+ tagName: str,
3414
+ sequence: str | None,
3415
+ func: str,
3416
+ add: Literal["", "+"] | bool | None = None,
3417
+ ) -> None: ...
3418
+ def tag_unbind(
3419
+ self, tagName: str, sequence: str, funcid: str | None = None
3420
+ ) -> None: ...
3421
+ # allowing any string for cget instead of just Literals because there's no other way to look up tag options
3422
+ def tag_cget(self, tagName: str, option: str): ...
3423
+ @overload
3424
+ def tag_configure(
3425
+ self,
3426
+ tagName: str,
3427
+ cnf: dict[str, Any] | None = None,
3428
+ *,
3429
+ background: str = ...,
3430
+ bgstipple: str = ...,
3431
+ borderwidth: _ScreenUnits = ...,
3432
+ border: _ScreenUnits = ..., # alias for borderwidth
3433
+ elide: bool = ...,
3434
+ fgstipple: str = ...,
3435
+ font: _FontDescription = ...,
3436
+ foreground: str = ...,
3437
+ justify: Literal["left", "right", "center"] = ...,
3438
+ lmargin1: _ScreenUnits = ...,
3439
+ lmargin2: _ScreenUnits = ...,
3440
+ lmargincolor: str = ...,
3441
+ offset: _ScreenUnits = ...,
3442
+ overstrike: bool = ...,
3443
+ overstrikefg: str = ...,
3444
+ relief: _Relief = ...,
3445
+ rmargin: _ScreenUnits = ...,
3446
+ rmargincolor: str = ...,
3447
+ selectbackground: str = ...,
3448
+ selectforeground: str = ...,
3449
+ spacing1: _ScreenUnits = ...,
3450
+ spacing2: _ScreenUnits = ...,
3451
+ spacing3: _ScreenUnits = ...,
3452
+ tabs: Any = ..., # the exact type is kind of complicated, see manual page
3453
+ tabstyle: Literal["tabular", "wordprocessor"] = ...,
3454
+ underline: bool = ...,
3455
+ underlinefg: str = ...,
3456
+ wrap: Literal["none", "char", "word"] = ..., # be careful with "none" vs None
3457
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3458
+ @overload
3459
+ def tag_configure(
3460
+ self, tagName: str, cnf: str
3461
+ ) -> tuple[str, str, str, Any, Any]: ...
3462
+ tag_config = tag_configure
3463
+ def tag_delete(
3464
+ self, __first_tag_name: str, *tagNames: str
3465
+ ) -> None: ... # error if no tag names given
3466
+ def tag_lower(self, tagName: str, belowThis: str | None = None) -> None: ...
3467
+ def tag_names(self, index: _TextIndex | None = None) -> tuple[str, ...]: ...
3468
+ def tag_nextrange(
3469
+ self, tagName: str, index1: _TextIndex, index2: _TextIndex | None = None
3470
+ ) -> tuple[str, str] | tuple[()]: ...
3471
+ def tag_prevrange(
3472
+ self, tagName: str, index1: _TextIndex, index2: _TextIndex | None = None
3473
+ ) -> tuple[str, str] | tuple[()]: ...
3474
+ def tag_raise(self, tagName: str, aboveThis: str | None = None) -> None: ...
3475
+ def tag_ranges(self, tagName: str) -> tuple[_tkinter.Tcl_Obj, ...]: ...
3476
+ # tag_remove and tag_delete are different
3477
+ def tag_remove(
3478
+ self, tagName: str, index1: _TextIndex, index2: _TextIndex | None = None
3479
+ ) -> None: ...
3480
+ @overload
3481
+ def window_cget(
3482
+ self, index: _TextIndex, option: Literal["padx", "pady"]
3483
+ ) -> int: ...
3484
+ @overload
3485
+ def window_cget(
3486
+ self, index: _TextIndex, option: Literal["stretch"]
3487
+ ) -> bool: ... # actually returns Literal[0, 1]
3488
+ @overload
3489
+ def window_cget(
3490
+ self, index: _TextIndex, option: Literal["align"]
3491
+ ) -> Literal["baseline", "bottom", "center", "top"]: ...
3492
+ @overload # window is set to a widget, but read as the string name.
3493
+ def window_cget(
3494
+ self, index: _TextIndex, option: Literal["create", "window"]
3495
+ ) -> str: ...
3496
+ @overload
3497
+ def window_cget(self, index: _TextIndex, option: str) -> Any: ...
3498
+ @overload
3499
+ def window_configure(
3500
+ self, index: _TextIndex, cnf: str
3501
+ ) -> tuple[str, str, str, str, str | int]: ...
3502
+ @overload
3503
+ def window_configure(
3504
+ self,
3505
+ index: _TextIndex,
3506
+ cnf: dict[str, Any] | None = None,
3507
+ *,
3508
+ align: Literal["baseline", "bottom", "center", "top"] = ...,
3509
+ create: str = ...,
3510
+ padx: _ScreenUnits = ...,
3511
+ pady: _ScreenUnits = ...,
3512
+ stretch: bool | Literal[0, 1] = ...,
3513
+ window: Misc | str = ...,
3514
+ ) -> dict[str, tuple[str, str, str, str, str | int]] | None: ...
3515
+ window_config = window_configure
3516
+ def window_create(
3517
+ self,
3518
+ index: _TextIndex,
3519
+ cnf: dict[str, Any] | None = {},
3520
+ *,
3521
+ align: Literal["baseline", "bottom", "center", "top"] = ...,
3522
+ create: str = ...,
3523
+ padx: _ScreenUnits = ...,
3524
+ pady: _ScreenUnits = ...,
3525
+ stretch: bool | Literal[0, 1] = ...,
3526
+ window: Misc | str = ...,
3527
+ ) -> None: ...
3528
+ def window_names(self) -> tuple[str, ...]: ...
3529
+ def yview_pickplace(self, *what): ... # deprecated
3530
+
3531
+ class _setit:
3532
+ def __init__(self, var, value, callback: Incomplete | None = None) -> None: ...
3533
+ def __call__(self, *args) -> None: ...
3534
+
3535
+ # manual page: tk_optionMenu
3536
+ class OptionMenu(Menubutton):
3537
+ widgetName: Incomplete
3538
+ menuname: Incomplete
3539
+ def __init__(
3540
+ # differs from other widgets
3541
+ self,
3542
+ master: Misc | None,
3543
+ variable: StringVar,
3544
+ value: str,
3545
+ *values: str,
3546
+ # kwarg only from now on
3547
+ command: Callable[[StringVar], object] | None = ...,
3548
+ ) -> None: ...
3549
+ # configure, config, cget are inherited from Menubutton
3550
+ # destroy and __getitem__ are overridden, signature does not change
3551
+
3552
+ # Marker to indicate that it is a valid bitmap/photo image. PIL implements compatible versions
3553
+ # which don't share a class hierarchy. The actual API is a __str__() which returns a valid name,
3554
+ # not something that type checkers can detect.
3555
+ @type_check_only
3556
+ class _Image: ...
3557
+
3558
+ @type_check_only
3559
+ class _BitmapImageLike(_Image): ...
3560
+
3561
+ @type_check_only
3562
+ class _PhotoImageLike(_Image): ...
3563
+
3564
+ class Image(_Image):
3565
+ name: Incomplete
3566
+ tk: _tkinter.TkappType
3567
+ def __init__(
3568
+ self,
3569
+ imgtype,
3570
+ name: Incomplete | None = None,
3571
+ cnf={},
3572
+ master: Misc | _tkinter.TkappType | None = None,
3573
+ **kw,
3574
+ ) -> None: ...
3575
+ def __del__(self) -> None: ...
3576
+ def __setitem__(self, key, value) -> None: ...
3577
+ def __getitem__(self, key): ...
3578
+ configure: Incomplete
3579
+ config: Incomplete
3580
+ def height(self) -> int: ...
3581
+ def type(self): ...
3582
+ def width(self) -> int: ...
3583
+
3584
+ class PhotoImage(Image, _PhotoImageLike):
3585
+ # This should be kept in sync with PIL.ImageTK.PhotoImage.__init__()
3586
+ def __init__(
3587
+ self,
3588
+ name: str | None = None,
3589
+ cnf: dict[str, Any] = {},
3590
+ master: Misc | _tkinter.TkappType | None = None,
3591
+ *,
3592
+ data: str | bytes = ..., # not same as data argument of put()
3593
+ format: str = ...,
3594
+ file: StrOrBytesPath = ...,
3595
+ gamma: float = ...,
3596
+ height: int = ...,
3597
+ palette: int | str = ...,
3598
+ width: int = ...,
3599
+ ) -> None: ...
3600
+ def configure(
3601
+ self,
3602
+ *,
3603
+ data: str | bytes = ...,
3604
+ format: str = ...,
3605
+ file: StrOrBytesPath = ...,
3606
+ gamma: float = ...,
3607
+ height: int = ...,
3608
+ palette: int | str = ...,
3609
+ width: int = ...,
3610
+ ) -> None: ...
3611
+ config = configure
3612
+ def blank(self) -> None: ...
3613
+ def cget(self, option: str) -> str: ...
3614
+ def __getitem__(
3615
+ self, key: str
3616
+ ) -> str: ... # always string: image['height'] can be '0'
3617
+ def copy(self) -> PhotoImage: ...
3618
+ def zoom(self, x: int, y: int | Literal[""] = "") -> PhotoImage: ...
3619
+ def subsample(self, x: int, y: int | Literal[""] = "") -> PhotoImage: ...
3620
+ def get(self, x: int, y: int) -> tuple[int, int, int]: ...
3621
+ def put(
3622
+ self,
3623
+ data: (
3624
+ str
3625
+ | list[str]
3626
+ | list[list[str]]
3627
+ | list[tuple[str, ...]]
3628
+ | tuple[str, ...]
3629
+ | tuple[list[str], ...]
3630
+ | tuple[tuple[str, ...], ...]
3631
+ ),
3632
+ to: tuple[int, int] | None = None,
3633
+ ) -> None: ...
3634
+ def write(
3635
+ self,
3636
+ filename: StrOrBytesPath,
3637
+ format: str | None = None,
3638
+ from_coords: tuple[int, int] | None = None,
3639
+ ) -> None: ...
3640
+ def transparency_get(self, x: int, y: int) -> bool: ...
3641
+ def transparency_set(self, x: int, y: int, boolean: bool) -> None: ...
3642
+
3643
+ class BitmapImage(Image, _BitmapImageLike):
3644
+ # This should be kept in sync with PIL.ImageTK.BitmapImage.__init__()
3645
+ def __init__(
3646
+ self,
3647
+ name: Incomplete | None = None,
3648
+ cnf: dict[str, Any] = {},
3649
+ master: Misc | _tkinter.TkappType | None = None,
3650
+ *,
3651
+ background: str = ...,
3652
+ data: str | bytes = ...,
3653
+ file: StrOrBytesPath = ...,
3654
+ foreground: str = ...,
3655
+ maskdata: str = ...,
3656
+ maskfile: StrOrBytesPath = ...,
3657
+ ) -> None: ...
3658
+
3659
+ def image_names() -> tuple[str, ...]: ...
3660
+ def image_types() -> tuple[str, ...]: ...
3661
+
3662
+ class Spinbox(Widget, XView):
3663
+ def __init__(
3664
+ self,
3665
+ master: Misc | None = None,
3666
+ cnf: dict[str, Any] | None = {},
3667
+ *,
3668
+ activebackground: str = ...,
3669
+ background: str = ...,
3670
+ bd: _ScreenUnits = ...,
3671
+ bg: str = ...,
3672
+ border: _ScreenUnits = ...,
3673
+ borderwidth: _ScreenUnits = ...,
3674
+ buttonbackground: str = ...,
3675
+ buttoncursor: _Cursor = ...,
3676
+ buttondownrelief: _Relief = ...,
3677
+ buttonuprelief: _Relief = ...,
3678
+ # percent substitutions don't seem to be supported, it's similar to Entry's validation stuff
3679
+ command: Callable[[], object] | str | list[str] | tuple[str, ...] = ...,
3680
+ cursor: _Cursor = ...,
3681
+ disabledbackground: str = ...,
3682
+ disabledforeground: str = ...,
3683
+ exportselection: bool = ...,
3684
+ fg: str = ...,
3685
+ font: _FontDescription = ...,
3686
+ foreground: str = ...,
3687
+ format: str = ...,
3688
+ from_: float = ...,
3689
+ highlightbackground: str = ...,
3690
+ highlightcolor: str = ...,
3691
+ highlightthickness: _ScreenUnits = ...,
3692
+ increment: float = ...,
3693
+ insertbackground: str = ...,
3694
+ insertborderwidth: _ScreenUnits = ...,
3695
+ insertofftime: int = ...,
3696
+ insertontime: int = ...,
3697
+ insertwidth: _ScreenUnits = ...,
3698
+ invalidcommand: _EntryValidateCommand = ...,
3699
+ invcmd: _EntryValidateCommand = ...,
3700
+ justify: Literal["left", "center", "right"] = ...,
3701
+ name: str = ...,
3702
+ readonlybackground: str = ...,
3703
+ relief: _Relief = ...,
3704
+ repeatdelay: int = ...,
3705
+ repeatinterval: int = ...,
3706
+ selectbackground: str = ...,
3707
+ selectborderwidth: _ScreenUnits = ...,
3708
+ selectforeground: str = ...,
3709
+ state: Literal["normal", "disabled", "readonly"] = ...,
3710
+ takefocus: _TakeFocusValue = ...,
3711
+ textvariable: Variable = ...,
3712
+ to: float = ...,
3713
+ validate: Literal["none", "focus", "focusin", "focusout", "key", "all"] = ...,
3714
+ validatecommand: _EntryValidateCommand = ...,
3715
+ vcmd: _EntryValidateCommand = ...,
3716
+ values: list[str] | tuple[str, ...] = ...,
3717
+ width: int = ...,
3718
+ wrap: bool = ...,
3719
+ xscrollcommand: _XYScrollCommand = ...,
3720
+ ) -> None: ...
3721
+ @overload
3722
+ def configure(
3723
+ self,
3724
+ cnf: dict[str, Any] | None = None,
3725
+ *,
3726
+ activebackground: str = ...,
3727
+ background: str = ...,
3728
+ bd: _ScreenUnits = ...,
3729
+ bg: str = ...,
3730
+ border: _ScreenUnits = ...,
3731
+ borderwidth: _ScreenUnits = ...,
3732
+ buttonbackground: str = ...,
3733
+ buttoncursor: _Cursor = ...,
3734
+ buttondownrelief: _Relief = ...,
3735
+ buttonuprelief: _Relief = ...,
3736
+ command: Callable[[], object] | str | list[str] | tuple[str, ...] = ...,
3737
+ cursor: _Cursor = ...,
3738
+ disabledbackground: str = ...,
3739
+ disabledforeground: str = ...,
3740
+ exportselection: bool = ...,
3741
+ fg: str = ...,
3742
+ font: _FontDescription = ...,
3743
+ foreground: str = ...,
3744
+ format: str = ...,
3745
+ from_: float = ...,
3746
+ highlightbackground: str = ...,
3747
+ highlightcolor: str = ...,
3748
+ highlightthickness: _ScreenUnits = ...,
3749
+ increment: float = ...,
3750
+ insertbackground: str = ...,
3751
+ insertborderwidth: _ScreenUnits = ...,
3752
+ insertofftime: int = ...,
3753
+ insertontime: int = ...,
3754
+ insertwidth: _ScreenUnits = ...,
3755
+ invalidcommand: _EntryValidateCommand = ...,
3756
+ invcmd: _EntryValidateCommand = ...,
3757
+ justify: Literal["left", "center", "right"] = ...,
3758
+ readonlybackground: str = ...,
3759
+ relief: _Relief = ...,
3760
+ repeatdelay: int = ...,
3761
+ repeatinterval: int = ...,
3762
+ selectbackground: str = ...,
3763
+ selectborderwidth: _ScreenUnits = ...,
3764
+ selectforeground: str = ...,
3765
+ state: Literal["normal", "disabled", "readonly"] = ...,
3766
+ takefocus: _TakeFocusValue = ...,
3767
+ textvariable: Variable = ...,
3768
+ to: float = ...,
3769
+ validate: Literal["none", "focus", "focusin", "focusout", "key", "all"] = ...,
3770
+ validatecommand: _EntryValidateCommand = ...,
3771
+ vcmd: _EntryValidateCommand = ...,
3772
+ values: list[str] | tuple[str, ...] = ...,
3773
+ width: int = ...,
3774
+ wrap: bool = ...,
3775
+ xscrollcommand: _XYScrollCommand = ...,
3776
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3777
+ @overload
3778
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
3779
+ config = configure
3780
+ def bbox(self, index) -> tuple[int, int, int, int] | None: ... # type: ignore[override]
3781
+ def delete(self, first, last: Incomplete | None = None) -> Literal[""]: ...
3782
+ def get(self) -> str: ...
3783
+ def icursor(self, index): ...
3784
+ def identify(
3785
+ self, x: int, y: int
3786
+ ) -> Literal["", "buttondown", "buttonup", "entry"]: ...
3787
+ def index(self, index: _EntryIndex) -> int: ...
3788
+ def insert(self, index: _EntryIndex, s: str) -> Literal[""]: ...
3789
+ # spinbox.invoke("asdf") gives error mentioning .invoke("none"), but it's not documented
3790
+ def invoke(
3791
+ self, element: Literal["none", "buttonup", "buttondown"]
3792
+ ) -> Literal[""]: ...
3793
+ def scan(self, *args): ...
3794
+ def scan_mark(self, x): ...
3795
+ def scan_dragto(self, x): ...
3796
+ def selection(self, *args) -> tuple[int, ...]: ...
3797
+ def selection_adjust(self, index): ...
3798
+ def selection_clear(self): ...
3799
+ def selection_element(self, element: Incomplete | None = None): ...
3800
+ def selection_from(self, index: int) -> None: ...
3801
+ def selection_present(self) -> None: ...
3802
+ def selection_range(self, start: int, end: int) -> None: ...
3803
+ def selection_to(self, index: int) -> None: ...
3804
+
3805
+ class LabelFrame(Widget):
3806
+ def __init__(
3807
+ self,
3808
+ master: Misc | None = None,
3809
+ cnf: dict[str, Any] | None = {},
3810
+ *,
3811
+ background: str = ...,
3812
+ bd: _ScreenUnits = ...,
3813
+ bg: str = ...,
3814
+ border: _ScreenUnits = ...,
3815
+ borderwidth: _ScreenUnits = ...,
3816
+ class_: str = ..., # can't be changed with configure()
3817
+ colormap: Literal["new", ""] | Misc = ..., # can't be changed with configure()
3818
+ container: bool = ..., # undocumented, can't be changed with configure()
3819
+ cursor: _Cursor = ...,
3820
+ fg: str = ...,
3821
+ font: _FontDescription = ...,
3822
+ foreground: str = ...,
3823
+ height: _ScreenUnits = ...,
3824
+ highlightbackground: str = ...,
3825
+ highlightcolor: str = ...,
3826
+ highlightthickness: _ScreenUnits = ...,
3827
+ # 'ne' and 'en' are valid labelanchors, but only 'ne' is a valid _Anchor.
3828
+ labelanchor: Literal[
3829
+ "nw", "n", "ne", "en", "e", "es", "se", "s", "sw", "ws", "w", "wn"
3830
+ ] = ...,
3831
+ labelwidget: Misc = ...,
3832
+ name: str = ...,
3833
+ padx: _ScreenUnits = ...,
3834
+ pady: _ScreenUnits = ...,
3835
+ relief: _Relief = ...,
3836
+ takefocus: _TakeFocusValue = ...,
3837
+ text: float | str = ...,
3838
+ visual: str | tuple[str, int] = ..., # can't be changed with configure()
3839
+ width: _ScreenUnits = ...,
3840
+ ) -> None: ...
3841
+ @overload
3842
+ def configure(
3843
+ self,
3844
+ cnf: dict[str, Any] | None = None,
3845
+ *,
3846
+ background: str = ...,
3847
+ bd: _ScreenUnits = ...,
3848
+ bg: str = ...,
3849
+ border: _ScreenUnits = ...,
3850
+ borderwidth: _ScreenUnits = ...,
3851
+ cursor: _Cursor = ...,
3852
+ fg: str = ...,
3853
+ font: _FontDescription = ...,
3854
+ foreground: str = ...,
3855
+ height: _ScreenUnits = ...,
3856
+ highlightbackground: str = ...,
3857
+ highlightcolor: str = ...,
3858
+ highlightthickness: _ScreenUnits = ...,
3859
+ labelanchor: Literal[
3860
+ "nw", "n", "ne", "en", "e", "es", "se", "s", "sw", "ws", "w", "wn"
3861
+ ] = ...,
3862
+ labelwidget: Misc = ...,
3863
+ padx: _ScreenUnits = ...,
3864
+ pady: _ScreenUnits = ...,
3865
+ relief: _Relief = ...,
3866
+ takefocus: _TakeFocusValue = ...,
3867
+ text: float | str = ...,
3868
+ width: _ScreenUnits = ...,
3869
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3870
+ @overload
3871
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
3872
+ config = configure
3873
+
3874
+ class PanedWindow(Widget):
3875
+ def __init__(
3876
+ self,
3877
+ master: Misc | None = None,
3878
+ cnf: dict[str, Any] | None = {},
3879
+ *,
3880
+ background: str = ...,
3881
+ bd: _ScreenUnits = ...,
3882
+ bg: str = ...,
3883
+ border: _ScreenUnits = ...,
3884
+ borderwidth: _ScreenUnits = ...,
3885
+ cursor: _Cursor = ...,
3886
+ handlepad: _ScreenUnits = ...,
3887
+ handlesize: _ScreenUnits = ...,
3888
+ height: _ScreenUnits = ...,
3889
+ name: str = ...,
3890
+ opaqueresize: bool = ...,
3891
+ orient: Literal["horizontal", "vertical"] = ...,
3892
+ proxybackground: str = ...,
3893
+ proxyborderwidth: _ScreenUnits = ...,
3894
+ proxyrelief: _Relief = ...,
3895
+ relief: _Relief = ...,
3896
+ sashcursor: _Cursor = ...,
3897
+ sashpad: _ScreenUnits = ...,
3898
+ sashrelief: _Relief = ...,
3899
+ sashwidth: _ScreenUnits = ...,
3900
+ showhandle: bool = ...,
3901
+ width: _ScreenUnits = ...,
3902
+ ) -> None: ...
3903
+ @overload
3904
+ def configure(
3905
+ self,
3906
+ cnf: dict[str, Any] | None = None,
3907
+ *,
3908
+ background: str = ...,
3909
+ bd: _ScreenUnits = ...,
3910
+ bg: str = ...,
3911
+ border: _ScreenUnits = ...,
3912
+ borderwidth: _ScreenUnits = ...,
3913
+ cursor: _Cursor = ...,
3914
+ handlepad: _ScreenUnits = ...,
3915
+ handlesize: _ScreenUnits = ...,
3916
+ height: _ScreenUnits = ...,
3917
+ opaqueresize: bool = ...,
3918
+ orient: Literal["horizontal", "vertical"] = ...,
3919
+ proxybackground: str = ...,
3920
+ proxyborderwidth: _ScreenUnits = ...,
3921
+ proxyrelief: _Relief = ...,
3922
+ relief: _Relief = ...,
3923
+ sashcursor: _Cursor = ...,
3924
+ sashpad: _ScreenUnits = ...,
3925
+ sashrelief: _Relief = ...,
3926
+ sashwidth: _ScreenUnits = ...,
3927
+ showhandle: bool = ...,
3928
+ width: _ScreenUnits = ...,
3929
+ ) -> dict[str, tuple[str, str, str, Any, Any]] | None: ...
3930
+ @overload
3931
+ def configure(self, cnf: str) -> tuple[str, str, str, Any, Any]: ...
3932
+ config = configure
3933
+ def add(self, child: Widget, **kw) -> None: ...
3934
+ def remove(self, child) -> None: ...
3935
+ forget: Incomplete
3936
+ def identify(self, x: int, y: int): ...
3937
+ def proxy(self, *args): ...
3938
+ def proxy_coord(self): ...
3939
+ def proxy_forget(self): ...
3940
+ def proxy_place(self, x, y): ...
3941
+ def sash(self, *args): ...
3942
+ def sash_coord(self, index): ...
3943
+ def sash_mark(self, index): ...
3944
+ def sash_place(self, index, x, y): ...
3945
+ def panecget(self, child, option): ...
3946
+ def paneconfigure(self, tagOrId, cnf: Incomplete | None = None, **kw): ...
3947
+ paneconfig: Incomplete
3948
+ def panes(self): ...
3949
+
3950
+ def _test() -> None: ...