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.
- py2docfx/convert_prepare/environment.py +1 -3
- py2docfx/convert_prepare/get_source.py +1 -6
- py2docfx/convert_prepare/package_info.py +1 -1
- py2docfx/docfx_yaml/miss_reference.py +1 -1
- py2docfx/docfx_yaml/parameter_utils.py +58 -6
- py2docfx/docfx_yaml/tests/roots/test-translator-typing/code_with_typing.py +14 -0
- py2docfx/docfx_yaml/tests/roots/test-translator-typing/conf.py +18 -0
- py2docfx/docfx_yaml/tests/test_translator_typing.py +39 -0
- py2docfx/docfx_yaml/utils.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/certifi/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/certifi/core.py +1 -32
- py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
- py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/constant.py +17 -0
- py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/legacy.py +1 -3
- py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/md.py +19 -14
- py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/utils.py +6 -0
- py2docfx/venv/basevenv/Lib/site-packages/charset_normalizer/version.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +1 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_parser.py +1 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_tokenizer.py +5 -4
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +53 -22
- py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +1 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +1 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +39 -0
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +6 -7
- py2docfx/venv/basevenv/Lib/site-packages/pygments/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/_sql_builtins.py +106 -0
- py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/scripting.py +5 -3
- py2docfx/venv/basevenv/Lib/site-packages/pygments/lexers/sql.py +24 -118
- py2docfx/venv/basevenv/Lib/site-packages/requests/__version__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/requests/compat.py +12 -0
- py2docfx/venv/basevenv/Lib/site-packages/requests/models.py +3 -1
- py2docfx/venv/basevenv/Lib/site-packages/requests/utils.py +6 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +0 -38
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_discovery.py +33 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_entry_points.py +4 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +0 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +12 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_scripts.py +361 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +6 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +25 -37
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +29 -28
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +39 -179
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +0 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +3 -55
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/compat/py310.py +11 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +10 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +34 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/contexts.py +0 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +49 -24
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/__init__.py +6 -0
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/arabic_stemmer.py +798 -797
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/armenian_stemmer.py +212 -213
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basestemmer.py +20 -54
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/basque_stemmer.py +202 -228
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/catalan_stemmer.py +370 -375
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/danish_stemmer.py +63 -61
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_porter_stemmer.py +466 -0
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/dutch_stemmer.py +1217 -343
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/english_stemmer.py +295 -264
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/esperanto_stemmer.py +588 -0
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/estonian_stemmer.py +850 -0
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/finnish_stemmer.py +144 -143
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/french_stemmer.py +308 -246
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/german_stemmer.py +224 -167
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/greek_stemmer.py +1314 -1313
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hindi_stemmer.py +39 -38
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/hungarian_stemmer.py +231 -256
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/indonesian_stemmer.py +61 -64
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/irish_stemmer.py +101 -106
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/italian_stemmer.py +272 -272
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/lithuanian_stemmer.py +233 -240
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/nepali_stemmer.py +108 -134
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/norwegian_stemmer.py +108 -63
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/porter_stemmer.py +101 -108
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/portuguese_stemmer.py +241 -250
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/romanian_stemmer.py +332 -296
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/russian_stemmer.py +178 -179
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/serbian_stemmer.py +2331 -2332
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/spanish_stemmer.py +254 -259
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/swedish_stemmer.py +143 -70
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/tamil_stemmer.py +638 -1491
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/turkish_stemmer.py +326 -292
- py2docfx/venv/basevenv/Lib/site-packages/snowballstemmer/yiddish_stemmer.py +245 -246
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/_version.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/connection.py +87 -38
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/poolmanager.py +17 -1
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/response.py +53 -24
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/request.py +12 -4
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/opentelemetry.py +13 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_constants.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/default.py +23 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/environment.py +12 -16
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/service_fabric.py +22 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/user_password.py +10 -6
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/vscode.py +13 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/auth_code_redirect_handler.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_internal/msal_client.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_persistent_cache.py +3 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azd_cli.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_cli.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/azure_powershell.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/chained.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/default.py +22 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/environment.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/service_fabric.py +17 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/vscode.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/certifi/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/certifi/core.py +1 -32
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/cli/__main__.py +62 -2
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/constant.py +17 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/legacy.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/md.py +19 -14
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/utils.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/__about__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/__init__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/fernet.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/_oid.py +35 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/backends/openssl/backend.py +33 -10
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi +14 -5
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi +2 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +3 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +49 -45
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ciphers.pyi +2 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +10 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +3 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +8 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +3 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +6 -4
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +9 -3
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +7 -6
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +79 -12
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py +9 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/openssl/binding.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/decrepit/ciphers/algorithms.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_cipheralgorithm.py +4 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/_serialization.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dh.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/dsa.py +16 -3
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ec.py +47 -3
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed25519.py +16 -3
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py +16 -3
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py +14 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py +14 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py +14 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/base.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/ciphers/modes.py +18 -18
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/hashes.py +5 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/hkdf.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.py +7 -4
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/padding.py +7 -121
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/__init__.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs12.py +21 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/pkcs7.py +48 -6
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/serialization/ssh.py +68 -18
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py +3 -2
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/primitives/twofactor/totp.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/cryptography/utils.py +15 -3
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/__init__.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/base.py +39 -6
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/extensions.py +100 -49
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/name.py +27 -15
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/ocsp.py +60 -25
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/oid.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/x509/verification.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/bidi.py +17 -4
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_info.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/gapic_v1/client_info.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_base.py +13 -4
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_streaming_async.py +8 -5
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/retry/retry_unary_async.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +2 -36
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_helpers.py +240 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/_helpers.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/aio/transport/aiohttp.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +5 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/credentials.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/identity_pool.py +91 -2
- py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +75 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/__init__.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_aiohttp_requests.py +8 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_http_client.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/urllib3.py +15 -5
- py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/webauthn_types.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any.py +15 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor.py +15 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +258 -113
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pool.py +22 -8
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +106 -23
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/field_mask.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +21 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +8 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +60 -43
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +16 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +11 -7
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.py +29 -23
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/error_details_pb2.pyi +41 -2
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/individual_cache.py +9 -5
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/throttled_http_client.py +58 -30
- py2docfx/venv/venv1/Lib/site-packages/opencensus/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/__init__.py +138 -138
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/exporter.py +93 -93
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/processor.py +63 -63
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/protocol.py +206 -206
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/storage.py +205 -205
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/transport.py +355 -355
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/utils.py +79 -79
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/common/version.py +15 -15
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/log_exporter/__init__.py +314 -314
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/__init__.py +190 -190
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/__init__.py +62 -62
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/cpu.py +50 -50
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/http_requests.py +176 -176
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/memory.py +42 -42
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/metrics_exporter/standard_metrics/process.py +87 -87
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/state.py +50 -50
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat.py +100 -100
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/statsbeat/statsbeat_metrics.py +480 -480
- py2docfx/venv/venv1/Lib/site-packages/opencensus/ext/azure/trace_exporter/__init__.py +236 -236
- py2docfx/venv/venv1/Lib/site-packages/packaging/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/packaging/_elffile.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/packaging/_manylinux.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/packaging/_parser.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/packaging/_tokenizer.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/packaging/markers.py +53 -22
- py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/packaging/specifiers.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/packaging/tags.py +39 -0
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +6 -7
- py2docfx/venv/venv1/Lib/site-packages/requests/__version__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/requests/compat.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/requests/models.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/requests/utils.py +6 -16
- py2docfx/venv/venv1/Lib/site-packages/rsa/__init__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/rsa/asn1.py +52 -52
- py2docfx/venv/venv1/Lib/site-packages/rsa/cli.py +321 -321
- py2docfx/venv/venv1/Lib/site-packages/rsa/common.py +184 -184
- py2docfx/venv/venv1/Lib/site-packages/rsa/core.py +53 -53
- py2docfx/venv/venv1/Lib/site-packages/rsa/key.py +858 -858
- py2docfx/venv/venv1/Lib/site-packages/rsa/parallel.py +96 -96
- py2docfx/venv/venv1/Lib/site-packages/rsa/pem.py +134 -134
- py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1.py +485 -485
- py2docfx/venv/venv1/Lib/site-packages/rsa/pkcs1_v2.py +100 -100
- py2docfx/venv/venv1/Lib/site-packages/rsa/prime.py +198 -198
- py2docfx/venv/venv1/Lib/site-packages/rsa/py.typed +1 -1
- py2docfx/venv/venv1/Lib/site-packages/rsa/randnum.py +95 -95
- py2docfx/venv/venv1/Lib/site-packages/rsa/transform.py +72 -72
- py2docfx/venv/venv1/Lib/site-packages/rsa/util.py +97 -97
- py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +0 -38
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_discovery.py +33 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_unix.py +63 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +5 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_entry_points.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +12 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_scripts.py +361 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +25 -37
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +9 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +29 -28
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +39 -179
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +17 -2352
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +14 -31
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +3 -55
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +5 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/compat/py310.py +11 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +10 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +34 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/contexts.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/fixtures.py +235 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pbr.py +20 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_develop.py +1 -64
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +15 -41
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +3 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_scripts.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +12 -36
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +49 -24
- py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +357 -703
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/urllib3/connection.py +87 -38
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/emscripten/fetch.py +20 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +17 -1
- py2docfx/venv/venv1/Lib/site-packages/urllib3/response.py +53 -24
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/request.py +12 -4
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +1 -1
- {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/METADATA +1 -1
- {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/RECORD +374 -372
- {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/WHEEL +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +0 -1137
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +0 -536
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/server.py +0 -86
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/_credentials/application.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/aio/_credentials/application.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +0 -1137
- py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +0 -536
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/server.py +0 -86
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +0 -1476
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +0 -267
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sandbox.py +0 -134
- {py2docfx-0.1.16.dev2064350.dist-info → py2docfx-0.1.17.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,7 @@ import datetime
|
|
9
9
|
import os
|
10
10
|
import typing
|
11
11
|
import warnings
|
12
|
+
from collections.abc import Iterable
|
12
13
|
|
13
14
|
from cryptography import utils
|
14
15
|
from cryptography.hazmat.bindings._rust import x509 as rust_x509
|
@@ -131,7 +132,7 @@ class Attribute:
|
|
131
132
|
class Attributes:
|
132
133
|
def __init__(
|
133
134
|
self,
|
134
|
-
attributes:
|
135
|
+
attributes: Iterable[Attribute],
|
135
136
|
) -> None:
|
136
137
|
self._attributes = list(attributes)
|
137
138
|
|
@@ -330,6 +331,7 @@ class CertificateSigningRequestBuilder:
|
|
330
331
|
backend: typing.Any = None,
|
331
332
|
*,
|
332
333
|
rsa_padding: padding.PSS | padding.PKCS1v15 | None = None,
|
334
|
+
ecdsa_deterministic: bool | None = None,
|
333
335
|
) -> CertificateSigningRequest:
|
334
336
|
"""
|
335
337
|
Signs the request using the requestor's private key.
|
@@ -343,8 +345,18 @@ class CertificateSigningRequestBuilder:
|
|
343
345
|
if not isinstance(private_key, rsa.RSAPrivateKey):
|
344
346
|
raise TypeError("Padding is only supported for RSA keys")
|
345
347
|
|
348
|
+
if ecdsa_deterministic is not None:
|
349
|
+
if not isinstance(private_key, ec.EllipticCurvePrivateKey):
|
350
|
+
raise TypeError(
|
351
|
+
"Deterministic ECDSA is only supported for EC keys"
|
352
|
+
)
|
353
|
+
|
346
354
|
return rust_x509.create_x509_csr(
|
347
|
-
self,
|
355
|
+
self,
|
356
|
+
private_key,
|
357
|
+
algorithm,
|
358
|
+
rsa_padding,
|
359
|
+
ecdsa_deterministic,
|
348
360
|
)
|
349
361
|
|
350
362
|
|
@@ -510,8 +522,7 @@ class CertificateBuilder:
|
|
510
522
|
time = _convert_to_naive_utc_time(time)
|
511
523
|
if time < _EARLIEST_UTC_TIME:
|
512
524
|
raise ValueError(
|
513
|
-
"The not valid after date must be on or after"
|
514
|
-
" 1950 January 1."
|
525
|
+
"The not valid after date must be on or after 1950 January 1."
|
515
526
|
)
|
516
527
|
if (
|
517
528
|
self._not_valid_before is not None
|
@@ -560,6 +571,7 @@ class CertificateBuilder:
|
|
560
571
|
backend: typing.Any = None,
|
561
572
|
*,
|
562
573
|
rsa_padding: padding.PSS | padding.PKCS1v15 | None = None,
|
574
|
+
ecdsa_deterministic: bool | None = None,
|
563
575
|
) -> Certificate:
|
564
576
|
"""
|
565
577
|
Signs the certificate using the CA's private key.
|
@@ -588,8 +600,18 @@ class CertificateBuilder:
|
|
588
600
|
if not isinstance(private_key, rsa.RSAPrivateKey):
|
589
601
|
raise TypeError("Padding is only supported for RSA keys")
|
590
602
|
|
603
|
+
if ecdsa_deterministic is not None:
|
604
|
+
if not isinstance(private_key, ec.EllipticCurvePrivateKey):
|
605
|
+
raise TypeError(
|
606
|
+
"Deterministic ECDSA is only supported for EC keys"
|
607
|
+
)
|
608
|
+
|
591
609
|
return rust_x509.create_x509_certificate(
|
592
|
-
self,
|
610
|
+
self,
|
611
|
+
private_key,
|
612
|
+
algorithm,
|
613
|
+
rsa_padding,
|
614
|
+
ecdsa_deterministic,
|
593
615
|
)
|
594
616
|
|
595
617
|
|
@@ -717,6 +739,7 @@ class CertificateRevocationListBuilder:
|
|
717
739
|
backend: typing.Any = None,
|
718
740
|
*,
|
719
741
|
rsa_padding: padding.PSS | padding.PKCS1v15 | None = None,
|
742
|
+
ecdsa_deterministic: bool | None = None,
|
720
743
|
) -> CertificateRevocationList:
|
721
744
|
if self._issuer_name is None:
|
722
745
|
raise ValueError("A CRL must have an issuer name")
|
@@ -733,8 +756,18 @@ class CertificateRevocationListBuilder:
|
|
733
756
|
if not isinstance(private_key, rsa.RSAPrivateKey):
|
734
757
|
raise TypeError("Padding is only supported for RSA keys")
|
735
758
|
|
759
|
+
if ecdsa_deterministic is not None:
|
760
|
+
if not isinstance(private_key, ec.EllipticCurvePrivateKey):
|
761
|
+
raise TypeError(
|
762
|
+
"Deterministic ECDSA is only supported for EC keys"
|
763
|
+
)
|
764
|
+
|
736
765
|
return rust_x509.create_x509_crl(
|
737
|
-
self,
|
766
|
+
self,
|
767
|
+
private_key,
|
768
|
+
algorithm,
|
769
|
+
rsa_padding,
|
770
|
+
ecdsa_deterministic,
|
738
771
|
)
|
739
772
|
|
740
773
|
|
@@ -9,6 +9,7 @@ import datetime
|
|
9
9
|
import hashlib
|
10
10
|
import ipaddress
|
11
11
|
import typing
|
12
|
+
from collections.abc import Iterable, Iterator
|
12
13
|
|
13
14
|
from cryptography import utils
|
14
15
|
from cryptography.hazmat.bindings._rust import asn1
|
@@ -109,9 +110,7 @@ class ExtensionType(metaclass=abc.ABCMeta):
|
|
109
110
|
|
110
111
|
|
111
112
|
class Extensions:
|
112
|
-
def __init__(
|
113
|
-
self, extensions: typing.Iterable[Extension[ExtensionType]]
|
114
|
-
) -> None:
|
113
|
+
def __init__(self, extensions: Iterable[Extension[ExtensionType]]) -> None:
|
115
114
|
self._extensions = list(extensions)
|
116
115
|
|
117
116
|
def get_extension_for_oid(
|
@@ -182,7 +181,7 @@ class AuthorityKeyIdentifier(ExtensionType):
|
|
182
181
|
def __init__(
|
183
182
|
self,
|
184
183
|
key_identifier: bytes | None,
|
185
|
-
authority_cert_issuer:
|
184
|
+
authority_cert_issuer: Iterable[GeneralName] | None,
|
186
185
|
authority_cert_serial_number: int | None,
|
187
186
|
) -> None:
|
188
187
|
if (authority_cert_issuer is None) != (
|
@@ -323,9 +322,7 @@ class SubjectKeyIdentifier(ExtensionType):
|
|
323
322
|
class AuthorityInformationAccess(ExtensionType):
|
324
323
|
oid = ExtensionOID.AUTHORITY_INFORMATION_ACCESS
|
325
324
|
|
326
|
-
def __init__(
|
327
|
-
self, descriptions: typing.Iterable[AccessDescription]
|
328
|
-
) -> None:
|
325
|
+
def __init__(self, descriptions: Iterable[AccessDescription]) -> None:
|
329
326
|
descriptions = list(descriptions)
|
330
327
|
if not all(isinstance(x, AccessDescription) for x in descriptions):
|
331
328
|
raise TypeError(
|
@@ -356,9 +353,7 @@ class AuthorityInformationAccess(ExtensionType):
|
|
356
353
|
class SubjectInformationAccess(ExtensionType):
|
357
354
|
oid = ExtensionOID.SUBJECT_INFORMATION_ACCESS
|
358
355
|
|
359
|
-
def __init__(
|
360
|
-
self, descriptions: typing.Iterable[AccessDescription]
|
361
|
-
) -> None:
|
356
|
+
def __init__(self, descriptions: Iterable[AccessDescription]) -> None:
|
362
357
|
descriptions = list(descriptions)
|
363
358
|
if not all(isinstance(x, AccessDescription) for x in descriptions):
|
364
359
|
raise TypeError(
|
@@ -456,8 +451,7 @@ class BasicConstraints(ExtensionType):
|
|
456
451
|
|
457
452
|
def __repr__(self) -> str:
|
458
453
|
return (
|
459
|
-
f"<BasicConstraints(ca={self.ca}, "
|
460
|
-
f"path_length={self.path_length})>"
|
454
|
+
f"<BasicConstraints(ca={self.ca}, path_length={self.path_length})>"
|
461
455
|
)
|
462
456
|
|
463
457
|
def __eq__(self, other: object) -> bool:
|
@@ -506,7 +500,7 @@ class CRLDistributionPoints(ExtensionType):
|
|
506
500
|
oid = ExtensionOID.CRL_DISTRIBUTION_POINTS
|
507
501
|
|
508
502
|
def __init__(
|
509
|
-
self, distribution_points:
|
503
|
+
self, distribution_points: Iterable[DistributionPoint]
|
510
504
|
) -> None:
|
511
505
|
distribution_points = list(distribution_points)
|
512
506
|
if not all(
|
@@ -543,7 +537,7 @@ class FreshestCRL(ExtensionType):
|
|
543
537
|
oid = ExtensionOID.FRESHEST_CRL
|
544
538
|
|
545
539
|
def __init__(
|
546
|
-
self, distribution_points:
|
540
|
+
self, distribution_points: Iterable[DistributionPoint]
|
547
541
|
) -> None:
|
548
542
|
distribution_points = list(distribution_points)
|
549
543
|
if not all(
|
@@ -579,10 +573,10 @@ class FreshestCRL(ExtensionType):
|
|
579
573
|
class DistributionPoint:
|
580
574
|
def __init__(
|
581
575
|
self,
|
582
|
-
full_name:
|
576
|
+
full_name: Iterable[GeneralName] | None,
|
583
577
|
relative_name: RelativeDistinguishedName | None,
|
584
578
|
reasons: frozenset[ReasonFlags] | None,
|
585
|
-
crl_issuer:
|
579
|
+
crl_issuer: Iterable[GeneralName] | None,
|
586
580
|
) -> None:
|
587
581
|
if full_name and relative_name:
|
588
582
|
raise ValueError(
|
@@ -824,12 +818,11 @@ class PolicyConstraints(ExtensionType):
|
|
824
818
|
class CertificatePolicies(ExtensionType):
|
825
819
|
oid = ExtensionOID.CERTIFICATE_POLICIES
|
826
820
|
|
827
|
-
def __init__(self, policies:
|
821
|
+
def __init__(self, policies: Iterable[PolicyInformation]) -> None:
|
828
822
|
policies = list(policies)
|
829
823
|
if not all(isinstance(x, PolicyInformation) for x in policies):
|
830
824
|
raise TypeError(
|
831
|
-
"Every item in the policies list must be a "
|
832
|
-
"PolicyInformation"
|
825
|
+
"Every item in the policies list must be a PolicyInformation"
|
833
826
|
)
|
834
827
|
|
835
828
|
self._policies = policies
|
@@ -856,7 +849,7 @@ class PolicyInformation:
|
|
856
849
|
def __init__(
|
857
850
|
self,
|
858
851
|
policy_identifier: ObjectIdentifier,
|
859
|
-
policy_qualifiers:
|
852
|
+
policy_qualifiers: Iterable[str | UserNotice] | None,
|
860
853
|
) -> None:
|
861
854
|
if not isinstance(policy_identifier, ObjectIdentifier):
|
862
855
|
raise TypeError("policy_identifier must be an ObjectIdentifier")
|
@@ -956,7 +949,7 @@ class NoticeReference:
|
|
956
949
|
def __init__(
|
957
950
|
self,
|
958
951
|
organization: str | None,
|
959
|
-
notice_numbers:
|
952
|
+
notice_numbers: Iterable[int],
|
960
953
|
) -> None:
|
961
954
|
self._organization = organization
|
962
955
|
notice_numbers = list(notice_numbers)
|
@@ -995,7 +988,7 @@ class NoticeReference:
|
|
995
988
|
class ExtendedKeyUsage(ExtensionType):
|
996
989
|
oid = ExtensionOID.EXTENDED_KEY_USAGE
|
997
990
|
|
998
|
-
def __init__(self, usages:
|
991
|
+
def __init__(self, usages: Iterable[ObjectIdentifier]) -> None:
|
999
992
|
usages = list(usages)
|
1000
993
|
if not all(isinstance(x, ObjectIdentifier) for x in usages):
|
1001
994
|
raise TypeError(
|
@@ -1063,7 +1056,7 @@ class PrecertPoison(ExtensionType):
|
|
1063
1056
|
class TLSFeature(ExtensionType):
|
1064
1057
|
oid = ExtensionOID.TLS_FEATURE
|
1065
1058
|
|
1066
|
-
def __init__(self, features:
|
1059
|
+
def __init__(self, features: Iterable[TLSFeatureType]) -> None:
|
1067
1060
|
features = list(features)
|
1068
1061
|
if (
|
1069
1062
|
not all(isinstance(x, TLSFeatureType) for x in features)
|
@@ -1273,13 +1266,78 @@ class KeyUsage(ExtensionType):
|
|
1273
1266
|
return rust_x509.encode_extension_value(self)
|
1274
1267
|
|
1275
1268
|
|
1269
|
+
class PrivateKeyUsagePeriod(ExtensionType):
|
1270
|
+
oid = ExtensionOID.PRIVATE_KEY_USAGE_PERIOD
|
1271
|
+
|
1272
|
+
def __init__(
|
1273
|
+
self,
|
1274
|
+
not_before: datetime.datetime | None,
|
1275
|
+
not_after: datetime.datetime | None,
|
1276
|
+
) -> None:
|
1277
|
+
if (
|
1278
|
+
not isinstance(not_before, datetime.datetime)
|
1279
|
+
and not_before is not None
|
1280
|
+
):
|
1281
|
+
raise TypeError("not_before must be a datetime.datetime or None")
|
1282
|
+
|
1283
|
+
if (
|
1284
|
+
not isinstance(not_after, datetime.datetime)
|
1285
|
+
and not_after is not None
|
1286
|
+
):
|
1287
|
+
raise TypeError("not_after must be a datetime.datetime or None")
|
1288
|
+
|
1289
|
+
if not_before is None and not_after is None:
|
1290
|
+
raise ValueError(
|
1291
|
+
"At least one of not_before and not_after must not be None"
|
1292
|
+
)
|
1293
|
+
|
1294
|
+
if (
|
1295
|
+
not_before is not None
|
1296
|
+
and not_after is not None
|
1297
|
+
and not_before > not_after
|
1298
|
+
):
|
1299
|
+
raise ValueError("not_before must be before not_after")
|
1300
|
+
|
1301
|
+
self._not_before = not_before
|
1302
|
+
self._not_after = not_after
|
1303
|
+
|
1304
|
+
@property
|
1305
|
+
def not_before(self) -> datetime.datetime | None:
|
1306
|
+
return self._not_before
|
1307
|
+
|
1308
|
+
@property
|
1309
|
+
def not_after(self) -> datetime.datetime | None:
|
1310
|
+
return self._not_after
|
1311
|
+
|
1312
|
+
def __repr__(self) -> str:
|
1313
|
+
return (
|
1314
|
+
f"<PrivateKeyUsagePeriod(not_before={self.not_before}, "
|
1315
|
+
f"not_after={self.not_after})>"
|
1316
|
+
)
|
1317
|
+
|
1318
|
+
def __eq__(self, other: object) -> bool:
|
1319
|
+
if not isinstance(other, PrivateKeyUsagePeriod):
|
1320
|
+
return NotImplemented
|
1321
|
+
|
1322
|
+
return (
|
1323
|
+
self.not_before == other.not_before
|
1324
|
+
and self.not_after == other.not_after
|
1325
|
+
)
|
1326
|
+
|
1327
|
+
def __hash__(self) -> int:
|
1328
|
+
return hash((self.not_before, self.not_after))
|
1329
|
+
|
1330
|
+
def public_bytes(self) -> bytes:
|
1331
|
+
return rust_x509.encode_extension_value(self)
|
1332
|
+
|
1333
|
+
|
1276
1334
|
class NameConstraints(ExtensionType):
|
1277
1335
|
oid = ExtensionOID.NAME_CONSTRAINTS
|
1278
1336
|
|
1279
1337
|
def __init__(
|
1280
1338
|
self,
|
1281
|
-
permitted_subtrees:
|
1282
|
-
excluded_subtrees:
|
1339
|
+
permitted_subtrees: Iterable[GeneralName] | None,
|
1340
|
+
excluded_subtrees: Iterable[GeneralName] | None,
|
1283
1341
|
) -> None:
|
1284
1342
|
if permitted_subtrees is not None:
|
1285
1343
|
permitted_subtrees = list(permitted_subtrees)
|
@@ -1327,11 +1385,11 @@ class NameConstraints(ExtensionType):
|
|
1327
1385
|
and self.permitted_subtrees == other.permitted_subtrees
|
1328
1386
|
)
|
1329
1387
|
|
1330
|
-
def _validate_tree(self, tree:
|
1388
|
+
def _validate_tree(self, tree: Iterable[GeneralName]) -> None:
|
1331
1389
|
self._validate_ip_name(tree)
|
1332
1390
|
self._validate_dns_name(tree)
|
1333
1391
|
|
1334
|
-
def _validate_ip_name(self, tree:
|
1392
|
+
def _validate_ip_name(self, tree: Iterable[GeneralName]) -> None:
|
1335
1393
|
if any(
|
1336
1394
|
isinstance(name, IPAddress)
|
1337
1395
|
and not isinstance(
|
@@ -1344,7 +1402,7 @@ class NameConstraints(ExtensionType):
|
|
1344
1402
|
" IPv6Network object"
|
1345
1403
|
)
|
1346
1404
|
|
1347
|
-
def _validate_dns_name(self, tree:
|
1405
|
+
def _validate_dns_name(self, tree: Iterable[GeneralName]) -> None:
|
1348
1406
|
if any(
|
1349
1407
|
isinstance(name, DNSName) and "*" in name.value for name in tree
|
1350
1408
|
):
|
@@ -1437,7 +1495,7 @@ class Extension(typing.Generic[ExtensionTypeVar]):
|
|
1437
1495
|
|
1438
1496
|
|
1439
1497
|
class GeneralNames:
|
1440
|
-
def __init__(self, general_names:
|
1498
|
+
def __init__(self, general_names: Iterable[GeneralName]) -> None:
|
1441
1499
|
general_names = list(general_names)
|
1442
1500
|
if not all(isinstance(x, GeneralName) for x in general_names):
|
1443
1501
|
raise TypeError(
|
@@ -1519,7 +1577,7 @@ class GeneralNames:
|
|
1519
1577
|
class SubjectAlternativeName(ExtensionType):
|
1520
1578
|
oid = ExtensionOID.SUBJECT_ALTERNATIVE_NAME
|
1521
1579
|
|
1522
|
-
def __init__(self, general_names:
|
1580
|
+
def __init__(self, general_names: Iterable[GeneralName]) -> None:
|
1523
1581
|
self._general_names = GeneralNames(general_names)
|
1524
1582
|
|
1525
1583
|
__len__, __iter__, __getitem__ = _make_sequence_methods("_general_names")
|
@@ -1591,7 +1649,7 @@ class SubjectAlternativeName(ExtensionType):
|
|
1591
1649
|
class IssuerAlternativeName(ExtensionType):
|
1592
1650
|
oid = ExtensionOID.ISSUER_ALTERNATIVE_NAME
|
1593
1651
|
|
1594
|
-
def __init__(self, general_names:
|
1652
|
+
def __init__(self, general_names: Iterable[GeneralName]) -> None:
|
1595
1653
|
self._general_names = GeneralNames(general_names)
|
1596
1654
|
|
1597
1655
|
__len__, __iter__, __getitem__ = _make_sequence_methods("_general_names")
|
@@ -1663,7 +1721,7 @@ class IssuerAlternativeName(ExtensionType):
|
|
1663
1721
|
class CertificateIssuer(ExtensionType):
|
1664
1722
|
oid = CRLEntryExtensionOID.CERTIFICATE_ISSUER
|
1665
1723
|
|
1666
|
-
def __init__(self, general_names:
|
1724
|
+
def __init__(self, general_names: Iterable[GeneralName]) -> None:
|
1667
1725
|
self._general_names = GeneralNames(general_names)
|
1668
1726
|
|
1669
1727
|
__len__, __iter__, __getitem__ = _make_sequence_methods("_general_names")
|
@@ -1802,9 +1860,7 @@ class PrecertificateSignedCertificateTimestamps(ExtensionType):
|
|
1802
1860
|
|
1803
1861
|
def __init__(
|
1804
1862
|
self,
|
1805
|
-
signed_certificate_timestamps:
|
1806
|
-
SignedCertificateTimestamp
|
1807
|
-
],
|
1863
|
+
signed_certificate_timestamps: Iterable[SignedCertificateTimestamp],
|
1808
1864
|
) -> None:
|
1809
1865
|
signed_certificate_timestamps = list(signed_certificate_timestamps)
|
1810
1866
|
if not all(
|
@@ -1845,9 +1901,7 @@ class SignedCertificateTimestamps(ExtensionType):
|
|
1845
1901
|
|
1846
1902
|
def __init__(
|
1847
1903
|
self,
|
1848
|
-
signed_certificate_timestamps:
|
1849
|
-
SignedCertificateTimestamp
|
1850
|
-
],
|
1904
|
+
signed_certificate_timestamps: Iterable[SignedCertificateTimestamp],
|
1851
1905
|
) -> None:
|
1852
1906
|
signed_certificate_timestamps = list(signed_certificate_timestamps)
|
1853
1907
|
if not all(
|
@@ -1915,7 +1969,7 @@ class OCSPNonce(ExtensionType):
|
|
1915
1969
|
class OCSPAcceptableResponses(ExtensionType):
|
1916
1970
|
oid = OCSPExtensionOID.ACCEPTABLE_RESPONSES
|
1917
1971
|
|
1918
|
-
def __init__(self, responses:
|
1972
|
+
def __init__(self, responses: Iterable[ObjectIdentifier]) -> None:
|
1919
1973
|
responses = list(responses)
|
1920
1974
|
if any(not isinstance(r, ObjectIdentifier) for r in responses):
|
1921
1975
|
raise TypeError("All responses must be ObjectIdentifiers")
|
@@ -1934,7 +1988,7 @@ class OCSPAcceptableResponses(ExtensionType):
|
|
1934
1988
|
def __repr__(self) -> str:
|
1935
1989
|
return f"<OCSPAcceptableResponses(responses={self._responses})>"
|
1936
1990
|
|
1937
|
-
def __iter__(self) ->
|
1991
|
+
def __iter__(self) -> Iterator[ObjectIdentifier]:
|
1938
1992
|
return iter(self._responses)
|
1939
1993
|
|
1940
1994
|
def public_bytes(self) -> bytes:
|
@@ -1946,7 +2000,7 @@ class IssuingDistributionPoint(ExtensionType):
|
|
1946
2000
|
|
1947
2001
|
def __init__(
|
1948
2002
|
self,
|
1949
|
-
full_name:
|
2003
|
+
full_name: Iterable[GeneralName] | None,
|
1950
2004
|
relative_name: RelativeDistinguishedName | None,
|
1951
2005
|
only_contains_user_certs: bool,
|
1952
2006
|
only_contains_ca_certs: bool,
|
@@ -2224,8 +2278,8 @@ class ProfessionInfo:
|
|
2224
2278
|
def __init__(
|
2225
2279
|
self,
|
2226
2280
|
naming_authority: NamingAuthority | None,
|
2227
|
-
profession_items:
|
2228
|
-
profession_oids:
|
2281
|
+
profession_items: Iterable[str],
|
2282
|
+
profession_oids: Iterable[ObjectIdentifier] | None,
|
2229
2283
|
registration_number: str | None,
|
2230
2284
|
add_profession_info: bytes | None,
|
2231
2285
|
) -> None:
|
@@ -2328,7 +2382,7 @@ class Admission:
|
|
2328
2382
|
self,
|
2329
2383
|
admission_authority: GeneralName | None,
|
2330
2384
|
naming_authority: NamingAuthority | None,
|
2331
|
-
profession_infos:
|
2385
|
+
profession_infos: Iterable[ProfessionInfo],
|
2332
2386
|
) -> None:
|
2333
2387
|
if admission_authority is not None and not isinstance(
|
2334
2388
|
admission_authority, GeneralName
|
@@ -2398,7 +2452,7 @@ class Admissions(ExtensionType):
|
|
2398
2452
|
def __init__(
|
2399
2453
|
self,
|
2400
2454
|
authority: GeneralName | None,
|
2401
|
-
admissions:
|
2455
|
+
admissions: Iterable[Admission],
|
2402
2456
|
) -> None:
|
2403
2457
|
if authority is not None and not isinstance(authority, GeneralName):
|
2404
2458
|
raise TypeError("authority must be a GeneralName")
|
@@ -2459,10 +2513,7 @@ class UnrecognizedExtension(ExtensionType):
|
|
2459
2513
|
return self._value
|
2460
2514
|
|
2461
2515
|
def __repr__(self) -> str:
|
2462
|
-
return (
|
2463
|
-
f"<UnrecognizedExtension(oid={self.oid}, "
|
2464
|
-
f"value={self.value!r})>"
|
2465
|
-
)
|
2516
|
+
return f"<UnrecognizedExtension(oid={self.oid}, value={self.value!r})>"
|
2466
2517
|
|
2467
2518
|
def __eq__(self, other: object) -> bool:
|
2468
2519
|
if not isinstance(other, UnrecognizedExtension):
|
@@ -9,6 +9,7 @@ import re
|
|
9
9
|
import sys
|
10
10
|
import typing
|
11
11
|
import warnings
|
12
|
+
from collections.abc import Iterable, Iterator
|
12
13
|
|
13
14
|
from cryptography import utils
|
14
15
|
from cryptography.hazmat.bindings._rust import x509 as rust_x509
|
@@ -114,11 +115,20 @@ def _unescape_dn_value(val: str) -> str:
|
|
114
115
|
return _RFC4514NameParser._PAIR_RE.sub(sub, val)
|
115
116
|
|
116
117
|
|
117
|
-
|
118
|
+
NameAttributeValueType = typing.TypeVar(
|
119
|
+
"NameAttributeValueType",
|
120
|
+
typing.Union[str, bytes],
|
121
|
+
str,
|
122
|
+
bytes,
|
123
|
+
covariant=True,
|
124
|
+
)
|
125
|
+
|
126
|
+
|
127
|
+
class NameAttribute(typing.Generic[NameAttributeValueType]):
|
118
128
|
def __init__(
|
119
129
|
self,
|
120
130
|
oid: ObjectIdentifier,
|
121
|
-
value:
|
131
|
+
value: NameAttributeValueType,
|
122
132
|
_type: _ASN1Type | None = None,
|
123
133
|
*,
|
124
134
|
_validate: bool = True,
|
@@ -166,15 +176,15 @@ class NameAttribute:
|
|
166
176
|
raise TypeError("_type must be from the _ASN1Type enum")
|
167
177
|
|
168
178
|
self._oid = oid
|
169
|
-
self._value = value
|
170
|
-
self._type = _type
|
179
|
+
self._value: NameAttributeValueType = value
|
180
|
+
self._type: _ASN1Type = _type
|
171
181
|
|
172
182
|
@property
|
173
183
|
def oid(self) -> ObjectIdentifier:
|
174
184
|
return self._oid
|
175
185
|
|
176
186
|
@property
|
177
|
-
def value(self) ->
|
187
|
+
def value(self) -> NameAttributeValueType:
|
178
188
|
return self._value
|
179
189
|
|
180
190
|
@property
|
@@ -216,7 +226,7 @@ class NameAttribute:
|
|
216
226
|
|
217
227
|
|
218
228
|
class RelativeDistinguishedName:
|
219
|
-
def __init__(self, attributes:
|
229
|
+
def __init__(self, attributes: Iterable[NameAttribute]):
|
220
230
|
attributes = list(attributes)
|
221
231
|
if not attributes:
|
222
232
|
raise ValueError("a relative distinguished name cannot be empty")
|
@@ -231,8 +241,9 @@ class RelativeDistinguishedName:
|
|
231
241
|
raise ValueError("duplicate attributes are not allowed")
|
232
242
|
|
233
243
|
def get_attributes_for_oid(
|
234
|
-
self,
|
235
|
-
|
244
|
+
self,
|
245
|
+
oid: ObjectIdentifier,
|
246
|
+
) -> list[NameAttribute[str | bytes]]:
|
236
247
|
return [i for i in self if i.oid == oid]
|
237
248
|
|
238
249
|
def rfc4514_string(
|
@@ -258,7 +269,7 @@ class RelativeDistinguishedName:
|
|
258
269
|
def __hash__(self) -> int:
|
259
270
|
return hash(self._attribute_set)
|
260
271
|
|
261
|
-
def __iter__(self) ->
|
272
|
+
def __iter__(self) -> Iterator[NameAttribute]:
|
262
273
|
return iter(self._attributes)
|
263
274
|
|
264
275
|
def __len__(self) -> int:
|
@@ -270,16 +281,16 @@ class RelativeDistinguishedName:
|
|
270
281
|
|
271
282
|
class Name:
|
272
283
|
@typing.overload
|
273
|
-
def __init__(self, attributes:
|
284
|
+
def __init__(self, attributes: Iterable[NameAttribute]) -> None: ...
|
274
285
|
|
275
286
|
@typing.overload
|
276
287
|
def __init__(
|
277
|
-
self, attributes:
|
288
|
+
self, attributes: Iterable[RelativeDistinguishedName]
|
278
289
|
) -> None: ...
|
279
290
|
|
280
291
|
def __init__(
|
281
292
|
self,
|
282
|
-
attributes:
|
293
|
+
attributes: Iterable[NameAttribute | RelativeDistinguishedName],
|
283
294
|
) -> None:
|
284
295
|
attributes = list(attributes)
|
285
296
|
if all(isinstance(x, NameAttribute) for x in attributes):
|
@@ -324,8 +335,9 @@ class Name:
|
|
324
335
|
)
|
325
336
|
|
326
337
|
def get_attributes_for_oid(
|
327
|
-
self,
|
328
|
-
|
338
|
+
self,
|
339
|
+
oid: ObjectIdentifier,
|
340
|
+
) -> list[NameAttribute[str | bytes]]:
|
329
341
|
return [i for i in self if i.oid == oid]
|
330
342
|
|
331
343
|
@property
|
@@ -346,7 +358,7 @@ class Name:
|
|
346
358
|
# for you, consider optimizing!
|
347
359
|
return hash(tuple(self._attributes))
|
348
360
|
|
349
|
-
def __iter__(self) ->
|
361
|
+
def __iter__(self) -> Iterator[NameAttribute]:
|
350
362
|
for rdn in self._attributes:
|
351
363
|
yield from rdn
|
352
364
|
|