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
@@ -6,18 +6,10 @@ import numbers
6
6
  import os
7
7
  import re
8
8
  import sys
9
+ from collections.abc import Iterable, MutableMapping, Sequence
9
10
  from glob import iglob
10
11
  from pathlib import Path
11
- from typing import (
12
- TYPE_CHECKING,
13
- Any,
14
- List,
15
- MutableMapping,
16
- NoReturn,
17
- Tuple,
18
- Union,
19
- overload,
20
- )
12
+ from typing import TYPE_CHECKING, Any, Union
21
13
 
22
14
  from more_itertools import partition, unique_everseen
23
15
  from packaging.markers import InvalidMarker, Marker
@@ -30,6 +22,7 @@ from . import (
30
22
  command as _, # noqa: F401 # imported for side-effects
31
23
  )
32
24
  from ._importlib import metadata
25
+ from ._path import StrPath
33
26
  from ._reqs import _StrOrIter
34
27
  from .config import pyprojecttoml, setupcfg
35
28
  from .discovery import ConfigDiscovery
@@ -49,6 +42,9 @@ from distutils.util import strtobool
49
42
  if TYPE_CHECKING:
50
43
  from typing_extensions import TypeAlias
51
44
 
45
+ from pkg_resources import Distribution as _pkg_resources_Distribution
46
+
47
+
52
48
  __all__ = ['Distribution']
53
49
 
54
50
  _sequence = tuple, list
@@ -61,9 +57,15 @@ Supported iterable types that are known to be:
61
57
  - not imply a nested type (like `dict`)
62
58
  for use with `isinstance`.
63
59
  """
64
- _Sequence: TypeAlias = Union[Tuple[str, ...], List[str]]
60
+ _Sequence: TypeAlias = Union[tuple[str, ...], list[str]]
65
61
  # This is how stringifying _Sequence would look in Python 3.10
66
- _requence_type_repr = "tuple[str, ...] | list[str]"
62
+ _sequence_type_repr = "tuple[str, ...] | list[str]"
63
+ _OrderedStrSequence: TypeAlias = Union[str, dict[str, Any], Sequence[str]]
64
+ """
65
+ :meta private:
66
+ Avoid single-use iterable. Disallow sets.
67
+ A poor approximation of an OrderedSequence (dict doesn't match a Sequence).
68
+ """
67
69
 
68
70
 
69
71
  def __getattr__(name: str) -> Any: # pragma: no cover
@@ -97,7 +99,7 @@ def assert_string_list(dist, attr: str, value: _Sequence) -> None:
97
99
  assert ''.join(value) != value
98
100
  except (TypeError, ValueError, AttributeError, AssertionError) as e:
99
101
  raise DistutilsSetupError(
100
- f"{attr!r} must be of type <{_requence_type_repr}> (got {value!r})"
102
+ f"{attr!r} must be of type <{_sequence_type_repr}> (got {value!r})"
101
103
  ) from e
102
104
 
103
105
 
@@ -111,7 +113,7 @@ def check_nsp(dist, attr, value):
111
113
  "Distribution contains no modules or packages for "
112
114
  + "namespace package %r" % nsp
113
115
  )
114
- parent, sep, child = nsp.rpartition('.')
116
+ parent, _sep, _child = nsp.rpartition('.')
115
117
  if parent and parent not in ns_packages:
116
118
  distutils.log.warn(
117
119
  "WARNING: %r is declared as a package namespace, but %r"
@@ -143,7 +145,7 @@ def check_extras(dist, attr, value):
143
145
 
144
146
 
145
147
  def _check_extra(extra, reqs):
146
- name, sep, marker = extra.partition(':')
148
+ _name, _sep, marker = extra.partition(':')
147
149
  try:
148
150
  _check_marker(marker)
149
151
  except InvalidMarker:
@@ -173,15 +175,11 @@ def invalid_unless_false(dist, attr, value):
173
175
  raise DistutilsSetupError(f"{attr} is invalid.")
174
176
 
175
177
 
176
- @overload
177
- def check_requirements(dist, attr: str, value: set | dict) -> NoReturn: ...
178
- @overload
179
- def check_requirements(dist, attr: str, value: _StrOrIter) -> None: ...
180
- def check_requirements(dist, attr: str, value: _StrOrIter) -> None:
178
+ def check_requirements(dist, attr: str, value: _OrderedStrSequence) -> None:
181
179
  """Verify that install_requires is a valid requirements list"""
182
180
  try:
183
181
  list(_reqs.parse(value))
184
- if isinstance(value, (dict, set)):
182
+ if isinstance(value, set):
185
183
  raise TypeError("Unordered types are not allowed")
186
184
  except (TypeError, ValueError) as error:
187
185
  msg = (
@@ -234,10 +232,8 @@ def check_packages(dist, attr, value):
234
232
 
235
233
 
236
234
  if TYPE_CHECKING:
237
- from typing_extensions import TypeAlias
238
-
239
235
  # Work around a mypy issue where type[T] can't be used as a base: https://github.com/python/mypy/issues/10962
240
- _Distribution: TypeAlias = distutils.core.Distribution
236
+ from distutils.core import Distribution as _Distribution
241
237
  else:
242
238
  _Distribution = get_unpatched(distutils.core.Distribution)
243
239
 
@@ -301,7 +297,8 @@ class Distribution(_Distribution):
301
297
  # Used by build_py, editable_wheel and install_lib commands for legacy namespaces
302
298
  namespace_packages: list[str] #: :meta private: DEPRECATED
303
299
 
304
- def __init__(self, attrs: MutableMapping | None = None) -> None:
300
+ # Any: Dynamic assignment results in Incompatible types in assignment
301
+ def __init__(self, attrs: MutableMapping[str, Any] | None = None) -> None:
305
302
  have_package_data = hasattr(self, "package_data")
306
303
  if not have_package_data:
307
304
  self.package_data: dict[str, list[str]] = {}
@@ -310,9 +307,9 @@ class Distribution(_Distribution):
310
307
  self.include_package_data: bool | None = None
311
308
  self.exclude_package_data: dict[str, list[str]] | None = None
312
309
  # Filter-out setuptools' specific options.
313
- self.src_root = attrs.pop("src_root", None)
314
- self.dependency_links = attrs.pop('dependency_links', [])
315
- self.setup_requires = attrs.pop('setup_requires', [])
310
+ self.src_root: str | None = attrs.pop("src_root", None)
311
+ self.dependency_links: list[str] = attrs.pop('dependency_links', [])
312
+ self.setup_requires: list[str] = attrs.pop('setup_requires', [])
316
313
  for ep in metadata.entry_points(group='distutils.setup_keywords'):
317
314
  vars(self).setdefault(ep.name, None)
318
315
 
@@ -514,7 +511,7 @@ class Distribution(_Distribution):
514
511
  except ValueError as e:
515
512
  raise DistutilsOptionError(e) from e
516
513
 
517
- def warn_dash_deprecation(self, opt, section):
514
+ def warn_dash_deprecation(self, opt: str, section: str) -> str:
518
515
  if section in (
519
516
  'options.extras_require',
520
517
  'options.data_files',
@@ -556,7 +553,7 @@ class Distribution(_Distribution):
556
553
  # during bootstrapping, distribution doesn't exist
557
554
  return []
558
555
 
559
- def make_option_lowercase(self, opt, section):
556
+ def make_option_lowercase(self, opt: str, section: str) -> str:
560
557
  if section != 'metadata' or opt.islower():
561
558
  return opt
562
559
 
@@ -620,7 +617,7 @@ class Distribution(_Distribution):
620
617
  except ValueError as e:
621
618
  raise DistutilsOptionError(e) from e
622
619
 
623
- def _get_project_config_files(self, filenames):
620
+ def _get_project_config_files(self, filenames: Iterable[StrPath] | None):
624
621
  """Add default file and split between INI and TOML"""
625
622
  tomlfiles = []
626
623
  standard_project_metadata = Path(self.src_root or os.curdir, "pyproject.toml")
@@ -632,7 +629,11 @@ class Distribution(_Distribution):
632
629
  tomlfiles = [standard_project_metadata]
633
630
  return filenames, tomlfiles
634
631
 
635
- def parse_config_files(self, filenames=None, ignore_option_errors=False):
632
+ def parse_config_files(
633
+ self,
634
+ filenames: Iterable[StrPath] | None = None,
635
+ ignore_option_errors: bool = False,
636
+ ) -> None:
636
637
  """Parses configuration files from various levels
637
638
  and loads configuration.
638
639
  """
@@ -649,13 +650,15 @@ class Distribution(_Distribution):
649
650
  self._finalize_requires()
650
651
  self._finalize_license_files()
651
652
 
652
- def fetch_build_eggs(self, requires):
653
+ def fetch_build_eggs(
654
+ self, requires: _StrOrIter
655
+ ) -> list[_pkg_resources_Distribution]:
653
656
  """Resolve pre-setup requirements"""
654
657
  from .installer import _fetch_build_eggs
655
658
 
656
659
  return _fetch_build_eggs(self, requires)
657
660
 
658
- def finalize_options(self):
661
+ def finalize_options(self) -> None:
659
662
  """
660
663
  Allow plugins to apply arbitrary operations to the
661
664
  distribution. Each hook may optionally define a 'order'
@@ -720,7 +723,7 @@ class Distribution(_Distribution):
720
723
 
721
724
  return fetch_build_egg(self, req)
722
725
 
723
- def get_command_class(self, command):
726
+ def get_command_class(self, command: str) -> type[distutils.cmd.Command]: # type: ignore[override] # Not doing complex overrides yet
724
727
  """Pluggable version of get_command_class()"""
725
728
  if command in self.cmdclass:
726
729
  return self.cmdclass[command]
@@ -752,7 +755,7 @@ class Distribution(_Distribution):
752
755
  self.cmdclass[ep.name] = cmdclass
753
756
  return _Distribution.get_command_list(self)
754
757
 
755
- def include(self, **attrs):
758
+ def include(self, **attrs) -> None:
756
759
  """Add items to distribution that are named in keyword arguments
757
760
 
758
761
  For example, 'dist.include(py_modules=["x"])' would add 'x' to
@@ -774,7 +777,7 @@ class Distribution(_Distribution):
774
777
  else:
775
778
  self._include_misc(k, v)
776
779
 
777
- def exclude_package(self, package):
780
+ def exclude_package(self, package: str) -> None:
778
781
  """Remove packages, modules, and extensions in named package"""
779
782
 
780
783
  pfx = package + '.'
@@ -795,7 +798,7 @@ class Distribution(_Distribution):
795
798
  if p.name != package and not p.name.startswith(pfx)
796
799
  ]
797
800
 
798
- def has_contents_for(self, package):
801
+ def has_contents_for(self, package: str) -> bool:
799
802
  """Return true if 'exclude_package(package)' would do something"""
800
803
 
801
804
  pfx = package + '.'
@@ -810,7 +813,7 @@ class Distribution(_Distribution):
810
813
  """Handle 'exclude()' for list/tuple attrs without a special handler"""
811
814
  if not isinstance(value, _sequence):
812
815
  raise DistutilsSetupError(
813
- f"{name}: setting must be of type <{_requence_type_repr}> (got {value!r})"
816
+ f"{name}: setting must be of type <{_sequence_type_repr}> (got {value!r})"
814
817
  )
815
818
  try:
816
819
  old = getattr(self, name)
@@ -828,7 +831,7 @@ class Distribution(_Distribution):
828
831
 
829
832
  if not isinstance(value, _sequence):
830
833
  raise DistutilsSetupError(
831
- f"{name}: setting must be of type <{_requence_type_repr}> (got {value!r})"
834
+ f"{name}: setting must be of type <{_sequence_type_repr}> (got {value!r})"
832
835
  )
833
836
  try:
834
837
  old = getattr(self, name)
@@ -844,7 +847,7 @@ class Distribution(_Distribution):
844
847
  new = [item for item in value if item not in old]
845
848
  setattr(self, name, list(old) + new)
846
849
 
847
- def exclude(self, **attrs):
850
+ def exclude(self, **attrs) -> None:
848
851
  """Remove items from distribution that are named in keyword arguments
849
852
 
850
853
  For example, 'dist.exclude(py_modules=["x"])' would remove 'x' from
@@ -870,7 +873,7 @@ class Distribution(_Distribution):
870
873
  def _exclude_packages(self, packages: _Sequence) -> None:
871
874
  if not isinstance(packages, _sequence):
872
875
  raise DistutilsSetupError(
873
- f"packages: setting must be of type <{_requence_type_repr}> (got {packages!r})"
876
+ f"packages: setting must be of type <{_sequence_type_repr}> (got {packages!r})"
874
877
  )
875
878
  list(map(self.exclude_package, packages))
876
879
 
@@ -883,7 +886,7 @@ class Distribution(_Distribution):
883
886
  command = args[0]
884
887
  aliases = self.get_option_dict('aliases')
885
888
  while command in aliases:
886
- src, alias = aliases[command]
889
+ _src, alias = aliases[command]
887
890
  del aliases[command] # ensure each alias can expand only once!
888
891
  import shlex
889
892
 
@@ -948,7 +951,7 @@ class Distribution(_Distribution):
948
951
 
949
952
  for ext in self.ext_modules or ():
950
953
  if isinstance(ext, tuple):
951
- name, buildinfo = ext
954
+ name, _buildinfo = ext
952
955
  else:
953
956
  name = ext.name
954
957
  if name.endswith('module'):
@@ -983,7 +986,7 @@ class Distribution(_Distribution):
983
986
  finally:
984
987
  sys.stdout.reconfigure(encoding=encoding)
985
988
 
986
- def run_command(self, command):
989
+ def run_command(self, command) -> None:
987
990
  self.set_defaults()
988
991
  # Postpone defaults until all explicit configuration is considered
989
992
  # (setup() args, config files, command line and plugins)
@@ -5,45 +5,40 @@ Provides exceptions used by setuptools modules.
5
5
 
6
6
  from __future__ import annotations
7
7
 
8
- from typing import TYPE_CHECKING
9
-
10
8
  from distutils import errors as _distutils_errors
11
9
 
12
- if TYPE_CHECKING:
13
- from typing_extensions import TypeAlias
14
-
15
10
  # Re-export errors from distutils to facilitate the migration to PEP632
16
11
 
17
- ByteCompileError: TypeAlias = _distutils_errors.DistutilsByteCompileError
18
- CCompilerError: TypeAlias = _distutils_errors.CCompilerError
19
- ClassError: TypeAlias = _distutils_errors.DistutilsClassError
20
- CompileError: TypeAlias = _distutils_errors.CompileError
21
- ExecError: TypeAlias = _distutils_errors.DistutilsExecError
22
- FileError: TypeAlias = _distutils_errors.DistutilsFileError
23
- InternalError: TypeAlias = _distutils_errors.DistutilsInternalError
24
- LibError: TypeAlias = _distutils_errors.LibError
25
- LinkError: TypeAlias = _distutils_errors.LinkError
26
- ModuleError: TypeAlias = _distutils_errors.DistutilsModuleError
27
- OptionError: TypeAlias = _distutils_errors.DistutilsOptionError
28
- PlatformError: TypeAlias = _distutils_errors.DistutilsPlatformError
29
- PreprocessError: TypeAlias = _distutils_errors.PreprocessError
30
- SetupError: TypeAlias = _distutils_errors.DistutilsSetupError
31
- TemplateError: TypeAlias = _distutils_errors.DistutilsTemplateError
32
- UnknownFileError: TypeAlias = _distutils_errors.UnknownFileError
12
+ ByteCompileError = _distutils_errors.DistutilsByteCompileError
13
+ CCompilerError = _distutils_errors.CCompilerError
14
+ ClassError = _distutils_errors.DistutilsClassError
15
+ CompileError = _distutils_errors.CompileError
16
+ ExecError = _distutils_errors.DistutilsExecError
17
+ FileError = _distutils_errors.DistutilsFileError
18
+ InternalError = _distutils_errors.DistutilsInternalError
19
+ LibError = _distutils_errors.LibError
20
+ LinkError = _distutils_errors.LinkError
21
+ ModuleError = _distutils_errors.DistutilsModuleError
22
+ OptionError = _distutils_errors.DistutilsOptionError
23
+ PlatformError = _distutils_errors.DistutilsPlatformError
24
+ PreprocessError = _distutils_errors.PreprocessError
25
+ SetupError = _distutils_errors.DistutilsSetupError
26
+ TemplateError = _distutils_errors.DistutilsTemplateError
27
+ UnknownFileError = _distutils_errors.UnknownFileError
33
28
 
34
29
  # The root error class in the hierarchy
35
- BaseError: TypeAlias = _distutils_errors.DistutilsError
30
+ BaseError = _distutils_errors.DistutilsError
36
31
 
37
32
 
38
- class InvalidConfigError(OptionError):
33
+ class InvalidConfigError(OptionError): # type: ignore[valid-type, misc] # distutils imports are `Any` on python 3.12+
39
34
  """Error used for invalid configurations."""
40
35
 
41
36
 
42
- class RemovedConfigError(OptionError):
37
+ class RemovedConfigError(OptionError): # type: ignore[valid-type, misc] # distutils imports are `Any` on python 3.12+
43
38
  """Error used for configurations that were deprecated and removed."""
44
39
 
45
40
 
46
- class RemovedCommandError(BaseError, RuntimeError):
41
+ class RemovedCommandError(BaseError, RuntimeError): # type: ignore[valid-type, misc] # distutils imports are `Any` on python 3.12+
47
42
  """Error used for commands that have been removed in setuptools.
48
43
 
49
44
  Since ``setuptools`` is built on ``distutils``, simply removing a command
@@ -53,7 +48,7 @@ class RemovedCommandError(BaseError, RuntimeError):
53
48
  """
54
49
 
55
50
 
56
- class PackageDiscoveryError(BaseError, RuntimeError):
51
+ class PackageDiscoveryError(BaseError, RuntimeError): # type: ignore[valid-type, misc] # distutils imports are `Any` on python 3.12+
57
52
  """Impossible to perform automatic discovery of packages and/or modules.
58
53
 
59
54
  The current project layout or given discovery options can lead to problems when
@@ -4,6 +4,8 @@ import functools
4
4
  import re
5
5
  from typing import TYPE_CHECKING
6
6
 
7
+ from setuptools._path import StrPath
8
+
7
9
  from .monkey import get_unpatched
8
10
 
9
11
  import distutils.core
@@ -27,10 +29,8 @@ def _have_cython():
27
29
  # for compatibility
28
30
  have_pyrex = _have_cython
29
31
  if TYPE_CHECKING:
30
- from typing_extensions import TypeAlias
31
-
32
32
  # Work around a mypy issue where type[T] can't be used as a base: https://github.com/python/mypy/issues/10962
33
- _Extension: TypeAlias = distutils.core.Extension
33
+ from distutils.core import Extension as _Extension
34
34
  else:
35
35
  _Extension = get_unpatched(distutils.core.Extension)
36
36
 
@@ -52,7 +52,7 @@ class Extension(_Extension):
52
52
  the full name of the extension, including any packages -- ie.
53
53
  *not* a filename or pathname, but Python dotted name
54
54
 
55
- :arg list[str] sources:
55
+ :arg list[str|os.PathLike[str]] sources:
56
56
  list of source filenames, relative to the distribution root
57
57
  (where the setup script lives), in Unix form (slash-separated)
58
58
  for portability. Source files may be C, C++, SWIG (.i),
@@ -140,11 +140,23 @@ class Extension(_Extension):
140
140
  _needs_stub: bool #: Private API, internal use only.
141
141
  _file_name: str #: Private API, internal use only.
142
142
 
143
- def __init__(self, name: str, sources, *args, py_limited_api: bool = False, **kw):
143
+ def __init__(
144
+ self,
145
+ name: str,
146
+ sources: list[StrPath],
147
+ *args,
148
+ py_limited_api: bool = False,
149
+ **kw,
150
+ ) -> None:
144
151
  # The *args is needed for compatibility as calls may use positional
145
152
  # arguments. py_limited_api may be set only via keyword.
146
153
  self.py_limited_api = py_limited_api
147
- super().__init__(name, sources, *args, **kw)
154
+ super().__init__(
155
+ name,
156
+ sources, # type: ignore[arg-type] # Vendored version of setuptools supports PathLike
157
+ *args,
158
+ **kw,
159
+ )
148
160
 
149
161
  def _convert_pyx_sources_to_lang(self):
150
162
  """
@@ -6,14 +6,21 @@ Changes include:
6
6
  * Hidden files are not ignored.
7
7
  """
8
8
 
9
+ from __future__ import annotations
10
+
9
11
  import fnmatch
10
12
  import os
11
13
  import re
14
+ from collections.abc import Iterable, Iterator
15
+ from typing import TYPE_CHECKING, AnyStr, overload
16
+
17
+ if TYPE_CHECKING:
18
+ from _typeshed import BytesPath, StrOrBytesPath, StrPath
12
19
 
13
20
  __all__ = ["glob", "iglob", "escape"]
14
21
 
15
22
 
16
- def glob(pathname, recursive=False):
23
+ def glob(pathname: AnyStr, recursive: bool = False) -> list[AnyStr]:
17
24
  """Return a list of paths matching a pathname pattern.
18
25
 
19
26
  The pattern may contain simple shell-style wildcards a la
@@ -27,7 +34,7 @@ def glob(pathname, recursive=False):
27
34
  return list(iglob(pathname, recursive=recursive))
28
35
 
29
36
 
30
- def iglob(pathname, recursive=False):
37
+ def iglob(pathname: AnyStr, recursive: bool = False) -> Iterator[AnyStr]:
31
38
  """Return an iterator which yields the paths matching a pathname pattern.
32
39
 
33
40
  The pattern may contain simple shell-style wildcards a la
@@ -45,7 +52,7 @@ def iglob(pathname, recursive=False):
45
52
  return it
46
53
 
47
54
 
48
- def _iglob(pathname, recursive):
55
+ def _iglob(pathname: AnyStr, recursive: bool) -> Iterator[AnyStr]:
49
56
  dirname, basename = os.path.split(pathname)
50
57
  glob_in_dir = glob2 if recursive and _isrecursive(basename) else glob1
51
58
 
@@ -66,7 +73,7 @@ def _iglob(pathname, recursive):
66
73
  # drive or UNC path. Prevent an infinite recursion if a drive or UNC path
67
74
  # contains magic characters (i.e. r'\\?\C:').
68
75
  if dirname != pathname and has_magic(dirname):
69
- dirs = _iglob(dirname, recursive)
76
+ dirs: Iterable[AnyStr] = _iglob(dirname, recursive)
70
77
  else:
71
78
  dirs = [dirname]
72
79
  if not has_magic(basename):
@@ -81,7 +88,11 @@ def _iglob(pathname, recursive):
81
88
  # takes a literal basename (so it only has to check for its existence).
82
89
 
83
90
 
84
- def glob1(dirname, pattern):
91
+ @overload
92
+ def glob1(dirname: StrPath, pattern: str) -> list[str]: ...
93
+ @overload
94
+ def glob1(dirname: BytesPath, pattern: bytes) -> list[bytes]: ...
95
+ def glob1(dirname: StrOrBytesPath, pattern: str | bytes) -> list[str] | list[bytes]:
85
96
  if not dirname:
86
97
  if isinstance(pattern, bytes):
87
98
  dirname = os.curdir.encode('ASCII')
@@ -91,7 +102,8 @@ def glob1(dirname, pattern):
91
102
  names = os.listdir(dirname)
92
103
  except OSError:
93
104
  return []
94
- return fnmatch.filter(names, pattern)
105
+ # mypy false-positives: str or bytes type possibility is always kept in sync
106
+ return fnmatch.filter(names, pattern) # type: ignore[type-var, return-value]
95
107
 
96
108
 
97
109
  def glob0(dirname, basename):
@@ -110,14 +122,22 @@ def glob0(dirname, basename):
110
122
  # directory.
111
123
 
112
124
 
113
- def glob2(dirname, pattern):
125
+ @overload
126
+ def glob2(dirname: StrPath, pattern: str) -> Iterator[str]: ...
127
+ @overload
128
+ def glob2(dirname: BytesPath, pattern: bytes) -> Iterator[bytes]: ...
129
+ def glob2(dirname: StrOrBytesPath, pattern: str | bytes) -> Iterator[str | bytes]:
114
130
  assert _isrecursive(pattern)
115
131
  yield pattern[:0]
116
132
  yield from _rlistdir(dirname)
117
133
 
118
134
 
119
135
  # Recursively yields relative pathnames inside a literal directory.
120
- def _rlistdir(dirname):
136
+ @overload
137
+ def _rlistdir(dirname: StrPath) -> Iterator[str]: ...
138
+ @overload
139
+ def _rlistdir(dirname: BytesPath) -> Iterator[bytes]: ...
140
+ def _rlistdir(dirname: StrOrBytesPath) -> Iterator[str | bytes]:
121
141
  if not dirname:
122
142
  if isinstance(dirname, bytes):
123
143
  dirname = os.curdir.encode('ASCII')
@@ -129,24 +149,24 @@ def _rlistdir(dirname):
129
149
  return
130
150
  for x in names:
131
151
  yield x
132
- path = os.path.join(dirname, x) if dirname else x
152
+ # mypy false-positives: str or bytes type possibility is always kept in sync
153
+ path = os.path.join(dirname, x) if dirname else x # type: ignore[arg-type]
133
154
  for y in _rlistdir(path):
134
- yield os.path.join(x, y)
155
+ yield os.path.join(x, y) # type: ignore[arg-type]
135
156
 
136
157
 
137
158
  magic_check = re.compile('([*?[])')
138
159
  magic_check_bytes = re.compile(b'([*?[])')
139
160
 
140
161
 
141
- def has_magic(s):
162
+ def has_magic(s: str | bytes) -> bool:
142
163
  if isinstance(s, bytes):
143
- match = magic_check_bytes.search(s)
164
+ return magic_check_bytes.search(s) is not None
144
165
  else:
145
- match = magic_check.search(s)
146
- return match is not None
166
+ return magic_check.search(s) is not None
147
167
 
148
168
 
149
- def _isrecursive(pattern):
169
+ def _isrecursive(pattern: str | bytes) -> bool:
150
170
  if isinstance(pattern, bytes):
151
171
  return pattern == b'**'
152
172
  else:
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import glob
2
4
  import os
3
5
  import subprocess
@@ -5,7 +7,10 @@ import sys
5
7
  import tempfile
6
8
  from functools import partial
7
9
 
10
+ from pkg_resources import Distribution
11
+
8
12
  from . import _reqs
13
+ from ._reqs import _StrOrIter
9
14
  from .warnings import SetuptoolsDeprecationWarning
10
15
  from .wheel import Wheel
11
16
 
@@ -30,7 +35,7 @@ def fetch_build_egg(dist, req):
30
35
  return _fetch_build_egg_no_warn(dist, req)
31
36
 
32
37
 
33
- def _fetch_build_eggs(dist, requires):
38
+ def _fetch_build_eggs(dist, requires: _StrOrIter) -> list[Distribution]:
34
39
  import pkg_resources # Delay import to avoid unnecessary side-effects
35
40
 
36
41
  _DeprecatedInstaller.emit(stacklevel=3)
@@ -10,7 +10,7 @@ import sys
10
10
  import tokenize
11
11
 
12
12
 
13
- def run():
13
+ def run() -> None:
14
14
  """
15
15
  Run the script in sys.argv[1] as if it had
16
16
  been invoked naturally.
@@ -11,7 +11,7 @@ def _not_warning(record):
11
11
  return record.levelno < logging.WARNING
12
12
 
13
13
 
14
- def configure():
14
+ def configure() -> None:
15
15
  """
16
16
  Configure logging to emit warning and above to stderr
17
17
  and everything else to stdout. This behavior is provided
@@ -35,6 +35,6 @@ def configure():
35
35
  distutils.dist.log = distutils.log
36
36
 
37
37
 
38
- def set_threshold(level):
38
+ def set_threshold(level: int) -> int:
39
39
  logging.root.setLevel(level * 10)
40
40
  return set_threshold.unpatched(level)
@@ -1,8 +1,18 @@
1
- from ._distutils._modified import (
2
- newer,
3
- newer_group,
4
- newer_pairwise,
5
- newer_pairwise_group,
6
- )
1
+ try:
2
+ # Ensure a DistutilsError raised by these methods is the same as distutils.errors.DistutilsError
3
+ from distutils._modified import (
4
+ newer,
5
+ newer_group,
6
+ newer_pairwise,
7
+ newer_pairwise_group,
8
+ )
9
+ except ImportError:
10
+ # fallback for SETUPTOOLS_USE_DISTUTILS=stdlib, because _modified never existed in stdlib
11
+ from ._distutils._modified import (
12
+ newer,
13
+ newer_group,
14
+ newer_pairwise,
15
+ newer_pairwise_group,
16
+ )
7
17
 
8
18
  __all__ = ['newer', 'newer_pairwise', 'newer_group', 'newer_pairwise_group']
@@ -8,7 +8,7 @@ import inspect
8
8
  import platform
9
9
  import sys
10
10
  import types
11
- from typing import Type, TypeVar, cast, overload
11
+ from typing import TypeVar, cast, overload
12
12
 
13
13
  import distutils.filelist
14
14
 
@@ -58,7 +58,7 @@ def get_unpatched_class(cls: type[_T]) -> type[_T]:
58
58
  first.
59
59
  """
60
60
  external_bases = (
61
- cast(Type[_T], cls)
61
+ cast(type[_T], cls)
62
62
  for cls in _get_mro(cls)
63
63
  if not cls.__module__.startswith('setuptools')
64
64
  )