Ë ìIsösú·ã óh—dZddlZddlmZddlmZddlmZmZm Z m Z m Z ddl m Z ddlmZdd lmZe d «ZeedfZeZe j,Zd ed e eefd e eeeeeefffd„Zd ed e eeeffd„Zd ed e eeefd e eeeeeefffd„Zd„Zd„Zd„Zd„Zd„Zd„Z y)aSHelper 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 éN)Ú defaultdict)Ú filterfalse)ÚDictÚListÚTupleÚMappingÚTypeVaré)Ú_reqs)Ú yield_lines)Ú RequirementÚ_TÚinstall_requiresÚextras_requireÚreturncó0—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)rrÚextrass úD/usr/lib/python3.12/site-packages/setuptools/command/_requirestxt.pyÚ_preparers€ô *¨.Ó 9€FÜ -Ð.>ÀÓ GÐGócóÒ—tt«}|j«D]D\}}||tj|«D]"}||t |«zj |«Œ$ŒF|S)z‘ Convert requirements in `extras_require` of the form `"extra": ["barbazquux; {marker}"]` to `"extra:{marker}": ["barbazquux"]`. )rÚdictÚitemsr ÚparseÚ _suffix_forÚ setdefault)rÚoutputÚsectionÚvÚrs rrr%sa€ô3>¼dÓ2C€FØ$×*Ñ*Ö,‰ ˆ�àˆwŠÜ—‘˜Q–ˆAØ �7œ[¨›^Ñ+Ñ ,× 7Ñ 7¸Õ :ñ ð-ð €MrcóZ—ttj|««}tt|«}t t|«}tt t|««}|D],}|dt|j«zj|«Œ.td„|j«D««}||fS)a+ 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. Move requirements in ``install_requires`` that are using environment markers ``extras_require``. Ú:c 3óŒK—|]<\}}|ttjd„tt|«D«««f–—Œ>y­w)c3ó2K—|]}t|«–—Œy­w©N)Ústr)Ú.0r"s rÚ z?_move_install_requirements_markers...Psèø€ÐBÑ/A¨!œs 1ŸvÑ/Aùs‚N)ÚlistrÚfromkeysÚmapÚ _clean_req)r)Úkr!s rr*z5_move_install_requirements_markers..Ns>èø€ðñ+‰DˆAˆqð ŒD”—‘ÑB¬s´:¸qÔ/AÓBÓBÓ CÔDÙ*ùs‚AA) r+r rÚfilterÚ _no_markerrr-r(Úmarkerrrr)rrÚ inst_reqsÚ simple_reqsÚ complex_reqsÚsimple_install_requiresr"Úexpanded_extrass rrr7s�€ô”U—[‘[Ð!1Ó2Ó3€IÜœ YÓ/€KÜœz¨9Ó5€LÜ"¤3¤s¨KÓ#8Ó9Ðã ˆØ�sœS §¡›]Ñ*Ñ+×6Ñ6°qÕ9ðôñð#×(Ñ(Ô*óó€Oð # OÐ 3Ð3rcóN—|jrdt|j«zSdS)z;Return the 'extras_require' suffix for a given requirement.r$Ú)r2r(©Úreqs rrrWs €à$'§J¢Jˆ3”�S—Z‘Z“Ñ Ð6°BÐ6rcó<—tt|««}d|_|S)z=Given a Requirement, remove environment markers and return itN)r r(r2)r;r"s rr.r.\s€ä”C˜“HÓ€AØ€A„HØ €Hrcó—|j Sr')r2r:s rr1r1cs€Ø�z‰zˆ>Ðrcób—t|xsd«}d„}t||«}|j|«y)N©có —|dzS)NÚ r?)Úlines rÚ append_crz&_write_requirements..append_crjs €Ø�d‰{Ðr)r r-Ú writelines)ÚstreamÚreqsÚlinesrCs rÚ_write_requirementsrHgs1€Ü ˜š  Ó #€Eòô � ˜5Ó !€EØ ×Ñ�eÕrc ó„—|j}tj«}t|jxsd|j xsi«\}}t ||«t|«D]:}|jdjdit«¤Ž«t |||«Œ<|jd||j««y)Nr?z [{extra}] Ú requirements) Ú distributionÚioÚStringIOrrrrHÚsortedÚwriteÚformatÚvarsÚwrite_or_delete_fileÚgetvalue)ÚcmdÚbasenameÚfilenameÚdistÚdatarrÚextras rÚwrite_requirementsrZqs§€Ø × Ñ €DÜ �;‰;‹=€DÜ'/Ø ×ÑÒ#  T×%8Ñ%8Ò%>¸Bó(Ñ$Ð�nô˜Ð.Ô/ܘÖ'ˆØ � ‰ Ð)�?×)Ñ)Ñ3¬D«FÑ3Ô4ܘD .°Ñ"7Õ8ð(ð×ј^¨X°t·}±}³ÕGrcó®—tj«}t||jj«|j d||j ««y)Nzsetup-requirements)rLrMrHrKÚsetup_requiresrRrS)rTrUrVrXs rÚwrite_setup_requirementsr]~s<€Ü �;‰;‹=€Dܘ˜c×.Ñ.×=Ñ=Ô>Ø×ÑÐ1°8¸T¿]¹]»_ÕMr)!Ú__doc__rLÚ collectionsrÚ itertoolsrÚtypingrrrrr r9r Úextern.jaraco.textr Úextern.packaging.requirementsr rÚ_OrderedrÚ_orderedÚ _StrOrIterr(rrrrr.r1rHrZr]r?rrÚrgsðñó Ý#Ý!ß6Õ6åÝ,Ý7ñ ˆTƒ]€Ø ��D�‰>€Ø €Ø × Ñ € ðHØ ðHØ29¸#¸z¸/Ñ2JðHà ˆ4�‰9�d˜3  S¡ ˜>Ñ*Ð *Ñ+óHðØðà ˆS�(˜;Ñ'Ð 'Ñ(óð$4Ø ð4Ø29¸#¸xÈ Ñ?TÐ:TÑ2Uð4à ˆ4�‰9�d˜3  S¡ ˜>Ñ*Ð *Ñ+ó4ò@7ò  òòò HóNr