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,13 +1,20 @@
|
|
1
1
|
import contextlib
|
2
|
+
import io
|
2
3
|
import os
|
3
4
|
import subprocess
|
4
5
|
import sys
|
6
|
+
import tarfile
|
7
|
+
import time
|
5
8
|
from pathlib import Path
|
6
9
|
|
10
|
+
import jaraco.path
|
7
11
|
import path
|
8
12
|
import pytest
|
9
13
|
|
14
|
+
from setuptools._normalization import safer_name
|
15
|
+
|
10
16
|
from . import contexts, environment
|
17
|
+
from .textwrap import DALS
|
11
18
|
|
12
19
|
|
13
20
|
@pytest.fixture
|
@@ -60,6 +67,12 @@ def sample_project(tmp_path):
|
|
60
67
|
return tmp_path / 'sampleproject'
|
61
68
|
|
62
69
|
|
70
|
+
@pytest.fixture
|
71
|
+
def sample_project_cwd(sample_project):
|
72
|
+
with path.Path(sample_project):
|
73
|
+
yield
|
74
|
+
|
75
|
+
|
63
76
|
# sdist and wheel artifacts should be stable across a round of tests
|
64
77
|
# so we can build them once per session and use the files as "readonly"
|
65
78
|
|
@@ -155,3 +168,225 @@ def bare_venv(tmp_path):
|
|
155
168
|
env.create_opts = ['--no-setuptools', '--no-pip', '--no-wheel', '--no-seed']
|
156
169
|
env.ensure_env()
|
157
170
|
return env
|
171
|
+
|
172
|
+
|
173
|
+
def make_sdist(dist_path, files):
|
174
|
+
"""
|
175
|
+
Create a simple sdist tarball at dist_path, containing the files
|
176
|
+
listed in ``files`` as ``(filename, content)`` tuples.
|
177
|
+
"""
|
178
|
+
|
179
|
+
# Distributions with only one file don't play well with pip.
|
180
|
+
assert len(files) > 1
|
181
|
+
with tarfile.open(dist_path, 'w:gz') as dist:
|
182
|
+
for filename, content in files:
|
183
|
+
file_bytes = io.BytesIO(content.encode('utf-8'))
|
184
|
+
file_info = tarfile.TarInfo(name=filename)
|
185
|
+
file_info.size = len(file_bytes.getvalue())
|
186
|
+
file_info.mtime = int(time.time())
|
187
|
+
dist.addfile(file_info, fileobj=file_bytes)
|
188
|
+
|
189
|
+
|
190
|
+
def make_trivial_sdist(dist_path, distname, version):
|
191
|
+
"""
|
192
|
+
Create a simple sdist tarball at dist_path, containing just a simple
|
193
|
+
setup.py.
|
194
|
+
"""
|
195
|
+
|
196
|
+
make_sdist(
|
197
|
+
dist_path,
|
198
|
+
[
|
199
|
+
(
|
200
|
+
'setup.py',
|
201
|
+
DALS(
|
202
|
+
f"""\
|
203
|
+
import setuptools
|
204
|
+
setuptools.setup(
|
205
|
+
name={distname!r},
|
206
|
+
version={version!r}
|
207
|
+
)
|
208
|
+
"""
|
209
|
+
),
|
210
|
+
),
|
211
|
+
('setup.cfg', ''),
|
212
|
+
],
|
213
|
+
)
|
214
|
+
|
215
|
+
|
216
|
+
def make_nspkg_sdist(dist_path, distname, version):
|
217
|
+
"""
|
218
|
+
Make an sdist tarball with distname and version which also contains one
|
219
|
+
package with the same name as distname. The top-level package is
|
220
|
+
designated a namespace package).
|
221
|
+
"""
|
222
|
+
# Assert that the distname contains at least one period
|
223
|
+
assert '.' in distname
|
224
|
+
|
225
|
+
parts = distname.split('.')
|
226
|
+
nspackage = parts[0]
|
227
|
+
|
228
|
+
packages = ['.'.join(parts[:idx]) for idx in range(1, len(parts) + 1)]
|
229
|
+
|
230
|
+
setup_py = DALS(
|
231
|
+
f"""\
|
232
|
+
import setuptools
|
233
|
+
setuptools.setup(
|
234
|
+
name={distname!r},
|
235
|
+
version={version!r},
|
236
|
+
packages={packages!r},
|
237
|
+
namespace_packages=[{nspackage!r}]
|
238
|
+
)
|
239
|
+
"""
|
240
|
+
)
|
241
|
+
|
242
|
+
init = "__import__('pkg_resources').declare_namespace(__name__)"
|
243
|
+
|
244
|
+
files = [('setup.py', setup_py), (os.path.join(nspackage, '__init__.py'), init)]
|
245
|
+
for package in packages[1:]:
|
246
|
+
filename = os.path.join(*(package.split('.') + ['__init__.py']))
|
247
|
+
files.append((filename, ''))
|
248
|
+
|
249
|
+
make_sdist(dist_path, files)
|
250
|
+
|
251
|
+
|
252
|
+
def make_python_requires_sdist(dist_path, distname, version, python_requires):
|
253
|
+
make_sdist(
|
254
|
+
dist_path,
|
255
|
+
[
|
256
|
+
(
|
257
|
+
'setup.py',
|
258
|
+
DALS(
|
259
|
+
"""\
|
260
|
+
import setuptools
|
261
|
+
setuptools.setup(
|
262
|
+
name={name!r},
|
263
|
+
version={version!r},
|
264
|
+
python_requires={python_requires!r},
|
265
|
+
)
|
266
|
+
"""
|
267
|
+
).format(
|
268
|
+
name=distname, version=version, python_requires=python_requires
|
269
|
+
),
|
270
|
+
),
|
271
|
+
('setup.cfg', ''),
|
272
|
+
],
|
273
|
+
)
|
274
|
+
|
275
|
+
|
276
|
+
def create_setup_requires_package(
|
277
|
+
path,
|
278
|
+
distname='foobar',
|
279
|
+
version='0.1',
|
280
|
+
make_package=make_trivial_sdist,
|
281
|
+
setup_py_template=None,
|
282
|
+
setup_attrs=None,
|
283
|
+
use_setup_cfg=(),
|
284
|
+
):
|
285
|
+
"""Creates a source tree under path for a trivial test package that has a
|
286
|
+
single requirement in setup_requires--a tarball for that requirement is
|
287
|
+
also created and added to the dependency_links argument.
|
288
|
+
|
289
|
+
``distname`` and ``version`` refer to the name/version of the package that
|
290
|
+
the test package requires via ``setup_requires``. The name of the test
|
291
|
+
package itself is just 'test_pkg'.
|
292
|
+
"""
|
293
|
+
|
294
|
+
normalized_distname = safer_name(distname)
|
295
|
+
test_setup_attrs = {
|
296
|
+
'name': 'test_pkg',
|
297
|
+
'version': '0.0',
|
298
|
+
'setup_requires': [f'{normalized_distname}=={version}'],
|
299
|
+
'dependency_links': [os.path.abspath(path)],
|
300
|
+
}
|
301
|
+
if setup_attrs:
|
302
|
+
test_setup_attrs.update(setup_attrs)
|
303
|
+
|
304
|
+
test_pkg = os.path.join(path, 'test_pkg')
|
305
|
+
os.mkdir(test_pkg)
|
306
|
+
|
307
|
+
# setup.cfg
|
308
|
+
if use_setup_cfg:
|
309
|
+
options = []
|
310
|
+
metadata = []
|
311
|
+
for name in use_setup_cfg:
|
312
|
+
value = test_setup_attrs.pop(name)
|
313
|
+
if name in 'name version'.split():
|
314
|
+
section = metadata
|
315
|
+
else:
|
316
|
+
section = options
|
317
|
+
if isinstance(value, (tuple, list)):
|
318
|
+
value = ';'.join(value)
|
319
|
+
section.append(f'{name}: {value}')
|
320
|
+
test_setup_cfg_contents = DALS(
|
321
|
+
"""
|
322
|
+
[metadata]
|
323
|
+
{metadata}
|
324
|
+
[options]
|
325
|
+
{options}
|
326
|
+
"""
|
327
|
+
).format(
|
328
|
+
options='\n'.join(options),
|
329
|
+
metadata='\n'.join(metadata),
|
330
|
+
)
|
331
|
+
else:
|
332
|
+
test_setup_cfg_contents = ''
|
333
|
+
with open(os.path.join(test_pkg, 'setup.cfg'), 'w', encoding="utf-8") as f:
|
334
|
+
f.write(test_setup_cfg_contents)
|
335
|
+
|
336
|
+
# setup.py
|
337
|
+
if setup_py_template is None:
|
338
|
+
setup_py_template = DALS(
|
339
|
+
"""\
|
340
|
+
import setuptools
|
341
|
+
setuptools.setup(**%r)
|
342
|
+
"""
|
343
|
+
)
|
344
|
+
with open(os.path.join(test_pkg, 'setup.py'), 'w', encoding="utf-8") as f:
|
345
|
+
f.write(setup_py_template % test_setup_attrs)
|
346
|
+
|
347
|
+
foobar_path = os.path.join(path, f'{normalized_distname}-{version}.tar.gz')
|
348
|
+
make_package(foobar_path, distname, version)
|
349
|
+
|
350
|
+
return test_pkg
|
351
|
+
|
352
|
+
|
353
|
+
@pytest.fixture
|
354
|
+
def pbr_package(tmp_path, monkeypatch, venv):
|
355
|
+
files = {
|
356
|
+
"pyproject.toml": DALS(
|
357
|
+
"""
|
358
|
+
[build-system]
|
359
|
+
requires = ["setuptools"]
|
360
|
+
build-backend = "setuptools.build_meta"
|
361
|
+
"""
|
362
|
+
),
|
363
|
+
"setup.py": DALS(
|
364
|
+
"""
|
365
|
+
__import__('setuptools').setup(
|
366
|
+
pbr=True,
|
367
|
+
setup_requires=["pbr"],
|
368
|
+
)
|
369
|
+
"""
|
370
|
+
),
|
371
|
+
"setup.cfg": DALS(
|
372
|
+
"""
|
373
|
+
[metadata]
|
374
|
+
name = mypkg
|
375
|
+
|
376
|
+
[files]
|
377
|
+
packages =
|
378
|
+
mypkg
|
379
|
+
"""
|
380
|
+
),
|
381
|
+
"mypkg": {
|
382
|
+
"__init__.py": "",
|
383
|
+
"hello.py": "print('Hello world!')",
|
384
|
+
},
|
385
|
+
"other": {"test.txt": "Another file in here."},
|
386
|
+
}
|
387
|
+
venv.run(["python", "-m", "pip", "install", "pbr"])
|
388
|
+
prefix = tmp_path / 'mypkg'
|
389
|
+
prefix.mkdir()
|
390
|
+
jaraco.path.build(files, prefix=prefix)
|
391
|
+
monkeypatch.setenv('PBR_VERSION', "0.42")
|
392
|
+
return prefix
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import subprocess
|
2
|
+
|
3
|
+
import pytest
|
4
|
+
|
5
|
+
|
6
|
+
@pytest.mark.uses_network
|
7
|
+
def test_pbr_integration(pbr_package, venv):
|
8
|
+
"""Ensure pbr packages install."""
|
9
|
+
cmd = [
|
10
|
+
'python',
|
11
|
+
'-m',
|
12
|
+
'pip',
|
13
|
+
'-v',
|
14
|
+
'install',
|
15
|
+
'--no-build-isolation',
|
16
|
+
pbr_package,
|
17
|
+
]
|
18
|
+
venv.run(cmd, stderr=subprocess.STDOUT)
|
19
|
+
out = venv.run(["python", "-c", "import mypkg.hello"])
|
20
|
+
assert "Hello world!" in out
|
@@ -936,30 +936,6 @@ class TestBuildMetaLegacyBackend(TestBuildMetaBackend):
|
|
936
936
|
build_backend.build_sdist("temp")
|
937
937
|
|
938
938
|
|
939
|
-
def test_legacy_editable_install(venv, tmpdir, tmpdir_cwd):
|
940
|
-
pyproject = """
|
941
|
-
[build-system]
|
942
|
-
requires = ["setuptools"]
|
943
|
-
build-backend = "setuptools.build_meta"
|
944
|
-
[project]
|
945
|
-
name = "myproj"
|
946
|
-
version = "42"
|
947
|
-
"""
|
948
|
-
path.build({"pyproject.toml": DALS(pyproject), "mymod.py": ""})
|
949
|
-
|
950
|
-
# First: sanity check
|
951
|
-
cmd = ["pip", "install", "--no-build-isolation", "-e", "."]
|
952
|
-
output = venv.run(cmd, cwd=tmpdir).lower()
|
953
|
-
assert "running setup.py develop for myproj" not in output
|
954
|
-
assert "created wheel for myproj" in output
|
955
|
-
|
956
|
-
# Then: real test
|
957
|
-
env = {**os.environ, "SETUPTOOLS_ENABLE_FEATURES": "legacy-editable"}
|
958
|
-
cmd = ["pip", "install", "--no-build-isolation", "-e", "."]
|
959
|
-
output = venv.run(cmd, cwd=tmpdir, env=env).lower()
|
960
|
-
assert "running setup.py develop for myproj" in output
|
961
|
-
|
962
|
-
|
963
939
|
@pytest.mark.filterwarnings("ignore::setuptools.SetuptoolsDeprecationWarning")
|
964
940
|
def test_sys_exit_0_in_setuppy(monkeypatch, tmp_path):
|
965
941
|
"""Setuptools should be resilient to setup.py with ``sys.exit(0)`` (#3973)."""
|
@@ -1,7 +1,6 @@
|
|
1
1
|
"""develop tests"""
|
2
2
|
|
3
3
|
import os
|
4
|
-
import pathlib
|
5
4
|
import platform
|
6
5
|
import subprocess
|
7
6
|
import sys
|
@@ -9,8 +8,6 @@ import sys
|
|
9
8
|
import pytest
|
10
9
|
|
11
10
|
from setuptools._path import paths_on_pythonpath
|
12
|
-
from setuptools.command.develop import develop
|
13
|
-
from setuptools.dist import Distribution
|
14
11
|
|
15
12
|
from . import contexts, namespaces
|
16
13
|
|
@@ -51,67 +48,6 @@ def test_env(tmpdir, temp_user):
|
|
51
48
|
yield target
|
52
49
|
|
53
50
|
|
54
|
-
class TestDevelop:
|
55
|
-
in_virtualenv = hasattr(sys, 'real_prefix')
|
56
|
-
in_venv = hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix
|
57
|
-
|
58
|
-
def test_console_scripts(self, tmpdir):
|
59
|
-
"""
|
60
|
-
Test that console scripts are installed and that they reference
|
61
|
-
only the project by name and not the current version.
|
62
|
-
"""
|
63
|
-
pytest.skip(
|
64
|
-
"TODO: needs a fixture to cause 'develop' "
|
65
|
-
"to be invoked without mutating environment."
|
66
|
-
)
|
67
|
-
settings = dict(
|
68
|
-
name='foo',
|
69
|
-
packages=['foo'],
|
70
|
-
version='0.0',
|
71
|
-
entry_points={
|
72
|
-
'console_scripts': [
|
73
|
-
'foocmd = foo:foo',
|
74
|
-
],
|
75
|
-
},
|
76
|
-
)
|
77
|
-
dist = Distribution(settings)
|
78
|
-
dist.script_name = 'setup.py'
|
79
|
-
cmd = develop(dist)
|
80
|
-
cmd.ensure_finalized()
|
81
|
-
cmd.install_dir = tmpdir
|
82
|
-
cmd.run()
|
83
|
-
# assert '0.0' not in foocmd_text
|
84
|
-
|
85
|
-
@pytest.mark.xfail(reason="legacy behavior retained for compatibility #4167")
|
86
|
-
def test_egg_link_filename(self):
|
87
|
-
settings = dict(
|
88
|
-
name='Foo $$$ Bar_baz-bing',
|
89
|
-
)
|
90
|
-
dist = Distribution(settings)
|
91
|
-
cmd = develop(dist)
|
92
|
-
cmd.ensure_finalized()
|
93
|
-
link = pathlib.Path(cmd.egg_link)
|
94
|
-
assert link.suffix == '.egg-link'
|
95
|
-
assert link.stem == 'Foo_Bar_baz_bing'
|
96
|
-
|
97
|
-
|
98
|
-
class TestResolver:
|
99
|
-
"""
|
100
|
-
TODO: These tests were written with a minimal understanding
|
101
|
-
of what _resolve_setup_path is intending to do. Come up with
|
102
|
-
more meaningful cases that look like real-world scenarios.
|
103
|
-
"""
|
104
|
-
|
105
|
-
def test_resolve_setup_path_cwd(self):
|
106
|
-
assert develop._resolve_setup_path('.', '.', '.') == '.'
|
107
|
-
|
108
|
-
def test_resolve_setup_path_one_dir(self):
|
109
|
-
assert develop._resolve_setup_path('pkgs', '.', 'pkgs') == '../'
|
110
|
-
|
111
|
-
def test_resolve_setup_path_one_dir_trailing_slash(self):
|
112
|
-
assert develop._resolve_setup_path('pkgs/', '.', 'pkgs') == '../'
|
113
|
-
|
114
|
-
|
115
51
|
class TestNamespaces:
|
116
52
|
@staticmethod
|
117
53
|
def install_develop(src_dir, target):
|
@@ -134,6 +70,7 @@ class TestNamespaces:
|
|
134
70
|
platform.python_implementation() == 'PyPy',
|
135
71
|
reason="https://github.com/pypa/setuptools/issues/1202",
|
136
72
|
)
|
73
|
+
@pytest.mark.uses_network
|
137
74
|
def test_namespace_package_importable(self, tmpdir):
|
138
75
|
"""
|
139
76
|
Installing two packages sharing the same namespace, one installed
|
@@ -8,7 +8,7 @@ import pytest
|
|
8
8
|
from setuptools import Distribution
|
9
9
|
from setuptools.dist import check_package_data, check_specifier
|
10
10
|
|
11
|
-
from .
|
11
|
+
from .fixtures import make_trivial_sdist
|
12
12
|
from .test_find_packages import ensure_files
|
13
13
|
from .textwrap import DALS
|
14
14
|
|
@@ -56,7 +56,7 @@ def test_dist_fetch_build_egg(tmpdir):
|
|
56
56
|
dist = Distribution()
|
57
57
|
dist.parse_config_files()
|
58
58
|
resolved_dists = [dist.fetch_build_egg(r) for r in reqs]
|
59
|
-
assert [dist.
|
59
|
+
assert [dist.name for dist in resolved_dists if dist] == reqs
|
60
60
|
|
61
61
|
|
62
62
|
EXAMPLE_BASE_INFO = dict(
|
@@ -9,7 +9,6 @@ from functools import partial
|
|
9
9
|
|
10
10
|
import pytest
|
11
11
|
|
12
|
-
import pkg_resources
|
13
12
|
from setuptools.archive_util import unpack_archive
|
14
13
|
|
15
14
|
from .textwrap import DALS
|
@@ -18,68 +17,6 @@ read = partial(pathlib.Path.read_text, encoding="utf-8")
|
|
18
17
|
|
19
18
|
|
20
19
|
class TestDistInfo:
|
21
|
-
metadata_base = DALS(
|
22
|
-
"""
|
23
|
-
Metadata-Version: 1.2
|
24
|
-
Requires-Dist: splort (==4)
|
25
|
-
Provides-Extra: baz
|
26
|
-
Requires-Dist: quux (>=1.1); extra == 'baz'
|
27
|
-
"""
|
28
|
-
)
|
29
|
-
|
30
|
-
@classmethod
|
31
|
-
def build_metadata(cls, **kwargs):
|
32
|
-
lines = ('{key}: {value}\n'.format(**locals()) for key, value in kwargs.items())
|
33
|
-
return cls.metadata_base + ''.join(lines)
|
34
|
-
|
35
|
-
@pytest.fixture
|
36
|
-
def metadata(self, tmpdir):
|
37
|
-
dist_info_name = 'VersionedDistribution-2.718.dist-info'
|
38
|
-
versioned = tmpdir / dist_info_name
|
39
|
-
versioned.mkdir()
|
40
|
-
filename = versioned / 'METADATA'
|
41
|
-
content = self.build_metadata(
|
42
|
-
Name='VersionedDistribution',
|
43
|
-
)
|
44
|
-
filename.write_text(content, encoding='utf-8')
|
45
|
-
|
46
|
-
dist_info_name = 'UnversionedDistribution.dist-info'
|
47
|
-
unversioned = tmpdir / dist_info_name
|
48
|
-
unversioned.mkdir()
|
49
|
-
filename = unversioned / 'METADATA'
|
50
|
-
content = self.build_metadata(
|
51
|
-
Name='UnversionedDistribution',
|
52
|
-
Version='0.3',
|
53
|
-
)
|
54
|
-
filename.write_text(content, encoding='utf-8')
|
55
|
-
|
56
|
-
return str(tmpdir)
|
57
|
-
|
58
|
-
def test_distinfo(self, metadata):
|
59
|
-
dists = dict(
|
60
|
-
(d.project_name, d) for d in pkg_resources.find_distributions(metadata)
|
61
|
-
)
|
62
|
-
|
63
|
-
assert len(dists) == 2, dists
|
64
|
-
|
65
|
-
unversioned = dists['UnversionedDistribution']
|
66
|
-
versioned = dists['VersionedDistribution']
|
67
|
-
|
68
|
-
assert versioned.version == '2.718' # from filename
|
69
|
-
assert unversioned.version == '0.3' # from METADATA
|
70
|
-
|
71
|
-
def test_conditional_dependencies(self, metadata):
|
72
|
-
specs = 'splort==4', 'quux>=1.1'
|
73
|
-
requires = list(map(pkg_resources.Requirement.parse, specs))
|
74
|
-
|
75
|
-
for d in pkg_resources.find_distributions(metadata):
|
76
|
-
assert d.requires() == requires[:1]
|
77
|
-
assert d.requires(extras=('baz',)) == [
|
78
|
-
requires[0],
|
79
|
-
pkg_resources.Requirement.parse('quux>=1.1;extra=="baz"'),
|
80
|
-
]
|
81
|
-
assert d.extras == ['baz']
|
82
|
-
|
83
20
|
def test_invalid_version(self, tmp_path):
|
84
21
|
"""
|
85
22
|
Supplying an invalid version crashes dist_info.
|
@@ -21,7 +21,6 @@ from path import Path as _Path
|
|
21
21
|
|
22
22
|
from setuptools._importlib import resources as importlib_resources
|
23
23
|
from setuptools.command.editable_wheel import (
|
24
|
-
_DebuggingTips,
|
25
24
|
_encode_pth,
|
26
25
|
_find_namespaces,
|
27
26
|
_find_package_roots,
|
@@ -1068,45 +1067,20 @@ def test_compat_install(tmp_path, venv):
|
|
1068
1067
|
assert "cannot import name 'subpackage'" in out
|
1069
1068
|
|
1070
1069
|
|
1071
|
-
|
1070
|
+
@pytest.mark.uses_network
|
1071
|
+
def test_pbr_integration(pbr_package, venv, editable_opts):
|
1072
1072
|
"""Ensure editable installs work with pbr, issue #3500"""
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
pbr=True,
|
1085
|
-
setup_requires=["pbr"],
|
1086
|
-
)
|
1087
|
-
"""
|
1088
|
-
),
|
1089
|
-
"setup.cfg": dedent(
|
1090
|
-
"""\
|
1091
|
-
[metadata]
|
1092
|
-
name = mypkg
|
1093
|
-
|
1094
|
-
[files]
|
1095
|
-
packages =
|
1096
|
-
mypkg
|
1097
|
-
"""
|
1098
|
-
),
|
1099
|
-
"mypkg": {
|
1100
|
-
"__init__.py": "",
|
1101
|
-
"hello.py": "print('Hello world!')",
|
1102
|
-
},
|
1103
|
-
"other": {"test.txt": "Another file in here."},
|
1104
|
-
}
|
1105
|
-
venv.run(["python", "-m", "pip", "install", "pbr"])
|
1106
|
-
|
1107
|
-
with contexts.environment(PBR_VERSION="0.42"):
|
1108
|
-
install_project("mypkg", venv, tmp_path, files, *editable_opts)
|
1109
|
-
|
1073
|
+
cmd = [
|
1074
|
+
'python',
|
1075
|
+
'-m',
|
1076
|
+
'pip',
|
1077
|
+
'-v',
|
1078
|
+
'install',
|
1079
|
+
'--editable',
|
1080
|
+
pbr_package,
|
1081
|
+
*editable_opts,
|
1082
|
+
]
|
1083
|
+
venv.run(cmd, stderr=subprocess.STDOUT)
|
1110
1084
|
out = venv.run(["python", "-c", "import mypkg.hello"])
|
1111
1085
|
assert "Hello world!" in out
|
1112
1086
|
|
@@ -1227,9 +1201,9 @@ def test_debugging_tips(tmpdir_cwd, monkeypatch):
|
|
1227
1201
|
simulated_failure = Mock(side_effect=SimulatedErr())
|
1228
1202
|
monkeypatch.setattr(cmd, "get_finalized_command", simulated_failure)
|
1229
1203
|
|
1230
|
-
|
1231
|
-
with pytest.raises(SimulatedErr), pytest.warns(_DebuggingTips, match=expected_msg):
|
1204
|
+
with pytest.raises(SimulatedErr) as ctx:
|
1232
1205
|
cmd.run()
|
1206
|
+
assert any('debugging-tips' in note for note in ctx.value.__notes__)
|
1233
1207
|
|
1234
1208
|
|
1235
1209
|
@pytest.mark.filterwarnings("error")
|
@@ -1287,10 +1287,11 @@ class TestWriteEntries:
|
|
1287
1287
|
dist = Distribution({"name": "foo", "version": "0.0.1"})
|
1288
1288
|
dist.entry_points = {"foo": "foo = invalid-identifier:foo"}
|
1289
1289
|
cmd = dist.get_command_obj("egg_info")
|
1290
|
-
expected_msg = r"Problems to parse
|
1291
|
-
with pytest.raises(errors.OptionError, match=expected_msg) as ex:
|
1290
|
+
expected_msg = r"(Invalid object reference|Problems to parse)"
|
1291
|
+
with pytest.raises((errors.OptionError, ValueError), match=expected_msg) as ex:
|
1292
1292
|
write_entries(cmd, "entry_points", "entry_points.txt")
|
1293
1293
|
assert "ensure entry-point follows the spec" in ex.value.args[0]
|
1294
|
+
assert "invalid-identifier" in str(ex.value)
|
1294
1295
|
|
1295
1296
|
def test_valid_entry_point(self, tmpdir_cwd, env):
|
1296
1297
|
dist = Distribution({"name": "foo", "version": "0.0.1"})
|
@@ -0,0 +1,12 @@
|
|
1
|
+
from setuptools import _scripts
|
2
|
+
|
3
|
+
|
4
|
+
class TestWindowsScriptWriter:
|
5
|
+
def test_header(self):
|
6
|
+
hdr = _scripts.WindowsScriptWriter.get_header('')
|
7
|
+
assert hdr.startswith('#!')
|
8
|
+
assert hdr.endswith('\n')
|
9
|
+
hdr = hdr.lstrip('#!')
|
10
|
+
hdr = hdr.rstrip('\n')
|
11
|
+
# header should not start with an escaped quote
|
12
|
+
assert not hdr.startswith('\\"')
|