py2docfx 0.1.16.dev2051338__py3-none-any.whl → 0.1.16.dev2064350__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 +3 -1
- py2docfx/convert_prepare/get_source.py +6 -1
- py2docfx/convert_prepare/package_info.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/babel/py.typed +1 -0
- 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/py.typed +0 -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/py.typed +0 -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/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/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/py.typed +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/urllib3/util/ssl_.py +21 -1
- 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/basevenv/Lib/site-packages/wheel/{cli → _commands}/__init__.py +3 -5
- py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _commands}/convert.py +14 -9
- py2docfx/venv/basevenv/Lib/site-packages/wheel/{cli → _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/_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 +0 -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/_http_response_impl_async.py +3 -0
- 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 +244 -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/_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/identity/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/certifi/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/charset_normalizer/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi +28 -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 +72 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/aead.pyi +103 -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 +12 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +12 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +19 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +21 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +43 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/keys.pyi +33 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +13 -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 +12 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +12 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs12.pyi +46 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/pkcs7.pyi +49 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/test_support.pyi +22 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi +246 -0
- py2docfx/venv/venv1/Lib/site-packages/cryptography/py.typed +0 -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/py.typed +2 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/py.typed +2 -0
- 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/py.typed +2 -0
- 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.pyi +207 -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/packaging/__init__.py +15 -0
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/_elffile.py +9 -7
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_manylinux.py +12 -9
- 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 +11 -13
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/_tokenizer.py +10 -8
- 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 +103 -25
- py2docfx/venv/venv1/Lib/site-packages/packaging/metadata.py +863 -0
- py2docfx/venv/venv1/Lib/site-packages/packaging/py.typed +0 -0
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/requirements.py +5 -4
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/packaging/specifiers.py +40 -31
- py2docfx/venv/venv1/Lib/site-packages/{wheel/vendored/packaging → packaging}/tags.py +96 -50
- py2docfx/venv/{basevenv/Lib/site-packages/wheel/vendored → venv1/Lib/site-packages}/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/py.typed +0 -0
- py2docfx/venv/venv1/Lib/site-packages/rsa/py.typed +1 -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/typing_extensions.py +30 -12
- py2docfx/venv/venv1/Lib/site-packages/urllib3/_version.py +9 -4
- 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/py.typed +2 -0
- py2docfx/venv/venv1/Lib/site-packages/urllib3/util/ssl_.py +21 -1
- 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/venv1/Lib/site-packages/wheel/{cli → _commands}/__init__.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _commands}/convert.py +14 -9
- py2docfx/venv/venv1/Lib/site-packages/wheel/{cli → _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.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/METADATA +2 -3
- {py2docfx-0.1.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/RECORD +263 -104
- {py2docfx-0.1.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/WHEEL +1 -1
- 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/_elffile.py +0 -108
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/_parser.py +0 -356
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/markers.py +0 -253
- py2docfx/venv/basevenv/Lib/site-packages/wheel/vendored/packaging/tags.py +0 -571
- 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/_manylinux.py +0 -260
- 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/_tokenizer.py +0 -192
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/requirements.py +0 -90
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/specifiers.py +0 -1011
- py2docfx/venv/venv1/Lib/site-packages/wheel/vendored/packaging/utils.py +0 -172
- 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.16.dev2051338.dist-info → py2docfx-0.1.16.dev2064350.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,136 @@
|
|
1
|
+
"""Stubs for more_itertools.recipes"""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from typing import (
|
6
|
+
Any,
|
7
|
+
Callable,
|
8
|
+
Iterable,
|
9
|
+
Iterator,
|
10
|
+
overload,
|
11
|
+
Sequence,
|
12
|
+
Type,
|
13
|
+
TypeVar,
|
14
|
+
)
|
15
|
+
|
16
|
+
# Type and type variable definitions
|
17
|
+
_T = TypeVar('_T')
|
18
|
+
_T1 = TypeVar('_T1')
|
19
|
+
_T2 = TypeVar('_T2')
|
20
|
+
_U = TypeVar('_U')
|
21
|
+
|
22
|
+
def take(n: int, iterable: Iterable[_T]) -> list[_T]: ...
|
23
|
+
def tabulate(
|
24
|
+
function: Callable[[int], _T], start: int = ...
|
25
|
+
) -> Iterator[_T]: ...
|
26
|
+
def tail(n: int, iterable: Iterable[_T]) -> Iterator[_T]: ...
|
27
|
+
def consume(iterator: Iterable[_T], n: int | None = ...) -> None: ...
|
28
|
+
@overload
|
29
|
+
def nth(iterable: Iterable[_T], n: int) -> _T | None: ...
|
30
|
+
@overload
|
31
|
+
def nth(iterable: Iterable[_T], n: int, default: _U) -> _T | _U: ...
|
32
|
+
def all_equal(
|
33
|
+
iterable: Iterable[_T], key: Callable[[_T], _U] | None = ...
|
34
|
+
) -> bool: ...
|
35
|
+
def quantify(
|
36
|
+
iterable: Iterable[_T], pred: Callable[[_T], bool] = ...
|
37
|
+
) -> int: ...
|
38
|
+
def pad_none(iterable: Iterable[_T]) -> Iterator[_T | None]: ...
|
39
|
+
def padnone(iterable: Iterable[_T]) -> Iterator[_T | None]: ...
|
40
|
+
def ncycles(iterable: Iterable[_T], n: int) -> Iterator[_T]: ...
|
41
|
+
def dotproduct(vec1: Iterable[_T1], vec2: Iterable[_T2]) -> Any: ...
|
42
|
+
def flatten(listOfLists: Iterable[Iterable[_T]]) -> Iterator[_T]: ...
|
43
|
+
def repeatfunc(
|
44
|
+
func: Callable[..., _U], times: int | None = ..., *args: Any
|
45
|
+
) -> Iterator[_U]: ...
|
46
|
+
def pairwise(iterable: Iterable[_T]) -> Iterator[tuple[_T, _T]]: ...
|
47
|
+
def grouper(
|
48
|
+
iterable: Iterable[_T],
|
49
|
+
n: int,
|
50
|
+
incomplete: str = ...,
|
51
|
+
fillvalue: _U = ...,
|
52
|
+
) -> Iterator[tuple[_T | _U, ...]]: ...
|
53
|
+
def roundrobin(*iterables: Iterable[_T]) -> Iterator[_T]: ...
|
54
|
+
def partition(
|
55
|
+
pred: Callable[[_T], object] | None, iterable: Iterable[_T]
|
56
|
+
) -> tuple[Iterator[_T], Iterator[_T]]: ...
|
57
|
+
def powerset(iterable: Iterable[_T]) -> Iterator[tuple[_T, ...]]: ...
|
58
|
+
def unique_everseen(
|
59
|
+
iterable: Iterable[_T], key: Callable[[_T], _U] | None = ...
|
60
|
+
) -> Iterator[_T]: ...
|
61
|
+
def unique_justseen(
|
62
|
+
iterable: Iterable[_T], key: Callable[[_T], object] | None = ...
|
63
|
+
) -> Iterator[_T]: ...
|
64
|
+
def unique(
|
65
|
+
iterable: Iterable[_T],
|
66
|
+
key: Callable[[_T], object] | None = ...,
|
67
|
+
reverse: bool = False,
|
68
|
+
) -> Iterator[_T]: ...
|
69
|
+
@overload
|
70
|
+
def iter_except(
|
71
|
+
func: Callable[[], _T],
|
72
|
+
exception: Type[BaseException] | tuple[Type[BaseException], ...],
|
73
|
+
first: None = ...,
|
74
|
+
) -> Iterator[_T]: ...
|
75
|
+
@overload
|
76
|
+
def iter_except(
|
77
|
+
func: Callable[[], _T],
|
78
|
+
exception: Type[BaseException] | tuple[Type[BaseException], ...],
|
79
|
+
first: Callable[[], _U],
|
80
|
+
) -> Iterator[_T | _U]: ...
|
81
|
+
@overload
|
82
|
+
def first_true(
|
83
|
+
iterable: Iterable[_T], *, pred: Callable[[_T], object] | None = ...
|
84
|
+
) -> _T | None: ...
|
85
|
+
@overload
|
86
|
+
def first_true(
|
87
|
+
iterable: Iterable[_T],
|
88
|
+
default: _U,
|
89
|
+
pred: Callable[[_T], object] | None = ...,
|
90
|
+
) -> _T | _U: ...
|
91
|
+
def random_product(
|
92
|
+
*args: Iterable[_T], repeat: int = ...
|
93
|
+
) -> tuple[_T, ...]: ...
|
94
|
+
def random_permutation(
|
95
|
+
iterable: Iterable[_T], r: int | None = ...
|
96
|
+
) -> tuple[_T, ...]: ...
|
97
|
+
def random_combination(iterable: Iterable[_T], r: int) -> tuple[_T, ...]: ...
|
98
|
+
def random_combination_with_replacement(
|
99
|
+
iterable: Iterable[_T], r: int
|
100
|
+
) -> tuple[_T, ...]: ...
|
101
|
+
def nth_combination(
|
102
|
+
iterable: Iterable[_T], r: int, index: int
|
103
|
+
) -> tuple[_T, ...]: ...
|
104
|
+
def prepend(value: _T, iterator: Iterable[_U]) -> Iterator[_T | _U]: ...
|
105
|
+
def convolve(signal: Iterable[_T], kernel: Iterable[_T]) -> Iterator[_T]: ...
|
106
|
+
def before_and_after(
|
107
|
+
predicate: Callable[[_T], bool], it: Iterable[_T]
|
108
|
+
) -> tuple[Iterator[_T], Iterator[_T]]: ...
|
109
|
+
def triplewise(iterable: Iterable[_T]) -> Iterator[tuple[_T, _T, _T]]: ...
|
110
|
+
def sliding_window(
|
111
|
+
iterable: Iterable[_T], n: int
|
112
|
+
) -> Iterator[tuple[_T, ...]]: ...
|
113
|
+
def subslices(iterable: Iterable[_T]) -> Iterator[list[_T]]: ...
|
114
|
+
def polynomial_from_roots(roots: Sequence[_T]) -> list[_T]: ...
|
115
|
+
def iter_index(
|
116
|
+
iterable: Iterable[_T],
|
117
|
+
value: Any,
|
118
|
+
start: int | None = ...,
|
119
|
+
stop: int | None = ...,
|
120
|
+
) -> Iterator[int]: ...
|
121
|
+
def sieve(n: int) -> Iterator[int]: ...
|
122
|
+
def batched(
|
123
|
+
iterable: Iterable[_T], n: int, *, strict: bool = False
|
124
|
+
) -> Iterator[tuple[_T]]: ...
|
125
|
+
def transpose(
|
126
|
+
it: Iterable[Iterable[_T]],
|
127
|
+
) -> Iterator[tuple[_T, ...]]: ...
|
128
|
+
def reshape(
|
129
|
+
matrix: Iterable[Iterable[_T]], cols: int
|
130
|
+
) -> Iterator[tuple[_T, ...]]: ...
|
131
|
+
def matmul(m1: Sequence[_T], m2: Sequence[_T]) -> Iterator[tuple[_T]]: ...
|
132
|
+
def factor(n: int) -> Iterator[int]: ...
|
133
|
+
def polynomial_eval(coefficients: Sequence[_T], x: _U) -> _U: ...
|
134
|
+
def sum_of_squares(it: Iterable[_T]) -> _T: ...
|
135
|
+
def polynomial_derivative(coefficients: Sequence[_T]) -> list[_T]: ...
|
136
|
+
def totient(n: int) -> int: ...
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
# Marker file for PEP 561
|
File without changes
|
@@ -2072,7 +2072,7 @@ def _create_concatenate_alias(origin, parameters):
|
|
2072
2072
|
if parameters[-1] is ... and sys.version_info < (3, 9, 2):
|
2073
2073
|
# Hack: Arguments must be types, replace it with one.
|
2074
2074
|
parameters = (*parameters[:-1], _EllipsisDummy)
|
2075
|
-
if sys.version_info >= (3, 10,
|
2075
|
+
if sys.version_info >= (3, 10, 3):
|
2076
2076
|
concatenate = _ConcatenateGenericAlias(origin, parameters,
|
2077
2077
|
_typevar_types=(TypeVar, ParamSpec),
|
2078
2078
|
_paramspec_tvars=True)
|
@@ -3123,7 +3123,8 @@ else: # <=3.11
|
|
3123
3123
|
return arg
|
3124
3124
|
|
3125
3125
|
|
3126
|
-
|
3126
|
+
# Python 3.13.3+ contains a fix for the wrapped __new__
|
3127
|
+
if sys.version_info >= (3, 13, 3):
|
3127
3128
|
deprecated = warnings.deprecated
|
3128
3129
|
else:
|
3129
3130
|
_T = typing.TypeVar("_T")
|
@@ -3203,7 +3204,7 @@ else:
|
|
3203
3204
|
original_new = arg.__new__
|
3204
3205
|
|
3205
3206
|
@functools.wraps(original_new)
|
3206
|
-
def __new__(cls, *args, **kwargs):
|
3207
|
+
def __new__(cls, /, *args, **kwargs):
|
3207
3208
|
if cls is arg:
|
3208
3209
|
warnings.warn(msg, category=category, stacklevel=stacklevel + 1)
|
3209
3210
|
if original_new is not object.__new__:
|
@@ -3827,14 +3828,27 @@ if sys.version_info >= (3, 14):
|
|
3827
3828
|
TypeAliasType = typing.TypeAliasType
|
3828
3829
|
# 3.8-3.13
|
3829
3830
|
else:
|
3830
|
-
|
3831
|
-
|
3832
|
-
|
3833
|
-
|
3834
|
-
|
3835
|
-
|
3836
|
-
|
3837
|
-
|
3831
|
+
if sys.version_info >= (3, 12):
|
3832
|
+
# 3.12-3.14
|
3833
|
+
def _is_unionable(obj):
|
3834
|
+
"""Corresponds to is_unionable() in unionobject.c in CPython."""
|
3835
|
+
return obj is None or isinstance(obj, (
|
3836
|
+
type,
|
3837
|
+
_types.GenericAlias,
|
3838
|
+
_types.UnionType,
|
3839
|
+
typing.TypeAliasType,
|
3840
|
+
TypeAliasType,
|
3841
|
+
))
|
3842
|
+
else:
|
3843
|
+
# 3.8-3.11
|
3844
|
+
def _is_unionable(obj):
|
3845
|
+
"""Corresponds to is_unionable() in unionobject.c in CPython."""
|
3846
|
+
return obj is None or isinstance(obj, (
|
3847
|
+
type,
|
3848
|
+
_types.GenericAlias,
|
3849
|
+
_types.UnionType,
|
3850
|
+
TypeAliasType,
|
3851
|
+
))
|
3838
3852
|
|
3839
3853
|
if sys.version_info < (3, 10):
|
3840
3854
|
# Copied and pasted from https://github.com/python/cpython/blob/986a4e1b6fcae7fe7a1d0a26aea446107dd58dd2/Objects/genericaliasobject.c#L568-L582,
|
@@ -4371,7 +4385,11 @@ else:
|
|
4371
4385
|
A lax Python 3.11+ like version of typing._type_check
|
4372
4386
|
"""
|
4373
4387
|
if hasattr(typing, "_type_convert"):
|
4374
|
-
if
|
4388
|
+
if (
|
4389
|
+
sys.version_info >= (3, 10, 3)
|
4390
|
+
or (3, 9, 10) < sys.version_info[:3] < (3, 10)
|
4391
|
+
):
|
4392
|
+
# allow_special_forms introduced later cpython/#30926 (bpo-46539)
|
4375
4393
|
type_ = typing._type_convert(
|
4376
4394
|
value,
|
4377
4395
|
module=module,
|
@@ -1,8 +1,13 @@
|
|
1
|
-
# file generated by
|
1
|
+
# file generated by setuptools-scm
|
2
2
|
# don't change, don't track in version control
|
3
|
+
|
4
|
+
__all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
|
5
|
+
|
3
6
|
TYPE_CHECKING = False
|
4
7
|
if TYPE_CHECKING:
|
5
|
-
from typing import Tuple
|
8
|
+
from typing import Tuple
|
9
|
+
from typing import Union
|
10
|
+
|
6
11
|
VERSION_TUPLE = Tuple[Union[int, str], ...]
|
7
12
|
else:
|
8
13
|
VERSION_TUPLE = object
|
@@ -12,5 +17,5 @@ __version__: str
|
|
12
17
|
__version_tuple__: VERSION_TUPLE
|
13
18
|
version_tuple: VERSION_TUPLE
|
14
19
|
|
15
|
-
__version__ = version = '2.
|
16
|
-
__version_tuple__ = version_tuple = (2,
|
20
|
+
__version__ = version = '2.4.0'
|
21
|
+
__version_tuple__ = version_tuple = (2, 4, 0)
|
@@ -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.
|
@@ -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
|
@@ -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"):
|
@@ -13,9 +13,10 @@ from pathlib import Path
|
|
13
13
|
from textwrap import dedent
|
14
14
|
from zipfile import ZipFile
|
15
15
|
|
16
|
+
from packaging.tags import parse_tag
|
17
|
+
|
16
18
|
from .. import __version__
|
17
|
-
from ..
|
18
|
-
from ..vendored.packaging.tags import parse_tag
|
19
|
+
from .._metadata import generate_requirements
|
19
20
|
from ..wheelfile import WheelFile
|
20
21
|
|
21
22
|
egg_filename_re = re.compile(
|
@@ -63,7 +64,7 @@ def convert_requires(requires: str, metadata: Message) -> None:
|
|
63
64
|
metadata.add_header(key, value)
|
64
65
|
|
65
66
|
|
66
|
-
def convert_pkg_info(pkginfo: str, metadata: Message):
|
67
|
+
def convert_pkg_info(pkginfo: str, metadata: Message) -> None:
|
67
68
|
parsed_message = Parser().parsestr(pkginfo)
|
68
69
|
for key, value in parsed_message.items():
|
69
70
|
key_lower = key.lower()
|
@@ -72,13 +73,17 @@ def convert_pkg_info(pkginfo: str, metadata: Message):
|
|
72
73
|
|
73
74
|
if key_lower == "description":
|
74
75
|
description_lines = value.splitlines()
|
75
|
-
|
76
|
-
(
|
77
|
-
|
78
|
-
|
79
|
-
|
76
|
+
if description_lines:
|
77
|
+
value = "\n".join(
|
78
|
+
(
|
79
|
+
description_lines[0].lstrip(),
|
80
|
+
dedent("\n".join(description_lines[1:])),
|
81
|
+
"\n",
|
82
|
+
)
|
80
83
|
)
|
81
|
-
|
84
|
+
else:
|
85
|
+
value = "\n"
|
86
|
+
|
82
87
|
metadata.set_payload(value)
|
83
88
|
elif key_lower == "home-page":
|
84
89
|
metadata.add_header("Project-URL", f"Homepage, {value}")
|
@@ -6,8 +6,7 @@ import re
|
|
6
6
|
from email.generator import BytesGenerator
|
7
7
|
from email.parser import BytesParser
|
8
8
|
|
9
|
-
from
|
10
|
-
from wheel.wheelfile import WheelFile
|
9
|
+
from ..wheelfile import WheelError, WheelFile
|
11
10
|
|
12
11
|
DIST_INFO_RE = re.compile(r"^(?P<namever>(?P<name>.+?)-(?P<ver>\d.*?))\.dist-info$")
|
13
12
|
|
@@ -119,9 +119,10 @@ def tags(
|
|
119
119
|
)
|
120
120
|
final_wheel_path = os.path.join(os.path.dirname(f.filename), final_wheel_name)
|
121
121
|
|
122
|
-
with
|
123
|
-
|
124
|
-
|
122
|
+
with (
|
123
|
+
WheelFile(original_wheel_path, "r") as fin,
|
124
|
+
WheelFile(final_wheel_path, "w") as fout,
|
125
|
+
):
|
125
126
|
fout.comment = fin.comment # preserve the comment
|
126
127
|
for item in fin.infolist():
|
127
128
|
if item.is_dir():
|