o ƚRe@sDddlZddlmZddlmZddlmZGdddejdZdS)N) PackageFinder)BaseDistribution)InstallRequirementcsZeZdZdZdeddffdd ZejdefddZ ejd e d e ddfd 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. reqreturnNcst||_dSN)super__init__r)selfr __class__/builddir/build/BUILDROOT/alt-python310-pip-21.3.1-3.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/distributions/base.pyr s  zAbstractDistribution.__init__cCtrNotImplementedError)r rrrget_metadata_distributionsz.AbstractDistribution.get_metadata_distributionfinderbuild_isolationcCrrr)r rrrrrprepare_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