py2docfx 0.1.9.dev1897607__py3-none-any.whl → 0.1.9.dev1926139__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/__main__.py +77 -22
- py2docfx/convert_prepare/environment.py +59 -19
- py2docfx/convert_prepare/generate_document.py +12 -5
- py2docfx/convert_prepare/get_source.py +5 -1
- py2docfx/convert_prepare/git.py +24 -20
- py2docfx/convert_prepare/package_info.py +15 -9
- py2docfx/convert_prepare/pip_utils.py +29 -8
- py2docfx/convert_prepare/post_process/merge_toc.py +5 -1
- py2docfx/convert_prepare/sphinx_caller.py +31 -14
- py2docfx/convert_prepare/tests/test_generate_document.py +6 -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 +5 -3
- py2docfx/convert_prepare/tests/utils.py +11 -0
- py2docfx/docfx_yaml/build_finished.py +11 -3
- py2docfx/docfx_yaml/convert_class.py +4 -2
- py2docfx/docfx_yaml/convert_enum.py +4 -2
- py2docfx/docfx_yaml/convert_module.py +4 -2
- py2docfx/docfx_yaml/convert_package.py +4 -2
- py2docfx/docfx_yaml/logger.py +68 -0
- py2docfx/docfx_yaml/process_doctree.py +6 -4
- py2docfx/docfx_yaml/translator.py +5 -7
- py2docfx/docfx_yaml/writer.py +10 -4
- py2docfx/docfx_yaml/yaml_builder.py +0 -1
- 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 +25 -19
- 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 +43 -84
- 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 +15 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_py.py +26 -30
- 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 +57 -80
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +21 -23
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +32 -32
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_egg_info.py +4 -4
- 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/saveopts.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +11 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/setopt.py +3 -3
- 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 +12 -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 +51 -47
- 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 +5 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +35 -24
- 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 +2 -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 +171 -76
- 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/unicode_utils.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 +279 -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/jwt/__init__.py +3 -2
- py2docfx/venv/venv1/Lib/site-packages/jwt/algorithms.py +31 -16
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jws.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/jwt/api_jwt.py +75 -19
- py2docfx/venv/venv1/Lib/site-packages/jwt/exceptions.py +8 -0
- py2docfx/venv/venv1/Lib/site-packages/jwt/help.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/jwt/jwks_client.py +4 -2
- py2docfx/venv/venv1/Lib/site-packages/jwt/utils.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -3
- 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 +25 -19
- 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 +43 -84
- 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 +15 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_py.py +26 -30
- 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 +57 -80
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +21 -23
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +32 -32
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_egg_info.py +4 -4
- 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/saveopts.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +11 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/setopt.py +3 -3
- 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 +12 -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 +51 -47
- 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 +5 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +35 -24
- 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 +2 -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 +171 -76
- 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/unicode_utils.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 +279 -220
- py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -9
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/METADATA +1 -1
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/RECORD +327 -385
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.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/convert_prepare/conf_templates/{master_doc.rst_t → root_doc.rst_t} +0 -0
- {py2docfx-0.1.9.dev1897607.dist-info → py2docfx-0.1.9.dev1926139.dist-info}/top_level.txt +0 -0
@@ -34,7 +34,7 @@ import zipimport
|
|
34
34
|
from collections.abc import Iterable
|
35
35
|
from glob import glob
|
36
36
|
from sysconfig import get_path
|
37
|
-
from typing import TYPE_CHECKING,
|
37
|
+
from typing import TYPE_CHECKING, NoReturn, TypedDict
|
38
38
|
|
39
39
|
from jaraco.text import yield_lines
|
40
40
|
|
@@ -63,7 +63,8 @@ from setuptools.warnings import SetuptoolsDeprecationWarning, SetuptoolsWarning
|
|
63
63
|
from setuptools.wheel import Wheel
|
64
64
|
|
65
65
|
from .._path import ensure_directory
|
66
|
-
from ..
|
66
|
+
from .._shutil import attempt_chmod_verbose as chmod, rmtree as _rmtree
|
67
|
+
from ..compat import py39, py312
|
67
68
|
|
68
69
|
from distutils import dir_util, log
|
69
70
|
from distutils.command import install
|
@@ -89,8 +90,6 @@ __all__ = [
|
|
89
90
|
'get_exe_prefixes',
|
90
91
|
]
|
91
92
|
|
92
|
-
_T = TypeVar("_T")
|
93
|
-
|
94
93
|
|
95
94
|
def is_64bit():
|
96
95
|
return struct.calcsize("P") == 8
|
@@ -212,7 +211,7 @@ class easy_install(Command):
|
|
212
211
|
self, self.distribution.get_option_dict('easy_install')
|
213
212
|
)
|
214
213
|
|
215
|
-
def delete_blockers(self, blockers):
|
214
|
+
def delete_blockers(self, blockers) -> None:
|
216
215
|
extant_blockers = (
|
217
216
|
filename
|
218
217
|
for filename in blockers
|
@@ -234,13 +233,12 @@ class easy_install(Command):
|
|
234
233
|
"""
|
235
234
|
Render the Setuptools version and installation details, then exit.
|
236
235
|
"""
|
237
|
-
ver = '{}.{
|
236
|
+
ver = f'{sys.version_info.major}.{sys.version_info.minor}'
|
238
237
|
dist = get_distribution('setuptools')
|
239
|
-
|
240
|
-
print(tmpl.format(**locals()))
|
238
|
+
print(f'setuptools {dist.version} from {dist.location} (Python {ver})')
|
241
239
|
raise SystemExit
|
242
240
|
|
243
|
-
def finalize_options(self): # noqa: C901 # is too complex (25) # FIXME
|
241
|
+
def finalize_options(self) -> None: # noqa: C901 # is too complex (25) # FIXME
|
244
242
|
self.version and self._render_version()
|
245
243
|
|
246
244
|
py_version = sys.version.split()[0]
|
@@ -356,7 +354,7 @@ class easy_install(Command):
|
|
356
354
|
"No urls, filenames, or requirements specified (see --help)"
|
357
355
|
)
|
358
356
|
|
359
|
-
self.outputs = []
|
357
|
+
self.outputs: list[str] = []
|
360
358
|
|
361
359
|
@staticmethod
|
362
360
|
def _process_site_dirs(site_dirs):
|
@@ -408,12 +406,12 @@ class easy_install(Command):
|
|
408
406
|
val = subst_vars(val, self.config_vars)
|
409
407
|
setattr(self, attr, val)
|
410
408
|
|
411
|
-
def expand_basedirs(self):
|
409
|
+
def expand_basedirs(self) -> None:
|
412
410
|
"""Calls `os.path.expanduser` on install_base, install_platbase and
|
413
411
|
root."""
|
414
412
|
self._expand_attrs(['install_base', 'install_platbase', 'root'])
|
415
413
|
|
416
|
-
def expand_dirs(self):
|
414
|
+
def expand_dirs(self) -> None:
|
417
415
|
"""Calls `os.path.expanduser` on install dirs."""
|
418
416
|
dirs = [
|
419
417
|
'install_purelib',
|
@@ -425,7 +423,7 @@ class easy_install(Command):
|
|
425
423
|
]
|
426
424
|
self._expand_attrs(dirs)
|
427
425
|
|
428
|
-
def run(self, show_deprecation=True):
|
426
|
+
def run(self, show_deprecation: bool = True) -> None:
|
429
427
|
if show_deprecation:
|
430
428
|
self.announce(
|
431
429
|
"WARNING: The easy_install command is deprecated "
|
@@ -465,10 +463,10 @@ class easy_install(Command):
|
|
465
463
|
pid = random.randint(0, sys.maxsize)
|
466
464
|
return os.path.join(self.install_dir, "test-easy-install-%s" % pid)
|
467
465
|
|
468
|
-
def warn_deprecated_options(self):
|
466
|
+
def warn_deprecated_options(self) -> None:
|
469
467
|
pass
|
470
468
|
|
471
|
-
def check_site_dir(self): # is too complex (12) # FIXME
|
469
|
+
def check_site_dir(self) -> None: # is too complex (12) # FIXME
|
472
470
|
"""Verify that self.install_dir is .pth-capable dir, if needed"""
|
473
471
|
|
474
472
|
instdir = normalize_path(self.install_dir)
|
@@ -555,7 +553,7 @@ class easy_install(Command):
|
|
555
553
|
"""
|
556
554
|
).lstrip()
|
557
555
|
|
558
|
-
def cant_write_to_target(self):
|
556
|
+
def cant_write_to_target(self) -> NoReturn:
|
559
557
|
msg = self.__cant_write_msg % (
|
560
558
|
sys.exc_info()[1],
|
561
559
|
self.install_dir,
|
@@ -627,7 +625,7 @@ class easy_install(Command):
|
|
627
625
|
log.warn("TEST FAILED: %s does NOT support .pth files", instdir)
|
628
626
|
return False
|
629
627
|
|
630
|
-
def install_egg_scripts(self, dist):
|
628
|
+
def install_egg_scripts(self, dist) -> None:
|
631
629
|
"""Write all the scripts for `dist`, unless scripts are excluded"""
|
632
630
|
if not self.exclude_scripts and dist.metadata_isdir('scripts'):
|
633
631
|
for script_name in dist.metadata_listdir('scripts'):
|
@@ -640,7 +638,7 @@ class easy_install(Command):
|
|
640
638
|
)
|
641
639
|
self.install_wrapper_scripts(dist)
|
642
640
|
|
643
|
-
def add_output(self, path):
|
641
|
+
def add_output(self, path) -> None:
|
644
642
|
if os.path.isdir(path):
|
645
643
|
for base, dirs, files in os.walk(path):
|
646
644
|
for filename in files:
|
@@ -648,14 +646,14 @@ class easy_install(Command):
|
|
648
646
|
else:
|
649
647
|
self.outputs.append(path)
|
650
648
|
|
651
|
-
def not_editable(self, spec):
|
649
|
+
def not_editable(self, spec) -> None:
|
652
650
|
if self.editable:
|
653
651
|
raise DistutilsArgError(
|
654
652
|
"Invalid argument %r: you can't use filenames or URLs "
|
655
653
|
"with --editable (except via the --find-links option)." % (spec,)
|
656
654
|
)
|
657
655
|
|
658
|
-
def check_editable(self, spec):
|
656
|
+
def check_editable(self, spec) -> None:
|
659
657
|
if not self.editable:
|
660
658
|
return
|
661
659
|
|
@@ -674,7 +672,7 @@ class easy_install(Command):
|
|
674
672
|
finally:
|
675
673
|
os.path.exists(tmpdir) and _rmtree(tmpdir)
|
676
674
|
|
677
|
-
def easy_install(self, spec, deps=False):
|
675
|
+
def easy_install(self, spec, deps: bool = False) -> Distribution | None:
|
678
676
|
with self._tmpdir() as tmpdir:
|
679
677
|
if not isinstance(spec, Requirement):
|
680
678
|
if URL_SCHEME(spec):
|
@@ -711,9 +709,11 @@ class easy_install(Command):
|
|
711
709
|
else:
|
712
710
|
return self.install_item(spec, dist.location, tmpdir, deps)
|
713
711
|
|
714
|
-
def install_item(
|
712
|
+
def install_item(
|
713
|
+
self, spec, download, tmpdir, deps, install_needed: bool = False
|
714
|
+
) -> Distribution | None:
|
715
715
|
# Installation is also needed if file in tmpdir or is not an egg
|
716
|
-
install_needed = install_needed or self.always_copy
|
716
|
+
install_needed = install_needed or bool(self.always_copy)
|
717
717
|
install_needed = install_needed or os.path.dirname(download) == tmpdir
|
718
718
|
install_needed = install_needed or not download.endswith('.egg')
|
719
719
|
install_needed = install_needed or (
|
@@ -759,9 +759,9 @@ class easy_install(Command):
|
|
759
759
|
self,
|
760
760
|
requirement,
|
761
761
|
dist,
|
762
|
-
deps=True,
|
762
|
+
deps: bool = True,
|
763
763
|
*info,
|
764
|
-
):
|
764
|
+
) -> None:
|
765
765
|
self.update_pth(dist)
|
766
766
|
self.package_index.add(dist)
|
767
767
|
if dist in self.local_index[dist.key]:
|
@@ -799,7 +799,7 @@ class easy_install(Command):
|
|
799
799
|
self.easy_install(dist.as_requirement())
|
800
800
|
log.info("Finished processing dependencies for %s", requirement)
|
801
801
|
|
802
|
-
def should_unzip(self, dist):
|
802
|
+
def should_unzip(self, dist) -> bool:
|
803
803
|
if self.zip_ok is not None:
|
804
804
|
return not self.zip_ok
|
805
805
|
if dist.has_metadata('not-zip-safe'):
|
@@ -829,13 +829,13 @@ class easy_install(Command):
|
|
829
829
|
shutil.move(setup_base, dst)
|
830
830
|
return dst
|
831
831
|
|
832
|
-
def install_wrapper_scripts(self, dist):
|
832
|
+
def install_wrapper_scripts(self, dist) -> None:
|
833
833
|
if self.exclude_scripts:
|
834
834
|
return
|
835
835
|
for args in ScriptWriter.best().get_args(dist):
|
836
836
|
self.write_script(*args)
|
837
837
|
|
838
|
-
def install_script(self, dist, script_name, script_text, dev_path=None):
|
838
|
+
def install_script(self, dist, script_name, script_text, dev_path=None) -> None:
|
839
839
|
"""Generate a legacy script wrapper and install it"""
|
840
840
|
spec = str(dist.as_requirement())
|
841
841
|
is_script = is_python_script(script_text, script_name)
|
@@ -860,7 +860,7 @@ class easy_install(Command):
|
|
860
860
|
raw_bytes = resource_string('setuptools', name)
|
861
861
|
return raw_bytes.decode('utf-8')
|
862
862
|
|
863
|
-
def write_script(self, script_name, contents, mode="t", blockers=()):
|
863
|
+
def write_script(self, script_name, contents, mode: str = "t", blockers=()) -> None:
|
864
864
|
"""Write an executable file to the scripts directory"""
|
865
865
|
self.delete_blockers( # clean up old .py/.pyw w/o a script
|
866
866
|
[os.path.join(self.script_dir, x) for x in blockers]
|
@@ -882,7 +882,7 @@ class easy_install(Command):
|
|
882
882
|
f.write(contents)
|
883
883
|
chmod(target, 0o777 - mask)
|
884
884
|
|
885
|
-
def install_eggs(self, spec, dist_filename, tmpdir):
|
885
|
+
def install_eggs(self, spec, dist_filename, tmpdir) -> list[Distribution]:
|
886
886
|
# .egg dirs or files are already built, so just return them
|
887
887
|
installer_map = {
|
888
888
|
'.egg': self.install_egg,
|
@@ -1043,7 +1043,7 @@ class easy_install(Command):
|
|
1043
1043
|
return self.install_egg(egg_path, tmpdir)
|
1044
1044
|
|
1045
1045
|
# FIXME: 'easy_install.exe_to_egg' is too complex (12)
|
1046
|
-
def exe_to_egg(self, dist_filename, egg_tmp): # noqa: C901
|
1046
|
+
def exe_to_egg(self, dist_filename, egg_tmp) -> None: # noqa: C901
|
1047
1047
|
"""Extract a bdist_wininst to the directories an egg would use"""
|
1048
1048
|
# Check for .pth file and set up prefix translations
|
1049
1049
|
prefixes = get_exe_prefixes(dist_filename)
|
@@ -1143,7 +1143,7 @@ class easy_install(Command):
|
|
1143
1143
|
"""
|
1144
1144
|
)
|
1145
1145
|
|
1146
|
-
def installation_report(self, req, dist, what="Installed"):
|
1146
|
+
def installation_report(self, req, dist, what: str = "Installed") -> str:
|
1147
1147
|
"""Helpful installation message for display to package users"""
|
1148
1148
|
msg = "\n%(what)s %(eggloc)s%(extras)s"
|
1149
1149
|
if self.multi_version and not self.no_report:
|
@@ -1175,7 +1175,7 @@ class easy_install(Command):
|
|
1175
1175
|
python = sys.executable
|
1176
1176
|
return '\n' + self.__editable_msg % locals()
|
1177
1177
|
|
1178
|
-
def run_setup(self, setup_script, setup_base, args):
|
1178
|
+
def run_setup(self, setup_script, setup_base, args) -> None:
|
1179
1179
|
sys.modules.setdefault('distutils.command.bdist_egg', bdist_egg)
|
1180
1180
|
sys.modules.setdefault('distutils.command.egg_info', egg_info)
|
1181
1181
|
|
@@ -1244,7 +1244,7 @@ class easy_install(Command):
|
|
1244
1244
|
cfg_filename = os.path.join(base, 'setup.cfg')
|
1245
1245
|
setopt.edit_config(cfg_filename, settings)
|
1246
1246
|
|
1247
|
-
def update_pth(self, dist): # noqa: C901 # is too complex (11) # FIXME
|
1247
|
+
def update_pth(self, dist) -> None: # noqa: C901 # is too complex (11) # FIXME
|
1248
1248
|
if self.pth_file is None:
|
1249
1249
|
return
|
1250
1250
|
|
@@ -1293,7 +1293,7 @@ class easy_install(Command):
|
|
1293
1293
|
log.debug("Unpacking %s to %s", src, dst)
|
1294
1294
|
return dst # only unpack-and-compile skips files for dry run
|
1295
1295
|
|
1296
|
-
def unpack_and_compile(self, egg_path, destination):
|
1296
|
+
def unpack_and_compile(self, egg_path, destination) -> None:
|
1297
1297
|
to_compile = []
|
1298
1298
|
to_chmod = []
|
1299
1299
|
|
@@ -1312,7 +1312,7 @@ class easy_install(Command):
|
|
1312
1312
|
mode = ((os.stat(f)[stat.ST_MODE]) | 0o555) & 0o7755
|
1313
1313
|
chmod(f, mode)
|
1314
1314
|
|
1315
|
-
def byte_compile(self, to_compile):
|
1315
|
+
def byte_compile(self, to_compile) -> None:
|
1316
1316
|
if sys.dont_write_bytecode:
|
1317
1317
|
return
|
1318
1318
|
|
@@ -1367,7 +1367,7 @@ class easy_install(Command):
|
|
1367
1367
|
"""
|
1368
1368
|
).strip()
|
1369
1369
|
|
1370
|
-
def create_home_path(self):
|
1370
|
+
def create_home_path(self) -> None:
|
1371
1371
|
"""Create directories under ~."""
|
1372
1372
|
if not self.user:
|
1373
1373
|
return
|
@@ -1441,7 +1441,7 @@ def get_site_dirs():
|
|
1441
1441
|
os.path.join(
|
1442
1442
|
prefix,
|
1443
1443
|
"lib",
|
1444
|
-
"python{}.{
|
1444
|
+
f"python{sys.version_info.major}.{sys.version_info.minor}",
|
1445
1445
|
"site-packages",
|
1446
1446
|
),
|
1447
1447
|
os.path.join(prefix, "lib", "site-python"),
|
@@ -1468,7 +1468,7 @@ def get_site_dirs():
|
|
1468
1468
|
home,
|
1469
1469
|
'Library',
|
1470
1470
|
'Python',
|
1471
|
-
'{}.{
|
1471
|
+
f'{sys.version_info.major}.{sys.version_info.minor}',
|
1472
1472
|
'site-packages',
|
1473
1473
|
)
|
1474
1474
|
sitedirs.append(home_sp)
|
@@ -1546,7 +1546,7 @@ def extract_wininst_cfg(dist_filename):
|
|
1546
1546
|
return None
|
1547
1547
|
f.seek(prepended - 12)
|
1548
1548
|
|
1549
|
-
tag, cfglen,
|
1549
|
+
tag, cfglen, _bmlen = struct.unpack("<iii", f.read(12))
|
1550
1550
|
if tag not in (0x1234567A, 0x1234567B):
|
1551
1551
|
return None # not a valid tag
|
1552
1552
|
|
@@ -1611,7 +1611,7 @@ def get_exe_prefixes(exe_filename):
|
|
1611
1611
|
class PthDistributions(Environment):
|
1612
1612
|
"""A .pth file with Distribution paths in it"""
|
1613
1613
|
|
1614
|
-
def __init__(self, filename, sitedirs=()):
|
1614
|
+
def __init__(self, filename, sitedirs=()) -> None:
|
1615
1615
|
self.filename = filename
|
1616
1616
|
self.sitedirs = list(map(normalize_path, sitedirs))
|
1617
1617
|
self.basedir = normalize_path(os.path.dirname(self.filename))
|
@@ -1657,7 +1657,7 @@ class PthDistributions(Environment):
|
|
1657
1657
|
return self._load_raw()
|
1658
1658
|
return [], False
|
1659
1659
|
|
1660
|
-
def save(self):
|
1660
|
+
def save(self) -> None:
|
1661
1661
|
"""Write changed .pth file back to disk"""
|
1662
1662
|
# first reload the file
|
1663
1663
|
last_paths, last_dirty = self._load()
|
@@ -1711,7 +1711,7 @@ class PthDistributions(Environment):
|
|
1711
1711
|
def _wrap_lines(lines):
|
1712
1712
|
return lines
|
1713
1713
|
|
1714
|
-
def add(self, dist):
|
1714
|
+
def add(self, dist) -> None:
|
1715
1715
|
"""Add `dist` to the distribution map"""
|
1716
1716
|
new_path = dist.location not in self.paths and (
|
1717
1717
|
dist.location not in self.sitedirs
|
@@ -1724,7 +1724,7 @@ class PthDistributions(Environment):
|
|
1724
1724
|
self.dirty = True
|
1725
1725
|
super().add(dist)
|
1726
1726
|
|
1727
|
-
def remove(self, dist):
|
1727
|
+
def remove(self, dist) -> None:
|
1728
1728
|
"""Remove `dist` from the distribution map"""
|
1729
1729
|
while dist.location in self.paths:
|
1730
1730
|
self.paths.remove(dist.location)
|
@@ -1788,16 +1788,6 @@ def _first_line_re():
|
|
1788
1788
|
return re.compile(first_line_re.pattern.decode())
|
1789
1789
|
|
1790
1790
|
|
1791
|
-
# Must match shutil._OnExcCallback
|
1792
|
-
def auto_chmod(func: Callable[..., _T], arg: str, exc: BaseException) -> _T:
|
1793
|
-
"""shutils onexc callback to automatically call chmod for certain functions."""
|
1794
|
-
# Only retry for scenarios known to have an issue
|
1795
|
-
if func in [os.unlink, os.remove] and os.name == 'nt':
|
1796
|
-
chmod(arg, stat.S_IWRITE)
|
1797
|
-
return func(arg)
|
1798
|
-
raise exc
|
1799
|
-
|
1800
|
-
|
1801
1791
|
def update_dist_caches(dist_path, fix_zipimporter_caches):
|
1802
1792
|
"""
|
1803
1793
|
Fix any globally cached `dist_path` related data
|
@@ -2020,22 +2010,9 @@ def is_python_script(script_text, filename):
|
|
2020
2010
|
return False # Not any Python I can recognize
|
2021
2011
|
|
2022
2012
|
|
2023
|
-
|
2024
|
-
|
2025
|
-
|
2026
|
-
)
|
2027
|
-
except ImportError:
|
2028
|
-
# Jython compatibility
|
2029
|
-
def _chmod(*args: object, **kwargs: object) -> None: # type: ignore[misc] # Mypy reuses the imported definition anyway
|
2030
|
-
pass
|
2031
|
-
|
2032
|
-
|
2033
|
-
def chmod(path, mode):
|
2034
|
-
log.debug("changing mode of %s to %o", path, mode)
|
2035
|
-
try:
|
2036
|
-
_chmod(path, mode)
|
2037
|
-
except OSError as e:
|
2038
|
-
log.debug("chmod failed: %s", e)
|
2013
|
+
class _SplitArgs(TypedDict, total=False):
|
2014
|
+
comments: bool
|
2015
|
+
posix: bool
|
2039
2016
|
|
2040
2017
|
|
2041
2018
|
class CommandSpec(list):
|
@@ -2045,7 +2022,7 @@ class CommandSpec(list):
|
|
2045
2022
|
"""
|
2046
2023
|
|
2047
2024
|
options: list[str] = []
|
2048
|
-
split_args
|
2025
|
+
split_args = _SplitArgs()
|
2049
2026
|
|
2050
2027
|
@classmethod
|
2051
2028
|
def best(cls):
|
@@ -2080,7 +2057,7 @@ class CommandSpec(list):
|
|
2080
2057
|
return cls([cls._sys_executable()])
|
2081
2058
|
|
2082
2059
|
@classmethod
|
2083
|
-
def from_string(cls, string):
|
2060
|
+
def from_string(cls, string: str) -> Self:
|
2084
2061
|
"""
|
2085
2062
|
Construct a command spec from a simple string representing a command
|
2086
2063
|
line parseable by shlex.split.
|
@@ -2088,7 +2065,7 @@ class CommandSpec(list):
|
|
2088
2065
|
items = shlex.split(string, **cls.split_args)
|
2089
2066
|
return cls(items)
|
2090
2067
|
|
2091
|
-
def install_options(self, script_text):
|
2068
|
+
def install_options(self, script_text: str):
|
2092
2069
|
self.options = shlex.split(self._extract_options(script_text))
|
2093
2070
|
cmdline = subprocess.list2cmdline(self)
|
2094
2071
|
if not isascii(cmdline):
|
@@ -2128,7 +2105,7 @@ sys_executable = CommandSpec._sys_executable()
|
|
2128
2105
|
|
2129
2106
|
|
2130
2107
|
class WindowsCommandSpec(CommandSpec):
|
2131
|
-
split_args =
|
2108
|
+
split_args = _SplitArgs(posix=False)
|
2132
2109
|
|
2133
2110
|
|
2134
2111
|
class ScriptWriter:
|
@@ -2187,7 +2164,7 @@ class ScriptWriter:
|
|
2187
2164
|
spec = str(dist.as_requirement())
|
2188
2165
|
for type_ in 'console', 'gui':
|
2189
2166
|
group = type_ + '_scripts'
|
2190
|
-
for name
|
2167
|
+
for name in dist.get_entry_map(group).keys():
|
2191
2168
|
cls._ensure_safe_name(name)
|
2192
2169
|
script_text = cls.template % locals()
|
2193
2170
|
args = cls._get_script_args(type_, name, header, script_text)
|
@@ -2218,7 +2195,11 @@ class ScriptWriter:
|
|
2218
2195
|
yield (name, header + script_text)
|
2219
2196
|
|
2220
2197
|
@classmethod
|
2221
|
-
def get_header(
|
2198
|
+
def get_header(
|
2199
|
+
cls,
|
2200
|
+
script_text: str = "",
|
2201
|
+
executable: str | CommandSpec | Iterable[str] | None = None,
|
2202
|
+
) -> str:
|
2222
2203
|
"""Create a #! line, getting options (if any) from script_text"""
|
2223
2204
|
cmd = cls.command_spec_class.best().from_param(executable)
|
2224
2205
|
cmd.install_options(script_text)
|
@@ -2340,10 +2321,6 @@ def load_launcher_manifest(name):
|
|
2340
2321
|
return manifest.decode('utf-8') % vars()
|
2341
2322
|
|
2342
2323
|
|
2343
|
-
def _rmtree(path, ignore_errors=False, onexc=auto_chmod):
|
2344
|
-
return py311.shutil_rmtree(path, ignore_errors, onexc)
|
2345
|
-
|
2346
|
-
|
2347
2324
|
def current_umask():
|
2348
2325
|
tmp = os.umask(0o022)
|
2349
2326
|
os.umask(tmp)
|
@@ -17,6 +17,7 @@ import logging
|
|
17
17
|
import os
|
18
18
|
import shutil
|
19
19
|
import traceback
|
20
|
+
from collections.abc import Iterable, Iterator, Mapping
|
20
21
|
from contextlib import suppress
|
21
22
|
from enum import Enum
|
22
23
|
from inspect import cleandoc
|
@@ -24,9 +25,9 @@ from itertools import chain, starmap
|
|
24
25
|
from pathlib import Path
|
25
26
|
from tempfile import TemporaryDirectory
|
26
27
|
from types import TracebackType
|
27
|
-
from typing import TYPE_CHECKING,
|
28
|
+
from typing import TYPE_CHECKING, Protocol, TypeVar, cast
|
28
29
|
|
29
|
-
from .. import Command, _normalization, _path, errors, namespaces
|
30
|
+
from .. import Command, _normalization, _path, _shutil, errors, namespaces
|
30
31
|
from .._path import StrPath
|
31
32
|
from ..compat import py312
|
32
33
|
from ..discovery import find_package_path
|
@@ -119,13 +120,13 @@ class editable_wheel(Command):
|
|
119
120
|
self.project_dir = None
|
120
121
|
self.mode = None
|
121
122
|
|
122
|
-
def finalize_options(self):
|
123
|
+
def finalize_options(self) -> None:
|
123
124
|
dist = self.distribution
|
124
125
|
self.project_dir = dist.src_root or os.curdir
|
125
126
|
self.package_dir = dist.package_dir or {}
|
126
127
|
self.dist_dir = Path(self.dist_dir or os.path.join(self.project_dir, "dist"))
|
127
128
|
|
128
|
-
def run(self):
|
129
|
+
def run(self) -> None:
|
129
130
|
try:
|
130
131
|
self.dist_dir.mkdir(exist_ok=True)
|
131
132
|
self._ensure_dist_info()
|
@@ -138,7 +139,6 @@ class editable_wheel(Command):
|
|
138
139
|
self._create_wheel_file(bdist_wheel)
|
139
140
|
except Exception:
|
140
141
|
traceback.print_exc()
|
141
|
-
# TODO: Fix false-positive [attr-defined] in typeshed
|
142
142
|
project = self.distribution.name or self.distribution.get_name()
|
143
143
|
_DebuggingTips.emit(project=project)
|
144
144
|
raise
|
@@ -231,7 +231,6 @@ class editable_wheel(Command):
|
|
231
231
|
"""Set the ``editable_mode`` flag in the build sub-commands"""
|
232
232
|
dist = self.distribution
|
233
233
|
build = dist.get_command_obj("build")
|
234
|
-
# TODO: Update typeshed distutils stubs to overload non-None return type by default
|
235
234
|
for cmd_name in build.get_sub_commands():
|
236
235
|
cmd = dist.get_command_obj(cmd_name)
|
237
236
|
if hasattr(cmd, "editable_mode"):
|
@@ -380,26 +379,25 @@ class editable_wheel(Command):
|
|
380
379
|
|
381
380
|
|
382
381
|
class EditableStrategy(Protocol):
|
383
|
-
def __call__(
|
384
|
-
|
382
|
+
def __call__(
|
383
|
+
self, wheel: WheelFile, files: list[str], mapping: Mapping[str, str]
|
384
|
+
) -> object: ...
|
385
385
|
def __enter__(self) -> Self: ...
|
386
|
-
|
387
386
|
def __exit__(
|
388
387
|
self,
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
/,
|
388
|
+
_exc_type: type[BaseException] | None,
|
389
|
+
_exc_value: BaseException | None,
|
390
|
+
_traceback: TracebackType | None,
|
393
391
|
) -> object: ...
|
394
392
|
|
395
393
|
|
396
394
|
class _StaticPth:
|
397
|
-
def __init__(self, dist: Distribution, name: str, path_entries: list[Path]):
|
395
|
+
def __init__(self, dist: Distribution, name: str, path_entries: list[Path]) -> None:
|
398
396
|
self.dist = dist
|
399
397
|
self.name = name
|
400
398
|
self.path_entries = path_entries
|
401
399
|
|
402
|
-
def __call__(self, wheel: WheelFile, files: list[str], mapping:
|
400
|
+
def __call__(self, wheel: WheelFile, files: list[str], mapping: Mapping[str, str]):
|
403
401
|
entries = "\n".join(str(p.resolve()) for p in self.path_entries)
|
404
402
|
contents = _encode_pth(f"{entries}\n")
|
405
403
|
wheel.writestr(f"__editable__.{self.name}.pth", contents)
|
@@ -438,13 +436,13 @@ class _LinkTree(_StaticPth):
|
|
438
436
|
name: str,
|
439
437
|
auxiliary_dir: StrPath,
|
440
438
|
build_lib: StrPath,
|
441
|
-
):
|
439
|
+
) -> None:
|
442
440
|
self.auxiliary_dir = Path(auxiliary_dir)
|
443
441
|
self.build_lib = Path(build_lib).resolve()
|
444
442
|
self._file = dist.get_command_obj("build_py").copy_file
|
445
443
|
super().__init__(dist, name, [self.auxiliary_dir])
|
446
444
|
|
447
|
-
def __call__(self, wheel: WheelFile, files: list[str], mapping:
|
445
|
+
def __call__(self, wheel: WheelFile, files: list[str], mapping: Mapping[str, str]):
|
448
446
|
self._create_links(files, mapping)
|
449
447
|
super().__call__(wheel, files, mapping)
|
450
448
|
|
@@ -461,7 +459,7 @@ class _LinkTree(_StaticPth):
|
|
461
459
|
dest.parent.mkdir(parents=True)
|
462
460
|
self._file(src_file, dest, link=link)
|
463
461
|
|
464
|
-
def _create_links(self, outputs, output_mapping):
|
462
|
+
def _create_links(self, outputs, output_mapping: Mapping[str, str]):
|
465
463
|
self.auxiliary_dir.mkdir(parents=True, exist_ok=True)
|
466
464
|
link_type = "sym" if _can_symlink_files(self.auxiliary_dir) else "hard"
|
467
465
|
normalised = ((self._normalize_output(k), v) for k, v in output_mapping.items())
|
@@ -498,7 +496,7 @@ class _LinkTree(_StaticPth):
|
|
498
496
|
|
499
497
|
|
500
498
|
class _TopLevelFinder:
|
501
|
-
def __init__(self, dist: Distribution, name: str):
|
499
|
+
def __init__(self, dist: Distribution, name: str) -> None:
|
502
500
|
self.dist = dist
|
503
501
|
self.name = name
|
504
502
|
|
@@ -538,7 +536,7 @@ class _TopLevelFinder:
|
|
538
536
|
content = _encode_pth(f"import {finder}; {finder}.install()")
|
539
537
|
yield (f"__editable__.{self.name}.pth", content)
|
540
538
|
|
541
|
-
def __call__(self, wheel: WheelFile, files: list[str], mapping:
|
539
|
+
def __call__(self, wheel: WheelFile, files: list[str], mapping: Mapping[str, str]):
|
542
540
|
for file, content in self.get_implementation():
|
543
541
|
wheel.writestr(file, content)
|
544
542
|
|
@@ -775,18 +773,18 @@ def _is_nested(pkg: str, pkg_path: str, parent: str, parent_path: str) -> bool:
|
|
775
773
|
|
776
774
|
def _empty_dir(dir_: _P) -> _P:
|
777
775
|
"""Create a directory ensured to be empty. Existing files may be removed."""
|
778
|
-
|
776
|
+
_shutil.rmtree(dir_, ignore_errors=True)
|
779
777
|
os.makedirs(dir_)
|
780
778
|
return dir_
|
781
779
|
|
782
780
|
|
783
781
|
class _NamespaceInstaller(namespaces.Installer):
|
784
|
-
def __init__(self, distribution, installation_dir, editable_name, src_root):
|
782
|
+
def __init__(self, distribution, installation_dir, editable_name, src_root) -> None:
|
785
783
|
self.distribution = distribution
|
786
784
|
self.src_root = src_root
|
787
785
|
self.installation_dir = installation_dir
|
788
786
|
self.editable_name = editable_name
|
789
|
-
self.outputs = []
|
787
|
+
self.outputs: list[str] = []
|
790
788
|
self.dry_run = False
|
791
789
|
|
792
790
|
def _get_nspkg_file(self):
|