> On Aug 15, 2016, at 4:30 PM, Donald Stufft <don...@stufft.io> wrote: > >> >> On Aug 15, 2016, at 7:12 PM, Glyph Lefkowitz <gl...@twistedmatrix.com >> <mailto:gl...@twistedmatrix.com>> wrote: >> >> >>> On Aug 15, 2016, at 1:56 PM, Donald Stufft <don...@stufft.io >>> <mailto:don...@stufft.io>> wrote: >>> >>> My main thought regarding this is that bdist_dmg != all dmg files >>> (similarly for msi and wininst). These are specific files created by >>> distutils without a standard or without the needed work to make them truly >>> what users should be using. I also think they are a different class of >>> upload, the general use case for PyPI's current file uploads are for >>> automated installs (as evidenced by the simple API and mirroring). >> >> I guess I'm just a little confused - are we talking about just hiding them >> from some parts of the API or disallowing their upload entirely? >> >> If we're talking about the literal output of bdist_dmg and bdist_rpm I >> probably agree that they're almost useless. > > Right now we’re basically talking about the literal output of bdist_dmg and > bdist_rpm, because their outputs are the only thing we actually support > uploading. Our current checks aren’t very stringent (or in some cases, exist > at all) so it’s *possible* someone is constructing an actual user friendly > .dmg and uploading it pretending to be a “bdist_dmg”, that’s not really a > supported operation. > > Ideally I’d like to disallow their upload completely and hide them from the > API, but if the current use case of bdist_dmg, bdist_rpm, bdist_wininst, etc > is useful enough to keep around, then I’d like to just hide them from the API. > >> >>> If we want to enable dmg, msi, etc uploads that are not the bdist_* variety >>> for automated tooling, then we could do something like "related files" >>> people can upload which don't get mirrored for pip and which don't show up >>> in the repo API. Since they will be classified differently we could also do >>> better work around the ux of discovering them and separate them from the 50 >>> wheels that some projects end up uploading and make them more obviously >>> visible. I don't know if pypi as a distribution for _end user_ (vs >>> developer/power user) software makes sense or not, but if it does we should >>> support it better than accidentally via distutils. >> >> My concern here is that if someone has a hacky workaround working with the >> current system, it might be better to add support for the new thing >> ("related files") before killing the old thing. If the plan is to do them >> both anyway, wouldn't it be better to do it in that order? As a community >> (and I mean the broader open source community here, not distutils-sig; if >> anything distutils is way better about this) we have an unfortunate habit of >> killing potentially-useful-but-sub-optimal stuff, wandering off for half a >> decade, and then only adding the better thing after the fact. > > I don’t know if it makes sense to add the hypothetical new thing. Is PyPI the > right place to distribute a .dmg that say, ships Python itself, some C > libraries, some Python libraries, some bash scripts, and some static files? I > don’t know. Currently I think the answer is “no”, PyPI is a repository of > software _for_ Python, not a repository of software that just happens to be > written in Python. If the ultimate end goal of a .dmg is that people no > longer need to worry about what language the thing they are installing is > written in, it seems weird for them to go to PyPI for a .dmg for one app, > npmjs.org <http://npmjs.org/> for a .dmg for another app, and so on. > > Now, if it *does* make sense to support generalized uploads for applications > written in Python with some sort of system level packaging (dmg, deb, conda, > whatever) then we should figure out a way to actually support that, and > support it well. As it is, I don’t have any evidence that the files that are > currently being uploaded to PyPI are anything but “wheels, but in dmg format” > (e.g. binary packages containing a single library). I don’t want to put a > bunch of effort and work into making this well supported if there isn’t some > evidence that folks will actually use it (I suspect a minimum we’d need some > buy in from the authors of tooling to make these self contained packages).
In the absence of any _actual_ person doing the thing that I suggested might be happening, where a bdist_dmg is actually a for-real dmg, then it's probably not worth doing. I just thought that this might be a reason to give the data a second look. -glyph
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig