[00:18:54] <berker> anyone have time to review https://github.com/pypa/pip/pull/2986 ? (I can also help with reviewing some PRs - I reviewed https://github.com/pypa/pip/pull/2980 a while ago, for example)
[19:48:35] <dstufft> lifeless: I've slept 2 hours in the past 48 hours, but I can devote whatever time you need right now, but the quality of the time may not be as great as I'd like :)
[19:52:50] <lifeless> dstufft: meep, everything ok ?
[19:53:19] <dstufft> lifeless: yea, I was just sick last week and got my sleep schedule inverted, then Alyssa had skate camp starting today so I couldn't sleep all day
[19:53:33] <dstufft> since I had to drop her off/pick her up
[19:55:36] <lifeless> 1) assertion: pip shouldn't grow to installing non-python things. e.g. general shared libraries. Agree or disagree ?
[19:56:15] <lifeless> 2) assertion: pip should grow to understanding the presence/absence of non-python things needed to run python things. e.g. that a given header file, executable, or library file is present
[19:56:59] <lifeless> 3) design discussion: should the things referred to in 2) be in the same language as existing dependencies (e.g. lib!libblas1.so could be placed in an install_requires line)
[19:57:23] <lifeless> or should they be partitioned off, which will drive having separate lists all over the place
[19:57:44] <dstufft> 1) Agree-ish. If someone shoves openssl into a wheel I think it's reasonable to install it, but we're unlikely to add any particular features or abilities specifically for installing non-python thingsd
[20:02:18] <lifeless> so I think this would supercede that
[20:02:43] <lifeless> the specific cases we've been talking through are actual library files on windows/fedora/sue/bsd and how to deal with both source and binary deps
[20:04:51] <lifeless> fast errors rather than slow-after-compile-fails errors
[20:05:00] <lifeless> and clearer errors rather than compiler spew
[20:06:01] <lifeless> the proposal is essentially two things: a schema for external requirements and a modular platform translation layer (that e.g. conda would provide) to translate 'libblas1.so' [which is a specific known quantity] into 'blas' or whatever the vendors package name is
[20:06:17] <lifeless> the question about what list they go into
[20:06:57] <lifeless> I think it would be useful for deployments to be able to list those requirements in requirements.txt files, so that they get the same benefits for existing already uploaded packages
[20:07:01] <lifeless> [por packages with bad metadata]
[20:12:08] <dstufft> This sounds similar to some rough thoughts I had thought about before, but that I hadn't bothered to really move beyond the "random idea" stage
[20:12:44] <lifeless> there are plenty of questions like 'should it specify a filename (lib!libblas1.so) or should it specify a more abstract thing (lib!blas==1.0)
[20:12:53] <lifeless> which we'll need to iron out
[20:13:09] <lifeless> with digging into library semantics on mac/windows/linux
[20:16:32] <dstufft> I think I should probably warn that it feels like something that might be pretty solidly metadata 2.0 territory, but I wouldn't bet the farm that it can't be done in a way that can be integrated into the current metadata