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
@@ -0,0 +1,361 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
import os
|
4
|
+
import re
|
5
|
+
import shlex
|
6
|
+
import shutil
|
7
|
+
import struct
|
8
|
+
import subprocess
|
9
|
+
import sys
|
10
|
+
import textwrap
|
11
|
+
from collections.abc import Iterable
|
12
|
+
from typing import TYPE_CHECKING, TypedDict
|
13
|
+
|
14
|
+
from ._importlib import metadata, resources
|
15
|
+
|
16
|
+
if TYPE_CHECKING:
|
17
|
+
from typing_extensions import Self
|
18
|
+
|
19
|
+
from .warnings import SetuptoolsWarning
|
20
|
+
|
21
|
+
from distutils.command.build_scripts import first_line_re
|
22
|
+
from distutils.util import get_platform
|
23
|
+
|
24
|
+
|
25
|
+
class _SplitArgs(TypedDict, total=False):
|
26
|
+
comments: bool
|
27
|
+
posix: bool
|
28
|
+
|
29
|
+
|
30
|
+
class CommandSpec(list):
|
31
|
+
"""
|
32
|
+
A command spec for a #! header, specified as a list of arguments akin to
|
33
|
+
those passed to Popen.
|
34
|
+
"""
|
35
|
+
|
36
|
+
options: list[str] = []
|
37
|
+
split_args = _SplitArgs()
|
38
|
+
|
39
|
+
@classmethod
|
40
|
+
def best(cls):
|
41
|
+
"""
|
42
|
+
Choose the best CommandSpec class based on environmental conditions.
|
43
|
+
"""
|
44
|
+
return cls
|
45
|
+
|
46
|
+
@classmethod
|
47
|
+
def _sys_executable(cls):
|
48
|
+
_default = os.path.normpath(sys.executable)
|
49
|
+
return os.environ.get('__PYVENV_LAUNCHER__', _default)
|
50
|
+
|
51
|
+
@classmethod
|
52
|
+
def from_param(cls, param: Self | str | Iterable[str] | None) -> Self:
|
53
|
+
"""
|
54
|
+
Construct a CommandSpec from a parameter to build_scripts, which may
|
55
|
+
be None.
|
56
|
+
"""
|
57
|
+
if isinstance(param, cls):
|
58
|
+
return param
|
59
|
+
if isinstance(param, str):
|
60
|
+
return cls.from_string(param)
|
61
|
+
if isinstance(param, Iterable):
|
62
|
+
return cls(param)
|
63
|
+
if param is None:
|
64
|
+
return cls.from_environment()
|
65
|
+
raise TypeError(f"Argument has an unsupported type {type(param)}")
|
66
|
+
|
67
|
+
@classmethod
|
68
|
+
def from_environment(cls):
|
69
|
+
return cls([cls._sys_executable()])
|
70
|
+
|
71
|
+
@classmethod
|
72
|
+
def from_string(cls, string: str) -> Self:
|
73
|
+
"""
|
74
|
+
Construct a command spec from a simple string representing a command
|
75
|
+
line parseable by shlex.split.
|
76
|
+
"""
|
77
|
+
items = shlex.split(string, **cls.split_args)
|
78
|
+
return cls(items)
|
79
|
+
|
80
|
+
def install_options(self, script_text: str):
|
81
|
+
self.options = shlex.split(self._extract_options(script_text))
|
82
|
+
cmdline = subprocess.list2cmdline(self)
|
83
|
+
if not isascii(cmdline):
|
84
|
+
self.options[:0] = ['-x']
|
85
|
+
|
86
|
+
@staticmethod
|
87
|
+
def _extract_options(orig_script):
|
88
|
+
"""
|
89
|
+
Extract any options from the first line of the script.
|
90
|
+
"""
|
91
|
+
first = (orig_script + '\n').splitlines()[0]
|
92
|
+
match = _first_line_re().match(first)
|
93
|
+
options = match.group(1) or '' if match else ''
|
94
|
+
return options.strip()
|
95
|
+
|
96
|
+
def as_header(self):
|
97
|
+
return self._render(self + list(self.options))
|
98
|
+
|
99
|
+
@staticmethod
|
100
|
+
def _strip_quotes(item):
|
101
|
+
_QUOTES = '"\''
|
102
|
+
for q in _QUOTES:
|
103
|
+
if item.startswith(q) and item.endswith(q):
|
104
|
+
return item[1:-1]
|
105
|
+
return item
|
106
|
+
|
107
|
+
@staticmethod
|
108
|
+
def _render(items):
|
109
|
+
cmdline = subprocess.list2cmdline(
|
110
|
+
CommandSpec._strip_quotes(item.strip()) for item in items
|
111
|
+
)
|
112
|
+
return '#!' + cmdline + '\n'
|
113
|
+
|
114
|
+
|
115
|
+
class WindowsCommandSpec(CommandSpec):
|
116
|
+
split_args = _SplitArgs(posix=False)
|
117
|
+
|
118
|
+
|
119
|
+
class ScriptWriter:
|
120
|
+
"""
|
121
|
+
Encapsulates behavior around writing entry point scripts for console and
|
122
|
+
gui apps.
|
123
|
+
"""
|
124
|
+
|
125
|
+
template = textwrap.dedent(
|
126
|
+
r"""
|
127
|
+
# EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
|
128
|
+
import re
|
129
|
+
import sys
|
130
|
+
|
131
|
+
# for compatibility with easy_install; see #2198
|
132
|
+
__requires__ = %(spec)r
|
133
|
+
|
134
|
+
try:
|
135
|
+
from importlib.metadata import distribution
|
136
|
+
except ImportError:
|
137
|
+
try:
|
138
|
+
from importlib_metadata import distribution
|
139
|
+
except ImportError:
|
140
|
+
from pkg_resources import load_entry_point
|
141
|
+
|
142
|
+
|
143
|
+
def importlib_load_entry_point(spec, group, name):
|
144
|
+
dist_name, _, _ = spec.partition('==')
|
145
|
+
matches = (
|
146
|
+
entry_point
|
147
|
+
for entry_point in distribution(dist_name).entry_points
|
148
|
+
if entry_point.group == group and entry_point.name == name
|
149
|
+
)
|
150
|
+
return next(matches).load()
|
151
|
+
|
152
|
+
|
153
|
+
globals().setdefault('load_entry_point', importlib_load_entry_point)
|
154
|
+
|
155
|
+
|
156
|
+
if __name__ == '__main__':
|
157
|
+
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
158
|
+
sys.exit(load_entry_point(%(spec)r, %(group)r, %(name)r)())
|
159
|
+
"""
|
160
|
+
).lstrip()
|
161
|
+
|
162
|
+
command_spec_class = CommandSpec
|
163
|
+
|
164
|
+
@classmethod
|
165
|
+
def get_args(cls, dist, header=None):
|
166
|
+
"""
|
167
|
+
Yield write_script() argument tuples for a distribution's
|
168
|
+
console_scripts and gui_scripts entry points.
|
169
|
+
"""
|
170
|
+
|
171
|
+
# If distribution is not an importlib.metadata.Distribution, assume
|
172
|
+
# it's a pkg_resources.Distribution and transform it.
|
173
|
+
if not hasattr(dist, 'entry_points'):
|
174
|
+
SetuptoolsWarning.emit("Unsupported distribution encountered.")
|
175
|
+
dist = metadata.Distribution.at(dist.egg_info)
|
176
|
+
|
177
|
+
if header is None:
|
178
|
+
header = cls.get_header()
|
179
|
+
spec = f'{dist.name}=={dist.version}'
|
180
|
+
for type_ in 'console', 'gui':
|
181
|
+
group = f'{type_}_scripts'
|
182
|
+
for ep in dist.entry_points.select(group=group):
|
183
|
+
name = ep.name
|
184
|
+
cls._ensure_safe_name(ep.name)
|
185
|
+
script_text = cls.template % locals()
|
186
|
+
args = cls._get_script_args(type_, ep.name, header, script_text)
|
187
|
+
yield from args
|
188
|
+
|
189
|
+
@staticmethod
|
190
|
+
def _ensure_safe_name(name):
|
191
|
+
"""
|
192
|
+
Prevent paths in *_scripts entry point names.
|
193
|
+
"""
|
194
|
+
has_path_sep = re.search(r'[\\/]', name)
|
195
|
+
if has_path_sep:
|
196
|
+
raise ValueError("Path separators not allowed in script names")
|
197
|
+
|
198
|
+
@classmethod
|
199
|
+
def best(cls):
|
200
|
+
"""
|
201
|
+
Select the best ScriptWriter for this environment.
|
202
|
+
"""
|
203
|
+
if sys.platform == 'win32' or (os.name == 'java' and os._name == 'nt'):
|
204
|
+
return WindowsScriptWriter.best()
|
205
|
+
else:
|
206
|
+
return cls
|
207
|
+
|
208
|
+
@classmethod
|
209
|
+
def _get_script_args(cls, type_, name, header, script_text):
|
210
|
+
# Simply write the stub with no extension.
|
211
|
+
yield (name, header + script_text)
|
212
|
+
|
213
|
+
@classmethod
|
214
|
+
def get_header(
|
215
|
+
cls,
|
216
|
+
script_text: str = "",
|
217
|
+
executable: str | CommandSpec | Iterable[str] | None = None,
|
218
|
+
) -> str:
|
219
|
+
"""Create a #! line, getting options (if any) from script_text"""
|
220
|
+
cmd = cls.command_spec_class.best().from_param(executable)
|
221
|
+
cmd.install_options(script_text)
|
222
|
+
return cmd.as_header()
|
223
|
+
|
224
|
+
|
225
|
+
class WindowsScriptWriter(ScriptWriter):
|
226
|
+
command_spec_class = WindowsCommandSpec
|
227
|
+
|
228
|
+
@classmethod
|
229
|
+
def best(cls):
|
230
|
+
"""
|
231
|
+
Select the best ScriptWriter suitable for Windows
|
232
|
+
"""
|
233
|
+
writer_lookup = dict(
|
234
|
+
executable=WindowsExecutableLauncherWriter,
|
235
|
+
natural=cls,
|
236
|
+
)
|
237
|
+
# for compatibility, use the executable launcher by default
|
238
|
+
launcher = os.environ.get('SETUPTOOLS_LAUNCHER', 'executable')
|
239
|
+
return writer_lookup[launcher]
|
240
|
+
|
241
|
+
@classmethod
|
242
|
+
def _get_script_args(cls, type_, name, header, script_text):
|
243
|
+
"For Windows, add a .py extension"
|
244
|
+
ext = dict(console='.pya', gui='.pyw')[type_]
|
245
|
+
if ext not in os.environ['PATHEXT'].lower().split(';'):
|
246
|
+
msg = (
|
247
|
+
"{ext} not listed in PATHEXT; scripts will not be "
|
248
|
+
"recognized as executables."
|
249
|
+
).format(**locals())
|
250
|
+
SetuptoolsWarning.emit(msg)
|
251
|
+
old = ['.pya', '.py', '-script.py', '.pyc', '.pyo', '.pyw', '.exe']
|
252
|
+
old.remove(ext)
|
253
|
+
header = cls._adjust_header(type_, header)
|
254
|
+
blockers = [name + x for x in old]
|
255
|
+
yield name + ext, header + script_text, 't', blockers
|
256
|
+
|
257
|
+
@classmethod
|
258
|
+
def _adjust_header(cls, type_, orig_header):
|
259
|
+
"""
|
260
|
+
Make sure 'pythonw' is used for gui and 'python' is used for
|
261
|
+
console (regardless of what sys.executable is).
|
262
|
+
"""
|
263
|
+
pattern = 'pythonw.exe'
|
264
|
+
repl = 'python.exe'
|
265
|
+
if type_ == 'gui':
|
266
|
+
pattern, repl = repl, pattern
|
267
|
+
pattern_ob = re.compile(re.escape(pattern), re.IGNORECASE)
|
268
|
+
new_header = pattern_ob.sub(string=orig_header, repl=repl)
|
269
|
+
return new_header if cls._use_header(new_header) else orig_header
|
270
|
+
|
271
|
+
@staticmethod
|
272
|
+
def _use_header(new_header):
|
273
|
+
"""
|
274
|
+
Should _adjust_header use the replaced header?
|
275
|
+
|
276
|
+
On non-windows systems, always use. On
|
277
|
+
Windows systems, only use the replaced header if it resolves
|
278
|
+
to an executable on the system.
|
279
|
+
"""
|
280
|
+
clean_header = new_header[2:-1].strip('"')
|
281
|
+
return sys.platform != 'win32' or shutil.which(clean_header)
|
282
|
+
|
283
|
+
|
284
|
+
class WindowsExecutableLauncherWriter(WindowsScriptWriter):
|
285
|
+
@classmethod
|
286
|
+
def _get_script_args(cls, type_, name, header, script_text):
|
287
|
+
"""
|
288
|
+
For Windows, add a .py extension and an .exe launcher
|
289
|
+
"""
|
290
|
+
if type_ == 'gui':
|
291
|
+
launcher_type = 'gui'
|
292
|
+
ext = '-script.pyw'
|
293
|
+
old = ['.pyw']
|
294
|
+
else:
|
295
|
+
launcher_type = 'cli'
|
296
|
+
ext = '-script.py'
|
297
|
+
old = ['.py', '.pyc', '.pyo']
|
298
|
+
hdr = cls._adjust_header(type_, header)
|
299
|
+
blockers = [name + x for x in old]
|
300
|
+
yield (name + ext, hdr + script_text, 't', blockers)
|
301
|
+
yield (
|
302
|
+
name + '.exe',
|
303
|
+
get_win_launcher(launcher_type),
|
304
|
+
'b', # write in binary mode
|
305
|
+
)
|
306
|
+
if not is_64bit():
|
307
|
+
# install a manifest for the launcher to prevent Windows
|
308
|
+
# from detecting it as an installer (which it will for
|
309
|
+
# launchers like easy_install.exe). Consider only
|
310
|
+
# adding a manifest for launchers detected as installers.
|
311
|
+
# See Distribute #143 for details.
|
312
|
+
m_name = name + '.exe.manifest'
|
313
|
+
yield (m_name, load_launcher_manifest(name), 't')
|
314
|
+
|
315
|
+
|
316
|
+
def get_win_launcher(type):
|
317
|
+
"""
|
318
|
+
Load the Windows launcher (executable) suitable for launching a script.
|
319
|
+
|
320
|
+
`type` should be either 'cli' or 'gui'
|
321
|
+
|
322
|
+
Returns the executable as a byte string.
|
323
|
+
"""
|
324
|
+
launcher_fn = f'{type}.exe'
|
325
|
+
if is_64bit():
|
326
|
+
if get_platform() == "win-arm64":
|
327
|
+
launcher_fn = launcher_fn.replace(".", "-arm64.")
|
328
|
+
else:
|
329
|
+
launcher_fn = launcher_fn.replace(".", "-64.")
|
330
|
+
else:
|
331
|
+
launcher_fn = launcher_fn.replace(".", "-32.")
|
332
|
+
return resources.files('setuptools').joinpath(launcher_fn).read_bytes()
|
333
|
+
|
334
|
+
|
335
|
+
def load_launcher_manifest(name):
|
336
|
+
res = resources.files(__name__).joinpath('launcher manifest.xml')
|
337
|
+
return res.read_text(encoding='utf-8') % vars()
|
338
|
+
|
339
|
+
|
340
|
+
def _first_line_re():
|
341
|
+
"""
|
342
|
+
Return a regular expression based on first_line_re suitable for matching
|
343
|
+
strings.
|
344
|
+
"""
|
345
|
+
if isinstance(first_line_re.pattern, str):
|
346
|
+
return first_line_re
|
347
|
+
|
348
|
+
# first_line_re in Python >=3.1.4 and >=3.2.1 is a bytes pattern.
|
349
|
+
return re.compile(first_line_re.pattern.decode())
|
350
|
+
|
351
|
+
|
352
|
+
def is_64bit():
|
353
|
+
return struct.calcsize("P") == 8
|
354
|
+
|
355
|
+
|
356
|
+
def isascii(s):
|
357
|
+
try:
|
358
|
+
s.encode('ascii')
|
359
|
+
except UnicodeError:
|
360
|
+
return False
|
361
|
+
return True
|
@@ -67,9 +67,6 @@ __all__ = [
|
|
67
67
|
'SetupRequirementsError',
|
68
68
|
]
|
69
69
|
|
70
|
-
SETUPTOOLS_ENABLE_FEATURES = os.getenv("SETUPTOOLS_ENABLE_FEATURES", "").lower()
|
71
|
-
LEGACY_EDITABLE = "legacy-editable" in SETUPTOOLS_ENABLE_FEATURES.replace("_", "-")
|
72
|
-
|
73
70
|
|
74
71
|
class SetupRequirementsError(BaseException):
|
75
72
|
def __init__(self, specifiers) -> None:
|
@@ -457,37 +454,30 @@ class _BuildMetaBackend(_ConfigSettingsTranslator):
|
|
457
454
|
assert len(dist_info_candidates) <= 1
|
458
455
|
return str(dist_info_candidates[0]) if dist_info_candidates else None
|
459
456
|
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
):
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
cmd = ["editable_wheel", *opts, *self._editable_args(config_settings)]
|
475
|
-
with suppress_known_deprecation():
|
476
|
-
return self._build_with_temp_dir(
|
477
|
-
cmd, ".whl", wheel_directory, config_settings
|
478
|
-
)
|
457
|
+
def build_editable(
|
458
|
+
self,
|
459
|
+
wheel_directory: StrPath,
|
460
|
+
config_settings: _ConfigSettings = None,
|
461
|
+
metadata_directory: StrPath | None = None,
|
462
|
+
):
|
463
|
+
# XXX can or should we hide our editable_wheel command normally?
|
464
|
+
info_dir = self._get_dist_info_dir(metadata_directory)
|
465
|
+
opts = ["--dist-info-dir", info_dir] if info_dir else []
|
466
|
+
cmd = ["editable_wheel", *opts, *self._editable_args(config_settings)]
|
467
|
+
with suppress_known_deprecation():
|
468
|
+
return self._build_with_temp_dir(
|
469
|
+
cmd, ".whl", wheel_directory, config_settings
|
470
|
+
)
|
479
471
|
|
480
|
-
|
481
|
-
|
482
|
-
):
|
483
|
-
return self.get_requires_for_build_wheel(config_settings)
|
472
|
+
def get_requires_for_build_editable(self, config_settings: _ConfigSettings = None):
|
473
|
+
return self.get_requires_for_build_wheel(config_settings)
|
484
474
|
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
475
|
+
def prepare_metadata_for_build_editable(
|
476
|
+
self, metadata_directory: StrPath, config_settings: _ConfigSettings = None
|
477
|
+
):
|
478
|
+
return self.prepare_metadata_for_build_wheel(
|
479
|
+
metadata_directory, config_settings
|
480
|
+
)
|
491
481
|
|
492
482
|
|
493
483
|
class _BuildMetaLegacyBackend(_BuildMetaBackend):
|
@@ -549,11 +539,9 @@ get_requires_for_build_sdist = _BACKEND.get_requires_for_build_sdist
|
|
549
539
|
prepare_metadata_for_build_wheel = _BACKEND.prepare_metadata_for_build_wheel
|
550
540
|
build_wheel = _BACKEND.build_wheel
|
551
541
|
build_sdist = _BACKEND.build_sdist
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
prepare_metadata_for_build_editable = _BACKEND.prepare_metadata_for_build_editable
|
556
|
-
build_editable = _BACKEND.build_editable
|
542
|
+
get_requires_for_build_editable = _BACKEND.get_requires_for_build_editable
|
543
|
+
prepare_metadata_for_build_editable = _BACKEND.prepare_metadata_for_build_editable
|
544
|
+
build_editable = _BACKEND.build_editable
|
557
545
|
|
558
546
|
|
559
547
|
# The legacy backend
|
@@ -9,7 +9,7 @@ import os
|
|
9
9
|
import re
|
10
10
|
import sys
|
11
11
|
import textwrap
|
12
|
-
from sysconfig import get_path, get_python_version
|
12
|
+
from sysconfig import get_path, get_platform, get_python_version
|
13
13
|
from types import CodeType
|
14
14
|
from typing import TYPE_CHECKING, Literal
|
15
15
|
|
@@ -55,12 +55,12 @@ def write_stub(resource, pyfile) -> None:
|
|
55
55
|
"""
|
56
56
|
def __bootstrap__():
|
57
57
|
global __bootstrap__, __loader__, __file__
|
58
|
-
import sys,
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
58
|
+
import sys, importlib.resources as irs, importlib.util
|
59
|
+
with irs.as_file(irs.files(__name__).joinpath(%r)) as __file__:
|
60
|
+
__loader__ = None; del __bootstrap__, __loader__
|
61
|
+
spec = importlib.util.spec_from_file_location(__name__,__file__)
|
62
|
+
mod = importlib.util.module_from_spec(spec)
|
63
|
+
spec.loader.exec_module(mod)
|
64
64
|
__bootstrap__()
|
65
65
|
"""
|
66
66
|
).lstrip()
|
@@ -77,7 +77,7 @@ class bdist_egg(Command):
|
|
77
77
|
'plat-name=',
|
78
78
|
'p',
|
79
79
|
"platform name to embed in generated filenames "
|
80
|
-
"(by default uses `
|
80
|
+
"(by default uses `sysconfig.get_platform()`)",
|
81
81
|
),
|
82
82
|
('exclude-source-files', None, "remove all .py files from the generated egg"),
|
83
83
|
(
|
@@ -110,9 +110,7 @@ class bdist_egg(Command):
|
|
110
110
|
self.bdist_dir = os.path.join(bdist_base, 'egg')
|
111
111
|
|
112
112
|
if self.plat_name is None:
|
113
|
-
|
114
|
-
|
115
|
-
self.plat_name = get_build_platform()
|
113
|
+
self.plat_name = get_platform()
|
116
114
|
|
117
115
|
self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
|
118
116
|
|
@@ -285,7 +285,7 @@ class bdist_wheel(Command):
|
|
285
285
|
raise ValueError(
|
286
286
|
f"`py_limited_api={self.py_limited_api!r}` not supported. "
|
287
287
|
"`Py_LIMITED_API` is currently incompatible with "
|
288
|
-
"`Py_GIL_DISABLED`."
|
288
|
+
"`Py_GIL_DISABLED`. "
|
289
289
|
"See https://github.com/python/cpython/issues/111506."
|
290
290
|
)
|
291
291
|
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
3
3
|
import itertools
|
4
4
|
import os
|
5
5
|
import sys
|
6
|
+
import textwrap
|
6
7
|
from collections.abc import Iterator
|
7
8
|
from importlib.machinery import EXTENSION_SUFFIXES
|
8
9
|
from importlib.util import cache_from_source as _compiled_file_name
|
@@ -74,10 +75,6 @@ elif os.name != 'nt':
|
|
74
75
|
pass
|
75
76
|
|
76
77
|
|
77
|
-
def if_dl(s):
|
78
|
-
return s if have_rtld else ''
|
79
|
-
|
80
|
-
|
81
78
|
def get_abi3_suffix():
|
82
79
|
"""Return the file extension for an abi3-compliant Extension()"""
|
83
80
|
for suffix in EXTENSION_SUFFIXES:
|
@@ -355,30 +352,34 @@ class build_ext(_build_ext):
|
|
355
352
|
raise BaseError(stub_file + " already exists! Please delete.")
|
356
353
|
if not self.dry_run:
|
357
354
|
with open(stub_file, 'w', encoding="utf-8") as f:
|
358
|
-
content =
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
355
|
+
content = (
|
356
|
+
textwrap.dedent(f"""
|
357
|
+
def __bootstrap__():
|
358
|
+
global __bootstrap__, __file__, __loader__
|
359
|
+
import sys, os, importlib.resources as irs, importlib.util
|
360
|
+
#rtld import dl
|
361
|
+
with irs.files(__name__).joinpath(
|
362
|
+
{os.path.basename(ext._file_name)!r}) as __file__:
|
363
|
+
del __bootstrap__
|
364
|
+
if '__loader__' in globals():
|
365
|
+
del __loader__
|
366
|
+
#rtld old_flags = sys.getdlopenflags()
|
367
|
+
old_dir = os.getcwd()
|
368
|
+
try:
|
369
|
+
os.chdir(os.path.dirname(__file__))
|
370
|
+
#rtld sys.setdlopenflags(dl.RTLD_NOW)
|
371
|
+
spec = importlib.util.spec_from_file_location(
|
372
|
+
__name__, __file__)
|
373
|
+
mod = importlib.util.module_from_spec(spec)
|
374
|
+
spec.loader.exec_module(mod)
|
375
|
+
finally:
|
376
|
+
#rtld sys.setdlopenflags(old_flags)
|
377
|
+
os.chdir(old_dir)
|
378
|
+
__bootstrap__()
|
379
|
+
""")
|
380
|
+
.lstrip()
|
381
|
+
.replace('#rtld', '#rtld' * (not have_rtld))
|
382
|
+
)
|
382
383
|
f.write(content)
|
383
384
|
if compile:
|
384
385
|
self._compile_and_remove_stub(stub_file)
|