U ʗRe@sDddlZddlmZddlmZddlmZGdddejdZdS)N) PackageFinder)BaseDistribution)InstallRequirementcsVeZdZdZeddfdd ZejedddZ eje e e dd d d Z Z S) AbstractDistributiona A base class for handling installable artifacts. The requirements for anything installable are as follows: - we must be able to determine the requirement name (or we can't correctly handle the non-upgrade case). - for packages with setup requirements, we must also be able to determine their requirements without installing additional packages (for the same reason as run-time dependencies) - we must be able to create a Distribution object exposing the above metadata. N)reqreturncst||_dSN)super__init__r)selfr __class__/builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_internal/distributions/base.pyr s zAbstractDistribution.__init__)rcCs tdSrNotImplementedError)r rrrget_metadata_distributionsz.AbstractDistribution.get_metadata_distribution)finderbuild_isolationcheck_build_depsrcCs tdSrr)r rrrrrrprepare_distribution_metadata sz2AbstractDistribution.prepare_distribution_metadata)__name__ __module__ __qualname____doc__rr abcabstractmethodrrrboolr __classcell__rrr rrsr) metaclass) r"pip._internal.index.package_finderrZpip._internal.metadata.baserpip._internal.reqrABCMetarrrrrs