py2docfx 0.1.16.dev2051338__py3-none-any.whl → 0.1.16.dev2064350__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 (281) hide show
  1. py2docfx/convert_prepare/environment.py +3 -1
  2. py2docfx/convert_prepare/get_source.py +6 -1
  3. py2docfx/convert_prepare/package_info.py +1 -1
  4. py2docfx/venv/basevenv/Lib/site-packages/babel/py.typed +1 -0
  5. py2docfx/venv/basevenv/Lib/site-packages/markupsafe/_speedups.pyi +1 -0
  6. py2docfx/venv/basevenv/Lib/site-packages/markupsafe/py.typed +0 -0
  7. py2docfx/venv/basevenv/Lib/site-packages/packaging/py.typed +0 -0
  8. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  9. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  10. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/chardet/py.typed +0 -0
  11. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  12. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  13. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  14. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  15. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/pyparsing/py.typed +0 -0
  16. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  17. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  18. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/tenacity/py.typed +0 -0
  19. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  20. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  21. py2docfx/venv/basevenv/Lib/site-packages/pip/py.typed +4 -0
  22. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/py.typed +0 -0
  23. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
  24. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
  25. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
  26. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
  27. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
  28. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
  29. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
  30. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
  31. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
  32. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
  33. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
  34. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
  36. py2docfx/venv/basevenv/Lib/site-packages/sphinx/py.typed +0 -0
  37. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/applehelp/py.typed +0 -0
  38. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/htmlhelp/py.typed +0 -0
  39. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/qthelp/py.typed +0 -0
  40. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/serializinghtml/py.typed +0 -0
  41. py2docfx/venv/basevenv/Lib/site-packages/urllib3/_version.py +9 -4
  42. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/emscripten/response.py +8 -16
  43. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/pyopenssl.py +10 -0
  44. py2docfx/venv/basevenv/Lib/site-packages/urllib3/exceptions.py +12 -4
  45. py2docfx/venv/basevenv/Lib/site-packages/urllib3/http2/connection.py +1 -1
  46. py2docfx/venv/basevenv/Lib/site-packages/urllib3/py.typed +2 -0
  47. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_.py +21 -1
  48. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_match_hostname.py +1 -1
  49. py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
  50. py2docfx/venv/basevenv/Lib/site-packages/wheel/__main__.py +7 -5
  51. py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/__init__.py +3 -5
  52. py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/convert.py +14 -9
  53. py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/pack.py +1 -2
  54. py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/tags.py +4 -3
  55. py2docfx/venv/basevenv/Lib/site-packages/wheel/_metadata.py +184 -0
  56. py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +12 -23
  57. py2docfx/venv/basevenv/Lib/site-packages/wheel/macosx_libfile.py +4 -0
  58. py2docfx/venv/basevenv/Lib/site-packages/wheel/metadata.py +17 -183
  59. py2docfx/venv/basevenv/Lib/site-packages/wheel/wheelfile.py +30 -16
  60. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
  61. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +5 -4
  62. py2docfx/venv/venv1/Lib/site-packages/azure/core/instrumentation.py +67 -0
  63. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +3 -1
  64. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +1 -1
  65. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +4 -4
  66. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +1 -2
  67. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +152 -29
  68. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +3 -2
  69. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +2 -2
  70. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +3 -10
  71. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +3 -8
  72. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +2 -0
  73. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +0 -1
  74. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +3 -3
  75. py2docfx/venv/venv1/Lib/site-packages/azure/core/py.typed +0 -0
  76. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl_async.py +3 -0
  77. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_rest_py3.py +2 -2
  78. py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +27 -21
  79. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/__init__.py +3 -7
  80. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +2 -35
  81. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_models.py +71 -0
  82. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +12 -4
  83. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +66 -13
  84. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +62 -23
  85. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/py.typed +0 -0
  86. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/opentelemetry.py +244 -0
  87. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_connection_string_parser.py +1 -2
  88. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_messaging_shared.py +1 -1
  89. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +1 -1
  90. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +1 -1
  91. py2docfx/venv/venv1/Lib/site-packages/azure/identity/py.typed +0 -0
  92. py2docfx/venv/venv1/Lib/site-packages/certifi/py.typed +0 -0
  93. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/py.typed +0 -0
  94. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi +28 -0
  95. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/_openssl.pyi +8 -0
  96. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi +7 -0
  97. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/exceptions.pyi +17 -0
  98. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi +117 -0
  99. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +72 -0
  100. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +103 -0
  101. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ciphers.pyi +38 -0
  102. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/cmac.pyi +18 -0
  103. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/dh.pyi +51 -0
  104. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi +41 -0
  105. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ec.pyi +52 -0
  106. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +12 -0
  107. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +12 -0
  108. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +19 -0
  109. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +21 -0
  110. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +43 -0
  111. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +33 -0
  112. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +13 -0
  113. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/rsa.pyi +55 -0
  114. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +12 -0
  115. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +12 -0
  116. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +46 -0
  117. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +49 -0
  118. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +22 -0
  119. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +246 -0
  120. py2docfx/venv/venv1/Lib/site-packages/cryptography/py.typed +0 -0
  121. py2docfx/venv/venv1/Lib/site-packages/google/api/annotations_pb2.pyi +24 -0
  122. py2docfx/venv/venv1/Lib/site-packages/google/api/auth_pb2.pyi +120 -0
  123. py2docfx/venv/venv1/Lib/site-packages/google/api/backend_pb2.pyi +102 -0
  124. py2docfx/venv/venv1/Lib/site-packages/google/api/billing_pb2.pyi +50 -0
  125. py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.pyi +405 -0
  126. py2docfx/venv/venv1/Lib/site-packages/google/api/config_change_pb2.pyi +65 -0
  127. py2docfx/venv/venv1/Lib/site-packages/google/api/consumer_pb2.pyi +62 -0
  128. py2docfx/venv/venv1/Lib/site-packages/google/api/context_pb2.pyi +60 -0
  129. py2docfx/venv/venv1/Lib/site-packages/google/api/control_pb2.pyi +43 -0
  130. py2docfx/venv/venv1/Lib/site-packages/google/api/distribution_pb2.pyi +144 -0
  131. py2docfx/venv/venv1/Lib/site-packages/google/api/documentation_pb2.pyi +86 -0
  132. py2docfx/venv/venv1/Lib/site-packages/google/api/endpoint_pb2.pyi +41 -0
  133. py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.pyi +90 -0
  134. py2docfx/venv/venv1/Lib/site-packages/google/api/field_behavior_pb2.pyi +45 -0
  135. py2docfx/venv/venv1/Lib/site-packages/google/api/field_info_pb2.pyi +60 -0
  136. py2docfx/venv/venv1/Lib/site-packages/google/api/http_pb2.pyi +94 -0
  137. py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.pyi +41 -0
  138. py2docfx/venv/venv1/Lib/site-packages/google/api/label_pb2.pyi +47 -0
  139. py2docfx/venv/venv1/Lib/site-packages/google/api/launch_stage_pb2.pyi +40 -0
  140. py2docfx/venv/venv1/Lib/site-packages/google/api/log_pb2.pyi +47 -0
  141. py2docfx/venv/venv1/Lib/site-packages/google/api/logging_pb2.pyi +57 -0
  142. py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.pyi +186 -0
  143. py2docfx/venv/venv1/Lib/site-packages/google/api/monitored_resource_pb2.pyi +104 -0
  144. py2docfx/venv/venv1/Lib/site-packages/google/api/monitoring_pb2.pyi +57 -0
  145. py2docfx/venv/venv1/Lib/site-packages/google/api/policy_pb2.pyi +57 -0
  146. py2docfx/venv/venv1/Lib/site-packages/google/api/quota_pb2.pyi +116 -0
  147. py2docfx/venv/venv1/Lib/site-packages/google/api/resource_pb2.pyi +93 -0
  148. py2docfx/venv/venv1/Lib/site-packages/google/api/routing_pb2.pyi +49 -0
  149. py2docfx/venv/venv1/Lib/site-packages/google/api/service_pb2.pyi +170 -0
  150. py2docfx/venv/venv1/Lib/site-packages/google/api/source_info_pb2.pyi +34 -0
  151. py2docfx/venv/venv1/Lib/site-packages/google/api/system_parameter_pb2.pyi +60 -0
  152. py2docfx/venv/venv1/Lib/site-packages/google/api/usage_pb2.pyi +55 -0
  153. py2docfx/venv/venv1/Lib/site-packages/google/api/visibility_pb2.pyi +56 -0
  154. py2docfx/venv/venv1/Lib/site-packages/google/api_core/py.typed +2 -0
  155. py2docfx/venv/venv1/Lib/site-packages/google/auth/py.typed +2 -0
  156. py2docfx/venv/venv1/Lib/site-packages/google/cloud/extended_operations_pb2.pyi +45 -0
  157. py2docfx/venv/venv1/Lib/site-packages/google/cloud/location/locations_pb2.pyi +96 -0
  158. py2docfx/venv/venv1/Lib/site-packages/google/gapic/metadata/gapic_metadata_pb2.pyi +118 -0
  159. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/http_request_pb2.pyi +91 -0
  160. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/log_severity_pb2.pyi +42 -0
  161. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto_pb2.pyi +126 -0
  162. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/py.typed +2 -0
  163. py2docfx/venv/venv1/Lib/site-packages/google/rpc/code_pb2.pyi +58 -0
  164. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/attribute_context_pb2.pyi +309 -0
  165. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/audit_context_pb2.pyi +51 -0
  166. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.pyi +207 -0
  167. py2docfx/venv/venv1/Lib/site-packages/google/rpc/http_pb2.pyi +71 -0
  168. py2docfx/venv/venv1/Lib/site-packages/google/rpc/status_pb2.pyi +41 -0
  169. py2docfx/venv/venv1/Lib/site-packages/google/type/calendar_period_pb2.pyi +40 -0
  170. py2docfx/venv/venv1/Lib/site-packages/google/type/color_pb2.pyi +42 -0
  171. py2docfx/venv/venv1/Lib/site-packages/google/type/date_pb2.pyi +36 -0
  172. py2docfx/venv/venv1/Lib/site-packages/google/type/datetime_pb2.pyi +77 -0
  173. py2docfx/venv/venv1/Lib/site-packages/google/type/dayofweek_pb2.pyi +40 -0
  174. py2docfx/venv/venv1/Lib/site-packages/google/type/decimal_pb2.pyi +27 -0
  175. py2docfx/venv/venv1/Lib/site-packages/google/type/expr_pb2.pyi +39 -0
  176. py2docfx/venv/venv1/Lib/site-packages/google/type/fraction_pb2.pyi +31 -0
  177. py2docfx/venv/venv1/Lib/site-packages/google/type/interval_pb2.pyi +36 -0
  178. py2docfx/venv/venv1/Lib/site-packages/google/type/latlng_pb2.pyi +31 -0
  179. py2docfx/venv/venv1/Lib/site-packages/google/type/localized_text_pb2.pyi +31 -0
  180. py2docfx/venv/venv1/Lib/site-packages/google/type/money_pb2.pyi +36 -0
  181. py2docfx/venv/venv1/Lib/site-packages/google/type/month_pb2.pyi +50 -0
  182. py2docfx/venv/venv1/Lib/site-packages/google/type/phone_number_pb2.pyi +48 -0
  183. py2docfx/venv/venv1/Lib/site-packages/google/type/postal_address_pb2.pyi +74 -0
  184. py2docfx/venv/venv1/Lib/site-packages/google/type/quaternion_pb2.pyi +39 -0
  185. py2docfx/venv/venv1/Lib/site-packages/google/type/timeofday_pb2.pyi +39 -0
  186. py2docfx/venv/venv1/Lib/site-packages/idna/py.typed +0 -0
  187. py2docfx/venv/venv1/Lib/site-packages/jwt/py.typed +0 -0
  188. py2docfx/venv/venv1/Lib/site-packages/packaging/__init__.py +15 -0
  189. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_elffile.py +9 -7
  190. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_manylinux.py +12 -9
  191. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_musllinux.py +5 -3
  192. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_parser.py +11 -13
  193. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_tokenizer.py +10 -8
  194. py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/__init__.py +145 -0
  195. py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
  196. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/markers.py +103 -25
  197. py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +863 -0
  198. py2docfx/venv/venv1/Lib/site-packages/packaging/py.typed +0 -0
  199. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/requirements.py +5 -4
  200. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/specifiers.py +40 -31
  201. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/tags.py +96 -50
  202. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/utils.py +39 -48
  203. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/version.py +53 -32
  204. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  205. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  206. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/chardet/py.typed +0 -0
  207. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  208. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  209. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  210. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  211. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/pyparsing/py.typed +0 -0
  212. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  213. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  214. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/tenacity/py.typed +0 -0
  215. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  216. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  217. py2docfx/venv/venv1/Lib/site-packages/pip/py.typed +4 -0
  218. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/py.typed +0 -0
  219. py2docfx/venv/venv1/Lib/site-packages/rsa/py.typed +1 -0
  220. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
  221. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
  222. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
  223. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
  224. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
  225. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
  226. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
  227. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
  228. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
  229. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
  230. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
  231. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
  232. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
  233. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +30 -12
  234. py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +9 -4
  235. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/response.py +8 -16
  236. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/pyopenssl.py +10 -0
  237. py2docfx/venv/venv1/Lib/site-packages/urllib3/exceptions.py +12 -4
  238. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/connection.py +1 -1
  239. py2docfx/venv/venv1/Lib/site-packages/urllib3/py.typed +2 -0
  240. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +21 -1
  241. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_match_hostname.py +1 -1
  242. py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
  243. py2docfx/venv/venv1/Lib/site-packages/wheel/__main__.py +7 -5
  244. py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/__init__.py +3 -5
  245. py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/convert.py +14 -9
  246. py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/pack.py +1 -2
  247. py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/tags.py +4 -3
  248. py2docfx/venv/venv1/Lib/site-packages/wheel/_metadata.py +184 -0
  249. py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +12 -23
  250. py2docfx/venv/venv1/Lib/site-packages/wheel/macosx_libfile.py +4 -0
  251. py2docfx/venv/venv1/Lib/site-packages/wheel/metadata.py +17 -183
  252. py2docfx/venv/venv1/Lib/site-packages/wheel/wheelfile.py +30 -16
  253. {py2docfx-0.1.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/METADATA +2 -3
  254. {py2docfx-0.1.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/RECORD +263 -104
  255. {py2docfx-0.1.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/WHEEL +1 -1
  256. py2docfx/venv/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +0 -613
  257. py2docfx/venv/basevenv/Lib/site-packages/wheel/_setuptools_logging.py +0 -26
  258. py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -17
  259. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_elffile.py +0 -108
  260. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -356
  261. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -253
  262. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -571
  263. py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +0 -613
  264. py2docfx/venv/venv1/Lib/site-packages/wheel/_setuptools_logging.py +0 -26
  265. py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -17
  266. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +0 -260
  267. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +0 -83
  268. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_structures.py +0 -61
  269. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +0 -192
  270. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -90
  271. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -1011
  272. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -172
  273. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/version.py +0 -561
  274. /py2docfx/venv/basevenv/Lib/site-packages/{wheel/vendored/__init__.py → certifi/py.typed} +0 -0
  275. /py2docfx/venv/basevenv/Lib/site-packages/{wheel/vendored/packaging/__init__.py → charset_normalizer/py.typed} +0 -0
  276. /py2docfx/venv/{venv1/Lib/site-packages/wheel/vendored/__init__.py → basevenv/Lib/site-packages/idna/py.typed} +0 -0
  277. /py2docfx/venv/{venv1/Lib/site-packages/wheel/vendored/packaging/__init__.py → basevenv/Lib/site-packages/jinja2/py.typed} +0 -0
  278. /py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/unpack.py +0 -0
  279. /py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_structures.py +0 -0
  280. /py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/unpack.py +0 -0
  281. {py2docfx-0.1.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,184 @@
1
+ """
2
+ Tools for converting old- to new-style metadata.
3
+ """
4
+
5
+ from __future__ import annotations
6
+
7
+ import functools
8
+ import itertools
9
+ import os.path
10
+ import re
11
+ import textwrap
12
+ from collections.abc import Generator, Iterable, Iterator
13
+ from email.message import Message
14
+ from email.parser import Parser
15
+ from typing import Literal
16
+
17
+ from packaging.requirements import Requirement
18
+
19
+
20
+ def _nonblank(str: str) -> bool | Literal[""]:
21
+ return str and not str.startswith("#")
22
+
23
+
24
+ @functools.singledispatch
25
+ def yield_lines(iterable: Iterable[str]) -> Iterator[str]:
26
+ r"""
27
+ Yield valid lines of a string or iterable.
28
+ >>> list(yield_lines(''))
29
+ []
30
+ >>> list(yield_lines(['foo', 'bar']))
31
+ ['foo', 'bar']
32
+ >>> list(yield_lines('foo\nbar'))
33
+ ['foo', 'bar']
34
+ >>> list(yield_lines('\nfoo\n#bar\nbaz #comment'))
35
+ ['foo', 'baz #comment']
36
+ >>> list(yield_lines(['foo\nbar', 'baz', 'bing\n\n\n']))
37
+ ['foo', 'bar', 'baz', 'bing']
38
+ """
39
+ return itertools.chain.from_iterable(map(yield_lines, iterable))
40
+
41
+
42
+ @yield_lines.register(str)
43
+ def _(text: str) -> Iterator[str]:
44
+ return filter(_nonblank, map(str.strip, text.splitlines()))
45
+
46
+
47
+ def split_sections(
48
+ s: str | Iterator[str],
49
+ ) -> Generator[tuple[str | None, list[str]], None, None]:
50
+ """Split a string or iterable thereof into (section, content) pairs
51
+ Each ``section`` is a stripped version of the section header ("[section]")
52
+ and each ``content`` is a list of stripped lines excluding blank lines and
53
+ comment-only lines. If there are any such lines before the first section
54
+ header, they're returned in a first ``section`` of ``None``.
55
+ """
56
+ section = None
57
+ content: list[str] = []
58
+ for line in yield_lines(s):
59
+ if line.startswith("["):
60
+ if line.endswith("]"):
61
+ if section or content:
62
+ yield section, content
63
+ section = line[1:-1].strip()
64
+ content = []
65
+ else:
66
+ raise ValueError("Invalid section heading", line)
67
+ else:
68
+ content.append(line)
69
+
70
+ # wrap up last segment
71
+ yield section, content
72
+
73
+
74
+ def safe_extra(extra: str) -> str:
75
+ """Convert an arbitrary string to a standard 'extra' name
76
+ Any runs of non-alphanumeric characters are replaced with a single '_',
77
+ and the result is always lowercased.
78
+ """
79
+ return re.sub("[^A-Za-z0-9.-]+", "_", extra).lower()
80
+
81
+
82
+ def safe_name(name: str) -> str:
83
+ """Convert an arbitrary string to a standard distribution name
84
+ Any runs of non-alphanumeric/. characters are replaced with a single '-'.
85
+ """
86
+ return re.sub("[^A-Za-z0-9.]+", "-", name)
87
+
88
+
89
+ def requires_to_requires_dist(requirement: Requirement) -> str:
90
+ """Return the version specifier for a requirement in PEP 345/566 fashion."""
91
+ if requirement.url:
92
+ return " @ " + requirement.url
93
+
94
+ requires_dist: list[str] = []
95
+ for spec in requirement.specifier:
96
+ requires_dist.append(spec.operator + spec.version)
97
+
98
+ if requires_dist:
99
+ return " " + ",".join(sorted(requires_dist))
100
+ else:
101
+ return ""
102
+
103
+
104
+ def convert_requirements(requirements: list[str]) -> Iterator[str]:
105
+ """Yield Requires-Dist: strings for parsed requirements strings."""
106
+ for req in requirements:
107
+ parsed_requirement = Requirement(req)
108
+ spec = requires_to_requires_dist(parsed_requirement)
109
+ extras = ",".join(sorted(safe_extra(e) for e in parsed_requirement.extras))
110
+ if extras:
111
+ extras = f"[{extras}]"
112
+
113
+ yield safe_name(parsed_requirement.name) + extras + spec
114
+
115
+
116
+ def generate_requirements(
117
+ extras_require: dict[str | None, list[str]],
118
+ ) -> Iterator[tuple[str, str]]:
119
+ """
120
+ Convert requirements from a setup()-style dictionary to
121
+ ('Requires-Dist', 'requirement') and ('Provides-Extra', 'extra') tuples.
122
+
123
+ extras_require is a dictionary of {extra: [requirements]} as passed to setup(),
124
+ using the empty extra {'': [requirements]} to hold install_requires.
125
+ """
126
+ for extra, depends in extras_require.items():
127
+ condition = ""
128
+ extra = extra or ""
129
+ if ":" in extra: # setuptools extra:condition syntax
130
+ extra, condition = extra.split(":", 1)
131
+
132
+ extra = safe_extra(extra)
133
+ if extra:
134
+ yield "Provides-Extra", extra
135
+ if condition:
136
+ condition = "(" + condition + ") and "
137
+ condition += f"extra == '{extra}'"
138
+
139
+ if condition:
140
+ condition = " ; " + condition
141
+
142
+ for new_req in convert_requirements(depends):
143
+ canonical_req = str(Requirement(new_req + condition))
144
+ yield "Requires-Dist", canonical_req
145
+
146
+
147
+ def pkginfo_to_metadata(egg_info_path: str, pkginfo_path: str) -> Message:
148
+ """
149
+ Convert .egg-info directory with PKG-INFO to the Metadata 2.1 format
150
+ """
151
+ with open(pkginfo_path, encoding="utf-8") as headers:
152
+ pkg_info = Parser().parse(headers)
153
+
154
+ pkg_info.replace_header("Metadata-Version", "2.1")
155
+ # Those will be regenerated from `requires.txt`.
156
+ del pkg_info["Provides-Extra"]
157
+ del pkg_info["Requires-Dist"]
158
+ requires_path = os.path.join(egg_info_path, "requires.txt")
159
+ if os.path.exists(requires_path):
160
+ with open(requires_path, encoding="utf-8") as requires_file:
161
+ requires = requires_file.read()
162
+
163
+ parsed_requirements = sorted(split_sections(requires), key=lambda x: x[0] or "")
164
+ for extra, reqs in parsed_requirements:
165
+ for key, value in generate_requirements({extra: reqs}):
166
+ if (key, value) not in pkg_info.items():
167
+ pkg_info[key] = value
168
+
169
+ description = pkg_info["Description"]
170
+ if description:
171
+ description_lines = pkg_info["Description"].splitlines()
172
+ dedented_description = "\n".join(
173
+ # if the first line of long_description is blank,
174
+ # the first line here will be indented.
175
+ (
176
+ description_lines[0].lstrip(),
177
+ textwrap.dedent("\n".join(description_lines[1:])),
178
+ "\n",
179
+ )
180
+ )
181
+ pkg_info.set_payload(dedented_description)
182
+ del pkg_info["Description"]
183
+
184
+ return pkg_info
@@ -1,26 +1,15 @@
1
- from typing import TYPE_CHECKING
2
1
  from warnings import warn
3
2
 
4
- warn(
5
- "The 'wheel' package is no longer the canonical location of the 'bdist_wheel' "
6
- "command, and will be removed in a future release. Please update to setuptools "
7
- "v70.1 or later which contains an integrated version of this command.",
8
- DeprecationWarning,
9
- stacklevel=1,
10
- )
3
+ ERROR = """\
4
+ The 'wheel.bdist_wheel' module has been removed.
5
+ Please update your setuptools to v70.1 or later.
6
+ If you're explicitly importing 'wheel.bdist_wheel', please update your import to point \
7
+ to 'setuptools.command.bdist_wheel' instead.
8
+ """
11
9
 
12
- if TYPE_CHECKING:
13
- from ._bdist_wheel import bdist_wheel as bdist_wheel
14
- else:
15
- try:
16
- # Better integration/compatibility with setuptools:
17
- # in the case new fixes or PEPs are implemented in setuptools
18
- # there is no need to backport them to the deprecated code base.
19
- # This is useful in the case of old packages in the ecosystem
20
- # that are still used but have low maintenance.
21
- from setuptools.command.bdist_wheel import bdist_wheel
22
- except ImportError:
23
- # Only used in the case of old setuptools versions.
24
- # If the user wants to get the latest fixes/PEPs,
25
- # they are encouraged to address the deprecation warning.
26
- from ._bdist_wheel import bdist_wheel as bdist_wheel
10
+ try:
11
+ from setuptools.command.bdist_wheel import bdist_wheel as bdist_wheel
12
+ except ModuleNotFoundError as exc:
13
+ raise ImportError(ERROR) from exc
14
+
15
+ warn(ERROR, DeprecationWarning, stacklevel=2)
@@ -1,4 +1,8 @@
1
1
  """
2
+ IMPORTANT: DO NOT IMPORT THIS MODULE DIRECTLY.
3
+ THIS IS ONLY KEPT IN PLACE FOR BACKWARDS COMPATIBILITY WITH
4
+ setuptools.command.bdist_wheel.
5
+
2
6
  This module contains function to analyse dynamic library
3
7
  headers to extract system information
4
8
 
@@ -1,183 +1,17 @@
1
- """
2
- Tools for converting old- to new-style metadata.
3
- """
4
-
5
- from __future__ import annotations
6
-
7
- import functools
8
- import itertools
9
- import os.path
10
- import re
11
- import textwrap
12
- from email.message import Message
13
- from email.parser import Parser
14
- from typing import Generator, Iterable, Iterator, Literal
15
-
16
- from .vendored.packaging.requirements import Requirement
17
-
18
-
19
- def _nonblank(str: str) -> bool | Literal[""]:
20
- return str and not str.startswith("#")
21
-
22
-
23
- @functools.singledispatch
24
- def yield_lines(iterable: Iterable[str]) -> Iterator[str]:
25
- r"""
26
- Yield valid lines of a string or iterable.
27
- >>> list(yield_lines(''))
28
- []
29
- >>> list(yield_lines(['foo', 'bar']))
30
- ['foo', 'bar']
31
- >>> list(yield_lines('foo\nbar'))
32
- ['foo', 'bar']
33
- >>> list(yield_lines('\nfoo\n#bar\nbaz #comment'))
34
- ['foo', 'baz #comment']
35
- >>> list(yield_lines(['foo\nbar', 'baz', 'bing\n\n\n']))
36
- ['foo', 'bar', 'baz', 'bing']
37
- """
38
- return itertools.chain.from_iterable(map(yield_lines, iterable))
39
-
40
-
41
- @yield_lines.register(str)
42
- def _(text: str) -> Iterator[str]:
43
- return filter(_nonblank, map(str.strip, text.splitlines()))
44
-
45
-
46
- def split_sections(
47
- s: str | Iterator[str],
48
- ) -> Generator[tuple[str | None, list[str]], None, None]:
49
- """Split a string or iterable thereof into (section, content) pairs
50
- Each ``section`` is a stripped version of the section header ("[section]")
51
- and each ``content`` is a list of stripped lines excluding blank lines and
52
- comment-only lines. If there are any such lines before the first section
53
- header, they're returned in a first ``section`` of ``None``.
54
- """
55
- section = None
56
- content: list[str] = []
57
- for line in yield_lines(s):
58
- if line.startswith("["):
59
- if line.endswith("]"):
60
- if section or content:
61
- yield section, content
62
- section = line[1:-1].strip()
63
- content = []
64
- else:
65
- raise ValueError("Invalid section heading", line)
66
- else:
67
- content.append(line)
68
-
69
- # wrap up last segment
70
- yield section, content
71
-
72
-
73
- def safe_extra(extra: str) -> str:
74
- """Convert an arbitrary string to a standard 'extra' name
75
- Any runs of non-alphanumeric characters are replaced with a single '_',
76
- and the result is always lowercased.
77
- """
78
- return re.sub("[^A-Za-z0-9.-]+", "_", extra).lower()
79
-
80
-
81
- def safe_name(name: str) -> str:
82
- """Convert an arbitrary string to a standard distribution name
83
- Any runs of non-alphanumeric/. characters are replaced with a single '-'.
84
- """
85
- return re.sub("[^A-Za-z0-9.]+", "-", name)
86
-
87
-
88
- def requires_to_requires_dist(requirement: Requirement) -> str:
89
- """Return the version specifier for a requirement in PEP 345/566 fashion."""
90
- if requirement.url:
91
- return " @ " + requirement.url
92
-
93
- requires_dist: list[str] = []
94
- for spec in requirement.specifier:
95
- requires_dist.append(spec.operator + spec.version)
96
-
97
- if requires_dist:
98
- return " " + ",".join(sorted(requires_dist))
99
- else:
100
- return ""
101
-
102
-
103
- def convert_requirements(requirements: list[str]) -> Iterator[str]:
104
- """Yield Requires-Dist: strings for parsed requirements strings."""
105
- for req in requirements:
106
- parsed_requirement = Requirement(req)
107
- spec = requires_to_requires_dist(parsed_requirement)
108
- extras = ",".join(sorted(safe_extra(e) for e in parsed_requirement.extras))
109
- if extras:
110
- extras = f"[{extras}]"
111
-
112
- yield safe_name(parsed_requirement.name) + extras + spec
113
-
114
-
115
- def generate_requirements(
116
- extras_require: dict[str | None, list[str]],
117
- ) -> Iterator[tuple[str, str]]:
118
- """
119
- Convert requirements from a setup()-style dictionary to
120
- ('Requires-Dist', 'requirement') and ('Provides-Extra', 'extra') tuples.
121
-
122
- extras_require is a dictionary of {extra: [requirements]} as passed to setup(),
123
- using the empty extra {'': [requirements]} to hold install_requires.
124
- """
125
- for extra, depends in extras_require.items():
126
- condition = ""
127
- extra = extra or ""
128
- if ":" in extra: # setuptools extra:condition syntax
129
- extra, condition = extra.split(":", 1)
130
-
131
- extra = safe_extra(extra)
132
- if extra:
133
- yield "Provides-Extra", extra
134
- if condition:
135
- condition = "(" + condition + ") and "
136
- condition += f"extra == '{extra}'"
137
-
138
- if condition:
139
- condition = " ; " + condition
140
-
141
- for new_req in convert_requirements(depends):
142
- canonical_req = str(Requirement(new_req + condition))
143
- yield "Requires-Dist", canonical_req
144
-
145
-
146
- def pkginfo_to_metadata(egg_info_path: str, pkginfo_path: str) -> Message:
147
- """
148
- Convert .egg-info directory with PKG-INFO to the Metadata 2.1 format
149
- """
150
- with open(pkginfo_path, encoding="utf-8") as headers:
151
- pkg_info = Parser().parse(headers)
152
-
153
- pkg_info.replace_header("Metadata-Version", "2.1")
154
- # Those will be regenerated from `requires.txt`.
155
- del pkg_info["Provides-Extra"]
156
- del pkg_info["Requires-Dist"]
157
- requires_path = os.path.join(egg_info_path, "requires.txt")
158
- if os.path.exists(requires_path):
159
- with open(requires_path, encoding="utf-8") as requires_file:
160
- requires = requires_file.read()
161
-
162
- parsed_requirements = sorted(split_sections(requires), key=lambda x: x[0] or "")
163
- for extra, reqs in parsed_requirements:
164
- for key, value in generate_requirements({extra: reqs}):
165
- if (key, value) not in pkg_info.items():
166
- pkg_info[key] = value
167
-
168
- description = pkg_info["Description"]
169
- if description:
170
- description_lines = pkg_info["Description"].splitlines()
171
- dedented_description = "\n".join(
172
- # if the first line of long_description is blank,
173
- # the first line here will be indented.
174
- (
175
- description_lines[0].lstrip(),
176
- textwrap.dedent("\n".join(description_lines[1:])),
177
- "\n",
178
- )
179
- )
180
- pkg_info.set_payload(dedented_description)
181
- del pkg_info["Description"]
182
-
183
- return pkg_info
1
+ from warnings import warn
2
+
3
+ from ._metadata import convert_requirements as convert_requirements
4
+ from ._metadata import generate_requirements as generate_requirements
5
+ from ._metadata import pkginfo_to_metadata as pkginfo_to_metadata
6
+ from ._metadata import requires_to_requires_dist as requires_to_requires_dist
7
+ from ._metadata import safe_extra as safe_extra
8
+ from ._metadata import safe_name as safe_name
9
+ from ._metadata import split_sections as split_sections
10
+
11
+ warn(
12
+ f"The {__name__!r} package has been made private and should no longer be imported. "
13
+ f"Please either copy the code or find an alternative library to import it from, as "
14
+ f"this warning will be removed in a future version of 'wheel'.",
15
+ DeprecationWarning,
16
+ stacklevel=2,
17
+ )
@@ -1,7 +1,11 @@
1
1
  from __future__ import annotations
2
2
 
3
+ __all__ = ["WHEEL_INFO_RE", "WheelFile", "WheelError"]
4
+
5
+ import base64
3
6
  import csv
4
7
  import hashlib
8
+ import logging
5
9
  import os.path
6
10
  import re
7
11
  import stat
@@ -10,17 +14,8 @@ from io import StringIO, TextIOWrapper
10
14
  from typing import IO, TYPE_CHECKING, Literal
11
15
  from zipfile import ZIP_DEFLATED, ZipFile, ZipInfo
12
16
 
13
- from wheel.cli import WheelError
14
- from wheel.util import log, urlsafe_b64decode, urlsafe_b64encode
15
-
16
17
  if TYPE_CHECKING:
17
- from typing import Protocol, Sized, Union
18
-
19
- from typing_extensions import Buffer
20
-
21
- StrPath = Union[str, os.PathLike[str]]
22
-
23
- class SizedBuffer(Sized, Buffer, Protocol): ...
18
+ from _typeshed import SizedBuffer, StrPath
24
19
 
25
20
 
26
21
  # Non-greedy matching of an optional build number may be too clever (more
@@ -32,8 +27,27 @@ WHEEL_INFO_RE = re.compile(
32
27
  )
33
28
  MINIMUM_TIMESTAMP = 315532800 # 1980-01-01 00:00:00 UTC
34
29
 
30
+ log = logging.getLogger("wheel")
31
+
32
+
33
+ class WheelError(Exception):
34
+ pass
35
35
 
36
- def get_zipinfo_datetime(timestamp: float | None = None):
36
+
37
+ def urlsafe_b64encode(data: bytes) -> bytes:
38
+ """urlsafe_b64encode without padding"""
39
+ return base64.urlsafe_b64encode(data).rstrip(b"=")
40
+
41
+
42
+ def urlsafe_b64decode(data: bytes) -> bytes:
43
+ """urlsafe_b64decode without padding"""
44
+ pad = b"=" * (4 - (len(data) & 3))
45
+ return base64.urlsafe_b64decode(data + pad)
46
+
47
+
48
+ def get_zipinfo_datetime(
49
+ timestamp: float | None = None,
50
+ ) -> tuple[int, int, int, int, int]:
37
51
  # Some applications need reproducible .whl files, but they can't do this without
38
52
  # forcing the timestamp of the individual ZipInfo objects. See issue #143.
39
53
  timestamp = int(os.environ.get("SOURCE_DATE_EPOCH", timestamp or time.time()))
@@ -140,8 +154,8 @@ class WheelFile(ZipFile):
140
154
 
141
155
  return ef
142
156
 
143
- def write_files(self, base_dir: str):
144
- log.info(f"creating '{self.filename}' and adding '{base_dir}' to it")
157
+ def write_files(self, base_dir: str) -> None:
158
+ log.info("creating %r and adding %r to it", self.filename, base_dir)
145
159
  deferred: list[tuple[str, str]] = []
146
160
  for root, dirnames, filenames in os.walk(base_dir):
147
161
  # Sort the directory names so that `os.walk` will walk them in a
@@ -184,7 +198,7 @@ class WheelFile(ZipFile):
184
198
  zinfo_or_arcname: str | ZipInfo,
185
199
  data: SizedBuffer | str,
186
200
  compress_type: int | None = None,
187
- ):
201
+ ) -> None:
188
202
  if isinstance(zinfo_or_arcname, str):
189
203
  zinfo_or_arcname = ZipInfo(
190
204
  zinfo_or_arcname, date_time=get_zipinfo_datetime()
@@ -201,7 +215,7 @@ class WheelFile(ZipFile):
201
215
  if isinstance(zinfo_or_arcname, ZipInfo)
202
216
  else zinfo_or_arcname
203
217
  )
204
- log.info(f"adding '{fname}'")
218
+ log.info("adding %r", fname)
205
219
  if fname != self.record_path:
206
220
  hash_ = self._default_algorithm(data)
207
221
  self._file_hashes[fname] = (
@@ -210,7 +224,7 @@ class WheelFile(ZipFile):
210
224
  )
211
225
  self._file_sizes[fname] = len(data)
212
226
 
213
- def close(self):
227
+ def close(self) -> None:
214
228
  # Write RECORD
215
229
  if self.fp is not None and self.mode == "w" and self._file_hashes:
216
230
  data = StringIO()
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: py2docfx
3
- Version: 0.1.16.dev2051338
3
+ Version: 0.1.16.dev2064350
4
4
  Summary: A package built based on Sphinx which download source code package and generate yaml files supported by docfx.
5
5
  Author: Microsoft Corporation
6
6
  License: MIT License
@@ -12,4 +12,3 @@ Requires-Python: >=3.9
12
12
  Requires-Dist: sphinx==6.1.3
13
13
  Requires-Dist: pyyaml
14
14
  Requires-Dist: wheel
15
-