PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Sunday the 21st of September, 2014

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[16:11:27] <aclark> Sooooo, a "source" wheel file is comparable to a sdist zip or tgz right? I've not yet looked into understanding why everyone is pushing wheels instead of sdists… for source.
[16:13:04] <aclark> A "built" format for binaries makes sense… but I'm not understand why folks are distributing multiplatform wheels, unless maybe they aren't source.
[16:13:28] <aclark> I guess I could look at one
[16:18:40] <doismellburning> ghickman: consider yourself invoked
[16:19:36] <ghickman> hey aclark
[16:19:45] <ghickman> could you show me an example of a source wheel?
[16:24:04] <apollo13> aclark: so the django wheel is certainly different from the sdist
[16:24:26] <apollo13> aclark: and a built format makes sense for non binary packages too
[16:26:05] <apollo13> aclark: the goal is to use wheels for everything which is installed cause it just requires unzipping and no setup.py execution
[16:26:40] <buck1> a sad story https://github.com/Homebrew/homebrew/pull/32368#issuecomment-56260783
[16:28:51] <buck1> is a happy ending fully blocked on python3?
[16:30:32] <buck1> I think this bit is a pip/wheel bug though: "pip install Pillow" happily installs a version of Pillow that won't import, without any hints that you need "--no-use-wheel". 
[16:31:05] <buck1> tdsmith: hello friend
[16:31:38] <apollo13> buck1: I don't think so, afaik ucs2/4 isn't encoded in the wheel filename, so pip has no way of knowing
[16:31:56] <buck1> apollo13: that's the title of the bug
[16:32:40] <buck1> a similar situation to what blocks linux wheels from existing on pypi at all
[16:33:12] <buck1> quite a bit more tractable though
[16:33:46] <apollo13> yeah
[16:34:18] <buck1> apollo13: solution would be implementing an analogue to http://legacy.python.org/dev/peps/pep-3149/ for wheels
[16:38:57] <apollo13> buck1: that would only help for ucs though
[16:39:15] <buck1> mhmm
[16:39:24] <aclark> apollo13: I see, thanks
[16:39:35] <apollo13> buck1: or not? gotta read that pep :)
[16:39:51] <aclark> ghickman: e.g. https://pypi.python.org/packages/py2.py3/D/Django/Django-1.7-py2.py3-none-any.whl#md5=15efe093b40d058acf24682c31e7b24c
[16:42:44] <aclark> buck1: Pillow "that won't import"? you mean binary incompat?
[16:43:02] <buck1> aclark: tdsmith means that yes
[16:43:12] <buck1> all the pypi wheels are ucs2
[16:43:21] <buck1> for darwin
[16:43:38] <buck1> apparently, it seems entirely possible that a few are ucs4
[16:44:27] <aclark> buck1: ah, can you file a Pillow bug for that if there's not one already?
[16:44:36] <buck1> aclark: it's not a pillow bug
[16:44:40] <apollo13> not much pillow can do about that
[16:44:43] <aclark> OIC
[16:44:49] <aclark> Probably why I haven't run into it :-)
[16:44:55] <buck1> it's a pip/wheel bug, if anything
[16:45:45] <buck1> the topic of that ticket above is enabling ucs4 for homebrew python
[16:46:05] <aclark> right
[16:46:10] <dstufft> aclark: there is no such thing as a "source" wheel, there are wheels which are just pure python though
[16:46:23] <buck1> dstufft: the -any wheels
[16:46:24] <buck1> yes?
[16:46:27] <dstufft> yes
[16:46:30] <dstufft> those are pure python
[16:47:04] <aclark> OK so sdist has no metadata and can't be unzipped to site-packages whereas whls have metadata and can be, if I'm understanding the answer to my question correctly
[16:47:18] <aclark> No setup.py execution is huge
[16:47:25] <apollo13> aclark: yes, basically
[16:47:30] <aclark> \o/
[16:47:33] <buck1> aclark: think of a wheel as a pre-installed package, zipped up
[16:47:40] <dstufft> whell sdists need "built", that building may be simple in the case of a pure python, or it may be complex, but it still needs to happen
[16:47:47] <dstufft> well*
[16:48:10] <dstufft> for example
[16:48:17] <aclark> dstufft: sure, w/pure python "building" is copying to site-packages w/metadata… or something.
[16:48:20] <dstufft> docutils uses 2to3 at setup.py install time
[16:48:32] <dstufft> it takes like 30+ seconds to install on Python 3 from sdist
[16:48:39] <dstufft> and near instant from a py3 wheel
[16:48:41] <buck1> aclark: there's mroe than that, eg console-scripts
[16:48:42] <aclark> Nice
[16:48:57] <aclark> buck1: right
[16:49:10] <dstufft> console scripts are created at wheel install time
[16:49:16] <buck1> oh.
[16:49:19] <dstufft> as well as .pyc compilation
[16:49:41] <aclark> sure sure
[16:50:05] <buck1> dstufft: any opinions on the ucs2/4 stuffs
[16:50:21] <aclark> OK this means now I have to start releasing wheels for everything :-)
[16:50:34] <buck1> aclark: except for linux :(
[16:50:37] <apollo13> aclark: and drop your eggs and .exe :)
[16:50:40] <dstufft> python2 sucks and ucs2 vs ucs4 is a horrible distinction
[16:51:05] <buck1> dstufft: so that topic is fully blocked on move-to-py3?
[16:51:14] <nanonyme> dstufft, agreed on the latter
[16:51:20] <buck1> it feels like a bug that pipwheel would install a wheel that can't work
[16:51:28] <aclark> buck1:, apollo13 nooooo you just ruined my perfect view of the world :-)
[16:51:44] <dstufft> we might be able to "backport" the abi thing from python 3.x to 2.7
[16:51:53] <nanonyme> Heh, right
[16:51:55] <buck1> dstufft: that was my thought, above
[16:52:01] <nanonyme> I doubt that's going to happen
[16:52:10] <dstufft> i don't mean inside Python 2.x
[16:52:20] <dstufft> I mean pip and wheel can backport it and figure it out ourselves
[16:52:38] <buck1> "(09:31:07 AM) buck1: apollo13: solution would be implementing an analogue to http://legacy.python.org/dev/peps/pep-3149/ for wheels"
[16:52:59] <buck1> dstufft: but haven't they gotten rid of ucs2/4 in py3?
[16:53:05] <dstufft> yes
[16:53:08] <buck1> why a u marker at all then
[16:53:11] <aclark> apollo13: maybe, for Pillow at least that would have to be debated in a ticket (i.e. dropping exe and/or eggs, w/cgohlke having a weighted vote since he does all the work currentl)
[16:53:21] <dstufft> because you can have Py3 without unicode at all IIRC
[16:53:39] <buck1> uh wat
[16:55:04] <dstufft> ah right now
[16:55:06] <dstufft> no*
[16:55:11] <dstufft> I'm getting my versions mixed up
[16:55:13] <dstufft> I just woke up
[16:55:58] <aclark> Heh
[16:56:11] <dstufft> because Python 3.2 (where the ABI went in) still had ucs2 vs ucs4 (narrow vs wide unicode)
[16:56:15] <buck1> I have to believe that the u-for-wide-unicode came in before they decided to abolish ucs2
[16:56:20] <buck1> jinx
[16:56:35] <dstufft> and Python 3.3 is when they added flexible string represetnation
[16:56:53] <buck1> let's backport those two features in 2.8
[16:57:06] <apollo13> luckily no 2.8 :)
[16:57:57] <dstufft> 2.8 is now called 2.7.9
[16:58:13] <buck1> dstufft: is that a thing that's happening?
[16:58:22] <buck1> or a bad joke
[16:58:26] <dstufft> 2.7.9 is happening
[16:58:31] <dstufft> and it's going to include new features
[16:58:50] <dstufft> ensurepip if I get the code backported in time, the PYthon 3.4 ssl module
[16:59:00] <dstufft> maybe HTTPS verification by default
[16:59:05] <buck1> oh frabjous day
[16:59:58] <buck1> abi fixes would still need to be 2.8 though i suppose
[17:00:24] <buck1> ie never :(
[17:00:36] <apollo13> well there is python3.5 :)
[17:00:55] <buck1> apollo13: python3.3 has the things i want
[17:01:00] <buck1> except for python2 support
[17:01:05] <apollo13> lol
[17:02:25] <buck1> dstufft: i'm nervous about my branches piling up
[17:02:38] <buck1> i suppose i should split @cached_property out of buck-lint
[21:50:06] <Guest58557> !logs
[21:50:06] <pmxbot> http://chat-logs.dcpython.org/channel/pypa