<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On Oct 15, 2020, at 10:19 AM, Jeremy Stanley <fungi@yuggoth.org> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><span>On 2020-10-15 08:39:15 -0500 (-0500), Matthew Thode wrote:</span><br><blockquote type="cite"><span>On 20-10-15 12:56:34, Jeremy Stanley wrote:</span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>On 2020-10-15 13:22:36 +0200 (+0200), Thomas Goirand wrote:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>[...]</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>IMO, this is a problem in downstream distributions, not in</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>OpenStack (unless this influences pip3).</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>In Debian, I did hard-wire an explicit build-dependency on</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>python3-setuptools on each and every package. I don't understand</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><span>why you haven't done the same thing.</span><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>[...]</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>And even this isn't completely necessary... it's entirely possible</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>for projects to only use PBR and setuptools for creating packages,</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>but use other Python stdlib methods (e.g., importlib in Python 3.8)</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>to access version information and related package metadata during</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>runtime.</span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>For a large majority of packages, setuptools is required because they</span><br></blockquote><blockquote type="cite"><span>have entry-points.  This mostly includes all the clients, but also hits</span><br></blockquote><blockquote type="cite"><span>some oslo packages as well.</span><br></blockquote><span></span><br><span>https://docs.python.org/3/library/importlib.metadata.html#entry-points</span><br><span></span><br><span>Maybe time to start thinking about a cycle goal around that?</span><br></div></blockquote><div><br></div><div>The latest version of stevedore already uses importlib.metadata instead of setuptools and quite a few of the libraries and services no longer need it either. </div><div><br></div><div><a href="https://review.opendev.org/#/q/topic:osc-performance+(status:open+OR+status:merged)">https://review.opendev.org/#/q/topic:osc-performance+(status:open+OR+status:merged)</a></div><div><br></div><div>Doug</div></body></html>