Ë
    nûàgv0  ã            
       ód  — d dl Z d dlmZ d dlmZ d dlZd dlZd dlZd dl	m
Z
 d dlZd dlmZmZmZmZmZ d dlmZ d dlmZ d dlZdZd	„ Zd
„ Zd„ Zej8                  j;                  ddi fdi fdddddgiiifg«      d„ «       ZddiddiddidœZ G d„ d«      Z  G d„ d«      Z!ej8                  j;                  dd «      d!„ «       Z"ej8                  j;                  d"d#g«      d$„ «       Z#ej8                  j;                  d%d&«      d'„ «       Z$ej8                  j;                  d%d(«      d)„ «       Z%d*„ Z&d+„ Z'y),é    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                 ó®   — t         dddidœ}dddddd	œi}|sJ ‚|d
k(  ri |¥|¥}ni |¥ddddiii¥||<   t        j                  j                  || ¬«       y )Núhello worldzfile.txtÚ )úpyproject.tomlz	README.mdÚ_filesÚpkgzclass CustomSdist: passzVERSION = (3, 10)zdef exec(): print('hello'))ú__init__.pyzmod.pyz__version__.pyz__main__.pyú.ÚotherÚnestedr   ©Úprefix)ÚEXAMPLEÚjaracoÚpathÚbuild)r   Úpkg_rootÚfilesÚpackagess       úh/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/setuptools/tests/config/test_pyprojecttoml.pyÚcreate_exampler!   U   sŽ   € ä!Ø"à˜ð
ñ€Eð 	ØØ/Ø1Ø7ñ	
ð€Hñ €Oˆ8à�3‚Ø%�5Ð%˜HÐ%‰ð Q˜XÐP w°¸MÈ2Ð;NÐ0OÑPˆˆh‰ä
‡K�K×Ñ�e DÐÕ)ó    c                 óÜ  — |dz  }|j                  t        j                  | «      d¬«       t        | |«      }|d   }t	        |d¬«      |k(  sJ ‚|d   dk(  sJ ‚|d	   d
   dk(  sJ ‚d|d   d   v sJ ‚|dk(  rt        |d   d   d   «      dhk(  sJ ‚t        |d   d   d   «      h d£k(  sJ ‚|d   d   d   du sJ ‚d|d   d   d   v sJ ‚d|d   d   d   vsJ ‚|d   d   d   ddgfgk(  sJ ‚y )Nr   úutf-8©ÚencodingÚprojectT©ÚexpandÚversionz3.10ÚreadmeÚtextr   r   ÚtoolÚ
setuptoolsr   r   >   úother.nestedr   r   úinclude-package-datar   zpackage-dataÚ*z
data-filesÚdataz_files/file.txt)Ú
write_textÚtomli_wÚdumpsr   r	   Úset)Úconfigr   r   Ú	pyprojectÚexpandedÚexpanded_projects         r    Úverify_exampler;   r   s{  € ØÐ'Ñ'€IØ×ÑœŸ™ vÓ.¸ÐÔAÜ# F¨DÓ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                 ó²   — t        | d«       | dz  }t        |d¬«      }|d   j                  d«      �J ‚|d   j                  d«      �J ‚t        || d«       y )NÚsrcr   Fr(   r'   r*   r+   )r!   r	   Úgetr;   )Útmp_pathr8   r7   s      r    Útest_read_configurationr@   Œ   sg   € Ü�8˜UÔ#ØÐ+Ñ+€Iä 	°%Ô8€FØ�)Ñ× Ñ  Ó+Ð3Ð3Ð3Ø�)Ñ× Ñ  Ó*Ð2Ð2Ð2ä�6˜8 UÕ+r"   )r   Úoptsr   r=   Úlibr   ÚfindÚwherec                 ó@  — t        | |«       | dz  }t        |d¬«      }|d   j                  d«      �J ‚|d   j                  d«      �J ‚|d   d   j                  d	d «       |d   d   j                  d
d «       |d   d   j	                  |«       t        || |«       y )Nr   Fr(   r'   r*   r+   r-   r.   r   zpackage-dir)r!   r	   r>   ÚpopÚupdater;   )r?   r   rA   r8   r7   s        r    Ú9test_discovered_package_dir_with_attr_directive_in_configrH   —   s²   € ô �8˜XÔ&àÐ+Ñ+€Iä 	°%Ô8€FØ�)Ñ× Ñ  Ó+Ð3Ð3Ð3Ø�)Ñ× Ñ  Ó*Ð2Ð2Ð2Ø
ˆ6�N�<Ñ ×$Ñ$ Z°Ô6Ø
ˆ6�N�<Ñ ×$Ñ$ ]°DÔ9à
ˆ6�N�<Ñ ×'Ñ'¨Ô-Ü�6˜8 XÕ.r"   Úaú
mod.a:funcÚbú
mod.b:funcÚcúmod.c:func [extra])Úconsole_scriptsÚgui_scriptsr   c                   ód   — e Zd Zd„ Zdd„Zd„ Zej                  j                  dd«      d„ «       Z	y)	ÚTestEntryPointsc                 ó°   — t        «       }|j                  t        «       t        |dz  dd¬«      5 }|j	                  |«       d d d «       y # 1 sw Y   y xY w)Núentry-points.txtÚwr$   r%   )r   Ú	read_dictÚENTRY_POINTSÚopenÚwrite)Úselfr?   Úentry_pointsÚfs       r    Úwrite_entry_pointsz"TestEntryPoints.write_entry_points¶   sN   € Ü#“~ˆØ×Ñœ|Ô,Ü�(Ð/Ñ/°¸wÔGð 	"È1Ø×Ñ˜qÔ!÷	"÷ 	"ñ 	"ús   ±AÁANc                 ó4   — d|xs g d¢i}ddddiii}|d|idœS )NÚdynamic)Úscriptsúgui-scriptsúentry-pointsrb   ÚfilerT   r.   )r'   r-   © )rZ   r_   r'   r-   s       r    r8   zTestEntryPoints.pyproject¼   s7   € Ø˜gÒSÒ)SÐTˆØ˜N¨VÐ5GÐ,HÐIÐJˆØ"¨\¸4Ð,@ÑAÐAr"   c                 ó*  — | j                  |«       t        | j                  «       |«      }|d   }t        |d   «      dk(  sJ ‚|d   d   dk(  sJ ‚t        |d   «      dk(  sJ ‚|d   d   dk(  sJ ‚t        |d	   «      dk(  sJ ‚|d	   d
   d   dk(  sJ ‚y )Nr'   r`   é   rI   rJ   ra   rK   rL   rb   r   rM   rN   )r]   r   r8   Úlen)rZ   r?   r9   r:   s       r    Útest_all_listed_in_dynamicz*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_dynamic)r`   ra   c                 ó  — | j                  |«       h d£|hz
  }d|› �}t        j                  t        t	        j
                  |t        j                  «      ¬«      5  t        | j                  |«      |«       d d d «       y # 1 sw Y   y xY w)N>   r`   ra   rb   z&defined outside of `pyproject.toml`:.*©Úmatch)	r]   ÚpytestÚraisesr   ÚreÚcompileÚSr   r8   )rZ   r?   ri   r_   Úmsgs        r    Ú"test_scripts_not_listed_in_dynamicz2TestEntryPoints.test_scripts_not_listed_in_dynamicÌ   ss   € à×Ñ Ô)Ú<ÀÐ?PÑPˆà6°Ð6GÐHˆÜ�]‰]œ;¬b¯j©j¸¼b¿d¹dÓ.CÔDñ 	DÜ  §¡°Ó!8¸(ÔC÷	D÷ 	Dñ 	Dús   ÁBÂB
)N)
Ú__name__Ú
__module__Ú__qualname__r]   r8   rh   rm   ÚmarkÚparametrizers   rd   r"   r    rR   rR   µ   s=   „ ò"óBò
	Vð ‡[�[×ÑÐ.Ð0JÓKñDó LñDr"   rR   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestClassifiersc                 ó@  — t        |d«       t        d«      }|dz  j                  |d¬«       |dz  }t        |d¬«      }|d	   d
   }t	        h |£d’«      |d	   d
<   |d   d   d
   }ddi|d<   t        ||«       t        ||«      }t        |d	   d   «      ddhk(  sJ ‚y )Nr=   zX
            Framework :: Flask
            Programming Language :: Haskell
            zclassifiers.txtr$   r%   r   Fr(   r'   r_   Úclassifiersr-   r.   rc   zFramework :: FlaskzProgramming Language :: Haskell)r!   r   r3   r	   Úlistr
   r   r6   )rZ   r?   r|   r8   r7   r_   Údynamic_configr9   s           r    Útest_dynamicz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                 óÀ   — d}|dz  }|j                  t        |«      d¬«       t        j                  t        d¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)Nzl
        [project]
        name = "myproj"
        version = '42'
        dynamic = ["classifiers"]
        r   r$   r%   z!No configuration .* .classifiers.rk   )r3   r   rm   rn   r   r	   )rZ   r?   r7   r8   s       r    Útest_dynamic_without_configz+TestClassifiers.test_dynamic_without_configô   sZ   € ðˆð Ð/Ñ/ˆ	Ø×ÑœX fÓ-¸ÐÔ@Ü�]‰]œ;Ð.QÔRñ 	*Ü˜yÔ)÷	*÷ 	*ñ 	*ús   ¿AÁAc                 ó´   — d}|dz  }|j                  t        |«      d¬«       t        ddi¬«      }t        ||«      }|j                  j
                  dk(  sJ ‚y )Nzg
        [project]
        name = "myproj"
        version = '42'
        dynamic = ["readme"]
        r   r$   r%   Úlong_descriptionÚ42)Úattrs)r3   r   r   r   Úmetadatarƒ   )rZ   r?   r7   r8   Údists        r    Ú*test_dynamic_readme_from_setup_script_argsz:TestClassifiers.test_dynamic_readme_from_setup_script_args  sb   € ðˆð Ð/Ñ/ˆ	Ø×ÑœX fÓ-¸ÐÔ@ÜÐ#5°tÐ"<Ô=ˆä" 4¨Ó3ˆØ�}‰}×-Ñ-°Ò5Ð5Ñ5r"   c                 óÒ   — d}|dz  }|j                  t        |«      d¬«       t        j                  t        d¬«      5  t        |«      }d d d «       dd   vsJ ‚y # 1 sw Y   ŒxY w)	NzÂ
        [project]
        name = "myproj"
        version = '42'
        dynamic = ["classifiers"]

        [tool.setuptools.dynamic]
        classifiers = {file = ["classifiers.txt"]}
        r   r$   r%   z'File .*classifiers.txt. cannot be foundrk   r|   r'   )r3   r   rm   ÚwarnsÚUserWarningr	   )rZ   r?   r7   r8   r9   s        r    Útest_dynamic_without_filez)TestClassifiers.test_dynamic_without_file  so   € ðˆð Ð/Ñ/ˆ	Ø×ÑœX fÓ-¸ÐÔ@Ü�\‰\œ+Ð-VÔWñ 	5Ü)¨)Ó4ˆH÷	5à H¨YÑ$7Ñ7Ð7Ñ7÷	5ð 	5ús   ¿AÁA&N)rt   ru   rv   r   r�   rˆ   rŒ   rd   r"   r    rz   rz   Ö   s   „ ò
ò:*ò6ó8r"   rz   Úexample)zˆ
        [project]
        name = "myproj"
        version = "1.2"

        [my-tool.that-disrespect.pep518]
        value = 42
        c                 ó`   — | dz  }|j                  t        |«      d¬«       t        |«      €J ‚y ©Nr   r$   r%   )r3   r   r	   )r?   r�   r8   s      r    Útest_ignore_unrelated_configr�   !  s:   € ð Ð+Ñ+€IØ×Ñœ 'Ó*°WÐÔ=ô ˜iÓ(Ð4Ð4Ñ4r"   )r�   Ú	error_msg)z›
            [project]
            name = "myproj"
            version = "1.2"
            requires = ['pywin32; platform_system=="Windows"' ]
            zGconfiguration error: .project. must not contain ..requires.. propertiesc                 ó.  — | dz  }|j                  t        |«      d¬«       t        j                  d|› d�t        j                  t        j
                  z  «      }t        j                  t        |¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)Nr   r$   r%   zinvalid pyproject.toml.*z.*rk   )
r3   r   ro   rp   ÚMrq   rm   rn   Ú
ValueErrorr	   )r?   r�   r‘   r8   Úpatterns        r    Útest_invalid_exampler–   6  sx   € ð Ð+Ñ+€IØ×Ñœ 'Ó*°WÐÔ=ä�j‰jÐ3°I°;¸bÐAÄ2Ç4Á4Ì"Ï$É$Á;ÓO€GÜ	�‰”z¨Ô	1ñ &Ü˜9Ô%÷&÷ &ñ &ús   Á6BÂBr7   )r   z[tool.something]
value = 42c                 óT   — | dz  }|j                  |d¬«       t        |«      i k(  sJ ‚y r�   ©r3   r	   ©r?   r7   r8   s      r    Ú
test_emptyrš   M  s5   € àÐ+Ñ+€IØ×Ñ˜¨'ÐÔ2ô ˜iÓ(¨BÒ.Ð.Ñ.r"   )ú'[project]
name = 'myproj'
version='42'
c                 óh   — | dz  }|j                  |d¬«       t        |«      }|d   d   d   du sJ ‚y)	zaBuilds with ``pyproject.toml`` should consider ``include-package-data=True`` as
    default.
    r   r$   r%   r-   r.   r0   TNr˜   r™   s      r    Ú$test_include_package_data_by_defaultr�   V  sI   € ð
 Ð+Ñ+€IØ×Ñ˜¨'ÐÔ2ä 	Ó*€FØ�&‰>˜,Ñ'Ð(>Ñ?À4ÑGÐGÑGr"   c                 óH  — dddœ}t         j                  j                  || ¬«       t        | «      5  t        j
                  j                  di d¬«      }ddd«       j                  «       d	k(  sJ ‚|j                  «       d
k(  sJ ‚|j                  du sJ ‚y# 1 sw Y   ŒDxY w)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›   z:__import__('setuptools').setup(include_package_data=False))r   úsetup.pyr   rŸ   r7   )Ú
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§   € ð GØPñ€Eô ‡K�K×Ñ�e HÐÔ-ä	ˆh‹ñ MÜ�~‰~×'Ñ'¨
°BÀ8Ð'ÓLˆ÷Mð �=‰=‹?˜hÒ&Ð&Ð&Ø×ÑÓ Ò%Ð%Ð%Ø×$Ñ$¨Ñ-Ð-Ñ-÷Mð Mús   ²#BÂB!c                 ó¼   — d}| dz  }|j                  t        |«      d¬«       t        j                  t        «      5  t        |«       ddd«       y# 1 sw Y   yxY w)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)r3   r   rm   rŠ   r   r	   r™   s      r    Útest_warn_tools_typorª   v  sX   € ð
€Fð Ð+Ñ+€IØ×Ñœ &Ó)°GÐÔ<ä	�‰Ô*Ó	+ñ &Ü˜9Ô%÷&÷ &ñ &ús   ½AÁA)(ro   Úconfigparserr   Úinspectr   Újaraco.pathr   rm   r4   r   r   r.   Úsetuptools.config.pyprojecttomlr   r   r   r	   r
   Úsetuptools.distr   Úsetuptools.errorsr   Údistutils.corer¢   r   r!   r;   r@   rw   rx   rH   rW   rR   rz   r�   r–   rš   r�   r¨   rª   rd   r"   r    ú<module>r²      sŒ  ðÛ 	Ý %Ý ã Û Û Ý ã ÷õ õ )Ý )ã ð;€ò|*ò:ò4,ð ‡�×ÑØà	ˆbˆ	Ø	�ˆØ	�˜f w°°Ð&8Ð9Ð:Ð;ðóñ/óð/ð  ˜\Ð*Ø˜Ð&ØÐ'Ð(ñ€÷Dñ D÷BH8ñ H8ðV ‡�×ÑØð	óñ5óð5ð ‡�×ÑØð	
ð
óñ&óð&ð ‡�×Ñ˜Ð#GÓHñ/ó Ið/ð ‡�×Ñ˜Ð#RÓSñHó TðHò.ó(&r"   