+
    êhv0  ã            
       ój  € ^ RI t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIt^ RIHtHtHtHtHt ^ RIHt ^ RIHt ^ RItRtR	 tR
 tR t]P8                  P;                  R(R/ 3R/ 3RRRRR.///3.4      R 4       tRRR/RRR/RRR//t ! R R4      t  ! R R4      t!]P8                  P;                  R R)4      R! 4       t"]P8                  P;                  R*R+.4      R" 4       t#]P8                  P;                  R#R,4      R$ 4       t$]P8                  P;                  R#R-4      R% 4       t%R& t&R' t'R# ).é    N)ÚConfigParser)Úcleandoc)ÚPath)Ú_ToolsTypoInMetadataÚapply_configurationÚexpand_configurationÚread_configurationÚvalidate)ÚDistribution)ÚOptionErroraÀ  
[project]
name = "myproj"
keywords = ["some", "key", "words"]
dynamic = ["version", "readme"]
requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
dependencies = [
    'importlib-metadata>=0.12;python_version<"3.8"',
    'importlib-resources>=1.0;python_version<"3.7"',
    'pathlib2>=2.3.3,<3;python_version < "3.4" and sys.platform != "win32"',
]

[project.optional-dependencies]
docs = [
    "sphinx>=3",
    "sphinx-argparse>=0.2.5",
    "sphinx-rtd-theme>=0.4.3",
]
testing = [
    "pytest>=1",
    "coverage>=3,<5",
]

[project.scripts]
exec = "pkg.__main__:exec"

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
package-dir = {"" = "src"}
zip-safe = true
platforms = ["any"]

[tool.setuptools.packages.find]
where = ["src"]

[tool.setuptools.cmdclass]
sdist = "pkg.mod.CustomSdist"

[tool.setuptools.dynamic.version]
attr = "pkg.__version__.VERSION"

[tool.setuptools.dynamic.readme]
file = ["README.md"]
content-type = "text/markdown"

[tool.setuptools.package-data]
"*" = ["*.txt"]

[tool.setuptools.data-files]
"data" = ["_files/*.txt"]

[tool.distutils.sdist]
formats = "gztar"

[tool.distutils.bdist_wheel]
universal = true
c           	      óÆ   € R \         RRRRR//pRRRRR	R
RRR//pV'       g   Q hVR8X  d   / VCVCpM/ VCRRRR///CW!&   \        P                  P                  W R7       R# )úpyproject.tomlz	README.mdúhello worldÚ_fileszfile.txtÚ Úpkgz__init__.pyzmod.pyzclass CustomSdist: passz__version__.pyzVERSION = (3, 10)z__main__.pyzdef exec(): print('hello')Ú.ÚotherÚnested©ÚprefixN)ÚEXAMPLEÚjaracoÚpathÚbuild)r   Úpkg_rootÚfilesÚpackagess   &&  ÚL/usr/lib/python3/dist-packages/setuptools/tests/config/test_pyprojecttoml.pyÚcreate_exampler    U   sœ   € àœ'Ø�]ØØ˜ð
ð€Eð 	Ø˜2ØÐ/ØÐ1ØÐ7ð	
ð€H÷ €Oˆ8à�3„Ø%�5Ð%˜HÐ%‰ð Q˜XÐP w°¸MÈ2Ð;NÐ0OÑPˆ‰ä
‡K�K×Ñ�eÐÖ)ó    c                 óÚ  € VR ,          pVP                  \        P                  ! V 4      RR7       \        W4      pVR,          p\	        VRR7      V8X  g   Q hVR,          R8X  g   Q hVR,          R	,          R
8X  g   Q hRVR,          R,          9   g   Q hVR8X  d*   \        VR,          R,          R,          4      R08X  g   Q hM)\        VR,          R,          R,          4      0 Rm8X  g   Q hVR,          R,          R,          RJ g   Q hRVR,          R,          R,          9   g   Q hRVR,          R,          R,          9  g   Q hVR,          R,          R,          RR.3.8X  g   Q hR# )r   úutf-8©ÚencodingÚprojectT©ÚexpandÚversionz3.10ÚreadmeÚtextr   r   ÚtoolÚ
setuptoolsr   r   úinclude-package-datar   zpackage-dataÚ*z
data-filesÚdataz_files/file.txtN>   r   r   úother.nested)Ú
write_textÚtomli_wÚdumpsr   r	   Úset)Úconfigr   r   Ú	pyprojectÚexpandedÚexpanded_projects   &&&   r   Úverify_exampler:   r   sy  € ØÐ'Õ'€IØ×ÑœŸš vÓ.¸ÐÔAÜ# FÓ1€HØ 	Õ*ÐÜ˜i°Ô5¸ÔAÐAÐAØ˜IÕ&¨&Ô0Ð0Ð0Ø˜HÕ% fÕ-°Ô>Ð>Ð>Ø˜ &Õ)¨,Õ7Ô7Ð7Ð7Ø�3„ä�8˜FÕ# LÕ1°*Õ=Ó>À5À'ÔIÐIÑIä�8˜FÕ# LÕ1°*Õ=Ó>ò C
ô 
ð 	
ð 
ð
 �FÕ˜LÕ)Ð*@ÕAÀTÓIÐIÐIØ�˜&Õ! ,Õ/°Õ?Ô?Ð?Ð?Ø�h˜vÕ& |Õ4°^ÕDÔDÐDÐDØ�FÕ˜LÕ)¨,Õ7Ø	Ð#Ð$Ð%ð<ô ð ò r!   c                 óÒ   € \        V R 4       V R,          p\        VRR7      pVR,          P                  R4      e   Q hVR,          P                  R4      e   Q h\        W R 4       R# )Úsrcr   Fr'   r&   r)   Nr*   )r    r	   Úgetr:   )Útmp_pathr7   r6   s   &  r   Útest_read_configurationr?   Œ   se   € Ü�8˜UÔ#ØÐ+Õ+€Iä 	°%Ô8€FØ�)Õ× Ñ  Ó+Ò3Ð3Ð3Ø�)Õ× Ñ  Ó*Ò2Ð2Ð2ä�6 UÖ+r!   r   r<   Úlibr   ÚfindÚwherec                 óŽ  € \        W4       V R ,          p\        VRR7      pVR,          P                  R4      e   Q hVR,          P                  R4      e   Q hVR,          R,          P                  R	R4       VR,          R,          P                  R
R4       VR,          R,          P	                  V4       \        W@V4       R# )r   Fr'   r&   r)   Nr*   r,   r-   r   zpackage-dir)r    r	   r=   ÚpopÚupdater:   )r>   r   Úoptsr7   r6   s   &&&  r   Ú9test_discovered_package_dir_with_attr_directive_in_configrG   —   s®   € ô �8Ô&àÐ+Õ+€Iä 	°%Ô8€FØ�)Õ× Ñ  Ó+Ò3Ð3Ð3Ø�)Õ× Ñ  Ó*Ò2Ð2Ð2Ø
ˆ6…N�<Õ ×$Ñ$ Z°Ô6Ø
ˆ6…N�<Õ ×$Ñ$ ]°DÔ9à
ˆ6…N�<Õ ×'Ñ'¨Ô-Ü�6 XÖ.r!   Úconsole_scriptsÚaú
mod.a:funcÚgui_scriptsÚbú
mod.b:funcr   Úcúmod.c:func [extra]c                   óz   a € ] tR t^µt o R tRR ltR t]P                  P                  RR	4      R 4       t
RtV tR# )
ÚTestEntryPointsc                óÚ   € \        4       pVP                  \        4       \        VR ,          RRR7      ;_uu_ 4       pVP	                  V4       RRR4       R#   + '       g   i     R# ; i)úentry-points.txtÚwr#   r$   N)r   Ú	read_dictÚENTRY_POINTSÚopenÚwrite)Úselfr>   Úentry_pointsÚfs   &&  r   Úwrite_entry_pointsÚ"TestEntryPoints.write_entry_points¶   sL   € Ü#“~ˆØ×Ñœ|Ô,Ü�(Ð/Õ/°¸w×GÕGÈ1Ø×Ñ˜qÔ!÷ H×G×GÒGús   ½AÁA*	Nc                óB   € R T;'       g    . RO/pR RRR///pRVRRV//# )Údynamicúentry-pointsÚfilerS   r&   r,   r-   )Úscriptsúgui-scriptsr`   © )rY   r_   r&   r,   s   &&  r   r7   ÚTestEntryPoints.pyproject¼   s>   € Ø˜g×SÐSÒ)SÐTˆØ˜N¨VÐ5GÐ,HÐIÐJˆØ˜7 F¨\¸4Ð,@ÐAÐAr!   c                óœ  € V P                  V4       \        V P                  4       V4      pVR ,          p\        VR,          4      ^8X  g   Q hVR,          R,          R8X  g   Q h\        VR,          4      ^8X  g   Q hVR,          R,          R8X  g   Q h\        VR,          4      ^8X  g   Q hVR,          R,          R	,          R
8X  g   Q hR# )r&   rb   rI   rJ   rc   rL   rM   r`   r   rN   rO   N)r\   r   r7   Úlen)rY   r>   r8   r9   s   &&  r   Útest_all_listed_in_dynamicÚ*TestEntryPoints.test_all_listed_in_dynamicÁ   sÇ   € Ø×Ñ Ô)Ü'¨¯©Ó(8¸(ÓCˆØ# IÕ.ÐÜÐ# IÕ.Ó/°1Ô4Ð4Ð4Ø 	Õ*¨3Õ/°<Ô?Ð?Ð?ÜÐ# MÕ2Ó3°qÔ8Ð8Ð8Ø Õ.¨sÕ3°|ÔCÐCÐCÜÐ# NÕ3Ó4¸Ô9Ð9Ð9Ø Õ/°Õ8¸Õ=ÐAUÔUÐUÒUr!   Úmissing_dynamicc                óH  € V P                  V4       0 RmV0,
          pRV 2p\        P                  ! \        \        P
                  ! V\        P                  4      R7      ;_uu_ 4        \        V P                  V4      V4       RRR4       R#   + '       g   i     R# ; i)rb   z&defined outside of `pyproject.toml`:.*©ÚmatchN>   rb   rc   r`   )	r\   ÚpytestÚraisesr   ÚreÚcompileÚSr   r7   )rY   r>   rj   r_   Úmsgs   &&&  r   Ú"test_scripts_not_listed_in_dynamicÚ2TestEntryPoints.test_scripts_not_listed_in_dynamicÌ   sm   € à×Ñ Ô)Ú<ÀÐ?PÕPˆà6°Ð6GÐHˆÜ�]Š]œ;¬b¯jªj¸¼b¿d¹dÓ.C×DÖDÜ  §¡°Ó!8¸(ÔC÷ E×D×DÒDús   Á*BÂB!	rd   )N)rb   rc   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r\   r7   rh   rn   ÚmarkÚparametrizert   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   rQ   rQ   µ   s@   ø‡ € ò"ôBò
	Vð ‡[�[×ÑÐ.Ð0JÓKñDó LöDr!   rQ   c                   ó8   a € ] tR t^Öt o R tR tR tR tRtV t	R# )ÚTestClassifiersc                ó’  € \        VR 4       \        R4      pVR,          P                  VRR7       VR,          p\        VRR7      pVR,          R	,          p\	        0 VmR
k4      VR,          R	&   VR,          R,          R	,          pRR/VR
&   \        WC4       \        WA4      p\        VR,          R
,          4      RR08X  g   Q hR# )r<   zX
            Framework :: Flask
            Programming Language :: Haskell
            zclassifiers.txtr#   r$   r   Fr'   r&   r_   Úclassifiersr,   r-   ra   zFramework :: FlaskzProgramming Language :: HaskellN)r    r   r2   r	   Úlistr
   r   r5   )rY   r>   rƒ   r7   r6   r_   Údynamic_configr8   s   &&      r   Útest_dynamicÚTestClassifiers.test_dynamic×   sà   € ô 	�x Ô'Üðó
ˆð 
Ð%Õ	%×1Ñ1°+ÈÐ1ÔPàÐ/Õ/ˆ	Ü# I°eÔ<ˆØ˜Õ# IÕ.ˆÜ'+Ð,E¨gÐ,E°}Ð,EÓ'FˆˆyÕ˜)Ñ$Ø �¨Õ5°iÕ@ˆØ)/Ð1BÐ(Cˆ�}Ñ%ô 	�Ô#Ü'¨Ó9ˆä�8˜IÕ& }Õ5Ó6Ø Ø-ð;
ô 
ð 	
ò 
r!   c                óì   € R pVR,          pVP                  \        V4      RR7       \        P                  ! \        RR7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)zl
        [project]
        name = "myproj"
        version = '42'
        dynamic = ["classifiers"]
        r   r#   r$   z!No configuration .* .classifiers.rl   N)r2   r   rn   ro   r   r	   )rY   r>   r6   r7   s   &&  r   Útest_dynamic_without_configÚ+TestClassifiers.test_dynamic_without_configô   sX   € ðˆð Ð/Õ/ˆ	Ø×ÑœX fÓ-¸ÐÔ@Ü�]Š]œ;Ð.Q×RÖRÜ˜yÔ)÷ S×R×RÒRús   ÁA"Á"A3	c                óÀ   € R pVR,          pVP                  \        V4      RR7       \        RR/R7      p\        WC4      pVP                  P
                  R8X  g   Q hR# )zg
        [project]
        name = "myproj"
        version = '42'
        dynamic = ["readme"]
        r   r#   r$   Úlong_descriptionÚ42)ÚattrsN)r2   r   r   r   ÚmetadatarŒ   )rY   r>   r6   r7   Údists   &&   r   Ú*test_dynamic_readme_from_setup_script_argsÚ:TestClassifiers.test_dynamic_readme_from_setup_script_args  s`   € ðˆð Ð/Õ/ˆ	Ø×ÑœX fÓ-¸ÐÔ@ÜÐ#5°tÐ"<Ô=ˆä" 4Ó3ˆØ�}‰}×-Ñ-°Ô5Ð5Ò5r!   c                ó
  € R pVR,          pVP                  \        V4      RR7       \        P                  ! \        RR7      ;_uu_ 4        \        V4      pRRR4       RXR,          9  g   Q hR#   + '       g   i     L"; i)	zÂ
        [project]
        name = "myproj"
        version = '42'
        dynamic = ["classifiers"]

        [tool.setuptools.dynamic]
        classifiers = {file = ["classifiers.txt"]}
        r   r#   r$   z'File .*classifiers.txt. cannot be foundrl   Nrƒ   r&   )r2   r   rn   ÚwarnsÚUserWarningr	   )rY   r>   r6   r7   r8   s   &&   r   Útest_dynamic_without_fileÚ)TestClassifiers.test_dynamic_without_file  sm   € ðˆð Ð/Õ/ˆ	Ø×ÑœX fÓ-¸ÐÔ@Ü�\Š\œ+Ð-V×WÖWÜ)¨)Ó4ˆH÷ Xà H¨YÕ$7Ô7Ð7Ò7÷ X×Wús   ÁA2Á2B	rd   N)
rv   rw   rx   ry   r†   r‰   r‘   r–   r|   r}   r~   s   @r   r�   r�   Ö   s   ø‡ € ò
ò:*ò6÷8ð 8r!   r�   Úexamplec                 ón   € V R ,          pVP                  \        V4      RR7       \        V4      f   Q hR# ©r   r#   r$   N)r2   r   r	   )r>   r˜   r7   s   && r   Útest_ignore_unrelated_configr›   !  s:   € ð Ð+Õ+€IØ×Ñœ 'Ó*°WÐÔ=ô ˜iÓ(Ò4Ð4Ò4r!   c                 ód  € V R ,          pVP                  \        V4      RR7       \        P                  ! RV R2\        P                  \        P
                  ,          4      p\        P                  ! \        VR7      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)r   r#   r$   zinvalid pyproject.toml.*z.*rl   N)
r2   r   rp   rq   ÚMrr   rn   ro   Ú
ValueErrorr	   )r>   r˜   Ú	error_msgr7   Úpatterns   &&&  r   Útest_invalid_exampler¡   6  su   € ð Ð+Õ+€IØ×Ñœ 'Ó*°WÐÔ=ä�jŠjÐ3°I°;¸bÐAÄ2Ç4Á4Ì"Ï$É$Å;ÓO€GÜ	�Š”z¨×	1Ö	1Ü˜9Ô%÷ 
2×	1×	1Ò	1ús   ÂBÂB/	r6   c                 ób   € V R ,          pVP                  VRR7       \        V4      / 8X  g   Q hR# rš   ©r2   r	   ©r>   r6   r7   s   && r   Ú
test_emptyr¥   M  s5   € àÐ+Õ+€IØ×Ñ˜¨'ÐÔ2ô ˜iÓ(¨BÔ.Ð.Ò.r!   c                óŽ   € V R,          pVP                  VRR7       \        V4      pVR,          R,          R,          RJ g   Q hR# )	zYBuilds with ``pyproject.toml`` should consider ``include-package-data=True`` as
default.
r   r#   r$   r,   r-   r.   TNr£   r¤   s   && r   Ú$test_include_package_data_by_defaultr§   V  sI   € ð
 Ð+Õ+€IØ×Ñ˜¨'ÐÔ2ä 	Ó*€FØ�&�>˜,Õ'Ð(>Õ?À4ÓGÐGÒGr!   c                ót  € RRRR/p\         P                  P                  WR7       \        V 4      ;_uu_ 4        \        P
                  P                  R/ RR7      pRRR4       XP                  4       R	8X  g   Q hVP                  4       R
8X  g   Q hVP                  RJ g   Q hR#   + '       g   i     LR; i)z©Builds with ``pyproject.toml`` should consider ``include_package_data`` set in
``setup.py``.

See https://github.com/pypa/setuptools/issues/3197#issuecomment-1079023889
r   ú'[project]
name = 'myproj'
version='42'
zsetup.pyz:__import__('setuptools').setup(include_package_data=False)r   r6   )Ú
stop_afterNÚmyprojr�   F)
r   r   r   r   Ú	distutilsÚcoreÚ	run_setupÚget_nameÚget_versionÚinclude_package_data)r>   r   r�   s   &  r   Ú$test_include_package_data_in_setuppyr²   b  s    € ð 	ÐFØÐPð€Eô ‡K�K×Ñ�eÐÔ-ä	ˆh��Ü�~‰~×'Ñ'¨
°BÀ8Ð'ÓLˆ÷ 
ð �=‰=‹?˜hÔ&Ð&Ð&Ø×ÑÓ Ô%Ð%Ð%Ø×$Ñ$¨Ó-Ð-Ò-÷ 
�ús   º#B'Â'B7	c                óè   € RpV R,          pVP                  \        V4      RR7       \        P                  ! \        4      ;_uu_ 4        \        V4       RRR4       R#   + '       g   i     R# ; i)zŠTest that the common ``tools.setuptools`` typo in ``pyproject.toml`` issues a warning

See https://github.com/pypa/setuptools/issues/4150
zË
    [build-system]
    requires = ["setuptools"]
    build-backend = "setuptools.build_meta"

    [project]
    name = "myproj"
    version = '42'

    [tools.setuptools]
    packages = ["package"]
    r   r#   r$   N)r2   r   rn   r”   r   r	   r¤   s   &  r   Útest_warn_tools_typor´   v  sU   € ð
€Fð Ð+Õ+€IØ×Ñœ &Ó)°GÐÔ<ä	�ŠÔ*×	+Õ	+Ü˜9Ô%÷ 
,×	+×	+Ò	+ús   Á
A Á A1	)r   rF   )zˆ
        [project]
        name = "myproj"
        version = "1.2"

        [my-tool.that-disrespect.pep518]
        value = 42
        )r˜   rŸ   )z›
            [project]
            name = "myproj"
            version = "1.2"
            requires = ['pywin32; platform_system=="Windows"' ]
            zGconfiguration error: .project. must not contain ..requires.. properties)r   z[tool.something]
value = 42)r©   )(rp   Úconfigparserr   Úinspectr   Újaraco.pathr   rn   r3   r   r   r-   Úsetuptools.config.pyprojecttomlr   r   r   r	   r
   Úsetuptools.distr   Úsetuptools.errorsr   Údistutils.corer¬   r   r    r:   r?   rz   r{   rG   rV   rQ   r�   r›   r¡   r¥   r§   r²   r´   rd   r!   r   Ú<module>r¼      s’  ðÛ 	Ý %Ý ã Û Û Ý ã ÷õ õ )Ý )ã ð;€ò|*ò:ò4,ð ‡�×ÑØà	ˆbˆ	Ø	�ˆØ	�˜f w°°Ð&8Ð9Ð:Ð;ðóñ/óð/ð  ˜˜\Ð*Ø�C˜Ð&ØˆcÐ'Ð(ð€÷Dñ D÷BH8ñ H8ðV ‡�×ÑØð	óñ5óð5ð ‡�×ÑØð	
ð
óñ&óð&ð ‡�×Ñ˜Ð#GÓHñ/ó Ið/ð ‡�×Ñ˜Ð#RÓSñHó TðHò.ô(&r!   