2Et9 dUdZddlmZddlZddlZddlmZddlmZddl m Z m Z ddl m Z ddlmZdd lmZdd lmZmZmZmZmZd d lmZd d lmZd dlmZmZd dlm Z d dl!m"Z"m#Z#erddl$m%Z%ddl&m'Z'ddl(m)Z)ddl*m+Z+eiZ,de-d<ee.e/e.e.ffZ0de-d<edeeedfgdfZ1de-d<edZ2ej3e4Z5dd"Z6dd$Z7dd%Z8dd'Z9dd*Z:dd.Z;d/d0d1d2Zdd:Z?dd>Z@dd?ZAdd@ZBddBZCddCZDddEZEddGZFddHZGddIZHddKZIe,fddNZJddRZKddTZLddXZMddZZNdd\ZOdd]ZPdd`ZQdaZRdbZSe>e?e e@dcde e@dedeAeCeDeBdfZTdge-dh<didjiZUdkdliZVe eQdme eQdne eQdodpZWhdqZXdreEiZYidSeRdsdteRdudveRdwdxeRdydzeSd{d|d}eSd~ddeSdddeSdddeRddeRddeRddeNdjeOdePdeRddeRdZZdej[ej[ej[ej[ej\ej\ej\ej\ej[ej\d Z]de-d<Gdde#Z^dS)akTranslation layer between pyproject config and setuptools distribution and metadata objects. The distribution and metadata objects are modeled after (an old version of) core metadata, therefore configs in the format specified for ``pyproject.toml`` need to be processed before being applied. **PRIVATE MODULE**: API reserved for setuptools internal usage only. ) annotationsN)Mapping)Address)partialreduce)cleandoc)chain)MappingProxyType) TYPE_CHECKINGAnyCallableTypeVarUnion)_static)StrPath)InvalidConfigErrorRemovedConfigError Extension)SetuptoolsDeprecationWarningSetuptoolsWarning) TypeAliasmetadata Distribution) _OptionsListrEMPTYr_ProjectReadmeValuer_Correspondence_Tdistconfigdictfilenamerreturnc|s|Stj|pd}t|||t |||tj}tj| ||| tj|n#tj|wxYw|S)z=Apply configuration dict read with :func:`read_configuration`.) ospathdirname_apply_project_table_apply_tool_tablegetcwdchdir_finalize_requires_finalize_license_expression_finalize_license_files)r#r$r&root_dircurrent_directorys x/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.pyapplyr7.s  wx((/CHvx000dFH--- HX$ !!! ))+++ $$&&& "####"#### Ks 0i|]\}}|tj|S)rattempt_conversion.0kvs r6 z(_apply_project_table..Js)VVV$!QQ2155VVV)getitems_handle_missing_dynamic_unify_entry_pointsjson_compatible_keyPYPROJECT_CORRESPONDENCEcallable _set_config) r#r$r4 orig_config project_tablefieldvaluenorm_keycorresps r6r-r-Es**Y++K VV+BSBSBUBUVVVMD-000 &&&%++--.. u&u--*..xBB G   . GD% * * * * gu - - - - ..rBc|didi}|sdSd|vrCd|divrtdd}tjdd|d |D]\}}t |}|t vrQtt |}d |d } td t| |gt||}t||} t| r | ||t|| |t|||dS)Ntool setuptoolsz license-filesr9zS'project.license-files' is defined already. Remove 'tool.setuptools.license-files'.z,guides/writing-pyproject-toml/#license-fileszt'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0).'https://packaging.python.org/en/latest/irsee_urldue_datez, The parameter `tool.setuptools.zZ` was long deprecated and has been removed from `pyproject.toml`.  )rCrremitrDrGTOOL_TABLE_REMOVALSrrjoinTOOL_TABLE_RENAMESTOOL_TABLE_CORRESPONDENCErIrJ_copy_command_options) r#r$r& tool_table pypa_guidesrMrNrO suggestionmsgrPs r6r.r.WsFB''++L"==J *$$ fjjB77 7 7$:  E $) IKkKK"     #((**.. u&u-- * * *!"5h"?@@J,1C%TYY z/J%K%KLL L%))(H==+//(CC G   . GD% gu - - - -&$11111rBrLc&t|dg}tD]S\}}||vsJ||vsF||}|r9t||t |||<TdS)zJBe temporarily forgiving with ``dynamic`` fields not listed in ``dynamic``dynamicrMrNN)setrC_PREVIOUSLY_DEFINEDrD_MissingDynamicr[_RESET_PREVIOUSLY_DEFINED)r#rLrfrMgetterrNs r6rErEs-##Ir2233G,2244LL v&&%7*:*:F4LLE L$$5$>>>'@'D'DU'K'K e$ LLrBkeystrcR|ddS)z1As defined in :pep:`566#json-compatible-metadata`-_)lowerreplace)rms r6rGrGs 99;;  sC ( ((rBrMrNr c6t|t||}t|jd|d}|r ||dSt |j|s |t vrt|j||dSt|||dS)Nset_) _PREPROCESSrC_noopgetattrrhasattrSETUPTOOLS_PATCHESsetattr)r#rMrNvalsetters r6rJrJs //% ' 'e 4 4C T]N5NND 9 9F "s  & &"%3E*E*E uc*****eS!!!!!rBz text/markdownz text/x-rstz text/plain)z.mdz.rstz.txtfile str | Nonecdtj|\}}|sdS|tvrt jt|SddtD}d|d}td|d|)N, c3,K|]\}}|d|dVdS)z ()Nr;r=s r6 z&_guess_content_type..s2FFtq!llalllFFFFFFrBz3only the following file extensions are recognized: r)zUndefined content type for ) r*r+splitextrr_CONTENT_TYPESrStrr]rD ValueError)r~rqextvalidrds r6_guess_content_typers W  djjll + +FAs t n{>#./// IIFF~/C/C/E/EFFF F FE H H H HC @4@@3@@ A AArBr|StrPath | Nonecddlm}t|tr(|}|||}t |}nJ|dpd}|dp|||}|d}t|dtj ||r#t|dtj ||r|j |dSdS) Nrexpandr~r;textz content-typelong_descriptionlong_description_content_type) setuptools.configr isinstancern read_filesrrCrJrr_referenced_filesadd)r#r|r4rr~rctypes r6_long_descriptionrs )(((((#s$  x00#D))wwv$"wwvC&"3"3D("C"CN#('+d*;*;<<< OD97;u;M;MNNN ) ""4((((())rB str | dictcJddlm}t|tr[t |jddr t jdd|j_t|dtj |dSd}tjddd |d d |vrb| |d g|}t|dtj ||j|d dSt|dtj |d dS)Nrrlicensez)`license` overwritten by `pyproject.toml`license_expressionz&guides/writing-pyproject-toml/#licensez/`project.license` as a TOML table is deprecatedzPlease use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).rTrUrWr~r)rrrrnrxrrr[rrJrrrrrr)r#r|r4rrbrNs r6_licensers=((((((#sC 4=)T 2 2 )  "#N O O O$(DM !D. C0@0@AAAAA> $) = >LkKK"      S==%%s6{mX>>E iU);); < < <  " & &s6{ 3 3 3 3 3 iS[)A)A B B B B BrB list[dict] _root_dirkindc g}g}|D]}d|vr||d"d|vr||dBt|d|d}|t||r6t||t jd||r;t||dt jd|dSdS)Nnameemail) display_name addr_specr_email)appendrrnrJrrr])r#r|rrrM email_fieldpersonaddrs r6_peoplers EK**      vg / / / / F " " LL ( ( ( (v&/RRRD   s4yy ) ) ) ) ?D$ DIIe,<,< = =>>>PDT///7;tyy7M7M+N+NOOOOOPPrBc(t|d|dS)N project_urls)rJr#r|rs r6 _project_urlsrsnc*****rBcLt|dtj|dS)Npython_requires)rJr SpecifierSetrs r6_python_requiresrs&')=c)B)BCCCCCrBlistcbt|dgrd}tj|||_dS)Ninstall_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))rxrr[rr#r|rrds r6 _dependenciesrs;t',,$Qs###DrBcbt|ddrd}tj|||_dS)Nextras_requirezH`extras_require` overwritten in `pyproject.toml` (optional-dependencies))rxrr[rrs r6_optional_dependenciesrs;t%t,,$Xs###DrBlist[Extension]cP|jpg}d|D}d|D}g||S)Nc3RK|]"}d|DV#dS)cBi|]\}}|dd|S)rprq)rsr=s r6rAz*_ext_modules...s, : : :1QYYsC ! : : :rBNrD)r>xs r6rz_ext_modules..s9 H Hq : : : : : H H H H H HrBc&g|]}tdi|S)r;r)r>kws r6 z _ext_modules..s" * * *r9??r?? * * *rB) ext_modules)r#r|existingargsnews r6 _ext_modulesr sE%2H H HC H H HD * *T * * *C X  rB_distc|SNr;)rr|s r6rwrw JrBc|Srr;)r|s r6 _identityrrrBc|}|d|di}t|}ddd}t|D]6\}}t |}||vr|||||<7|r#d|D|d<dSdS)N entry-points entry_pointsconsole_scripts gui_scripts)scriptsrcVi|]&\}}||d|D'S)c"g|] \}}|d| S)z = r;r=s r6rz2_unify_entry_points...(s&:::DAqa<rgroups r6rAz'_unify_entry_points..'sK# # # e# ::EKKMM:::# # # rB)popr%rrDrG)rLr9givenrrenamingrmrNrOs r6rFrFsG KK NB(G(G H HE;;L,]KKH7==??++@@ U&s++ x  /6{{3/?/?L(+ , # # +1133# # #   rB pyprojectc |di}|didi}t|}|j}|didiD]\}}t |}||t } ||i|D]S\} } t | } t|| f||| <| | vr!t d|d| dTdS)NrRrScmdclass distutilszCommand option r)z is not defined) rC_valid_command_optionscommand_optionsrDrGrh setdefaultrn_loggerwarning) rr#r&rar valid_optionscmd_optscmdr$rrmrNs r6r`r`0sQvr**J~~lB//33JCCH*844M#H }}VR0044["EEKKMM N N V!#&&!!#suu--C$$$ ,,.. N NJC%c**C"%h--!7HSM# % L# L L L L LMMM  N N NrBrdict[str, set[str]]c |ddlm}ddlm}dt |ji}|jd}d|D}d |D}t||D]M\}}| |t} | t t|d gz} | ||<N|S) Nrrrrglobalzdistutils.commands)rc34K|]}t|VdSr)_load_epr>eps r6rz)_valid_command_options..Ks(HHB8B<<HHHHHHrBc3K|]}||V dSrr;rs r6rz)_valid_command_options..Ls';;2;B;;;;;;rB user_options) setuptools.distr _importlibr_normalise_cmd_optionsglobal_optionsrr rDrCrhrx) rrrrunloaded_entry_pointsloaded_entry_pointsrr cmd_classoptss r6rrCs,,,,,,%%%%%%5l6QRRSM1H18LMMMHH2GHHH;;!4;;;L hnn.>.>??""Y  cee,,,WYPR-S-STTT! c rBrmetadata.EntryPointtuple[str, type] | Nonec |jdrdS |j|fS#t$r@}|jjd|j}t|d|Yd}~dSd}~wwxYw)Nzwheel.bdist_wheelz" while trying to load entry-point z: ) rN startswithrload Exception __class____name__rr)rexrds r6rrUs x.//t## &SS"'SS3"'''ttttts9 B5A>>BrcFt|dS)Nz_=)rGstrip)rs r6_normalise_cmd_option_keyrds t $ $ * *4 0 00rBdescrset[str]cd|DS)Nc8h|]}t|dS)r)r)r> fancy_options r6 z)_normalise_cmd_options..is% P P P< %l1o 6 6 P P PrBr;)rs r6rrhs P P4 P P PPrBdict[str, list]cndt|ddpi}fd|DS)N)rrrc$i|] \}}|v || Sr;r;)r>r?r@ignores r6rAz-_get_previous_entrypoints..os$ > > >TQavooAqooorB)rxrD)r#rNrs @r6_get_previous_entrypointsrls@ /F D.$ / / 52E > > > >U[[]] > > >>rB list | NonecRt|ddpi}|dS)NrrrxrCr#rNs r6_get_previous_scriptsrrs+ D.$ / / 52E 99& ' ''rBcRt|ddpi}|dS)Nrrrrs r6_get_previous_gui_scriptsrws* D.$ / / 52E 99] # ##rBattrNonec|j}t|d|t|d|}}||t||tj|dS)zCApply distutils metadata validation but preserve "static" behaviourruget_N)rrxr{rList)rr#r|metar}rls r6_set_static_list_metadatar|sg =DT=$==11743O3OFF F3KKK D$ VVXX../////rBcVttd|dS)a8 Similar to ``operator.attrgetter`` but returns None if ``attr`` is not found >>> from types import SimpleNamespace >>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13)) >>> _attrgetter("a")(obj) 42 >>> _attrgetter("b.c")(obj) 13 >>> _attrgetter("d")(obj) is None True c$t||dSr)rx)accrs r6z_attrgetter..s'#q$*?*?rBr))rrsplit)rs r6 _attrgetterr$s$ 6??C Q QQrBcfd}|S)aL Return the first "truth-y" attribute or None >>> from types import SimpleNamespace >>> obj = SimpleNamespace(a=42, b=SimpleNamespace(c=13)) >>> _some_attrgetter("d", "a", "b.c")(obj) 42 >>> _some_attrgetter("d", "e", "b.c", "a")(obj) 13 >>> _some_attrgetter("d", "e", "f")(obj) is None True cVfdD}td|DdS)Nc3HK|]}t|VdSr)r$)r>iobjs r6rz5_some_attrgetter.._acessor..s355!.+a..%%555555rBc3K|]}||V dSrr;)r>r(s r6rz5_some_attrgetter.._acessor..s"881!-Q----88rB)next)r)valuesrDs` r6_acessorz"_some_attrgetter.._acessors<5555u55588888$???rBr;)rDr-s` r6_some_attrgetterr.s(@@@@@ OrBauthor)r maintainer)readmerauthors maintainersurls dependenciesoptional_dependenciesrequires_pythonzdict[str, _Correspondence]rH script_filesrnamespace_packagesz Please migrate to implicit native namespaces instead. See https://packaging.python.org/en/latest/guides/packaging-namespace-packages/. obsoletesprovides platforms)r:r;r<> license_filer license_filesprovides_extrasrrrz metadata.nameversionzmetadata.version descriptionzmetadata.descriptionr1zmetadata.long_descriptionzrequires-pythonrzmetadata.python_requiresrzmetadata.license_expressionzmetadata.licenser2zmetadata.authorzmetadata.author_emailr3zmetadata.maintainerzmetadata.maintainer_emailkeywordszmetadata.keywords classifierszmetadata.classifiersr4zmetadata.project_urlsr gui-scriptsr5roptional-dependenciesr) rr2r3rBrCr4rrrDr5rErkc.eZdZdZdZed dZd S) rjz9`{field}` defined outside of `pyproject.toml` is ignored.a% The following seems to be defined outside of `pyproject.toml`: `{field} = {value!r}` According to the spec (see the link below), however, setuptools CANNOT consider this value unless `{field}` is listed as `dynamic`. https://packaging.python.org/en/latest/specifications/pyproject-toml/#declaring-project-metadata-the-project-table To prevent this problem, you can list `{field}` under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. rMrnrNr r'c:|j||S)Nrg)_DETAILSformat)clsrMrNs r6detailsz_MissingDynamic.details s|""e"<<rfsk#""""" ######((((((%%%%%%%%""""""??????????????;;;;;;;;!!!!!!FFFFFFFF,++++++......,,,,,,++++++"!"%%%%%%!&sDcN':!;;;;;%~sE'4->2K@@ <  KK ( ( {{-..;;566 kk566  ''(9;UVV   =?QRR  13JKK##$9;VWW /00;;566 KK/ 0 0-$ ,!"KK 233#$[[)9::%4!%"%  &!%&$/!##(====='=====rB