
    Mh                     Z    d dl Z d dlmZ d dlmZ d dlmZ  G d de j                  ZdS )    N)PackageFinder)BaseDistribution)InstallRequirementc            	            e Zd ZdZdeddf fdZej        defd            Z	ej        de
ded	eddfd
            Z x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                 V    t                                                       || _        d S N)super__init__r   )selfr   	__class__s     `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pip/_internal/distributions/base.pyr   zAbstractDistribution.__init__   s$        c                     t                      r   NotImplementedError)r   s    r   get_metadata_distributionz.AbstractDistribution.get_metadata_distribution   s    !###r   finderbuild_isolationcheck_build_depsc                     t                      r   r   )r   r   r   r   s       r   prepare_distribution_metadataz2AbstractDistribution.prepare_distribution_metadata    s     "###r   )__name__
__module____qualname____doc__r   r   abcabstractmethodr   r   r   boolr   __classcell__)r   s   @r   r   r      s         . 4       	$+; $ $ $ $ 	$$ $ 	$
 
$ $ $ $ $ $ $ $r   r   )	metaclass)	r   "pip._internal.index.package_finderr   pip._internal.metadata.baser   pip._internal.reqr   ABCMetar    r   r   <module>r)      s    



 < < < < < < 8 8 8 8 8 8 0 0 0 0 0 0$ $ $ $ $S[ $ $ $ $ $ $r   