py2docfx 0.1.16.dev2064350__py3-none-any.whl → 0.1.17__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 (388) hide show
  1. py2docfx/convert_prepare/environment.py +1 -3
  2. py2docfx/convert_prepare/get_source.py +1 -6
  3. py2docfx/convert_prepare/package_info.py +1 -1
  4. py2docfx/docfx_yaml/miss_reference.py +1 -1
  5. py2docfx/docfx_yaml/parameter_utils.py +58 -6
  6. py2docfx/docfx_yaml/tests/roots/test-translator-typing/code_with_typing.py +14 -0
  7. py2docfx/docfx_yaml/tests/roots/test-translator-typing/conf.py +18 -0
  8. py2docfx/docfx_yaml/tests/test_translator_typing.py +39 -0
  9. py2docfx/docfx_yaml/utils.py +2 -2
  10. py2docfx/venv/basevenv/Lib/site-packages/certifi/__init__.py +1 -1
  11. py2docfx/venv/basevenv/Lib/site-packages/certifi/core.py +1 -32
  12. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
  13. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/constant.py +17 -0
  14. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/legacy.py +1 -3
  15. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/md.py +19 -14
  16. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/utils.py +6 -0
  17. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/version.py +1 -1
  18. py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +1 -1
  19. py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +1 -2
  20. py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -2
  21. py2docfx/venv/basevenv/Lib/site-packages/packaging/_parser.py +1 -2
  22. py2docfx/venv/basevenv/Lib/site-packages/packaging/_tokenizer.py +5 -4
  23. py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +1 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +53 -22
  25. py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +1 -2
  26. py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +1 -2
  27. py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +39 -0
  28. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +6 -7
  29. py2docfx/venv/basevenv/Lib/site-packages/pygments/__init__.py +1 -1
  30. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/_sql_builtins.py +106 -0
  31. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/scripting.py +5 -3
  32. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/sql.py +24 -118
  33. py2docfx/venv/basevenv/Lib/site-packages/requests/__version__.py +2 -2
  34. py2docfx/venv/basevenv/Lib/site-packages/requests/compat.py +12 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/requests/models.py +3 -1
  36. py2docfx/venv/basevenv/Lib/site-packages/requests/utils.py +6 -16
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +0 -38
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_discovery.py +33 -0
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_entry_points.py +4 -0
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +0 -2
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +12 -3
  46. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +1 -1
  47. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_scripts.py +361 -0
  48. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +6 -0
  49. py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +25 -37
  50. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
  51. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
  52. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +29 -28
  53. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +39 -179
  54. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
  55. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
  56. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +0 -2
  57. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +3 -55
  58. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
  59. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +1 -1
  60. py2docfx/venv/basevenv/Lib/site-packages/setuptools/compat/py310.py +11 -0
  61. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +10 -12
  62. py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +34 -29
  63. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/contexts.py +0 -14
  64. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
  65. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
  66. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
  67. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
  68. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
  69. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
  70. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
  71. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
  72. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
  73. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
  74. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
  75. py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +49 -24
  76. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/__init__.py +6 -0
  77. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/arabic_stemmer.py +798 -797
  78. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/armenian_stemmer.py +212 -213
  79. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basestemmer.py +20 -54
  80. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basque_stemmer.py +202 -228
  81. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/catalan_stemmer.py +370 -375
  82. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/danish_stemmer.py +63 -61
  83. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_porter_stemmer.py +466 -0
  84. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_stemmer.py +1217 -343
  85. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/english_stemmer.py +295 -264
  86. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/esperanto_stemmer.py +588 -0
  87. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/estonian_stemmer.py +850 -0
  88. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/finnish_stemmer.py +144 -143
  89. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/french_stemmer.py +308 -246
  90. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/german_stemmer.py +224 -167
  91. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/greek_stemmer.py +1314 -1313
  92. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hindi_stemmer.py +39 -38
  93. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hungarian_stemmer.py +231 -256
  94. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/indonesian_stemmer.py +61 -64
  95. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/irish_stemmer.py +101 -106
  96. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/italian_stemmer.py +272 -272
  97. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/lithuanian_stemmer.py +233 -240
  98. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/nepali_stemmer.py +108 -134
  99. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/norwegian_stemmer.py +108 -63
  100. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/porter_stemmer.py +101 -108
  101. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/portuguese_stemmer.py +241 -250
  102. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/romanian_stemmer.py +332 -296
  103. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/russian_stemmer.py +178 -179
  104. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/serbian_stemmer.py +2331 -2332
  105. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/spanish_stemmer.py +254 -259
  106. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/swedish_stemmer.py +143 -70
  107. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/tamil_stemmer.py +638 -1491
  108. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/turkish_stemmer.py +326 -292
  109. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/yiddish_stemmer.py +245 -246
  110. py2docfx/venv/basevenv/Lib/site-packages/urllib3/_version.py +2 -2
  111. py2docfx/venv/basevenv/Lib/site-packages/urllib3/connection.py +87 -38
  112. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
  113. py2docfx/venv/basevenv/Lib/site-packages/urllib3/poolmanager.py +17 -1
  114. py2docfx/venv/basevenv/Lib/site-packages/urllib3/response.py +53 -24
  115. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/request.py +12 -4
  116. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_.py +1 -1
  117. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
  118. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +1 -1
  119. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +1 -1
  120. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +2 -1
  121. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +1 -1
  122. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +2 -2
  123. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +1 -1
  124. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/opentelemetry.py +13 -1
  125. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +2 -1
  126. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +1 -1
  127. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +1 -0
  128. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +23 -2
  129. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +12 -16
  130. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +22 -1
  131. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +10 -6
  132. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +13 -4
  133. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +3 -5
  134. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +2 -1
  135. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +3 -2
  136. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +1 -1
  137. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +1 -1
  138. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +1 -1
  139. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +1 -1
  140. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +1 -1
  141. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +22 -2
  142. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +2 -2
  143. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +17 -1
  144. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +4 -4
  145. py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +1 -1
  146. py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +1 -32
  147. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
  148. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +17 -0
  149. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +1 -3
  150. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +19 -14
  151. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +6 -0
  152. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +1 -1
  153. py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +2 -2
  154. py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +2 -2
  155. py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +2 -1
  156. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +35 -2
  157. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +33 -10
  158. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi +14 -5
  159. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi +2 -2
  160. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +3 -0
  161. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +49 -45
  162. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ciphers.pyi +2 -2
  163. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +2 -1
  164. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +2 -1
  165. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +10 -1
  166. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +3 -2
  167. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +8 -2
  168. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +3 -2
  169. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +6 -4
  170. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +2 -1
  171. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +2 -1
  172. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +9 -3
  173. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +7 -6
  174. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +2 -1
  175. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +79 -12
  176. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +9 -1
  177. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +2 -1
  178. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +5 -0
  179. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +4 -2
  180. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +1 -2
  181. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +12 -0
  182. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +16 -3
  183. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +47 -3
  184. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +16 -3
  185. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +16 -3
  186. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +14 -0
  187. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +14 -1
  188. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +14 -1
  189. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +6 -6
  190. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +5 -4
  191. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +18 -18
  192. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +5 -1
  193. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +5 -4
  194. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +4 -4
  195. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +7 -4
  196. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +1 -1
  197. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +1 -1
  198. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +7 -121
  199. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +2 -0
  200. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +21 -1
  201. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +48 -6
  202. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +68 -18
  203. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +3 -2
  204. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +2 -1
  205. py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +15 -3
  206. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +3 -0
  207. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +39 -6
  208. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +100 -49
  209. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +27 -15
  210. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +60 -25
  211. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +2 -0
  212. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +6 -0
  213. py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +17 -4
  214. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +6 -0
  215. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +1 -0
  216. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +13 -4
  217. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +7 -6
  218. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +8 -5
  219. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +7 -6
  220. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +7 -6
  221. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
  222. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +2 -36
  223. py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +240 -0
  224. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/_helpers.py +62 -0
  225. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +6 -0
  226. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +5 -1
  227. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +2 -1
  228. py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +91 -2
  229. py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +75 -0
  230. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +1 -0
  231. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +8 -1
  232. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +3 -1
  233. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +4 -1
  234. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +15 -5
  235. py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
  236. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +12 -0
  237. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +1 -1
  238. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
  239. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any.py +15 -1
  240. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +3 -3
  241. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +3 -3
  242. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +3 -3
  243. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +15 -2
  244. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +258 -113
  245. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +22 -8
  246. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +3 -3
  247. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +3 -3
  248. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +3 -3
  249. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +106 -23
  250. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +3 -1
  251. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
  252. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +21 -18
  253. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +8 -2
  254. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +60 -43
  255. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +4 -5
  256. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +16 -0
  257. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +2 -2
  258. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +3 -3
  259. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +3 -3
  260. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +11 -7
  261. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +3 -3
  262. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +3 -3
  263. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +3 -3
  264. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +29 -23
  265. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.pyi +41 -2
  266. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +1 -0
  267. py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +9 -5
  268. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +4 -5
  269. py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +1 -1
  270. py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +58 -30
  271. py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -1
  272. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -1
  273. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -1
  274. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -138
  275. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -93
  276. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -63
  277. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -206
  278. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -205
  279. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +355 -355
  280. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -79
  281. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -15
  282. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -314
  283. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -190
  284. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -62
  285. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -50
  286. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -176
  287. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -42
  288. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -87
  289. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -1
  290. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -50
  291. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -100
  292. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -480
  293. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -236
  294. py2docfx/venv/venv1/Lib/site-packages/packaging/__init__.py +1 -1
  295. py2docfx/venv/venv1/Lib/site-packages/packaging/_elffile.py +1 -2
  296. py2docfx/venv/venv1/Lib/site-packages/packaging/_manylinux.py +1 -2
  297. py2docfx/venv/venv1/Lib/site-packages/packaging/_parser.py +1 -2
  298. py2docfx/venv/venv1/Lib/site-packages/packaging/_tokenizer.py +5 -4
  299. py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/__init__.py +1 -1
  300. py2docfx/venv/venv1/Lib/site-packages/packaging/markers.py +53 -22
  301. py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +1 -2
  302. py2docfx/venv/venv1/Lib/site-packages/packaging/specifiers.py +1 -2
  303. py2docfx/venv/venv1/Lib/site-packages/packaging/tags.py +39 -0
  304. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +6 -7
  305. py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +2 -2
  306. py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +12 -0
  307. py2docfx/venv/venv1/Lib/site-packages/requests/models.py +3 -1
  308. py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +6 -16
  309. py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +2 -2
  310. py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -52
  311. py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -321
  312. py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -184
  313. py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -53
  314. py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -858
  315. py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -96
  316. py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -134
  317. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -485
  318. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -100
  319. py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -198
  320. py2docfx/venv/venv1/Lib/site-packages/rsa/py.typed +1 -1
  321. py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -95
  322. py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -72
  323. py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -97
  324. py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +0 -38
  325. py2docfx/venv/venv1/Lib/site-packages/setuptools/_discovery.py +33 -0
  326. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
  327. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  328. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
  329. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
  330. py2docfx/venv/venv1/Lib/site-packages/setuptools/_entry_points.py +4 -0
  331. py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +0 -2
  332. py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +12 -3
  333. py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +1 -1
  334. py2docfx/venv/venv1/Lib/site-packages/setuptools/_scripts.py +361 -0
  335. py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +6 -0
  336. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +25 -37
  337. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
  338. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
  339. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +29 -28
  340. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +39 -179
  341. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
  342. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
  343. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +0 -2
  344. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +3 -55
  345. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
  346. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +1 -1
  347. py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/py310.py +11 -0
  348. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +10 -12
  349. py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +34 -29
  350. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/contexts.py +0 -14
  351. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
  352. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
  353. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
  354. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
  355. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
  356. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
  357. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
  358. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
  359. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
  360. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
  361. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
  362. py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +49 -24
  363. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +357 -703
  364. py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +2 -2
  365. py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +87 -38
  366. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
  367. py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +17 -1
  368. py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +53 -24
  369. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +12 -4
  370. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +1 -1
  371. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/METADATA +1 -1
  372. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/RECORD +374 -372
  373. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/WHEEL +1 -1
  374. py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +0 -1137
  375. py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +0 -536
  376. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/server.py +0 -86
  377. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
  378. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
  379. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
  380. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +0 -119
  381. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +0 -121
  382. py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +0 -1137
  383. py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +0 -536
  384. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/server.py +0 -86
  385. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
  386. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
  387. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
  388. {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,7 @@ import abc
9
9
  from cryptography.exceptions import UnsupportedAlgorithm, _Reasons
10
10
  from cryptography.hazmat.bindings._rust import openssl as rust_openssl
11
11
  from cryptography.hazmat.primitives import _serialization
12
+ from cryptography.utils import Buffer
12
13
 
13
14
 
14
15
  class Ed448PublicKey(metaclass=abc.ABCMeta):
@@ -42,7 +43,7 @@ class Ed448PublicKey(metaclass=abc.ABCMeta):
42
43
  """
43
44
 
44
45
  @abc.abstractmethod
45
- def verify(self, signature: bytes, data: bytes) -> None:
46
+ def verify(self, signature: Buffer, data: Buffer) -> None:
46
47
  """
47
48
  Verify the signature.
48
49
  """
@@ -53,6 +54,12 @@ class Ed448PublicKey(metaclass=abc.ABCMeta):
53
54
  Checks equality.
54
55
  """
55
56
 
57
+ @abc.abstractmethod
58
+ def __copy__(self) -> Ed448PublicKey:
59
+ """
60
+ Returns a copy.
61
+ """
62
+
56
63
 
57
64
  if hasattr(rust_openssl, "ed448"):
58
65
  Ed448PublicKey.register(rust_openssl.ed448.Ed448PublicKey)
@@ -72,7 +79,7 @@ class Ed448PrivateKey(metaclass=abc.ABCMeta):
72
79
  return rust_openssl.ed448.generate_key()
73
80
 
74
81
  @classmethod
75
- def from_private_bytes(cls, data: bytes) -> Ed448PrivateKey:
82
+ def from_private_bytes(cls, data: Buffer) -> Ed448PrivateKey:
76
83
  from cryptography.hazmat.backends.openssl.backend import backend
77
84
 
78
85
  if not backend.ed448_supported():
@@ -90,7 +97,7 @@ class Ed448PrivateKey(metaclass=abc.ABCMeta):
90
97
  """
91
98
 
92
99
  @abc.abstractmethod
93
- def sign(self, data: bytes) -> bytes:
100
+ def sign(self, data: Buffer) -> bytes:
94
101
  """
95
102
  Signs the data.
96
103
  """
@@ -113,6 +120,12 @@ class Ed448PrivateKey(metaclass=abc.ABCMeta):
113
120
  Equivalent to private_bytes(Raw, Raw, NoEncryption()).
114
121
  """
115
122
 
123
+ @abc.abstractmethod
124
+ def __copy__(self) -> Ed448PrivateKey:
125
+ """
126
+ Returns a copy.
127
+ """
128
+
116
129
 
117
130
  if hasattr(rust_openssl, "x448"):
118
131
  Ed448PrivateKey.register(rust_openssl.ed448.Ed448PrivateKey)
@@ -63,6 +63,12 @@ class RSAPrivateKey(metaclass=abc.ABCMeta):
63
63
  Returns the key serialized as bytes.
64
64
  """
65
65
 
66
+ @abc.abstractmethod
67
+ def __copy__(self) -> RSAPrivateKey:
68
+ """
69
+ Returns a copy.
70
+ """
71
+
66
72
 
67
73
  RSAPrivateKeyWithSerialization = RSAPrivateKey
68
74
  RSAPrivateKey.register(rust_openssl.rsa.RSAPrivateKey)
@@ -127,6 +133,12 @@ class RSAPublicKey(metaclass=abc.ABCMeta):
127
133
  Checks equality.
128
134
  """
129
135
 
136
+ @abc.abstractmethod
137
+ def __copy__(self) -> RSAPublicKey:
138
+ """
139
+ Returns a copy.
140
+ """
141
+
130
142
 
131
143
  RSAPublicKeyWithSerialization = RSAPublicKey
132
144
  RSAPublicKey.register(rust_openssl.rsa.RSAPublicKey)
@@ -223,6 +235,8 @@ def rsa_recover_prime_factors(n: int, e: int, d: int) -> tuple[int, int]:
223
235
  no more than two factors. This function is adapted from code in PyCrypto.
224
236
  """
225
237
  # reject invalid values early
238
+ if d <= 1 or e <= 1:
239
+ raise ValueError("d, e can't be <= 1")
226
240
  if 17 != pow(17, e * d, n):
227
241
  raise ValueError("n, d, e don't match")
228
242
  # See 8.2.2(i) in Handbook of Applied Cryptography.
@@ -9,6 +9,7 @@ import abc
9
9
  from cryptography.exceptions import UnsupportedAlgorithm, _Reasons
10
10
  from cryptography.hazmat.bindings._rust import openssl as rust_openssl
11
11
  from cryptography.hazmat.primitives import _serialization
12
+ from cryptography.utils import Buffer
12
13
 
13
14
 
14
15
  class X25519PublicKey(metaclass=abc.ABCMeta):
@@ -47,6 +48,12 @@ class X25519PublicKey(metaclass=abc.ABCMeta):
47
48
  Checks equality.
48
49
  """
49
50
 
51
+ @abc.abstractmethod
52
+ def __copy__(self) -> X25519PublicKey:
53
+ """
54
+ Returns a copy.
55
+ """
56
+
50
57
 
51
58
  X25519PublicKey.register(rust_openssl.x25519.X25519PublicKey)
52
59
 
@@ -64,7 +71,7 @@ class X25519PrivateKey(metaclass=abc.ABCMeta):
64
71
  return rust_openssl.x25519.generate_key()
65
72
 
66
73
  @classmethod
67
- def from_private_bytes(cls, data: bytes) -> X25519PrivateKey:
74
+ def from_private_bytes(cls, data: Buffer) -> X25519PrivateKey:
68
75
  from cryptography.hazmat.backends.openssl.backend import backend
69
76
 
70
77
  if not backend.x25519_supported():
@@ -105,5 +112,11 @@ class X25519PrivateKey(metaclass=abc.ABCMeta):
105
112
  Performs a key exchange operation using the provided peer's public key.
106
113
  """
107
114
 
115
+ @abc.abstractmethod
116
+ def __copy__(self) -> X25519PrivateKey:
117
+ """
118
+ Returns a copy.
119
+ """
120
+
108
121
 
109
122
  X25519PrivateKey.register(rust_openssl.x25519.X25519PrivateKey)
@@ -9,6 +9,7 @@ import abc
9
9
  from cryptography.exceptions import UnsupportedAlgorithm, _Reasons
10
10
  from cryptography.hazmat.bindings._rust import openssl as rust_openssl
11
11
  from cryptography.hazmat.primitives import _serialization
12
+ from cryptography.utils import Buffer
12
13
 
13
14
 
14
15
  class X448PublicKey(metaclass=abc.ABCMeta):
@@ -47,6 +48,12 @@ class X448PublicKey(metaclass=abc.ABCMeta):
47
48
  Checks equality.
48
49
  """
49
50
 
51
+ @abc.abstractmethod
52
+ def __copy__(self) -> X448PublicKey:
53
+ """
54
+ Returns a copy.
55
+ """
56
+
50
57
 
51
58
  if hasattr(rust_openssl, "x448"):
52
59
  X448PublicKey.register(rust_openssl.x448.X448PublicKey)
@@ -66,7 +73,7 @@ class X448PrivateKey(metaclass=abc.ABCMeta):
66
73
  return rust_openssl.x448.generate_key()
67
74
 
68
75
  @classmethod
69
- def from_private_bytes(cls, data: bytes) -> X448PrivateKey:
76
+ def from_private_bytes(cls, data: Buffer) -> X448PrivateKey:
70
77
  from cryptography.hazmat.backends.openssl.backend import backend
71
78
 
72
79
  if not backend.x448_supported():
@@ -107,6 +114,12 @@ class X448PrivateKey(metaclass=abc.ABCMeta):
107
114
  Performs a key exchange operation using the provided peer's public key.
108
115
  """
109
116
 
117
+ @abc.abstractmethod
118
+ def __copy__(self) -> X448PrivateKey:
119
+ """
120
+ Returns a copy.
121
+ """
122
+
110
123
 
111
124
  if hasattr(rust_openssl, "x448"):
112
125
  X448PrivateKey.register(rust_openssl.x448.X448PrivateKey)
@@ -36,7 +36,7 @@ class AES(BlockCipherAlgorithm):
36
36
  # 512 added to support AES-256-XTS, which uses 512-bit keys
37
37
  key_sizes = frozenset([128, 192, 256, 512])
38
38
 
39
- def __init__(self, key: bytes):
39
+ def __init__(self, key: utils.Buffer):
40
40
  self.key = _verify_key_size(self, key)
41
41
 
42
42
  @property
@@ -50,7 +50,7 @@ class AES128(BlockCipherAlgorithm):
50
50
  key_sizes = frozenset([128])
51
51
  key_size = 128
52
52
 
53
- def __init__(self, key: bytes):
53
+ def __init__(self, key: utils.Buffer):
54
54
  self.key = _verify_key_size(self, key)
55
55
 
56
56
 
@@ -60,7 +60,7 @@ class AES256(BlockCipherAlgorithm):
60
60
  key_sizes = frozenset([256])
61
61
  key_size = 256
62
62
 
63
- def __init__(self, key: bytes):
63
+ def __init__(self, key: utils.Buffer):
64
64
  self.key = _verify_key_size(self, key)
65
65
 
66
66
 
@@ -69,7 +69,7 @@ class Camellia(BlockCipherAlgorithm):
69
69
  block_size = 128
70
70
  key_sizes = frozenset([128, 192, 256])
71
71
 
72
- def __init__(self, key: bytes):
72
+ def __init__(self, key: utils.Buffer):
73
73
  self.key = _verify_key_size(self, key)
74
74
 
75
75
  @property
@@ -152,7 +152,7 @@ class ChaCha20(CipherAlgorithm):
152
152
  name = "ChaCha20"
153
153
  key_sizes = frozenset([256])
154
154
 
155
- def __init__(self, key: bytes, nonce: bytes):
155
+ def __init__(self, key: utils.Buffer, nonce: utils.Buffer):
156
156
  self.key = _verify_key_size(self, key)
157
157
  utils._check_byteslike("nonce", nonce)
158
158
 
@@ -162,7 +162,7 @@ class ChaCha20(CipherAlgorithm):
162
162
  self._nonce = nonce
163
163
 
164
164
  @property
165
- def nonce(self) -> bytes:
165
+ def nonce(self) -> utils.Buffer:
166
166
  return self._nonce
167
167
 
168
168
  @property
@@ -10,18 +10,19 @@ import typing
10
10
  from cryptography.hazmat.bindings._rust import openssl as rust_openssl
11
11
  from cryptography.hazmat.primitives._cipheralgorithm import CipherAlgorithm
12
12
  from cryptography.hazmat.primitives.ciphers import modes
13
+ from cryptography.utils import Buffer
13
14
 
14
15
 
15
16
  class CipherContext(metaclass=abc.ABCMeta):
16
17
  @abc.abstractmethod
17
- def update(self, data: bytes) -> bytes:
18
+ def update(self, data: Buffer) -> bytes:
18
19
  """
19
20
  Processes the provided bytes through the cipher and returns the results
20
21
  as bytes.
21
22
  """
22
23
 
23
24
  @abc.abstractmethod
24
- def update_into(self, data: bytes, buf: bytes) -> int:
25
+ def update_into(self, data: Buffer, buf: Buffer) -> int:
25
26
  """
26
27
  Processes the provided bytes and writes the resulting data into the
27
28
  provided buffer. Returns the number of bytes written.
@@ -44,7 +45,7 @@ class CipherContext(metaclass=abc.ABCMeta):
44
45
 
45
46
  class AEADCipherContext(CipherContext, metaclass=abc.ABCMeta):
46
47
  @abc.abstractmethod
47
- def authenticate_additional_data(self, data: bytes) -> None:
48
+ def authenticate_additional_data(self, data: Buffer) -> None:
48
49
  """
49
50
  Authenticates the provided bytes.
50
51
  """
@@ -134,9 +135,9 @@ _CIPHER_TYPE = Cipher[
134
135
  typing.Union[
135
136
  modes.ModeWithNonce,
136
137
  modes.ModeWithTweak,
137
- None,
138
138
  modes.ECB,
139
139
  modes.ModeWithInitializationVector,
140
+ None,
140
141
  ]
141
142
  ]
142
143
 
@@ -34,7 +34,7 @@ class Mode(metaclass=abc.ABCMeta):
34
34
  class ModeWithInitializationVector(Mode, metaclass=abc.ABCMeta):
35
35
  @property
36
36
  @abc.abstractmethod
37
- def initialization_vector(self) -> bytes:
37
+ def initialization_vector(self) -> utils.Buffer:
38
38
  """
39
39
  The value of the initialization vector for this mode as bytes.
40
40
  """
@@ -43,7 +43,7 @@ class ModeWithInitializationVector(Mode, metaclass=abc.ABCMeta):
43
43
  class ModeWithTweak(Mode, metaclass=abc.ABCMeta):
44
44
  @property
45
45
  @abc.abstractmethod
46
- def tweak(self) -> bytes:
46
+ def tweak(self) -> utils.Buffer:
47
47
  """
48
48
  The value of the tweak for this mode as bytes.
49
49
  """
@@ -52,7 +52,7 @@ class ModeWithTweak(Mode, metaclass=abc.ABCMeta):
52
52
  class ModeWithNonce(Mode, metaclass=abc.ABCMeta):
53
53
  @property
54
54
  @abc.abstractmethod
55
- def nonce(self) -> bytes:
55
+ def nonce(self) -> utils.Buffer:
56
56
  """
57
57
  The value of the nonce for this mode as bytes.
58
58
  """
@@ -83,7 +83,7 @@ def _check_iv_length(
83
83
 
84
84
 
85
85
  def _check_nonce_length(
86
- nonce: bytes, name: str, algorithm: CipherAlgorithm
86
+ nonce: utils.Buffer, name: str, algorithm: CipherAlgorithm
87
87
  ) -> None:
88
88
  if not isinstance(algorithm, BlockCipherAlgorithm):
89
89
  raise UnsupportedAlgorithm(
@@ -109,12 +109,12 @@ def _check_iv_and_key_length(
109
109
  class CBC(ModeWithInitializationVector):
110
110
  name = "CBC"
111
111
 
112
- def __init__(self, initialization_vector: bytes):
112
+ def __init__(self, initialization_vector: utils.Buffer):
113
113
  utils._check_byteslike("initialization_vector", initialization_vector)
114
114
  self._initialization_vector = initialization_vector
115
115
 
116
116
  @property
117
- def initialization_vector(self) -> bytes:
117
+ def initialization_vector(self) -> utils.Buffer:
118
118
  return self._initialization_vector
119
119
 
120
120
  validate_for_algorithm = _check_iv_and_key_length
@@ -123,7 +123,7 @@ class CBC(ModeWithInitializationVector):
123
123
  class XTS(ModeWithTweak):
124
124
  name = "XTS"
125
125
 
126
- def __init__(self, tweak: bytes):
126
+ def __init__(self, tweak: utils.Buffer):
127
127
  utils._check_byteslike("tweak", tweak)
128
128
 
129
129
  if len(tweak) != 16:
@@ -132,7 +132,7 @@ class XTS(ModeWithTweak):
132
132
  self._tweak = tweak
133
133
 
134
134
  @property
135
- def tweak(self) -> bytes:
135
+ def tweak(self) -> utils.Buffer:
136
136
  return self._tweak
137
137
 
138
138
  def validate_for_algorithm(self, algorithm: CipherAlgorithm) -> None:
@@ -158,12 +158,12 @@ class ECB(Mode):
158
158
  class OFB(ModeWithInitializationVector):
159
159
  name = "OFB"
160
160
 
161
- def __init__(self, initialization_vector: bytes):
161
+ def __init__(self, initialization_vector: utils.Buffer):
162
162
  utils._check_byteslike("initialization_vector", initialization_vector)
163
163
  self._initialization_vector = initialization_vector
164
164
 
165
165
  @property
166
- def initialization_vector(self) -> bytes:
166
+ def initialization_vector(self) -> utils.Buffer:
167
167
  return self._initialization_vector
168
168
 
169
169
  validate_for_algorithm = _check_iv_and_key_length
@@ -172,12 +172,12 @@ class OFB(ModeWithInitializationVector):
172
172
  class CFB(ModeWithInitializationVector):
173
173
  name = "CFB"
174
174
 
175
- def __init__(self, initialization_vector: bytes):
175
+ def __init__(self, initialization_vector: utils.Buffer):
176
176
  utils._check_byteslike("initialization_vector", initialization_vector)
177
177
  self._initialization_vector = initialization_vector
178
178
 
179
179
  @property
180
- def initialization_vector(self) -> bytes:
180
+ def initialization_vector(self) -> utils.Buffer:
181
181
  return self._initialization_vector
182
182
 
183
183
  validate_for_algorithm = _check_iv_and_key_length
@@ -186,12 +186,12 @@ class CFB(ModeWithInitializationVector):
186
186
  class CFB8(ModeWithInitializationVector):
187
187
  name = "CFB8"
188
188
 
189
- def __init__(self, initialization_vector: bytes):
189
+ def __init__(self, initialization_vector: utils.Buffer):
190
190
  utils._check_byteslike("initialization_vector", initialization_vector)
191
191
  self._initialization_vector = initialization_vector
192
192
 
193
193
  @property
194
- def initialization_vector(self) -> bytes:
194
+ def initialization_vector(self) -> utils.Buffer:
195
195
  return self._initialization_vector
196
196
 
197
197
  validate_for_algorithm = _check_iv_and_key_length
@@ -200,12 +200,12 @@ class CFB8(ModeWithInitializationVector):
200
200
  class CTR(ModeWithNonce):
201
201
  name = "CTR"
202
202
 
203
- def __init__(self, nonce: bytes):
203
+ def __init__(self, nonce: utils.Buffer):
204
204
  utils._check_byteslike("nonce", nonce)
205
205
  self._nonce = nonce
206
206
 
207
207
  @property
208
- def nonce(self) -> bytes:
208
+ def nonce(self) -> utils.Buffer:
209
209
  return self._nonce
210
210
 
211
211
  def validate_for_algorithm(self, algorithm: CipherAlgorithm) -> None:
@@ -220,7 +220,7 @@ class GCM(ModeWithInitializationVector, ModeWithAuthenticationTag):
220
220
 
221
221
  def __init__(
222
222
  self,
223
- initialization_vector: bytes,
223
+ initialization_vector: utils.Buffer,
224
224
  tag: bytes | None = None,
225
225
  min_tag_length: int = 16,
226
226
  ):
@@ -250,7 +250,7 @@ class GCM(ModeWithInitializationVector, ModeWithAuthenticationTag):
250
250
  return self._tag
251
251
 
252
252
  @property
253
- def initialization_vector(self) -> bytes:
253
+ def initialization_vector(self) -> utils.Buffer:
254
254
  return self._initialization_vector
255
255
 
256
256
  def validate_for_algorithm(self, algorithm: CipherAlgorithm) -> None:
@@ -7,6 +7,7 @@ from __future__ import annotations
7
7
  import abc
8
8
 
9
9
  from cryptography.hazmat.bindings._rust import openssl as rust_openssl
10
+ from cryptography.utils import Buffer
10
11
 
11
12
  __all__ = [
12
13
  "MD5",
@@ -30,6 +31,7 @@ __all__ = [
30
31
  "Hash",
31
32
  "HashAlgorithm",
32
33
  "HashContext",
34
+ "XOFHash",
33
35
  ]
34
36
 
35
37
 
@@ -66,7 +68,7 @@ class HashContext(metaclass=abc.ABCMeta):
66
68
  """
67
69
 
68
70
  @abc.abstractmethod
69
- def update(self, data: bytes) -> None:
71
+ def update(self, data: Buffer) -> None:
70
72
  """
71
73
  Processes the provided bytes through the hash.
72
74
  """
@@ -87,6 +89,8 @@ class HashContext(metaclass=abc.ABCMeta):
87
89
  Hash = rust_openssl.hashes.Hash
88
90
  HashContext.register(Hash)
89
91
 
92
+ XOFHash = rust_openssl.hashes.XOFHash
93
+
90
94
 
91
95
  class ExtendableOutputFunction(metaclass=abc.ABCMeta):
92
96
  """
@@ -5,6 +5,7 @@
5
5
  from __future__ import annotations
6
6
 
7
7
  import typing
8
+ from collections.abc import Callable
8
9
 
9
10
  from cryptography import utils
10
11
  from cryptography.exceptions import AlreadyFinalized, InvalidKey
@@ -29,9 +30,9 @@ def _common_args_checks(
29
30
 
30
31
 
31
32
  def _concatkdf_derive(
32
- key_material: bytes,
33
+ key_material: utils.Buffer,
33
34
  length: int,
34
- auxfn: typing.Callable[[], hashes.HashContext],
35
+ auxfn: Callable[[], hashes.HashContext],
35
36
  otherinfo: bytes,
36
37
  ) -> bytes:
37
38
  utils._check_byteslike("key_material", key_material)
@@ -69,7 +70,7 @@ class ConcatKDFHash(KeyDerivationFunction):
69
70
  def _hash(self) -> hashes.Hash:
70
71
  return hashes.Hash(self._algorithm)
71
72
 
72
- def derive(self, key_material: bytes) -> bytes:
73
+ def derive(self, key_material: utils.Buffer) -> bytes:
73
74
  if self._used:
74
75
  raise AlreadyFinalized
75
76
  self._used = True
@@ -111,7 +112,7 @@ class ConcatKDFHMAC(KeyDerivationFunction):
111
112
  def _hmac(self) -> hmac.HMAC:
112
113
  return hmac.HMAC(self._salt, self._algorithm)
113
114
 
114
- def derive(self, key_material: bytes) -> bytes:
115
+ def derive(self, key_material: utils.Buffer) -> bytes:
115
116
  if self._used:
116
117
  raise AlreadyFinalized
117
118
  self._used = True
@@ -32,12 +32,12 @@ class HKDF(KeyDerivationFunction):
32
32
 
33
33
  self._hkdf_expand = HKDFExpand(self._algorithm, length, info)
34
34
 
35
- def _extract(self, key_material: bytes) -> bytes:
35
+ def _extract(self, key_material: utils.Buffer) -> bytes:
36
36
  h = hmac.HMAC(self._salt, self._algorithm)
37
37
  h.update(key_material)
38
38
  return h.finalize()
39
39
 
40
- def derive(self, key_material: bytes) -> bytes:
40
+ def derive(self, key_material: utils.Buffer) -> bytes:
41
41
  utils._check_byteslike("key_material", key_material)
42
42
  return self._hkdf_expand.derive(self._extract(key_material))
43
43
 
@@ -74,7 +74,7 @@ class HKDFExpand(KeyDerivationFunction):
74
74
 
75
75
  self._used = False
76
76
 
77
- def _expand(self, key_material: bytes) -> bytes:
77
+ def _expand(self, key_material: utils.Buffer) -> bytes:
78
78
  output = [b""]
79
79
  counter = 1
80
80
 
@@ -88,7 +88,7 @@ class HKDFExpand(KeyDerivationFunction):
88
88
 
89
89
  return b"".join(output)[: self._length]
90
90
 
91
- def derive(self, key_material: bytes) -> bytes:
91
+ def derive(self, key_material: utils.Buffer) -> bytes:
92
92
  utils._check_byteslike("key_material", key_material)
93
93
  if self._used:
94
94
  raise AlreadyFinalized
@@ -5,6 +5,7 @@
5
5
  from __future__ import annotations
6
6
 
7
7
  import typing
8
+ from collections.abc import Callable
8
9
 
9
10
  from cryptography import utils
10
11
  from cryptography.exceptions import (
@@ -36,7 +37,7 @@ class CounterLocation(utils.Enum):
36
37
  class _KBKDFDeriver:
37
38
  def __init__(
38
39
  self,
39
- prf: typing.Callable,
40
+ prf: Callable,
40
41
  mode: Mode,
41
42
  length: int,
42
43
  rlen: int,
@@ -120,7 +121,9 @@ class _KBKDFDeriver:
120
121
  return False
121
122
  return True
122
123
 
123
- def derive(self, key_material: bytes, prf_output_size: int) -> bytes:
124
+ def derive(
125
+ self, key_material: utils.Buffer, prf_output_size: int
126
+ ) -> bytes:
124
127
  if self._used:
125
128
  raise AlreadyFinalized
126
129
 
@@ -227,7 +230,7 @@ class KBKDFHMAC(KeyDerivationFunction):
227
230
  def _prf(self, key_material: bytes) -> hmac.HMAC:
228
231
  return hmac.HMAC(key_material, self._algorithm)
229
232
 
230
- def derive(self, key_material: bytes) -> bytes:
233
+ def derive(self, key_material: utils.Buffer) -> bytes:
231
234
  return self._deriver.derive(key_material, self._algorithm.digest_size)
232
235
 
233
236
  def verify(self, key_material: bytes, expected_key: bytes) -> None:
@@ -280,7 +283,7 @@ class KBKDFCMAC(KeyDerivationFunction):
280
283
 
281
284
  return cmac.CMAC(self._cipher)
282
285
 
283
- def derive(self, key_material: bytes) -> bytes:
286
+ def derive(self, key_material: utils.Buffer) -> bytes:
284
287
  self._cipher = self._algorithm(key_material)
285
288
 
286
289
  assert self._cipher is not None
@@ -43,7 +43,7 @@ class PBKDF2HMAC(KeyDerivationFunction):
43
43
  self._salt = salt
44
44
  self._iterations = iterations
45
45
 
46
- def derive(self, key_material: bytes) -> bytes:
46
+ def derive(self, key_material: utils.Buffer) -> bytes:
47
47
  if self._used:
48
48
  raise AlreadyFinalized("PBKDF2 instances can only be used once.")
49
49
  self._used = True
@@ -35,7 +35,7 @@ class X963KDF(KeyDerivationFunction):
35
35
  self._sharedinfo = sharedinfo
36
36
  self._used = False
37
37
 
38
- def derive(self, key_material: bytes) -> bytes:
38
+ def derive(self, key_material: utils.Buffer) -> bytes:
39
39
  if self._used:
40
40
  raise AlreadyFinalized
41
41
  self._used = True