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
@@ -1,267 +0,0 @@
|
|
1
|
-
import http.client
|
2
|
-
import re
|
3
|
-
import urllib.error
|
4
|
-
import urllib.request
|
5
|
-
from inspect import cleandoc
|
6
|
-
|
7
|
-
import pytest
|
8
|
-
|
9
|
-
import setuptools.package_index
|
10
|
-
|
11
|
-
import distutils.errors
|
12
|
-
|
13
|
-
|
14
|
-
class TestPackageIndex:
|
15
|
-
def test_regex(self):
|
16
|
-
hash_url = 'http://other_url?:action=show_md5&'
|
17
|
-
hash_url += 'digest=0123456789abcdef0123456789abcdef'
|
18
|
-
doc = """
|
19
|
-
<a href="http://some_url">Name</a>
|
20
|
-
(<a title="MD5 hash"
|
21
|
-
href="{hash_url}">md5</a>)
|
22
|
-
""".lstrip().format(**locals())
|
23
|
-
assert setuptools.package_index.PYPI_MD5.match(doc)
|
24
|
-
|
25
|
-
def test_bad_url_bad_port(self):
|
26
|
-
index = setuptools.package_index.PackageIndex()
|
27
|
-
url = 'http://127.0.0.1:0/nonesuch/test_package_index'
|
28
|
-
with pytest.raises(Exception, match=re.escape(url)):
|
29
|
-
v = index.open_url(url)
|
30
|
-
assert isinstance(v, urllib.error.HTTPError)
|
31
|
-
|
32
|
-
def test_bad_url_typo(self):
|
33
|
-
# issue 16
|
34
|
-
# easy_install inquant.contentmirror.plone breaks because of a typo
|
35
|
-
# in its home URL
|
36
|
-
index = setuptools.package_index.PackageIndex(hosts=('www.example.com',))
|
37
|
-
|
38
|
-
url = 'url:%20https://svn.plone.org/svn/collective/inquant.contentmirror.plone/trunk'
|
39
|
-
|
40
|
-
with pytest.raises(Exception, match=re.escape(url)):
|
41
|
-
v = index.open_url(url)
|
42
|
-
assert isinstance(v, urllib.error.HTTPError)
|
43
|
-
|
44
|
-
def test_bad_url_bad_status_line(self):
|
45
|
-
index = setuptools.package_index.PackageIndex(hosts=('www.example.com',))
|
46
|
-
|
47
|
-
def _urlopen(*args):
|
48
|
-
raise http.client.BadStatusLine('line')
|
49
|
-
|
50
|
-
index.opener = _urlopen
|
51
|
-
url = 'http://example.com'
|
52
|
-
with pytest.raises(Exception, match=r'line'):
|
53
|
-
index.open_url(url)
|
54
|
-
|
55
|
-
def test_bad_url_double_scheme(self):
|
56
|
-
"""
|
57
|
-
A bad URL with a double scheme should raise a DistutilsError.
|
58
|
-
"""
|
59
|
-
index = setuptools.package_index.PackageIndex(hosts=('www.example.com',))
|
60
|
-
|
61
|
-
# issue 20
|
62
|
-
url = 'http://http://svn.pythonpaste.org/Paste/wphp/trunk'
|
63
|
-
try:
|
64
|
-
index.open_url(url)
|
65
|
-
except distutils.errors.DistutilsError as error:
|
66
|
-
msg = str(error)
|
67
|
-
assert (
|
68
|
-
'nonnumeric port' in msg
|
69
|
-
or 'getaddrinfo failed' in msg
|
70
|
-
or 'Name or service not known' in msg
|
71
|
-
)
|
72
|
-
return
|
73
|
-
raise RuntimeError("Did not raise")
|
74
|
-
|
75
|
-
def test_url_ok(self):
|
76
|
-
index = setuptools.package_index.PackageIndex(hosts=('www.example.com',))
|
77
|
-
url = 'file:///tmp/test_package_index'
|
78
|
-
assert index.url_ok(url, True)
|
79
|
-
|
80
|
-
def test_parse_bdist_wininst(self):
|
81
|
-
parse = setuptools.package_index.parse_bdist_wininst
|
82
|
-
|
83
|
-
actual = parse('reportlab-2.5.win32-py2.4.exe')
|
84
|
-
expected = 'reportlab-2.5', '2.4', 'win32'
|
85
|
-
assert actual == expected
|
86
|
-
|
87
|
-
actual = parse('reportlab-2.5.win32.exe')
|
88
|
-
expected = 'reportlab-2.5', None, 'win32'
|
89
|
-
assert actual == expected
|
90
|
-
|
91
|
-
actual = parse('reportlab-2.5.win-amd64-py2.7.exe')
|
92
|
-
expected = 'reportlab-2.5', '2.7', 'win-amd64'
|
93
|
-
assert actual == expected
|
94
|
-
|
95
|
-
actual = parse('reportlab-2.5.win-amd64.exe')
|
96
|
-
expected = 'reportlab-2.5', None, 'win-amd64'
|
97
|
-
assert actual == expected
|
98
|
-
|
99
|
-
def test__vcs_split_rev_from_url(self):
|
100
|
-
"""
|
101
|
-
Test the basic usage of _vcs_split_rev_from_url
|
102
|
-
"""
|
103
|
-
vsrfu = setuptools.package_index.PackageIndex._vcs_split_rev_from_url
|
104
|
-
url, rev = vsrfu('https://example.com/bar@2995')
|
105
|
-
assert url == 'https://example.com/bar'
|
106
|
-
assert rev == '2995'
|
107
|
-
|
108
|
-
def test_local_index(self, tmpdir):
|
109
|
-
"""
|
110
|
-
local_open should be able to read an index from the file system.
|
111
|
-
"""
|
112
|
-
index_file = tmpdir / 'index.html'
|
113
|
-
with index_file.open('w') as f:
|
114
|
-
f.write('<div>content</div>')
|
115
|
-
url = 'file:' + urllib.request.pathname2url(str(tmpdir)) + '/'
|
116
|
-
res = setuptools.package_index.local_open(url)
|
117
|
-
assert 'content' in res.read()
|
118
|
-
|
119
|
-
def test_egg_fragment(self):
|
120
|
-
"""
|
121
|
-
EGG fragments must comply to PEP 440
|
122
|
-
"""
|
123
|
-
epoch = [
|
124
|
-
'',
|
125
|
-
'1!',
|
126
|
-
]
|
127
|
-
releases = [
|
128
|
-
'0',
|
129
|
-
'0.0',
|
130
|
-
'0.0.0',
|
131
|
-
]
|
132
|
-
pre = [
|
133
|
-
'a0',
|
134
|
-
'b0',
|
135
|
-
'rc0',
|
136
|
-
]
|
137
|
-
post = ['.post0']
|
138
|
-
dev = [
|
139
|
-
'.dev0',
|
140
|
-
]
|
141
|
-
local = [
|
142
|
-
('', ''),
|
143
|
-
('+ubuntu.0', '+ubuntu.0'),
|
144
|
-
('+ubuntu-0', '+ubuntu.0'),
|
145
|
-
('+ubuntu_0', '+ubuntu.0'),
|
146
|
-
]
|
147
|
-
versions = [
|
148
|
-
[''.join([e, r, p, loc]) for loc in locs]
|
149
|
-
for e in epoch
|
150
|
-
for r in releases
|
151
|
-
for p in sum([pre, post, dev], [''])
|
152
|
-
for locs in local
|
153
|
-
]
|
154
|
-
for v, vc in versions:
|
155
|
-
dists = list(
|
156
|
-
setuptools.package_index.distros_for_url(
|
157
|
-
'http://example.com/example-foo.zip#egg=example-foo-' + v
|
158
|
-
)
|
159
|
-
)
|
160
|
-
assert dists[0].version == ''
|
161
|
-
assert dists[1].version == vc
|
162
|
-
|
163
|
-
def test_download_git_with_rev(self, tmp_path, fp):
|
164
|
-
url = 'git+https://github.example/group/project@master#egg=foo'
|
165
|
-
index = setuptools.package_index.PackageIndex()
|
166
|
-
|
167
|
-
expected_dir = tmp_path / 'project@master'
|
168
|
-
fp.register([
|
169
|
-
'git',
|
170
|
-
'clone',
|
171
|
-
'--quiet',
|
172
|
-
'https://github.example/group/project',
|
173
|
-
expected_dir,
|
174
|
-
])
|
175
|
-
fp.register(['git', '-C', expected_dir, 'checkout', '--quiet', 'master'])
|
176
|
-
|
177
|
-
result = index.download(url, tmp_path)
|
178
|
-
|
179
|
-
assert result == str(expected_dir)
|
180
|
-
assert len(fp.calls) == 2
|
181
|
-
|
182
|
-
def test_download_git_no_rev(self, tmp_path, fp):
|
183
|
-
url = 'git+https://github.example/group/project#egg=foo'
|
184
|
-
index = setuptools.package_index.PackageIndex()
|
185
|
-
|
186
|
-
expected_dir = tmp_path / 'project'
|
187
|
-
fp.register([
|
188
|
-
'git',
|
189
|
-
'clone',
|
190
|
-
'--quiet',
|
191
|
-
'https://github.example/group/project',
|
192
|
-
expected_dir,
|
193
|
-
])
|
194
|
-
index.download(url, tmp_path)
|
195
|
-
|
196
|
-
def test_download_svn(self, tmp_path):
|
197
|
-
url = 'svn+https://svn.example/project#egg=foo'
|
198
|
-
index = setuptools.package_index.PackageIndex()
|
199
|
-
|
200
|
-
msg = r".*SVN download is not supported.*"
|
201
|
-
with pytest.raises(distutils.errors.DistutilsError, match=msg):
|
202
|
-
index.download(url, tmp_path)
|
203
|
-
|
204
|
-
|
205
|
-
class TestContentCheckers:
|
206
|
-
def test_md5(self):
|
207
|
-
checker = setuptools.package_index.HashChecker.from_url(
|
208
|
-
'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478'
|
209
|
-
)
|
210
|
-
checker.feed('You should probably not be using MD5'.encode('ascii'))
|
211
|
-
assert checker.hash.hexdigest() == 'f12895fdffbd45007040d2e44df98478'
|
212
|
-
assert checker.is_valid()
|
213
|
-
|
214
|
-
def test_other_fragment(self):
|
215
|
-
"Content checks should succeed silently if no hash is present"
|
216
|
-
checker = setuptools.package_index.HashChecker.from_url(
|
217
|
-
'http://foo/bar#something%20completely%20different'
|
218
|
-
)
|
219
|
-
checker.feed('anything'.encode('ascii'))
|
220
|
-
assert checker.is_valid()
|
221
|
-
|
222
|
-
def test_blank_md5(self):
|
223
|
-
"Content checks should succeed if a hash is empty"
|
224
|
-
checker = setuptools.package_index.HashChecker.from_url('http://foo/bar#md5=')
|
225
|
-
checker.feed('anything'.encode('ascii'))
|
226
|
-
assert checker.is_valid()
|
227
|
-
|
228
|
-
def test_get_hash_name_md5(self):
|
229
|
-
checker = setuptools.package_index.HashChecker.from_url(
|
230
|
-
'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478'
|
231
|
-
)
|
232
|
-
assert checker.hash_name == 'md5'
|
233
|
-
|
234
|
-
def test_report(self):
|
235
|
-
checker = setuptools.package_index.HashChecker.from_url(
|
236
|
-
'http://foo/bar#md5=f12895fdffbd45007040d2e44df98478'
|
237
|
-
)
|
238
|
-
rep = checker.report(lambda x: x, 'My message about %s')
|
239
|
-
assert rep == 'My message about md5'
|
240
|
-
|
241
|
-
|
242
|
-
class TestPyPIConfig:
|
243
|
-
def test_percent_in_password(self, tmp_home_dir):
|
244
|
-
pypirc = tmp_home_dir / '.pypirc'
|
245
|
-
pypirc.write_text(
|
246
|
-
cleandoc(
|
247
|
-
"""
|
248
|
-
[pypi]
|
249
|
-
repository=https://pypi.org
|
250
|
-
username=jaraco
|
251
|
-
password=pity%
|
252
|
-
"""
|
253
|
-
),
|
254
|
-
encoding="utf-8",
|
255
|
-
)
|
256
|
-
cfg = setuptools.package_index.PyPIConfig()
|
257
|
-
cred = cfg.creds_by_repository['https://pypi.org']
|
258
|
-
assert cred.username == 'jaraco'
|
259
|
-
assert cred.password == 'pity%'
|
260
|
-
|
261
|
-
|
262
|
-
@pytest.mark.timeout(1)
|
263
|
-
def test_REL_DoS():
|
264
|
-
"""
|
265
|
-
REL should not hang on a contrived attack string.
|
266
|
-
"""
|
267
|
-
setuptools.package_index.REL.search('< rel=' + ' ' * 2**12)
|
@@ -1,134 +0,0 @@
|
|
1
|
-
"""develop tests"""
|
2
|
-
|
3
|
-
import os
|
4
|
-
import types
|
5
|
-
|
6
|
-
import pytest
|
7
|
-
|
8
|
-
import pkg_resources
|
9
|
-
import setuptools.sandbox
|
10
|
-
|
11
|
-
|
12
|
-
class TestSandbox:
|
13
|
-
def test_devnull(self, tmpdir):
|
14
|
-
with setuptools.sandbox.DirectorySandbox(str(tmpdir)):
|
15
|
-
self._file_writer(os.devnull)
|
16
|
-
|
17
|
-
@staticmethod
|
18
|
-
def _file_writer(path):
|
19
|
-
def do_write():
|
20
|
-
with open(path, 'w', encoding="utf-8") as f:
|
21
|
-
f.write('xxx')
|
22
|
-
|
23
|
-
return do_write
|
24
|
-
|
25
|
-
def test_setup_py_with_BOM(self):
|
26
|
-
"""
|
27
|
-
It should be possible to execute a setup.py with a Byte Order Mark
|
28
|
-
"""
|
29
|
-
target = pkg_resources.resource_filename(__name__, 'script-with-bom.py')
|
30
|
-
namespace = types.ModuleType('namespace')
|
31
|
-
setuptools.sandbox._execfile(target, vars(namespace))
|
32
|
-
assert namespace.result == 'passed'
|
33
|
-
|
34
|
-
def test_setup_py_with_CRLF(self, tmpdir):
|
35
|
-
setup_py = tmpdir / 'setup.py'
|
36
|
-
with setup_py.open('wb') as stream:
|
37
|
-
stream.write(b'"degenerate script"\r\n')
|
38
|
-
setuptools.sandbox._execfile(str(setup_py), globals())
|
39
|
-
|
40
|
-
|
41
|
-
class TestExceptionSaver:
|
42
|
-
def test_exception_trapped(self):
|
43
|
-
with setuptools.sandbox.ExceptionSaver():
|
44
|
-
raise ValueError("details")
|
45
|
-
|
46
|
-
def test_exception_resumed(self):
|
47
|
-
with setuptools.sandbox.ExceptionSaver() as saved_exc:
|
48
|
-
raise ValueError("details")
|
49
|
-
|
50
|
-
with pytest.raises(ValueError) as caught:
|
51
|
-
saved_exc.resume()
|
52
|
-
|
53
|
-
assert isinstance(caught.value, ValueError)
|
54
|
-
assert str(caught.value) == 'details'
|
55
|
-
|
56
|
-
def test_exception_reconstructed(self):
|
57
|
-
orig_exc = ValueError("details")
|
58
|
-
|
59
|
-
with setuptools.sandbox.ExceptionSaver() as saved_exc:
|
60
|
-
raise orig_exc
|
61
|
-
|
62
|
-
with pytest.raises(ValueError) as caught:
|
63
|
-
saved_exc.resume()
|
64
|
-
|
65
|
-
assert isinstance(caught.value, ValueError)
|
66
|
-
assert caught.value is not orig_exc
|
67
|
-
|
68
|
-
def test_no_exception_passes_quietly(self):
|
69
|
-
with setuptools.sandbox.ExceptionSaver() as saved_exc:
|
70
|
-
pass
|
71
|
-
|
72
|
-
saved_exc.resume()
|
73
|
-
|
74
|
-
def test_unpickleable_exception(self):
|
75
|
-
class CantPickleThis(Exception):
|
76
|
-
"This Exception is unpickleable because it's not in globals"
|
77
|
-
|
78
|
-
def __repr__(self) -> str:
|
79
|
-
return f'CantPickleThis{self.args!r}'
|
80
|
-
|
81
|
-
with setuptools.sandbox.ExceptionSaver() as saved_exc:
|
82
|
-
raise CantPickleThis('detail')
|
83
|
-
|
84
|
-
with pytest.raises(setuptools.sandbox.UnpickleableException) as caught:
|
85
|
-
saved_exc.resume()
|
86
|
-
|
87
|
-
assert str(caught.value) == "CantPickleThis('detail',)"
|
88
|
-
|
89
|
-
def test_unpickleable_exception_when_hiding_setuptools(self):
|
90
|
-
"""
|
91
|
-
As revealed in #440, an infinite recursion can occur if an unpickleable
|
92
|
-
exception while setuptools is hidden. Ensure this doesn't happen.
|
93
|
-
"""
|
94
|
-
|
95
|
-
class ExceptionUnderTest(Exception):
|
96
|
-
"""
|
97
|
-
An unpickleable exception (not in globals).
|
98
|
-
"""
|
99
|
-
|
100
|
-
with pytest.raises(setuptools.sandbox.UnpickleableException) as caught:
|
101
|
-
with setuptools.sandbox.save_modules():
|
102
|
-
setuptools.sandbox.hide_setuptools()
|
103
|
-
raise ExceptionUnderTest
|
104
|
-
|
105
|
-
(msg,) = caught.value.args
|
106
|
-
assert msg == 'ExceptionUnderTest()'
|
107
|
-
|
108
|
-
def test_sandbox_violation_raised_hiding_setuptools(self, tmpdir):
|
109
|
-
"""
|
110
|
-
When in a sandbox with setuptools hidden, a SandboxViolation
|
111
|
-
should reflect a proper exception and not be wrapped in
|
112
|
-
an UnpickleableException.
|
113
|
-
"""
|
114
|
-
|
115
|
-
def write_file():
|
116
|
-
"Trigger a SandboxViolation by writing outside the sandbox"
|
117
|
-
with open('/etc/foo', 'w', encoding="utf-8"):
|
118
|
-
pass
|
119
|
-
|
120
|
-
with pytest.raises(setuptools.sandbox.SandboxViolation) as caught:
|
121
|
-
with setuptools.sandbox.save_modules():
|
122
|
-
setuptools.sandbox.hide_setuptools()
|
123
|
-
with setuptools.sandbox.DirectorySandbox(str(tmpdir)):
|
124
|
-
write_file()
|
125
|
-
|
126
|
-
cmd, args, kwargs = caught.value.args
|
127
|
-
assert cmd == 'open'
|
128
|
-
assert args == ('/etc/foo', 'w')
|
129
|
-
assert kwargs == {"encoding": "utf-8"}
|
130
|
-
|
131
|
-
msg = str(caught.value)
|
132
|
-
assert 'open' in msg
|
133
|
-
assert "('/etc/foo', 'w')" in msg
|
134
|
-
assert "{'encoding': 'utf-8'}" in msg
|
File without changes
|