py2docfx 0.1.16rc2051518__py3-none-any.whl → 0.1.17__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/babel/py.typed +1 -0
- 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/markupsafe/_speedups.pyi +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/markupsafe/py.typed +0 -0
- 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/py.typed +0 -0
- 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/pip/_vendor/cachecontrol/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/chardet/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/pyparsing/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/tenacity/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/pip/py.typed +4 -0
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +6 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/py.typed +0 -0
- 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/_vendor/importlib_metadata/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -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/sphinx/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/applehelp/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/htmlhelp/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/qthelp/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/sphinxcontrib/serializinghtml/py.typed +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/_version.py +9 -4
- 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/contrib/emscripten/response.py +8 -16
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/contrib/pyopenssl.py +10 -0
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/exceptions.py +12 -4
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/http2/connection.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/poolmanager.py +17 -1
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/py.typed +2 -0
- 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 +22 -2
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_match_hostname.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/wheel/__main__.py +7 -5
- py2docfx/venv/{venv1/Lib/site-packages/wheel/cli → basevenv/Lib/site-packages/wheel/_commands}/__init__.py +3 -5
- py2docfx/venv/{venv1/Lib/site-packages/wheel/cli → basevenv/Lib/site-packages/wheel/_commands}/convert.py +14 -9
- py2docfx/venv/{venv1/Lib/site-packages/wheel/cli → basevenv/Lib/site-packages/wheel/_commands}/pack.py +1 -2
- py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/tags.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/wheel/_metadata.py +184 -0
- py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +12 -23
- py2docfx/venv/basevenv/Lib/site-packages/wheel/macosx_libfile.py +4 -0
- py2docfx/venv/basevenv/Lib/site-packages/wheel/metadata.py +17 -183
- py2docfx/venv/basevenv/Lib/site-packages/wheel/wheelfile.py +30 -16
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/instrumentation.py +67 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +152 -29
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +3 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +3 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +3 -8
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +1 -2
- 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/polling/base_polling.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_aiohttp.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl_async.py +3 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_asyncio.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_rest_py3.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +27 -21
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/__init__.py +3 -7
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +2 -35
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_models.py +71 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +12 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +66 -13
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +62 -23
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/opentelemetry.py +256 -0
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_connection_string_parser.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_messaging_shared.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +1 -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 +2 -2
- 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/azure/identity/py.typed +0 -0
- 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/certifi/py.typed +0 -0
- 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/py.typed +0 -0
- 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 +37 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/_openssl.pyi +8 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi +7 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/exceptions.pyi +17 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi +117 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +75 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +107 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ciphers.pyi +38 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/cmac.pyi +18 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/dh.pyi +51 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi +41 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ec.pyi +52 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +28 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +22 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +49 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +34 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +15 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/rsa.pyi +55 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +13 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +52 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +50 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +23 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +313 -0
- 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/py.typed +0 -0
- 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/annotations_pb2.pyi +24 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/auth_pb2.pyi +120 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/backend_pb2.pyi +102 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/billing_pb2.pyi +50 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.pyi +405 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/config_change_pb2.pyi +65 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/consumer_pb2.pyi +62 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/context_pb2.pyi +60 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/control_pb2.pyi +43 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/distribution_pb2.pyi +144 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/documentation_pb2.pyi +86 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/endpoint_pb2.pyi +41 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.pyi +90 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/field_behavior_pb2.pyi +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/field_info_pb2.pyi +60 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/http_pb2.pyi +94 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.pyi +41 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/label_pb2.pyi +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/launch_stage_pb2.pyi +40 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/log_pb2.pyi +47 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/logging_pb2.pyi +57 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.pyi +186 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/monitored_resource_pb2.pyi +104 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/monitoring_pb2.pyi +57 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/policy_pb2.pyi +57 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/quota_pb2.pyi +116 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/resource_pb2.pyi +93 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/routing_pb2.pyi +49 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/service_pb2.pyi +170 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/source_info_pb2.pyi +34 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/system_parameter_pb2.pyi +60 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/usage_pb2.pyi +55 -0
- py2docfx/venv/venv1/Lib/site-packages/google/api/visibility_pb2.pyi +56 -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/py.typed +2 -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/py.typed +2 -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/cloud/extended_operations_pb2.pyi +45 -0
- py2docfx/venv/venv1/Lib/site-packages/google/cloud/location/locations_pb2.pyi +96 -0
- py2docfx/venv/venv1/Lib/site-packages/google/gapic/metadata/gapic_metadata_pb2.pyi +118 -0
- py2docfx/venv/venv1/Lib/site-packages/google/logging/type/http_request_pb2.pyi +91 -0
- py2docfx/venv/venv1/Lib/site-packages/google/logging/type/log_severity_pb2.pyi +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/longrunning/operations_proto_pb2.pyi +126 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/id_token.py +12 -0
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/py.typed +2 -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/code_pb2.pyi +58 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/attribute_context_pb2.pyi +309 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/context/audit_context_pb2.pyi +51 -0
- 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 +246 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/http_pb2.pyi +71 -0
- py2docfx/venv/venv1/Lib/site-packages/google/rpc/status_pb2.pyi +41 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/calendar_period_pb2.pyi +40 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/color_pb2.pyi +42 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/date_pb2.pyi +36 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/datetime_pb2.pyi +77 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/dayofweek_pb2.pyi +40 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/decimal_pb2.pyi +27 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/expr_pb2.pyi +39 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/fraction_pb2.pyi +31 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/interval_pb2.pyi +36 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/latlng_pb2.pyi +31 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/localized_text_pb2.pyi +31 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/money_pb2.pyi +36 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/month_pb2.pyi +50 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/phone_number_pb2.pyi +48 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/postal_address_pb2.pyi +74 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/quaternion_pb2.pyi +39 -0
- py2docfx/venv/venv1/Lib/site-packages/google/type/timeofday_pb2.pyi +39 -0
- py2docfx/venv/venv1/Lib/site-packages/idna/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/py.typed +0 -0
- 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 +15 -0
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_elffile.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_manylinux.py +13 -11
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_musllinux.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_parser.py +12 -15
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_tokenizer.py +15 -12
- py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/markers.py +148 -39
- py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +862 -0
- py2docfx/venv/venv1/Lib/site-packages/packaging/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/requirements.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/specifiers.py +41 -33
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/tags.py +135 -50
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/utils.py +39 -48
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/version.py +53 -32
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/certifi/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/chardet/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/distro/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/idna/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/packaging/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/pyparsing/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/rich/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/tenacity/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/tomli/py.typed +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/_vendor/truststore/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pip/py.typed +4 -0
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +6 -7
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/py.typed +0 -0
- 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 -0
- 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/_vendor/importlib_metadata/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/collections/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/typeguard/py.typed +0 -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 +380 -708
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +9 -4
- 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/contrib/emscripten/response.py +8 -16
- py2docfx/venv/venv1/Lib/site-packages/urllib3/contrib/pyopenssl.py +10 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/exceptions.py +12 -4
- py2docfx/venv/venv1/Lib/site-packages/urllib3/http2/connection.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/urllib3/poolmanager.py +17 -1
- py2docfx/venv/venv1/Lib/site-packages/urllib3/py.typed +2 -0
- 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 +22 -2
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_match_hostname.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/wheel/__main__.py +7 -5
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/cli → venv1/Lib/site-packages/wheel/_commands}/__init__.py +3 -5
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/cli → venv1/Lib/site-packages/wheel/_commands}/convert.py +14 -9
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/cli → venv1/Lib/site-packages/wheel/_commands}/pack.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/tags.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/wheel/_metadata.py +184 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +12 -23
- py2docfx/venv/venv1/Lib/site-packages/wheel/macosx_libfile.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/metadata.py +17 -183
- py2docfx/venv/venv1/Lib/site-packages/wheel/wheelfile.py +30 -16
- {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/METADATA +2 -3
- {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/RECORD +588 -427
- {py2docfx-0.1.16rc2051518.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/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +0 -613
- py2docfx/venv/basevenv/Lib/site-packages/wheel/_setuptools_logging.py +0 -26
- py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -17
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_manylinux.py +0 -260
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -356
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_tokenizer.py +0 -192
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -253
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -90
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -1011
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -172
- 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/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +0 -613
- py2docfx/venv/venv1/Lib/site-packages/wheel/_setuptools_logging.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -17
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_elffile.py +0 -108
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_musllinux.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/_structures.py +0 -61
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -571
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/version.py +0 -561
- /py2docfx/venv/basevenv/Lib/site-packages/{wheel/vendored/__init__.py → certifi/py.typed} +0 -0
- /py2docfx/venv/basevenv/Lib/site-packages/{wheel/vendored/packaging/__init__.py → charset_normalizer/py.typed} +0 -0
- /py2docfx/venv/{venv1/Lib/site-packages/wheel/vendored/__init__.py → basevenv/Lib/site-packages/idna/py.typed} +0 -0
- /py2docfx/venv/{venv1/Lib/site-packages/wheel/vendored/packaging/__init__.py → basevenv/Lib/site-packages/jinja2/py.typed} +0 -0
- /py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/unpack.py +0 -0
- /py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_structures.py +0 -0
- /py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/unpack.py +0 -0
- {py2docfx-0.1.16rc2051518.dist-info → py2docfx-0.1.17.dist-info}/top_level.txt +0 -0
@@ -74,7 +74,7 @@ port_by_scheme = {"http": 80, "https": 443}
|
|
74
74
|
|
75
75
|
# When it comes time to update this value as a part of regular maintenance
|
76
76
|
# (ie test_recent_date is failing) update it to ~6 months before the current date.
|
77
|
-
RECENT_DATE = datetime.date(
|
77
|
+
RECENT_DATE = datetime.date(2025, 1, 1)
|
78
78
|
|
79
79
|
_CONTAINS_CONTROL_CHAR_RE = re.compile(r"[^-!#$%&'*+.^_`|~0-9a-zA-Z]")
|
80
80
|
|
@@ -232,45 +232,94 @@ class HTTPConnection(_HTTPConnection):
|
|
232
232
|
super().set_tunnel(host, port=port, headers=headers)
|
233
233
|
self._tunnel_scheme = scheme
|
234
234
|
|
235
|
-
if sys.version_info < (3, 11,
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
if
|
268
|
-
|
235
|
+
if sys.version_info < (3, 11, 9) or ((3, 12) <= sys.version_info < (3, 12, 3)):
|
236
|
+
# Taken from python/cpython#100986 which was backported in 3.11.9 and 3.12.3.
|
237
|
+
# When using connection_from_host, host will come without brackets.
|
238
|
+
def _wrap_ipv6(self, ip: bytes) -> bytes:
|
239
|
+
if b":" in ip and ip[0] != b"["[0]:
|
240
|
+
return b"[" + ip + b"]"
|
241
|
+
return ip
|
242
|
+
|
243
|
+
if sys.version_info < (3, 11, 9):
|
244
|
+
# `_tunnel` copied from 3.11.13 backporting
|
245
|
+
# https://github.com/python/cpython/commit/0d4026432591d43185568dd31cef6a034c4b9261
|
246
|
+
# and https://github.com/python/cpython/commit/6fbc61070fda2ffb8889e77e3b24bca4249ab4d1
|
247
|
+
def _tunnel(self) -> None:
|
248
|
+
_MAXLINE = http.client._MAXLINE # type: ignore[attr-defined]
|
249
|
+
connect = b"CONNECT %s:%d HTTP/1.0\r\n" % ( # type: ignore[str-format]
|
250
|
+
self._wrap_ipv6(self._tunnel_host.encode("ascii")), # type: ignore[union-attr]
|
251
|
+
self._tunnel_port,
|
252
|
+
)
|
253
|
+
headers = [connect]
|
254
|
+
for header, value in self._tunnel_headers.items(): # type: ignore[attr-defined]
|
255
|
+
headers.append(f"{header}: {value}\r\n".encode("latin-1"))
|
256
|
+
headers.append(b"\r\n")
|
257
|
+
# Making a single send() call instead of one per line encourages
|
258
|
+
# the host OS to use a more optimal packet size instead of
|
259
|
+
# potentially emitting a series of small packets.
|
260
|
+
self.send(b"".join(headers))
|
261
|
+
del headers
|
262
|
+
|
263
|
+
response = self.response_class(self.sock, method=self._method) # type: ignore[attr-defined]
|
264
|
+
try:
|
265
|
+
(version, code, message) = response._read_status() # type: ignore[attr-defined]
|
266
|
+
|
267
|
+
if code != http.HTTPStatus.OK:
|
268
|
+
self.close()
|
269
|
+
raise OSError(
|
270
|
+
f"Tunnel connection failed: {code} {message.strip()}"
|
271
|
+
)
|
272
|
+
while True:
|
273
|
+
line = response.fp.readline(_MAXLINE + 1)
|
274
|
+
if len(line) > _MAXLINE:
|
275
|
+
raise http.client.LineTooLong("header line")
|
276
|
+
if not line:
|
277
|
+
# for sites which EOF without sending a trailer
|
278
|
+
break
|
279
|
+
if line in (b"\r\n", b"\n", b""):
|
280
|
+
break
|
281
|
+
|
282
|
+
if self.debuglevel > 0:
|
283
|
+
print("header:", line.decode())
|
284
|
+
finally:
|
285
|
+
response.close()
|
286
|
+
|
287
|
+
elif (3, 12) <= sys.version_info < (3, 12, 3):
|
288
|
+
# `_tunnel` copied from 3.12.11 backporting
|
289
|
+
# https://github.com/python/cpython/commit/23aef575c7629abcd4aaf028ebd226fb41a4b3c8
|
290
|
+
def _tunnel(self) -> None: # noqa: F811
|
291
|
+
connect = b"CONNECT %s:%d HTTP/1.1\r\n" % ( # type: ignore[str-format]
|
292
|
+
self._wrap_ipv6(self._tunnel_host.encode("idna")), # type: ignore[union-attr]
|
293
|
+
self._tunnel_port,
|
294
|
+
)
|
295
|
+
headers = [connect]
|
296
|
+
for header, value in self._tunnel_headers.items(): # type: ignore[attr-defined]
|
297
|
+
headers.append(f"{header}: {value}\r\n".encode("latin-1"))
|
298
|
+
headers.append(b"\r\n")
|
299
|
+
# Making a single send() call instead of one per line encourages
|
300
|
+
# the host OS to use a more optimal packet size instead of
|
301
|
+
# potentially emitting a series of small packets.
|
302
|
+
self.send(b"".join(headers))
|
303
|
+
del headers
|
304
|
+
|
305
|
+
response = self.response_class(self.sock, method=self._method) # type: ignore[attr-defined]
|
306
|
+
try:
|
307
|
+
(version, code, message) = response._read_status() # type: ignore[attr-defined]
|
308
|
+
|
309
|
+
self._raw_proxy_headers = http.client._read_headers(response.fp) # type: ignore[attr-defined]
|
269
310
|
|
270
311
|
if self.debuglevel > 0:
|
271
|
-
|
272
|
-
|
273
|
-
|
312
|
+
for header in self._raw_proxy_headers:
|
313
|
+
print("header:", header.decode())
|
314
|
+
|
315
|
+
if code != http.HTTPStatus.OK:
|
316
|
+
self.close()
|
317
|
+
raise OSError(
|
318
|
+
f"Tunnel connection failed: {code} {message.strip()}"
|
319
|
+
)
|
320
|
+
|
321
|
+
finally:
|
322
|
+
response.close()
|
274
323
|
|
275
324
|
def connect(self) -> None:
|
276
325
|
self.sock = self._new_conn()
|
@@ -573,6 +573,11 @@ def send_jspi_request(
|
|
573
573
|
"method": request.method,
|
574
574
|
"signal": js_abort_controller.signal,
|
575
575
|
}
|
576
|
+
# Node.js returns the whole response (unlike opaqueredirect in browsers),
|
577
|
+
# so urllib3 can set `redirect: manual` to control redirects itself.
|
578
|
+
# https://stackoverflow.com/a/78524615
|
579
|
+
if _is_node_js():
|
580
|
+
fetch_data["redirect"] = "manual"
|
576
581
|
# Call JavaScript fetch (async api, returns a promise)
|
577
582
|
fetcher_promise_js = js.fetch(request.url, _obj_from_dict(fetch_data))
|
578
583
|
# Now suspend WebAssembly until we resolve that promise
|
@@ -693,6 +698,21 @@ def has_jspi() -> bool:
|
|
693
698
|
return False
|
694
699
|
|
695
700
|
|
701
|
+
def _is_node_js() -> bool:
|
702
|
+
"""
|
703
|
+
Check if we are in Node.js.
|
704
|
+
|
705
|
+
:return: True if we are in Node.js.
|
706
|
+
:rtype: bool
|
707
|
+
"""
|
708
|
+
return (
|
709
|
+
hasattr(js, "process")
|
710
|
+
and hasattr(js.process, "release")
|
711
|
+
# According to the Node.js documentation, the release name is always "node".
|
712
|
+
and js.process.release.name == "node"
|
713
|
+
)
|
714
|
+
|
715
|
+
|
696
716
|
def streaming_ready() -> bool | None:
|
697
717
|
if _fetcher:
|
698
718
|
return _fetcher.streaming_ready
|
@@ -160,26 +160,18 @@ class EmscriptenHttpResponseWrapper(BaseHTTPResponse):
|
|
160
160
|
# don't cache partial content
|
161
161
|
cache_content = False
|
162
162
|
data = self._response.body.read(amt)
|
163
|
-
if self.length_remaining is not None:
|
164
|
-
self.length_remaining = max(self.length_remaining - len(data), 0)
|
165
|
-
if (self.length_is_certain and self.length_remaining == 0) or len(
|
166
|
-
data
|
167
|
-
) < amt:
|
168
|
-
# definitely finished reading, close response stream
|
169
|
-
self._response.body.close()
|
170
|
-
return typing.cast(bytes, data)
|
171
163
|
else: # read all we can (and cache it)
|
172
164
|
data = self._response.body.read()
|
173
165
|
if cache_content:
|
174
166
|
self._body = data
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
167
|
+
if self.length_remaining is not None:
|
168
|
+
self.length_remaining = max(self.length_remaining - len(data), 0)
|
169
|
+
if len(data) == 0 or (
|
170
|
+
self.length_is_certain and self.length_remaining == 0
|
171
|
+
):
|
172
|
+
# definitely finished reading, close response stream
|
173
|
+
self._response.body.close()
|
174
|
+
return typing.cast(bytes, data)
|
183
175
|
|
184
176
|
def read_chunked(
|
185
177
|
self,
|
@@ -424,6 +424,7 @@ class PyOpenSSLContext:
|
|
424
424
|
self.check_hostname = False
|
425
425
|
self._minimum_version: int = ssl.TLSVersion.MINIMUM_SUPPORTED
|
426
426
|
self._maximum_version: int = ssl.TLSVersion.MAXIMUM_SUPPORTED
|
427
|
+
self._verify_flags: int = ssl.VERIFY_X509_TRUSTED_FIRST
|
427
428
|
|
428
429
|
@property
|
429
430
|
def options(self) -> int:
|
@@ -434,6 +435,15 @@ class PyOpenSSLContext:
|
|
434
435
|
self._options = value
|
435
436
|
self._set_ctx_options()
|
436
437
|
|
438
|
+
@property
|
439
|
+
def verify_flags(self) -> int:
|
440
|
+
return self._verify_flags
|
441
|
+
|
442
|
+
@verify_flags.setter
|
443
|
+
def verify_flags(self, value: int) -> None:
|
444
|
+
self._verify_flags = value
|
445
|
+
self._ctx.get_cert_store().set_flags(self._verify_flags)
|
446
|
+
|
437
447
|
@property
|
438
448
|
def verify_mode(self) -> int:
|
439
449
|
return _openssl_to_stdlib_verify[self._ctx.get_verify_mode()]
|
@@ -31,11 +31,12 @@ class PoolError(HTTPError):
|
|
31
31
|
|
32
32
|
def __init__(self, pool: ConnectionPool, message: str) -> None:
|
33
33
|
self.pool = pool
|
34
|
+
self._message = message
|
34
35
|
super().__init__(f"{pool}: {message}")
|
35
36
|
|
36
37
|
def __reduce__(self) -> _TYPE_REDUCE_RESULT:
|
37
38
|
# For pickling purposes.
|
38
|
-
return self.__class__, (None,
|
39
|
+
return self.__class__, (None, self._message)
|
39
40
|
|
40
41
|
|
41
42
|
class RequestError(PoolError):
|
@@ -47,7 +48,7 @@ class RequestError(PoolError):
|
|
47
48
|
|
48
49
|
def __reduce__(self) -> _TYPE_REDUCE_RESULT:
|
49
50
|
# For pickling purposes.
|
50
|
-
return self.__class__, (None, self.url,
|
51
|
+
return self.__class__, (None, self.url, self._message)
|
51
52
|
|
52
53
|
|
53
54
|
class SSLError(HTTPError):
|
@@ -100,6 +101,10 @@ class MaxRetryError(RequestError):
|
|
100
101
|
|
101
102
|
super().__init__(pool, url, message)
|
102
103
|
|
104
|
+
def __reduce__(self) -> _TYPE_REDUCE_RESULT:
|
105
|
+
# For pickling purposes.
|
106
|
+
return self.__class__, (None, self.url, self.reason)
|
107
|
+
|
103
108
|
|
104
109
|
class HostChangedError(RequestError):
|
105
110
|
"""Raised when an existing pool gets a request for a foreign host."""
|
@@ -139,11 +144,12 @@ class NewConnectionError(ConnectTimeoutError, HTTPError):
|
|
139
144
|
|
140
145
|
def __init__(self, conn: HTTPConnection, message: str) -> None:
|
141
146
|
self.conn = conn
|
147
|
+
self._message = message
|
142
148
|
super().__init__(f"{conn}: {message}")
|
143
149
|
|
144
150
|
def __reduce__(self) -> _TYPE_REDUCE_RESULT:
|
145
151
|
# For pickling purposes.
|
146
|
-
return self.__class__, (None,
|
152
|
+
return self.__class__, (None, self._message)
|
147
153
|
|
148
154
|
@property
|
149
155
|
def pool(self) -> HTTPConnection:
|
@@ -162,11 +168,13 @@ class NameResolutionError(NewConnectionError):
|
|
162
168
|
|
163
169
|
def __init__(self, host: str, conn: HTTPConnection, reason: socket.gaierror):
|
164
170
|
message = f"Failed to resolve '{host}' ({reason})"
|
171
|
+
self._host = host
|
172
|
+
self._reason = reason
|
165
173
|
super().__init__(conn, message)
|
166
174
|
|
167
175
|
def __reduce__(self) -> _TYPE_REDUCE_RESULT:
|
168
176
|
# For pickling purposes.
|
169
|
-
return self.__class__, (
|
177
|
+
return self.__class__, (self._host, None, self._reason)
|
170
178
|
|
171
179
|
|
172
180
|
class EmptyPoolError(PoolError):
|
@@ -140,7 +140,7 @@ class HTTP2Connection(HTTPSConnection):
|
|
140
140
|
with self._h2_conn as conn:
|
141
141
|
self._h2_stream = conn.get_next_available_stream_id()
|
142
142
|
|
143
|
-
def putheader(self, header: str | bytes, *values: str | bytes) -> None:
|
143
|
+
def putheader(self, header: str | bytes, *values: str | bytes) -> None: # type: ignore[override]
|
144
144
|
# TODO SKIPPABLE_HEADERS from urllib3 are ignored.
|
145
145
|
header = header.encode() if isinstance(header, str) else header
|
146
146
|
header = header.lower() # A lot of upstream code uses capitalized headers.
|
@@ -203,6 +203,22 @@ class PoolManager(RequestMethods):
|
|
203
203
|
**connection_pool_kw: typing.Any,
|
204
204
|
) -> None:
|
205
205
|
super().__init__(headers)
|
206
|
+
if "retries" in connection_pool_kw:
|
207
|
+
retries = connection_pool_kw["retries"]
|
208
|
+
if not isinstance(retries, Retry):
|
209
|
+
# When Retry is initialized, raise_on_redirect is based
|
210
|
+
# on a redirect boolean value.
|
211
|
+
# But requests made via a pool manager always set
|
212
|
+
# redirect to False, and raise_on_redirect always ends
|
213
|
+
# up being False consequently.
|
214
|
+
# Here we fix the issue by setting raise_on_redirect to
|
215
|
+
# a value needed by the pool manager without considering
|
216
|
+
# the redirect boolean.
|
217
|
+
raise_on_redirect = retries is not False
|
218
|
+
retries = Retry.from_int(retries, redirect=False)
|
219
|
+
retries.raise_on_redirect = raise_on_redirect
|
220
|
+
connection_pool_kw = connection_pool_kw.copy()
|
221
|
+
connection_pool_kw["retries"] = retries
|
206
222
|
self.connection_pool_kw = connection_pool_kw
|
207
223
|
|
208
224
|
self.pools: RecentlyUsedContainer[PoolKey, HTTPConnectionPool]
|
@@ -456,7 +472,7 @@ class PoolManager(RequestMethods):
|
|
456
472
|
kw["body"] = None
|
457
473
|
kw["headers"] = HTTPHeaderDict(kw["headers"])._prepare_for_method_change()
|
458
474
|
|
459
|
-
retries = kw.get("retries")
|
475
|
+
retries = kw.get("retries", response.retries)
|
460
476
|
if not isinstance(retries, Retry):
|
461
477
|
retries = Retry.from_int(retries, redirect=redirect)
|
462
478
|
|
@@ -26,23 +26,6 @@ try:
|
|
26
26
|
except ImportError:
|
27
27
|
brotli = None
|
28
28
|
|
29
|
-
try:
|
30
|
-
import zstandard as zstd
|
31
|
-
except (AttributeError, ImportError, ValueError): # Defensive:
|
32
|
-
HAS_ZSTD = False
|
33
|
-
else:
|
34
|
-
# The package 'zstandard' added the 'eof' property starting
|
35
|
-
# in v0.18.0 which we require to ensure a complete and
|
36
|
-
# valid zstd stream was fed into the ZstdDecoder.
|
37
|
-
# See: https://github.com/urllib3/urllib3/pull/2624
|
38
|
-
_zstd_version = tuple(
|
39
|
-
map(int, re.search(r"^([0-9]+)\.([0-9]+)", zstd.__version__).groups()) # type: ignore[union-attr]
|
40
|
-
)
|
41
|
-
if _zstd_version < (0, 18): # Defensive:
|
42
|
-
HAS_ZSTD = False
|
43
|
-
else:
|
44
|
-
HAS_ZSTD = True
|
45
|
-
|
46
29
|
from . import util
|
47
30
|
from ._base_connection import _TYPE_BODY
|
48
31
|
from ._collections import HTTPHeaderDict
|
@@ -163,11 +146,15 @@ if brotli is not None:
|
|
163
146
|
return b""
|
164
147
|
|
165
148
|
|
166
|
-
|
149
|
+
try:
|
150
|
+
# Python 3.14+
|
151
|
+
from compression import zstd # type: ignore[import-not-found] # noqa: F401
|
152
|
+
|
153
|
+
HAS_ZSTD = True
|
167
154
|
|
168
155
|
class ZstdDecoder(ContentDecoder):
|
169
156
|
def __init__(self) -> None:
|
170
|
-
self._obj = zstd.ZstdDecompressor()
|
157
|
+
self._obj = zstd.ZstdDecompressor()
|
171
158
|
|
172
159
|
def decompress(self, data: bytes) -> bytes:
|
173
160
|
if not data:
|
@@ -175,15 +162,53 @@ if HAS_ZSTD:
|
|
175
162
|
data_parts = [self._obj.decompress(data)]
|
176
163
|
while self._obj.eof and self._obj.unused_data:
|
177
164
|
unused_data = self._obj.unused_data
|
178
|
-
self._obj = zstd.ZstdDecompressor()
|
165
|
+
self._obj = zstd.ZstdDecompressor()
|
179
166
|
data_parts.append(self._obj.decompress(unused_data))
|
180
167
|
return b"".join(data_parts)
|
181
168
|
|
182
169
|
def flush(self) -> bytes:
|
183
|
-
ret = self._obj.flush() # note: this is a no-op
|
184
170
|
if not self._obj.eof:
|
185
171
|
raise DecodeError("Zstandard data is incomplete")
|
186
|
-
return
|
172
|
+
return b""
|
173
|
+
|
174
|
+
except ImportError:
|
175
|
+
try:
|
176
|
+
# Python 3.13 and earlier require the 'zstandard' module.
|
177
|
+
import zstandard as zstd
|
178
|
+
|
179
|
+
# The package 'zstandard' added the 'eof' property starting
|
180
|
+
# in v0.18.0 which we require to ensure a complete and
|
181
|
+
# valid zstd stream was fed into the ZstdDecoder.
|
182
|
+
# See: https://github.com/urllib3/urllib3/pull/2624
|
183
|
+
_zstd_version = tuple(
|
184
|
+
map(int, re.search(r"^([0-9]+)\.([0-9]+)", zstd.__version__).groups()) # type: ignore[union-attr]
|
185
|
+
)
|
186
|
+
if _zstd_version < (0, 18): # Defensive:
|
187
|
+
raise ImportError("zstandard module doesn't have eof")
|
188
|
+
except (AttributeError, ImportError, ValueError): # Defensive:
|
189
|
+
HAS_ZSTD = False
|
190
|
+
else:
|
191
|
+
HAS_ZSTD = True
|
192
|
+
|
193
|
+
class ZstdDecoder(ContentDecoder): # type: ignore[no-redef]
|
194
|
+
def __init__(self) -> None:
|
195
|
+
self._obj = zstd.ZstdDecompressor().decompressobj()
|
196
|
+
|
197
|
+
def decompress(self, data: bytes) -> bytes:
|
198
|
+
if not data:
|
199
|
+
return b""
|
200
|
+
data_parts = [self._obj.decompress(data)]
|
201
|
+
while self._obj.eof and self._obj.unused_data:
|
202
|
+
unused_data = self._obj.unused_data
|
203
|
+
self._obj = zstd.ZstdDecompressor().decompressobj()
|
204
|
+
data_parts.append(self._obj.decompress(unused_data))
|
205
|
+
return b"".join(data_parts)
|
206
|
+
|
207
|
+
def flush(self) -> bytes:
|
208
|
+
ret = self._obj.flush() # note: this is a no-op
|
209
|
+
if not self._obj.eof:
|
210
|
+
raise DecodeError("Zstandard data is incomplete")
|
211
|
+
return ret # type: ignore[no-any-return]
|
187
212
|
|
188
213
|
|
189
214
|
class MultiDecoder(ContentDecoder):
|
@@ -518,7 +543,7 @@ class BaseHTTPResponse(io.IOBase):
|
|
518
543
|
def getheaders(self) -> HTTPHeaderDict:
|
519
544
|
warnings.warn(
|
520
545
|
"HTTPResponse.getheaders() is deprecated and will be removed "
|
521
|
-
"in urllib3 v2.
|
546
|
+
"in urllib3 v2.6.0. Instead access HTTPResponse.headers directly.",
|
522
547
|
category=DeprecationWarning,
|
523
548
|
stacklevel=2,
|
524
549
|
)
|
@@ -527,7 +552,7 @@ class BaseHTTPResponse(io.IOBase):
|
|
527
552
|
def getheader(self, name: str, default: str | None = None) -> str | None:
|
528
553
|
warnings.warn(
|
529
554
|
"HTTPResponse.getheader() is deprecated and will be removed "
|
530
|
-
"in urllib3 v2.
|
555
|
+
"in urllib3 v2.6.0. Instead use HTTPResponse.headers.get(name, default).",
|
531
556
|
category=DeprecationWarning,
|
532
557
|
stacklevel=2,
|
533
558
|
)
|
@@ -1075,6 +1100,10 @@ class HTTPResponse(BaseHTTPResponse):
|
|
1075
1100
|
def shutdown(self) -> None:
|
1076
1101
|
if not self._sock_shutdown:
|
1077
1102
|
raise ValueError("Cannot shutdown socket as self._sock_shutdown is not set")
|
1103
|
+
if self._connection is None:
|
1104
|
+
raise RuntimeError(
|
1105
|
+
"Cannot shutdown as connection has already been released to the pool"
|
1106
|
+
)
|
1078
1107
|
self._sock_shutdown(socket.SHUT_RD)
|
1079
1108
|
|
1080
1109
|
def close(self) -> None:
|
@@ -28,12 +28,20 @@ except ImportError:
|
|
28
28
|
pass
|
29
29
|
else:
|
30
30
|
ACCEPT_ENCODING += ",br"
|
31
|
+
|
31
32
|
try:
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
from compression import ( # type: ignore[import-not-found] # noqa: F401
|
34
|
+
zstd as _unused_module_zstd,
|
35
|
+
)
|
36
|
+
|
36
37
|
ACCEPT_ENCODING += ",zstd"
|
38
|
+
except ImportError:
|
39
|
+
try:
|
40
|
+
import zstandard as _unused_module_zstd # noqa: F401
|
41
|
+
|
42
|
+
ACCEPT_ENCODING += ",zstd"
|
43
|
+
except ImportError:
|
44
|
+
pass
|
37
45
|
|
38
46
|
|
39
47
|
class _TYPE_FAILEDTELL(Enum):
|
@@ -101,6 +101,7 @@ try: # Do we have ssl at all?
|
|
101
101
|
OPENSSL_VERSION_NUMBER,
|
102
102
|
PROTOCOL_TLS,
|
103
103
|
PROTOCOL_TLS_CLIENT,
|
104
|
+
VERIFY_X509_STRICT,
|
104
105
|
OP_NO_SSLv2,
|
105
106
|
OP_NO_SSLv3,
|
106
107
|
SSLContext,
|
@@ -109,6 +110,9 @@ try: # Do we have ssl at all?
|
|
109
110
|
|
110
111
|
PROTOCOL_SSLv23 = PROTOCOL_TLS
|
111
112
|
|
113
|
+
# Needed for Python 3.9 which does not define this
|
114
|
+
VERIFY_X509_PARTIAL_CHAIN = getattr(ssl, "VERIFY_X509_PARTIAL_CHAIN", 0x80000)
|
115
|
+
|
112
116
|
# Setting SSLContext.hostname_checks_common_name = False didn't work before CPython
|
113
117
|
# 3.9.3, and 3.10 (but OK on PyPy) or OpenSSL 1.1.1l+
|
114
118
|
if HAS_NEVER_CHECK_COMMON_NAME and not _is_has_never_check_common_name_reliable(
|
@@ -117,7 +121,7 @@ try: # Do we have ssl at all?
|
|
117
121
|
sys.implementation.name,
|
118
122
|
sys.version_info,
|
119
123
|
sys.pypy_version_info if sys.implementation.name == "pypy" else None, # type: ignore[attr-defined]
|
120
|
-
):
|
124
|
+
): # Defensive: for Python < 3.9.3
|
121
125
|
HAS_NEVER_CHECK_COMMON_NAME = False
|
122
126
|
|
123
127
|
# Need to be careful here in case old TLS versions get
|
@@ -138,6 +142,8 @@ except ImportError:
|
|
138
142
|
OP_NO_SSLv3 = 0x2000000 # type: ignore[assignment]
|
139
143
|
PROTOCOL_SSLv23 = PROTOCOL_TLS = 2 # type: ignore[assignment]
|
140
144
|
PROTOCOL_TLS_CLIENT = 16 # type: ignore[assignment]
|
145
|
+
VERIFY_X509_PARTIAL_CHAIN = 0x80000
|
146
|
+
VERIFY_X509_STRICT = 0x20 # type: ignore[assignment]
|
141
147
|
|
142
148
|
|
143
149
|
_TYPE_PEER_CERT_RET = typing.Union["_TYPE_PEER_CERT_RET_DICT", bytes, None]
|
@@ -223,6 +229,7 @@ def create_urllib3_context(
|
|
223
229
|
ciphers: str | None = None,
|
224
230
|
ssl_minimum_version: int | None = None,
|
225
231
|
ssl_maximum_version: int | None = None,
|
232
|
+
verify_flags: int | None = None,
|
226
233
|
) -> ssl.SSLContext:
|
227
234
|
"""Creates and configures an :class:`ssl.SSLContext` instance for use with urllib3.
|
228
235
|
|
@@ -247,6 +254,9 @@ def create_urllib3_context(
|
|
247
254
|
:param ciphers:
|
248
255
|
Which cipher suites to allow the server to select. Defaults to either system configured
|
249
256
|
ciphers if OpenSSL 1.1.1+, otherwise uses a secure default set of ciphers.
|
257
|
+
:param verify_flags:
|
258
|
+
The flags for certificate verification operations. These default to
|
259
|
+
``ssl.VERIFY_X509_PARTIAL_CHAIN`` and ``ssl.VERIFY_X509_STRICT`` for Python 3.13+.
|
250
260
|
:returns:
|
251
261
|
Constructed SSLContext object with specified options
|
252
262
|
:rtype: SSLContext
|
@@ -279,7 +289,7 @@ def create_urllib3_context(
|
|
279
289
|
# keep the maximum version to be it's default value: 'TLSVersion.MAXIMUM_SUPPORTED'
|
280
290
|
warnings.warn(
|
281
291
|
"'ssl_version' option is deprecated and will be "
|
282
|
-
"removed in urllib3 v2.
|
292
|
+
"removed in urllib3 v2.6.0. Instead use 'ssl_minimum_version'",
|
283
293
|
category=DeprecationWarning,
|
284
294
|
stacklevel=2,
|
285
295
|
)
|
@@ -320,6 +330,16 @@ def create_urllib3_context(
|
|
320
330
|
|
321
331
|
context.options |= options
|
322
332
|
|
333
|
+
if verify_flags is None:
|
334
|
+
verify_flags = 0
|
335
|
+
# In Python 3.13+ ssl.create_default_context() sets VERIFY_X509_PARTIAL_CHAIN
|
336
|
+
# and VERIFY_X509_STRICT so we do the same
|
337
|
+
if sys.version_info >= (3, 13):
|
338
|
+
verify_flags |= VERIFY_X509_PARTIAL_CHAIN
|
339
|
+
verify_flags |= VERIFY_X509_STRICT
|
340
|
+
|
341
|
+
context.verify_flags |= verify_flags
|
342
|
+
|
323
343
|
# Enable post-handshake authentication for TLS 1.3, see GH #1634. PHA is
|
324
344
|
# necessary for conditional client cert authentication with TLS 1.3.
|
325
345
|
# The attribute is None for OpenSSL <= 1.1.0 or does not exist when using
|
@@ -1,23 +1,25 @@
|
|
1
1
|
"""
|
2
|
-
Wheel command line tool (
|
2
|
+
Wheel command line tool (enables the ``python -m wheel`` syntax)
|
3
3
|
"""
|
4
4
|
|
5
5
|
from __future__ import annotations
|
6
6
|
|
7
7
|
import sys
|
8
|
+
from typing import NoReturn
|
8
9
|
|
9
10
|
|
10
|
-
def main(): # needed for console script
|
11
|
+
def main() -> NoReturn: # needed for console script
|
11
12
|
if __package__ == "":
|
12
13
|
# To be able to run 'python wheel-0.9.whl/wheel':
|
13
14
|
import os.path
|
14
15
|
|
15
16
|
path = os.path.dirname(os.path.dirname(__file__))
|
16
17
|
sys.path[0:0] = [path]
|
17
|
-
import wheel.cli
|
18
18
|
|
19
|
-
|
19
|
+
from ._commands import main as cli_main
|
20
|
+
|
21
|
+
sys.exit(cli_main())
|
20
22
|
|
21
23
|
|
22
24
|
if __name__ == "__main__":
|
23
|
-
|
25
|
+
main()
|
@@ -9,9 +9,7 @@ import os
|
|
9
9
|
import sys
|
10
10
|
from argparse import ArgumentTypeError
|
11
11
|
|
12
|
-
|
13
|
-
class WheelError(Exception):
|
14
|
-
pass
|
12
|
+
from ..wheelfile import WheelError
|
15
13
|
|
16
14
|
|
17
15
|
def unpack_f(args: argparse.Namespace) -> None:
|
@@ -75,7 +73,7 @@ output filename(s) will be displayed on stdout for further processing.
|
|
75
73
|
"""
|
76
74
|
|
77
75
|
|
78
|
-
def parser():
|
76
|
+
def parser() -> argparse.ArgumentParser:
|
79
77
|
p = argparse.ArgumentParser()
|
80
78
|
s = p.add_subparsers(help="commands")
|
81
79
|
|
@@ -140,7 +138,7 @@ def parser():
|
|
140
138
|
return p
|
141
139
|
|
142
140
|
|
143
|
-
def main():
|
141
|
+
def main() -> int:
|
144
142
|
p = parser()
|
145
143
|
args = p.parse_args()
|
146
144
|
if not hasattr(args, "func"):
|