<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">See <a href="https://mail.python.org/pipermail/distutils-sig/2016-August/029542.html" class="">https://mail.python.org/pipermail/distutils-sig/2016-August/029542.html</a> for a PEP!</div><br class=""><div style=""><blockquote type="cite" class=""><div class="">On Aug 23, 2016, at 12:37 PM, Brett Cannon <<a href="mailto:brett@python.org" class="">brett@python.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, 23 Aug 2016 at 07:33 Donald Stufft <<a href="mailto:donald@stufft.io" class="">donald@stufft.io</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br class="">
> On Aug 23, 2016, at 7:25 AM, Nick Coghlan <<a href="mailto:ncoghlan@gmail.com" target="_blank" class="">ncoghlan@gmail.com</a>> wrote:<br class="">
><br class="">
> OK, cool - that gives us all the more reason to retain bdist_wininst<br class="">
> and bdist_msi hosting support. However, I do think it makes sense for<br class="">
> us to say up front that we'll reconsider that decision if something<br class="">
> akin to homebrew gains traction amongst developers running Windows the<br class="">
> way homebrew has amongst open source users running Mac OS X.<br class="">
<br class="">
<br class="">
I still don’t think there’s a whole lot of benefit to retaining them even<br class="">
now. In the last 30 days, 90% of the downloads of bdist_wininst were<br class="">
generated by things that I know for a fact to be mirroring clients (almost<br class="">
all entirely bandersnatch). The next highest source of downloads was coming<br class="">
from setuptools, at 7%. Over 75% of the downloads from setuptools are for<br class="">
coverage.py, which tells me that it’s likely being triggered by test_requires<br class="">
and would be covered by teaching setuptools how to wheel instead.<br class="">
<br class="">
For bdist_msi, 96% of all downloads come from things we know to be mirroring<br class="">
clients.<br class="">
<br class="">
For bdist_dmg, 97% of all downloads come from things we know to be mirroring<br class="">
clients.<br class="">
<br class="">
For bdist_egg, 80% of all downloads come from things we know to be mirroring<br class="">
clients.<br class="">
<br class="">
For reference:<br class="">
<br class="">
For sdist, 30% of all downloads come from things we know to be mirroring<br class="">
clients.<br class="">
<br class="">
For bdist_wheel, 6% of all downloads come from things we know to be mirroring<br class="">
clients.<br class="">
<br class="">
It’s hard to get per project numbers for these (or at least, it takes a more<br class="">
complex query than I can manage with my head here). However, I think it’s<br class="">
pretty telling that when you start looking at other formats, not only is the<br class="">
primary consumer tools that just indiscriminately download everything from PyPI,<br class="">
but almost *all* of the consumers of those files are tools that just<br class="">
indiscriminately download everything. Unless there are users of those mirrors who<br class="">
follow vastly different usage patterns than what we see on PyPI itself, the primary<br class="">
purpose of bdist_wininst, bdist_msi, bdist_dmg, etc on PyPI is to consume disk space<br class="">
and bandwidth via the mirroring infrastructure.<br class="">
<br class="">
I’d also like to note, that the numbers above are conservative on what they<br class="">
consider to be a “mirroring client”. For instance, devpi used to use the default<br class="">
requests user-agent, and we see downloads via the requests user agent, but did not<br class="">
count them as mirroring clients because it could be some other script doing the<br class="">
downloading.<br class=""></blockquote><div class=""><br class=""></div><div class="">I should also mention I have never come across anyone at Microsoft use the bdist_msi or bdist_winst installers (I've added Steve to this email in case my experience is wrong). Everyone I have encountered either uses conda or pip+wheels (hence why I keep poking the sdist and build API ideas as I want to give Christophe Gohlke something else to do with his time than provide wheels on Windows).</div></div></div>
</div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class="">—<br class="">Donald Stufft<br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant-ligatures: normal; font-variant-position: normal; font-variant-caps: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""></div><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>