py2docfx 0.1.9.dev1897554__py3-none-any.whl → 0.1.9.dev1917798__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 +25 -6
- py2docfx/convert_prepare/tests/test_generate_document.py +4 -4
- py2docfx/convert_prepare/tests/test_get_source.py +6 -6
- py2docfx/convert_prepare/tests/test_params.py +1 -1
- py2docfx/convert_prepare/tests/test_sphinx_caller.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/_distutils_hack/__init__.py +2 -3
- py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +15 -9
- py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +83 -24
- py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +78 -29
- py2docfx/venv/basevenv/Lib/site-packages/packaging/utils.py +33 -44
- py2docfx/venv/basevenv/Lib/site-packages/packaging/version.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +27 -32
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +7 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_importlib.py +1 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +5 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +53 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/archive_util.py +6 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +23 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/__init__.py +9 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/alias.py +3 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_clib.py +2 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +13 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_py.py +17 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/dist_info.py +3 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +55 -78
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +29 -30
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_lib.py +10 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/rotate.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +9 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/setopt.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/expand.py +22 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/depends.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/discovery.py +21 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +48 -45
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/errors.py +21 -26
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/extension.py +18 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/glob.py +35 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +6 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/launch.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/logging.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/modified.py +16 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/monkey.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +25 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/namespaces.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +42 -43
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +19 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/warnings.py +5 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
- py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +17 -2
- py2docfx/venv/basevenv/Lib/site-packages/wheel/cli/convert.py +280 -220
- py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -9
- py2docfx/venv/venv1/Lib/site-packages/_distutils_hack/__init__.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +13 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +16 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +15 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +20 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +55 -19
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +46 -15
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +8 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +9 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +27 -8
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +6 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +6 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +101 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +7 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +11 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +11 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +47 -16
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +15 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +15 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +12 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +24 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +119 -110
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +10 -1
- py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +41 -39
- py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +17 -11
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +17 -13
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +25 -8
- py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +34 -16
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +10 -2
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +1 -7
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +27 -32
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +18 -21
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +7 -3
- py2docfx/venv/venv1/Lib/site-packages/proto/message.py +6 -35
- py2docfx/venv/venv1/Lib/site-packages/proto/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +7 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_importlib.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +5 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/archive_util.py +6 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +23 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/__init__.py +9 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/alias.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_clib.py +2 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +13 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_py.py +17 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/dist_info.py +3 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +55 -78
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +29 -30
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_lib.py +10 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/rotate.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +9 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/setopt.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/expand.py +22 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/depends.py +26 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/discovery.py +21 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +48 -45
- py2docfx/venv/venv1/Lib/site-packages/setuptools/errors.py +21 -26
- py2docfx/venv/venv1/Lib/site-packages/setuptools/extension.py +18 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/glob.py +35 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/launch.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/logging.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/modified.py +16 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/monkey.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +25 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/namespaces.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +42 -43
- py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +19 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/warnings.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +17 -2
- py2docfx/venv/venv1/Lib/site-packages/wheel/cli/convert.py +280 -220
- py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -9
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/METADATA +1 -1
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/RECORD +307 -367
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/WHEEL +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/top_level.txt +0 -0
@@ -481,7 +481,7 @@ class MessageMeta(type):
|
|
481
481
|
`always_print_fields_with_no_presence` instead. An option that
|
482
482
|
determines whether the default field values should be included in the results.
|
483
483
|
This value must match `always_print_fields_with_no_presence`,
|
484
|
-
if both arguments are
|
484
|
+
if both arguments are explicitly set.
|
485
485
|
preserving_proto_field_name (Optional(bool)): An option that
|
486
486
|
determines whether field name representations preserve
|
487
487
|
proto case (snake_case) or use lowerCamelCase. Default is False.
|
@@ -497,7 +497,7 @@ class MessageMeta(type):
|
|
497
497
|
always be serialized. Any field that supports presence is not affected by
|
498
498
|
this option (including singular message fields and oneof fields).
|
499
499
|
This value must match `including_default_value_fields`,
|
500
|
-
if both arguments are
|
500
|
+
if both arguments are explicitly set.
|
501
501
|
Returns:
|
502
502
|
str: The json string representation of the protocol buffer.
|
503
503
|
"""
|
@@ -537,7 +537,7 @@ class MessageMeta(type):
|
|
537
537
|
parse it into a message.
|
538
538
|
|
539
539
|
Args:
|
540
|
-
|
540
|
+
payload: A json string representing a message.
|
541
541
|
ignore_unknown_fields (Optional(bool)): If True, do not raise errors
|
542
542
|
for unknown fields.
|
543
543
|
|
@@ -574,14 +574,14 @@ class MessageMeta(type):
|
|
574
574
|
`always_print_fields_with_no_presence` instead. An option that
|
575
575
|
determines whether the default field values should be included in the results.
|
576
576
|
This value must match `always_print_fields_with_no_presence`,
|
577
|
-
if both arguments are
|
577
|
+
if both arguments are explicitly set.
|
578
578
|
float_precision (Optional(int)): If set, use this to specify float field valid digits.
|
579
579
|
Default is None.
|
580
580
|
always_print_fields_with_no_presence (Optional(bool)): If True, fields without
|
581
581
|
presence (implicit presence scalars, repeated fields, and map fields) will
|
582
582
|
always be serialized. Any field that supports presence is not affected by
|
583
583
|
this option (including singular message fields and oneof fields). This value
|
584
|
-
must match `including_default_value_fields`, if both arguments are
|
584
|
+
must match `including_default_value_fields`, if both arguments are explicitly set.
|
585
585
|
|
586
586
|
Returns:
|
587
587
|
dict: A representation of the protocol buffer using pythonic data structures.
|
@@ -725,36 +725,7 @@ class Message(metaclass=MessageMeta):
|
|
725
725
|
"Unknown field for {}: {}".format(self.__class__.__name__, key)
|
726
726
|
)
|
727
727
|
|
728
|
-
|
729
|
-
pb_value = marshal.to_proto(pb_type, value)
|
730
|
-
except ValueError:
|
731
|
-
# Underscores may be appended to field names
|
732
|
-
# that collide with python or proto-plus keywords.
|
733
|
-
# In case a key only exists with a `_` suffix, coerce the key
|
734
|
-
# to include the `_` suffix. It's not possible to
|
735
|
-
# natively define the same field with a trailing underscore in protobuf.
|
736
|
-
# See related issue
|
737
|
-
# https://github.com/googleapis/python-api-core/issues/227
|
738
|
-
if isinstance(value, dict):
|
739
|
-
if _upb:
|
740
|
-
# In UPB, pb_type is MessageMeta which doesn't expose attrs like it used to in Python/CPP.
|
741
|
-
keys_to_update = [
|
742
|
-
item
|
743
|
-
for item in value
|
744
|
-
if item not in pb_type.DESCRIPTOR.fields_by_name
|
745
|
-
and f"{item}_" in pb_type.DESCRIPTOR.fields_by_name
|
746
|
-
]
|
747
|
-
else:
|
748
|
-
keys_to_update = [
|
749
|
-
item
|
750
|
-
for item in value
|
751
|
-
if not hasattr(pb_type, item)
|
752
|
-
and hasattr(pb_type, f"{item}_")
|
753
|
-
]
|
754
|
-
for item in keys_to_update:
|
755
|
-
value[f"{item}_"] = value.pop(item)
|
756
|
-
|
757
|
-
pb_value = marshal.to_proto(pb_type, value)
|
728
|
+
pb_value = marshal.to_proto(pb_type, value)
|
758
729
|
|
759
730
|
if pb_value is not None:
|
760
731
|
params[key] = pb_value
|
@@ -60,7 +60,7 @@ def _install_setup_requires(attrs):
|
|
60
60
|
fetch_build_eggs interface.
|
61
61
|
"""
|
62
62
|
|
63
|
-
def __init__(self, attrs: Mapping[str, object]):
|
63
|
+
def __init__(self, attrs: Mapping[str, object]) -> None:
|
64
64
|
_incl = 'dependency_links', 'setup_requires'
|
65
65
|
filtered = {k: attrs[k] for k in set(_incl) & set(attrs)}
|
66
66
|
super().__init__(filtered)
|
@@ -70,7 +70,7 @@ def _install_setup_requires(attrs):
|
|
70
70
|
def _get_project_config_files(self, filenames=None):
|
71
71
|
"""Ignore ``pyproject.toml``, they are not related to setup_requires"""
|
72
72
|
try:
|
73
|
-
cfg,
|
73
|
+
cfg, _toml = super()._split_standard_project_metadata(filenames)
|
74
74
|
except Exception:
|
75
75
|
return filenames, ()
|
76
76
|
return cfg, ()
|
@@ -89,7 +89,7 @@ def _install_setup_requires(attrs):
|
|
89
89
|
_fetch_build_eggs(dist)
|
90
90
|
|
91
91
|
|
92
|
-
def _fetch_build_eggs(dist):
|
92
|
+
def _fetch_build_eggs(dist: Distribution):
|
93
93
|
try:
|
94
94
|
dist.fetch_build_eggs(dist.setup_requires)
|
95
95
|
except Exception as ex:
|
@@ -120,10 +120,8 @@ def setup(**attrs):
|
|
120
120
|
setup.__doc__ = distutils.core.setup.__doc__
|
121
121
|
|
122
122
|
if TYPE_CHECKING:
|
123
|
-
from typing_extensions import TypeAlias
|
124
|
-
|
125
123
|
# Work around a mypy issue where type[T] can't be used as a base: https://github.com/python/mypy/issues/10962
|
126
|
-
|
124
|
+
from distutils.core import Command as _Command
|
127
125
|
else:
|
128
126
|
_Command = monkey.get_unpatched(distutils.core.Command)
|
129
127
|
|
@@ -169,7 +167,7 @@ class Command(_Command):
|
|
169
167
|
command_consumes_arguments = False
|
170
168
|
distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
|
171
169
|
|
172
|
-
def __init__(self, dist: Distribution, **kw):
|
170
|
+
def __init__(self, dist: Distribution, **kw) -> None:
|
173
171
|
"""
|
174
172
|
Construct the command for dist, updating
|
175
173
|
vars(self) with any keyword parameters.
|
@@ -188,7 +186,7 @@ class Command(_Command):
|
|
188
186
|
)
|
189
187
|
return val
|
190
188
|
|
191
|
-
def ensure_string_list(self, option):
|
189
|
+
def ensure_string_list(self, option: str) -> None:
|
192
190
|
r"""Ensure that 'option' is a list of strings. If 'option' is
|
193
191
|
currently a string, we split it either on /,\s*/ or /\s+/, so
|
194
192
|
"foo bar baz", "foo,bar,baz", and "foo, bar baz" all become
|
@@ -228,7 +226,7 @@ class Command(_Command):
|
|
228
226
|
) -> _Command:
|
229
227
|
cmd = _Command.reinitialize_command(self, command, reinit_subcommands)
|
230
228
|
vars(cmd).update(kw)
|
231
|
-
return cmd
|
229
|
+
return cmd # pyright: ignore[reportReturnType] # pypa/distutils#307
|
232
230
|
|
233
231
|
@abstractmethod
|
234
232
|
def initialize_options(self) -> None:
|
@@ -32,8 +32,9 @@ class SkipRepeatAbsolutePaths(set):
|
|
32
32
|
def wrapper(path, *args, **kwargs):
|
33
33
|
if path.absolute() in self:
|
34
34
|
return
|
35
|
+
result = func(path, *args, **kwargs)
|
35
36
|
self.add(path.absolute())
|
36
|
-
return
|
37
|
+
return result
|
37
38
|
|
38
39
|
return wrapper
|
39
40
|
|
@@ -44,7 +45,7 @@ wrapper = SkipRepeatAbsolutePaths().wrap
|
|
44
45
|
|
45
46
|
@functools.singledispatch
|
46
47
|
@wrapper
|
47
|
-
def mkpath(name: pathlib.Path, mode=0o777, verbose=True, dry_run=False):
|
48
|
+
def mkpath(name: pathlib.Path, mode=0o777, verbose=True, dry_run=False) -> None:
|
48
49
|
"""Create a directory and any missing ancestor directories.
|
49
50
|
|
50
51
|
If the directory already exists (or if 'name' is the empty string, which
|
@@ -52,21 +53,15 @@ def mkpath(name: pathlib.Path, mode=0o777, verbose=True, dry_run=False):
|
|
52
53
|
Raise DistutilsFileError if unable to create some directory along the way
|
53
54
|
(eg. some sub-path exists, but is a file rather than a directory).
|
54
55
|
If 'verbose' is true, log the directory created.
|
55
|
-
Return the list of directories actually created.
|
56
56
|
"""
|
57
57
|
if verbose and not name.is_dir():
|
58
58
|
log.info("creating %s", name)
|
59
59
|
|
60
|
-
ancestry = itertools.chain((name,), name.parents)
|
61
|
-
missing = (path for path in ancestry if not path.is_dir())
|
62
|
-
|
63
60
|
try:
|
64
61
|
dry_run or name.mkdir(mode=mode, parents=True, exist_ok=True)
|
65
62
|
except OSError as exc:
|
66
63
|
raise DistutilsFileError(f"could not create '{name}': {exc.args[-1]}")
|
67
64
|
|
68
|
-
return list(map(str, missing))
|
69
|
-
|
70
65
|
|
71
66
|
@mkpath.register
|
72
67
|
def _(name: str, *args, **kwargs):
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"""Tests for distutils.dir_util."""
|
2
2
|
|
3
3
|
import os
|
4
|
+
import pathlib
|
4
5
|
import stat
|
5
6
|
import unittest.mock as mock
|
6
7
|
from distutils import dir_util, errors
|
@@ -110,3 +111,24 @@ class TestDirUtil(support.TempdirManager):
|
|
110
111
|
):
|
111
112
|
src = self.tempdirs[-1]
|
112
113
|
dir_util.copy_tree(src, None)
|
114
|
+
|
115
|
+
def test_mkpath_exception_uncached(self, monkeypatch, tmp_path):
|
116
|
+
"""
|
117
|
+
Caching should not remember failed attempts.
|
118
|
+
|
119
|
+
pypa/distutils#304
|
120
|
+
"""
|
121
|
+
|
122
|
+
class FailPath(pathlib.Path):
|
123
|
+
def mkdir(self, *args, **kwargs):
|
124
|
+
raise OSError("Failed to create directory")
|
125
|
+
|
126
|
+
target = tmp_path / 'foodir'
|
127
|
+
|
128
|
+
with pytest.raises(errors.DistutilsFileError):
|
129
|
+
mkpath(FailPath(target))
|
130
|
+
|
131
|
+
assert not target.exists()
|
132
|
+
|
133
|
+
mkpath(target)
|
134
|
+
assert target.exists()
|
@@ -6,7 +6,4 @@ else:
|
|
6
6
|
import importlib.metadata as metadata # noqa: F401
|
7
7
|
|
8
8
|
|
9
|
-
|
10
|
-
import importlib_resources as resources # pragma: no cover
|
11
|
-
else:
|
12
|
-
import importlib.resources as resources # noqa: F401
|
9
|
+
import importlib.resources as resources # noqa: F401
|
@@ -3,18 +3,15 @@ from __future__ import annotations
|
|
3
3
|
import contextlib
|
4
4
|
import os
|
5
5
|
import sys
|
6
|
-
from typing import TYPE_CHECKING, Union
|
6
|
+
from typing import TYPE_CHECKING, TypeVar, Union
|
7
|
+
|
8
|
+
from more_itertools import unique_everseen
|
7
9
|
|
8
10
|
if TYPE_CHECKING:
|
9
11
|
from typing_extensions import TypeAlias
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
if sys.version_info >= (3, 9):
|
15
|
-
StrPath: TypeAlias = Union[str, os.PathLike[str]] # Same as _typeshed.StrPath
|
16
|
-
else:
|
17
|
-
StrPath: TypeAlias = Union[str, os.PathLike]
|
13
|
+
StrPath: TypeAlias = Union[str, os.PathLike[str]] # Same as _typeshed.StrPath
|
14
|
+
StrPathT = TypeVar("StrPathT", bound=Union[str, os.PathLike[str]])
|
18
15
|
|
19
16
|
|
20
17
|
def ensure_directory(path):
|
@@ -1,7 +1,8 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
from collections.abc import Iterable, Iterator
|
3
4
|
from functools import lru_cache
|
4
|
-
from typing import TYPE_CHECKING, Callable,
|
5
|
+
from typing import TYPE_CHECKING, Callable, TypeVar, Union, overload
|
5
6
|
|
6
7
|
import jaraco.text as text
|
7
8
|
from packaging.requirements import Requirement
|
@@ -0,0 +1,53 @@
|
|
1
|
+
"""Convenience layer on top of stdlib's shutil and os"""
|
2
|
+
|
3
|
+
import os
|
4
|
+
import stat
|
5
|
+
from typing import Callable, TypeVar
|
6
|
+
|
7
|
+
from .compat import py311
|
8
|
+
|
9
|
+
from distutils import log
|
10
|
+
|
11
|
+
try:
|
12
|
+
from os import chmod # pyright: ignore[reportAssignmentType]
|
13
|
+
# Losing type-safety w/ pyright, but that's ok
|
14
|
+
except ImportError: # pragma: no cover
|
15
|
+
# Jython compatibility
|
16
|
+
def chmod(*args: object, **kwargs: object) -> None: # type: ignore[misc] # Mypy reuses the imported definition anyway
|
17
|
+
pass
|
18
|
+
|
19
|
+
|
20
|
+
_T = TypeVar("_T")
|
21
|
+
|
22
|
+
|
23
|
+
def attempt_chmod_verbose(path, mode):
|
24
|
+
log.debug("changing mode of %s to %o", path, mode)
|
25
|
+
try:
|
26
|
+
chmod(path, mode)
|
27
|
+
except OSError as e: # pragma: no cover
|
28
|
+
log.debug("chmod failed: %s", e)
|
29
|
+
|
30
|
+
|
31
|
+
# Must match shutil._OnExcCallback
|
32
|
+
def _auto_chmod(
|
33
|
+
func: Callable[..., _T], arg: str, exc: BaseException
|
34
|
+
) -> _T: # pragma: no cover
|
35
|
+
"""shutils onexc callback to automatically call chmod for certain functions."""
|
36
|
+
# Only retry for scenarios known to have an issue
|
37
|
+
if func in [os.unlink, os.remove] and os.name == 'nt':
|
38
|
+
attempt_chmod_verbose(arg, stat.S_IWRITE)
|
39
|
+
return func(arg)
|
40
|
+
raise exc
|
41
|
+
|
42
|
+
|
43
|
+
def rmtree(path, ignore_errors=False, onexc=_auto_chmod):
|
44
|
+
"""
|
45
|
+
Similar to ``shutil.rmtree`` but automatically executes ``chmod``
|
46
|
+
for well know Windows failure scenarios.
|
47
|
+
"""
|
48
|
+
return py311.shutil_rmtree(path, ignore_errors, onexc)
|
49
|
+
|
50
|
+
|
51
|
+
def rmdir(path, **opts):
|
52
|
+
if os.path.isdir(path):
|
53
|
+
rmtree(path, **opts)
|
@@ -6,10 +6,10 @@ __title__ = "packaging"
|
|
6
6
|
__summary__ = "Core utilities for Python packages"
|
7
7
|
__uri__ = "https://github.com/pypa/packaging"
|
8
8
|
|
9
|
-
__version__ = "24.
|
9
|
+
__version__ = "24.2"
|
10
10
|
|
11
11
|
__author__ = "Donald Stufft and individual contributors"
|
12
12
|
__email__ = "donald@stufft.io"
|
13
13
|
|
14
14
|
__license__ = "BSD-2-Clause or Apache-2.0"
|
15
|
-
__copyright__ = "2014
|
15
|
+
__copyright__ = f"2014 {__author__}"
|
@@ -48,8 +48,8 @@ class ELFFile:
|
|
48
48
|
|
49
49
|
try:
|
50
50
|
ident = self._read("16B")
|
51
|
-
except struct.error:
|
52
|
-
raise ELFInvalid("unable to parse identification")
|
51
|
+
except struct.error as e:
|
52
|
+
raise ELFInvalid("unable to parse identification") from e
|
53
53
|
magic = bytes(ident[:4])
|
54
54
|
if magic != b"\x7fELF":
|
55
55
|
raise ELFInvalid(f"invalid magic: {magic!r}")
|
@@ -67,11 +67,11 @@ class ELFFile:
|
|
67
67
|
(2, 1): ("<HHIQQQIHHH", "<IIQQQQQQ", (0, 2, 5)), # 64-bit LSB.
|
68
68
|
(2, 2): (">HHIQQQIHHH", ">IIQQQQQQ", (0, 2, 5)), # 64-bit MSB.
|
69
69
|
}[(self.capacity, self.encoding)]
|
70
|
-
except KeyError:
|
70
|
+
except KeyError as e:
|
71
71
|
raise ELFInvalid(
|
72
72
|
f"unrecognized capacity ({self.capacity}) or "
|
73
73
|
f"encoding ({self.encoding})"
|
74
|
-
)
|
74
|
+
) from e
|
75
75
|
|
76
76
|
try:
|
77
77
|
(
|
@@ -164,6 +164,7 @@ def _parse_glibc_version(version_str: str) -> tuple[int, int]:
|
|
164
164
|
f"Expected glibc version with 2 components major.minor,"
|
165
165
|
f" got: {version_str}",
|
166
166
|
RuntimeWarning,
|
167
|
+
stacklevel=2,
|
167
168
|
)
|
168
169
|
return -1, -1
|
169
170
|
return int(m.group("major")), int(m.group("minor"))
|
@@ -0,0 +1,145 @@
|
|
1
|
+
#######################################################################################
|
2
|
+
#
|
3
|
+
# Adapted from:
|
4
|
+
# https://github.com/pypa/hatch/blob/5352e44/backend/src/hatchling/licenses/parse.py
|
5
|
+
#
|
6
|
+
# MIT License
|
7
|
+
#
|
8
|
+
# Copyright (c) 2017-present Ofek Lev <oss@ofek.dev>
|
9
|
+
#
|
10
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
11
|
+
# software and associated documentation files (the "Software"), to deal in the Software
|
12
|
+
# without restriction, including without limitation the rights to use, copy, modify,
|
13
|
+
# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
14
|
+
# permit persons to whom the Software is furnished to do so, subject to the following
|
15
|
+
# conditions:
|
16
|
+
#
|
17
|
+
# The above copyright notice and this permission notice shall be included in all copies
|
18
|
+
# or substantial portions of the Software.
|
19
|
+
#
|
20
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
21
|
+
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
22
|
+
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
23
|
+
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
24
|
+
# CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
25
|
+
# OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
26
|
+
#
|
27
|
+
#
|
28
|
+
# With additional allowance of arbitrary `LicenseRef-` identifiers, not just
|
29
|
+
# `LicenseRef-Public-Domain` and `LicenseRef-Proprietary`.
|
30
|
+
#
|
31
|
+
#######################################################################################
|
32
|
+
from __future__ import annotations
|
33
|
+
|
34
|
+
import re
|
35
|
+
from typing import NewType, cast
|
36
|
+
|
37
|
+
from packaging.licenses._spdx import EXCEPTIONS, LICENSES
|
38
|
+
|
39
|
+
__all__ = [
|
40
|
+
"NormalizedLicenseExpression",
|
41
|
+
"InvalidLicenseExpression",
|
42
|
+
"canonicalize_license_expression",
|
43
|
+
]
|
44
|
+
|
45
|
+
license_ref_allowed = re.compile("^[A-Za-z0-9.-]*$")
|
46
|
+
|
47
|
+
NormalizedLicenseExpression = NewType("NormalizedLicenseExpression", str)
|
48
|
+
|
49
|
+
|
50
|
+
class InvalidLicenseExpression(ValueError):
|
51
|
+
"""Raised when a license-expression string is invalid
|
52
|
+
|
53
|
+
>>> canonicalize_license_expression("invalid")
|
54
|
+
Traceback (most recent call last):
|
55
|
+
...
|
56
|
+
packaging.licenses.InvalidLicenseExpression: Invalid license expression: 'invalid'
|
57
|
+
"""
|
58
|
+
|
59
|
+
|
60
|
+
def canonicalize_license_expression(
|
61
|
+
raw_license_expression: str,
|
62
|
+
) -> NormalizedLicenseExpression:
|
63
|
+
if not raw_license_expression:
|
64
|
+
message = f"Invalid license expression: {raw_license_expression!r}"
|
65
|
+
raise InvalidLicenseExpression(message)
|
66
|
+
|
67
|
+
# Pad any parentheses so tokenization can be achieved by merely splitting on
|
68
|
+
# whitespace.
|
69
|
+
license_expression = raw_license_expression.replace("(", " ( ").replace(")", " ) ")
|
70
|
+
licenseref_prefix = "LicenseRef-"
|
71
|
+
license_refs = {
|
72
|
+
ref.lower(): "LicenseRef-" + ref[len(licenseref_prefix) :]
|
73
|
+
for ref in license_expression.split()
|
74
|
+
if ref.lower().startswith(licenseref_prefix.lower())
|
75
|
+
}
|
76
|
+
|
77
|
+
# Normalize to lower case so we can look up licenses/exceptions
|
78
|
+
# and so boolean operators are Python-compatible.
|
79
|
+
license_expression = license_expression.lower()
|
80
|
+
|
81
|
+
tokens = license_expression.split()
|
82
|
+
|
83
|
+
# Rather than implementing boolean logic, we create an expression that Python can
|
84
|
+
# parse. Everything that is not involved with the grammar itself is treated as
|
85
|
+
# `False` and the expression should evaluate as such.
|
86
|
+
python_tokens = []
|
87
|
+
for token in tokens:
|
88
|
+
if token not in {"or", "and", "with", "(", ")"}:
|
89
|
+
python_tokens.append("False")
|
90
|
+
elif token == "with":
|
91
|
+
python_tokens.append("or")
|
92
|
+
elif token == "(" and python_tokens and python_tokens[-1] not in {"or", "and"}:
|
93
|
+
message = f"Invalid license expression: {raw_license_expression!r}"
|
94
|
+
raise InvalidLicenseExpression(message)
|
95
|
+
else:
|
96
|
+
python_tokens.append(token)
|
97
|
+
|
98
|
+
python_expression = " ".join(python_tokens)
|
99
|
+
try:
|
100
|
+
invalid = eval(python_expression, globals(), locals())
|
101
|
+
except Exception:
|
102
|
+
invalid = True
|
103
|
+
|
104
|
+
if invalid is not False:
|
105
|
+
message = f"Invalid license expression: {raw_license_expression!r}"
|
106
|
+
raise InvalidLicenseExpression(message) from None
|
107
|
+
|
108
|
+
# Take a final pass to check for unknown licenses/exceptions.
|
109
|
+
normalized_tokens = []
|
110
|
+
for token in tokens:
|
111
|
+
if token in {"or", "and", "with", "(", ")"}:
|
112
|
+
normalized_tokens.append(token.upper())
|
113
|
+
continue
|
114
|
+
|
115
|
+
if normalized_tokens and normalized_tokens[-1] == "WITH":
|
116
|
+
if token not in EXCEPTIONS:
|
117
|
+
message = f"Unknown license exception: {token!r}"
|
118
|
+
raise InvalidLicenseExpression(message)
|
119
|
+
|
120
|
+
normalized_tokens.append(EXCEPTIONS[token]["id"])
|
121
|
+
else:
|
122
|
+
if token.endswith("+"):
|
123
|
+
final_token = token[:-1]
|
124
|
+
suffix = "+"
|
125
|
+
else:
|
126
|
+
final_token = token
|
127
|
+
suffix = ""
|
128
|
+
|
129
|
+
if final_token.startswith("licenseref-"):
|
130
|
+
if not license_ref_allowed.match(final_token):
|
131
|
+
message = f"Invalid licenseref: {final_token!r}"
|
132
|
+
raise InvalidLicenseExpression(message)
|
133
|
+
normalized_tokens.append(license_refs[final_token] + suffix)
|
134
|
+
else:
|
135
|
+
if final_token not in LICENSES:
|
136
|
+
message = f"Unknown license: {final_token!r}"
|
137
|
+
raise InvalidLicenseExpression(message)
|
138
|
+
normalized_tokens.append(LICENSES[final_token]["id"] + suffix)
|
139
|
+
|
140
|
+
normalized_expression = " ".join(normalized_tokens)
|
141
|
+
|
142
|
+
return cast(
|
143
|
+
NormalizedLicenseExpression,
|
144
|
+
normalized_expression.replace("( ", "(").replace(" )", ")"),
|
145
|
+
)
|