a0bi#DSrSSKrSSKrSSKrSSKrSSKrSSKJ r SSK J r SSK JrJr SSK Jr SSKJr SS KJrJr SS KJr SS KJr SS KJr /S Qr\R<rSr\R@r!\R@r"Sr#Sr$Sr%\RLRJR\%l\RN"\RLRP5r)"SS\)5r(Sr*\RV4Sjr,\RZ"\ 5S5r "SS\.5r/\R`"5 g)z@Extensions to the 'distutils' for large or complex distributionsN)DistutilsOptionError) convert_path)loggingmonkey)version)Require) PackageFinderPEP420PackageFinder) Distribution) Extension)SetuptoolsDeprecationWarning)setupr Commandr r r find_packagesfind_namespace_packagesc"SS[RR5nU"U5nURSS9 UR(a [ U5 gg)NcB^\rSrSrSrU4SjrSU4SjjrSrSrU=r $)4_install_setup_requires..MinimalDistribution+zT A minimal version of a distribution for supporting the fetch_build_eggs interface. c>Sn[U5[U5-Vs0sHo3X_M nn[TU] U5 URR 5 gs snf)N)dependency_linkssetup_requires)setsuper__init__ set_defaults_disable)selfattrs_inclkfiltered __class__s ڌ/builddir/build/BUILDROOT/alt-python313-setuptools-69.0.2-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/setuptools/__init__.pyr=_install_setup_requires..MinimalDistribution.__init__1sT8E-0Z#e*-DE-D58 -DHE G X &    & & (FsAcX>[TU]U5up#US4$![a US4s$f=f)zAIgnore ``pyproject.toml``, they are not related to setup_requires)r _split_standard_project_metadata Exception)r filenamescfgtomlr$s r%_get_project_config_filesN_install_setup_requires..MinimalDistribution._get_project_config_files8s; %!GDYO Bw % "}$ %s ))cg)zH Disable finalize_options to avoid building the working set. Ref #2158. Nr()rs r%finalize_optionsE_install_setup_requires..MinimalDistribution.finalize_options@sr(N) __name__ __module__ __qualname____firstlineno____doc__rr.r1__static_attributes__ __classcell__r$s@r%MinimalDistributionr+s  ) %  r3r=T)ignore_option_errors) distutilscorer parse_config_filesr_fetch_build_eggs)r r=dists r%_install_setup_requiresrD(sMinn996 u %D 6 $r3c URUR5 g![aZnSnSURR;a8[ US5(aUR U5 eURSUS35 eSnAff=f)Na It is possible a package already installed in your system contains an version that is invalid according to PEP 440. You can try `pip install --use-pep517` as a workaround for this problem, or rely on a new virtual environment. If the problem refers to a package that is not installed yet, please contact that package's maintainers or distributors. InvalidVersionadd_note )fetch_build_eggsrr*r$r5hasattrrGannounce)rCexmsgs r%rBrBNs} d112   r||44 4r:&& C   3%rl+ s BAA==Bc [R"5 [U5 [RR "S0UD6$)Nr()r configurerDr?r@r)r s r%rrcs. E" >>   (% ((r3cJ^\rSrSrSrSrU4SjrS SjrSrS Sjr Sr U=r $) rpa Setuptools internal actions are organized using a *command design pattern*. This means that each action (or group of closely related actions) executed during the build should be implemented as a ``Command`` subclass. These commands are abstractions and do not necessarily correspond to a command that can (or should) be executed via a terminal, in a CLI fashion (although historically they would). When creating a new command from scratch, custom defined classes **SHOULD** inherit from ``setuptools.Command`` and implement a few mandatory methods. Between these mandatory methods, are listed: .. method:: initialize_options(self) Set or (reset) all options/attributes/caches used by the command to their default values. Note that these values may be overwritten during the build. .. method:: finalize_options(self) Set final values for all options/attributes used by the command. Most of the time, each option/attribute/cache should only be set if it does not have any value yet (e.g. ``if self.attr is None: self.attr = val``). .. method:: run(self) Execute the actions intended by the command. (Side effects **SHOULD** only take place when ``run`` is executed, for example, creating new files or writing to the terminal output). A useful analogy for command classes is to think of them as subroutines with local variables called "options". The options are "declared" in ``initialize_options()`` and "defined" (given their final values, aka "finalized") in ``finalize_options()``, both of which must be defined by every command class. The "body" of the subroutine, (where it does all the work) is the ``run()`` method. Between ``initialize_options()`` and ``finalize_options()``, ``setuptools`` may set the values for options/attributes based on user's input (or circumstance), which means that the implementation should be careful to not overwrite values in ``finalize_options`` unless necessary. Please note that other commands (or other parts of setuptools) may also overwrite the values of the command's options/attributes multiple times during the build process. Therefore it is important to consistently implement ``initialize_options()`` and ``finalize_options()``. For example, all derived attributes (or attributes that depend on the value of other attributes) **SHOULD** be recomputed in ``finalize_options``. When overwriting existing commands, custom defined classes **MUST** abide by the same APIs implemented by the original class. They also **SHOULD** inherit from the original class. Fc X>[TU]U5 [U5RU5 g)zR Construct the command for dist, updating vars(self) with any keyword parameters. N)rrvarsupdate)rrCkwr$s r%rCommand.__init__s$  T "r3c [X5nUc[XU5 U$[U[5(d[ SU<SU<SU<S35eU$)N'z ' must be a z (got `z`))getattrsetattr isinstancestrr)roptionwhatdefaultvals r%_ensure_stringlikeCommand._ensure_stringlikesKd# ; D' *NC%%&28$D  r3c[X5nUcg[U[5(a"[X[R "SU55 g[U[ 5(a[SU55nOSnU(d[SU<SU<S35eg)a|Ensure that 'option' is a list of strings. If 'option' is currently a string, we split it either on /,\s*/ or /\s+/, so "foo bar baz", "foo,bar,baz", and "foo, bar baz" all become ["foo", "bar", "baz"]. .. TODO: This method seems to be similar to the one in ``distutils.cmd`` Probably it is just here for backward compatibility with old Python versions? :meta private: Nz,\s*|\s+c3B# UHn[U[5v M g7fr4)r[r\).0vs r% -Command.ensure_string_list..s9SAs++SsFrXz!' must be a list of strings (got )) rYr[r\rZresplitlistallr)rr]r`oks r%ensure_string_listCommand.ensure_string_listswd# ;  S ! ! D"((;"< =#t$$9S99*AGMr3c f[RXU5n[U5RU5 U$r4)_Commandreinitialize_commandrSrT)rcommandreinit_subcommandsrUcmds r%rsCommand.reinitialize_commands,++D;MN S  r3r(r4)r) r5r6r7r8r9command_consumes_argumentsrrarorsr:r;r<s@r%rrps*4l"' 6r3rcS[R"USS95n[[RRU5$)z Find all files under 'path' c3z# UH1upnUH$n[RRX5v M& M3 g7fr4)ospathjoin)rebasedirsfilesfiles r%rg#_find_all_simple..s9!@ DD  T   !!@s9;T) followlinks)r{walkfilterr|isfile)r|resultss r%_find_all_simplers3!#4!@G "''..' **r3c[U5nU[R:Xa8[R"[R R US9n[X!5n[U5$)z Find all files under 'dir' and return the list of full filenames. Unless dir is '.', return full filenames with dir prepended. )start) rr{curdir functoolspartialr|relpathmaprl)dirrmake_rels r%findallrsH S !E bii$$RWW__C@H$ ;r3cD[R"SSSS9 [U5$)NzAccess to implementation detaila The function `convert_path` is not provided by setuptools itself, and therefore not part of the public API. Its direct usage by 3rd-party packages is considered improper and the function may be removed in the future. )i )due_date)remit _convert_path)pathnames r%rrs* %%)     ""r3c\rSrSrSrSrg)siciz;Treat this string as-is (https://en.wikipedia.org/wiki/Sic)r(N)r5r6r7r8r9r:r(r3r%rrsEr3r)1r9rr{rj_distutils_hack.override_distutils_hackdistutils.corer?distutils.errorsrdistutils.utilrrrrr_version_moduledependsr discoveryr r rCr extensionr warningsr__all__ __version__bootstrap_install_fromfindrrrDrBrr@ get_unpatchedrrrrrrwrapsr\r patch_allr(r3r%rsF 18(9 2 )) "" -22# L*)$$,,      6 6 7jhjZ +   #  #F#F r3