py2docfx 0.1.13rc2012291__py3-none-any.whl → 0.1.13rc2022156__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 (345) hide show
  1. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
  2. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
  3. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
  4. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
  5. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
  6. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
  7. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
  8. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
  9. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
  10. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
  11. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
  12. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
  13. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
  14. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  15. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
  16. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
  17. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
  18. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
  19. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
  20. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
  21. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
  22. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
  23. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
  25. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
  26. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
  27. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
  28. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
  29. py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
  30. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
  31. py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
  32. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
  33. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
  34. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
  36. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +38 -23
  46. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
  47. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_static.py +1 -1
  48. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
  49. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +1 -1
  50. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
  51. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
  52. py2docfx/venv/basevenv/Lib/site-packages/setuptools/unicode_utils.py +1 -1
  53. py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +2 -1
  54. py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +3 -1
  55. py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +22 -26
  56. py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +3 -4
  57. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +1 -1
  58. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +1 -1
  59. py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +7 -7
  60. py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +2 -2
  61. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +21 -73
  62. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +1 -1
  63. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +11 -17
  64. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +2 -1
  65. py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +8 -11
  66. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +1 -1
  67. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +1 -1
  68. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +2 -1
  69. py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +1 -0
  70. py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +1 -0
  71. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +1 -1
  72. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +1 -3
  73. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +1 -3
  74. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +2 -5
  75. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +14 -41
  76. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +1 -1
  77. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +1 -3
  78. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +1 -1
  79. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +1 -2
  80. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +1 -2
  81. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +3 -3
  82. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +57 -12
  83. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -1
  84. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +1 -1
  85. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -1
  86. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +7 -8
  87. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +1 -1
  88. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +7 -10
  89. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +11 -8
  90. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -1
  91. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -1
  92. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +19 -22
  93. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +2 -3
  94. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +1 -1
  95. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +3 -1
  96. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -1
  97. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +6 -6
  98. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +2 -2
  99. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +2 -1
  100. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +1 -1
  101. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +5 -7
  102. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +7 -2
  103. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +4 -6
  104. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +13 -22
  105. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +1 -1
  106. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +1 -0
  107. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -2
  108. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +3 -3
  109. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +1 -3
  110. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +1 -2
  111. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +7 -10
  112. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +1 -5
  113. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +4 -2
  114. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +3 -5
  115. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +2 -3
  116. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +1 -1
  117. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +3 -3
  118. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +2 -2
  119. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1178 -78
  120. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +17 -21
  121. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +6 -18
  122. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +2 -2
  123. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
  124. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
  125. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
  126. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
  127. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
  128. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
  129. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
  130. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
  131. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
  132. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
  133. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
  134. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
  135. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
  136. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  137. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
  138. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
  139. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
  140. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
  141. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
  142. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
  143. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
  144. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
  145. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
  146. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
  147. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
  148. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
  149. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
  150. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
  151. py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
  152. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
  153. py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
  154. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
  155. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
  156. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
  157. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
  158. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
  159. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
  160. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
  161. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
  162. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
  163. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
  164. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
  165. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
  166. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
  167. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +38 -23
  168. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
  169. py2docfx/venv/venv1/Lib/site-packages/setuptools/_static.py +1 -1
  170. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
  171. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +1 -1
  172. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
  173. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
  174. py2docfx/venv/venv1/Lib/site-packages/setuptools/unicode_utils.py +1 -1
  175. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +1 -1
  176. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +8 -1
  177. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +8 -8
  178. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +1 -1
  179. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +1 -1
  180. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +1 -1
  181. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +1 -1
  182. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +2 -2
  183. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +4 -6
  184. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +4 -4
  185. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -2
  186. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -1
  187. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -3
  188. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -2
  189. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +7 -2
  190. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +1 -1
  191. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +1 -2
  192. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -1
  193. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -3
  194. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -1
  195. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -1
  196. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -1
  197. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +3 -3
  198. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +3 -3
  199. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +1 -2
  200. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +10 -9
  201. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +6 -3
  202. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +17 -5
  203. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +32 -2
  204. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +1 -4
  205. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -1
  206. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +60 -5
  207. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +1 -1
  208. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +2 -5
  209. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +1 -1
  210. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +1 -1
  211. py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1 -1
  212. py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +8 -10
  213. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +2 -10
  214. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +2 -2
  215. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +1 -1
  216. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +1 -1
  217. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +3 -3
  218. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +14 -7
  219. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +16 -35
  220. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1 -4
  221. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +1 -2
  222. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +6 -6
  223. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +10 -11
  224. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +5 -5
  225. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +1 -0
  226. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +4 -6
  227. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +304 -121
  228. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +1 -1
  229. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +4926 -604
  230. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +1 -1
  231. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +194 -0
  232. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +733 -0
  233. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +120 -0
  234. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +4 -7
  235. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +1 -1
  236. py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +13 -5
  237. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +12 -1
  238. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +1 -1
  239. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +8 -4
  240. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +2 -3
  241. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -1
  242. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +16 -3
  243. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +24 -8
  244. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -1
  245. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +2 -5
  246. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +23 -6
  247. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -1
  248. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +19 -0
  249. py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +3 -11
  250. py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +3 -1
  251. py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +97 -65
  252. py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +24 -24
  253. py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +17 -33
  254. py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +14 -14
  255. py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +30 -12
  256. py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +50 -98
  257. py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +12 -8
  258. py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +3 -4
  259. py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +1 -1
  260. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +1 -1
  261. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +1 -1
  262. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +1 -1
  263. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -3
  264. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +1 -1
  265. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +1 -3
  266. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +48 -56
  267. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +2 -6
  268. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +9 -11
  269. py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +1 -1
  270. py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +2 -2
  271. py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +20 -24
  272. py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +8 -8
  273. py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +4 -18
  274. py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +5 -6
  275. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +2 -5
  276. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +7 -7
  277. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -1
  278. py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +2 -4
  279. py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +3 -3
  280. py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +1 -4
  281. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +1 -1
  282. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +1 -2
  283. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +4 -3
  284. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +3 -5
  285. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +2 -7
  286. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +1 -1
  287. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +1 -1
  288. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +40 -57
  289. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +3 -3
  290. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +7 -7
  291. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +2 -3
  292. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +143 -7
  293. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +1 -2
  294. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +1 -2
  295. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +1 -2
  296. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +12 -8
  297. py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +1 -3
  298. py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +1 -3
  299. py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +1 -1
  300. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +1 -1
  301. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -1
  302. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +1 -24
  303. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -20
  304. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +2 -8
  305. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +16 -12
  306. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +1 -3
  307. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +2 -2
  308. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +2 -3
  309. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +2 -4
  310. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +2 -2
  311. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +7 -14
  312. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +2 -14
  313. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +4 -5
  314. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +5 -5
  315. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -1
  316. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +5 -10
  317. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +3 -4
  318. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +1 -2
  319. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +2 -3
  320. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -3
  321. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +3 -3
  322. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +1 -1
  323. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +1 -1
  324. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +1 -0
  325. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1 -3
  326. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +2 -2
  327. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +1 -1
  328. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +1 -1
  329. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +5 -3
  330. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -1
  331. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +1 -1
  332. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +1 -1
  333. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +2 -2
  334. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +1 -2
  335. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +4 -5
  336. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -1
  337. py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +77 -122
  338. py2docfx/venv/venv1/Scripts/pywin32_testall.py +4 -9
  339. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/METADATA +1 -1
  340. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/RECORD +342 -329
  341. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/__init__.py +0 -0
  342. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +0 -850
  343. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +0 -24
  344. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/WHEEL +0 -0
  345. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/top_level.txt +0 -0
@@ -10,13 +10,24 @@ import logging
10
10
  import os
11
11
  import re
12
12
  import sys
13
- from collections.abc import Callable
14
- from typing import Any, ClassVar, TypeVar, overload
13
+ from abc import abstractmethod
14
+ from collections.abc import Callable, MutableSequence
15
+ from typing import TYPE_CHECKING, Any, ClassVar, TypeVar, overload
15
16
 
16
17
  from . import _modified, archive_util, dir_util, file_util, util
17
18
  from ._log import log
18
19
  from .errors import DistutilsOptionError
19
20
 
21
+ if TYPE_CHECKING:
22
+ # type-only import because of mutual dependence between these classes
23
+ from distutils.dist import Distribution
24
+
25
+ from typing_extensions import TypeVarTuple, Unpack
26
+
27
+ _Ts = TypeVarTuple("_Ts")
28
+
29
+ _StrPathT = TypeVar("_StrPathT", bound="str | os.PathLike[str]")
30
+ _BytesPathT = TypeVar("_BytesPathT", bound="bytes | os.PathLike[bytes]")
20
31
  _CommandT = TypeVar("_CommandT", bound="Command")
21
32
 
22
33
 
@@ -61,7 +72,7 @@ class Command:
61
72
 
62
73
  # -- Creation/initialization methods -------------------------------
63
74
 
64
- def __init__(self, dist):
75
+ def __init__(self, dist: Distribution) -> None:
65
76
  """Create and initialize a new Command object. Most importantly,
66
77
  invokes the 'initialize_options()' method, which is the real
67
78
  initializer and depends on the actual command being
@@ -119,7 +130,7 @@ class Command:
119
130
  else:
120
131
  raise AttributeError(attr)
121
132
 
122
- def ensure_finalized(self):
133
+ def ensure_finalized(self) -> None:
123
134
  if not self.finalized:
124
135
  self.finalize_options()
125
136
  self.finalized = True
@@ -137,7 +148,8 @@ class Command:
137
148
  # run the command: do whatever it is we're here to do,
138
149
  # controlled by the command's various option values
139
150
 
140
- def initialize_options(self):
151
+ @abstractmethod
152
+ def initialize_options(self) -> None:
141
153
  """Set default values for all the options that this command
142
154
  supports. Note that these defaults may be overridden by other
143
155
  commands, by the setup script, by config files, or by the
@@ -151,7 +163,8 @@ class Command:
151
163
  f"abstract method -- subclass {self.__class__} must override"
152
164
  )
153
165
 
154
- def finalize_options(self):
166
+ @abstractmethod
167
+ def finalize_options(self) -> None:
155
168
  """Set final values for all the options that this command supports.
156
169
  This is always called as late as possible, ie. after any option
157
170
  assignments from the command-line or from other commands have been
@@ -180,7 +193,8 @@ class Command:
180
193
  value = getattr(self, option)
181
194
  self.announce(indent + f"{option} = {value}", level=logging.INFO)
182
195
 
183
- def run(self):
196
+ @abstractmethod
197
+ def run(self) -> None:
184
198
  """A command's raison d'etre: carry out the action it exists to
185
199
  perform, controlled by the options initialized in
186
200
  'initialize_options()', customized by other commands, the setup
@@ -194,10 +208,10 @@ class Command:
194
208
  f"abstract method -- subclass {self.__class__} must override"
195
209
  )
196
210
 
197
- def announce(self, msg, level=logging.DEBUG):
211
+ def announce(self, msg: object, level: int = logging.DEBUG) -> None:
198
212
  log.log(level, msg)
199
213
 
200
- def debug_print(self, msg):
214
+ def debug_print(self, msg: object) -> None:
201
215
  """Print 'msg' to stdout if the global DEBUG (taken from the
202
216
  DISTUTILS_DEBUG environment variable) flag is true.
203
217
  """
@@ -229,13 +243,13 @@ class Command:
229
243
  raise DistutilsOptionError(f"'{option}' must be a {what} (got `{val}`)")
230
244
  return val
231
245
 
232
- def ensure_string(self, option, default=None):
246
+ def ensure_string(self, option: str, default: str | None = None) -> None:
233
247
  """Ensure that 'option' is a string; if not defined, set it to
234
248
  'default'.
235
249
  """
236
250
  self._ensure_stringlike(option, "string", default)
237
251
 
238
- def ensure_string_list(self, option):
252
+ def ensure_string_list(self, option: str) -> None:
239
253
  r"""Ensure that 'option' is a list of strings. If 'option' is
240
254
  currently a string, we split it either on /,\s*/ or /\s+/, so
241
255
  "foo bar baz", "foo,bar,baz", and "foo, bar baz" all become
@@ -263,13 +277,13 @@ class Command:
263
277
  ("error in '%s' option: " + error_fmt) % (option, val)
264
278
  )
265
279
 
266
- def ensure_filename(self, option):
280
+ def ensure_filename(self, option: str) -> None:
267
281
  """Ensure that 'option' is the name of an existing file."""
268
282
  self._ensure_tested_string(
269
283
  option, os.path.isfile, "filename", "'%s' does not exist or is not a file"
270
284
  )
271
285
 
272
- def ensure_dirname(self, option):
286
+ def ensure_dirname(self, option: str) -> None:
273
287
  self._ensure_tested_string(
274
288
  option,
275
289
  os.path.isdir,
@@ -279,13 +293,15 @@ class Command:
279
293
 
280
294
  # -- Convenience methods for commands ------------------------------
281
295
 
282
- def get_command_name(self):
296
+ def get_command_name(self) -> str:
283
297
  if hasattr(self, 'command_name'):
284
298
  return self.command_name
285
299
  else:
286
300
  return self.__class__.__name__
287
301
 
288
- def set_undefined_options(self, src_cmd, *option_pairs):
302
+ def set_undefined_options(
303
+ self, src_cmd: str, *option_pairs: tuple[str, str]
304
+ ) -> None:
289
305
  """Set the values of any "undefined" options from corresponding
290
306
  option values in some other command object. "Undefined" here means
291
307
  "is None", which is the convention used to indicate that an option
@@ -306,7 +322,9 @@ class Command:
306
322
  if getattr(self, dst_option) is None:
307
323
  setattr(self, dst_option, getattr(src_cmd_obj, src_option))
308
324
 
309
- def get_finalized_command(self, command, create=True):
325
+ # NOTE: Because distutils is private to Setuptools and not all commands are exposed here,
326
+ # not every possible command is enumerated in the signature.
327
+ def get_finalized_command(self, command: str, create: bool = True) -> Command:
310
328
  """Wrapper around Distribution's 'get_command_obj()' method: find
311
329
  (create if necessary and 'create' is true) the command object for
312
330
  'command', call its 'ensure_finalized()' method, and return the
@@ -331,14 +349,14 @@ class Command:
331
349
  ) -> Command:
332
350
  return self.distribution.reinitialize_command(command, reinit_subcommands)
333
351
 
334
- def run_command(self, command):
352
+ def run_command(self, command: str) -> None:
335
353
  """Run some other command: uses the 'run_command()' method of
336
354
  Distribution, which creates and finalizes the command object if
337
355
  necessary and then invokes its 'run()' method.
338
356
  """
339
357
  self.distribution.run_command(command)
340
358
 
341
- def get_sub_commands(self):
359
+ def get_sub_commands(self) -> list[str]:
342
360
  """Determine the sub-commands that are relevant in the current
343
361
  distribution (ie., that need to be run). This is based on the
344
362
  'sub_commands' class attribute: each tuple in that list may include
@@ -353,24 +371,50 @@ class Command:
353
371
 
354
372
  # -- External world manipulation -----------------------------------
355
373
 
356
- def warn(self, msg):
374
+ def warn(self, msg: object) -> None:
357
375
  log.warning("warning: %s: %s\n", self.get_command_name(), msg)
358
376
 
359
- def execute(self, func, args, msg=None, level=1):
377
+ def execute(
378
+ self,
379
+ func: Callable[[Unpack[_Ts]], object],
380
+ args: tuple[Unpack[_Ts]],
381
+ msg: object = None,
382
+ level: int = 1,
383
+ ) -> None:
360
384
  util.execute(func, args, msg, dry_run=self.dry_run)
361
385
 
362
- def mkpath(self, name, mode=0o777):
386
+ def mkpath(self, name: str, mode: int = 0o777) -> None:
363
387
  dir_util.mkpath(name, mode, dry_run=self.dry_run)
364
388
 
389
+ @overload
365
390
  def copy_file(
366
391
  self,
367
- infile,
368
- outfile,
369
- preserve_mode=True,
370
- preserve_times=True,
371
- link=None,
372
- level=1,
373
- ):
392
+ infile: str | os.PathLike[str],
393
+ outfile: _StrPathT,
394
+ preserve_mode: bool = True,
395
+ preserve_times: bool = True,
396
+ link: str | None = None,
397
+ level: int = 1,
398
+ ) -> tuple[_StrPathT | str, bool]: ...
399
+ @overload
400
+ def copy_file(
401
+ self,
402
+ infile: bytes | os.PathLike[bytes],
403
+ outfile: _BytesPathT,
404
+ preserve_mode: bool = True,
405
+ preserve_times: bool = True,
406
+ link: str | None = None,
407
+ level: int = 1,
408
+ ) -> tuple[_BytesPathT | bytes, bool]: ...
409
+ def copy_file(
410
+ self,
411
+ infile: str | os.PathLike[str] | bytes | os.PathLike[bytes],
412
+ outfile: str | os.PathLike[str] | bytes | os.PathLike[bytes],
413
+ preserve_mode: bool = True,
414
+ preserve_times: bool = True,
415
+ link: str | None = None,
416
+ level: int = 1,
417
+ ) -> tuple[str | os.PathLike[str] | bytes | os.PathLike[bytes], bool]:
374
418
  """Copy a file respecting verbose, dry-run and force flags. (The
375
419
  former two default to whatever is in the Distribution object, and
376
420
  the latter defaults to false for commands that don't define it.)"""
@@ -386,13 +430,13 @@ class Command:
386
430
 
387
431
  def copy_tree(
388
432
  self,
389
- infile,
390
- outfile,
391
- preserve_mode=True,
392
- preserve_times=True,
393
- preserve_symlinks=False,
394
- level=1,
395
- ):
433
+ infile: str | os.PathLike[str],
434
+ outfile: str,
435
+ preserve_mode: bool = True,
436
+ preserve_times: bool = True,
437
+ preserve_symlinks: bool = False,
438
+ level: int = 1,
439
+ ) -> list[str]:
396
440
  """Copy an entire directory tree respecting verbose, dry-run,
397
441
  and force flags.
398
442
  """
@@ -406,19 +450,60 @@ class Command:
406
450
  dry_run=self.dry_run,
407
451
  )
408
452
 
409
- def move_file(self, src, dst, level=1):
453
+ @overload
454
+ def move_file(
455
+ self, src: str | os.PathLike[str], dst: _StrPathT, level: int = 1
456
+ ) -> _StrPathT | str: ...
457
+ @overload
458
+ def move_file(
459
+ self, src: bytes | os.PathLike[bytes], dst: _BytesPathT, level: int = 1
460
+ ) -> _BytesPathT | bytes: ...
461
+ def move_file(
462
+ self,
463
+ src: str | os.PathLike[str] | bytes | os.PathLike[bytes],
464
+ dst: str | os.PathLike[str] | bytes | os.PathLike[bytes],
465
+ level: int = 1,
466
+ ) -> str | os.PathLike[str] | bytes | os.PathLike[bytes]:
410
467
  """Move a file respecting dry-run flag."""
411
468
  return file_util.move_file(src, dst, dry_run=self.dry_run)
412
469
 
413
- def spawn(self, cmd, search_path=True, level=1):
470
+ def spawn(
471
+ self, cmd: MutableSequence[str], search_path: bool = True, level: int = 1
472
+ ) -> None:
414
473
  """Spawn an external command respecting dry-run flag."""
415
474
  from distutils.spawn import spawn
416
475
 
417
476
  spawn(cmd, search_path, dry_run=self.dry_run)
418
477
 
478
+ @overload
479
+ def make_archive(
480
+ self,
481
+ base_name: str,
482
+ format: str,
483
+ root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes] | None = None,
484
+ base_dir: str | None = None,
485
+ owner: str | None = None,
486
+ group: str | None = None,
487
+ ) -> str: ...
488
+ @overload
489
+ def make_archive(
490
+ self,
491
+ base_name: str | os.PathLike[str],
492
+ format: str,
493
+ root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes],
494
+ base_dir: str | None = None,
495
+ owner: str | None = None,
496
+ group: str | None = None,
497
+ ) -> str: ...
419
498
  def make_archive(
420
- self, base_name, format, root_dir=None, base_dir=None, owner=None, group=None
421
- ):
499
+ self,
500
+ base_name: str | os.PathLike[str],
501
+ format: str,
502
+ root_dir: str | os.PathLike[str] | bytes | os.PathLike[bytes] | None = None,
503
+ base_dir: str | None = None,
504
+ owner: str | None = None,
505
+ group: str | None = None,
506
+ ) -> str:
422
507
  return archive_util.make_archive(
423
508
  base_name,
424
509
  format,
@@ -430,8 +515,15 @@ class Command:
430
515
  )
431
516
 
432
517
  def make_file(
433
- self, infiles, outfile, func, args, exec_msg=None, skip_msg=None, level=1
434
- ):
518
+ self,
519
+ infiles: str | list[str] | tuple[str, ...],
520
+ outfile: str | os.PathLike[str] | bytes | os.PathLike[bytes],
521
+ func: Callable[[Unpack[_Ts]], object],
522
+ args: tuple[Unpack[_Ts]],
523
+ exec_msg: object = None,
524
+ skip_msg: object = None,
525
+ level: int = 1,
526
+ ) -> None:
435
527
  """Special case of 'execute()' for operations that process one or
436
528
  more input files and generate one output file. Works just like
437
529
  'execute()', except the operation is skipped and a different
@@ -3,14 +3,24 @@
3
3
  Implements the Distutils 'bdist' command (create a built [binary]
4
4
  distribution)."""
5
5
 
6
+ from __future__ import annotations
7
+
6
8
  import os
7
9
  import warnings
8
- from typing import ClassVar
10
+ from collections.abc import Callable
11
+ from typing import TYPE_CHECKING, ClassVar
9
12
 
10
13
  from ..core import Command
11
14
  from ..errors import DistutilsOptionError, DistutilsPlatformError
12
15
  from ..util import get_platform
13
16
 
17
+ if TYPE_CHECKING:
18
+ from typing_extensions import deprecated
19
+ else:
20
+
21
+ def deprecated(message):
22
+ return lambda fn: fn
23
+
14
24
 
15
25
  def show_formats():
16
26
  """Print list of available formats (arguments to "--format" option)."""
@@ -26,9 +36,10 @@ def show_formats():
26
36
 
27
37
  class ListCompat(dict[str, tuple[str, str]]):
28
38
  # adapter to allow for Setuptools compatibility in format_commands
29
- def append(self, item):
39
+ @deprecated("format_commands is now a dict. append is deprecated.")
40
+ def append(self, item: object) -> None:
30
41
  warnings.warn(
31
- """format_commands is now a dict. append is deprecated.""",
42
+ "format_commands is now a dict. append is deprecated.",
32
43
  DeprecationWarning,
33
44
  stacklevel=2,
34
45
  )
@@ -64,9 +75,9 @@ class bdist(Command):
64
75
  ),
65
76
  ]
66
77
 
67
- boolean_options = ['skip-build']
78
+ boolean_options: ClassVar[list[str]] = ['skip-build']
68
79
 
69
- help_options = [
80
+ help_options: ClassVar[list[tuple[str, str | None, str, Callable[[], object]]]] = [
70
81
  ('help-formats', None, "lists available distribution formats", show_formats),
71
82
  ]
72
83
 
@@ -75,7 +86,7 @@ class bdist(Command):
75
86
 
76
87
  # This won't do in reality: will need to distinguish RPM-ish Linux,
77
88
  # Debian-ish Linux, Solaris, FreeBSD, ..., Windows, Mac OS.
78
- default_format = {'posix': 'gztar', 'nt': 'zip'}
89
+ default_format: ClassVar[dict[str, str]] = {'posix': 'gztar', 'nt': 'zip'}
79
90
 
80
91
  # Define commands in preferred order for the --help-formats option
81
92
  format_commands = ListCompat({
@@ -100,7 +111,7 @@ class bdist(Command):
100
111
  self.group = None
101
112
  self.owner = None
102
113
 
103
- def finalize_options(self):
114
+ def finalize_options(self) -> None:
104
115
  # have to finalize 'plat_name' before 'bdist_base'
105
116
  if self.plat_name is None:
106
117
  if self.skip_build:
@@ -128,7 +139,7 @@ class bdist(Command):
128
139
  if self.dist_dir is None:
129
140
  self.dist_dir = "dist"
130
141
 
131
- def run(self):
142
+ def run(self) -> None:
132
143
  # Figure out which sub-commands we need to run.
133
144
  commands = []
134
145
  for format in self.formats:
@@ -6,6 +6,7 @@ $exec_prefix)."""
6
6
 
7
7
  import os
8
8
  from distutils._log import log
9
+ from typing import ClassVar
9
10
 
10
11
  from ..core import Command
11
12
  from ..dir_util import ensure_relative, remove_tree
@@ -54,7 +55,7 @@ class bdist_dumb(Command):
54
55
  ),
55
56
  ]
56
57
 
57
- boolean_options = ['keep-temp', 'skip-build', 'relative']
58
+ boolean_options: ClassVar[list[str]] = ['keep-temp', 'skip-build', 'relative']
58
59
 
59
60
  default_format = {'posix': 'gztar', 'nt': 'zip'}
60
61
 
@@ -7,6 +7,7 @@ import os
7
7
  import subprocess
8
8
  import sys
9
9
  from distutils._log import log
10
+ from typing import ClassVar
10
11
 
11
12
  from ..core import Command
12
13
  from ..debug import DEBUG
@@ -136,7 +137,7 @@ class bdist_rpm(Command):
136
137
  ('quiet', 'q', "Run the INSTALL phase of RPM building in quiet mode"),
137
138
  ]
138
139
 
139
- boolean_options = [
140
+ boolean_options: ClassVar[list[str]] = [
140
141
  'keep-temp',
141
142
  'use-rpm-opt-flags',
142
143
  'rpm3-mode',
@@ -144,7 +145,7 @@ class bdist_rpm(Command):
144
145
  'quiet',
145
146
  ]
146
147
 
147
- negative_opt = {
148
+ negative_opt: ClassVar[dict[str, str]] = {
148
149
  'no-keep-temp': 'keep-temp',
149
150
  'no-rpm-opt-flags': 'use-rpm-opt-flags',
150
151
  'rpm2-mode': 'rpm3-mode',
@@ -195,7 +196,7 @@ class bdist_rpm(Command):
195
196
  self.force_arch = None
196
197
  self.quiet = False
197
198
 
198
- def finalize_options(self):
199
+ def finalize_options(self) -> None:
199
200
  self.set_undefined_options('bdist', ('bdist_base', 'bdist_base'))
200
201
  if self.rpm_base is None:
201
202
  if not self.rpm3_mode:
@@ -228,7 +229,7 @@ class bdist_rpm(Command):
228
229
  self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
229
230
  self.finalize_package_data()
230
231
 
231
- def finalize_package_data(self):
232
+ def finalize_package_data(self) -> None:
232
233
  self.ensure_string('group', "Development/Libraries")
233
234
  self.ensure_string(
234
235
  'vendor',
@@ -274,7 +275,7 @@ class bdist_rpm(Command):
274
275
 
275
276
  self.ensure_string('force_arch')
276
277
 
277
- def run(self): # noqa: C901
278
+ def run(self) -> None: # noqa: C901
278
279
  if DEBUG:
279
280
  print("before _get_package_data():")
280
281
  print("vendor =", self.vendor)
@@ -2,9 +2,13 @@
2
2
 
3
3
  Implements the Distutils 'build' command."""
4
4
 
5
+ from __future__ import annotations
6
+
5
7
  import os
6
8
  import sys
7
9
  import sysconfig
10
+ from collections.abc import Callable
11
+ from typing import ClassVar
8
12
 
9
13
  from ..core import Command
10
14
  from ..errors import DistutilsOptionError
@@ -43,9 +47,9 @@ class build(Command):
43
47
  ('executable=', 'e', "specify final destination interpreter path (build.py)"),
44
48
  ]
45
49
 
46
- boolean_options = ['debug', 'force']
50
+ boolean_options: ClassVar[list[str]] = ['debug', 'force']
47
51
 
48
- help_options = [
52
+ help_options: ClassVar[list[tuple[str, str | None, str, Callable[[], object]]]] = [
49
53
  ('help-compiler', None, "list available compilers", show_compilers),
50
54
  ]
51
55
 
@@ -65,7 +69,7 @@ class build(Command):
65
69
  self.executable = None
66
70
  self.parallel = None
67
71
 
68
- def finalize_options(self): # noqa: C901
72
+ def finalize_options(self) -> None: # noqa: C901
69
73
  if self.plat_name is None:
70
74
  self.plat_name = get_platform()
71
75
  else:
@@ -126,7 +130,7 @@ class build(Command):
126
130
  except ValueError:
127
131
  raise DistutilsOptionError("parallel should be an integer")
128
132
 
129
- def run(self):
133
+ def run(self) -> None:
130
134
  # Run all relevant sub-commands. This will be some subset of:
131
135
  # - build_py - pure Python modules
132
136
  # - build_clib - standalone C libraries
@@ -4,7 +4,6 @@ Implements the Distutils 'build_clib' command, to build a C/C++ library
4
4
  that is included in the module distribution and needed by an extension
5
5
  module."""
6
6
 
7
-
8
7
  # XXX this module has *lots* of code ripped-off quite transparently from
9
8
  # build_ext.py -- not surprisingly really, as the work required to build
10
9
  # a static library from a collection of C source files is not really all
@@ -13,8 +12,10 @@ module."""
13
12
  # necessary refactoring to account for the overlap in code between the
14
13
  # two modules, mainly because a number of subtle details changed in the
15
14
  # cut 'n paste. Sigh.
15
+ from __future__ import annotations
16
16
 
17
17
  import os
18
+ from collections.abc import Callable
18
19
  from distutils._log import log
19
20
  from typing import ClassVar
20
21
 
@@ -40,9 +41,9 @@ class build_clib(Command):
40
41
  ('compiler=', 'c', "specify the compiler type"),
41
42
  ]
42
43
 
43
- boolean_options = ['debug', 'force']
44
+ boolean_options: ClassVar[list[str]] = ['debug', 'force']
44
45
 
45
- help_options = [
46
+ help_options: ClassVar[list[tuple[str, str | None, str, Callable[[], object]]]] = [
46
47
  ('help-compiler', None, "list available compilers", show_compilers),
47
48
  ]
48
49
 
@@ -61,7 +62,7 @@ class build_clib(Command):
61
62
  self.force = False
62
63
  self.compiler = None
63
64
 
64
- def finalize_options(self):
65
+ def finalize_options(self) -> None:
65
66
  # This might be confusing: both build-clib and build-temp default
66
67
  # to build-temp as defined by the "build" command. This is because
67
68
  # I think that C libraries are really just temporary build
@@ -88,7 +89,7 @@ class build_clib(Command):
88
89
  # XXX same as for build_ext -- what about 'self.define' and
89
90
  # 'self.undef' ?
90
91
 
91
- def run(self):
92
+ def run(self) -> None:
92
93
  if not self.libraries:
93
94
  return
94
95
 
@@ -112,7 +113,7 @@ class build_clib(Command):
112
113
 
113
114
  self.build_libraries(self.libraries)
114
115
 
115
- def check_library_list(self, libraries):
116
+ def check_library_list(self, libraries) -> None:
116
117
  """Ensure that the list of libraries is valid.
117
118
 
118
119
  `library` is presumably provided as a command option 'libraries'.
@@ -174,7 +175,7 @@ class build_clib(Command):
174
175
  filenames.extend(sources)
175
176
  return filenames
176
177
 
177
- def build_libraries(self, libraries):
178
+ def build_libraries(self, libraries) -> None:
178
179
  for lib_name, build_info in libraries:
179
180
  sources = build_info.get('sources')
180
181
  if sources is None or not isinstance(sources, (list, tuple)):