§ w<ˆj4Xãó’—ddlZddlZddlmZddlmZddlmZddlZ ddl Z ddl m Z ddl Z ddlmZddlmZmZddlmZdd lmZd d lmZd d lmZmZmZd d lmZddlZ Gd„d¦«Z!Gd„d¦«Z"Gd„d¦«Z#Gd„d¦«Z$Gd„d¦«Z%Gd„d¦«Z&d„Z'd„Z(d„Z)d„Z*d„Z+d„Z,d „Z-d!„Z.dS)"éN)Ú ConfigParser)Úproduct)Úcast)ÚPath)Úsdist)Úfind_package_pathÚfind_parent_package)Ú Distribution)ÚPackageDiscoveryErroré)Úquiet)Úget_sdist_membersÚget_wheel_membersÚrun)ÚDALScó—eZdZd„Zd„ZdS)ÚTestFindParentPackagecóЗ|dz  dd¬¦«|dz  ¦«|dz  ¦«gd¢}t|ddi|¦«d ksJ‚dS) Nzsrc/namespace/pkg/nestedT©Úexist_okÚparentsz$src/namespace/pkg/nested/__init__.pyzsrc/namespace/pkg/__init__.py)Ú namespaceú namespace.pkgznamespace.pkg.nestedÚÚsrcr©ÚmkdirÚtouchr )ÚselfÚtmp_pathÚpackagess úx/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/setuptools/tests/test_config_discovery.pyÚtest_single_packagez)TestFindParentPackage.test_single_packagesƒ€à Ð.Ñ .×5Ò5¸tÈTÐ5ÑRÔRÐRØ Ð:Ñ :×AÒAÑCÔCÐCØ Ð3Ñ 3×:Ò:Ñ<Ô<Ð<ØIÐIÐIˆÝ" 8¨b°%¨[¸(ÑCÔCÀÒVÐVÐVÐVÐVÐVócó²—gd¢}|D]:}|d|›�z  dd¬¦«|d|›d�z  ¦«Œ;t|ddi|¦«�J‚dS)N)ÚpkgÚpkg1Úpkg2úsrc/Trz /__init__.pyrrr)rr ÚmultipleÚnames r"Útest_multiple_toplevelz,TestFindParentPackage.test_multiple_toplevel!sŠ€ð+Ð*Ð*ˆØð ;ð ;ˆDØ ˜ ˜t˜ ˜ Ñ %× ,Ò ,°dÀDÐ ,Ñ IÔ IÐ IØ Ð1˜tÐ1Ð1Ð1Ñ 1× 8Ò 8Ñ :Ô :Ð :Ð :Ý" 8¨b°%¨[¸(ÑCÔCÐKÐKÐKÐKÐKr$N)Ú__name__Ú __module__Ú __qualname__r#r,©r$r"rrs:€€€€€ðWðWðWðLðLðLðLðLr$rc ó(—eZdZdZddidgdœdddiiddgid dgidd d giiiiid œ Zd dgddgddgdgdgdœZd„Zej  de  ¦«¦«d„¦«Z ej  de  ¦«¦«d„¦«Z e d¦«e d¦«e d¦«e d¦«dœZej  degd ¢dd ge  ¦«¦«¦«d!„¦«Zej  d"d#gdhfd$gdd%hfd&gdd'hfd(ghd)£fd*gdd+hfd,gdhfd-gdhfg¦«d.„¦«Zej  d/d0gd1gg¦«d2„¦«Zd3„Zd4„Zd5„Zd6S)7Ú TestDiscoverPackagesAndPyModulesz‹Make sure discovered values for ``packages`` and ``py_modules`` work similarly to explicit configuration for the simple scenarios. rrr&)Ú package_dirr!r3Úlibr!Ú py_modulesÚnszns.pkg) z explicit-srcz variation-libz explicit-flatzexplicit-single_modulezexplicit-namespacez automatic-srczautomatic-flatzautomatic-single_modulezautomatic-namespaceúsrc/pkg/__init__.pyzsrc/pkg/main.pyzlib/pkg/__init__.pyzlib/pkg/main.pyzpkg/__init__.pyz pkg/main.pyúpkg.pyzns/pkg/__init__.py)rr4ÚflatÚ single_modulercóp—| d¦«\}}}|j|}|j|}||fS)Nú-)Ú partitionÚFILESÚOPTIONS)rÚ circumstanceÚ_ÚlayoutÚfilesÚoptionss r"Ú _get_infoz*TestDiscoverPackagesAndPyModules._get_infoFs=€Ø#×-Ò-¨cÑ2Ô2‰ ˆˆ1ˆfØ” ˜6Ô"ˆØ”,˜|Ô,ˆØ�gˆ~Ðr$r@cóð‡—| |¦«\}}t|||¦«t||¦«\}}d„|jjD¦«}|D]Št ˆfd„|D¦«¦«sJ‚Œ dS)NcóN—g|]"}| tjd¦«‘Œ#S)ú/)ÚreplaceÚosÚsep©Ú.0Úfs r"ú zHTestDiscoverPackagesAndPyModules.test_sdist_filelist..Ss(€ÐGÐGÐG¨q�A—I’I�bœf cÑ*Ô*ÐGÐGÐGr$c3óB•K—|]}| ‰¦«V—ŒdS©N)Úendswith)rMrNÚfiles €r"ú zGTestDiscoverPackagesAndPyModules.test_sdist_filelist..Us/øèè€Ð:Ð:¨A�q—z’z $Ñ'Ô'Ð:Ð:Ð:Ð:Ð:Ð:r$)rEÚ_populate_project_dirÚ_run_sdist_programaticallyÚfilelistrCÚany) rr r@rCrDrAÚcmdÚmanifestrSs @r"Útest_sdist_filelistz4TestDiscoverPackagesAndPyModules.test_sdist_filelistLsšø€àŸš¨ Ñ5Ô5‰ˆˆwݘh¨¨wÑ7Ô7Ð7å+¨H°gÑ>Ô>‰ˆˆ3àGÐG°C´LÔ4FÐGÑGÔGˆØð ;ð ;ˆDÝÐ:Ð:Ð:Ð:°Ð:Ñ:Ô:Ñ:Ô:Ð :Ð :Ð:Ð :ð ;ð ;r$cóÚ—| |¦«\}}t|||¦«|dz  ¦«|dz  ¦«|dz  ¦«|dz  ¦«|dz  ¦«|dz  ¦«|dz  ¦«|dz  ¦«t |¦«t t | d ¦«¦«¦«}td ¦«td   |¦«¦«|t|¦«ksJ‚tt | d ¦«¦«¦«}td ¦«td   |¦«¦«d„|D¦«}||ksJ‚|D]}d|vsJ‚d|vsJ‚ŒdS)NÚbuildz build/libzbuild/bdist.linux-x86_64z build/bdist.linux-x86_64/file.pyzbuild/lib/__init__.pyzbuild/lib/file.pyÚdistz dist/file.pyú dist/*.tar.gzú~~~~~ sdist_members ~~~~~ú ú dist/*.whlú~~~~~ wheel_members ~~~~~cób—h|],}| dd¦« dd¦«’Œ-S©r)rzlib/©rIrLs r"ú z@TestDiscoverPackagesAndPyModules.test_project..ps6€ÐOÐOÐOÀA�a—i’i ¨Ñ+Ô+×3Ò3°F¸BÑ?Ô?ÐOÐOÐOr$) rErUrrÚ _run_buildrÚnextÚglobÚprintÚjoinÚsetr) rr r@rCrDÚ sdist_filesÚ wheel_filesÚ orig_filesrSs r"Ú test_projectz-TestDiscoverPackagesAndPyModules.test_projectWs€àŸš¨ Ñ5Ô5‰ˆˆwݘh¨¨wÑ7Ô7Ð7ð �GÑ ×"Ò"Ñ$Ô$Ð$Ø �KÑ ×&Ò&Ñ(Ô(Ð(Ø Ð.Ñ .×5Ò5Ñ7Ô7Ð7Ø Ð6Ñ 6×=Ò=Ñ?Ô?Ð?Ø Ð+Ñ +×2Ò2Ñ4Ô4Ð4Ø Ð'Ñ '×.Ò.Ñ0Ô0Ð0Ø �FÑ ×!Ò!Ñ#Ô#Ð#Ø �NÑ "×)Ò)Ñ+Ô+Ð+å�8ÑÔÐå'­¨X¯]ª]¸?Ñ-KÔ-KÑ(LÔ(LÑMÔMˆ Ý Ð)Ñ*Ô*Ð*Ý ˆd�iŠi˜ Ñ$Ô$Ñ%Ô%Ð%Ø�c %™jœjÒ(Ð(Ð(Ð(å'­¨X¯]ª]¸<Ñ-HÔ-HÑ(IÔ(IÑJÔJˆ Ý Ð)Ñ*Ô*Ð*Ý ˆd�iŠi˜ Ñ$Ô$Ñ%Ô%Ð%ØOÐOÈÐOÑOÔOˆ ؘjÒ(Ð(Ð(Ð(ð ð 'ð 'ˆDØ %Ð'Ð'Ð'Ð'Ø Ð&Ð&Ð&Ð&Ð&ð 'ð 'r$z‡ [metadata] name = myproj version = 0.0.0 [options] {param} = z¢ __import__('setuptools').setup( name="myproj", version="0.0.0", {param}=[] ) zÿ [build-system] requires = [] build-backend = 'setuptools.build_meta' [project] name = "myproj" version = "0.0.0" [tool.setuptools] {param} = [] zv [build-system] requires = [] build-backend = 'setuptools.build_meta' )ú setup.cfgúsetup.pyúpyproject.tomlútemplate-pyproject.toml)Ú config_fileÚparamr@)rrrsrtcóÔ—|j|gd¢z}t||i¦«|dkr| dd¦«}n)|jd}|dz  |d¬¦«|}|j| |¬¦«}||z  |d¬¦«t |i¦«} t| |¦«gksJ‚d d d œ|} t| | ¦«�J‚dS) N)zmod.pyzother.pyr7rtrAr<ruúutf-8©Úencoding)rwr!r5)r5r!)r>rUrIÚPURPOSEFULLY_EMPYÚ write_textÚformatÚ _get_distÚgetattr) rr rvrwr@rCÚtemplate_paramÚ pyprojectÚconfigr^Úothers r"Útest_purposefully_emptyz8TestDiscoverPackagesAndPyModules.test_purposefully_empty£s€ð” ˜<Ô(Ð+XÐ+XÐ+XÑXˆÝ˜h¨¨rÑ2Ô2Ð2à Ð*Ò *Ð *Ø"Ÿ]š]¨3°Ñ4Ô4ˆNˆNðÔ.Ð/HÔIˆIØ Ð(Ñ (× 4Ò 4°YÈÐ 4Ñ QÔ QÐ QØ"ˆNàÔ'¨ Ô4×;Ò;À.Ð;ÑQÔQˆØ �KÑ ×+Ò+¨F¸WÐ+ÑEÔEÐE嘠2Ñ&Ô&ˆõ�t˜UÑ#Ô# rÒ)Ð)Ð)Ð)Ø)°|ÐDÐDÀUÔKˆÝ�t˜UÑ#Ô#Ð+Ð+Ð+Ð+Ð+r$)Ú extra_filesÚpkgszvenv/bin/simulate_venvzpkg-stubs/__init__.pyiz pkg-stubszother-stubs/__init__.pyiz other-stubsz namespace-stubs/pkg/__init__.pyi>únamespace-stubs.pkgr&únamespace-stubsz&namespace-stubs/pkg-stubs/__init__.pyir‰z_hidden/file.pyznews/finalize.pycóœ—|jd|z}t||i¦«t|i¦«}t|j¦«|ksJ‚dS)Nr9)r>rUrrmr!)rr r†r‡rCr^s r"Ú!test_flat_layout_with_extra_fileszBTestDiscoverPackagesAndPyModules.test_flat_layout_with_extra_filesÁsW€ð*” ˜6Ô" [Ñ0ˆÝ˜h¨¨rÑ2Ô2Ð2ݘ 2Ñ&Ô&ˆÝ�4”=Ñ!Ô! TÒ)Ð)Ð)Ð)Ð)Ð)r$r†zother/__init__.pyzother/finalize.pycóЗ|jd|z}t||i¦«tjtd¬¦«5t |i¦«ddd¦«dS#1swxYwYdS)Nr9úmultiple (packages|modules)©Úmatch©r>rUÚpytestÚraisesr r)rr r†rCs r"Ú+test_flat_layout_with_dangerous_extra_fileszLTestDiscoverPackagesAndPyModules.test_flat_layout_with_dangerous_extra_filesÛs²€ð” ˜6Ô" [Ñ0ˆÝ˜h¨¨rÑ2Ô2Ð2Ý Œ]Õ0Ð8UÐ VÑ VÔ Vð $ð $Ý �h Ñ #Ô #Ð #ð $ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s½AÁAÁ"Acó —|jddgz}t||i¦«t|i¦«}t|j¦«dhksJ‚dS)Nr:zinvalid-module-name.pyr&)r>rUrrmr5)rr rCr^s r"Ú#test_flat_layout_with_single_modulezDTestDiscoverPackagesAndPyModules.test_flat_layout_with_single_moduleès[€Ø” ˜?Ô+Ð/GÐ.HÑHˆÝ˜h¨¨rÑ2Ô2Ð2ݘ 2Ñ&Ô&ˆÝ�4”?Ñ#Ô#¨ wÒ.Ð.Ð.Ð.Ð.Ð.r$cóÒ—|jddgz}t||i¦«tjtd¬¦«5t |i¦«ddd¦«dS#1swxYwYdS)Nr:zvalid_module_name.pyr�rŽr�)rr rCs r"Ú&test_flat_layout_with_multiple_moduleszGTestDiscoverPackagesAndPyModules.test_flat_layout_with_multiple_modulesîs´€Ø” ˜?Ô+Ð/EÐ.FÑFˆÝ˜h¨¨rÑ2Ô2Ð2Ý Œ]Õ0Ð8UÐ VÑ VÔ Vð $ð $Ý �h Ñ #Ô #Ð #ð $ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $s¾AÁA Á#A có¸—ddlm}d}|dz  t|¦«d¬¦«|dz  ¦«t j ¦« |¦«5|  d¦«d d d ¦«n #1swxYwYtt|  d ¦«¦«¦«}d|vsJ‚d S) zRegression for issue 3692r)Ú build_metaz%[project] name = "test" version = "1"rtryrzzfoo.pyú.Nz*.whl) Ú setuptoolsr™r}rrÚjaracoÚpathÚDirectoryStackÚcontextÚ build_wheelrrirj)rr r™r‚ros r"Ú%test_py_modules_when_wheel_dir_is_cwdzFTestDiscoverPackagesAndPyModules.test_py_modules_when_wheel_dir_is_cwdôs€à)Ð)Ð)Ð)Ð)Ð)à=ˆ Ø Ð$Ñ $×0Ò0µ°i±´È7Ð0ÑSÔSÐSØ �HÑ ×#Ò#Ñ%Ô%Ð%Ý Œ[× 'Ò 'Ñ )Ô )× 1Ò 1°(Ñ ;Ô ;ð (ð (Ø × "Ò " 3Ñ 'Ô 'Ð 'ð (ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ(­¨X¯]ª]¸7Ñ-CÔ-CÑ(DÔ(DÑEÔEˆ ؘ;Ð&Ð&Ð&Ð&Ð&Ð&sÁ8BÂBÂ!BN)r-r.r/Ú__doc__r?r>rEr‘ÚmarkÚ parametrizeÚkeysr[rqrr|rr…r‹r“r•r—r¡r0r$r"r2r2+s €€€€€ððð *,¨U¨ À%ÀÐIÐIà ˜B ˜;ð ð% u gÐ.Ø#/°%°Ð"9Ø)¨D°(Ð+;Ð<ØØØ#%Ø!ð ð €Gð&Ð'8Ð9Ø%Ð'8Ð9Ø" MÐ2Ø"˜Ø*Ð+ð  ð €Eðððð  „[×Ò˜^¨W¯\ª\©^¬^Ñ<Ô<ð;ð;ñ=Ô<ð;ð „[×Ò˜^¨W¯\ª\©^¬^Ñ<Ô<ð'ð'ñ=Ô<ð'ðB�Tð ñ  ô  ð�Dð ñ ô ð˜$ð ñ  ô  ð$( 4ð ñ$ ô$ ðE)ð)ÐðV „[×ÒØ0ØˆØ 7Ð 7Ð 7Ø ˜Ð &Ø �JŠJ‰LŒLñ ô ñôð,ð,ñôð,ð, „[×ÒØà&Ð '¨%¨Ð 1Ø&Ð '¨%°Ð)=Ð >Ø(Ð )¨E°=Ð+AÐ Bð4Ð4ØAÐAÐAð ð:Ð:ØÐ)Ð*ð ð  Ð  5 'Ð *Ø Ð ! E 7Ð +ð ñôð(*ð*ñ)ôð(*ð  „[×ÒØà Ð !Ø Ð !ð ñôð$ð$ñôð$ð /ð/ð/ð $ð$ð$ð 'ð 'ð 'ð 'ð 'r$r2có¦—eZdZdZdgdgddgddgdgd gd œZej d e ¦«¦«d „¦«Z d „Z dS)Ú TestNoConfigz0.0.0z src/pkg1.pyzsrc/pkg2/__init__.pyzsrc/pkg3/__init__.pyzsrc/pkg3-stubs/__init__.pyzpkg4/__init__.pyzpkg4-stubs/__init__.pyzsrc/ns/nested/pkg1/__init__.pyzns/nested/pkg2/__init__.py)r'r(Úpkg3Úpkg4zns.nested.pkg1zns.nested.pkg2Úexamplecó’—t||j|i¦«t|i¦«}| ¦«|ksJ‚dSrQ)rUÚEXAMPLESrÚget_name)rr rªr^s r"Útest_discover_namezTestNoConfig.test_discover_namesI€å˜h¨¬ °gÔ(>ÀÑCÔCÐCݘ 2Ñ&Ô&ˆØ�}Š}‰Œ 'Ò)Ð)Ð)Ð)Ð)Ð)r$có–—dg}t||i¦«t|d¦«|d|j›d�z }| ¦«sJ‚dS)Nzsrc/ns/nested/pkg/__init__.pyú--sdistzdist/ns_nested_pkg-z.tar.gz)rUrhÚDEFAULT_VERSIONÚis_file)rr rCÚ dist_files r"Útest_build_with_discovered_namez,TestNoConfig.test_build_with_discovered_namesc€Ø0Ð1ˆÝ˜h¨¨rÑ2Ô2Ð2Ý�8˜YÑ'Ô'Ð'àÐR°TÔ5IÐRÐRÐRÑRˆ Ø× Ò Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r$N) r-r.r/r±r¬r‘r£r¤r¥r®r´r0r$r"r§r§s•€€€€€Ø€Oð�Ø'Ð(Ø'Ð)EÐFØ#Ð%=Ð>Ø;Ð<Ø7Ð8ð ð€Hð „[×Ò˜Y¨¯ ª ©¬Ñ8Ô8ð*ð*ñ9Ô8ð*ð #ð#ð#ð#ð#r$r§cór—eZdZej ddifddddidœfg¦«d„¦«Zd„Zd S) ÚTestWithAttrDirective)ÚfolderÚoptsrr4zfind:Úwhere)r!ú packages.findcól—|›d�dg}t|||¦«|dz  d¬¦«}|dddiidd|zi}tj ||¬ ¦«t |i¦«}| ¦«dksJ‚| ¦«d ksJ‚|jsJ‚td|j|¦«}tj  |¦«sJ‚|t|¦«  ¦«vsJ‚t|d ¦«|d z } |  ¦«sJ‚dS) Nz/pkg/__init__.pyrrryrzr&ú __init__.pyú version = 42z'[metadata] version = attr: pkg.version ©ÚprefixÚ42r°zdist/pkg-42.tar.gz)rUÚ read_textrœr�r]rr­Ú get_versionr3rrJÚexistsrÚpartsrhr²) rr r·r¸rCrƒÚ overwriter^Ú package_pathr³s r"Útest_setupcfg_metadataz,TestWithAttrDirective.test_setupcfg_metadatasb€ðÐ,Ð,Ð,¨kÐ:ˆÝ˜h¨¨tÑ4Ô4Ð4à˜[Ñ(×3Ò3¸WÐ3ÑEÔEˆà �U˜]¨NÐ;Ð<Ø ÐDÀvÑMð ˆ õ Œ ×Ò˜)¨HÐÑ5Ô5Ð5嘠2Ñ&Ô&ˆØ�}Š}‰Œ %Ò'Ð'Ð'Ð'Ø×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØÔÐÐÐÝ(¨°Ô0@À(ÑKÔKˆ ÝŒw�~Š~˜lÑ+Ô+Ð+Ð+Ð+Ø�˜lÑ+Ô+×1Ò1Ñ3Ô3Ð3Ð3Ð3Ð3å�8˜YÑ'Ô'Ð'ØÐ3Ñ3ˆ Ø× Ò Ñ"Ô"Ð"Ð"Ð"Ð"Ð"r$cóð—t|dgi¦«dddiiddœ}tj ||¬¦«t |i¦«}| ¦«dksJ‚|jd d iksJ‚dS) Nr7r&r¼r½zh[project] name = 'pkg' dynamic = ['version'] [tool.setuptools.dynamic] version = {attr = 'pkg.version'} ©rrtr¾rÀrr)rUrœr�r]rrÂr3)rr rÅr^s r"Útest_pyproject_metadataz-TestWithAttrDirective.test_pyproject_metadata<s €Ý˜hÐ)>Ð(?ÀÑDÔDÐDð˜M¨>Ð:Ð;ðPð ð ˆ õ Œ ×Ò˜)¨HÐÑ5Ô5Ð5嘠2Ñ&Ô&ˆØ×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØÔ B¨ ;Ò.Ð.Ð.Ð.Ð.Ð.r$N)r-r.r/r‘r£r¤rÇrÊr0r$r"r¶r¶su€€€€€Ø „[×ÒØà �BˆKØ  ¸GÀUÐ;KÐLÐLÐ Mð ñôð#ð#ñôð#ð./ð/ð/ð/ð/r$r¶có —eZdZd„Zd„Zd„ZdS)ÚTestWithCExtensioncó‚—gd¢}t||i¦«d}|dz  t|¦«d¬¦«dS)N) zbenchmarks/file.pyz docs/Makefilezdocs/requirements.txtzdocs/source/conf.pyz proj/header.hz proj/file.pyz py/proj.cppz py/other.cppz py/file.pyz py/py.typedzpy/tests/test_proj.pyz README.rsta^ from setuptools import Extension, setup ext_modules = [ Extension( "proj", ["py/proj.cpp", "py/other.cpp"], include_dirs=["."], language="c++", ), ] setup(ext_modules=ext_modules) rsryrz©rUr}r)rr rCÚ setup_scripts r"Ú _simulate_package_with_extensionz3TestWithCExtension._simulate_package_with_extensionNs\€ð  ð  ð  ˆõ ˜h¨¨rÑ2Ô2Ð2ð  ˆ ð �JÑ ×*Ò*­4° Ñ+=Ô+=ÈÐ*ÑPÔPÐPÐPÐPr$cóä—| |¦«d}|dz  t|¦«d¬¦«d}|dz  t|¦«d¬¦«t|i¦«}| ¦«dksJ‚| ¦«dksJ‚|j�J‚|j�J‚t|j ¦«d ksJ‚|j d j dksJ‚d S) zˆEnsure that auto-discovery is not triggered when the project is based on C-extensions only, for backward compatibility. zr [build-system] requires = [] build-backend = 'setuptools.build_meta' rtryrzzQ [metadata] name = proj version = 42 rrÚprojrÀNr r) rÐr}rrr­rÂr5r!ÚlenÚ ext_modulesr+)rr r‚Úsetupcfgr^s r"Ú*test_skip_discovery_with_setupcfg_metadataz=TestWithCExtension.test_skip_discovery_with_setupcfg_metadataos€ð ×-Ò-¨hÑ7Ô7Ð7ð ˆ ð Ð$Ñ $×0Ò0µ°i±´È7Ð0ÑSÔSÐSð ˆð �KÑ ×+Ò+­D°©N¬NÀWÐ+ÑMÔMÐM嘠2Ñ&Ô&ˆØ�}Š}‰Œ &Ò(Ð(Ð(Ð(Ø×ÒÑ!Ô! TÒ)Ð)Ð)Ð)ØŒÐ&Ð&Ð&ØŒ}Ð$Ð$Ð$Ý�4Ô#Ñ$Ô$¨Ò)Ð)Ð)Ð)ØÔ Ô"Ô'¨6Ò1Ð1Ð1Ð1Ð1Ð1r$có —| |¦«d}|dz  t|¦«d¬¦«tjt d¬¦«5t |i¦«ddd¦«dS#1swxYwYdS)aŽWhen opting-in to pyproject.toml metadata, auto-discovery will be active if the package lists C-extensions, but does not configure py-modules or packages. This way we ensure users with complex package layouts that would lead to the discovery of multiple top-level modules/packages see errors and are forced to explicitly set ``packages`` or ``py-modules``. zT [project] name = 'proj' version = '42' rtryrzr�rŽN)rÐr}rr‘r’r r)rr r‚s r"Ú0test_dont_skip_discovery_with_pyproject_metadatazCTestWithCExtension.test_dont_skip_discovery_with_pyproject_metadata‹sÑ€ð ×-Ò-¨hÑ7Ô7Ð7ð ˆ ð Ð$Ñ $×0Ò0µ°i±´È7Ð0ÑSÔSÐSÝ Œ]Õ0Ð8UÐ VÑ VÔ Vð $ð $Ý �h Ñ #Ô #Ð #ð $ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð $ð $sÁA8Á8A<Á?A<N)r-r.r/rÐrÖrØr0r$r"rÌrÌMsE€€€€€ðQðQðQðB2ð2ð2ð8$ð$ð$ð$ð$r$rÌcó@—eZdZd„ZdZdZdZej  ddde e¦«ifdde e¦«ifd de e¦«ifd de e¦«ifd de e¦«e d ¦«zifd de e¦«e d ¦«zifg¦«d „¦«Z d S)ÚTestWithPackageDatacó–—|›d�|›d�|›d�g}t||i¦«d}|dz  t|¦«d¬¦«dS)Nz/proj/__init__.pyú/proj/file1.txtú/proj/nested/file2.txtz/ global-include *.py *.txt z MANIFEST.inryrzrÎ)rr Úsrc_rootrCrZs r"Ú!_simulate_package_with_data_filesz5TestWithPackageData._simulate_package_with_data_files st€àÐ *Ð *Ð *ØÐ (Ð (Ð (ØÐ /Ð /Ð /ð ˆõ ˜h¨¨rÑ2Ô2Ð2ð ˆð �MÑ !×-Ò-­d°8©n¬nÀwÐ-ÑOÔOÐOÐOÐOr$zd [metadata] name = proj version = 42 [options] include_package_data = True z8 [project] name = "proj" version = "42" z: [tool.setuptools] package-dir = {"" = "src"} )rÞrCršrrrtrzÞ packages = find: package_dir = =src [options.packages.find] where = src zv [tool.setuptools] package-dir = {"" = "src"} cód—tj |t|¦«¬¦«| ||¦«t j |›d�¦« t jd¦«t j |›d�¦« t jd¦«h}t|¦«tt|  d¦«¦«¦«}td¦«td |¦«¦«||ksJ‚tt|  d¦«¦«¦«}td ¦«td |¦«¦«d „|D¦«}||ksJ‚d S) zq Make sure auto-discovery does not affect package include_package_data. See issue #3196. r¾rÜrHrÝr_r`rarbrccób—h|],}| dd¦« dd¦«’Œ-SrerfrLs r"rgz@TestWithPackageData.test_include_package_data..üs6€ÐRÐRÐRÀA�a—i’i ¨Ñ+Ô+×3Ò3°F¸BÑ?Ô?ÐRÐRÐRr$N)rœr�r]ÚstrrßrJÚnormpathrIrKrhrrirjrkrlr)rr rÞrCÚexpectedrnrorps r"Útest_include_package_dataz-TestWithPackageData.test_include_package_dataÀs�€õT Œ ×Ò˜%­¨H© ¬ ÐÑ6Ô6Ð6Ø ×.Ò.¨x¸ÑBÔBÐBõ ŒG× Ò  Ð9Ð9Ð9Ñ :Ô :× BÒ BÅ2Ä6È3Ñ OÔ OÝ ŒG× Ò  Ð@Ð@Ð@Ñ AÔ A× IÒ IÍ"Ì&ÐRUÑ VÔ Vð ˆõ �8ÑÔÐå'­¨X¯]ª]¸?Ñ-KÔ-KÑ(LÔ(LÑMÔMˆ Ý Ð)Ñ*Ô*Ð*Ý ˆd�iŠi˜ Ñ$Ô$Ñ%Ô%Ð%ؘhÒ&Ð&Ð&Ð&å'­¨X¯]ª]¸<Ñ-HÔ-HÑ(IÔ(IÑJÔJˆ Ý Ð)Ñ*Ô*Ð*Ý ˆd�iŠi˜ Ñ$Ô$Ñ%Ô%Ð%ØRÐRÈÐRÑRÔRˆ ؘjÒ(Ð(Ð(Ð(Ð(Ð(r$N) r-r.r/rßÚEXAMPLE_SETUPCFGÚEXAMPLE_PYPROJECTÚPYPROJECT_PACKAGE_DIRr‘r£r¤rrår0r$r"rÚrÚŸsI€€€€€ð Pð Pð PðÐðÐð Ðð  „[×ÒØà �;  Ð%5Ñ 6Ô 6Ð7Ð 8Ø Ð# T TÐ*;Ñ%<Ô%<Ð=Ð >Ø �[ $ $Ð'7Ñ"8Ô"8Ð9Ð :Ø Ð% t tÐ,=Ñ'>Ô'>Ð?Ð @àà  Ð&6Ñ!7Ô!7Ø�dðñ ô ñ "ð ð ð"à$ d dÐ+<Ñ&=Ô&=Ø�dðñôñ'ðð ð+! ñ$ô$ðJ)ð)ñK$ô$ðJ)ð)ð)r$rÚcóÀ—gd¢}t||i¦«ti¦«}t¦«|_| ¦«|j�J‚|j�J‚dS)N)zdir1/__init__.pyzdir2/__init__.pyzfile.py)rUr ÚobjectÚ configurationÚ set_defaultsr5r!)r rCr^s r"Ú(test_compatible_with_numpy_configurationríst€ð ð ð €Eõ ˜( E¨2Ñ.Ô.Ð.Ý ˜Ñ Ô €DÝ™œ€DÔØ×ÒÑÔÐØ Œ?Ð "Ð "Ð "Ø Œ=Ð Ð Ð Ð Ð r$cóú—tj ddi¦«ti¦«}dg|_| ¦«| ¦«| ¦«dksJ‚dS)Nr8rz--namer&)rœr�r]r Ú script_argsrìÚparse_command_liner­)Ú tmpdir_cwdr^s r"Ú$test_name_discovery_doesnt_break_cliròsv€Ý „K×Ò�x �nÑ%Ô%Ð%Ý ˜Ñ Ô €DØ �z€DÔØ×ÒÑÔÐØ×ÒÑÔÐØ �=Š=‰?Œ?˜eÒ #Ð #Ð #Ð #Ð #Ð #r$c󀇇—dddiitd¦«dœ}tj |¦«t i¦«Š‰jjŠˆˆfd„}| ‰jd|¦«‰ ¦«‰  ¦«dksJ‚t‰j ¦«dhksJ‚d S) a According to #3545 it seems that ``name`` discovery is running, even when the project already explicitly sets it. This seems to be related to parsing of dynamic versions (via ``attr`` directive), which requires the auto-discovery of ``package_dir``. r&r¼z__version__ = 42 zæ [project] name = "myproj" # purposefully different from package name dynamic = ["version"] [tool.setuptools.dynamic] version = {"attr" = "pkg.__version__"} rÉcóP•—‰¦«‰ ¦«dksJ‚dS)NÚmyproj)r­)r^Úorig_analyse_names€€r"Úspy_analyse_namezJtest_preserve_explicit_name_with_dynamic_version..spy_analyse_name/s3ø€ð ÐÑÔÐØ�}Š}‰Œ (Ò*Ð*Ð*Ð*Ð*Ð*r$Ú analyse_namerÀN) rrœr�r]r rìrøÚsetattrÚparse_config_filesrÂrmr!)rñÚ monkeypatchrCr÷r^rös @@r"Ú0test_preserve_explicit_name_with_dynamic_versionrüsõøø€ð �MÐ#7Ð8ð õð ñ ô ð ð €Eõ „K×Ò�eÑÔÐÝ ˜Ñ Ô €DØÔ)Ô6Ðð+ð+ð+ð+ð+ð+ð ×Ò˜Ô)¨>Ð;KÑLÔLÐLØ×ÒÑÔÐØ × Ò Ñ Ô  Ò %Ð %Ð %Ð %Ý ˆtŒ}Ñ Ô  % Ò (Ð (Ð (Ð (Ð (Ð (r$cóü‡—ddddœ}tj |‰¬¦«t‰|¦«ˆfd„|D¦«}|D]2}|j dd¬¦«| ¦«Œ3dS) Nz$import setuptools setuptools.setup()z# Example PackagezCopyright (c) 2018)rsz README.mdÚLICENSEr¾c3ó"•K—|] }‰|z V—Œ dSrQr0)rMrNÚroots €r"rTz(_populate_project_dir..Fs'øèè€Ð %Ð %˜!ˆT�A‰XÐ %Ð %Ð %Ð %Ð %Ð %r$Tr)rœr�r]Ú_write_setupcfgÚparentrr)rrCrDÚbasicÚpathsr�s` r"rUrU;s£ø€ð <Ø(Ø'ð ð €Eõ  „K×Ò�e DÐÑ)Ô)Ð)Ý�D˜'Ñ"Ô"Ð"Ø %Ð %Ð %Ð %˜uÐ %Ñ %Ô %€EØððˆØ Œ ×Ò 4°ÐÑ6Ô6Ð6Ø � Š ‰ Œ ˆ ˆ ððr$cóP—|std¦«dSt¦«}| d¦«| ¦«D]ã\}}|dkr7| d|›�¦«|d|›� |¦«ŒBt |t ¦«rd |¦«|d|<Œvt |t¦«r@d d„| ¦«D¦«¦«}d|z|d|<ŒËt|¦«|d|<Œät|dz d d ¬ ¦«5}|  |¦«ddd¦«n #1swxYwYtd ¦«t|dz   d ¬ ¦«¦«dS) Nz~~~~~ **NO** setup.cfg ~~~~~rDrºzoptions.z, rac3ó,K—|]\}}d|›d|›�V—ŒdS)ú z = Nr0)rMÚkÚvs r"rTz"_write_setupcfg..Ys2èè€Ð!KÐ!K±T°Q¸ . q . .¨Q . .Ð!KÐ!KÐ!KÐ!KÐ!KÐ!Kr$rrÚwryrzz~~~~~ setup.cfg ~~~~~) rkrÚ add_sectionÚitemsÚupdateÚ isinstanceÚlistrlÚdictrâÚopenÚwriterÁ)rrDrÕÚkeyÚvalueÚ str_valuerNs r"rrLsó€Ø ðÝ Ð,Ñ-Ô-Ð-؈݉~Œ~€HØ ×Ò˜Ñ#Ô#Ð#Ø—m’m‘o”oð 2ð 2‰ ˆˆUØ �/Ò !Ð !Ø × Ò Ð!1¨CÐ!1Ð!1Ñ 2Ô 2Ð 2Ø Ð% Ð%Ð%Ô &× -Ò -¨eÑ 4Ô 4Ð 4Ð 4Ý ˜�tÑ $Ô $ð 2Ø'+§y¢y°Ñ'7Ô'7ˆH�YÔ  Ñ $Ð $Ý ˜�tÑ $Ô $ð 2ØŸ š Ð!KÐ!K¸U¿[º[¹]¼]Ð!KÑ!KÔ!KÑKÔKˆIØ'+¨iÑ'7ˆH�YÔ  Ñ $Ð $å'*¨5¡z¤zˆH�YÔ  Ñ $Ð $Ý ˆd�[Ñ  #°Ð 8Ñ 8Ô 8ð¸AØ�Š�qÑÔÐðððñôððððððøøøððððå Ð !Ñ"Ô"Ð"Ý ˆ4�+Ñ × (Ò (°'Ð (Ñ :Ô :Ñ;Ô;Ð;Ð;Ð;sÅE&Å&E*Å-E*cój—tjdddg|¢t|¦«‘}t|ddi¬¦«S)Nz-mr]z--no-isolationÚDISTUTILS_DEBUGr)Úenv)ÚsysÚ executablerâr)r�ÚflagsrYs r"rhrhcs<€Ý Œ>˜4 Ð*:Ð N¸UÐ NÅCÈÁIÄIÐ N€CÝ ˆsÐ*¨BÐ/Ð 0Ñ 0Ô 0Ð0r$c ó.—d tj |¦«¦«}|dz }| ¦«r]t |¦«5t ttj   did¬¦«¦«}ddd¦«n #1swxYwYnt|¦«}||_ d|_ t |¦«5|  ¦«ddd¦«n #1swxYwY| ¦«|S)NrHrsÚinit)Ú stop_after)rlrJr�ÚsplitrÃrrr Ú distutilsÚcoreÚ run_setuprÞÚ script_namerúrì)Ú dist_pathÚattrsrÚscriptr^s r"rrhss€Ø �8Š8•B”G—M’M )Ñ,Ô,Ñ -Ô -€Dà ˜Ñ #€FØ ‡}‚}�„ð#Ý �)‰_Œ_ð ð ÝÝÝ”×(Ò(¨°RÀFÐ(ÑKÔKñôˆDð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øõ ˜EÑ"Ô"ˆà€D„MØ!€DÔÝ ˆi‰Œð"ð"Ø ×ÒÑ!Ô!Ð!ð"ð"ð"ñ"ô"ð"ð"ð"ð"ð"ð"øøøð"ð"ð"ð"ð ×ÒÑÔÐØ €Ks$Á6BÂB!Â$B!ÃC6Ã6C:Ã=C:cóf—t||¦«}t|¦«}| ¦«|jjs|jjsJ‚t ¦«5t|¦«5| ¦«ddd¦«n #1swxYwYddd¦«n #1swxYwY||fSrQ) rrÚensure_finalizedÚ distributionr!r5r rr)r$r%r^rYs r"rVrV~s#€Ý �Y Ñ &Ô &€DÝ �‰+Œ+€CØ×ÒÑÔÐØ Ô Ô $ÐC¨Ô(8Ô(CÐCÐCÐ Cå ‰Œðð•$�y‘/”/ððØ �Љ Œ ˆ ðððñôððððððøøøðððððððñôððððððøøøððððð �ˆ9Ðs6ÁB$Á,B  B$ B ÂB$ÂB ÂB$Â$B(Â+B()/rJrÚ configparserrÚ itertoolsrÚtypingrÚ jaraco.pathrœr‘r�rr›Úsetuptools.command.sdistrÚsetuptools.discoveryrr Úsetuptools.distr Úsetuptools.errorsr Úcontextsr Úintegration.helpersrrrÚtextwraprÚdistutils.corer rr2r§r¶rÌrÚríròrürUrrhrrVr0r$r"úr6s³ðØ € € € Ø € € € Ø%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐØÐÐÐÐÐàÐÐÐØ € € € ØÐÐÐÐÐàÐÐÐØ*Ð*Ð*Ð*Ð*Ð*ØGÐGÐGÐGÐGÐGÐGÐGØ(Ð(Ð(Ð(Ð(Ð(Ø3Ð3Ð3Ð3Ð3Ð3àÐÐÐÐÐØJÐJÐJÐJÐJÐJÐJÐJÐJÐJØÐÐÐÐÐàÐÐÐðLðLðLðLðLñLôLðLð&T'ðT'ðT'ðT'ðT'ñT'ôT'ðT'ðn#ð#ð#ð#ð#ñ#ô#ð#ð6-/ð-/ð-/ð-/ð-/ñ-/ô-/ð-/ð`O$ðO$ðO$ðO$ðO$ñO$ôO$ðO$ðd^)ð^)ð^)ð^)ð^)ñ^)ô^)ð^)ðB !ð !ð !ð$ð$ð$ð!)ð!)ð!)ðHððð"<ð<ð<ð.1ð1ð1ð ððð, ð ð ð ð r$