py2docfx 0.1.9.dev1897554__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 (377) 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/google/protobuf/__init__.py +1 -1
  184. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +2 -2
  185. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +2 -2
  186. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +2 -2
  187. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +2 -2
  188. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +2 -2
  189. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +2 -2
  190. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +2 -2
  191. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +1 -7
  192. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +2 -2
  193. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +2 -2
  194. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +2 -2
  195. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +2 -2
  196. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +2 -2
  197. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +27 -32
  198. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
  199. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
  200. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
  201. py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +3 -1
  202. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +7 -2
  203. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +18 -21
  204. py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +7 -3
  205. py2docfx/venv/venv1/Lib/site-packages/proto/message.py +6 -35
  206. py2docfx/venv/venv1/Lib/site-packages/proto/version.py +1 -1
  207. py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +7 -9
  208. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
  209. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
  210. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
  211. py2docfx/venv/venv1/Lib/site-packages/setuptools/_importlib.py +1 -4
  212. py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +5 -8
  213. py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +2 -1
  214. py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +53 -0
  215. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
  216. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
  217. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
  218. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
  219. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
  220. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
  221. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
  222. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
  223. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
  224. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
  225. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
  226. py2docfx/venv/venv1/Lib/site-packages/setuptools/archive_util.py +6 -4
  227. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +23 -17
  228. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/__init__.py +9 -1
  229. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
  230. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/alias.py +3 -4
  231. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
  232. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
  233. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
  234. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build.py +3 -3
  235. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_clib.py +2 -9
  236. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +13 -12
  237. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_py.py +17 -16
  238. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +4 -4
  239. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/dist_info.py +3 -7
  240. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +55 -78
  241. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
  242. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +29 -30
  243. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +31 -13
  244. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
  245. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_lib.py +10 -7
  246. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
  247. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/rotate.py +6 -6
  248. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +9 -8
  249. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/setopt.py +2 -2
  250. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
  251. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/expand.py +22 -16
  252. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
  253. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
  254. py2docfx/venv/venv1/Lib/site-packages/setuptools/depends.py +26 -7
  255. py2docfx/venv/venv1/Lib/site-packages/setuptools/discovery.py +21 -14
  256. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +48 -45
  257. py2docfx/venv/venv1/Lib/site-packages/setuptools/errors.py +21 -26
  258. py2docfx/venv/venv1/Lib/site-packages/setuptools/extension.py +18 -6
  259. py2docfx/venv/venv1/Lib/site-packages/setuptools/glob.py +35 -15
  260. py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +6 -1
  261. py2docfx/venv/venv1/Lib/site-packages/setuptools/launch.py +1 -1
  262. py2docfx/venv/venv1/Lib/site-packages/setuptools/logging.py +2 -2
  263. py2docfx/venv/venv1/Lib/site-packages/setuptools/modified.py +16 -6
  264. py2docfx/venv/venv1/Lib/site-packages/setuptools/monkey.py +2 -2
  265. py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +25 -14
  266. py2docfx/venv/venv1/Lib/site-packages/setuptools/namespaces.py +2 -2
  267. py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +42 -43
  268. py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +19 -12
  269. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
  270. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
  271. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
  272. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
  273. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
  274. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
  275. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
  276. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
  277. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
  278. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
  279. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
  280. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
  281. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
  282. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
  283. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
  284. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
  285. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
  286. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
  287. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
  288. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
  289. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
  290. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
  291. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
  292. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
  293. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
  294. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
  295. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
  296. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
  297. py2docfx/venv/venv1/Lib/site-packages/setuptools/warnings.py +5 -2
  298. py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +4 -4
  299. py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
  300. py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
  301. py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +17 -2
  302. py2docfx/venv/venv1/Lib/site-packages/wheel/cli/convert.py +280 -220
  303. py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -9
  304. {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/METADATA +1 -1
  305. {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/RECORD +307 -367
  306. {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/WHEEL +1 -1
  307. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  308. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
  309. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
  310. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
  311. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
  312. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
  313. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
  314. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
  315. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
  316. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
  317. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
  318. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
  319. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
  320. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
  321. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
  322. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
  323. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
  324. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
  325. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
  326. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
  327. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
  328. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
  329. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
  330. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
  331. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
  332. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
  333. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
  334. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
  335. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
  336. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
  337. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
  338. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
  339. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
  340. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
  341. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
  342. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
  343. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
  344. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
  345. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
  346. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
  347. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
  348. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
  349. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
  350. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
  351. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
  352. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
  353. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
  354. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
  355. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
  356. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
  357. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
  358. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
  359. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
  360. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
  361. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
  362. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
  363. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
  364. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
  365. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
  366. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
  367. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
  368. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
  369. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
  370. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
  371. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
  372. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
  373. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
  374. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
  375. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
  376. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
  377. {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/top_level.txt +0 -0
@@ -72,7 +72,7 @@ class TestEasyInstallTest:
72
72
  header = ei.CommandSpec.best().from_environment().as_header()
73
73
  dist = FakeDist()
74
74
  args = next(ei.ScriptWriter.get_args(dist))
75
- name, script = itertools.islice(args, 2)
75
+ _name, script = itertools.islice(args, 2)
76
76
  assert script.startswith(header)
77
77
  assert "'spec'" in script
78
78
  assert "'console_scripts'" in script
@@ -327,9 +327,9 @@ class TestPTHFileWriter:
327
327
  pth_path = str(pth_subdir.join("file1.pth"))
328
328
  pth1 = PthDistributions(pth_path)
329
329
  pth2 = PthDistributions(pth_path)
330
- assert (
331
- pth1.paths == pth2.paths == []
332
- ), "unless there would be some default added at some point"
330
+ assert pth1.paths == pth2.paths == [], (
331
+ "unless there would be some default added at some point"
332
+ )
333
333
  # and so putting the src_subdir in folder distinct than the pth one,
334
334
  # so to keep it absolute by PthDistributions
335
335
  new_src_path = tmpdir.join("src_subdir")
@@ -337,17 +337,17 @@ class TestPTHFileWriter:
337
337
  new_src_path_str = str(new_src_path)
338
338
  pth1.paths.append(new_src_path_str)
339
339
  pth1.save()
340
- assert (
341
- pth1.paths
342
- ), "the new_src_path added must still be present/valid in pth1 after save"
340
+ assert pth1.paths, (
341
+ "the new_src_path added must still be present/valid in pth1 after save"
342
+ )
343
343
  # now,
344
- assert (
345
- new_src_path_str not in pth2.paths
346
- ), "right before we save the entry should still not be present"
344
+ assert new_src_path_str not in pth2.paths, (
345
+ "right before we save the entry should still not be present"
346
+ )
347
347
  pth2.save()
348
- assert (
349
- new_src_path_str in pth2.paths
350
- ), "the new_src_path entry should have been added by pth2 with its save() call"
348
+ assert new_src_path_str in pth2.paths, (
349
+ "the new_src_path entry should have been added by pth2 with its save() call"
350
+ )
351
351
  assert pth2.paths[-1] == new_src_path, (
352
352
  "and it should match exactly on the last entry actually "
353
353
  "given we append to it in save()"
@@ -407,14 +407,14 @@ class TestUserInstallTest:
407
407
  logging.basicConfig(level=logging.INFO, stream=sys.stderr)
408
408
  log.info('this should not break')
409
409
 
410
- @pytest.fixture()
410
+ @pytest.fixture
411
411
  def foo_package(self, tmpdir):
412
412
  egg_file = tmpdir / 'foo-1.0.egg-info'
413
413
  with egg_file.open('w') as f:
414
414
  f.write('Name: foo\n')
415
415
  return str(tmpdir)
416
416
 
417
- @pytest.fixture()
417
+ @pytest.fixture
418
418
  def install_target(self, tmpdir):
419
419
  target = str(tmpdir)
420
420
  with mock.patch('sys.path', sys.path + [target]):
@@ -472,6 +472,12 @@ def distutils_package():
472
472
  yield
473
473
 
474
474
 
475
+ @pytest.mark.usefixtures("distutils_package")
476
+ class TestDistutilsPackage:
477
+ def test_bdist_egg_available_on_distutils_pkg(self):
478
+ run_setup('setup.py', ['bdist_egg'])
479
+
480
+
475
481
  @pytest.fixture
476
482
  def mock_index():
477
483
  # set up a server which will simulate an alternate package index.
@@ -484,11 +490,6 @@ def mock_index():
484
490
  return p_index
485
491
 
486
492
 
487
- class TestDistutilsPackage:
488
- def test_bdist_egg_available_on_distutils_pkg(self, distutils_package):
489
- run_setup('setup.py', ['bdist_egg'])
490
-
491
-
492
493
  class TestInstallRequires:
493
494
  def test_setup_install_includes_dependencies(self, tmp_path, mock_index):
494
495
  """
@@ -650,7 +651,7 @@ class TestSetupRequires:
650
651
  temp_dir, use_setup_cfg=use_setup_cfg
651
652
  )
652
653
  test_setup_py = os.path.join(test_pkg, 'setup.py')
653
- with contexts.quiet() as (stdout, stderr):
654
+ with contexts.quiet() as (stdout, _stderr):
654
655
  # Don't even need to install the package, just
655
656
  # running the setup.py at all is sufficient
656
657
  run_setup(test_setup_py, ['--name'])
@@ -712,15 +713,14 @@ class TestSetupRequires:
712
713
 
713
714
  test_setup_py = os.path.join(test_pkg, 'setup.py')
714
715
 
715
- with contexts.quiet() as (stdout, stderr):
716
+ with contexts.quiet() as (stdout, _stderr):
716
717
  try:
717
718
  # Don't even need to install the package, just
718
719
  # running the setup.py at all is sufficient
719
720
  run_setup(test_setup_py, ['--name'])
720
721
  except pkg_resources.VersionConflict:
721
722
  self.fail(
722
- 'Installing setup.py requirements '
723
- 'caused a VersionConflict'
723
+ 'Installing setup.py requirements caused a VersionConflict'
724
724
  )
725
725
 
726
726
  assert 'FAIL' not in stdout.getvalue()
@@ -765,7 +765,7 @@ class TestSetupRequires:
765
765
  use_setup_cfg=use_setup_cfg + ('version',),
766
766
  )
767
767
  test_setup_py = os.path.join(test_pkg, 'setup.py')
768
- with contexts.quiet() as (stdout, stderr):
768
+ with contexts.quiet() as (stdout, _stderr):
769
769
  run_setup(test_setup_py, ['--version'])
770
770
  lines = stdout.readlines()
771
771
  assert len(lines) > 0
@@ -860,7 +860,9 @@ class TestSetupRequires:
860
860
  )
861
861
  dep_2_0_sdist = 'dep-2.0.tar.gz'
862
862
  dep_2_0_url = path_to_url(str(tmpdir / dep_2_0_sdist))
863
- dep_2_0_python_requires = '!=' + '.'.join(map(str, sys.version_info[:2])) + '.*'
863
+ dep_2_0_python_requires = (
864
+ f'!={sys.version_info.major}.{sys.version_info.minor}.*'
865
+ )
864
866
  make_python_requires_sdist(
865
867
  str(tmpdir / dep_2_0_sdist), 'dep', '2.0', dep_2_0_python_requires
866
868
  )
@@ -1408,6 +1410,10 @@ def test_use_correct_python_version_string(tmpdir, tmpdir_cwd, monkeypatch):
1408
1410
  assert cmd.config_vars['py_version_nodot'] == '310'
1409
1411
 
1410
1412
 
1413
+ @pytest.mark.xfail(
1414
+ sys.platform == "darwin",
1415
+ reason="https://github.com/pypa/setuptools/pull/4716#issuecomment-2447624418",
1416
+ )
1411
1417
  def test_editable_user_and_build_isolation(setup_context, monkeypatch, tmp_path):
1412
1418
  """`setup.py develop` should honor `--user` even under build isolation"""
1413
1419
 
@@ -1,3 +1,5 @@
1
+ from __future__ import annotations
2
+
1
3
  import os
2
4
  import platform
3
5
  import stat
@@ -8,6 +10,7 @@ from importlib import import_module
8
10
  from importlib.machinery import EXTENSION_SUFFIXES
9
11
  from pathlib import Path
10
12
  from textwrap import dedent
13
+ from typing import Any
11
14
  from unittest.mock import Mock
12
15
  from uuid import uuid4
13
16
 
@@ -840,7 +843,8 @@ class TestOverallBehaviour:
840
843
  version = "3.14159"
841
844
  """
842
845
 
843
- FLAT_LAYOUT = {
846
+ # Any: Would need a TypedDict. Keep it simple for tests
847
+ FLAT_LAYOUT: dict[str, Any] = {
844
848
  "pyproject.toml": dedent(PYPROJECT),
845
849
  "MANIFEST.in": EXAMPLE["MANIFEST.in"],
846
850
  "otherfile.py": "",
@@ -878,9 +882,9 @@ class TestOverallBehaviour:
878
882
  "otherfile.py": "",
879
883
  "mypkg": {
880
884
  "__init__.py": "",
881
- "mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"], # type: ignore
885
+ "mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"],
882
886
  },
883
- "other": FLAT_LAYOUT["mypkg"]["subpackage"], # type: ignore
887
+ "other": FLAT_LAYOUT["mypkg"]["subpackage"],
884
888
  },
885
889
  "namespace": {
886
890
  "pyproject.toml": dedent(PYPROJECT),
@@ -888,8 +892,8 @@ class TestOverallBehaviour:
888
892
  "otherfile.py": "",
889
893
  "src": {
890
894
  "mypkg": {
891
- "mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"], # type: ignore
892
- "subpackage": FLAT_LAYOUT["mypkg"]["subpackage"], # type: ignore
895
+ "mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"],
896
+ "subpackage": FLAT_LAYOUT["mypkg"]["subpackage"],
893
897
  },
894
898
  },
895
899
  },
@@ -1271,7 +1275,7 @@ def assert_path(pkg, expected):
1271
1275
  assert str(Path(path).resolve()) == expected
1272
1276
 
1273
1277
 
1274
- def assert_link_to(file: Path, other: Path):
1278
+ def assert_link_to(file: Path, other: Path) -> None:
1275
1279
  if file.is_symlink():
1276
1280
  assert str(file.resolve()) == str(other.resolve())
1277
1281
  else:
@@ -261,11 +261,11 @@ class TestEggInfo:
261
261
  })
262
262
 
263
263
  mismatch_marker = "python_version<'{this_ver}'".format(
264
- this_ver=sys.version_info[0],
264
+ this_ver=sys.version_info.major,
265
265
  )
266
266
  # Alternate equivalent syntax.
267
267
  mismatch_marker_alternate = 'python_version < "{this_ver}"'.format(
268
- this_ver=sys.version_info[0],
268
+ this_ver=sys.version_info.major,
269
269
  )
270
270
  invalid_marker = "<=>++"
271
271
 
@@ -283,9 +283,9 @@ class TestEggInfo:
283
283
  else:
284
284
  install_cmd_kwargs = {}
285
285
  name = name_kwargs[0].strip()
286
- setup_py_requires, setup_cfg_requires, expected_requires = (
286
+ setup_py_requires, setup_cfg_requires, expected_requires = [
287
287
  DALS(a).format(**format_dict) for a in test_params
288
- )
288
+ ]
289
289
  for id_, requires, use_cfg in (
290
290
  (name, setup_py_requires, False),
291
291
  (name + '_in_setup_cfg', setup_cfg_requires, True),
@@ -512,7 +512,7 @@ class TestEggInfo:
512
512
  environ = os.environ.copy().update(
513
513
  HOME=env.paths['home'],
514
514
  )
515
- code, data = environment.run_setup_py(
515
+ environment.run_setup_py(
516
516
  cmd=['egg_info'],
517
517
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
518
518
  data_stream=1,
@@ -543,7 +543,7 @@ class TestEggInfo:
543
543
  assert 'Provides-Extra:' not in pkg_info_text
544
544
 
545
545
  @pytest.mark.parametrize(
546
- "files, license_in_sources",
546
+ ('files', 'license_in_sources'),
547
547
  [
548
548
  (
549
549
  {
@@ -627,7 +627,7 @@ class TestEggInfo:
627
627
  assert 'INVALID_LICENSE' not in sources_text
628
628
 
629
629
  @pytest.mark.parametrize(
630
- "files, incl_licenses, excl_licenses",
630
+ ('files', 'incl_licenses', 'excl_licenses'),
631
631
  [
632
632
  (
633
633
  {
@@ -839,7 +839,7 @@ class TestEggInfo:
839
839
  assert sources_lines.count(lf) == 0
840
840
 
841
841
  @pytest.mark.parametrize(
842
- "files, incl_licenses, excl_licenses",
842
+ ('files', 'incl_licenses', 'excl_licenses'),
843
843
  [
844
844
  (
845
845
  {
@@ -1060,7 +1060,7 @@ class TestEggInfo:
1060
1060
  def test_metadata_version(self, tmpdir_cwd, env):
1061
1061
  """Make sure latest metadata version is used by default."""
1062
1062
  self._setup_script_with_requires("")
1063
- code, data = environment.run_setup_py(
1063
+ environment.run_setup_py(
1064
1064
  cmd=['egg_info'],
1065
1065
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1066
1066
  data_stream=1,
@@ -1085,7 +1085,7 @@ class TestEggInfo:
1085
1085
  environ = os.environ.copy().update(
1086
1086
  HOME=env.paths['home'],
1087
1087
  )
1088
- code, data = environment.run_setup_py(
1088
+ environment.run_setup_py(
1089
1089
  cmd=['egg_info'],
1090
1090
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1091
1091
  data_stream=1,
@@ -1107,7 +1107,7 @@ class TestEggInfo:
1107
1107
  "long_description='This is a long description\\nover multiple lines',"
1108
1108
  "long_description_content_type='text/markdown',"
1109
1109
  )
1110
- code, data = environment.run_setup_py(
1110
+ environment.run_setup_py(
1111
1111
  cmd=['egg_info'],
1112
1112
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1113
1113
  data_stream=1,
@@ -1138,7 +1138,7 @@ class TestEggInfo:
1138
1138
  environ = os.environ.copy().update(
1139
1139
  HOME=env.paths['home'],
1140
1140
  )
1141
- code, data = environment.run_setup_py(
1141
+ environment.run_setup_py(
1142
1142
  cmd=['egg_info'],
1143
1143
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1144
1144
  data_stream=1,
@@ -1156,7 +1156,7 @@ class TestEggInfo:
1156
1156
  def test_license(self, tmpdir_cwd, env):
1157
1157
  """Test single line license."""
1158
1158
  self._setup_script_with_requires("license='MIT',")
1159
- code, data = environment.run_setup_py(
1159
+ environment.run_setup_py(
1160
1160
  cmd=['egg_info'],
1161
1161
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1162
1162
  data_stream=1,
@@ -1171,7 +1171,7 @@ class TestEggInfo:
1171
1171
  self._setup_script_with_requires(
1172
1172
  "license='This is a long license text \\nover multiple lines',"
1173
1173
  )
1174
- code, data = environment.run_setup_py(
1174
+ environment.run_setup_py(
1175
1175
  cmd=['egg_info'],
1176
1176
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1177
1177
  data_stream=1,
@@ -1189,7 +1189,7 @@ class TestEggInfo:
1189
1189
  environ = os.environ.copy().update(
1190
1190
  HOME=env.paths['home'],
1191
1191
  )
1192
- code, data = environment.run_setup_py(
1192
+ environment.run_setup_py(
1193
1193
  cmd=['egg_info'],
1194
1194
  pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
1195
1195
  data_stream=1,
@@ -5,7 +5,7 @@ from setuptools.glob import glob
5
5
 
6
6
 
7
7
  @pytest.mark.parametrize(
8
- 'tree, pattern, matches',
8
+ ('tree', 'pattern', 'matches'),
9
9
  (
10
10
  ('', b'', []),
11
11
  ('', '', []),
@@ -19,7 +19,7 @@ setup(
19
19
 
20
20
 
21
21
  @pytest.mark.parametrize(
22
- "flag, expected_level", [("--dry-run", "INFO"), ("--verbose", "DEBUG")]
22
+ ('flag', 'expected_level'), [("--dry-run", "INFO"), ("--verbose", "DEBUG")]
23
23
  )
24
24
  def test_verbosity_level(tmp_path, monkeypatch, flag, expected_level):
25
25
  """Make sure the correct verbosity level is set (issue #3038)"""
@@ -369,7 +369,7 @@ class TestFileListTest(TempDirTestCase):
369
369
  def make_files(self, files):
370
370
  for file in files:
371
371
  file = os.path.join(self.temp_dir, file)
372
- dirname, basename = os.path.split(file)
372
+ dirname, _basename = os.path.split(file)
373
373
  os.makedirs(dirname, exist_ok=True)
374
374
  touch(file)
375
375
 
@@ -485,14 +485,8 @@ class TestFileListTest(TempDirTestCase):
485
485
  'prune',
486
486
  'blarg',
487
487
  ):
488
- try:
488
+ with pytest.raises(DistutilsTemplateError):
489
489
  file_list.process_template_line(action)
490
- except DistutilsTemplateError:
491
- pass
492
- except Exception:
493
- assert False, "Incorrect error thrown"
494
- else:
495
- assert False, "Should have thrown an error"
496
490
 
497
491
  def test_include(self, caplog):
498
492
  caplog.set_level(logging.DEBUG)
@@ -1,4 +1,5 @@
1
1
  import http.client
2
+ import re
2
3
  import urllib.error
3
4
  import urllib.request
4
5
  from inspect import cleandoc
@@ -24,11 +25,8 @@ class TestPackageIndex:
24
25
  def test_bad_url_bad_port(self):
25
26
  index = setuptools.package_index.PackageIndex()
26
27
  url = 'http://127.0.0.1:0/nonesuch/test_package_index'
27
- try:
28
+ with pytest.raises(Exception, match=re.escape(url)):
28
29
  v = index.open_url(url)
29
- except Exception as exc:
30
- assert url in str(exc)
31
- else:
32
30
  assert isinstance(v, urllib.error.HTTPError)
33
31
 
34
32
  def test_bad_url_typo(self):
@@ -37,15 +35,10 @@ class TestPackageIndex:
37
35
  # in its home URL
38
36
  index = setuptools.package_index.PackageIndex(hosts=('www.example.com',))
39
37
 
40
- url = (
41
- 'url:%20https://svn.plone.org/svn'
42
- '/collective/inquant.contentmirror.plone/trunk'
43
- )
44
- try:
38
+ url = 'url:%20https://svn.plone.org/svn/collective/inquant.contentmirror.plone/trunk'
39
+
40
+ with pytest.raises(Exception, match=re.escape(url)):
45
41
  v = index.open_url(url)
46
- except Exception as exc:
47
- assert url in str(exc)
48
- else:
49
42
  assert isinstance(v, urllib.error.HTTPError)
50
43
 
51
44
  def test_bad_url_bad_status_line(self):
@@ -56,12 +49,8 @@ class TestPackageIndex:
56
49
 
57
50
  index.opener = _urlopen
58
51
  url = 'http://example.com'
59
- try:
52
+ with pytest.raises(Exception, match=r'line'):
60
53
  index.open_url(url)
61
- except Exception as exc:
62
- assert 'line' in str(exc)
63
- else:
64
- raise AssertionError('Should have raise here!')
65
54
 
66
55
  def test_bad_url_double_scheme(self):
67
56
  """
@@ -21,7 +21,7 @@ from distutils.errors import DistutilsSetupError
21
21
 
22
22
  @pytest.fixture(autouse=True)
23
23
  def isolated_dir(tmpdir_cwd):
24
- yield
24
+ return
25
25
 
26
26
 
27
27
  def makeSetup(**args):
@@ -74,7 +74,7 @@ class TestDepends:
74
74
  dep.find_module('no-such.-thing')
75
75
  with pytest.raises(ImportError):
76
76
  dep.find_module('setuptools.non-existent')
77
- f, p, i = dep.find_module('setuptools.tests')
77
+ f, _p, _i = dep.find_module('setuptools.tests')
78
78
  f.close()
79
79
 
80
80
  @needs_bytecode
@@ -257,7 +257,8 @@ def can_symlink(tmpdir):
257
257
  os.remove(link_fn)
258
258
 
259
259
 
260
- def test_findall_missing_symlink(tmpdir, can_symlink):
260
+ @pytest.mark.usefixtures("can_symlink")
261
+ def test_findall_missing_symlink(tmpdir):
261
262
  with tmpdir.as_cwd():
262
263
  os.symlink('foo', 'bar')
263
264
  found = list(setuptools.findall())
@@ -0,0 +1,23 @@
1
+ import stat
2
+ import sys
3
+ from unittest.mock import Mock
4
+
5
+ from setuptools import _shutil
6
+
7
+
8
+ def test_rmtree_readonly(monkeypatch, tmp_path):
9
+ """Verify onerr works as expected"""
10
+
11
+ tmp_dir = tmp_path / "with_readonly"
12
+ tmp_dir.mkdir()
13
+ some_file = tmp_dir.joinpath("file.txt")
14
+ some_file.touch()
15
+ some_file.chmod(stat.S_IREAD)
16
+
17
+ expected_count = 1 if sys.platform.startswith("win") else 0
18
+ chmod_fn = Mock(wraps=_shutil.attempt_chmod_verbose)
19
+ monkeypatch.setattr(_shutil, "attempt_chmod_verbose", chmod_fn)
20
+
21
+ _shutil.rmtree(tmp_dir)
22
+ assert chmod_fn.call_count == expected_count
23
+ assert not tmp_dir.is_dir()
@@ -564,14 +564,17 @@ def test_wheel_install(params):
564
564
  install_tree = params.get('install_tree')
565
565
  file_defs = params.get('file_defs', {})
566
566
  setup_kwargs = params.get('setup_kwargs', {})
567
- with build_wheel(
568
- name=project_name,
569
- version=version,
570
- install_requires=install_requires,
571
- extras_require=extras_require,
572
- extra_file_defs=file_defs,
573
- **setup_kwargs,
574
- ) as filename, tempdir() as install_dir:
567
+ with (
568
+ build_wheel(
569
+ name=project_name,
570
+ version=version,
571
+ install_requires=install_requires,
572
+ extras_require=extras_require,
573
+ extra_file_defs=file_defs,
574
+ **setup_kwargs,
575
+ ) as filename,
576
+ tempdir() as install_dir,
577
+ ):
575
578
  _check_wheel_install(
576
579
  filename, install_dir, install_tree, project_name, version, requires_txt
577
580
  )
@@ -580,10 +583,13 @@ def test_wheel_install(params):
580
583
  def test_wheel_install_pep_503():
581
584
  project_name = 'Foo_Bar' # PEP 503 canonicalized name is "foo-bar"
582
585
  version = '1.0'
583
- with build_wheel(
584
- name=project_name,
585
- version=version,
586
- ) as filename, tempdir() as install_dir:
586
+ with (
587
+ build_wheel(
588
+ name=project_name,
589
+ version=version,
590
+ ) as filename,
591
+ tempdir() as install_dir,
592
+ ):
587
593
  new_filename = filename.replace(project_name, canonicalize_name(project_name))
588
594
  shutil.move(filename, new_filename)
589
595
  _check_wheel_install(
@@ -687,14 +693,17 @@ def test_wheel_mode():
687
693
  file_defs = params.get('file_defs', {})
688
694
  setup_kwargs = params.get('setup_kwargs', {})
689
695
 
690
- with build_wheel(
691
- name=project_name,
692
- version=version,
693
- install_requires=[],
694
- extras_require={},
695
- extra_file_defs=file_defs,
696
- **setup_kwargs,
697
- ) as filename, tempdir() as install_dir:
696
+ with (
697
+ build_wheel(
698
+ name=project_name,
699
+ version=version,
700
+ install_requires=[],
701
+ extras_require={},
702
+ extra_file_defs=file_defs,
703
+ **setup_kwargs,
704
+ ) as filename,
705
+ tempdir() as install_dir,
706
+ ):
698
707
  _check_wheel_install(
699
708
  filename, install_dir, install_tree, project_name, version, None
700
709
  )
@@ -116,7 +116,7 @@ class TestCLI(WrapperTester):
116
116
  text=True,
117
117
  encoding="utf-8",
118
118
  )
119
- stdout, stderr = proc.communicate('hello\nworld\n')
119
+ stdout, _stderr = proc.communicate('hello\nworld\n')
120
120
  actual = stdout.replace('\r\n', '\n')
121
121
  expected = textwrap.dedent(
122
122
  r"""
@@ -153,7 +153,7 @@ class TestCLI(WrapperTester):
153
153
  text=True,
154
154
  encoding="utf-8",
155
155
  )
156
- stdout, stderr = proc.communicate('hello\nworld\n')
156
+ stdout, _stderr = proc.communicate('hello\nworld\n')
157
157
  actual = stdout.replace('\r\n', '\n')
158
158
  expected = textwrap.dedent(
159
159
  r"""
@@ -201,7 +201,7 @@ class TestCLI(WrapperTester):
201
201
  text=True,
202
202
  encoding="utf-8",
203
203
  )
204
- stdout, stderr = proc.communicate()
204
+ stdout, _stderr = proc.communicate()
205
205
  actual = stdout.replace('\r\n', '\n')
206
206
  expected = textwrap.dedent(
207
207
  r"""
@@ -12,9 +12,12 @@ import warnings
12
12
  from datetime import date
13
13
  from inspect import cleandoc
14
14
  from textwrap import indent
15
- from typing import Tuple
15
+ from typing import TYPE_CHECKING
16
16
 
17
- _DueDate = Tuple[int, int, int] # time tuple
17
+ if TYPE_CHECKING:
18
+ from typing_extensions import TypeAlias
19
+
20
+ _DueDate: TypeAlias = tuple[int, int, int] # time tuple
18
21
  _INDENT = 8 * " "
19
22
  _TEMPLATE = f"""{80 * '*'}\n{{details}}\n{80 * '*'}"""
20
23
 
@@ -31,7 +31,7 @@ WHEEL_NAME = re.compile(
31
31
  NAMESPACE_PACKAGE_INIT = "__import__('pkg_resources').declare_namespace(__name__)\n"
32
32
 
33
33
 
34
- @functools.lru_cache(maxsize=None)
34
+ @functools.cache
35
35
  def _get_supported_tags():
36
36
  # We calculate the supported tags only once, otherwise calling
37
37
  # this method on thousands of wheels takes seconds instead of
@@ -39,7 +39,7 @@ def _get_supported_tags():
39
39
  return {(t.interpreter, t.abi, t.platform) for t in sys_tags()}
40
40
 
41
41
 
42
- def unpack(src_dir, dst_dir):
42
+ def unpack(src_dir, dst_dir) -> None:
43
43
  """Move everything under `src_dir` to `dst_dir`, and delete the former."""
44
44
  for dirpath, dirnames, filenames in os.walk(src_dir):
45
45
  subdir = os.path.relpath(dirpath, src_dir)
@@ -76,7 +76,7 @@ def disable_info_traces():
76
76
 
77
77
 
78
78
  class Wheel:
79
- def __init__(self, filename):
79
+ def __init__(self, filename) -> None:
80
80
  match = WHEEL_NAME(os.path.basename(filename))
81
81
  if match is None:
82
82
  raise ValueError('invalid wheel name: %r' % filename)
@@ -116,7 +116,7 @@ class Wheel:
116
116
  return dirname
117
117
  raise ValueError("unsupported wheel format. .dist-info not found")
118
118
 
119
- def install_as_egg(self, destination_eggdir):
119
+ def install_as_egg(self, destination_eggdir) -> None:
120
120
  """Install wheel as an egg directory."""
121
121
  with zipfile.ZipFile(self.filename) as zf:
122
122
  self._install_as_egg(destination_eggdir, zf)
@@ -1,3 +1,3 @@
1
1
  from __future__ import annotations
2
2
 
3
- __version__ = "0.44.0"
3
+ __version__ = "0.45.0"
@@ -34,6 +34,15 @@ from .wheelfile import WheelFile
34
34
  if TYPE_CHECKING:
35
35
  import types
36
36
 
37
+ # ensure Python logging is configured
38
+ try:
39
+ __import__("setuptools.logging")
40
+ except ImportError:
41
+ # setuptools < ??
42
+ from . import _setuptools_logging
43
+
44
+ _setuptools_logging.configure()
45
+
37
46
 
38
47
  def safe_name(name: str) -> str:
39
48
  """Convert an arbitrary string to a standard distribution name