> On Aug 23, 2016, at 7:25 AM, Nick Coghlan <ncogh...@gmail.com> wrote:
> 
> OK, cool - that gives us all the more reason to retain bdist_wininst
> and bdist_msi hosting support. However, I do think it makes sense for
> us to say up front that we'll reconsider that decision if something
> akin to homebrew gains traction amongst developers running Windows the
> way homebrew has amongst open source users running Mac OS X.


I still don’t think there’s a whole lot of benefit to retaining them even
now. In the last 30 days, 90% of the downloads of bdist_wininst were
generated by things that I know for a fact to be mirroring clients (almost
all entirely bandersnatch). The next highest source of downloads was coming
from setuptools, at 7%. Over 75% of the downloads from setuptools are for
coverage.py, which tells me that it’s likely being triggered by test_requires
and would be covered by teaching setuptools how to wheel instead.

For bdist_msi, 96% of all downloads come from things we know to be mirroring
clients.

For bdist_dmg, 97% of all downloads come from things we know to be mirroring
clients.

For bdist_egg, 80% of all downloads come from things we know to be mirroring
clients.

For reference:

For sdist, 30% of all downloads come from things we know to be mirroring
clients.

For bdist_wheel, 6% of all downloads come from things we know to be mirroring
clients.

It’s hard to get per project numbers for these (or at least, it takes a more
complex query than I can manage with my head here). However, I think it’s
pretty telling that when you start looking at other formats, not only is the
primary consumer tools that just indiscriminately download everything from PyPI,
but almost *all* of the consumers of those files are tools that just
indiscriminately download everything. Unless there are users of those mirrors 
who
follow vastly different usage patterns than what we see on PyPI itself, the 
primary
purpose of bdist_wininst, bdist_msi, bdist_dmg, etc on PyPI is to consume disk 
space
and bandwidth via the mirroring infrastructure.

I’d also like to note, that the numbers above are conservative on what they
consider to be a “mirroring client”. For instance, devpi used to use the default
requests user-agent, and we see downloads via the requests user agent, but did 
not
count them as mirroring clients because it could be some other script doing the
downloading.

—
Donald Stufft



_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to