<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 18, 2014, at 9:00 AM, Chmouel Boudjnah <<a href="mailto:chmouel@enovance.com" class="">chmouel@enovance.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">On Thu, Sep 18, 2014 at 1:58 PM, Donald Stufft <span dir="ltr" class=""><<a href="mailto:donald@stufft.io" target="_blank" class="">donald@stufft.io</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">Distributions are not the only place that people get their software from,</div><div class="">unless you think that the ~3 million downloads requests has received</div><div class="">on PyPI in the last 30 days are distributions downloading requests to</div><div class="">package in their OSs.</div></blockquote></div><br class=""><br class=""></div><div class="gmail_extra">I think Thomas was speaking in the context of how OpenStack is used by the end user and that probably the point of debate here, requests ships libraries inside to make it easy for users that doen't use Linux distro packages, when in OpenStack (or at least in prod) packagers are something we generally very much care about.<br class=""></div></div></div></blockquote><br class=""></div><div><div>Even then, my statement holds true, just with different numbers.</div><div><br class=""></div><div>Every distribution modifies upstream in different ways, I think it's insane to</div><div>do contortions which will break things for people *not* getting things through</div><div>those channels. If distributions are going to modify one upstream project they</div><div>should expect to need to modify things that depend on that project in ways that</div><div>are sensitive to what they've modified.</div><div><br class=""></div><div>The only real sane thing IMO is for openstack to consider requests as it is on</div><div>PyPI. If openstack wants to make it easier for downstream to de-vendor urllib3</div><div>from requests then when openstack wants to import from requests.packages.* it</div><div>can instead do:</div><div><br class=""></div><div>    try:</div><div>        from requests.packages import urllib3</div><div>    except ImportError:</div><div>        import urllib3</div><div><br class=""></div><div>This will cause it to work correctly when requests is installed in a pristine</div><div>state, and will fallback to handling the modifications that some downstream</div><div>redistributors make.</div></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">---</div><div class="">Donald Stufft</div><div class="">PGP: 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA</div></div></div>
</div>
<br class=""></body></html>