ó
    T=Œjs  ã                  ó€   • S SK Jr  S SKrS SKJr  S SKJr  S SKJr  \(       a  S SK	J
r
Jr   " S S\R                  S	9rg)
é    )ÚannotationsN)ÚTYPE_CHECKING)ÚBaseDistribution)ÚInstallRequirement)ÚBuildEnvironmentInstallerÚBuildIsolationModec                  óÆ   ^ • \ rS rSrSrSU 4S jjr\\R                  S	S j5       5       r	\R                  S
S j5       r
\R                            SS j5       rSrU =r$ )ÚAbstractDistributioné   az  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.
c                ó.   >• [         TU ]  5         Xl        g ©N)ÚsuperÚ__init__Úreq)Úselfr   Ú	__class__s     €Úd/Users/stevendouglas/BidBrain/.venv/lib/python3.13/site-packages/pip/_internal/distributions/base.pyr   ÚAbstractDistribution.__init__    s   ø€ Ü‰ÑÔØ�ó    c                ó   • [        5       e)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©r   s    r   Úbuild_tracker_idÚ%AbstractDistribution.build_tracker_id$   s   € ô "Ó#Ð#r   c                ó   • [        5       er   r   r   s    r   Úget_metadata_distributionÚ.AbstractDistribution.get_metadata_distribution-   s   € ä!Ó#Ð#r   c                ó   • [        5       er   r   )r   Úbuild_env_installerÚbuild_isolationÚcheck_build_depsÚallow_editabless        r   Úprepare_distribution_metadataÚ2AbstractDistribution.prepare_distribution_metadata1   s   € ô "Ó#Ð#r   )r   )r   r   ÚreturnÚNone)r&   z
str | None)r&   r   )
r    r   r!   r   r"   Úboolr#   r(   r&   r'   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   ÚpropertyÚabcÚabstractmethodr   r   r$   Ú__static_attributes__Ú__classcell__)r   s   @r   r
   r
      s“   ø† ñ÷$ð Ø×Ñó$ó ó ð$ð 	×Ñó$ó ð$ð 	×Ñð$à6ð$ð ,ð$ð ð	$ð
 ð$ð 
ó$ó ö$r   r
   )Ú	metaclass)Ú
__future__r   r/   Útypingr   Úpip._internal.metadata.baser   Úpip._internal.reqr   Úpip._internal.build_envr   r   ÚABCMetar
   © r   r   Ú<module>r;      s*   ðÝ "ã 
Ý  å 8Ý 0æßUô,$ S§[¡[ó ,$r   