o
    i                     @  s6   d dl mZ d dlmZ d dlmZ G dd dZdS )    )annotations)FormatControl)ReleaseControlc                   @  s,   e Zd ZdZg dZ				ddddZdS )SelectionPreferenceszd
    Encapsulates the candidate selection preferences for downloading
    and installing files.
    allow_yankedrelease_controlformat_controlprefer_binaryignore_requires_pythonNFr   boolr   ReleaseControl | Noner	   FormatControl | Noner
   r   bool | NonereturnNonec                 C  s.   |du rd}|| _ || _|| _|| _|| _dS )a  Create a SelectionPreferences object.

        :param allow_yanked: Whether files marked as yanked (in the sense
            of PEP 592) are permitted to be candidates for install.
        :param release_control: A ReleaseControl object or None. Used to control
            whether pre-releases are allowed for specific packages.
        :param format_control: A FormatControl object or None. Used to control
            the selection of source packages / binary packages when consulting
            the index and links.
        :param prefer_binary: Whether to prefer an old, but valid, binary
            dist over a new source dist.
        :param ignore_requires_python: Whether to ignore incompatible
            "Requires-Python" values in links. Defaults to False.
        NFr   )selfr   r   r	   r
   r    r   a/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/pip/_internal/models/selection_prefs.py__init__   s   
zSelectionPreferences.__init__)NNFN)r   r   r   r   r	   r   r
   r   r   r   r   r   )__name__
__module____qualname____doc__	__slots__r   r   r   r   r   r   	   s    r   N)
__future__r   #pip._internal.models.format_controlr   $pip._internal.models.release_controlr   r   r   r   r   r   <module>   s    