ids7 UdZddlZddlZddlmZddlmZddlmZm Z ddl m Z ddl m Z ddlmZmZmZmZmZmZmZmZmZmZmZd d lmZmZer dd lmZdd lm Z e iZ!ee"d <eej#e$fZ%ee&e$fZ'edee%gdfZ(ee$e(fZ)ej*e+Z,ddde&de%ddfdZ-ddde&de%fdZ.ddde&de%fdZ/ddde&fdZ0de$de$fdZ1ddde$defdZ2ddd d!Z3d"e$dee$fd#Z4ddd$e'de%fd%Z5ddd$e&de%fd&Z6ddd$ee&d'e%d(e$fd)Z7ddd$e&fd*Z8ddd$e&fd+Z9ddd$e:fd,Z;ddd$e&fd-Ze!fd1edee$ee$ffd2Z?d3d4deee$effd5Z@d6e$de$fd7ZAd8eee$ee$e$fdee$fd9ZBdddee$e:ffd:ZCdddee:fd;ZDdddee:fd<ZEd=ZFd>ZGe5e6ee7d?@ee7dA@e8e;ez&_guess_content_type..s2FFtq!llalllFFFFFFr?z3only the following file extensions are recognized: r!zUndefined content type for )r"r#splitextrU_CONTENT_TYPESjoinr5 ValueError)r^rTextvalidrJs r-_guess_content_typeros W  djjll + +FAs t nc"" IIFF~/C/C/E/EFFF F FE H H H HC @4@@3@@ A AAr?valcddlm}t|tr(|}|||}t |}nJ|dpg}|dp|||}|d}t|d||rt|d||r/|j tt|dSdS)Nrexpandr^textz content-typelong_descriptionlong_description_content_type) setuptools.configrs isinstancestr read_filesror1r9_referenced_filesaddr)rrpr+rsr^rtctypes r-_long_descriptionr~s((((((#s$!$  x00#C((wwv$"wwvC&"3"3D("C"CN#($/// BD95AAA 4 ""4T??3333344r?cddlm}d|vrNt|d||dg||j|ddSt|d|ddS)Nrrrr^licensert)rwrsr9rzr{r|)rrpr+rss r-_licensers(((((( }}D)V%6%6F }h%O%OPPP ""3v;/////D)S[11111r? _root_dirkindcg}g}|D]}d|vr||d"d|vr||dBt|d|d}|t||r$t||d||r)t||dd|dSdS)Nnameemail) display_name addr_specr`_email)appendrryr9rk)rrprrr; email_fieldpersonaddrs r-_peoplers EK**      vg / / / / F " " LL ( ( ( (v&/RRRD   s4yy ) ) ) ) 2D$ % 0 0111CDT///499[+A+ABBBBBCCr?c(t|d|dS)N project_urls)r9)rrprs r- _project_urlsrsnc*****r?cFddlm}t|d||dS)Nr) SpecifierSetpython_requires)&setuptools.extern.packaging.specifiersrr9)rrprrs r-_python_requiresrs7CCCCCC'c):):;;;;;r?cvt|dgrd}tj|t|d|dS)Ninstall_requireszA`install_requires` overwritten in `pyproject.toml` (dependencies))rYrrDr9)rrprrJs r- _dependenciesrsFt',,$Qs###(#.....r?cRt|di}t|di||dS)Nextras_require)rYr9)rrprexistings r-_optional_dependenciesrs8t-r22H&(;8(;s(;<<<<z2_unify_entry_points...s&:::DAqa<z'_unify_entry_points..sE# # # e ::EKKMM:::# # # r?)poplistr5r6)r:r0rrenamingrQr<r=s r-r4r4sG;;~w{{>2/N/NOOL,]KKH7==??++@@ U&s++ x  E /6{{3/?/?L(+ , # # +1133# # #   r? pyprojectc |di}|didi}t|}|j}|didiD]\}}t |}||t } ||i|D]S\} } t | } t|| f||| <| | vr!t d|d| dTdS)NrArBcmdclass distutilszCommand option r!z is not defined) r1_valid_command_optionscommand_optionsr5r6rM setdefaultry_loggerwarning) rrrrGr valid_optionscmd_optscmdrrnrQr<s r-rFrFsQvr**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 Nr?rc |ddlm}ddlm}dt |ji}|jd}d|D}d |D}t||D]M\}}| |t} | t t|d gz} | ||<N|S) Nrrrrglobalzdistutils.commands)rc34K|]}t|VdSN)_load_epreeps r-rhz)_valid_command_options.. s(HHB8B<<HHHHHHr?c3K|]}||V dSrrcrs r-rhz)_valid_command_options.. s';;2;B;;;;;;r? user_options) _importlibrsetuptools.distr_normalise_cmd_optionsglobal_optionsrrr5r1rMrY) rrrrunloaded_entry_pointsloaded_entry_pointsrr cmd_classoptss r-rrs%%%%%%,,,,,,5l6QRRSM1H18LMMMHH2GHHH;;!4;;;L hnn.>.>??""Y  cee,,,WYPR-S-STTT! c r?rzmetadata.EntryPointc |j|fS#t$r@}|jjd|j}t |d|Yd}~dSd}~wwxYw)Nz" while trying to load entry-point z: )rload Exception __class____name__rr)rexrJs r-rrs~## &SS"'SS3"'''ttttts A'5A""A'rcFt|dS)Nz_=)r6strip)rs r-_normalise_cmd_option_keyrs t $ $ * *4 0 00r?desccd|DS)Nc8h|]}t|dS)r)r)re fancy_options r- z)_normalise_cmd_options.."s% P P P< %l1o 6 6 P P Pr?rc)rs r-rr!s P P4 P P PPr?cndt|ddpi}fd|DS)N)rrrc$i|] \}}|v || Srcrc)rerfrgignores r-rz-_get_previous_entrypoints..(s$ > > >TQavooAqooor?)rYr5)rr<rs @r-_get_previous_entrypointsr%s@ /F D.$ / / 52E > > > >U[[]] > > >>r?cRt|ddpi}|dS)NrrrYr1rr<s r-_get_previous_scriptsr+s+ D.$ / / 52E 99& ' ''r?cRt|ddpi}|dS)Nrrrrs r-_get_previous_gui_scriptsr0s* D.$ / / 52E 99] # ##r?cVttd|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)rY)accxs r-z_attrgetter..As'#q$*?*?r?r!)rrsplit)attrs r- _attrgetterr5s$ 6??C Q QQr?cfd}|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)reiobjs r-rhz5_some_attrgetter.._acessor..Rs355!.+a..%%555555r?c3K|]}||V dSrrc)rers r-rhz5_some_attrgetter.._acessor..Ss"881!-Q----88r?)next)rvaluesr5s` r-_acessorz"_some_attrgetter.._acessorQs<5555u55588888$???r?rc)r5rs` r-_some_attrgetterrDs(@@@@@ Or?author)r maintainer)readmerauthors maintainersurls dependenciesoptional_dependenciesrequires_pythonr7 script_filesrnamespace_packagesz5consider using implicit namespaces instead (PEP 420).due_datei > license_filer license_filesprovides_extrasrvz metadata.nameversionzmetadata.version descriptionzmetadata.descriptionrzmetadata.long_descriptionzrequires-pythonrzmetadata.python_requiresrzmetadata.licenserzmetadata.authorzmetadata.author_emailrzmetadata.maintainerzmetadata.maintainer_emailkeywordszmetadata.keywords classifierszmetadata.classifiersrzmetadata.project_urlsrz gui-scriptsr_orig_install_requiresrzoptional-dependencies_orig_extras_requirerceZdZdZdZdZdS)rOz?`{field}` defined outside of `pyproject.toml` would be ignored.a ########################################################################## # configuration would be ignored/result in error due to `pyproject.toml` # ########################################################################## 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/declaring-project-metadata/ For the time being, `setuptools` will still consider the given value (as a **transitional** measure), but please note that future releases of setuptools will follow strictly the standard. To prevent this warning, you can list `{field}` under `dynamic` or alternatively remove the `[project]` table from your file and rely entirely on other means of configuration. rN)r __module__ __qualname___SUMMARY_DETAILS _DUE_DATErcr?r-rOrOs!PHH,IIIr?rO)N__doc__loggingr"collections.abcremail.headerregistryr functoolsrr itertoolsrtypesrtypingr r r r r rrrrrrwarningsrrsetuptools._importlibrrrr__annotations__PathLikery_Pathdict _DictOrStr _CorrespFn_Correspondence getLoggerrrr.r%r&r3r6r9rjror~rrrrrrrr4rFrrrrrrrrrr7rErCr[rNrOrcr?r-r#s ######((((((%%%%%%%%""""""                          GFFFFFFF-......,,,,,,!!"%%w%%% bk3 49  ~sE2D8 9 Z( ' H % %.,.~.t.u...."2N2D2E2222*A.AAAAA)S)S)))) $n$S$$$$$    Bc Bhsm B B B B4N44u4444*2>222222C.CtDzCeC3CCCC$++T++++<><<<<< //T////==d====  t     NTNN5NNNN&05Wc3s8m9L"&8E#t)4D+E1C1C1111QeC#,C&D!EQ#c(QQQQ?N?tCI???? ((8D>(((( $N$x~$$$$ R R R* wwX...77666 !3' 8 8$sO34   %i0? ^$ KK ( ( {{-..;;566 kk566  ''(9;UVV  {{-..  13JKK##$9;VWW /00;;566 KK/ 0 0-$,$$%=?QRR --.DFVWW!(4r?