/opt/support/venv/lib/python3.13/site-packages/wheel/__pycache__
Edit: /opt/support/venv/lib/python3.13/site-packages/wheel/__pycache__/metadata.cpython-313.pyc (8688B)
i 2 S r SSKJr SSKrSSKrSSKrSSKrSSKrSSK J
r
SSKJr SSK
JrJrJrJr SSKJr SS jr\R* SS
j5 r\R/ \5 SS j5 r SS jrSS
jrSS jrSS jrSS jr SS jrSS jr g)z2
Tools for converting old- to new-style metadata.
)annotationsN)Message)Parser) GeneratorIterableIteratorLiteral )Requirementc @ U =( a U R S5 ( + $ )N#)
startswith)strs @/opt/support/venv/lib/python3.13/site-packages/wheel/metadata.py _nonblankr s *s~~c*** c \ [ R R [ [ U 5 5 $ )aQ
Yield valid lines of a string or iterable.
>>> list(yield_lines(''))
[]
>>> list(yield_lines(['foo', 'bar']))
['foo', 'bar']
>>> list(yield_lines('foo\nbar'))
['foo', 'bar']
>>> list(yield_lines('\nfoo\n#bar\nbaz #comment'))
['foo', 'baz #comment']
>>> list(yield_lines(['foo\nbar', 'baz', 'bing\n\n\n']))
['foo', 'bar', 'baz', 'bing']
) itertoolschain
from_iterablemapyield_lines)iterables r r r s ??(([()CDDr c n [ [ [ [ R U R 5 5 5 $ N)filterr r r strip
splitlines)texts r _r ) s! )SDOO,=>??r c # ( # Sn/ n[ U 5 Hv nUR S5 ( aL UR S5 ( a* U( d U( a X4v USS R 5 n/ nMY [ SU5 eUR U5 Mx X4v g7f)a^ Split a string or iterable thereof into (section, content) pairs
Each ``section`` is a stripped version of the section header ("[section]")
and each ``content`` is a list of stripped lines excluding blank lines and
comment-only lines. If there are any such lines before the first section
header, they're returned in a first ``section`` of ``None``.
N[]r
zInvalid section heading)r r endswithr
ValueErrorappend)ssectioncontentlines r split_sectionsr, . s GGA??3}}S!!g!**q***, !:DAANN4
s BBc N [ R " SSU 5 R 5 $ )zConvert an arbitrary string to a standard 'extra' name
Any runs of non-alphanumeric characters are replaced with a single '_',
and the result is always lowercased.
z[^A-Za-z0-9.-]+r )resublower)extras r
safe_extrar2 I s!
66#S%06688r c 2 [ R " SSU 5 $ )zConvert an arbitrary string to a standard distribution name
Any runs of non-alphanumeric/. characters are replaced with a single '-'.
z[^A-Za-z0-9.]+-)r. r/ )names r safe_namer6 Q s 66"C..r c U R ( a SU R - $ / nU R H+ nUR UR UR - 5 M- U( a SSR [
U5 5 - $ g)zFReturn the version specifier for a requirement in PEP 345/566 fashion.z @ , )url specifierr' operatorversionjoinsorted)requirement
requires_distspecs r requires_to_requires_distrD X si {&&!M%%T]]T\\9: & SXXf]3444r c # # U Hn n[ U5 n[ U5 nSR [ S UR 5 5 5 nU( a SU S3n[ UR 5 U- U- v Mp g7f)z=Yield Requires-Dist: strings for parsed requirements strings.r9 c 3 8 # U H n[ U5 v M g 7fr )r2 ).0es r
'convert_requirements..l s R8Q1A8Qs r" r# N)r rD r? r@ extrasr6 r5 )requirementsreqparsed_requirementrC rK s r convert_requirementsrO g sq (-();<& R8J8Q8Q RRS]F*//069D@@ s A6A8c # ` # U R 5 H u pSnU=( d SnSU; a UR SS5 u p[ U5 nU( a SU4v U( a SU- S- nUSU S3-
nU( a S U- n[ U5 H n[ [ XC- 5 5 nS
U4v M! M g7f)a
Convert requirements from a setup()-style dictionary to
('Requires-Dist', 'requirement') and ('Provides-Extra', 'extra') tuples.
extras_require is a dictionary of {extra: [requirements]} as passed to setup(),
using the empty extra {'': [requirements]} to hold install_requires.
r: :r
Provides-Extra(z) and z
extra == ''z ;
Requires-DistN)itemssplitr2 rO r r )extras_requirer1 depends conditionnew_req
canonical_reqs r generate_requirementsr] s s )..0 %<${{32E5!"E)))Oh6 :eWA..I )I+G4GG,? @AM!=00 5! 1s B,B.c
< [ USS9 n[ 5 R U5 nSSS5 WR SS5 US US [ R
R
U S5 n[ R
R U5 ( ar [ USS9 nUR 5 nSSS5 [ [ W5 S S
9nU H5 u p[ X05 H u pX4UR 5 ; d M XU
' M" M7 US nU( ar US R 5 n
SR
U
S
R 5 [ R " SR
U
SS 5 5 S45 nUR# U5 US U$ ! , ( d f GN]= f! , ( d f N= f)zF
Convert .egg-info directory with PKG-INFO to the Metadata 2.1 format
zutf-8)encodingNzMetadata-Versionz2.1rR rU zrequires.txtc U S =( d S$ )Nr r: )xs r %pkginfo_to_metadata..