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
@@ -2,12 +2,12 @@
|
|
2
2
|
|
3
3
|
Create a distribution's .egg-info directory and contents"""
|
4
4
|
|
5
|
-
import collections
|
6
5
|
import functools
|
7
6
|
import os
|
8
7
|
import re
|
9
8
|
import sys
|
10
9
|
import time
|
10
|
+
from collections.abc import Callable
|
11
11
|
|
12
12
|
import packaging
|
13
13
|
import packaging.requirements
|
@@ -32,7 +32,7 @@ from distutils.errors import DistutilsInternalError
|
|
32
32
|
from distutils.filelist import FileList as _FileList
|
33
33
|
from distutils.util import convert_path
|
34
34
|
|
35
|
-
PY_MAJOR = '{}.{
|
35
|
+
PY_MAJOR = f'{sys.version_info.major}.{sys.version_info.minor}'
|
36
36
|
|
37
37
|
|
38
38
|
def translate_pattern(glob): # noqa: C901 # is too complex (14) # FIXME
|
@@ -196,7 +196,7 @@ class egg_info(InfoCommon, Command):
|
|
196
196
|
# allow the 'tag_svn_revision' to be detected and
|
197
197
|
# set, supporting sdists built on older Setuptools.
|
198
198
|
@property
|
199
|
-
def tag_svn_revision(self):
|
199
|
+
def tag_svn_revision(self) -> None:
|
200
200
|
pass
|
201
201
|
|
202
202
|
@tag_svn_revision.setter
|
@@ -205,20 +205,18 @@ class egg_info(InfoCommon, Command):
|
|
205
205
|
|
206
206
|
####################################
|
207
207
|
|
208
|
-
def save_version_info(self, filename):
|
208
|
+
def save_version_info(self, filename) -> None:
|
209
209
|
"""
|
210
210
|
Materialize the value of date into the
|
211
211
|
build tag. Install build keys in a deterministic order
|
212
212
|
to avoid arbitrary reordering on subsequent builds.
|
213
213
|
"""
|
214
|
-
egg_info = collections.OrderedDict()
|
215
214
|
# follow the order these keys would have been added
|
216
215
|
# when PYTHONHASHSEED=0
|
217
|
-
egg_info
|
218
|
-
egg_info['tag_date'] = 0
|
216
|
+
egg_info = dict(tag_build=self.tags(), tag_date=0)
|
219
217
|
edit_config(filename, dict(egg_info=egg_info))
|
220
218
|
|
221
|
-
def finalize_options(self):
|
219
|
+
def finalize_options(self) -> None:
|
222
220
|
# Note: we need to capture the current value returned
|
223
221
|
# by `self.tagged_version()`, so we can later update
|
224
222
|
# `self.distribution.metadata.version` without
|
@@ -255,7 +253,7 @@ class egg_info(InfoCommon, Command):
|
|
255
253
|
"""Compute filename of the output egg. Private API."""
|
256
254
|
return _egg_basename(self.egg_name, self.egg_version, py_version, platform)
|
257
255
|
|
258
|
-
def write_or_delete_file(self, what, filename, data, force=False):
|
256
|
+
def write_or_delete_file(self, what, filename, data, force: bool = False) -> None:
|
259
257
|
"""Write `data` to `filename` or delete if empty
|
260
258
|
|
261
259
|
If `data` is non-empty, this routine is the same as ``write_file()``.
|
@@ -273,7 +271,7 @@ class egg_info(InfoCommon, Command):
|
|
273
271
|
else:
|
274
272
|
self.delete_file(filename)
|
275
273
|
|
276
|
-
def write_file(self, what, filename, data):
|
274
|
+
def write_file(self, what, filename, data) -> None:
|
277
275
|
"""Write `data` to `filename` (if not a dry run) after announcing it
|
278
276
|
|
279
277
|
`what` is used in a log message to identify what is being written
|
@@ -286,13 +284,13 @@ class egg_info(InfoCommon, Command):
|
|
286
284
|
f.write(data)
|
287
285
|
f.close()
|
288
286
|
|
289
|
-
def delete_file(self, filename):
|
287
|
+
def delete_file(self, filename) -> None:
|
290
288
|
"""Delete `filename` (if not a dry run) after announcing it"""
|
291
289
|
log.info("deleting %s", filename)
|
292
290
|
if not self.dry_run:
|
293
291
|
os.unlink(filename)
|
294
292
|
|
295
|
-
def run(self):
|
293
|
+
def run(self) -> None:
|
296
294
|
# Pre-load to avoid iterating over entry-points while an empty .egg-info
|
297
295
|
# exists in sys.path. See pypa/pyproject-hooks#206
|
298
296
|
writers = list(metadata.entry_points(group='egg_info.writers'))
|
@@ -314,7 +312,7 @@ class egg_info(InfoCommon, Command):
|
|
314
312
|
|
315
313
|
self.find_sources()
|
316
314
|
|
317
|
-
def find_sources(self):
|
315
|
+
def find_sources(self) -> None:
|
318
316
|
"""Generate SOURCES.txt manifest file"""
|
319
317
|
manifest_filename = os.path.join(self.egg_info, "SOURCES.txt")
|
320
318
|
mm = manifest_maker(self.distribution)
|
@@ -327,11 +325,13 @@ class egg_info(InfoCommon, Command):
|
|
327
325
|
class FileList(_FileList):
|
328
326
|
# Implementations of the various MANIFEST.in commands
|
329
327
|
|
330
|
-
def __init__(
|
328
|
+
def __init__(
|
329
|
+
self, warn=None, debug_print=None, ignore_egg_info_dir: bool = False
|
330
|
+
) -> None:
|
331
331
|
super().__init__(warn, debug_print)
|
332
332
|
self.ignore_egg_info_dir = ignore_egg_info_dir
|
333
333
|
|
334
|
-
def process_template_line(self, line):
|
334
|
+
def process_template_line(self, line) -> None:
|
335
335
|
# Parse the line: split it up, make sure the right number of words
|
336
336
|
# is there, and return the relevant words. 'action' is always
|
337
337
|
# defined: it's the first word of the line. Which of the other
|
@@ -339,7 +339,7 @@ class FileList(_FileList):
|
|
339
339
|
# patterns, (dir and patterns), or (dir_pattern).
|
340
340
|
(action, patterns, dir, dir_pattern) = self._parse_template_line(line)
|
341
341
|
|
342
|
-
action_map = {
|
342
|
+
action_map: dict[str, Callable] = {
|
343
343
|
'include': self.include,
|
344
344
|
'exclude': self.exclude,
|
345
345
|
'global-include': self.global_include,
|
@@ -475,7 +475,7 @@ class FileList(_FileList):
|
|
475
475
|
match = translate_pattern(os.path.join('**', pattern))
|
476
476
|
return self._remove_files(match.match)
|
477
477
|
|
478
|
-
def append(self, item):
|
478
|
+
def append(self, item) -> None:
|
479
479
|
if item.endswith('\r'): # Fix older sdists built on Windows
|
480
480
|
item = item[:-1]
|
481
481
|
path = convert_path(item)
|
@@ -483,7 +483,7 @@ class FileList(_FileList):
|
|
483
483
|
if self._safe_path(path):
|
484
484
|
self.files.append(path)
|
485
485
|
|
486
|
-
def extend(self, paths):
|
486
|
+
def extend(self, paths) -> None:
|
487
487
|
self.files.extend(filter(self._safe_path, paths))
|
488
488
|
|
489
489
|
def _repair(self):
|
@@ -527,17 +527,17 @@ class FileList(_FileList):
|
|
527
527
|
class manifest_maker(sdist):
|
528
528
|
template = "MANIFEST.in"
|
529
529
|
|
530
|
-
def initialize_options(self):
|
530
|
+
def initialize_options(self) -> None:
|
531
531
|
self.use_defaults = True
|
532
532
|
self.prune = True
|
533
533
|
self.manifest_only = True
|
534
534
|
self.force_manifest = True
|
535
535
|
self.ignore_egg_info_dir = False
|
536
536
|
|
537
|
-
def finalize_options(self):
|
537
|
+
def finalize_options(self) -> None:
|
538
538
|
pass
|
539
539
|
|
540
|
-
def run(self):
|
540
|
+
def run(self) -> None:
|
541
541
|
self.filelist = FileList(ignore_egg_info_dir=self.ignore_egg_info_dir)
|
542
542
|
if not os.path.exists(self.manifest):
|
543
543
|
self.write_manifest() # it must exist so it'll get in the list
|
@@ -555,7 +555,7 @@ class manifest_maker(sdist):
|
|
555
555
|
path = unicode_utils.filesys_decode(path)
|
556
556
|
return path.replace(os.sep, '/')
|
557
557
|
|
558
|
-
def write_manifest(self):
|
558
|
+
def write_manifest(self) -> None:
|
559
559
|
"""
|
560
560
|
Write the file list in 'self.filelist' to the manifest file
|
561
561
|
named by 'self.manifest'.
|
@@ -567,7 +567,7 @@ class manifest_maker(sdist):
|
|
567
567
|
msg = "writing manifest file '%s'" % self.manifest
|
568
568
|
self.execute(write_file, (self.manifest, files), msg)
|
569
569
|
|
570
|
-
def warn(self, msg):
|
570
|
+
def warn(self, msg) -> None:
|
571
571
|
if not self._should_suppress_warning(msg):
|
572
572
|
sdist.warn(self, msg)
|
573
573
|
|
@@ -578,7 +578,7 @@ class manifest_maker(sdist):
|
|
578
578
|
"""
|
579
579
|
return re.match(r"standard file .*not found", msg)
|
580
580
|
|
581
|
-
def add_defaults(self):
|
581
|
+
def add_defaults(self) -> None:
|
582
582
|
sdist.add_defaults(self)
|
583
583
|
self.filelist.append(self.template)
|
584
584
|
self.filelist.append(self.manifest)
|
@@ -596,7 +596,7 @@ class manifest_maker(sdist):
|
|
596
596
|
ei_cmd = self.get_finalized_command('egg_info')
|
597
597
|
self.filelist.graft(ei_cmd.egg_info)
|
598
598
|
|
599
|
-
def add_license_files(self):
|
599
|
+
def add_license_files(self) -> None:
|
600
600
|
license_files = self.distribution.metadata.license_files or []
|
601
601
|
for lf in license_files:
|
602
602
|
log.info("adding license file '%s'", lf)
|
@@ -635,7 +635,7 @@ class manifest_maker(sdist):
|
|
635
635
|
return build_py.get_data_files()
|
636
636
|
|
637
637
|
|
638
|
-
def write_file(filename, contents):
|
638
|
+
def write_file(filename, contents) -> None:
|
639
639
|
"""Create a file with the specified name and write 'contents' (a
|
640
640
|
sequence of strings without line terminators) to it.
|
641
641
|
"""
|
@@ -648,7 +648,7 @@ def write_file(filename, contents):
|
|
648
648
|
f.write(contents)
|
649
649
|
|
650
650
|
|
651
|
-
def write_pkg_info(cmd, basename, filename):
|
651
|
+
def write_pkg_info(cmd, basename, filename) -> None:
|
652
652
|
log.info("writing %s", filename)
|
653
653
|
if not cmd.dry_run:
|
654
654
|
metadata = cmd.distribution.metadata
|
@@ -667,7 +667,7 @@ def write_pkg_info(cmd, basename, filename):
|
|
667
667
|
bdist_egg.write_safety_flag(cmd.egg_info, safe)
|
668
668
|
|
669
669
|
|
670
|
-
def warn_depends_obsolete(cmd, basename, filename):
|
670
|
+
def warn_depends_obsolete(cmd, basename, filename) -> None:
|
671
671
|
"""
|
672
672
|
Unused: left to avoid errors when updating (from source) from <= 67.8.
|
673
673
|
Old installations have a .dist-info directory with the entry-point
|
@@ -682,18 +682,18 @@ write_requirements = _requirestxt.write_requirements
|
|
682
682
|
write_setup_requirements = _requirestxt.write_setup_requirements
|
683
683
|
|
684
684
|
|
685
|
-
def write_toplevel_names(cmd, basename, filename):
|
685
|
+
def write_toplevel_names(cmd, basename, filename) -> None:
|
686
686
|
pkgs = dict.fromkeys([
|
687
687
|
k.split('.', 1)[0] for k in cmd.distribution.iter_distribution_names()
|
688
688
|
])
|
689
689
|
cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs)) + '\n')
|
690
690
|
|
691
691
|
|
692
|
-
def overwrite_arg(cmd, basename, filename):
|
692
|
+
def overwrite_arg(cmd, basename, filename) -> None:
|
693
693
|
write_arg(cmd, basename, filename, True)
|
694
694
|
|
695
695
|
|
696
|
-
def write_arg(cmd, basename, filename, force=False):
|
696
|
+
def write_arg(cmd, basename, filename, force: bool = False) -> None:
|
697
697
|
argname = os.path.splitext(basename)[0]
|
698
698
|
value = getattr(cmd.distribution, argname, None)
|
699
699
|
if value is not None:
|
@@ -701,7 +701,7 @@ def write_arg(cmd, basename, filename, force=False):
|
|
701
701
|
cmd.write_or_delete_file(argname, filename, value, force)
|
702
702
|
|
703
703
|
|
704
|
-
def write_entries(cmd, basename, filename):
|
704
|
+
def write_entries(cmd, basename, filename) -> None:
|
705
705
|
eps = _entry_points.load(cmd.distribution.entry_points)
|
706
706
|
defn = _entry_points.render(eps)
|
707
707
|
cmd.write_or_delete_file('entry points', filename, defn, True)
|
@@ -4,7 +4,7 @@ import glob
|
|
4
4
|
import inspect
|
5
5
|
import platform
|
6
6
|
from collections.abc import Callable
|
7
|
-
from typing import Any, ClassVar, cast
|
7
|
+
from typing import TYPE_CHECKING, Any, ClassVar, cast
|
8
8
|
|
9
9
|
import setuptools
|
10
10
|
|
@@ -15,9 +15,22 @@ from .bdist_egg import bdist_egg as bdist_egg_cls
|
|
15
15
|
import distutils.command.install as orig
|
16
16
|
from distutils.errors import DistutilsArgError
|
17
17
|
|
18
|
-
|
19
|
-
#
|
20
|
-
|
18
|
+
if TYPE_CHECKING:
|
19
|
+
# This is only used for a type-cast, don't import at runtime or it'll cause deprecation warnings
|
20
|
+
from .easy_install import easy_install as easy_install_cls
|
21
|
+
else:
|
22
|
+
easy_install_cls = None
|
23
|
+
|
24
|
+
|
25
|
+
def __getattr__(name: str): # pragma: no cover
|
26
|
+
if name == "_install":
|
27
|
+
SetuptoolsDeprecationWarning.emit(
|
28
|
+
"`setuptools.command._install` was an internal implementation detail "
|
29
|
+
+ "that was left in for numpy<1.9 support.",
|
30
|
+
due_date=(2025, 5, 2), # Originally added on 2024-11-01
|
31
|
+
)
|
32
|
+
return orig.install
|
33
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
21
34
|
|
22
35
|
|
23
36
|
class install(orig.install):
|
@@ -63,15 +76,14 @@ class install(orig.install):
|
|
63
76
|
self.old_and_unmanageable = None
|
64
77
|
self.single_version_externally_managed = None
|
65
78
|
|
66
|
-
def finalize_options(self):
|
79
|
+
def finalize_options(self) -> None:
|
67
80
|
super().finalize_options()
|
68
81
|
if self.root:
|
69
82
|
self.single_version_externally_managed = True
|
70
83
|
elif self.single_version_externally_managed:
|
71
84
|
if not self.root and not self.record:
|
72
85
|
raise DistutilsArgError(
|
73
|
-
"You must specify --record or --root when building system"
|
74
|
-
" packages"
|
86
|
+
"You must specify --record or --root when building system packages"
|
75
87
|
)
|
76
88
|
|
77
89
|
def handle_extra_path(self):
|
@@ -131,14 +143,20 @@ class install(orig.install):
|
|
131
143
|
|
132
144
|
return False
|
133
145
|
|
134
|
-
def do_egg_install(self):
|
146
|
+
def do_egg_install(self) -> None:
|
135
147
|
easy_install = self.distribution.get_command_class('easy_install')
|
136
148
|
|
137
|
-
cmd =
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
149
|
+
cmd = cast(
|
150
|
+
# We'd want to cast easy_install as type[easy_install_cls] but a bug in
|
151
|
+
# mypy makes it think easy_install() returns a Command on Python 3.12+
|
152
|
+
# https://github.com/python/mypy/issues/18088
|
153
|
+
easy_install_cls,
|
154
|
+
easy_install( # type: ignore[call-arg]
|
155
|
+
self.distribution,
|
156
|
+
args="x",
|
157
|
+
root=self.root,
|
158
|
+
record=self.record,
|
159
|
+
),
|
142
160
|
)
|
143
161
|
cmd.ensure_finalized() # finalize before bdist_egg munges install cmd
|
144
162
|
cmd.always_copy_from = '.' # make sure local-dir eggs get installed
|
@@ -20,15 +20,15 @@ class install_egg_info(namespaces.Installer, Command):
|
|
20
20
|
def initialize_options(self):
|
21
21
|
self.install_dir = None
|
22
22
|
|
23
|
-
def finalize_options(self):
|
23
|
+
def finalize_options(self) -> None:
|
24
24
|
self.set_undefined_options('install_lib', ('install_dir', 'install_dir'))
|
25
25
|
ei_cmd = self.get_finalized_command("egg_info")
|
26
26
|
basename = f"{ei_cmd._get_egg_basename()}.egg-info"
|
27
27
|
self.source = ei_cmd.egg_info
|
28
28
|
self.target = os.path.join(self.install_dir, basename)
|
29
|
-
self.outputs = []
|
29
|
+
self.outputs: list[str] = []
|
30
30
|
|
31
|
-
def run(self):
|
31
|
+
def run(self) -> None:
|
32
32
|
self.run_command('egg_info')
|
33
33
|
if os.path.isdir(self.target) and not os.path.islink(self.target):
|
34
34
|
dir_util.remove_tree(self.target, dry_run=self.dry_run)
|
@@ -42,7 +42,7 @@ class install_egg_info(namespaces.Installer, Command):
|
|
42
42
|
def get_outputs(self):
|
43
43
|
return self.outputs
|
44
44
|
|
45
|
-
def copytree(self):
|
45
|
+
def copytree(self) -> None:
|
46
46
|
# Copy the .egg-info tree to site-packages
|
47
47
|
def skimmer(src, dst):
|
48
48
|
# filter out source-control directories; note that 'src' is always
|
@@ -15,7 +15,7 @@ class install_lib(orig.install_lib):
|
|
15
15
|
|
16
16
|
distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
|
17
17
|
|
18
|
-
def run(self):
|
18
|
+
def run(self) -> None:
|
19
19
|
self.build()
|
20
20
|
outfiles = self.install()
|
21
21
|
if outfiles is not None:
|
@@ -52,7 +52,7 @@ class install_lib(orig.install_lib):
|
|
52
52
|
"""
|
53
53
|
while pkg_name:
|
54
54
|
yield pkg_name
|
55
|
-
pkg_name,
|
55
|
+
pkg_name, _sep, _child = pkg_name.rpartition('.')
|
56
56
|
|
57
57
|
def _get_SVEM_NSPs(self):
|
58
58
|
"""
|
@@ -95,12 +95,15 @@ class install_lib(orig.install_lib):
|
|
95
95
|
self,
|
96
96
|
infile: StrPath,
|
97
97
|
outfile: str,
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
98
|
+
# override: Using actual booleans
|
99
|
+
preserve_mode: bool = True, # type: ignore[override]
|
100
|
+
preserve_times: bool = True, # type: ignore[override]
|
101
|
+
preserve_symlinks: bool = False, # type: ignore[override]
|
102
|
+
level: object = 1,
|
102
103
|
) -> list[str]:
|
103
|
-
assert preserve_mode
|
104
|
+
assert preserve_mode
|
105
|
+
assert preserve_times
|
106
|
+
assert not preserve_symlinks
|
104
107
|
exclude = self.get_exclusions()
|
105
108
|
|
106
109
|
if not exclude:
|
@@ -15,7 +15,7 @@ class install_scripts(orig.install_scripts):
|
|
15
15
|
|
16
16
|
distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
|
17
17
|
|
18
|
-
def initialize_options(self):
|
18
|
+
def initialize_options(self) -> None:
|
19
19
|
orig.install_scripts.initialize_options(self)
|
20
20
|
self.no_ep = False
|
21
21
|
|
@@ -56,7 +56,7 @@ class install_scripts(orig.install_scripts):
|
|
56
56
|
for args in writer.get_args(dist, cmd.as_header()):
|
57
57
|
self.write_script(*args)
|
58
58
|
|
59
|
-
def write_script(self, script_name, contents, mode="t", *ignored):
|
59
|
+
def write_script(self, script_name, contents, mode: str = "t", *ignored) -> None:
|
60
60
|
"""Write an executable file to the scripts directory"""
|
61
61
|
from setuptools.command.easy_install import chmod, current_umask
|
62
62
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import os
|
4
|
-
import
|
4
|
+
from typing import ClassVar
|
5
5
|
|
6
|
-
from
|
6
|
+
from .. import Command, _shutil
|
7
7
|
|
8
8
|
from distutils import log
|
9
9
|
from distutils.errors import DistutilsOptionError
|
@@ -20,14 +20,14 @@ class rotate(Command):
|
|
20
20
|
('keep=', 'k', "number of matching distributions to keep"),
|
21
21
|
]
|
22
22
|
|
23
|
-
boolean_options: list[str] = []
|
23
|
+
boolean_options: ClassVar[list[str]] = []
|
24
24
|
|
25
25
|
def initialize_options(self):
|
26
26
|
self.match = None
|
27
27
|
self.dist_dir = None
|
28
28
|
self.keep = None
|
29
29
|
|
30
|
-
def finalize_options(self):
|
30
|
+
def finalize_options(self) -> None:
|
31
31
|
if self.match is None:
|
32
32
|
raise DistutilsOptionError(
|
33
33
|
"Must specify one or more (comma-separated) match patterns "
|
@@ -43,7 +43,7 @@ class rotate(Command):
|
|
43
43
|
self.match = [convert_path(p.strip()) for p in self.match.split(',')]
|
44
44
|
self.set_undefined_options('bdist', ('dist_dir', 'dist_dir'))
|
45
45
|
|
46
|
-
def run(self):
|
46
|
+
def run(self) -> None:
|
47
47
|
self.run_command("egg_info")
|
48
48
|
from glob import glob
|
49
49
|
|
@@ -60,6 +60,6 @@ class rotate(Command):
|
|
60
60
|
log.info("Deleting %s", f)
|
61
61
|
if not self.dry_run:
|
62
62
|
if os.path.isdir(f):
|
63
|
-
|
63
|
+
_shutil.rmtree(f)
|
64
64
|
else:
|
65
65
|
os.unlink(f)
|
@@ -6,9 +6,9 @@ class saveopts(option_base):
|
|
6
6
|
|
7
7
|
description = "save supplied options to setup.cfg or other config file"
|
8
8
|
|
9
|
-
def run(self):
|
9
|
+
def run(self) -> None:
|
10
10
|
dist = self.distribution
|
11
|
-
settings = {}
|
11
|
+
settings: dict[str, dict[str, str]] = {}
|
12
12
|
|
13
13
|
for cmd in dist.command_options:
|
14
14
|
if cmd == 'saveopts':
|
@@ -4,6 +4,7 @@ import contextlib
|
|
4
4
|
import os
|
5
5
|
import re
|
6
6
|
from itertools import chain
|
7
|
+
from typing import ClassVar
|
7
8
|
|
8
9
|
from .._importlib import metadata
|
9
10
|
from ..dist import Distribution
|
@@ -49,12 +50,12 @@ class sdist(orig.sdist):
|
|
49
50
|
]
|
50
51
|
|
51
52
|
distribution: Distribution # override distutils.dist.Distribution with setuptools.dist.Distribution
|
52
|
-
negative_opt: dict[str, str] = {}
|
53
|
+
negative_opt: ClassVar[dict[str, str]] = {}
|
53
54
|
|
54
55
|
README_EXTENSIONS = ['', '.rst', '.txt', '.md']
|
55
56
|
READMES = tuple('README{0}'.format(ext) for ext in README_EXTENSIONS)
|
56
57
|
|
57
|
-
def run(self):
|
58
|
+
def run(self) -> None:
|
58
59
|
self.run_command('egg_info')
|
59
60
|
ei_cmd = self.get_finalized_command('egg_info')
|
60
61
|
self.filelist = ei_cmd.filelist
|
@@ -73,10 +74,10 @@ class sdist(orig.sdist):
|
|
73
74
|
if data not in dist_files:
|
74
75
|
dist_files.append(data)
|
75
76
|
|
76
|
-
def initialize_options(self):
|
77
|
+
def initialize_options(self) -> None:
|
77
78
|
orig.sdist.initialize_options(self)
|
78
79
|
|
79
|
-
def make_distribution(self):
|
80
|
+
def make_distribution(self) -> None:
|
80
81
|
"""
|
81
82
|
Workaround for #516
|
82
83
|
"""
|
@@ -104,7 +105,7 @@ class sdist(orig.sdist):
|
|
104
105
|
if orig_val is not NoValue:
|
105
106
|
os.link = orig_val
|
106
107
|
|
107
|
-
def add_defaults(self):
|
108
|
+
def add_defaults(self) -> None:
|
108
109
|
super().add_defaults()
|
109
110
|
self._add_defaults_build_sub_commands()
|
110
111
|
|
@@ -157,13 +158,13 @@ class sdist(orig.sdist):
|
|
157
158
|
except TypeError:
|
158
159
|
log.warn("data_files contains unexpected objects")
|
159
160
|
|
160
|
-
def prune_file_list(self):
|
161
|
+
def prune_file_list(self) -> None:
|
161
162
|
super().prune_file_list()
|
162
163
|
# Prevent accidental inclusion of test-related cache dirs at the project root
|
163
164
|
sep = re.escape(os.sep)
|
164
165
|
self.filelist.exclude_pattern(r"^(\.tox|\.nox|\.venv)" + sep, is_regex=True)
|
165
166
|
|
166
|
-
def check_readme(self):
|
167
|
+
def check_readme(self) -> None:
|
167
168
|
for f in self.READMES:
|
168
169
|
if os.path.exists(f):
|
169
170
|
return
|
@@ -172,7 +173,7 @@ class sdist(orig.sdist):
|
|
172
173
|
"standard file not found: should have one of " + ', '.join(self.READMES)
|
173
174
|
)
|
174
175
|
|
175
|
-
def make_release_tree(self, base_dir, files):
|
176
|
+
def make_release_tree(self, base_dir, files) -> None:
|
176
177
|
orig.sdist.make_release_tree(self, base_dir, files)
|
177
178
|
|
178
179
|
# Save any egg_info command line options used to create this sdist
|
@@ -201,10 +202,10 @@ class sdist(orig.sdist):
|
|
201
202
|
"""
|
202
203
|
log.info("reading manifest file '%s'", self.manifest)
|
203
204
|
manifest = open(self.manifest, 'rb')
|
204
|
-
for
|
205
|
+
for bytes_line in manifest:
|
205
206
|
# The manifest must contain UTF-8. See #303.
|
206
207
|
try:
|
207
|
-
line =
|
208
|
+
line = bytes_line.decode('UTF-8')
|
208
209
|
except UnicodeDecodeError:
|
209
210
|
log.warn("%r not UTF-8 decodable -- skipping" % line)
|
210
211
|
continue
|
@@ -37,7 +37,7 @@ def edit_config(filename, settings, dry_run=False):
|
|
37
37
|
"""
|
38
38
|
log.debug("Reading configuration from %s", filename)
|
39
39
|
opts = configparser.RawConfigParser()
|
40
|
-
opts.optionxform = lambda
|
40
|
+
opts.optionxform = lambda optionstr: optionstr # type: ignore[method-assign] # overriding method
|
41
41
|
_cfg_read_utf8_with_fallback(opts, filename)
|
42
42
|
|
43
43
|
for section, options in settings.items():
|
@@ -126,14 +126,14 @@ class setopt(option_base):
|
|
126
126
|
self.set_value = None
|
127
127
|
self.remove = None
|
128
128
|
|
129
|
-
def finalize_options(self):
|
129
|
+
def finalize_options(self) -> None:
|
130
130
|
option_base.finalize_options(self)
|
131
131
|
if self.command is None or self.option is None:
|
132
132
|
raise DistutilsOptionError("Must specify --command *and* --option")
|
133
133
|
if self.set_value is None and not self.remove:
|
134
134
|
raise DistutilsOptionError("Must specify --set-value or --remove")
|
135
135
|
|
136
|
-
def run(self):
|
136
|
+
def run(self) -> None:
|
137
137
|
edit_config(
|
138
138
|
self.filename,
|
139
139
|
{self.command: {self.option.replace('-', '_'): self.set_value}},
|
@@ -12,12 +12,13 @@ from __future__ import annotations
|
|
12
12
|
|
13
13
|
import logging
|
14
14
|
import os
|
15
|
+
from collections.abc import Mapping
|
15
16
|
from email.headerregistry import Address
|
16
17
|
from functools import partial, reduce
|
17
18
|
from inspect import cleandoc
|
18
19
|
from itertools import chain
|
19
20
|
from types import MappingProxyType
|
20
|
-
from typing import TYPE_CHECKING, Any, Callable,
|
21
|
+
from typing import TYPE_CHECKING, Any, Callable, TypeVar, Union
|
21
22
|
|
22
23
|
from .._path import StrPath
|
23
24
|
from ..errors import RemovedConfigError
|
@@ -30,12 +31,12 @@ if TYPE_CHECKING:
|
|
30
31
|
from setuptools._importlib import metadata
|
31
32
|
from setuptools.dist import Distribution
|
32
33
|
|
33
|
-
from distutils.dist import _OptionsList
|
34
|
+
from distutils.dist import _OptionsList # Comes from typeshed
|
35
|
+
|
34
36
|
|
35
37
|
EMPTY: Mapping = MappingProxyType({}) # Immutable dict-like
|
36
|
-
_ProjectReadmeValue: TypeAlias = Union[str,
|
37
|
-
|
38
|
-
_Correspondence: TypeAlias = Union[str, _CorrespFn]
|
38
|
+
_ProjectReadmeValue: TypeAlias = Union[str, dict[str, str]]
|
39
|
+
_Correspondence: TypeAlias = Callable[["Distribution", Any, Union[StrPath, None]], None]
|
39
40
|
_T = TypeVar("_T")
|
40
41
|
|
41
42
|
_logger = logging.getLogger(__name__)
|
@@ -149,7 +150,9 @@ def _guess_content_type(file: str) -> str | None:
|
|
149
150
|
raise ValueError(f"Undefined content type for {file}, {msg}")
|
150
151
|
|
151
152
|
|
152
|
-
def _long_description(
|
153
|
+
def _long_description(
|
154
|
+
dist: Distribution, val: _ProjectReadmeValue, root_dir: StrPath | None
|
155
|
+
):
|
153
156
|
from setuptools.config import expand
|
154
157
|
|
155
158
|
file: str | tuple[()]
|
@@ -171,7 +174,7 @@ def _long_description(dist: Distribution, val: _ProjectReadmeValue, root_dir: St
|
|
171
174
|
dist._referenced_files.add(file)
|
172
175
|
|
173
176
|
|
174
|
-
def _license(dist: Distribution, val: dict, root_dir: StrPath):
|
177
|
+
def _license(dist: Distribution, val: dict, root_dir: StrPath | None):
|
175
178
|
from setuptools.config import expand
|
176
179
|
|
177
180
|
if "file" in val:
|
@@ -181,7 +184,7 @@ def _license(dist: Distribution, val: dict, root_dir: StrPath):
|
|
181
184
|
_set_config(dist, "license", val["text"])
|
182
185
|
|
183
186
|
|
184
|
-
def _people(dist: Distribution, val: list[dict], _root_dir: StrPath, kind: str):
|
187
|
+
def _people(dist: Distribution, val: list[dict], _root_dir: StrPath | None, kind: str):
|
185
188
|
field = []
|
186
189
|
email_field = []
|
187
190
|
for person in val:
|
@@ -199,26 +202,28 @@ def _people(dist: Distribution, val: list[dict], _root_dir: StrPath, kind: str):
|
|
199
202
|
_set_config(dist, f"{kind}_email", ", ".join(email_field))
|
200
203
|
|
201
204
|
|
202
|
-
def _project_urls(dist: Distribution, val: dict, _root_dir):
|
205
|
+
def _project_urls(dist: Distribution, val: dict, _root_dir: StrPath | None):
|
203
206
|
_set_config(dist, "project_urls", val)
|
204
207
|
|
205
208
|
|
206
|
-
def _python_requires(dist: Distribution, val: str, _root_dir):
|
209
|
+
def _python_requires(dist: Distribution, val: str, _root_dir: StrPath | None):
|
207
210
|
from packaging.specifiers import SpecifierSet
|
208
211
|
|
209
212
|
_set_config(dist, "python_requires", SpecifierSet(val))
|
210
213
|
|
211
214
|
|
212
|
-
def _dependencies(dist: Distribution, val: list, _root_dir):
|
215
|
+
def _dependencies(dist: Distribution, val: list, _root_dir: StrPath | None):
|
213
216
|
if getattr(dist, "install_requires", []):
|
214
217
|
msg = "`install_requires` overwritten in `pyproject.toml` (dependencies)"
|
215
218
|
SetuptoolsWarning.emit(msg)
|
216
219
|
dist.install_requires = val
|
217
220
|
|
218
221
|
|
219
|
-
def _optional_dependencies(dist: Distribution, val: dict, _root_dir):
|
220
|
-
|
221
|
-
|
222
|
+
def _optional_dependencies(dist: Distribution, val: dict, _root_dir: StrPath | None):
|
223
|
+
if getattr(dist, "extras_require", None):
|
224
|
+
msg = "`extras_require` overwritten in `pyproject.toml` (optional-dependencies)"
|
225
|
+
SetuptoolsWarning.emit(msg)
|
226
|
+
dist.extras_require = val
|
222
227
|
|
223
228
|
|
224
229
|
def _ext_modules(dist: Distribution, val: list[dict]) -> list[Extension]:
|