py2docfx 0.1.9.dev1897554__py3-none-any.whl → 0.1.9.dev1917798__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- py2docfx/convert_prepare/environment.py +25 -6
- py2docfx/convert_prepare/tests/test_generate_document.py +4 -4
- py2docfx/convert_prepare/tests/test_get_source.py +6 -6
- py2docfx/convert_prepare/tests/test_params.py +1 -1
- py2docfx/convert_prepare/tests/test_sphinx_caller.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/_distutils_hack/__init__.py +2 -3
- py2docfx/venv/basevenv/Lib/site-packages/packaging/__init__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_elffile.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/packaging/_manylinux.py +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/basevenv/Lib/site-packages/packaging/markers.py +15 -9
- py2docfx/venv/basevenv/Lib/site-packages/packaging/metadata.py +83 -24
- py2docfx/venv/basevenv/Lib/site-packages/packaging/specifiers.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/packaging/tags.py +78 -29
- py2docfx/venv/basevenv/Lib/site-packages/packaging/utils.py +33 -44
- py2docfx/venv/basevenv/Lib/site-packages/packaging/version.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/__init__.py +27 -32
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
- py2docfx/venv/basevenv/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/__init__.py +7 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_importlib.py +1 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_path.py +5 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_reqs.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_shutil.py +53 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/archive_util.py +6 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/build_meta.py +23 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/__init__.py +9 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/alias.py +3 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_clib.py +2 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_ext.py +13 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/build_py.py +17 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/develop.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/dist_info.py +3 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/easy_install.py +55 -78
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/egg_info.py +29 -30
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_lib.py +10 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/rotate.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/sdist.py +9 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/setopt.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/expand.py +22 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/depends.py +26 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/discovery.py +21 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +48 -45
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/errors.py +21 -26
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/extension.py +18 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/glob.py +35 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/installer.py +6 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/launch.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/logging.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/modified.py +16 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/monkey.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +25 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/namespaces.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/package_index.py +42 -43
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/sandbox.py +19 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/warnings.py +5 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/wheel.py +4 -4
- py2docfx/venv/basevenv/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
- py2docfx/venv/basevenv/Lib/site-packages/wheel/bdist_wheel.py +17 -2
- py2docfx/venv/basevenv/Lib/site-packages/wheel/cli/convert.py +280 -220
- py2docfx/venv/basevenv/Lib/site-packages/wheel/util.py +0 -9
- py2docfx/venv/venv1/Lib/site-packages/_distutils_hack/__init__.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_enum_meta.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_pipeline_client_async.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/credentials.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/exceptions.py +13 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/messaging.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/paging.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/__init__.py +16 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base.py +15 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_base_async.py +20 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/_tools.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication.py +55 -19
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_authentication_async.py +46 -15
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_custom_hook.py +8 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_distributed_tracing.py +9 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_redirect_async.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry.py +27 -8
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_retry_async.py +6 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_sensitive_header_cleanup_policy.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_universal.py +6 -10
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/policies/_utils.py +101 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_aiohttp.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_base_async.py +7 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_asyncio.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_basic.py +11 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/pipeline/transport/_requests_trio.py +11 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_async_poller.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/_poller.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/async_base_polling.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/polling/base_polling.py +47 -16
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_helpers.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_http_response_impl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/rest/_requests_basic.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/serialization.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/settings.py +15 -3
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/_abstract_span.py +15 -5
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/common.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator.py +12 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/decorator_async.py +24 -4
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/__init__.py +119 -110
- py2docfx/venv/venv1/Lib/site-packages/azure/core/tracing/ext/opencensus_span/_version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/azure/core/utils/_pipeline_transport_rest_shared_async.py +10 -1
- py2docfx/venv/venv1/Lib/site-packages/google/api/client_pb2.py +41 -39
- py2docfx/venv/venv1/Lib/site-packages/google/api/error_reason_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api/httpbody_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/api/metric_pb2.py +17 -11
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/client_options.py +17 -13
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/protobuf_helpers.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/google/api_core/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/_default.py +4 -0
- py2docfx/venv/venv1/Lib/site-packages/google/auth/compute_engine/_metadata.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/iam.py +25 -8
- py2docfx/venv/venv1/Lib/site-packages/google/auth/impersonated_credentials.py +34 -16
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/_requests_base.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/google/auth/transport/requests.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/google/auth/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/_client.py +10 -2
- py2docfx/venv/venv1/Lib/site-packages/google/oauth2/service_account.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +1 -7
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/__init__.py +27 -32
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_pkg_resources.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_resources.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/pkg_resources/tests/test_working_set.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/proto/enums.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/collections/repeated.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/compat.py +18 -21
- py2docfx/venv/venv1/Lib/site-packages/proto/marshal/rules/message.py +7 -3
- py2docfx/venv/venv1/Lib/site-packages/proto/message.py +6 -35
- py2docfx/venv/venv1/Lib/site-packages/proto/version.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/__init__.py +7 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/py38.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dir_util.py +3 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_dir_util.py +22 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_importlib.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_path.py +5 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_reqs.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_shutil.py +53 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_elffile.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/_manylinux.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/__init__.py +145 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/licenses/_spdx.py +759 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/markers.py +15 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/metadata.py +83 -24
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/tags.py +78 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/utils.py +33 -44
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/packaging/version.py +26 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/archive_util.py +6 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/build_meta.py +23 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/__init__.py +9 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/_requirestxt.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/alias.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_egg.py +27 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_rpm.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +18 -45
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_clib.py +2 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_ext.py +13 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/build_py.py +17 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/develop.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/dist_info.py +3 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/easy_install.py +55 -78
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +19 -21
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/egg_info.py +29 -30
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +31 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_egg_info.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_lib.py +10 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install_scripts.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/rotate.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/sdist.py +9 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/setopt.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +19 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/expand.py +22 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/pyprojecttoml.py +25 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/setupcfg.py +39 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/depends.py +26 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/discovery.py +21 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +48 -45
- py2docfx/venv/venv1/Lib/site-packages/setuptools/errors.py +21 -26
- py2docfx/venv/venv1/Lib/site-packages/setuptools/extension.py +18 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/glob.py +35 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/installer.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/launch.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/logging.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/modified.py +16 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/monkey.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +25 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/namespaces.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/package_index.py +42 -43
- py2docfx/venv/venv1/Lib/site-packages/setuptools/sandbox.py +19 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/downloads/__init__.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_expand.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml.py +9 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_pyprojecttoml_dynamic_deps.py +21 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +12 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +10 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_egg.py +7 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +10 -33
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_ext.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_config_discovery.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist.py +11 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_dist_info.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_distutils_adoption.py +44 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_easy_install.py +32 -26
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_editable_install.py +10 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +15 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_glob.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_logging.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_manifest.py +2 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_packageindex.py +6 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_setuptools.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_shutil_wrapper.py +23 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_wheel.py +29 -20
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_windows_wrappers.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/warnings.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/wheel.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/wheel/_bdist_wheel.py +9 -0
- py2docfx/venv/venv1/Lib/site-packages/wheel/bdist_wheel.py +17 -2
- py2docfx/venv/venv1/Lib/site-packages/wheel/cli/convert.py +280 -220
- py2docfx/venv/venv1/Lib/site-packages/wheel/util.py +0 -9
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/METADATA +1 -1
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/RECORD +307 -367
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/WHEEL +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/__init__.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +0 -168
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_common.py +0 -210
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +0 -38
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/abc.py +0 -171
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +0 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/functional.py +0 -81
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/readers.py +0 -194
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/simple.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/_path.py +0 -56
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py312.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/compat/py39.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data01/subdirectory/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/one/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/data02/two/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_compatibilty_files.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_contents.py +0 -43
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_custom.py +0 -47
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_files.py +0 -117
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_functional.py +0 -242
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_open.py +0 -89
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_path.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_read.py +0 -97
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_reader.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/test_resource.py +0 -241
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/util.py +0 -164
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/importlib_resources/tests/zip.py +0 -32
- {py2docfx-0.1.9.dev1897554.dist-info → py2docfx-0.1.9.dev1917798.dist-info}/top_level.txt +0 -0
@@ -72,7 +72,7 @@ class TestEasyInstallTest:
|
|
72
72
|
header = ei.CommandSpec.best().from_environment().as_header()
|
73
73
|
dist = FakeDist()
|
74
74
|
args = next(ei.ScriptWriter.get_args(dist))
|
75
|
-
|
75
|
+
_name, script = itertools.islice(args, 2)
|
76
76
|
assert script.startswith(header)
|
77
77
|
assert "'spec'" in script
|
78
78
|
assert "'console_scripts'" in script
|
@@ -327,9 +327,9 @@ class TestPTHFileWriter:
|
|
327
327
|
pth_path = str(pth_subdir.join("file1.pth"))
|
328
328
|
pth1 = PthDistributions(pth_path)
|
329
329
|
pth2 = PthDistributions(pth_path)
|
330
|
-
assert (
|
331
|
-
|
332
|
-
)
|
330
|
+
assert pth1.paths == pth2.paths == [], (
|
331
|
+
"unless there would be some default added at some point"
|
332
|
+
)
|
333
333
|
# and so putting the src_subdir in folder distinct than the pth one,
|
334
334
|
# so to keep it absolute by PthDistributions
|
335
335
|
new_src_path = tmpdir.join("src_subdir")
|
@@ -337,17 +337,17 @@ class TestPTHFileWriter:
|
|
337
337
|
new_src_path_str = str(new_src_path)
|
338
338
|
pth1.paths.append(new_src_path_str)
|
339
339
|
pth1.save()
|
340
|
-
assert (
|
341
|
-
pth1
|
342
|
-
)
|
340
|
+
assert pth1.paths, (
|
341
|
+
"the new_src_path added must still be present/valid in pth1 after save"
|
342
|
+
)
|
343
343
|
# now,
|
344
|
-
assert (
|
345
|
-
|
346
|
-
)
|
344
|
+
assert new_src_path_str not in pth2.paths, (
|
345
|
+
"right before we save the entry should still not be present"
|
346
|
+
)
|
347
347
|
pth2.save()
|
348
|
-
assert (
|
349
|
-
|
350
|
-
)
|
348
|
+
assert new_src_path_str in pth2.paths, (
|
349
|
+
"the new_src_path entry should have been added by pth2 with its save() call"
|
350
|
+
)
|
351
351
|
assert pth2.paths[-1] == new_src_path, (
|
352
352
|
"and it should match exactly on the last entry actually "
|
353
353
|
"given we append to it in save()"
|
@@ -407,14 +407,14 @@ class TestUserInstallTest:
|
|
407
407
|
logging.basicConfig(level=logging.INFO, stream=sys.stderr)
|
408
408
|
log.info('this should not break')
|
409
409
|
|
410
|
-
@pytest.fixture
|
410
|
+
@pytest.fixture
|
411
411
|
def foo_package(self, tmpdir):
|
412
412
|
egg_file = tmpdir / 'foo-1.0.egg-info'
|
413
413
|
with egg_file.open('w') as f:
|
414
414
|
f.write('Name: foo\n')
|
415
415
|
return str(tmpdir)
|
416
416
|
|
417
|
-
@pytest.fixture
|
417
|
+
@pytest.fixture
|
418
418
|
def install_target(self, tmpdir):
|
419
419
|
target = str(tmpdir)
|
420
420
|
with mock.patch('sys.path', sys.path + [target]):
|
@@ -472,6 +472,12 @@ def distutils_package():
|
|
472
472
|
yield
|
473
473
|
|
474
474
|
|
475
|
+
@pytest.mark.usefixtures("distutils_package")
|
476
|
+
class TestDistutilsPackage:
|
477
|
+
def test_bdist_egg_available_on_distutils_pkg(self):
|
478
|
+
run_setup('setup.py', ['bdist_egg'])
|
479
|
+
|
480
|
+
|
475
481
|
@pytest.fixture
|
476
482
|
def mock_index():
|
477
483
|
# set up a server which will simulate an alternate package index.
|
@@ -484,11 +490,6 @@ def mock_index():
|
|
484
490
|
return p_index
|
485
491
|
|
486
492
|
|
487
|
-
class TestDistutilsPackage:
|
488
|
-
def test_bdist_egg_available_on_distutils_pkg(self, distutils_package):
|
489
|
-
run_setup('setup.py', ['bdist_egg'])
|
490
|
-
|
491
|
-
|
492
493
|
class TestInstallRequires:
|
493
494
|
def test_setup_install_includes_dependencies(self, tmp_path, mock_index):
|
494
495
|
"""
|
@@ -650,7 +651,7 @@ class TestSetupRequires:
|
|
650
651
|
temp_dir, use_setup_cfg=use_setup_cfg
|
651
652
|
)
|
652
653
|
test_setup_py = os.path.join(test_pkg, 'setup.py')
|
653
|
-
with contexts.quiet() as (stdout,
|
654
|
+
with contexts.quiet() as (stdout, _stderr):
|
654
655
|
# Don't even need to install the package, just
|
655
656
|
# running the setup.py at all is sufficient
|
656
657
|
run_setup(test_setup_py, ['--name'])
|
@@ -712,15 +713,14 @@ class TestSetupRequires:
|
|
712
713
|
|
713
714
|
test_setup_py = os.path.join(test_pkg, 'setup.py')
|
714
715
|
|
715
|
-
with contexts.quiet() as (stdout,
|
716
|
+
with contexts.quiet() as (stdout, _stderr):
|
716
717
|
try:
|
717
718
|
# Don't even need to install the package, just
|
718
719
|
# running the setup.py at all is sufficient
|
719
720
|
run_setup(test_setup_py, ['--name'])
|
720
721
|
except pkg_resources.VersionConflict:
|
721
722
|
self.fail(
|
722
|
-
'Installing setup.py requirements '
|
723
|
-
'caused a VersionConflict'
|
723
|
+
'Installing setup.py requirements caused a VersionConflict'
|
724
724
|
)
|
725
725
|
|
726
726
|
assert 'FAIL' not in stdout.getvalue()
|
@@ -765,7 +765,7 @@ class TestSetupRequires:
|
|
765
765
|
use_setup_cfg=use_setup_cfg + ('version',),
|
766
766
|
)
|
767
767
|
test_setup_py = os.path.join(test_pkg, 'setup.py')
|
768
|
-
with contexts.quiet() as (stdout,
|
768
|
+
with contexts.quiet() as (stdout, _stderr):
|
769
769
|
run_setup(test_setup_py, ['--version'])
|
770
770
|
lines = stdout.readlines()
|
771
771
|
assert len(lines) > 0
|
@@ -860,7 +860,9 @@ class TestSetupRequires:
|
|
860
860
|
)
|
861
861
|
dep_2_0_sdist = 'dep-2.0.tar.gz'
|
862
862
|
dep_2_0_url = path_to_url(str(tmpdir / dep_2_0_sdist))
|
863
|
-
dep_2_0_python_requires =
|
863
|
+
dep_2_0_python_requires = (
|
864
|
+
f'!={sys.version_info.major}.{sys.version_info.minor}.*'
|
865
|
+
)
|
864
866
|
make_python_requires_sdist(
|
865
867
|
str(tmpdir / dep_2_0_sdist), 'dep', '2.0', dep_2_0_python_requires
|
866
868
|
)
|
@@ -1408,6 +1410,10 @@ def test_use_correct_python_version_string(tmpdir, tmpdir_cwd, monkeypatch):
|
|
1408
1410
|
assert cmd.config_vars['py_version_nodot'] == '310'
|
1409
1411
|
|
1410
1412
|
|
1413
|
+
@pytest.mark.xfail(
|
1414
|
+
sys.platform == "darwin",
|
1415
|
+
reason="https://github.com/pypa/setuptools/pull/4716#issuecomment-2447624418",
|
1416
|
+
)
|
1411
1417
|
def test_editable_user_and_build_isolation(setup_context, monkeypatch, tmp_path):
|
1412
1418
|
"""`setup.py develop` should honor `--user` even under build isolation"""
|
1413
1419
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
1
3
|
import os
|
2
4
|
import platform
|
3
5
|
import stat
|
@@ -8,6 +10,7 @@ from importlib import import_module
|
|
8
10
|
from importlib.machinery import EXTENSION_SUFFIXES
|
9
11
|
from pathlib import Path
|
10
12
|
from textwrap import dedent
|
13
|
+
from typing import Any
|
11
14
|
from unittest.mock import Mock
|
12
15
|
from uuid import uuid4
|
13
16
|
|
@@ -840,7 +843,8 @@ class TestOverallBehaviour:
|
|
840
843
|
version = "3.14159"
|
841
844
|
"""
|
842
845
|
|
843
|
-
|
846
|
+
# Any: Would need a TypedDict. Keep it simple for tests
|
847
|
+
FLAT_LAYOUT: dict[str, Any] = {
|
844
848
|
"pyproject.toml": dedent(PYPROJECT),
|
845
849
|
"MANIFEST.in": EXAMPLE["MANIFEST.in"],
|
846
850
|
"otherfile.py": "",
|
@@ -878,9 +882,9 @@ class TestOverallBehaviour:
|
|
878
882
|
"otherfile.py": "",
|
879
883
|
"mypkg": {
|
880
884
|
"__init__.py": "",
|
881
|
-
"mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"],
|
885
|
+
"mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"],
|
882
886
|
},
|
883
|
-
"other": FLAT_LAYOUT["mypkg"]["subpackage"],
|
887
|
+
"other": FLAT_LAYOUT["mypkg"]["subpackage"],
|
884
888
|
},
|
885
889
|
"namespace": {
|
886
890
|
"pyproject.toml": dedent(PYPROJECT),
|
@@ -888,8 +892,8 @@ class TestOverallBehaviour:
|
|
888
892
|
"otherfile.py": "",
|
889
893
|
"src": {
|
890
894
|
"mypkg": {
|
891
|
-
"mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"],
|
892
|
-
"subpackage": FLAT_LAYOUT["mypkg"]["subpackage"],
|
895
|
+
"mod1.py": FLAT_LAYOUT["mypkg"]["mod1.py"],
|
896
|
+
"subpackage": FLAT_LAYOUT["mypkg"]["subpackage"],
|
893
897
|
},
|
894
898
|
},
|
895
899
|
},
|
@@ -1271,7 +1275,7 @@ def assert_path(pkg, expected):
|
|
1271
1275
|
assert str(Path(path).resolve()) == expected
|
1272
1276
|
|
1273
1277
|
|
1274
|
-
def assert_link_to(file: Path, other: Path):
|
1278
|
+
def assert_link_to(file: Path, other: Path) -> None:
|
1275
1279
|
if file.is_symlink():
|
1276
1280
|
assert str(file.resolve()) == str(other.resolve())
|
1277
1281
|
else:
|
@@ -261,11 +261,11 @@ class TestEggInfo:
|
|
261
261
|
})
|
262
262
|
|
263
263
|
mismatch_marker = "python_version<'{this_ver}'".format(
|
264
|
-
this_ver=sys.version_info
|
264
|
+
this_ver=sys.version_info.major,
|
265
265
|
)
|
266
266
|
# Alternate equivalent syntax.
|
267
267
|
mismatch_marker_alternate = 'python_version < "{this_ver}"'.format(
|
268
|
-
this_ver=sys.version_info
|
268
|
+
this_ver=sys.version_info.major,
|
269
269
|
)
|
270
270
|
invalid_marker = "<=>++"
|
271
271
|
|
@@ -283,9 +283,9 @@ class TestEggInfo:
|
|
283
283
|
else:
|
284
284
|
install_cmd_kwargs = {}
|
285
285
|
name = name_kwargs[0].strip()
|
286
|
-
setup_py_requires, setup_cfg_requires, expected_requires =
|
286
|
+
setup_py_requires, setup_cfg_requires, expected_requires = [
|
287
287
|
DALS(a).format(**format_dict) for a in test_params
|
288
|
-
|
288
|
+
]
|
289
289
|
for id_, requires, use_cfg in (
|
290
290
|
(name, setup_py_requires, False),
|
291
291
|
(name + '_in_setup_cfg', setup_cfg_requires, True),
|
@@ -512,7 +512,7 @@ class TestEggInfo:
|
|
512
512
|
environ = os.environ.copy().update(
|
513
513
|
HOME=env.paths['home'],
|
514
514
|
)
|
515
|
-
|
515
|
+
environment.run_setup_py(
|
516
516
|
cmd=['egg_info'],
|
517
517
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
518
518
|
data_stream=1,
|
@@ -543,7 +543,7 @@ class TestEggInfo:
|
|
543
543
|
assert 'Provides-Extra:' not in pkg_info_text
|
544
544
|
|
545
545
|
@pytest.mark.parametrize(
|
546
|
-
|
546
|
+
('files', 'license_in_sources'),
|
547
547
|
[
|
548
548
|
(
|
549
549
|
{
|
@@ -627,7 +627,7 @@ class TestEggInfo:
|
|
627
627
|
assert 'INVALID_LICENSE' not in sources_text
|
628
628
|
|
629
629
|
@pytest.mark.parametrize(
|
630
|
-
|
630
|
+
('files', 'incl_licenses', 'excl_licenses'),
|
631
631
|
[
|
632
632
|
(
|
633
633
|
{
|
@@ -839,7 +839,7 @@ class TestEggInfo:
|
|
839
839
|
assert sources_lines.count(lf) == 0
|
840
840
|
|
841
841
|
@pytest.mark.parametrize(
|
842
|
-
|
842
|
+
('files', 'incl_licenses', 'excl_licenses'),
|
843
843
|
[
|
844
844
|
(
|
845
845
|
{
|
@@ -1060,7 +1060,7 @@ class TestEggInfo:
|
|
1060
1060
|
def test_metadata_version(self, tmpdir_cwd, env):
|
1061
1061
|
"""Make sure latest metadata version is used by default."""
|
1062
1062
|
self._setup_script_with_requires("")
|
1063
|
-
|
1063
|
+
environment.run_setup_py(
|
1064
1064
|
cmd=['egg_info'],
|
1065
1065
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1066
1066
|
data_stream=1,
|
@@ -1085,7 +1085,7 @@ class TestEggInfo:
|
|
1085
1085
|
environ = os.environ.copy().update(
|
1086
1086
|
HOME=env.paths['home'],
|
1087
1087
|
)
|
1088
|
-
|
1088
|
+
environment.run_setup_py(
|
1089
1089
|
cmd=['egg_info'],
|
1090
1090
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1091
1091
|
data_stream=1,
|
@@ -1107,7 +1107,7 @@ class TestEggInfo:
|
|
1107
1107
|
"long_description='This is a long description\\nover multiple lines',"
|
1108
1108
|
"long_description_content_type='text/markdown',"
|
1109
1109
|
)
|
1110
|
-
|
1110
|
+
environment.run_setup_py(
|
1111
1111
|
cmd=['egg_info'],
|
1112
1112
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1113
1113
|
data_stream=1,
|
@@ -1138,7 +1138,7 @@ class TestEggInfo:
|
|
1138
1138
|
environ = os.environ.copy().update(
|
1139
1139
|
HOME=env.paths['home'],
|
1140
1140
|
)
|
1141
|
-
|
1141
|
+
environment.run_setup_py(
|
1142
1142
|
cmd=['egg_info'],
|
1143
1143
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1144
1144
|
data_stream=1,
|
@@ -1156,7 +1156,7 @@ class TestEggInfo:
|
|
1156
1156
|
def test_license(self, tmpdir_cwd, env):
|
1157
1157
|
"""Test single line license."""
|
1158
1158
|
self._setup_script_with_requires("license='MIT',")
|
1159
|
-
|
1159
|
+
environment.run_setup_py(
|
1160
1160
|
cmd=['egg_info'],
|
1161
1161
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1162
1162
|
data_stream=1,
|
@@ -1171,7 +1171,7 @@ class TestEggInfo:
|
|
1171
1171
|
self._setup_script_with_requires(
|
1172
1172
|
"license='This is a long license text \\nover multiple lines',"
|
1173
1173
|
)
|
1174
|
-
|
1174
|
+
environment.run_setup_py(
|
1175
1175
|
cmd=['egg_info'],
|
1176
1176
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1177
1177
|
data_stream=1,
|
@@ -1189,7 +1189,7 @@ class TestEggInfo:
|
|
1189
1189
|
environ = os.environ.copy().update(
|
1190
1190
|
HOME=env.paths['home'],
|
1191
1191
|
)
|
1192
|
-
|
1192
|
+
environment.run_setup_py(
|
1193
1193
|
cmd=['egg_info'],
|
1194
1194
|
pypath=os.pathsep.join([env.paths['lib'], str(tmpdir_cwd)]),
|
1195
1195
|
data_stream=1,
|
@@ -19,7 +19,7 @@ setup(
|
|
19
19
|
|
20
20
|
|
21
21
|
@pytest.mark.parametrize(
|
22
|
-
|
22
|
+
('flag', 'expected_level'), [("--dry-run", "INFO"), ("--verbose", "DEBUG")]
|
23
23
|
)
|
24
24
|
def test_verbosity_level(tmp_path, monkeypatch, flag, expected_level):
|
25
25
|
"""Make sure the correct verbosity level is set (issue #3038)"""
|
@@ -369,7 +369,7 @@ class TestFileListTest(TempDirTestCase):
|
|
369
369
|
def make_files(self, files):
|
370
370
|
for file in files:
|
371
371
|
file = os.path.join(self.temp_dir, file)
|
372
|
-
dirname,
|
372
|
+
dirname, _basename = os.path.split(file)
|
373
373
|
os.makedirs(dirname, exist_ok=True)
|
374
374
|
touch(file)
|
375
375
|
|
@@ -485,14 +485,8 @@ class TestFileListTest(TempDirTestCase):
|
|
485
485
|
'prune',
|
486
486
|
'blarg',
|
487
487
|
):
|
488
|
-
|
488
|
+
with pytest.raises(DistutilsTemplateError):
|
489
489
|
file_list.process_template_line(action)
|
490
|
-
except DistutilsTemplateError:
|
491
|
-
pass
|
492
|
-
except Exception:
|
493
|
-
assert False, "Incorrect error thrown"
|
494
|
-
else:
|
495
|
-
assert False, "Should have thrown an error"
|
496
490
|
|
497
491
|
def test_include(self, caplog):
|
498
492
|
caplog.set_level(logging.DEBUG)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import http.client
|
2
|
+
import re
|
2
3
|
import urllib.error
|
3
4
|
import urllib.request
|
4
5
|
from inspect import cleandoc
|
@@ -24,11 +25,8 @@ class TestPackageIndex:
|
|
24
25
|
def test_bad_url_bad_port(self):
|
25
26
|
index = setuptools.package_index.PackageIndex()
|
26
27
|
url = 'http://127.0.0.1:0/nonesuch/test_package_index'
|
27
|
-
|
28
|
+
with pytest.raises(Exception, match=re.escape(url)):
|
28
29
|
v = index.open_url(url)
|
29
|
-
except Exception as exc:
|
30
|
-
assert url in str(exc)
|
31
|
-
else:
|
32
30
|
assert isinstance(v, urllib.error.HTTPError)
|
33
31
|
|
34
32
|
def test_bad_url_typo(self):
|
@@ -37,15 +35,10 @@ class TestPackageIndex:
|
|
37
35
|
# in its home URL
|
38
36
|
index = setuptools.package_index.PackageIndex(hosts=('www.example.com',))
|
39
37
|
|
40
|
-
url =
|
41
|
-
|
42
|
-
|
43
|
-
)
|
44
|
-
try:
|
38
|
+
url = 'url:%20https://svn.plone.org/svn/collective/inquant.contentmirror.plone/trunk'
|
39
|
+
|
40
|
+
with pytest.raises(Exception, match=re.escape(url)):
|
45
41
|
v = index.open_url(url)
|
46
|
-
except Exception as exc:
|
47
|
-
assert url in str(exc)
|
48
|
-
else:
|
49
42
|
assert isinstance(v, urllib.error.HTTPError)
|
50
43
|
|
51
44
|
def test_bad_url_bad_status_line(self):
|
@@ -56,12 +49,8 @@ class TestPackageIndex:
|
|
56
49
|
|
57
50
|
index.opener = _urlopen
|
58
51
|
url = 'http://example.com'
|
59
|
-
|
52
|
+
with pytest.raises(Exception, match=r'line'):
|
60
53
|
index.open_url(url)
|
61
|
-
except Exception as exc:
|
62
|
-
assert 'line' in str(exc)
|
63
|
-
else:
|
64
|
-
raise AssertionError('Should have raise here!')
|
65
54
|
|
66
55
|
def test_bad_url_double_scheme(self):
|
67
56
|
"""
|
@@ -21,7 +21,7 @@ from distutils.errors import DistutilsSetupError
|
|
21
21
|
|
22
22
|
@pytest.fixture(autouse=True)
|
23
23
|
def isolated_dir(tmpdir_cwd):
|
24
|
-
|
24
|
+
return
|
25
25
|
|
26
26
|
|
27
27
|
def makeSetup(**args):
|
@@ -74,7 +74,7 @@ class TestDepends:
|
|
74
74
|
dep.find_module('no-such.-thing')
|
75
75
|
with pytest.raises(ImportError):
|
76
76
|
dep.find_module('setuptools.non-existent')
|
77
|
-
f,
|
77
|
+
f, _p, _i = dep.find_module('setuptools.tests')
|
78
78
|
f.close()
|
79
79
|
|
80
80
|
@needs_bytecode
|
@@ -257,7 +257,8 @@ def can_symlink(tmpdir):
|
|
257
257
|
os.remove(link_fn)
|
258
258
|
|
259
259
|
|
260
|
-
|
260
|
+
@pytest.mark.usefixtures("can_symlink")
|
261
|
+
def test_findall_missing_symlink(tmpdir):
|
261
262
|
with tmpdir.as_cwd():
|
262
263
|
os.symlink('foo', 'bar')
|
263
264
|
found = list(setuptools.findall())
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import stat
|
2
|
+
import sys
|
3
|
+
from unittest.mock import Mock
|
4
|
+
|
5
|
+
from setuptools import _shutil
|
6
|
+
|
7
|
+
|
8
|
+
def test_rmtree_readonly(monkeypatch, tmp_path):
|
9
|
+
"""Verify onerr works as expected"""
|
10
|
+
|
11
|
+
tmp_dir = tmp_path / "with_readonly"
|
12
|
+
tmp_dir.mkdir()
|
13
|
+
some_file = tmp_dir.joinpath("file.txt")
|
14
|
+
some_file.touch()
|
15
|
+
some_file.chmod(stat.S_IREAD)
|
16
|
+
|
17
|
+
expected_count = 1 if sys.platform.startswith("win") else 0
|
18
|
+
chmod_fn = Mock(wraps=_shutil.attempt_chmod_verbose)
|
19
|
+
monkeypatch.setattr(_shutil, "attempt_chmod_verbose", chmod_fn)
|
20
|
+
|
21
|
+
_shutil.rmtree(tmp_dir)
|
22
|
+
assert chmod_fn.call_count == expected_count
|
23
|
+
assert not tmp_dir.is_dir()
|
@@ -564,14 +564,17 @@ def test_wheel_install(params):
|
|
564
564
|
install_tree = params.get('install_tree')
|
565
565
|
file_defs = params.get('file_defs', {})
|
566
566
|
setup_kwargs = params.get('setup_kwargs', {})
|
567
|
-
with
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
567
|
+
with (
|
568
|
+
build_wheel(
|
569
|
+
name=project_name,
|
570
|
+
version=version,
|
571
|
+
install_requires=install_requires,
|
572
|
+
extras_require=extras_require,
|
573
|
+
extra_file_defs=file_defs,
|
574
|
+
**setup_kwargs,
|
575
|
+
) as filename,
|
576
|
+
tempdir() as install_dir,
|
577
|
+
):
|
575
578
|
_check_wheel_install(
|
576
579
|
filename, install_dir, install_tree, project_name, version, requires_txt
|
577
580
|
)
|
@@ -580,10 +583,13 @@ def test_wheel_install(params):
|
|
580
583
|
def test_wheel_install_pep_503():
|
581
584
|
project_name = 'Foo_Bar' # PEP 503 canonicalized name is "foo-bar"
|
582
585
|
version = '1.0'
|
583
|
-
with
|
584
|
-
|
585
|
-
|
586
|
-
|
586
|
+
with (
|
587
|
+
build_wheel(
|
588
|
+
name=project_name,
|
589
|
+
version=version,
|
590
|
+
) as filename,
|
591
|
+
tempdir() as install_dir,
|
592
|
+
):
|
587
593
|
new_filename = filename.replace(project_name, canonicalize_name(project_name))
|
588
594
|
shutil.move(filename, new_filename)
|
589
595
|
_check_wheel_install(
|
@@ -687,14 +693,17 @@ def test_wheel_mode():
|
|
687
693
|
file_defs = params.get('file_defs', {})
|
688
694
|
setup_kwargs = params.get('setup_kwargs', {})
|
689
695
|
|
690
|
-
with
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
696
|
+
with (
|
697
|
+
build_wheel(
|
698
|
+
name=project_name,
|
699
|
+
version=version,
|
700
|
+
install_requires=[],
|
701
|
+
extras_require={},
|
702
|
+
extra_file_defs=file_defs,
|
703
|
+
**setup_kwargs,
|
704
|
+
) as filename,
|
705
|
+
tempdir() as install_dir,
|
706
|
+
):
|
698
707
|
_check_wheel_install(
|
699
708
|
filename, install_dir, install_tree, project_name, version, None
|
700
709
|
)
|
@@ -116,7 +116,7 @@ class TestCLI(WrapperTester):
|
|
116
116
|
text=True,
|
117
117
|
encoding="utf-8",
|
118
118
|
)
|
119
|
-
stdout,
|
119
|
+
stdout, _stderr = proc.communicate('hello\nworld\n')
|
120
120
|
actual = stdout.replace('\r\n', '\n')
|
121
121
|
expected = textwrap.dedent(
|
122
122
|
r"""
|
@@ -153,7 +153,7 @@ class TestCLI(WrapperTester):
|
|
153
153
|
text=True,
|
154
154
|
encoding="utf-8",
|
155
155
|
)
|
156
|
-
stdout,
|
156
|
+
stdout, _stderr = proc.communicate('hello\nworld\n')
|
157
157
|
actual = stdout.replace('\r\n', '\n')
|
158
158
|
expected = textwrap.dedent(
|
159
159
|
r"""
|
@@ -201,7 +201,7 @@ class TestCLI(WrapperTester):
|
|
201
201
|
text=True,
|
202
202
|
encoding="utf-8",
|
203
203
|
)
|
204
|
-
stdout,
|
204
|
+
stdout, _stderr = proc.communicate()
|
205
205
|
actual = stdout.replace('\r\n', '\n')
|
206
206
|
expected = textwrap.dedent(
|
207
207
|
r"""
|
@@ -12,9 +12,12 @@ import warnings
|
|
12
12
|
from datetime import date
|
13
13
|
from inspect import cleandoc
|
14
14
|
from textwrap import indent
|
15
|
-
from typing import
|
15
|
+
from typing import TYPE_CHECKING
|
16
16
|
|
17
|
-
|
17
|
+
if TYPE_CHECKING:
|
18
|
+
from typing_extensions import TypeAlias
|
19
|
+
|
20
|
+
_DueDate: TypeAlias = tuple[int, int, int] # time tuple
|
18
21
|
_INDENT = 8 * " "
|
19
22
|
_TEMPLATE = f"""{80 * '*'}\n{{details}}\n{80 * '*'}"""
|
20
23
|
|
@@ -31,7 +31,7 @@ WHEEL_NAME = re.compile(
|
|
31
31
|
NAMESPACE_PACKAGE_INIT = "__import__('pkg_resources').declare_namespace(__name__)\n"
|
32
32
|
|
33
33
|
|
34
|
-
@functools.
|
34
|
+
@functools.cache
|
35
35
|
def _get_supported_tags():
|
36
36
|
# We calculate the supported tags only once, otherwise calling
|
37
37
|
# this method on thousands of wheels takes seconds instead of
|
@@ -39,7 +39,7 @@ def _get_supported_tags():
|
|
39
39
|
return {(t.interpreter, t.abi, t.platform) for t in sys_tags()}
|
40
40
|
|
41
41
|
|
42
|
-
def unpack(src_dir, dst_dir):
|
42
|
+
def unpack(src_dir, dst_dir) -> None:
|
43
43
|
"""Move everything under `src_dir` to `dst_dir`, and delete the former."""
|
44
44
|
for dirpath, dirnames, filenames in os.walk(src_dir):
|
45
45
|
subdir = os.path.relpath(dirpath, src_dir)
|
@@ -76,7 +76,7 @@ def disable_info_traces():
|
|
76
76
|
|
77
77
|
|
78
78
|
class Wheel:
|
79
|
-
def __init__(self, filename):
|
79
|
+
def __init__(self, filename) -> None:
|
80
80
|
match = WHEEL_NAME(os.path.basename(filename))
|
81
81
|
if match is None:
|
82
82
|
raise ValueError('invalid wheel name: %r' % filename)
|
@@ -116,7 +116,7 @@ class Wheel:
|
|
116
116
|
return dirname
|
117
117
|
raise ValueError("unsupported wheel format. .dist-info not found")
|
118
118
|
|
119
|
-
def install_as_egg(self, destination_eggdir):
|
119
|
+
def install_as_egg(self, destination_eggdir) -> None:
|
120
120
|
"""Install wheel as an egg directory."""
|
121
121
|
with zipfile.ZipFile(self.filename) as zf:
|
122
122
|
self._install_as_egg(destination_eggdir, zf)
|
@@ -34,6 +34,15 @@ from .wheelfile import WheelFile
|
|
34
34
|
if TYPE_CHECKING:
|
35
35
|
import types
|
36
36
|
|
37
|
+
# ensure Python logging is configured
|
38
|
+
try:
|
39
|
+
__import__("setuptools.logging")
|
40
|
+
except ImportError:
|
41
|
+
# setuptools < ??
|
42
|
+
from . import _setuptools_logging
|
43
|
+
|
44
|
+
_setuptools_logging.configure()
|
45
|
+
|
37
46
|
|
38
47
|
def safe_name(name: str) -> str:
|
39
48
|
"""Convert an arbitrary string to a standard distribution name
|