py2docfx 0.1.16rc2051518__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 (620) hide show
  1. py2docfx/docfx_yaml/miss_reference.py +1 -1
  2. py2docfx/docfx_yaml/parameter_utils.py +58 -6
  3. py2docfx/docfx_yaml/tests/roots/test-translator-typing/code_with_typing.py +14 -0
  4. py2docfx/docfx_yaml/tests/roots/test-translator-typing/conf.py +18 -0
  5. py2docfx/docfx_yaml/tests/test_translator_typing.py +39 -0
  6. py2docfx/docfx_yaml/utils.py +2 -2
  7. py2docfx/venv/basevenv/Lib/site-packages/babel/py.typed +1 -0
  8. py2docfx/venv/basevenv/Lib/site-packages/certifi/__init__.py +1 -1
  9. py2docfx/venv/basevenv/Lib/site-packages/certifi/core.py +1 -32
  10. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
  11. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/constant.py +17 -0
  12. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/legacy.py +1 -3
  13. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/md.py +19 -14
  14. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/utils.py +6 -0
  15. py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/version.py +1 -1
  16. py2docfx/venv/basevenv/Lib/site-packages/markupsafe/_speedups.pyi +1 -0
  17. py2docfx/venv/basevenv/Lib/site-packages/markupsafe/py.typed +0 -0
  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/py.typed +0 -0
  27. py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +1 -2
  28. py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +39 -0
  29. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  30. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  31. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/chardet/py.typed +0 -0
  32. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  33. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  34. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  36. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/pyparsing/py.typed +0 -0
  37. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  38. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  39. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/tenacity/py.typed +0 -0
  40. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  41. py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  42. py2docfx/venv/basevenv/Lib/site-packages/pip/py.typed +4 -0
  43. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +6 -7
  44. py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/py.typed +0 -0
  45. py2docfx/venv/basevenv/Lib/site-packages/pygments/__init__.py +1 -1
  46. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/_sql_builtins.py +106 -0
  47. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/scripting.py +5 -3
  48. py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/sql.py +24 -118
  49. py2docfx/venv/basevenv/Lib/site-packages/requests/__version__.py +2 -2
  50. py2docfx/venv/basevenv/Lib/site-packages/requests/compat.py +12 -0
  51. py2docfx/venv/basevenv/Lib/site-packages/requests/models.py +3 -1
  52. py2docfx/venv/basevenv/Lib/site-packages/requests/utils.py +6 -16
  53. py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +0 -38
  54. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_discovery.py +33 -0
  55. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
  56. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  57. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
  58. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
  59. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_entry_points.py +4 -0
  60. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +0 -2
  61. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +12 -3
  62. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +1 -1
  63. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_scripts.py +361 -0
  64. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +6 -0
  65. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
  66. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
  67. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
  68. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
  69. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
  70. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
  71. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
  72. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
  73. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
  74. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
  75. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
  76. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
  77. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
  78. py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +25 -37
  79. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
  80. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
  81. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +29 -28
  82. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +39 -179
  83. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
  84. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
  85. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +0 -2
  86. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +3 -55
  87. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
  88. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +1 -1
  89. py2docfx/venv/basevenv/Lib/site-packages/setuptools/compat/py310.py +11 -0
  90. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +10 -12
  91. py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +34 -29
  92. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/contexts.py +0 -14
  93. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
  94. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
  95. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
  96. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
  97. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
  98. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
  99. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
  100. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
  101. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
  102. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
  103. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
  104. py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +49 -24
  105. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/__init__.py +6 -0
  106. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/arabic_stemmer.py +798 -797
  107. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/armenian_stemmer.py +212 -213
  108. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basestemmer.py +20 -54
  109. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basque_stemmer.py +202 -228
  110. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/catalan_stemmer.py +370 -375
  111. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/danish_stemmer.py +63 -61
  112. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_porter_stemmer.py +466 -0
  113. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_stemmer.py +1217 -343
  114. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/english_stemmer.py +295 -264
  115. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/esperanto_stemmer.py +588 -0
  116. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/estonian_stemmer.py +850 -0
  117. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/finnish_stemmer.py +144 -143
  118. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/french_stemmer.py +308 -246
  119. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/german_stemmer.py +224 -167
  120. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/greek_stemmer.py +1314 -1313
  121. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hindi_stemmer.py +39 -38
  122. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hungarian_stemmer.py +231 -256
  123. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/indonesian_stemmer.py +61 -64
  124. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/irish_stemmer.py +101 -106
  125. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/italian_stemmer.py +272 -272
  126. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/lithuanian_stemmer.py +233 -240
  127. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/nepali_stemmer.py +108 -134
  128. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/norwegian_stemmer.py +108 -63
  129. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/porter_stemmer.py +101 -108
  130. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/portuguese_stemmer.py +241 -250
  131. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/romanian_stemmer.py +332 -296
  132. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/russian_stemmer.py +178 -179
  133. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/serbian_stemmer.py +2331 -2332
  134. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/spanish_stemmer.py +254 -259
  135. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/swedish_stemmer.py +143 -70
  136. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/tamil_stemmer.py +638 -1491
  137. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/turkish_stemmer.py +326 -292
  138. py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/yiddish_stemmer.py +245 -246
  139. py2docfx/venv/basevenv/Lib/site-packages/sphinx/py.typed +0 -0
  140. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/applehelp/py.typed +0 -0
  141. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/htmlhelp/py.typed +0 -0
  142. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/qthelp/py.typed +0 -0
  143. py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/serializinghtml/py.typed +0 -0
  144. py2docfx/venv/basevenv/Lib/site-packages/urllib3/_version.py +9 -4
  145. py2docfx/venv/basevenv/Lib/site-packages/urllib3/connection.py +87 -38
  146. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
  147. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/emscripten/response.py +8 -16
  148. py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/pyopenssl.py +10 -0
  149. py2docfx/venv/basevenv/Lib/site-packages/urllib3/exceptions.py +12 -4
  150. py2docfx/venv/basevenv/Lib/site-packages/urllib3/http2/connection.py +1 -1
  151. py2docfx/venv/basevenv/Lib/site-packages/urllib3/poolmanager.py +17 -1
  152. py2docfx/venv/basevenv/Lib/site-packages/urllib3/py.typed +2 -0
  153. py2docfx/venv/basevenv/Lib/site-packages/urllib3/response.py +53 -24
  154. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/request.py +12 -4
  155. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_.py +22 -2
  156. py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_match_hostname.py +1 -1
  157. py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
  158. py2docfx/venv/basevenv/Lib/site-packages/wheel/__main__.py +7 -5
  159. py2docfx/venv/{venv1/Lib/site-packages/wheel/cli → basevenv/Lib/site-packages/wheel/_commands}/__init__.py +3 -5
  160. py2docfx/venv/{venv1/Lib/site-packages/wheel/cli → basevenv/Lib/site-packages/wheel/_commands}/convert.py +14 -9
  161. py2docfx/venv/{venv1/Lib/site-packages/wheel/cli → basevenv/Lib/site-packages/wheel/_commands}/pack.py +1 -2
  162. py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/tags.py +4 -3
  163. py2docfx/venv/basevenv/Lib/site-packages/wheel/_metadata.py +184 -0
  164. py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +12 -23
  165. py2docfx/venv/basevenv/Lib/site-packages/wheel/macosx_libfile.py +4 -0
  166. py2docfx/venv/basevenv/Lib/site-packages/wheel/metadata.py +17 -183
  167. py2docfx/venv/basevenv/Lib/site-packages/wheel/wheelfile.py +30 -16
  168. py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
  169. py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +5 -4
  170. py2docfx/venv/venv1/Lib/site-packages/azure/core/instrumentation.py +67 -0
  171. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +3 -1
  172. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +1 -1
  173. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +1 -1
  174. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +4 -4
  175. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +1 -2
  176. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +152 -29
  177. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +3 -2
  178. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +2 -2
  179. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +3 -10
  180. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +3 -8
  181. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +2 -0
  182. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +1 -2
  183. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +2 -1
  184. py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +1 -1
  185. py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +3 -3
  186. py2docfx/venv/venv1/Lib/site-packages/azure/core/py.typed +0 -0
  187. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +2 -2
  188. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl_async.py +3 -0
  189. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +1 -1
  190. py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_rest_py3.py +2 -2
  191. py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +27 -21
  192. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/__init__.py +3 -7
  193. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +2 -35
  194. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_models.py +71 -0
  195. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +12 -4
  196. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +66 -13
  197. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +62 -23
  198. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/py.typed +0 -0
  199. py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/opentelemetry.py +256 -0
  200. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_connection_string_parser.py +1 -2
  201. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_messaging_shared.py +1 -1
  202. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +1 -1
  203. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +2 -1
  204. py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +2 -2
  205. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +1 -0
  206. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +23 -2
  207. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +12 -16
  208. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +22 -1
  209. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +10 -6
  210. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +13 -4
  211. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +3 -5
  212. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +2 -1
  213. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +3 -2
  214. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +1 -1
  215. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +1 -1
  216. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +1 -1
  217. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +1 -1
  218. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +1 -1
  219. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +22 -2
  220. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +2 -2
  221. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +17 -1
  222. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +4 -4
  223. py2docfx/venv/venv1/Lib/site-packages/azure/identity/py.typed +0 -0
  224. py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +1 -1
  225. py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +1 -32
  226. py2docfx/venv/venv1/Lib/site-packages/certifi/py.typed +0 -0
  227. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
  228. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +17 -0
  229. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +1 -3
  230. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +19 -14
  231. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/py.typed +0 -0
  232. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +6 -0
  233. py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +1 -1
  234. py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +2 -2
  235. py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +2 -2
  236. py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +2 -1
  237. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +35 -2
  238. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +33 -10
  239. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi +37 -0
  240. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/_openssl.pyi +8 -0
  241. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi +7 -0
  242. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/exceptions.pyi +17 -0
  243. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi +117 -0
  244. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +75 -0
  245. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +107 -0
  246. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ciphers.pyi +38 -0
  247. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/cmac.pyi +18 -0
  248. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/dh.pyi +51 -0
  249. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi +41 -0
  250. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ec.pyi +52 -0
  251. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +13 -0
  252. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +13 -0
  253. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +28 -0
  254. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +22 -0
  255. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +49 -0
  256. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +34 -0
  257. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +15 -0
  258. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/rsa.pyi +55 -0
  259. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +13 -0
  260. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +13 -0
  261. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +52 -0
  262. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +50 -0
  263. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +23 -0
  264. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +313 -0
  265. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +9 -1
  266. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +2 -1
  267. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +5 -0
  268. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +4 -2
  269. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +1 -2
  270. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +12 -0
  271. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +16 -3
  272. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +47 -3
  273. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +16 -3
  274. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +16 -3
  275. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +14 -0
  276. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +14 -1
  277. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +14 -1
  278. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +6 -6
  279. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +5 -4
  280. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +18 -18
  281. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +5 -1
  282. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +5 -4
  283. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +4 -4
  284. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +7 -4
  285. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +1 -1
  286. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +1 -1
  287. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +7 -121
  288. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +2 -0
  289. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +21 -1
  290. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +48 -6
  291. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +68 -18
  292. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +3 -2
  293. py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +2 -1
  294. py2docfx/venv/venv1/Lib/site-packages/cryptography/py.typed +0 -0
  295. py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +15 -3
  296. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +3 -0
  297. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +39 -6
  298. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +100 -49
  299. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +27 -15
  300. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +60 -25
  301. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +2 -0
  302. py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +6 -0
  303. py2docfx/venv/venv1/Lib/site-packages/google/api/annotations_pb2.pyi +24 -0
  304. py2docfx/venv/venv1/Lib/site-packages/google/api/auth_pb2.pyi +120 -0
  305. py2docfx/venv/venv1/Lib/site-packages/google/api/backend_pb2.pyi +102 -0
  306. py2docfx/venv/venv1/Lib/site-packages/google/api/billing_pb2.pyi +50 -0
  307. py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.pyi +405 -0
  308. py2docfx/venv/venv1/Lib/site-packages/google/api/config_change_pb2.pyi +65 -0
  309. py2docfx/venv/venv1/Lib/site-packages/google/api/consumer_pb2.pyi +62 -0
  310. py2docfx/venv/venv1/Lib/site-packages/google/api/context_pb2.pyi +60 -0
  311. py2docfx/venv/venv1/Lib/site-packages/google/api/control_pb2.pyi +43 -0
  312. py2docfx/venv/venv1/Lib/site-packages/google/api/distribution_pb2.pyi +144 -0
  313. py2docfx/venv/venv1/Lib/site-packages/google/api/documentation_pb2.pyi +86 -0
  314. py2docfx/venv/venv1/Lib/site-packages/google/api/endpoint_pb2.pyi +41 -0
  315. py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.pyi +90 -0
  316. py2docfx/venv/venv1/Lib/site-packages/google/api/field_behavior_pb2.pyi +45 -0
  317. py2docfx/venv/venv1/Lib/site-packages/google/api/field_info_pb2.pyi +60 -0
  318. py2docfx/venv/venv1/Lib/site-packages/google/api/http_pb2.pyi +94 -0
  319. py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.pyi +41 -0
  320. py2docfx/venv/venv1/Lib/site-packages/google/api/label_pb2.pyi +47 -0
  321. py2docfx/venv/venv1/Lib/site-packages/google/api/launch_stage_pb2.pyi +40 -0
  322. py2docfx/venv/venv1/Lib/site-packages/google/api/log_pb2.pyi +47 -0
  323. py2docfx/venv/venv1/Lib/site-packages/google/api/logging_pb2.pyi +57 -0
  324. py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.pyi +186 -0
  325. py2docfx/venv/venv1/Lib/site-packages/google/api/monitored_resource_pb2.pyi +104 -0
  326. py2docfx/venv/venv1/Lib/site-packages/google/api/monitoring_pb2.pyi +57 -0
  327. py2docfx/venv/venv1/Lib/site-packages/google/api/policy_pb2.pyi +57 -0
  328. py2docfx/venv/venv1/Lib/site-packages/google/api/quota_pb2.pyi +116 -0
  329. py2docfx/venv/venv1/Lib/site-packages/google/api/resource_pb2.pyi +93 -0
  330. py2docfx/venv/venv1/Lib/site-packages/google/api/routing_pb2.pyi +49 -0
  331. py2docfx/venv/venv1/Lib/site-packages/google/api/service_pb2.pyi +170 -0
  332. py2docfx/venv/venv1/Lib/site-packages/google/api/source_info_pb2.pyi +34 -0
  333. py2docfx/venv/venv1/Lib/site-packages/google/api/system_parameter_pb2.pyi +60 -0
  334. py2docfx/venv/venv1/Lib/site-packages/google/api/usage_pb2.pyi +55 -0
  335. py2docfx/venv/venv1/Lib/site-packages/google/api/visibility_pb2.pyi +56 -0
  336. py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +17 -4
  337. py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +6 -0
  338. py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +1 -0
  339. py2docfx/venv/venv1/Lib/site-packages/google/api_core/py.typed +2 -0
  340. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +13 -4
  341. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +7 -6
  342. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +8 -5
  343. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +7 -6
  344. py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +7 -6
  345. py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
  346. py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +2 -36
  347. py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +240 -0
  348. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/_helpers.py +62 -0
  349. py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +6 -0
  350. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +5 -1
  351. py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +2 -1
  352. py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +91 -2
  353. py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +75 -0
  354. py2docfx/venv/venv1/Lib/site-packages/google/auth/py.typed +2 -0
  355. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +1 -0
  356. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +8 -1
  357. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +3 -1
  358. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +4 -1
  359. py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +15 -5
  360. py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
  361. py2docfx/venv/venv1/Lib/site-packages/google/cloud/extended_operations_pb2.pyi +45 -0
  362. py2docfx/venv/venv1/Lib/site-packages/google/cloud/location/locations_pb2.pyi +96 -0
  363. py2docfx/venv/venv1/Lib/site-packages/google/gapic/metadata/gapic_metadata_pb2.pyi +118 -0
  364. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/http_request_pb2.pyi +91 -0
  365. py2docfx/venv/venv1/Lib/site-packages/google/logging/type/log_severity_pb2.pyi +42 -0
  366. py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto_pb2.pyi +126 -0
  367. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +12 -0
  368. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/py.typed +2 -0
  369. py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +1 -1
  370. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
  371. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any.py +15 -1
  372. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +3 -3
  373. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +3 -3
  374. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +3 -3
  375. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +15 -2
  376. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +258 -113
  377. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +22 -8
  378. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +3 -3
  379. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +3 -3
  380. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +3 -3
  381. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +106 -23
  382. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +3 -1
  383. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
  384. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +21 -18
  385. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +8 -2
  386. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +60 -43
  387. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +4 -5
  388. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +16 -0
  389. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +2 -2
  390. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +3 -3
  391. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +3 -3
  392. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +11 -7
  393. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +3 -3
  394. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +3 -3
  395. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +3 -3
  396. py2docfx/venv/venv1/Lib/site-packages/google/rpc/code_pb2.pyi +58 -0
  397. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/attribute_context_pb2.pyi +309 -0
  398. py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/audit_context_pb2.pyi +51 -0
  399. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +29 -23
  400. py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.pyi +246 -0
  401. py2docfx/venv/venv1/Lib/site-packages/google/rpc/http_pb2.pyi +71 -0
  402. py2docfx/venv/venv1/Lib/site-packages/google/rpc/status_pb2.pyi +41 -0
  403. py2docfx/venv/venv1/Lib/site-packages/google/type/calendar_period_pb2.pyi +40 -0
  404. py2docfx/venv/venv1/Lib/site-packages/google/type/color_pb2.pyi +42 -0
  405. py2docfx/venv/venv1/Lib/site-packages/google/type/date_pb2.pyi +36 -0
  406. py2docfx/venv/venv1/Lib/site-packages/google/type/datetime_pb2.pyi +77 -0
  407. py2docfx/venv/venv1/Lib/site-packages/google/type/dayofweek_pb2.pyi +40 -0
  408. py2docfx/venv/venv1/Lib/site-packages/google/type/decimal_pb2.pyi +27 -0
  409. py2docfx/venv/venv1/Lib/site-packages/google/type/expr_pb2.pyi +39 -0
  410. py2docfx/venv/venv1/Lib/site-packages/google/type/fraction_pb2.pyi +31 -0
  411. py2docfx/venv/venv1/Lib/site-packages/google/type/interval_pb2.pyi +36 -0
  412. py2docfx/venv/venv1/Lib/site-packages/google/type/latlng_pb2.pyi +31 -0
  413. py2docfx/venv/venv1/Lib/site-packages/google/type/localized_text_pb2.pyi +31 -0
  414. py2docfx/venv/venv1/Lib/site-packages/google/type/money_pb2.pyi +36 -0
  415. py2docfx/venv/venv1/Lib/site-packages/google/type/month_pb2.pyi +50 -0
  416. py2docfx/venv/venv1/Lib/site-packages/google/type/phone_number_pb2.pyi +48 -0
  417. py2docfx/venv/venv1/Lib/site-packages/google/type/postal_address_pb2.pyi +74 -0
  418. py2docfx/venv/venv1/Lib/site-packages/google/type/quaternion_pb2.pyi +39 -0
  419. py2docfx/venv/venv1/Lib/site-packages/google/type/timeofday_pb2.pyi +39 -0
  420. py2docfx/venv/venv1/Lib/site-packages/idna/py.typed +0 -0
  421. py2docfx/venv/venv1/Lib/site-packages/jwt/py.typed +0 -0
  422. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +1 -0
  423. py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +9 -5
  424. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +4 -5
  425. py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +1 -1
  426. py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +58 -30
  427. py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -1
  428. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -1
  429. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -1
  430. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -138
  431. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -93
  432. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -63
  433. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -206
  434. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -205
  435. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +355 -355
  436. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -79
  437. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -15
  438. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -314
  439. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -190
  440. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -62
  441. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -50
  442. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -176
  443. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -42
  444. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -87
  445. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -1
  446. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -50
  447. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -100
  448. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -480
  449. py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -236
  450. py2docfx/venv/venv1/Lib/site-packages/packaging/__init__.py +15 -0
  451. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_elffile.py +10 -9
  452. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_manylinux.py +13 -11
  453. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_musllinux.py +5 -3
  454. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_parser.py +12 -15
  455. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_tokenizer.py +15 -12
  456. py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/__init__.py +145 -0
  457. py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
  458. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/markers.py +148 -39
  459. py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +862 -0
  460. py2docfx/venv/venv1/Lib/site-packages/packaging/py.typed +0 -0
  461. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/requirements.py +5 -4
  462. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/specifiers.py +41 -33
  463. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/tags.py +135 -50
  464. py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/utils.py +39 -48
  465. py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/version.py +53 -32
  466. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
  467. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
  468. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/chardet/py.typed +0 -0
  469. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
  470. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
  471. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
  472. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
  473. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/pyparsing/py.typed +0 -0
  474. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
  475. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
  476. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/tenacity/py.typed +0 -0
  477. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
  478. py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
  479. py2docfx/venv/venv1/Lib/site-packages/pip/py.typed +4 -0
  480. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +6 -7
  481. py2docfx/venv/venv1/Lib/site-packages/pkg_resources/py.typed +0 -0
  482. py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +2 -2
  483. py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +12 -0
  484. py2docfx/venv/venv1/Lib/site-packages/requests/models.py +3 -1
  485. py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +6 -16
  486. py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +2 -2
  487. py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -52
  488. py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -321
  489. py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -184
  490. py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -53
  491. py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -858
  492. py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -96
  493. py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -134
  494. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -485
  495. py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -100
  496. py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -198
  497. py2docfx/venv/venv1/Lib/site-packages/rsa/py.typed +1 -0
  498. py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -95
  499. py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -72
  500. py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -97
  501. py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +0 -38
  502. py2docfx/venv/venv1/Lib/site-packages/setuptools/_discovery.py +33 -0
  503. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
  504. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  505. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
  506. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
  507. py2docfx/venv/venv1/Lib/site-packages/setuptools/_entry_points.py +4 -0
  508. py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +0 -2
  509. py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +12 -3
  510. py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +1 -1
  511. py2docfx/venv/venv1/Lib/site-packages/setuptools/_scripts.py +361 -0
  512. py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +6 -0
  513. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
  514. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
  515. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
  516. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
  517. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
  518. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
  519. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
  520. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
  521. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
  522. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
  523. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
  524. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
  525. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
  526. py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +25 -37
  527. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
  528. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
  529. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +29 -28
  530. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +39 -179
  531. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
  532. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
  533. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +0 -2
  534. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +3 -55
  535. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
  536. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +1 -1
  537. py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/py310.py +11 -0
  538. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +10 -12
  539. py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +34 -29
  540. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/contexts.py +0 -14
  541. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
  542. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
  543. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
  544. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
  545. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
  546. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
  547. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
  548. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
  549. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
  550. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
  551. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
  552. py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +49 -24
  553. py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +380 -708
  554. py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +9 -4
  555. py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +87 -38
  556. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
  557. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/response.py +8 -16
  558. py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/pyopenssl.py +10 -0
  559. py2docfx/venv/venv1/Lib/site-packages/urllib3/exceptions.py +12 -4
  560. py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/connection.py +1 -1
  561. py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +17 -1
  562. py2docfx/venv/venv1/Lib/site-packages/urllib3/py.typed +2 -0
  563. py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +53 -24
  564. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +12 -4
  565. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +22 -2
  566. py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_match_hostname.py +1 -1
  567. py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
  568. py2docfx/venv/venv1/Lib/site-packages/wheel/__main__.py +7 -5
  569. py2docfx/venv/{basevenv/Lib/site-packages/wheel/cli → venv1/Lib/site-packages/wheel/_commands}/__init__.py +3 -5
  570. py2docfx/venv/{basevenv/Lib/site-packages/wheel/cli → venv1/Lib/site-packages/wheel/_commands}/convert.py +14 -9
  571. py2docfx/venv/{basevenv/Lib/site-packages/wheel/cli → venv1/Lib/site-packages/wheel/_commands}/pack.py +1 -2
  572. py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/tags.py +4 -3
  573. py2docfx/venv/venv1/Lib/site-packages/wheel/_metadata.py +184 -0
  574. py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +12 -23
  575. py2docfx/venv/venv1/Lib/site-packages/wheel/macosx_libfile.py +4 -0
  576. py2docfx/venv/venv1/Lib/site-packages/wheel/metadata.py +17 -183
  577. py2docfx/venv/venv1/Lib/site-packages/wheel/wheelfile.py +30 -16
  578. {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/METADATA +2 -3
  579. {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/RECORD +588 -427
  580. {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/WHEEL +1 -1
  581. py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +0 -1137
  582. py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +0 -536
  583. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/server.py +0 -86
  584. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
  585. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
  586. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
  587. py2docfx/venv/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +0 -613
  588. py2docfx/venv/basevenv/Lib/site-packages/wheel/_setuptools_logging.py +0 -26
  589. py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -17
  590. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +0 -260
  591. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -356
  592. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +0 -192
  593. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -253
  594. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -90
  595. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -1011
  596. py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -172
  597. py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +0 -119
  598. py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +0 -121
  599. py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +0 -1137
  600. py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +0 -536
  601. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/server.py +0 -86
  602. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
  603. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
  604. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
  605. py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +0 -613
  606. py2docfx/venv/venv1/Lib/site-packages/wheel/_setuptools_logging.py +0 -26
  607. py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -17
  608. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_elffile.py +0 -108
  609. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +0 -83
  610. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_structures.py +0 -61
  611. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -571
  612. py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/version.py +0 -561
  613. /py2docfx/venv/basevenv/Lib/site-packages/{wheel/vendored/__init__.py → certifi/py.typed} +0 -0
  614. /py2docfx/venv/basevenv/Lib/site-packages/{wheel/vendored/packaging/__init__.py → charset_normalizer/py.typed} +0 -0
  615. /py2docfx/venv/{venv1/Lib/site-packages/wheel/vendored/__init__.py → basevenv/Lib/site-packages/idna/py.typed} +0 -0
  616. /py2docfx/venv/{venv1/Lib/site-packages/wheel/vendored/packaging/__init__.py → basevenv/Lib/site-packages/jinja2/py.typed} +0 -0
  617. /py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/unpack.py +0 -0
  618. /py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_structures.py +0 -0
  619. /py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/unpack.py +0 -0
  620. {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/top_level.txt +0 -0
@@ -125,6 +125,7 @@ class DefaultAzureCredential(ChainedTokenCredential):
125
125
 
126
126
  process_timeout = kwargs.pop("process_timeout", 10)
127
127
 
128
+ token_credentials_env = os.environ.get(EnvironmentVariables.AZURE_TOKEN_CREDENTIALS, "").strip().lower()
128
129
  exclude_workload_identity_credential = kwargs.pop("exclude_workload_identity_credential", False)
129
130
  exclude_visual_studio_code_credential = kwargs.pop("exclude_visual_studio_code_credential", True)
130
131
  exclude_developer_cli_credential = kwargs.pop("exclude_developer_cli_credential", False)
@@ -134,6 +135,25 @@ class DefaultAzureCredential(ChainedTokenCredential):
134
135
  exclude_shared_token_cache_credential = kwargs.pop("exclude_shared_token_cache_credential", False)
135
136
  exclude_powershell_credential = kwargs.pop("exclude_powershell_credential", False)
136
137
 
138
+ if token_credentials_env == "dev":
139
+ # In dev mode, use only developer credentials
140
+ exclude_environment_credential = True
141
+ exclude_managed_identity_credential = True
142
+ exclude_workload_identity_credential = True
143
+ elif token_credentials_env == "prod":
144
+ # In prod mode, use only production credentials
145
+ exclude_shared_token_cache_credential = True
146
+ exclude_visual_studio_code_credential = True
147
+ exclude_cli_credential = True
148
+ exclude_developer_cli_credential = True
149
+ exclude_powershell_credential = True
150
+ elif token_credentials_env != "":
151
+ # If the environment variable is set to something other than dev or prod, raise an error
152
+ raise ValueError(
153
+ f"Invalid value for {EnvironmentVariables.AZURE_TOKEN_CREDENTIALS}: {token_credentials_env}. "
154
+ "Valid values are 'dev' or 'prod'."
155
+ )
156
+
137
157
  credentials: List[AsyncSupportsTokenInfo] = []
138
158
  within_dac.set(True)
139
159
  if not exclude_environment_credential:
@@ -146,7 +166,7 @@ class DefaultAzureCredential(ChainedTokenCredential):
146
166
  client_id=cast(str, client_id),
147
167
  tenant_id=workload_identity_tenant_id,
148
168
  token_file_path=os.environ[EnvironmentVariables.AZURE_FEDERATED_TOKEN_FILE],
149
- **kwargs
169
+ **kwargs,
150
170
  )
151
171
  )
152
172
  if not exclude_managed_identity_credential:
@@ -154,7 +174,7 @@ class DefaultAzureCredential(ChainedTokenCredential):
154
174
  ManagedIdentityCredential(
155
175
  client_id=managed_identity_client_id,
156
176
  _exclude_workload_identity_credential=exclude_workload_identity_credential,
157
- **kwargs
177
+ **kwargs,
158
178
  )
159
179
  )
160
180
  if not exclude_shared_token_cache_credential and SharedTokenCacheCredential.supported():
@@ -21,8 +21,8 @@ _LOGGER = logging.getLogger(__name__)
21
21
  class EnvironmentCredential(AsyncContextManager):
22
22
  """A credential configured by environment variables.
23
23
 
24
- This credential is capable of authenticating as a service principal using a client secret or a certificate, or as
25
- a user with a username and password. Configuration is attempted in this order, using these environment variables:
24
+ This credential is capable of authenticating as a service principal using a client secret or a certificate.
25
+ Configuration is attempted in this order, using these environment variables:
26
26
 
27
27
  Service principal with secret:
28
28
  - **AZURE_TENANT_ID**: ID of the service principal's tenant. Also called its 'directory' ID.
@@ -4,9 +4,12 @@
4
4
  # ------------------------------------
5
5
  from typing import Optional, Any
6
6
 
7
+ from azure.core.credentials import AccessToken, AccessTokenInfo, TokenRequestOptions
8
+ from azure.core.exceptions import ClientAuthenticationError
9
+
7
10
  from .._internal.managed_identity_base import AsyncManagedIdentityBase
8
11
  from .._internal.managed_identity_client import AsyncManagedIdentityClient
9
- from ..._credentials.service_fabric import _get_client_args
12
+ from ..._credentials.service_fabric import _get_client_args, SERVICE_FABRIC_ERROR_MESSAGE
10
13
 
11
14
 
12
15
  class ServiceFabricCredential(AsyncManagedIdentityBase):
@@ -18,3 +21,16 @@ class ServiceFabricCredential(AsyncManagedIdentityBase):
18
21
 
19
22
  def get_unavailable_message(self, desc: str = "") -> str:
20
23
  return f"Service Fabric managed identity configuration not found in environment. {desc}"
24
+
25
+ async def get_token(
26
+ self, *scopes: str, claims: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs: Any
27
+ ) -> AccessToken:
28
+ if self._client and self._client._identity_config: # pylint:disable=protected-access
29
+ raise ClientAuthenticationError(message=SERVICE_FABRIC_ERROR_MESSAGE)
30
+ return await super().get_token(*scopes, claims=claims, tenant_id=tenant_id, **kwargs)
31
+
32
+ async def get_token_info(self, *scopes: str, options: Optional[TokenRequestOptions] = None) -> AccessTokenInfo:
33
+
34
+ if self._client and self._client._identity_config: # pylint:disable=protected-access
35
+ raise ClientAuthenticationError(message=SERVICE_FABRIC_ERROR_MESSAGE)
36
+ return await super().get_token_info(*scopes, options=options)
@@ -18,10 +18,10 @@ from ..._internal import within_dac
18
18
  class VisualStudioCodeCredential(_VSCodeCredentialBase, AsyncContextManager, GetTokenMixin):
19
19
  """Authenticates as the Azure user signed in to Visual Studio Code via the 'Azure Account' extension.
20
20
 
21
- It's a `known issue <https://github.com/Azure/azure-sdk-for-python/issues/23249>`_ that this credential doesn't
22
- work with `Azure Account extension <https://marketplace.visualstudio.com/items?itemName=ms-vscode.azure-account>`_
23
- versions newer than **0.9.11**. A long-term fix to this problem is in progress. In the meantime, consider
24
- authenticating with :class:`AzureCliCredential`.
21
+ **Deprecated**: This credential is deprecated because the Azure Account extension for Visual Studio Code, which
22
+ this credential relies on, has been deprecated. See the Azure Account extension deprecation notice here:
23
+ https://github.com/microsoft/vscode-azure-account/issues/964. Consider using other developer credentials such as
24
+ AzureCliCredential, AzureDeveloperCliCredential, or AzurePowerShellCredential.
25
25
 
26
26
  :keyword str authority: Authority of a Microsoft Entra endpoint, for example "login.microsoftonline.com".
27
27
  This argument is required for a custom cloud and usually unnecessary otherwise. Defaults to the authority
@@ -1,4 +1,4 @@
1
1
  from .core import contents, where
2
2
 
3
3
  __all__ = ["contents", "where"]
4
- __version__ = "2025.01.31"
4
+ __version__ = "2025.06.15"
@@ -46,7 +46,7 @@ if sys.version_info >= (3, 11):
46
46
  def contents() -> str:
47
47
  return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii")
48
48
 
49
- elif sys.version_info >= (3, 7):
49
+ else:
50
50
 
51
51
  from importlib.resources import path as get_path, read_text
52
52
 
@@ -81,34 +81,3 @@ elif sys.version_info >= (3, 7):
81
81
 
82
82
  def contents() -> str:
83
83
  return read_text("certifi", "cacert.pem", encoding="ascii")
84
-
85
- else:
86
- import os
87
- import types
88
- from typing import Union
89
-
90
- Package = Union[types.ModuleType, str]
91
- Resource = Union[str, "os.PathLike"]
92
-
93
- # This fallback will work for Python versions prior to 3.7 that lack the
94
- # importlib.resources module but relies on the existing `where` function
95
- # so won't address issues with environments like PyOxidizer that don't set
96
- # __file__ on modules.
97
- def read_text(
98
- package: Package,
99
- resource: Resource,
100
- encoding: str = 'utf-8',
101
- errors: str = 'strict'
102
- ) -> str:
103
- with open(where(), encoding=encoding) as data:
104
- return data.read()
105
-
106
- # If we don't have importlib.resources, then we will just do the old logic
107
- # of assuming we're on the filesystem and munge the path directly.
108
- def where() -> str:
109
- f = os.path.dirname(__file__)
110
-
111
- return os.path.join(f, "cacert.pem")
112
-
113
- def contents() -> str:
114
- return read_text("certifi", "cacert.pem", encoding="ascii")
File without changes
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import argparse
4
4
  import sys
5
+ import typing
5
6
  from json import dumps
6
7
  from os.path import abspath, basename, dirname, join, realpath
7
8
  from platform import python_version
@@ -43,7 +44,66 @@ def query_yes_no(question: str, default: str = "yes") -> bool:
43
44
  elif choice in valid:
44
45
  return valid[choice]
45
46
  else:
46
- sys.stdout.write("Please respond with 'yes' or 'no' " "(or 'y' or 'n').\n")
47
+ sys.stdout.write("Please respond with 'yes' or 'no' (or 'y' or 'n').\n")
48
+
49
+
50
+ class FileType:
51
+ """Factory for creating file object types
52
+
53
+ Instances of FileType are typically passed as type= arguments to the
54
+ ArgumentParser add_argument() method.
55
+
56
+ Keyword Arguments:
57
+ - mode -- A string indicating how the file is to be opened. Accepts the
58
+ same values as the builtin open() function.
59
+ - bufsize -- The file's desired buffer size. Accepts the same values as
60
+ the builtin open() function.
61
+ - encoding -- The file's encoding. Accepts the same values as the
62
+ builtin open() function.
63
+ - errors -- A string indicating how encoding and decoding errors are to
64
+ be handled. Accepts the same value as the builtin open() function.
65
+
66
+ Backported from CPython 3.12
67
+ """
68
+
69
+ def __init__(
70
+ self,
71
+ mode: str = "r",
72
+ bufsize: int = -1,
73
+ encoding: str | None = None,
74
+ errors: str | None = None,
75
+ ):
76
+ self._mode = mode
77
+ self._bufsize = bufsize
78
+ self._encoding = encoding
79
+ self._errors = errors
80
+
81
+ def __call__(self, string: str) -> typing.IO: # type: ignore[type-arg]
82
+ # the special argument "-" means sys.std{in,out}
83
+ if string == "-":
84
+ if "r" in self._mode:
85
+ return sys.stdin.buffer if "b" in self._mode else sys.stdin
86
+ elif any(c in self._mode for c in "wax"):
87
+ return sys.stdout.buffer if "b" in self._mode else sys.stdout
88
+ else:
89
+ msg = f'argument "-" with mode {self._mode}'
90
+ raise ValueError(msg)
91
+
92
+ # all other arguments are used as file names
93
+ try:
94
+ return open(string, self._mode, self._bufsize, self._encoding, self._errors)
95
+ except OSError as e:
96
+ message = f"can't open '{string}': {e}"
97
+ raise argparse.ArgumentTypeError(message)
98
+
99
+ def __repr__(self) -> str:
100
+ args = self._mode, self._bufsize
101
+ kwargs = [("encoding", self._encoding), ("errors", self._errors)]
102
+ args_str = ", ".join(
103
+ [repr(arg) for arg in args if arg != -1]
104
+ + [f"{kw}={arg!r}" for kw, arg in kwargs if arg is not None]
105
+ )
106
+ return f"{type(self).__name__}({args_str})"
47
107
 
48
108
 
49
109
  def cli_detect(argv: list[str] | None = None) -> int:
@@ -59,7 +119,7 @@ def cli_detect(argv: list[str] | None = None) -> int:
59
119
  )
60
120
 
61
121
  parser.add_argument(
62
- "files", type=argparse.FileType("rb"), nargs="+", help="File(s) to be analysed"
122
+ "files", type=FileType("rb"), nargs="+", help="File(s) to be analysed"
63
123
  )
64
124
  parser.add_argument(
65
125
  "-v",
@@ -549,6 +549,23 @@ COMMON_SAFE_ASCII_CHARACTERS: set[str] = {
549
549
  ")",
550
550
  }
551
551
 
552
+ # Sample character sets — replace with full lists if needed
553
+ COMMON_CHINESE_CHARACTERS = "的一是在不了有和人这中大为上个国我以要他时来用们生到作地于出就分对成会可主发年动同工也能下过子说产种面而方后多定行学法所民得经十三之进着等部度家电力里如水化高自二理起小物现实加量都两体制机当使点从业本去把性好应开它合还因由其些然前外天政四日那社义事平形相全表间样与关各重新线内数正心反你明看原又么利比或但质气第向道命此变条只没结解问意建月公无系军很情者最立代想已通并提直题党程展五果料象员革位入常文总次品式活设及管特件长求老头基资边流路级少图山统接知较将组见计别她手角期根论运农指几九区强放决西被干做必战先回则任取据处队南给色光门即保治北造百规热领七海口东导器压志世金增争济阶油思术极交受联什认六共权收证改清己美再采转更单风切打白教速花带安场身车例真务具万每目至达走积示议声报斗完类八离华名确才科张信马节话米整空元况今集温传土许步群广石记需段研界拉林律叫且究观越织装影算低持音众书布复容儿须际商非验连断深难近矿千周委素技备半办青省列习响约支般史感劳便团往酸历市克何除消构府太准精值号率族维划选标写存候毛亲快效斯院查江型眼王按格养易置派层片始却专状育厂京识适属圆包火住调满县局照参红细引听该铁价严龙飞"
554
+
555
+ COMMON_JAPANESE_CHARACTERS = "日一国年大十二本中長出三時行見月分後前生五間上東四今金九入学高円子外八六下来気小七山話女北午百書先名川千水半男西電校語土木聞食車何南万毎白天母火右読友左休父雨"
556
+
557
+ COMMON_KOREAN_CHARACTERS = "一二三四五六七八九十百千萬上下左右中人女子大小山川日月火水木金土父母天地國名年時文校學生"
558
+
559
+ # Combine all into a set
560
+ COMMON_CJK_CHARACTERS = set(
561
+ "".join(
562
+ [
563
+ COMMON_CHINESE_CHARACTERS,
564
+ COMMON_JAPANESE_CHARACTERS,
565
+ COMMON_KOREAN_CHARACTERS,
566
+ ]
567
+ )
568
+ )
552
569
 
553
570
  KO_NAMES: set[str] = {"johab", "cp949", "euc_kr"}
554
571
  ZH_NAMES: set[str] = {"big5", "cp950", "big5hkscs", "hz"}
@@ -37,9 +37,7 @@ def detect(
37
37
 
38
38
  if not isinstance(byte_str, (bytearray, bytes)):
39
39
  raise TypeError( # pragma: nocover
40
- "Expected object of type bytes or bytearray, got: " "{}".format(
41
- type(byte_str)
42
- )
40
+ f"Expected object of type bytes or bytearray, got: {type(byte_str)}"
43
41
  )
44
42
 
45
43
  if isinstance(byte_str, bytearray):
@@ -26,6 +26,7 @@ from .utils import (
26
26
  is_unprintable,
27
27
  remove_accent,
28
28
  unicode_range,
29
+ is_cjk_uncommon,
29
30
  )
30
31
 
31
32
 
@@ -365,35 +366,39 @@ class SuperWeirdWordPlugin(MessDetectorPlugin):
365
366
  return self._bad_character_count / self._character_count
366
367
 
367
368
 
368
- class CjkInvalidStopPlugin(MessDetectorPlugin):
369
+ class CjkUncommonPlugin(MessDetectorPlugin):
369
370
  """
370
- GB(Chinese) based encoding often render the stop incorrectly when the content does not fit and
371
- can be easily detected. Searching for the overuse of '丅' and '丄'.
371
+ Detect messy CJK text that probably means nothing.
372
372
  """
373
373
 
374
374
  def __init__(self) -> None:
375
- self._wrong_stop_count: int = 0
376
- self._cjk_character_count: int = 0
375
+ self._character_count: int = 0
376
+ self._uncommon_count: int = 0
377
377
 
378
378
  def eligible(self, character: str) -> bool:
379
- return True
379
+ return is_cjk(character)
380
380
 
381
381
  def feed(self, character: str) -> None:
382
- if character in {"丅", "丄"}:
383
- self._wrong_stop_count += 1
382
+ self._character_count += 1
383
+
384
+ if is_cjk_uncommon(character):
385
+ self._uncommon_count += 1
384
386
  return
385
- if is_cjk(character):
386
- self._cjk_character_count += 1
387
387
 
388
388
  def reset(self) -> None: # Abstract
389
- self._wrong_stop_count = 0
390
- self._cjk_character_count = 0
389
+ self._character_count = 0
390
+ self._uncommon_count = 0
391
391
 
392
392
  @property
393
393
  def ratio(self) -> float:
394
- if self._cjk_character_count < 16:
394
+ if self._character_count < 8:
395
395
  return 0.0
396
- return self._wrong_stop_count / self._cjk_character_count
396
+
397
+ uncommon_form_usage: float = self._uncommon_count / self._character_count
398
+
399
+ # we can be pretty sure it's garbage when uncommon characters are widely
400
+ # used. otherwise it could just be traditional chinese for example.
401
+ return uncommon_form_usage / 10 if uncommon_form_usage > 0.5 else 0.0
397
402
 
398
403
 
399
404
  class ArchaicUpperLowerPlugin(MessDetectorPlugin):
@@ -20,6 +20,7 @@ from .constant import (
20
20
  UNICODE_RANGES_COMBINED,
21
21
  UNICODE_SECONDARY_RANGE_KEYWORD,
22
22
  UTF8_MAXIMAL_ALLOCATION,
23
+ COMMON_CJK_CHARACTERS,
23
24
  )
24
25
 
25
26
 
@@ -200,6 +201,11 @@ def is_arabic_isolated_form(character: str) -> bool:
200
201
  return "ARABIC" in character_name and "ISOLATED FORM" in character_name
201
202
 
202
203
 
204
+ @lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION)
205
+ def is_cjk_uncommon(character: str) -> bool:
206
+ return character not in COMMON_CJK_CHARACTERS
207
+
208
+
203
209
  @lru_cache(maxsize=len(UNICODE_RANGES_COMBINED))
204
210
  def is_unicode_range_secondary(range_name: str) -> bool:
205
211
  return any(keyword in range_name for keyword in UNICODE_SECONDARY_RANGE_KEYWORD)
@@ -4,5 +4,5 @@ Expose version
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- __version__ = "3.4.1"
7
+ __version__ = "3.4.2"
8
8
  VERSION = __version__.split(".")
@@ -10,8 +10,8 @@ __all__ = [
10
10
  "__version__",
11
11
  ]
12
12
 
13
- __version__ = "44.0.2"
13
+ __version__ = "45.0.4"
14
14
 
15
15
 
16
16
  __author__ = "The Python Cryptographic Authority and individual contributors"
17
- __copyright__ = f"Copyright 2013-2024 {__author__}"
17
+ __copyright__ = f"Copyright 2013-2025 {__author__}"
@@ -19,8 +19,8 @@ __all__ = [
19
19
  if sys.version_info[:2] == (3, 7):
20
20
  warnings.warn(
21
21
  "Python 3.7 is no longer supported by the Python core team "
22
- "and support for it is deprecated in cryptography. A future "
23
- "release of cryptography will remove support for Python 3.7.",
22
+ "and support for it is deprecated in cryptography. The next release "
23
+ "of cryptography will remove support for Python 3.7.",
24
24
  utils.CryptographyDeprecationWarning,
25
25
  stacklevel=2,
26
26
  )
@@ -9,6 +9,7 @@ import binascii
9
9
  import os
10
10
  import time
11
11
  import typing
12
+ from collections.abc import Iterable
12
13
 
13
14
  from cryptography import utils
14
15
  from cryptography.exceptions import InvalidSignature
@@ -168,7 +169,7 @@ class Fernet:
168
169
 
169
170
 
170
171
  class MultiFernet:
171
- def __init__(self, fernets: typing.Iterable[Fernet]):
172
+ def __init__(self, fernets: Iterable[Fernet]):
172
173
  fernets = list(fernets)
173
174
  if not fernets:
174
175
  raise ValueError(
@@ -14,6 +14,7 @@ class ExtensionOID:
14
14
  SUBJECT_DIRECTORY_ATTRIBUTES = ObjectIdentifier("2.5.29.9")
15
15
  SUBJECT_KEY_IDENTIFIER = ObjectIdentifier("2.5.29.14")
16
16
  KEY_USAGE = ObjectIdentifier("2.5.29.15")
17
+ PRIVATE_KEY_USAGE_PERIOD = ObjectIdentifier("2.5.29.16")
17
18
  SUBJECT_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.17")
18
19
  ISSUER_ALTERNATIVE_NAME = ObjectIdentifier("2.5.29.18")
19
20
  BASIC_CONSTRAINTS = ObjectIdentifier("2.5.29.19")
@@ -155,6 +156,18 @@ _SIG_OIDS_TO_HASH: dict[ObjectIdentifier, hashes.HashAlgorithm | None] = {
155
156
  }
156
157
 
157
158
 
159
+ class HashAlgorithmOID:
160
+ SHA1 = ObjectIdentifier("1.3.14.3.2.26")
161
+ SHA224 = ObjectIdentifier("2.16.840.1.101.3.4.2.4")
162
+ SHA256 = ObjectIdentifier("2.16.840.1.101.3.4.2.1")
163
+ SHA384 = ObjectIdentifier("2.16.840.1.101.3.4.2.2")
164
+ SHA512 = ObjectIdentifier("2.16.840.1.101.3.4.2.3")
165
+ SHA3_224 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.224")
166
+ SHA3_256 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.256")
167
+ SHA3_384 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.384")
168
+ SHA3_512 = ObjectIdentifier("1.3.6.1.4.1.37476.3.2.1.99.7.512")
169
+
170
+
158
171
  class PublicKeyAlgorithmOID:
159
172
  DSA = ObjectIdentifier("1.2.840.10040.4.1")
160
173
  EC_PUBLIC_KEY = ObjectIdentifier("1.2.840.10045.2.1")
@@ -177,9 +190,20 @@ class ExtendedKeyUsageOID:
177
190
  SMARTCARD_LOGON = ObjectIdentifier("1.3.6.1.4.1.311.20.2.2")
178
191
  KERBEROS_PKINIT_KDC = ObjectIdentifier("1.3.6.1.5.2.3.5")
179
192
  IPSEC_IKE = ObjectIdentifier("1.3.6.1.5.5.7.3.17")
193
+ BUNDLE_SECURITY = ObjectIdentifier("1.3.6.1.5.5.7.3.35")
180
194
  CERTIFICATE_TRANSPARENCY = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.4")
181
195
 
182
196
 
197
+ class OtherNameFormOID:
198
+ PERMANENT_IDENTIFIER = ObjectIdentifier("1.3.6.1.5.5.7.8.3")
199
+ HW_MODULE_NAME = ObjectIdentifier("1.3.6.1.5.5.7.8.4")
200
+ DNS_SRV = ObjectIdentifier("1.3.6.1.5.5.7.8.7")
201
+ NAI_REALM = ObjectIdentifier("1.3.6.1.5.5.7.8.8")
202
+ SMTP_UTF8_MAILBOX = ObjectIdentifier("1.3.6.1.5.5.7.8.9")
203
+ ACP_NODE_NAME = ObjectIdentifier("1.3.6.1.5.5.7.8.10")
204
+ BUNDLE_EID = ObjectIdentifier("1.3.6.1.5.5.7.8.11")
205
+
206
+
183
207
  class AuthorityInformationAccessOID:
184
208
  CA_ISSUERS = ObjectIdentifier("1.3.6.1.5.5.7.48.2")
185
209
  OCSP = ObjectIdentifier("1.3.6.1.5.5.7.48.1")
@@ -237,7 +261,7 @@ _OID_NAMES = {
237
261
  SignatureAlgorithmOID.RSA_WITH_SHA256: "sha256WithRSAEncryption",
238
262
  SignatureAlgorithmOID.RSA_WITH_SHA384: "sha384WithRSAEncryption",
239
263
  SignatureAlgorithmOID.RSA_WITH_SHA512: "sha512WithRSAEncryption",
240
- SignatureAlgorithmOID.RSASSA_PSS: "RSASSA-PSS",
264
+ SignatureAlgorithmOID.RSASSA_PSS: "rsassaPss",
241
265
  SignatureAlgorithmOID.ECDSA_WITH_SHA1: "ecdsa-with-SHA1",
242
266
  SignatureAlgorithmOID.ECDSA_WITH_SHA224: "ecdsa-with-SHA224",
243
267
  SignatureAlgorithmOID.ECDSA_WITH_SHA256: "ecdsa-with-SHA256",
@@ -257,10 +281,18 @@ _OID_NAMES = {
257
281
  SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: (
258
282
  "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)"
259
283
  ),
284
+ HashAlgorithmOID.SHA1: "sha1",
285
+ HashAlgorithmOID.SHA224: "sha224",
286
+ HashAlgorithmOID.SHA256: "sha256",
287
+ HashAlgorithmOID.SHA384: "sha384",
288
+ HashAlgorithmOID.SHA512: "sha512",
289
+ HashAlgorithmOID.SHA3_224: "sha3_224",
290
+ HashAlgorithmOID.SHA3_256: "sha3_256",
291
+ HashAlgorithmOID.SHA3_384: "sha3_384",
292
+ HashAlgorithmOID.SHA3_512: "sha3_512",
260
293
  PublicKeyAlgorithmOID.DSA: "dsaEncryption",
261
294
  PublicKeyAlgorithmOID.EC_PUBLIC_KEY: "id-ecPublicKey",
262
295
  PublicKeyAlgorithmOID.RSAES_PKCS1_v1_5: "rsaEncryption",
263
- PublicKeyAlgorithmOID.RSASSA_PSS: "rsassaPss",
264
296
  PublicKeyAlgorithmOID.X25519: "X25519",
265
297
  PublicKeyAlgorithmOID.X448: "X448",
266
298
  ExtendedKeyUsageOID.SERVER_AUTH: "serverAuth",
@@ -274,6 +306,7 @@ _OID_NAMES = {
274
306
  ExtensionOID.SUBJECT_DIRECTORY_ATTRIBUTES: "subjectDirectoryAttributes",
275
307
  ExtensionOID.SUBJECT_KEY_IDENTIFIER: "subjectKeyIdentifier",
276
308
  ExtensionOID.KEY_USAGE: "keyUsage",
309
+ ExtensionOID.PRIVATE_KEY_USAGE_PERIOD: "privateKeyUsagePeriod",
277
310
  ExtensionOID.SUBJECT_ALTERNATIVE_NAME: "subjectAltName",
278
311
  ExtensionOID.ISSUER_ALTERNATIVE_NAME: "issuerAltName",
279
312
  ExtensionOID.BASIC_CONSTRAINTS: "basicConstraints",
@@ -132,7 +132,19 @@ class Backend:
132
132
  # FIPS mode still allows SHA1 for HMAC
133
133
  if self._fips_enabled and isinstance(algorithm, hashes.SHA1):
134
134
  return True
135
-
135
+ if rust_openssl.CRYPTOGRAPHY_IS_AWSLC:
136
+ return isinstance(
137
+ algorithm,
138
+ (
139
+ hashes.SHA1,
140
+ hashes.SHA224,
141
+ hashes.SHA256,
142
+ hashes.SHA384,
143
+ hashes.SHA512,
144
+ hashes.SHA512_224,
145
+ hashes.SHA512_256,
146
+ ),
147
+ )
136
148
  return self.hash_supported(algorithm)
137
149
 
138
150
  def cipher_supported(self, cipher: CipherAlgorithm, mode: Mode) -> bool:
@@ -169,14 +181,17 @@ class Backend:
169
181
  if isinstance(padding, PKCS1v15):
170
182
  return True
171
183
  elif isinstance(padding, PSS) and isinstance(padding._mgf, MGF1):
172
- # SHA1 is permissible in MGF1 in FIPS even when SHA1 is blocked
173
- # as signature algorithm.
174
- if self._fips_enabled and isinstance(
175
- padding._mgf._algorithm, hashes.SHA1
184
+ # FIPS 186-4 only allows salt length == digest length for PSS
185
+ # It is technically acceptable to set an explicit salt length
186
+ # equal to the digest length and this will incorrectly fail, but
187
+ # since we don't do that in the tests and this method is
188
+ # private, we'll ignore that until we need to do otherwise.
189
+ if (
190
+ self._fips_enabled
191
+ and padding._salt_length != PSS.DIGEST_LENGTH
176
192
  ):
177
- return True
178
- else:
179
- return self.hash_supported(padding._mgf._algorithm)
193
+ return False
194
+ return self.hash_supported(padding._mgf._algorithm)
180
195
  elif isinstance(padding, OAEP) and isinstance(padding._mgf, MGF1):
181
196
  return self._oaep_hash_supported(
182
197
  padding._mgf._algorithm
@@ -236,7 +251,10 @@ class Backend:
236
251
  )
237
252
 
238
253
  def dh_supported(self) -> bool:
239
- return not rust_openssl.CRYPTOGRAPHY_IS_BORINGSSL
254
+ return (
255
+ not rust_openssl.CRYPTOGRAPHY_IS_BORINGSSL
256
+ and not rust_openssl.CRYPTOGRAPHY_IS_AWSLC
257
+ )
240
258
 
241
259
  def dh_x942_serialization_supported(self) -> bool:
242
260
  return self._lib.Cryptography_HAS_EVP_PKEY_DHX == 1
@@ -252,6 +270,7 @@ class Backend:
252
270
  return (
253
271
  not rust_openssl.CRYPTOGRAPHY_IS_LIBRESSL
254
272
  and not rust_openssl.CRYPTOGRAPHY_IS_BORINGSSL
273
+ and not rust_openssl.CRYPTOGRAPHY_IS_AWSLC
255
274
  )
256
275
 
257
276
  def ed25519_supported(self) -> bool:
@@ -265,6 +284,7 @@ class Backend:
265
284
  return (
266
285
  not rust_openssl.CRYPTOGRAPHY_IS_LIBRESSL
267
286
  and not rust_openssl.CRYPTOGRAPHY_IS_BORINGSSL
287
+ and not rust_openssl.CRYPTOGRAPHY_IS_AWSLC
268
288
  )
269
289
 
270
290
  def ecdsa_deterministic_supported(self) -> bool:
@@ -279,7 +299,10 @@ class Backend:
279
299
  return True
280
300
 
281
301
  def pkcs7_supported(self) -> bool:
282
- return not rust_openssl.CRYPTOGRAPHY_IS_BORINGSSL
302
+ return (
303
+ not rust_openssl.CRYPTOGRAPHY_IS_BORINGSSL
304
+ and not rust_openssl.CRYPTOGRAPHY_IS_AWSLC
305
+ )
283
306
 
284
307
 
285
308
  backend = Backend()
@@ -0,0 +1,37 @@
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+ import typing
6
+
7
+ from cryptography.hazmat.primitives import padding
8
+ from cryptography.utils import Buffer
9
+
10
+ class PKCS7PaddingContext(padding.PaddingContext):
11
+ def __init__(self, block_size: int) -> None: ...
12
+ def update(self, data: Buffer) -> bytes: ...
13
+ def finalize(self) -> bytes: ...
14
+
15
+ class ANSIX923PaddingContext(padding.PaddingContext):
16
+ def __init__(self, block_size: int) -> None: ...
17
+ def update(self, data: Buffer) -> bytes: ...
18
+ def finalize(self) -> bytes: ...
19
+
20
+ class PKCS7UnpaddingContext(padding.PaddingContext):
21
+ def __init__(self, block_size: int) -> None: ...
22
+ def update(self, data: Buffer) -> bytes: ...
23
+ def finalize(self) -> bytes: ...
24
+
25
+ class ANSIX923UnpaddingContext(padding.PaddingContext):
26
+ def __init__(self, block_size: int) -> None: ...
27
+ def update(self, data: Buffer) -> bytes: ...
28
+ def finalize(self) -> bytes: ...
29
+
30
+ class ObjectIdentifier:
31
+ def __init__(self, value: str) -> None: ...
32
+ @property
33
+ def dotted_string(self) -> str: ...
34
+ @property
35
+ def _name(self) -> str: ...
36
+
37
+ T = typing.TypeVar("T")
@@ -0,0 +1,8 @@
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+ import typing
6
+
7
+ lib = typing.Any
8
+ ffi = typing.Any
@@ -0,0 +1,7 @@
1
+ # This file is dual licensed under the terms of the Apache License, Version
2
+ # 2.0, and the BSD License. See the LICENSE file in the root of this repository
3
+ # for complete details.
4
+
5
+ def decode_dss_signature(signature: bytes) -> tuple[int, int]: ...
6
+ def encode_dss_signature(r: int, s: int) -> bytes: ...
7
+ def parse_spki_for_data(data: bytes) -> bytes: ...