ruạṛ
a �u:j� � @ s� d Z ddlmZ ddlZddlmZ ddlmZ ddlm Z ddl mZ ddlm Z dd lmZ d dlmZ d dlmZ ed �Zeedf Zdddd�dd�Zddd�dd�Zdddd�dd�Zdd� Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� ZdS )'aS Helper code used to generate ``requires.txt`` files in the egg-info directory. The ``requires.txt`` file has an specific format: - Environment markers need to be part of the section headers and should not be part of the requirement spec itself. See https://setuptools.pypa.io/en/latest/deprecated/python_eggs.html#requires-txt � )�annotationsN)�defaultdict)�Mapping)�filterfalse)�TypeVar)�yield_lines)�Requirement� )�_reqs)� _StrOrIter�_Tr zMapping[str, _StrOrIter]z&tuple[list[str], dict[str, list[str]]])�install_requires�extras_require�returnc C s t |�}t| |�S )z�Given values for ``install_requires`` and ``extras_require`` create modified versions in a way that can be written in ``requires.txt`` )�_convert_extras_requirements�"_move_install_requirements_markers)r r �extras� r �R/opt/bart/bart_venv/lib/python3.9/site-packages/setuptools/command/_requirestxt.py�_prepare s r z'defaultdict[str, _Ordered[Requirement]])r r c C sX t ttt f t�}| �� D ]6\}}|| t�|�D ]}||t|� � |� q6q|S )z� Convert requirements in `extras_require` of the form `"extra": ["barbazquux; {marker}"]` to `"extra:{marker}": ["barbazquux"]`. ) r �str�_Orderedr �dict�itemsr �parse�_suffix_for� setdefault)r �output�section�v�rr r r r '