HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc
�

��h���h�ddlZddlmZddlmZddlmZddlmZGd�dej��Z
y)	�N)�Optional)�
PackageFinder)�BaseDistribution)�InstallRequirementc	���eZdZdZdeddf�fd�Zejdee	fd��Z
ejdefd��Z
ejded	ed
eddfd��Z�xZS)�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.

     - if we need to do work in the build tracker, we must be able to generate a unique
       string to identify the requirement in the build tracker.
    �req�returnNc�0��t�|��||_y�N)�super�__init__r	)�selfr	�	__class__s  ��B/usr/lib/python3/dist-packages/pip/_internal/distributions/base.pyrzAbstractDistribution.__init__s���
�������c��t��)z�A string that uniquely identifies this requirement to the build tracker.

        If None, then this dist has no work to do in the build tracker, and
        ``.prepare_distribution_metadata()`` will not be called.��NotImplementedError�rs r�build_tracker_idz%AbstractDistribution.build_tracker_id s
��"�#�#rc��t��rrrs r�get_metadata_distributionz.AbstractDistribution.get_metadata_distribution(s��!�#�#r�finder�build_isolation�check_build_depsc��t��rr)rrrrs    r�prepare_distribution_metadataz2AbstractDistribution.prepare_distribution_metadata,s
��"�#�#r)�__name__�
__module__�__qualname__�__doc__rr�abc�abstractpropertyr�strr�abstractmethodrrr�boolr�
__classcell__)rs@rrr	s�����$�.��4��	���$�(�3�-�$��$�	���$�+;�$��$�	���$��$��$��	$�

�$��$rr)�	metaclass)r#�typingr�"pip._internal.index.package_finderr�pip._internal.metadata.baser�pip._internal.reqr�ABCMetar�rr�<module>r0s$��
��<�8�0�*$�S�[�[�*$r