[00:02:48] <dstufft> (honestly, long term I want to get rid of that option, it only really existed as the inverse of --use-wheel in 1.4, but we need a deprecation cycle and it acts as a useful way to disable this new thing)
[00:07:02] <qwcode> dstufft, I guess you saw my comment. my only bit was the docs/comments
[00:08:44] <lifeless> qwcode: I believe I did those
[00:09:42] <lifeless> qwcode: ah, I see more comments, let me reply
[00:10:28] <qwcode> lifeless, dstufft if you want to merge, that's fine... I guess I'm pretty particular about some of the wording. it's more about what's not said at this point. I can make edits later in another PR I guess
[00:11:11] <lifeless> qwcode: ah, I replied in the PR
[00:17:55] <dstufft> (the point lifeless made about not putting us in an "invalid" transition is a good point too, since there may be people accessing the site-packages while we're doing the install, even with rollback capability we probably don't want to install A before B when A depends on B)
[00:19:15] <qwcode> ok, noted about the temporary state during the install. hadn't considered that one
[00:20:41] <dstufft> at the end of the day, there's only so much we can do about making sure that concurrent access to site-packages isn't broken, but installing things in order seems like a simple enugh thing to do to help reduce problems with that
[00:23:08] <lifeless> honestly, this space is -well- trodden in the internals of yum/rpm/apt/dpkg - looking in their design guts is a great way to understand the problem space more broadly - and nearly everything they have to deal with so do we
[00:23:35] <qwcode> didn't you guys mention *concurrent installs* at some point... as a goal down the road... doesn't that break the "valid state" goal, or would that constrain the concurrency
[00:24:01] <qwcode> or did I imagine someone saying concurrent installs... maybe I'm just thinking of curdling
[00:25:46] <dstufft> qwcode: I mentioned about isntalling things in parallel, which we may or may not do. Honestly installing from a wheel in parallel is less useful than possibly building things in parallel
[00:27:59] <dstufft> which if we build everything first, and then install everything we can do that easily (and also reduce the chances of getting a partial install too, since most failures are going to occur in building)
[00:32:16] <lifeless> building wheels in parallel is less complex
[00:32:22] <lifeless> but still tricky to optimise right
[00:32:44] <dstufft> yea, I'm not really worried about it right now, other than thinking about the fact we might do it in the future when designing things
[00:32:47] <lifeless> trivial example, something like numpy with lots of C code
[00:32:56] <lifeless> and a dozen little python deps
[00:33:23] <lifeless> the best strategy is serial, with numpy set to parallelise internally as it compiles
[00:34:26] <lifeless> if we tell numpy to parallelise and do more wheels in parallel, we thrash the CPU; if we don't tell numpy to parallelise internally we'll finish the little wheels and then have idle CPUs waiting for the non-parallel numpy to complete
[00:39:26] <lifeless> (sorry, scheduling is a bit of a pet of mine...)
[00:39:42] <dstufft> I'll admit I've done about 30 seconds worth of thinking about it
[00:40:11] <lifeless> I'm soooo close to this working
[00:40:24] <lifeless> just need to figure out how to construct a Link by hand
[00:40:38] <dstufft> lifeless: if it's the wheel building thing, does it build then install, or does it build everything first and then do all the installs?
[00:42:48] <dstufft> I'm not sure there's a great way to do that, though you can pass --dist-dir to put it in a particular directory where it'll be the only thing in there
[04:17:16] <lifeless> if you have any suggestions on how to get more bw from Jason, tht might be useful next week
[04:17:34] <lifeless> right now, I'm -> supermarket
[06:27:29] <Arfrever> dstufft: Please forwardport packaging/specifiers.py part of https://bitbucket.org/pypa/setuptools/commits/7f3453a0063e1033dd4e927de0781c2e0968420d to https://github.com/pypa/packaging/blob/master/packaging/specifiers.py
[16:24:02] <DanielHolth> So are there many dependency cycles on pypi?
[20:32:49] <lifeless> DanielHolth: I haven't quantified it. I know there are some.