U ja@sPddlZddlmZddlmZddlmZddlmZGdddej dZ dS) N)Optional) Distribution) PackageFinder)InstallRequirementcsXeZdZdZeddfdd Zejee dddZ eje e dd d d Z ZS) 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__x/private/var/folders/k6/_7fsz4ts3b78x3b3xwrxjh_c8s8xv7/T/pip-unpacked-wheel-bug3gbve/pip/_internal/distributions/base.pyr s zAbstractDistribution.__init__)rcCs tdSr NotImplementedError)r rrrget_pkg_resources_distributionsz3AbstractDistribution.get_pkg_resources_distribution)finderbuild_isolationrcCs tdSr r)r rrrrrprepare_distribution_metadata"sz2AbstractDistribution.prepare_distribution_metadata)__name__ __module__ __qualname____doc__rr abcabstractmethodrrrrboolr __classcell__rrr rr sr) metaclass) rtypingrZpip._vendor.pkg_resourcesr"pip._internal.index.package_finderrZpip._internal.reqrABCMetarrrrrs