a Ra@sDddlZddlmZddlmZddlmZGdddejdZdS)N) PackageFinder)BaseDistribution)InstallRequirementcsTeZdZdZeddfdd ZejedddZ eje 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__Q/opt/alt/python39/lib/python3.9/site-packages/pip/_internal/distributions/base.pyr s zAbstractDistribution.__init__)rcCs tdSrNotImplementedError)r rrrget_metadata_distributionsz.AbstractDistribution.get_metadata_distribution)finderbuild_isolationrcCs tdSrr)r rrrrrprepare_distribution_metadata sz2AbstractDistribution.prepare_distribution_metadata)__name__ __module__ __qualname____doc__rr abcabstractmethodrrrboolr __classcell__rrr rrsr) metaclass) rZ"pip._internal.index.package_finderrZpip._internal.metadata.baserZpip._internal.reqrABCMetarrrrrs