File: //usr/lib/python3/dist-packages/pip/_internal/distributions/__pycache__/base.cpython-310.pyc
o
@%Ne� � @ sD d dl Z d dlmZ d dlmZ d dlmZ G dd� de jd�ZdS )� N)�
PackageFinder)�BaseDistribution)�InstallRequirementc sZ e Zd ZdZdeddf� fdd�Zejdefdd��Z ejd e
d
eddfdd��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.
�req�returnNc s t � �� || _d S �N)�super�__init__r )�selfr �� __class__� �B/usr/lib/python3/dist-packages/pip/_internal/distributions/base.pyr
s
zAbstractDistribution.__init__c C � t � �r ��NotImplementedError)r r r r �get_metadata_distribution s z.AbstractDistribution.get_metadata_distribution�finder�build_isolationc C r r r )r r r r r r �prepare_distribution_metadata s z2AbstractDistribution.prepare_distribution_metadata)�__name__�
__module__�__qualname__�__doc__r r
�abc�abstractmethodr r r �boolr �
__classcell__r r r r r s ���r )� metaclass) r �"pip._internal.index.package_finderr �pip._internal.metadata.baser �pip._internal.reqr �ABCMetar r r r r �<module> s