py2docfx 0.1.9.dev1897607__py3-none-any.whl → 0.1.9.dev1917798__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 (363) hide show
  1. py2docfx/convert_prepare/environment.py +25 -6
  2. py2docfx/convert_prepare/tests/test_generate_document.py +4 -4
  3. py2docfx/convert_prepare/tests/test_get_source.py +6 -6
  4. py2docfx/convert_prepare/tests/test_params.py +1 -1
  5. py2docfx/convert_prepare/tests/test_sphinx_caller.py +3 -3
  6. py2docfx/venv/basevenv/Lib/site-packages/_distutils_hack/__init__.py +2 -3
  7. py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +2 -2
  8. py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +4 -4
  9. py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -0
  10. py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +145 -0
  11. py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
  12. py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +15 -9
  13. py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +83 -24
  14. py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +19 -8
  15. py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +78 -29
  16. py2docfx/venv/basevenv/Lib/site-packages/packaging/utils.py +33 -44
  17. py2docfx/venv/basevenv/Lib/site-packages/packaging/version.py +26 -7
  18. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +27 -32
  19. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
  20. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
  21. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
  22. py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +7 -9
  23. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
  25. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
  26. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_importlib.py +1 -4
  27. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +5 -8
  28. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +2 -1
  29. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +53 -0
  30. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
  31. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
  32. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
  33. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
  34. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
  36. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/archive_util.py +6 -4
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +23 -17
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/__init__.py +9 -1
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/alias.py +3 -4
  46. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
  47. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
  48. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
  49. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build.py +3 -3
  50. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_clib.py +2 -9
  51. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +13 -12
  52. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_py.py +17 -16
  53. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +4 -4
  54. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/dist_info.py +3 -7
  55. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +55 -78
  56. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
  57. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +29 -30
  58. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +31 -13
  59. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
  60. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_lib.py +10 -7
  61. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
  62. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/rotate.py +6 -6
  63. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +9 -8
  64. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/setopt.py +2 -2
  65. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
  66. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/expand.py +22 -16
  67. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
  68. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
  69. py2docfx/venv/basevenv/Lib/site-packages/setuptools/depends.py +26 -7
  70. py2docfx/venv/basevenv/Lib/site-packages/setuptools/discovery.py +21 -14
  71. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +48 -45
  72. py2docfx/venv/basevenv/Lib/site-packages/setuptools/errors.py +21 -26
  73. py2docfx/venv/basevenv/Lib/site-packages/setuptools/extension.py +18 -6
  74. py2docfx/venv/basevenv/Lib/site-packages/setuptools/glob.py +35 -15
  75. py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +6 -1
  76. py2docfx/venv/basevenv/Lib/site-packages/setuptools/launch.py +1 -1
  77. py2docfx/venv/basevenv/Lib/site-packages/setuptools/logging.py +2 -2
  78. py2docfx/venv/basevenv/Lib/site-packages/setuptools/modified.py +16 -6
  79. py2docfx/venv/basevenv/Lib/site-packages/setuptools/monkey.py +2 -2
  80. py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +25 -14
  81. py2docfx/venv/basevenv/Lib/site-packages/setuptools/namespaces.py +2 -2
  82. py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +42 -43
  83. py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +19 -12
  84. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
  85. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
  86. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
  87. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
  88. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
  89. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
  90. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
  91. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
  92. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
  93. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
  94. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
  95. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
  96. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
  97. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
  98. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
  99. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
  100. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
  101. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
  102. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
  103. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
  104. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
  105. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
  106. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
  107. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
  108. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
  109. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
  110. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
  111. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
  112. py2docfx/venv/basevenv/Lib/site-packages/setuptools/warnings.py +5 -2
  113. py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +4 -4
  114. py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
  115. py2docfx/venv/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
  116. py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +17 -2
  117. py2docfx/venv/basevenv/Lib/site-packages/wheel/cli/convert.py +280 -220
  118. py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -9
  119. py2docfx/venv/venv1/Lib/site-packages/_distutils_hack/__init__.py +2 -3
  120. py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +1 -1
  121. py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +2 -2
  122. py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +5 -3
  123. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
  124. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +6 -1
  125. py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +13 -5
  126. py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +3 -3
  127. py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +1 -1
  128. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +16 -5
  129. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +15 -4
  130. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +20 -10
  131. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +3 -1
  132. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +55 -19
  133. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +46 -15
  134. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +8 -3
  135. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +9 -3
  136. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +9 -2
  137. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +4 -1
  138. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +27 -8
  139. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +6 -3
  140. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +4 -1
  141. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +6 -10
  142. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +101 -1
  143. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +1 -1
  144. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +9 -2
  145. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +1 -1
  146. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +7 -5
  147. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +0 -1
  148. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +11 -3
  149. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +11 -3
  150. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +5 -2
  151. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +4 -1
  152. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +3 -1
  153. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +47 -16
  154. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +3 -1
  155. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +1 -1
  156. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +3 -1
  157. py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +1 -1
  158. py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +15 -3
  159. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +15 -5
  160. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +1 -1
  161. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +12 -1
  162. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +24 -4
  163. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +119 -110
  164. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +1 -1
  165. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +3 -1
  166. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +10 -1
  167. py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +41 -39
  168. py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +2 -2
  169. py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +2 -2
  170. py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +17 -11
  171. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +17 -13
  172. py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +1 -3
  173. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
  174. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +4 -0
  175. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +1 -1
  176. py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +25 -8
  177. py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +34 -16
  178. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +2 -1
  179. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +2 -3
  180. py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
  181. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +10 -2
  182. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +1 -0
  183. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +27 -32
  184. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
  185. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
  186. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
  187. py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +3 -1
  188. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +7 -2
  189. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +18 -21
  190. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +7 -3
  191. py2docfx/venv/venv1/Lib/site-packages/proto/message.py +6 -35
  192. py2docfx/venv/venv1/Lib/site-packages/proto/version.py +1 -1
  193. py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +7 -9
  194. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
  195. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
  196. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
  197. py2docfx/venv/venv1/Lib/site-packages/setuptools/_importlib.py +1 -4
  198. py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +5 -8
  199. py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +2 -1
  200. py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +53 -0
  201. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
  202. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
  203. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
  204. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
  205. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
  206. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
  207. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
  208. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
  209. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
  210. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
  211. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
  212. py2docfx/venv/venv1/Lib/site-packages/setuptools/archive_util.py +6 -4
  213. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +23 -17
  214. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/__init__.py +9 -1
  215. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
  216. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/alias.py +3 -4
  217. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
  218. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
  219. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
  220. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build.py +3 -3
  221. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_clib.py +2 -9
  222. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +13 -12
  223. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_py.py +17 -16
  224. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +4 -4
  225. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/dist_info.py +3 -7
  226. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +55 -78
  227. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
  228. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +29 -30
  229. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +31 -13
  230. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
  231. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_lib.py +10 -7
  232. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
  233. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/rotate.py +6 -6
  234. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +9 -8
  235. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/setopt.py +2 -2
  236. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
  237. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/expand.py +22 -16
  238. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
  239. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
  240. py2docfx/venv/venv1/Lib/site-packages/setuptools/depends.py +26 -7
  241. py2docfx/venv/venv1/Lib/site-packages/setuptools/discovery.py +21 -14
  242. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +48 -45
  243. py2docfx/venv/venv1/Lib/site-packages/setuptools/errors.py +21 -26
  244. py2docfx/venv/venv1/Lib/site-packages/setuptools/extension.py +18 -6
  245. py2docfx/venv/venv1/Lib/site-packages/setuptools/glob.py +35 -15
  246. py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +6 -1
  247. py2docfx/venv/venv1/Lib/site-packages/setuptools/launch.py +1 -1
  248. py2docfx/venv/venv1/Lib/site-packages/setuptools/logging.py +2 -2
  249. py2docfx/venv/venv1/Lib/site-packages/setuptools/modified.py +16 -6
  250. py2docfx/venv/venv1/Lib/site-packages/setuptools/monkey.py +2 -2
  251. py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +25 -14
  252. py2docfx/venv/venv1/Lib/site-packages/setuptools/namespaces.py +2 -2
  253. py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +42 -43
  254. py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +19 -12
  255. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
  256. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
  257. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
  258. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
  259. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
  260. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
  261. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
  262. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
  263. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
  264. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
  265. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
  266. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
  267. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
  268. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
  269. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
  270. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
  271. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
  272. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
  273. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
  274. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
  275. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
  276. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
  277. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
  278. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
  279. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
  280. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
  281. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
  282. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
  283. py2docfx/venv/venv1/Lib/site-packages/setuptools/warnings.py +5 -2
  284. py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +4 -4
  285. py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
  286. py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
  287. py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +17 -2
  288. py2docfx/venv/venv1/Lib/site-packages/wheel/cli/convert.py +280 -220
  289. py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -9
  290. {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/METADATA +1 -1
  291. {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/RECORD +293 -353
  292. {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/WHEEL +1 -1
  293. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  294. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
  295. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
  296. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
  297. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
  298. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
  299. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
  300. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
  301. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
  302. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
  303. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
  304. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
  305. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
  306. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
  307. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
  308. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
  309. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
  310. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
  311. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
  312. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
  313. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
  314. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
  315. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
  316. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
  317. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
  318. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
  319. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
  320. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
  321. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
  322. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
  323. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
  324. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
  325. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
  326. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
  327. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
  328. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  329. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
  330. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
  331. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
  332. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
  333. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
  334. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
  335. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
  336. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
  337. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
  338. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
  339. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
  340. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
  341. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
  342. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
  343. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
  344. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
  345. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
  346. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
  347. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
  348. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
  349. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
  350. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
  351. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
  352. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
  353. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
  354. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
  355. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
  356. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
  357. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
  358. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
  359. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
  360. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
  361. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
  362. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
  363. {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,6 @@
2
2
 
3
3
  Create a distribution's .egg-info directory and contents"""
4
4
 
5
- import collections
6
5
  import functools
7
6
  import os
8
7
  import re
@@ -32,7 +31,7 @@ from distutils.errors import DistutilsInternalError
32
31
  from distutils.filelist import FileList as _FileList
33
32
  from distutils.util import convert_path
34
33
 
35
- PY_MAJOR = '{}.{}'.format(*sys.version_info)
34
+ PY_MAJOR = f'{sys.version_info.major}.{sys.version_info.minor}'
36
35
 
37
36
 
38
37
  def translate_pattern(glob): # noqa: C901 # is too complex (14) # FIXME
@@ -196,7 +195,7 @@ class egg_info(InfoCommon, Command):
196
195
  # allow the 'tag_svn_revision' to be detected and
197
196
  # set, supporting sdists built on older Setuptools.
198
197
  @property
199
- def tag_svn_revision(self):
198
+ def tag_svn_revision(self) -> None:
200
199
  pass
201
200
 
202
201
  @tag_svn_revision.setter
@@ -205,20 +204,18 @@ class egg_info(InfoCommon, Command):
205
204
 
206
205
  ####################################
207
206
 
208
- def save_version_info(self, filename):
207
+ def save_version_info(self, filename) -> None:
209
208
  """
210
209
  Materialize the value of date into the
211
210
  build tag. Install build keys in a deterministic order
212
211
  to avoid arbitrary reordering on subsequent builds.
213
212
  """
214
- egg_info = collections.OrderedDict()
215
213
  # follow the order these keys would have been added
216
214
  # when PYTHONHASHSEED=0
217
- egg_info['tag_build'] = self.tags()
218
- egg_info['tag_date'] = 0
215
+ egg_info = dict(tag_build=self.tags(), tag_date=0)
219
216
  edit_config(filename, dict(egg_info=egg_info))
220
217
 
221
- def finalize_options(self):
218
+ def finalize_options(self) -> None:
222
219
  # Note: we need to capture the current value returned
223
220
  # by `self.tagged_version()`, so we can later update
224
221
  # `self.distribution.metadata.version` without
@@ -255,7 +252,7 @@ class egg_info(InfoCommon, Command):
255
252
  """Compute filename of the output egg. Private API."""
256
253
  return _egg_basename(self.egg_name, self.egg_version, py_version, platform)
257
254
 
258
- def write_or_delete_file(self, what, filename, data, force=False):
255
+ def write_or_delete_file(self, what, filename, data, force: bool = False) -> None:
259
256
  """Write `data` to `filename` or delete if empty
260
257
 
261
258
  If `data` is non-empty, this routine is the same as ``write_file()``.
@@ -273,7 +270,7 @@ class egg_info(InfoCommon, Command):
273
270
  else:
274
271
  self.delete_file(filename)
275
272
 
276
- def write_file(self, what, filename, data):
273
+ def write_file(self, what, filename, data) -> None:
277
274
  """Write `data` to `filename` (if not a dry run) after announcing it
278
275
 
279
276
  `what` is used in a log message to identify what is being written
@@ -286,13 +283,13 @@ class egg_info(InfoCommon, Command):
286
283
  f.write(data)
287
284
  f.close()
288
285
 
289
- def delete_file(self, filename):
286
+ def delete_file(self, filename) -> None:
290
287
  """Delete `filename` (if not a dry run) after announcing it"""
291
288
  log.info("deleting %s", filename)
292
289
  if not self.dry_run:
293
290
  os.unlink(filename)
294
291
 
295
- def run(self):
292
+ def run(self) -> None:
296
293
  # Pre-load to avoid iterating over entry-points while an empty .egg-info
297
294
  # exists in sys.path. See pypa/pyproject-hooks#206
298
295
  writers = list(metadata.entry_points(group='egg_info.writers'))
@@ -314,7 +311,7 @@ class egg_info(InfoCommon, Command):
314
311
 
315
312
  self.find_sources()
316
313
 
317
- def find_sources(self):
314
+ def find_sources(self) -> None:
318
315
  """Generate SOURCES.txt manifest file"""
319
316
  manifest_filename = os.path.join(self.egg_info, "SOURCES.txt")
320
317
  mm = manifest_maker(self.distribution)
@@ -327,7 +324,9 @@ class egg_info(InfoCommon, Command):
327
324
  class FileList(_FileList):
328
325
  # Implementations of the various MANIFEST.in commands
329
326
 
330
- def __init__(self, warn=None, debug_print=None, ignore_egg_info_dir=False):
327
+ def __init__(
328
+ self, warn=None, debug_print=None, ignore_egg_info_dir: bool = False
329
+ ) -> None:
331
330
  super().__init__(warn, debug_print)
332
331
  self.ignore_egg_info_dir = ignore_egg_info_dir
333
332
 
@@ -475,7 +474,7 @@ class FileList(_FileList):
475
474
  match = translate_pattern(os.path.join('**', pattern))
476
475
  return self._remove_files(match.match)
477
476
 
478
- def append(self, item):
477
+ def append(self, item) -> None:
479
478
  if item.endswith('\r'): # Fix older sdists built on Windows
480
479
  item = item[:-1]
481
480
  path = convert_path(item)
@@ -483,7 +482,7 @@ class FileList(_FileList):
483
482
  if self._safe_path(path):
484
483
  self.files.append(path)
485
484
 
486
- def extend(self, paths):
485
+ def extend(self, paths) -> None:
487
486
  self.files.extend(filter(self._safe_path, paths))
488
487
 
489
488
  def _repair(self):
@@ -527,17 +526,17 @@ class FileList(_FileList):
527
526
  class manifest_maker(sdist):
528
527
  template = "MANIFEST.in"
529
528
 
530
- def initialize_options(self):
529
+ def initialize_options(self) -> None:
531
530
  self.use_defaults = True
532
531
  self.prune = True
533
532
  self.manifest_only = True
534
533
  self.force_manifest = True
535
534
  self.ignore_egg_info_dir = False
536
535
 
537
- def finalize_options(self):
536
+ def finalize_options(self) -> None:
538
537
  pass
539
538
 
540
- def run(self):
539
+ def run(self) -> None:
541
540
  self.filelist = FileList(ignore_egg_info_dir=self.ignore_egg_info_dir)
542
541
  if not os.path.exists(self.manifest):
543
542
  self.write_manifest() # it must exist so it'll get in the list
@@ -555,7 +554,7 @@ class manifest_maker(sdist):
555
554
  path = unicode_utils.filesys_decode(path)
556
555
  return path.replace(os.sep, '/')
557
556
 
558
- def write_manifest(self):
557
+ def write_manifest(self) -> None:
559
558
  """
560
559
  Write the file list in 'self.filelist' to the manifest file
561
560
  named by 'self.manifest'.
@@ -567,7 +566,7 @@ class manifest_maker(sdist):
567
566
  msg = "writing manifest file '%s'" % self.manifest
568
567
  self.execute(write_file, (self.manifest, files), msg)
569
568
 
570
- def warn(self, msg):
569
+ def warn(self, msg) -> None:
571
570
  if not self._should_suppress_warning(msg):
572
571
  sdist.warn(self, msg)
573
572
 
@@ -578,7 +577,7 @@ class manifest_maker(sdist):
578
577
  """
579
578
  return re.match(r"standard file .*not found", msg)
580
579
 
581
- def add_defaults(self):
580
+ def add_defaults(self) -> None:
582
581
  sdist.add_defaults(self)
583
582
  self.filelist.append(self.template)
584
583
  self.filelist.append(self.manifest)
@@ -596,7 +595,7 @@ class manifest_maker(sdist):
596
595
  ei_cmd = self.get_finalized_command('egg_info')
597
596
  self.filelist.graft(ei_cmd.egg_info)
598
597
 
599
- def add_license_files(self):
598
+ def add_license_files(self) -> None:
600
599
  license_files = self.distribution.metadata.license_files or []
601
600
  for lf in license_files:
602
601
  log.info("adding license file '%s'", lf)
@@ -635,7 +634,7 @@ class manifest_maker(sdist):
635
634
  return build_py.get_data_files()
636
635
 
637
636
 
638
- def write_file(filename, contents):
637
+ def write_file(filename, contents) -> None:
639
638
  """Create a file with the specified name and write 'contents' (a
640
639
  sequence of strings without line terminators) to it.
641
640
  """
@@ -648,7 +647,7 @@ def write_file(filename, contents):
648
647
  f.write(contents)
649
648
 
650
649
 
651
- def write_pkg_info(cmd, basename, filename):
650
+ def write_pkg_info(cmd, basename, filename) -> None:
652
651
  log.info("writing %s", filename)
653
652
  if not cmd.dry_run:
654
653
  metadata = cmd.distribution.metadata
@@ -667,7 +666,7 @@ def write_pkg_info(cmd, basename, filename):
667
666
  bdist_egg.write_safety_flag(cmd.egg_info, safe)
668
667
 
669
668
 
670
- def warn_depends_obsolete(cmd, basename, filename):
669
+ def warn_depends_obsolete(cmd, basename, filename) -> None:
671
670
  """
672
671
  Unused: left to avoid errors when updating (from source) from <= 67.8.
673
672
  Old installations have a .dist-info directory with the entry-point
@@ -682,18 +681,18 @@ write_requirements = _requirestxt.write_requirements
682
681
  write_setup_requirements = _requirestxt.write_setup_requirements
683
682
 
684
683
 
685
- def write_toplevel_names(cmd, basename, filename):
684
+ def write_toplevel_names(cmd, basename, filename) -> None:
686
685
  pkgs = dict.fromkeys([
687
686
  k.split('.', 1)[0] for k in cmd.distribution.iter_distribution_names()
688
687
  ])
689
688
  cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs)) + '\n')
690
689
 
691
690
 
692
- def overwrite_arg(cmd, basename, filename):
691
+ def overwrite_arg(cmd, basename, filename) -> None:
693
692
  write_arg(cmd, basename, filename, True)
694
693
 
695
694
 
696
- def write_arg(cmd, basename, filename, force=False):
695
+ def write_arg(cmd, basename, filename, force: bool = False) -> None:
697
696
  argname = os.path.splitext(basename)[0]
698
697
  value = getattr(cmd.distribution, argname, None)
699
698
  if value is not None:
@@ -701,7 +700,7 @@ def write_arg(cmd, basename, filename, force=False):
701
700
  cmd.write_or_delete_file(argname, filename, value, force)
702
701
 
703
702
 
704
- def write_entries(cmd, basename, filename):
703
+ def write_entries(cmd, basename, filename) -> None:
705
704
  eps = _entry_points.load(cmd.distribution.entry_points)
706
705
  defn = _entry_points.render(eps)
707
706
  cmd.write_or_delete_file('entry points', filename, defn, True)
@@ -4,7 +4,7 @@ import glob
4
4
  import inspect
5
5
  import platform
6
6
  from collections.abc import Callable
7
- from typing import Any, ClassVar, cast
7
+ from typing import TYPE_CHECKING, Any, ClassVar, cast
8
8
 
9
9
  import setuptools
10
10
 
@@ -15,9 +15,22 @@ from .bdist_egg import bdist_egg as bdist_egg_cls
15
15
  import distutils.command.install as orig
16
16
  from distutils.errors import DistutilsArgError
17
17
 
18
- # Prior to numpy 1.9, NumPy relies on the '_install' name, so provide it for
19
- # now. See https://github.com/pypa/setuptools/issues/199/
20
- _install = orig.install
18
+ if TYPE_CHECKING:
19
+ # This is only used for a type-cast, don't import at runtime or it'll cause deprecation warnings
20
+ from .easy_install import easy_install as easy_install_cls
21
+ else:
22
+ easy_install_cls = None
23
+
24
+
25
+ def __getattr__(name: str): # pragma: no cover
26
+ if name == "_install":
27
+ SetuptoolsDeprecationWarning.emit(
28
+ "`setuptools.command._install` was an internal implementation detail "
29
+ + "that was left in for numpy<1.9 support.",
30
+ due_date=(2025, 5, 2), # Originally added on 2024-11-01
31
+ )
32
+ return orig.install
33
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
21
34
 
22
35
 
23
36
  class install(orig.install):
@@ -63,15 +76,14 @@ class install(orig.install):
63
76
  self.old_and_unmanageable = None
64
77
  self.single_version_externally_managed = None
65
78
 
66
- def finalize_options(self):
79
+ def finalize_options(self) -> None:
67
80
  super().finalize_options()
68
81
  if self.root:
69
82
  self.single_version_externally_managed = True
70
83
  elif self.single_version_externally_managed:
71
84
  if not self.root and not self.record:
72
85
  raise DistutilsArgError(
73
- "You must specify --record or --root when building system"
74
- " packages"
86
+ "You must specify --record or --root when building system packages"
75
87
  )
76
88
 
77
89
  def handle_extra_path(self):
@@ -131,14 +143,20 @@ class install(orig.install):
131
143
 
132
144
  return False
133
145
 
134
- def do_egg_install(self):
146
+ def do_egg_install(self) -> None:
135
147
  easy_install = self.distribution.get_command_class('easy_install')
136
148
 
137
- cmd = easy_install(
138
- self.distribution,
139
- args="x",
140
- root=self.root,
141
- record=self.record,
149
+ cmd = cast(
150
+ # We'd want to cast easy_install as type[easy_install_cls] but a bug in
151
+ # mypy makes it think easy_install() returns a Command on Python 3.12+
152
+ # https://github.com/python/mypy/issues/18088
153
+ easy_install_cls,
154
+ easy_install( # type: ignore[call-arg]
155
+ self.distribution,
156
+ args="x",
157
+ root=self.root,
158
+ record=self.record,
159
+ ),
142
160
  )
143
161
  cmd.ensure_finalized() # finalize before bdist_egg munges install cmd
144
162
  cmd.always_copy_from = '.' # make sure local-dir eggs get installed
@@ -28,7 +28,7 @@ class install_egg_info(namespaces.Installer, Command):
28
28
  self.target = os.path.join(self.install_dir, basename)
29
29
  self.outputs = []
30
30
 
31
- def run(self):
31
+ def run(self) -> None:
32
32
  self.run_command('egg_info')
33
33
  if os.path.isdir(self.target) and not os.path.islink(self.target):
34
34
  dir_util.remove_tree(self.target, dry_run=self.dry_run)
@@ -42,7 +42,7 @@ class install_egg_info(namespaces.Installer, Command):
42
42
  def get_outputs(self):
43
43
  return self.outputs
44
44
 
45
- def copytree(self):
45
+ def copytree(self) -> None:
46
46
  # Copy the .egg-info tree to site-packages
47
47
  def skimmer(src, dst):
48
48
  # filter out source-control directories; note that 'src' is always
@@ -15,7 +15,7 @@ class install_lib(orig.install_lib):
15
15
 
16
16
  distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
17
17
 
18
- def run(self):
18
+ def run(self) -> None:
19
19
  self.build()
20
20
  outfiles = self.install()
21
21
  if outfiles is not None:
@@ -52,7 +52,7 @@ class install_lib(orig.install_lib):
52
52
  """
53
53
  while pkg_name:
54
54
  yield pkg_name
55
- pkg_name, sep, child = pkg_name.rpartition('.')
55
+ pkg_name, _sep, _child = pkg_name.rpartition('.')
56
56
 
57
57
  def _get_SVEM_NSPs(self):
58
58
  """
@@ -95,12 +95,15 @@ class install_lib(orig.install_lib):
95
95
  self,
96
96
  infile: StrPath,
97
97
  outfile: str,
98
- preserve_mode=True,
99
- preserve_times=True,
100
- preserve_symlinks=False,
101
- level=1,
98
+ # override: Using actual booleans
99
+ preserve_mode: bool = True, # type: ignore[override]
100
+ preserve_times: bool = True, # type: ignore[override]
101
+ preserve_symlinks: bool = False, # type: ignore[override]
102
+ level: object = 1,
102
103
  ) -> list[str]:
103
- assert preserve_mode and preserve_times and not preserve_symlinks
104
+ assert preserve_mode
105
+ assert preserve_times
106
+ assert not preserve_symlinks
104
107
  exclude = self.get_exclusions()
105
108
 
106
109
  if not exclude:
@@ -15,7 +15,7 @@ class install_scripts(orig.install_scripts):
15
15
 
16
16
  distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
17
17
 
18
- def initialize_options(self):
18
+ def initialize_options(self) -> None:
19
19
  orig.install_scripts.initialize_options(self)
20
20
  self.no_ep = False
21
21
 
@@ -56,7 +56,7 @@ class install_scripts(orig.install_scripts):
56
56
  for args in writer.get_args(dist, cmd.as_header()):
57
57
  self.write_script(*args)
58
58
 
59
- def write_script(self, script_name, contents, mode="t", *ignored):
59
+ def write_script(self, script_name, contents, mode: str = "t", *ignored) -> None:
60
60
  """Write an executable file to the scripts directory"""
61
61
  from setuptools.command.easy_install import chmod, current_umask
62
62
 
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import os
4
- import shutil
4
+ from typing import ClassVar
5
5
 
6
- from setuptools import Command
6
+ from .. import Command, _shutil
7
7
 
8
8
  from distutils import log
9
9
  from distutils.errors import DistutilsOptionError
@@ -20,14 +20,14 @@ class rotate(Command):
20
20
  ('keep=', 'k', "number of matching distributions to keep"),
21
21
  ]
22
22
 
23
- boolean_options: list[str] = []
23
+ boolean_options: ClassVar[list[str]] = []
24
24
 
25
25
  def initialize_options(self):
26
26
  self.match = None
27
27
  self.dist_dir = None
28
28
  self.keep = None
29
29
 
30
- def finalize_options(self):
30
+ def finalize_options(self) -> None:
31
31
  if self.match is None:
32
32
  raise DistutilsOptionError(
33
33
  "Must specify one or more (comma-separated) match patterns "
@@ -43,7 +43,7 @@ class rotate(Command):
43
43
  self.match = [convert_path(p.strip()) for p in self.match.split(',')]
44
44
  self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
45
45
 
46
- def run(self):
46
+ def run(self) -> None:
47
47
  self.run_command("egg_info")
48
48
  from glob import glob
49
49
 
@@ -60,6 +60,6 @@ class rotate(Command):
60
60
  log.info("Deleting %s", f)
61
61
  if not self.dry_run:
62
62
  if os.path.isdir(f):
63
- shutil.rmtree(f)
63
+ _shutil.rmtree(f)
64
64
  else:
65
65
  os.unlink(f)
@@ -4,6 +4,7 @@ import contextlib
4
4
  import os
5
5
  import re
6
6
  from itertools import chain
7
+ from typing import ClassVar
7
8
 
8
9
  from .._importlib import metadata
9
10
  from ..dist import Distribution
@@ -49,12 +50,12 @@ class sdist(orig.sdist):
49
50
  ]
50
51
 
51
52
  distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
52
- negative_opt: dict[str, str] = {}
53
+ negative_opt: ClassVar[dict[str, str]] = {}
53
54
 
54
55
  README_EXTENSIONS = ['', '.rst', '.txt', '.md']
55
56
  READMES = tuple('README{0}'.format(ext) for ext in README_EXTENSIONS)
56
57
 
57
- def run(self):
58
+ def run(self) -> None:
58
59
  self.run_command('egg_info')
59
60
  ei_cmd = self.get_finalized_command('egg_info')
60
61
  self.filelist = ei_cmd.filelist
@@ -73,10 +74,10 @@ class sdist(orig.sdist):
73
74
  if data not in dist_files:
74
75
  dist_files.append(data)
75
76
 
76
- def initialize_options(self):
77
+ def initialize_options(self) -> None:
77
78
  orig.sdist.initialize_options(self)
78
79
 
79
- def make_distribution(self):
80
+ def make_distribution(self) -> None:
80
81
  """
81
82
  Workaround for #516
82
83
  """
@@ -104,7 +105,7 @@ class sdist(orig.sdist):
104
105
  if orig_val is not NoValue:
105
106
  os.link = orig_val
106
107
 
107
- def add_defaults(self):
108
+ def add_defaults(self) -> None:
108
109
  super().add_defaults()
109
110
  self._add_defaults_build_sub_commands()
110
111
 
@@ -157,13 +158,13 @@ class sdist(orig.sdist):
157
158
  except TypeError:
158
159
  log.warn("data_files contains unexpected objects")
159
160
 
160
- def prune_file_list(self):
161
+ def prune_file_list(self) -> None:
161
162
  super().prune_file_list()
162
163
  # Prevent accidental inclusion of test-related cache dirs at the project root
163
164
  sep = re.escape(os.sep)
164
165
  self.filelist.exclude_pattern(r"^(\.tox|\.nox|\.venv)" + sep, is_regex=True)
165
166
 
166
- def check_readme(self):
167
+ def check_readme(self) -> None:
167
168
  for f in self.READMES:
168
169
  if os.path.exists(f):
169
170
  return
@@ -172,7 +173,7 @@ class sdist(orig.sdist):
172
173
  "standard file not found: should have one of " + ', '.join(self.READMES)
173
174
  )
174
175
 
175
- def make_release_tree(self, base_dir, files):
176
+ def make_release_tree(self, base_dir, files) -> None:
176
177
  orig.sdist.make_release_tree(self, base_dir, files)
177
178
 
178
179
  # Save any egg_info command line options used to create this sdist
@@ -126,14 +126,14 @@ class setopt(option_base):
126
126
  self.set_value = None
127
127
  self.remove = None
128
128
 
129
- def finalize_options(self):
129
+ def finalize_options(self) -> None:
130
130
  option_base.finalize_options(self)
131
131
  if self.command is None or self.option is None:
132
132
  raise DistutilsOptionError("Must specify --command *and* --option")
133
133
  if self.set_value is None and not self.remove:
134
134
  raise DistutilsOptionError("Must specify --set-value or --remove")
135
135
 
136
- def run(self):
136
+ def run(self) -> None:
137
137
  edit_config(
138
138
  self.filename,
139
139
  {self.command: {self.option.replace('-', '_'): self.set_value}},
@@ -12,12 +12,13 @@ from __future__ import annotations
12
12
 
13
13
  import logging
14
14
  import os
15
+ from collections.abc import Mapping
15
16
  from email.headerregistry import Address
16
17
  from functools import partial, reduce
17
18
  from inspect import cleandoc
18
19
  from itertools import chain
19
20
  from types import MappingProxyType
20
- from typing import TYPE_CHECKING, Any, Callable, Dict, Mapping, TypeVar, Union
21
+ from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union
21
22
 
22
23
  from .._path import StrPath
23
24
  from ..errors import RemovedConfigError
@@ -30,12 +31,12 @@ if TYPE_CHECKING:
30
31
  from setuptools._importlib import metadata
31
32
  from setuptools.dist import Distribution
32
33
 
33
- from distutils.dist import _OptionsList
34
+ from distutils.dist import _OptionsList # Comes from typeshed
35
+
34
36
 
35
37
  EMPTY: Mapping = MappingProxyType({}) # Immutable dict-like
36
- _ProjectReadmeValue: TypeAlias = Union[str, Dict[str, str]]
37
- _CorrespFn: TypeAlias = Callable[["Distribution", Any, StrPath], None]
38
- _Correspondence: TypeAlias = Union[str, _CorrespFn]
38
+ _ProjectReadmeValue: TypeAlias = Union[str, dict[str, str]]
39
+ _Correspondence: TypeAlias = Callable[["Distribution", Any, Union[StrPath, None]], None]
39
40
  _T = TypeVar("_T")
40
41
 
41
42
  _logger = logging.getLogger(__name__)
@@ -149,7 +150,9 @@ def _guess_content_type(file: str) -> str | None:
149
150
  raise ValueError(f"Undefined content type for {file}, {msg}")
150
151
 
151
152
 
152
- def _long_description(dist: Distribution, val: _ProjectReadmeValue, root_dir: StrPath):
153
+ def _long_description(
154
+ dist: Distribution, val: _ProjectReadmeValue, root_dir: StrPath | None
155
+ ):
153
156
  from setuptools.config import expand
154
157
 
155
158
  file: str | tuple[()]
@@ -171,7 +174,7 @@ def _long_description(dist: Distribution, val: _ProjectReadmeValue, root_dir: St
171
174
  dist._referenced_files.add(file)
172
175
 
173
176
 
174
- def _license(dist: Distribution, val: dict, root_dir: StrPath):
177
+ def _license(dist: Distribution, val: dict, root_dir: StrPath | None):
175
178
  from setuptools.config import expand
176
179
 
177
180
  if "file" in val:
@@ -181,7 +184,7 @@ def _license(dist: Distribution, val: dict, root_dir: StrPath):
181
184
  _set_config(dist, "license", val["text"])
182
185
 
183
186
 
184
- def _people(dist: Distribution, val: list[dict], _root_dir: StrPath, kind: str):
187
+ def _people(dist: Distribution, val: list[dict], _root_dir: StrPath | None, kind: str):
185
188
  field = []
186
189
  email_field = []
187
190
  for person in val:
@@ -199,26 +202,28 @@ def _people(dist: Distribution, val: list[dict], _root_dir: StrPath, kind: str):
199
202
  _set_config(dist, f"{kind}_email", ", ".join(email_field))
200
203
 
201
204
 
202
- def _project_urls(dist: Distribution, val: dict, _root_dir):
205
+ def _project_urls(dist: Distribution, val: dict, _root_dir: StrPath | None):
203
206
  _set_config(dist, "project_urls", val)
204
207
 
205
208
 
206
- def _python_requires(dist: Distribution, val: str, _root_dir):
209
+ def _python_requires(dist: Distribution, val: str, _root_dir: StrPath | None):
207
210
  from packaging.specifiers import SpecifierSet
208
211
 
209
212
  _set_config(dist, "python_requires", SpecifierSet(val))
210
213
 
211
214
 
212
- def _dependencies(dist: Distribution, val: list, _root_dir):
215
+ def _dependencies(dist: Distribution, val: list, _root_dir: StrPath | None):
213
216
  if getattr(dist, "install_requires", []):
214
217
  msg = "`install_requires` overwritten in `pyproject.toml` (dependencies)"
215
218
  SetuptoolsWarning.emit(msg)
216
219
  dist.install_requires = val
217
220
 
218
221
 
219
- def _optional_dependencies(dist: Distribution, val: dict, _root_dir):
220
- existing = getattr(dist, "extras_require", None) or {}
221
- dist.extras_require = {**existing, **val}
222
+ def _optional_dependencies(dist: Distribution, val: dict, _root_dir: StrPath | None):
223
+ if getattr(dist, "extras_require", None):
224
+ msg = "`extras_require` overwritten in `pyproject.toml` (optional-dependencies)"
225
+ SetuptoolsWarning.emit(msg)
226
+ dist.extras_require = val
222
227
 
223
228
 
224
229
  def _ext_modules(dist: Distribution, val: list[dict]) -> list[Extension]: