Current File : //lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc
a

[��f��@sDddlZddlmZddlmZddlmZGdd�dejd�ZdS)�N)�
PackageFinder)�BaseDistribution)�InstallRequirementcsTeZdZdZedd��fdd�Zejed�dd��Z	eje
edd	�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)�req�returncst���||_dS�N)�super�__init__r)�selfr��	__class__��D/usr/lib/python3.9/site-packages/pip/_internal/distributions/base.pyr
s
zAbstractDistribution.__init__)rcCs
t��dSr��NotImplementedError)rrrr�get_metadata_distributionsz.AbstractDistribution.get_metadata_distribution)�finder�build_isolationrcCs
t��dSrr)rrrrrr�prepare_distribution_metadata sz2AbstractDistribution.prepare_distribution_metadata)�__name__�
__module__�__qualname__�__doc__rr
�abc�abstractmethodrrr�boolr�
__classcell__rrrrrs�r)�	metaclass)	rZ"pip._internal.index.package_finderrZpip._internal.metadata.baserZpip._internal.reqr�ABCMetarrrrr�<module>s