py2docfx 0.1.16.dev2052678__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.dev2052678.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/METADATA +2 -3
  254. {py2docfx-0.1.16.dev2052678.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/RECORD +263 -104
  255. {py2docfx-0.1.16.dev2052678.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.dev2052678.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/top_level.txt +0 -0
@@ -2,11 +2,14 @@
2
2
  # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
3
  # for complete details.
4
4
 
5
+ from __future__ import annotations
6
+
7
+ import functools
5
8
  import re
6
- from typing import FrozenSet, NewType, Tuple, Union, cast
9
+ from typing import NewType, Tuple, Union, cast
7
10
 
8
11
  from .tags import Tag, parse_tag
9
- from .version import InvalidVersion, Version
12
+ from .version import InvalidVersion, Version, _TrimmedRelease
10
13
 
11
14
  BuildTag = Union[Tuple[()], Tuple[int, str]]
12
15
  NormalizedName = NewType("NormalizedName", str)
@@ -52,81 +55,69 @@ def is_normalized_name(name: str) -> bool:
52
55
  return _normalized_regex.match(name) is not None
53
56
 
54
57
 
58
+ @functools.singledispatch
55
59
  def canonicalize_version(
56
- version: Union[Version, str], *, strip_trailing_zero: bool = True
60
+ version: Version | str, *, strip_trailing_zero: bool = True
57
61
  ) -> str:
58
62
  """
59
- This is very similar to Version.__str__, but has one subtle difference
60
- with the way it handles the release segment.
61
- """
62
- if isinstance(version, str):
63
- try:
64
- parsed = Version(version)
65
- except InvalidVersion:
66
- # Legacy versions cannot be normalized
67
- return version
68
- else:
69
- parsed = version
63
+ Return a canonical form of a version as a string.
70
64
 
71
- parts = []
65
+ >>> canonicalize_version('1.0.1')
66
+ '1.0.1'
72
67
 
73
- # Epoch
74
- if parsed.epoch != 0:
75
- parts.append(f"{parsed.epoch}!")
68
+ Per PEP 625, versions may have multiple canonical forms, differing
69
+ only by trailing zeros.
76
70
 
77
- # Release segment
78
- release_segment = ".".join(str(x) for x in parsed.release)
79
- if strip_trailing_zero:
80
- # NB: This strips trailing '.0's to normalize
81
- release_segment = re.sub(r"(\.0)+$", "", release_segment)
82
- parts.append(release_segment)
71
+ >>> canonicalize_version('1.0.0')
72
+ '1'
73
+ >>> canonicalize_version('1.0.0', strip_trailing_zero=False)
74
+ '1.0.0'
83
75
 
84
- # Pre-release
85
- if parsed.pre is not None:
86
- parts.append("".join(str(x) for x in parsed.pre))
76
+ Invalid versions are returned unaltered.
87
77
 
88
- # Post-release
89
- if parsed.post is not None:
90
- parts.append(f".post{parsed.post}")
91
-
92
- # Development release
93
- if parsed.dev is not None:
94
- parts.append(f".dev{parsed.dev}")
78
+ >>> canonicalize_version('foo bar baz')
79
+ 'foo bar baz'
80
+ """
81
+ return str(_TrimmedRelease(str(version)) if strip_trailing_zero else version)
95
82
 
96
- # Local version segment
97
- if parsed.local is not None:
98
- parts.append(f"+{parsed.local}")
99
83
 
100
- return "".join(parts)
84
+ @canonicalize_version.register
85
+ def _(version: str, *, strip_trailing_zero: bool = True) -> str:
86
+ try:
87
+ parsed = Version(version)
88
+ except InvalidVersion:
89
+ # Legacy versions cannot be normalized
90
+ return version
91
+ return canonicalize_version(parsed, strip_trailing_zero=strip_trailing_zero)
101
92
 
102
93
 
103
94
  def parse_wheel_filename(
104
95
  filename: str,
105
- ) -> Tuple[NormalizedName, Version, BuildTag, FrozenSet[Tag]]:
96
+ ) -> tuple[NormalizedName, Version, BuildTag, frozenset[Tag]]:
106
97
  if not filename.endswith(".whl"):
107
98
  raise InvalidWheelFilename(
108
- f"Invalid wheel filename (extension must be '.whl'): {filename}"
99
+ f"Invalid wheel filename (extension must be '.whl'): {filename!r}"
109
100
  )
110
101
 
111
102
  filename = filename[:-4]
112
103
  dashes = filename.count("-")
113
104
  if dashes not in (4, 5):
114
105
  raise InvalidWheelFilename(
115
- f"Invalid wheel filename (wrong number of parts): {filename}"
106
+ f"Invalid wheel filename (wrong number of parts): {filename!r}"
116
107
  )
117
108
 
118
109
  parts = filename.split("-", dashes - 2)
119
110
  name_part = parts[0]
120
111
  # See PEP 427 for the rules on escaping the project name.
121
112
  if "__" in name_part or re.match(r"^[\w\d._]*$", name_part, re.UNICODE) is None:
122
- raise InvalidWheelFilename(f"Invalid project name: {filename}")
113
+ raise InvalidWheelFilename(f"Invalid project name: {filename!r}")
123
114
  name = canonicalize_name(name_part)
124
115
 
125
116
  try:
126
117
  version = Version(parts[1])
127
118
  except InvalidVersion as e:
128
119
  raise InvalidWheelFilename(
129
- f"Invalid wheel filename (invalid version): {filename}"
120
+ f"Invalid wheel filename (invalid version): {filename!r}"
130
121
  ) from e
131
122
 
132
123
  if dashes == 5:
@@ -134,7 +125,7 @@ def parse_wheel_filename(
134
125
  build_match = _build_tag_regex.match(build_part)
135
126
  if build_match is None:
136
127
  raise InvalidWheelFilename(
137
- f"Invalid build number: {build_part} in '{filename}'"
128
+ f"Invalid build number: {build_part} in {filename!r}"
138
129
  )
139
130
  build = cast(BuildTag, (int(build_match.group(1)), build_match.group(2)))
140
131
  else:
@@ -143,7 +134,7 @@ def parse_wheel_filename(
143
134
  return (name, version, build, tags)
144
135
 
145
136
 
146
- def parse_sdist_filename(filename: str) -> Tuple[NormalizedName, Version]:
137
+ def parse_sdist_filename(filename: str) -> tuple[NormalizedName, Version]:
147
138
  if filename.endswith(".tar.gz"):
148
139
  file_stem = filename[: -len(".tar.gz")]
149
140
  elif filename.endswith(".zip"):
@@ -151,14 +142,14 @@ def parse_sdist_filename(filename: str) -> Tuple[NormalizedName, Version]:
151
142
  else:
152
143
  raise InvalidSdistFilename(
153
144
  f"Invalid sdist filename (extension must be '.tar.gz' or '.zip'):"
154
- f" {filename}"
145
+ f" {filename!r}"
155
146
  )
156
147
 
157
148
  # We are requiring a PEP 440 version, which cannot contain dashes,
158
149
  # so we split on the last dash.
159
150
  name_part, sep, version_part = file_stem.rpartition("-")
160
151
  if not sep:
161
- raise InvalidSdistFilename(f"Invalid sdist filename: {filename}")
152
+ raise InvalidSdistFilename(f"Invalid sdist filename: {filename!r}")
162
153
 
163
154
  name = canonicalize_name(name_part)
164
155
 
@@ -166,7 +157,7 @@ def parse_sdist_filename(filename: str) -> Tuple[NormalizedName, Version]:
166
157
  version = Version(version_part)
167
158
  except InvalidVersion as e:
168
159
  raise InvalidSdistFilename(
169
- f"Invalid sdist filename (invalid version): {filename}"
160
+ f"Invalid sdist filename (invalid version): {filename!r}"
170
161
  ) from e
171
162
 
172
163
  return (name, version)
@@ -7,13 +7,15 @@
7
7
  from packaging.version import parse, Version
8
8
  """
9
9
 
10
+ from __future__ import annotations
11
+
10
12
  import itertools
11
13
  import re
12
- from typing import Any, Callable, NamedTuple, Optional, SupportsInt, Tuple, Union
14
+ from typing import Any, Callable, NamedTuple, SupportsInt, Tuple, Union
13
15
 
14
16
  from ._structures import Infinity, InfinityType, NegativeInfinity, NegativeInfinityType
15
17
 
16
- __all__ = ["VERSION_PATTERN", "parse", "Version", "InvalidVersion"]
18
+ __all__ = ["VERSION_PATTERN", "InvalidVersion", "Version", "parse"]
17
19
 
18
20
  LocalType = Tuple[Union[int, str], ...]
19
21
 
@@ -35,14 +37,14 @@ VersionComparisonMethod = Callable[[CmpKey, CmpKey], bool]
35
37
 
36
38
  class _Version(NamedTuple):
37
39
  epoch: int
38
- release: Tuple[int, ...]
39
- dev: Optional[Tuple[str, int]]
40
- pre: Optional[Tuple[str, int]]
41
- post: Optional[Tuple[str, int]]
42
- local: Optional[LocalType]
40
+ release: tuple[int, ...]
41
+ dev: tuple[str, int] | None
42
+ pre: tuple[str, int] | None
43
+ post: tuple[str, int] | None
44
+ local: LocalType | None
43
45
 
44
46
 
45
- def parse(version: str) -> "Version":
47
+ def parse(version: str) -> Version:
46
48
  """Parse the given version string.
47
49
 
48
50
  >>> parse('1.0.dev1')
@@ -65,7 +67,7 @@ class InvalidVersion(ValueError):
65
67
 
66
68
 
67
69
  class _BaseVersion:
68
- _key: Tuple[Any, ...]
70
+ _key: tuple[Any, ...]
69
71
 
70
72
  def __hash__(self) -> int:
71
73
  return hash(self._key)
@@ -73,13 +75,13 @@ class _BaseVersion:
73
75
  # Please keep the duplicated `isinstance` check
74
76
  # in the six comparisons hereunder
75
77
  # unless you find a way to avoid adding overhead function calls.
76
- def __lt__(self, other: "_BaseVersion") -> bool:
78
+ def __lt__(self, other: _BaseVersion) -> bool:
77
79
  if not isinstance(other, _BaseVersion):
78
80
  return NotImplemented
79
81
 
80
82
  return self._key < other._key
81
83
 
82
- def __le__(self, other: "_BaseVersion") -> bool:
84
+ def __le__(self, other: _BaseVersion) -> bool:
83
85
  if not isinstance(other, _BaseVersion):
84
86
  return NotImplemented
85
87
 
@@ -91,13 +93,13 @@ class _BaseVersion:
91
93
 
92
94
  return self._key == other._key
93
95
 
94
- def __ge__(self, other: "_BaseVersion") -> bool:
96
+ def __ge__(self, other: _BaseVersion) -> bool:
95
97
  if not isinstance(other, _BaseVersion):
96
98
  return NotImplemented
97
99
 
98
100
  return self._key >= other._key
99
101
 
100
- def __gt__(self, other: "_BaseVersion") -> bool:
102
+ def __gt__(self, other: _BaseVersion) -> bool:
101
103
  if not isinstance(other, _BaseVersion):
102
104
  return NotImplemented
103
105
 
@@ -197,7 +199,7 @@ class Version(_BaseVersion):
197
199
  # Validate the version and parse it into pieces
198
200
  match = self._regex.search(version)
199
201
  if not match:
200
- raise InvalidVersion(f"Invalid version: '{version}'")
202
+ raise InvalidVersion(f"Invalid version: {version!r}")
201
203
 
202
204
  # Store the parsed out pieces of the version
203
205
  self._version = _Version(
@@ -230,7 +232,7 @@ class Version(_BaseVersion):
230
232
  return f"<Version('{self}')>"
231
233
 
232
234
  def __str__(self) -> str:
233
- """A string representation of the version that can be rounded-tripped.
235
+ """A string representation of the version that can be round-tripped.
234
236
 
235
237
  >>> str(Version("1.0a5"))
236
238
  '1.0a5'
@@ -274,7 +276,7 @@ class Version(_BaseVersion):
274
276
  return self._version.epoch
275
277
 
276
278
  @property
277
- def release(self) -> Tuple[int, ...]:
279
+ def release(self) -> tuple[int, ...]:
278
280
  """The components of the "release" segment of the version.
279
281
 
280
282
  >>> Version("1.2.3").release
@@ -290,7 +292,7 @@ class Version(_BaseVersion):
290
292
  return self._version.release
291
293
 
292
294
  @property
293
- def pre(self) -> Optional[Tuple[str, int]]:
295
+ def pre(self) -> tuple[str, int] | None:
294
296
  """The pre-release segment of the version.
295
297
 
296
298
  >>> print(Version("1.2.3").pre)
@@ -305,7 +307,7 @@ class Version(_BaseVersion):
305
307
  return self._version.pre
306
308
 
307
309
  @property
308
- def post(self) -> Optional[int]:
310
+ def post(self) -> int | None:
309
311
  """The post-release number of the version.
310
312
 
311
313
  >>> print(Version("1.2.3").post)
@@ -316,7 +318,7 @@ class Version(_BaseVersion):
316
318
  return self._version.post[1] if self._version.post else None
317
319
 
318
320
  @property
319
- def dev(self) -> Optional[int]:
321
+ def dev(self) -> int | None:
320
322
  """The development number of the version.
321
323
 
322
324
  >>> print(Version("1.2.3").dev)
@@ -327,7 +329,7 @@ class Version(_BaseVersion):
327
329
  return self._version.dev[1] if self._version.dev else None
328
330
 
329
331
  @property
330
- def local(self) -> Optional[str]:
332
+ def local(self) -> str | None:
331
333
  """The local version segment of the version.
332
334
 
333
335
  >>> print(Version("1.2.3").local)
@@ -348,8 +350,8 @@ class Version(_BaseVersion):
348
350
  '1.2.3'
349
351
  >>> Version("1.2.3+abc").public
350
352
  '1.2.3'
351
- >>> Version("1.2.3+abc.dev1").public
352
- '1.2.3'
353
+ >>> Version("1!1.2.3dev1+abc").public
354
+ '1!1.2.3.dev1'
353
355
  """
354
356
  return str(self).split("+", 1)[0]
355
357
 
@@ -361,7 +363,7 @@ class Version(_BaseVersion):
361
363
  '1.2.3'
362
364
  >>> Version("1.2.3+abc").base_version
363
365
  '1.2.3'
364
- >>> Version("1!1.2.3+abc.dev1").base_version
366
+ >>> Version("1!1.2.3dev1+abc").base_version
365
367
  '1!1.2.3'
366
368
 
367
369
  The "base version" is the public version of the project without any pre or post
@@ -449,9 +451,26 @@ class Version(_BaseVersion):
449
451
  return self.release[2] if len(self.release) >= 3 else 0
450
452
 
451
453
 
454
+ class _TrimmedRelease(Version):
455
+ @property
456
+ def release(self) -> tuple[int, ...]:
457
+ """
458
+ Release segment without any trailing zeros.
459
+
460
+ >>> _TrimmedRelease('1.0.0').release
461
+ (1,)
462
+ >>> _TrimmedRelease('0.0').release
463
+ (0,)
464
+ """
465
+ rel = super().release
466
+ nonzeros = (index for index, val in enumerate(rel) if val)
467
+ last_nonzero = max(nonzeros, default=0)
468
+ return rel[: last_nonzero + 1]
469
+
470
+
452
471
  def _parse_letter_version(
453
- letter: Optional[str], number: Union[str, bytes, SupportsInt, None]
454
- ) -> Optional[Tuple[str, int]]:
472
+ letter: str | None, number: str | bytes | SupportsInt | None
473
+ ) -> tuple[str, int] | None:
455
474
  if letter:
456
475
  # We consider there to be an implicit 0 in a pre-release if there is
457
476
  # not a numeral associated with it.
@@ -474,7 +493,9 @@ def _parse_letter_version(
474
493
  letter = "post"
475
494
 
476
495
  return letter, int(number)
477
- if not letter and number:
496
+
497
+ assert not letter
498
+ if number:
478
499
  # We assume if we are given a number, but we are not given a letter
479
500
  # then this is using the implicit post release syntax (e.g. 1.0-1)
480
501
  letter = "post"
@@ -487,7 +508,7 @@ def _parse_letter_version(
487
508
  _local_version_separators = re.compile(r"[\._-]")
488
509
 
489
510
 
490
- def _parse_local_version(local: Optional[str]) -> Optional[LocalType]:
511
+ def _parse_local_version(local: str | None) -> LocalType | None:
491
512
  """
492
513
  Takes a string like abc.1.twelve and turns it into ("abc", 1, "twelve").
493
514
  """
@@ -501,11 +522,11 @@ def _parse_local_version(local: Optional[str]) -> Optional[LocalType]:
501
522
 
502
523
  def _cmpkey(
503
524
  epoch: int,
504
- release: Tuple[int, ...],
505
- pre: Optional[Tuple[str, int]],
506
- post: Optional[Tuple[str, int]],
507
- dev: Optional[Tuple[str, int]],
508
- local: Optional[LocalType],
525
+ release: tuple[int, ...],
526
+ pre: tuple[str, int] | None,
527
+ post: tuple[str, int] | None,
528
+ dev: tuple[str, int] | None,
529
+ local: LocalType | None,
509
530
  ) -> CmpKey:
510
531
  # When we compare a release version, we want to compare it with all of the
511
532
  # trailing zeros removed. So we'll use a reverse the list, drop all the now
@@ -0,0 +1 @@
1
+ # Marker file for PEP 561
@@ -0,0 +1,4 @@
1
+ pip is a command line program. While it is implemented in Python, and so is
2
+ available for import, you must not use pip's internal APIs in this way. Typing
3
+ information is provided as a convenience only and is not a guarantee. Expect
4
+ unannounced changes to the API and types in releases.
@@ -0,0 +1 @@
1
+ # Marker file for PEP 561. The rsa package uses inline types.
@@ -0,0 +1,125 @@
1
+ from collections.abc import Callable, Hashable, Iterator
2
+ from functools import partial
3
+ from operator import methodcaller
4
+ import sys
5
+ from typing import (
6
+ Any,
7
+ Generic,
8
+ Protocol,
9
+ TypeVar,
10
+ overload,
11
+ )
12
+
13
+ if sys.version_info >= (3, 10):
14
+ from typing import Concatenate, ParamSpec
15
+ else:
16
+ from typing_extensions import Concatenate, ParamSpec
17
+
18
+ _P = ParamSpec('_P')
19
+ _R = TypeVar('_R')
20
+ _T = TypeVar('_T')
21
+ _R1 = TypeVar('_R1')
22
+ _R2 = TypeVar('_R2')
23
+ _V = TypeVar('_V')
24
+ _S = TypeVar('_S')
25
+ _R_co = TypeVar('_R_co', covariant=True)
26
+
27
+ class _OnceCallable(Protocol[_P, _R]):
28
+ saved_result: _R
29
+ reset: Callable[[], None]
30
+ def __call__(self, *args: _P.args, **kwargs: _P.kwargs) -> _R: ...
31
+
32
+ class _ProxyMethodCacheWrapper(Protocol[_R_co]):
33
+ cache_clear: Callable[[], None]
34
+ def __call__(self, *args: Hashable, **kwargs: Hashable) -> _R_co: ...
35
+
36
+ class _MethodCacheWrapper(Protocol[_R_co]):
37
+ def cache_clear(self) -> None: ...
38
+ def __call__(self, *args: Hashable, **kwargs: Hashable) -> _R_co: ...
39
+
40
+ # `compose()` overloads below will cover most use cases.
41
+
42
+ @overload
43
+ def compose(
44
+ __func1: Callable[[_R], _T],
45
+ __func2: Callable[_P, _R],
46
+ /,
47
+ ) -> Callable[_P, _T]: ...
48
+ @overload
49
+ def compose(
50
+ __func1: Callable[[_R], _T],
51
+ __func2: Callable[[_R1], _R],
52
+ __func3: Callable[_P, _R1],
53
+ /,
54
+ ) -> Callable[_P, _T]: ...
55
+ @overload
56
+ def compose(
57
+ __func1: Callable[[_R], _T],
58
+ __func2: Callable[[_R2], _R],
59
+ __func3: Callable[[_R1], _R2],
60
+ __func4: Callable[_P, _R1],
61
+ /,
62
+ ) -> Callable[_P, _T]: ...
63
+ def once(func: Callable[_P, _R]) -> _OnceCallable[_P, _R]: ...
64
+ def method_cache(
65
+ method: Callable[..., _R],
66
+ cache_wrapper: Callable[[Callable[..., _R]], _MethodCacheWrapper[_R]] = ...,
67
+ ) -> _MethodCacheWrapper[_R] | _ProxyMethodCacheWrapper[_R]: ...
68
+ def apply(
69
+ transform: Callable[[_R], _T]
70
+ ) -> Callable[[Callable[_P, _R]], Callable[_P, _T]]: ...
71
+ def result_invoke(
72
+ action: Callable[[_R], Any]
73
+ ) -> Callable[[Callable[_P, _R]], Callable[_P, _R]]: ...
74
+ def invoke(
75
+ f: Callable[_P, _R], /, *args: _P.args, **kwargs: _P.kwargs
76
+ ) -> Callable[_P, _R]: ...
77
+
78
+ class Throttler(Generic[_R]):
79
+ last_called: float
80
+ func: Callable[..., _R]
81
+ max_rate: float
82
+ def __init__(
83
+ self, func: Callable[..., _R] | Throttler[_R], max_rate: float = ...
84
+ ) -> None: ...
85
+ def reset(self) -> None: ...
86
+ def __call__(self, *args: Any, **kwargs: Any) -> _R: ...
87
+ def __get__(self, obj: Any, owner: type[Any] | None = ...) -> Callable[..., _R]: ...
88
+
89
+ def first_invoke(
90
+ func1: Callable[..., Any], func2: Callable[_P, _R]
91
+ ) -> Callable[_P, _R]: ...
92
+
93
+ method_caller: Callable[..., methodcaller]
94
+
95
+ def retry_call(
96
+ func: Callable[..., _R],
97
+ cleanup: Callable[..., None] = ...,
98
+ retries: int | float = ...,
99
+ trap: type[BaseException] | tuple[type[BaseException], ...] = ...,
100
+ ) -> _R: ...
101
+ def retry(
102
+ cleanup: Callable[..., None] = ...,
103
+ retries: int | float = ...,
104
+ trap: type[BaseException] | tuple[type[BaseException], ...] = ...,
105
+ ) -> Callable[[Callable[..., _R]], Callable[..., _R]]: ...
106
+ def print_yielded(func: Callable[_P, Iterator[Any]]) -> Callable[_P, None]: ...
107
+ def pass_none(
108
+ func: Callable[Concatenate[_T, _P], _R]
109
+ ) -> Callable[Concatenate[_T, _P], _R]: ...
110
+ def assign_params(
111
+ func: Callable[..., _R], namespace: dict[str, Any]
112
+ ) -> partial[_R]: ...
113
+ def save_method_args(
114
+ method: Callable[Concatenate[_S, _P], _R]
115
+ ) -> Callable[Concatenate[_S, _P], _R]: ...
116
+ def except_(
117
+ *exceptions: type[BaseException], replace: Any = ..., use: Any = ...
118
+ ) -> Callable[[Callable[_P, Any]], Callable[_P, Any]]: ...
119
+ def identity(x: _T) -> _T: ...
120
+ def bypass_when(
121
+ check: _V, *, _op: Callable[[_V], Any] = ...
122
+ ) -> Callable[[Callable[[_T], _R]], Callable[[_T], _T | _R]]: ...
123
+ def bypass_unless(
124
+ check: Any,
125
+ ) -> Callable[[Callable[[_T], _R]], Callable[[_T], _T | _R]]: ...
@@ -0,0 +1,2 @@
1
+ from .more import *
2
+ from .recipes import *