PMXBOT Log file Viewer

Help | Karma | Search:

#pypa-dev logs for Friday the 17th of April, 2015

(Back to #pypa-dev overview) (Back to channel listing) (Animate logs)
[00:08:08] <lifeless> dstufft: https://github.com/pypa/pip/issues/2669 is a little concerning
[00:08:43] <dstufft> lifeless: yea
[00:08:47] <dstufft> not sure what's causing that
[00:11:22] <lifeless> dstufft: could you close https://github.com/pypa/pip/issues/2673 as a dup of 2669?
[00:12:50] <lifeless> dstufft: thanks; I would have, but no tracker privileges ;)
[00:18:30] <dstufft> lifeless: heh, no worries. I wish that github let us open up the tracker for anyone to mess with it
[00:19:46] <lifeless> dstufft: you might want to close the older request for subcommands too
[00:19:56] <lifeless> https://github.com/pypa/pip/pull/2329 specifically
[00:19:57] <lifeless> dunno
[00:20:44] <lifeless> is there some metadata controlling bdist_wheel
[00:20:49] <lifeless> I mean, we don't know what options to run it with
[00:20:57] <lifeless> on a per-package basis I mean
[00:21:02] <lifeless> so e.g. minor version incompat etc
[00:27:05] <lifeless> dstufft: https://github.com/pypa/pip/issues/2672 may be closed too, IMO
[00:28:11] <lifeless> dstufft: ditto https://github.com/pypa/pip/issues/2671, perhaps.
[00:29:22] <dstufft> lifeless: so I'm not opposed to do the idea in general of adding commands (though I'm not entirely for it), if we do it add commands I don't think git style is the way to go, we'd probably want to use entry points to discover the commands since that's tied to your environment more
[00:31:35] <lifeless> kk
[00:37:06] <lifeless> dstufft: https://github.com/pypa/pip/issues/2667 can be closed too
[00:42:39] <dstufft> lifeless: thanks, updated things
[00:44:17] <lifeless> dstufft: and pong back to you on https://github.com/pypa/pip/issues/2671#issuecomment-93868586 :)
[01:20:09] <lifeless> dstufft: ok, I need a decision on the blacklist ;)
[01:22:00] <dstufft> https://github.com/pypa/pip/issues/2675 this one?
[01:23:22] <dstufft> lifeless: ^
[01:23:53] <lifeless> dstufft: yes, just added a comment now
[01:25:46] <lifeless> dstufft: given https://github.com/pypa/pip/issues/2676#issuecomment-93870179 - is it a release blocker?
[01:54:35] <lifeless> dstufft: oh, we use optparse
[02:13:52] <lifeless> dstufft: should all options be defined in cmdoptions ?
[02:16:16] <dstufft> lifeless: generally options that are either general options (they apply to call pip commands no matter what) or options for dealing with indexes go in cmdoptions, I think the blacklist probably are index options since they're going to possibly change what versions of something you're going to get from the index
[02:17:28] <lifeless> k
[02:17:36] <lifeless> pip wheel --no-use-wheel makes me want to cry though
[02:19:32] <dstufft> lifeless: well if we deprecate --no-use-wheel inf avor of --no-bunary, you'd use that if you wanted to compile all your own wheels and don't want to use the ones from PyPI at all yea?
[02:19:46] <dstufft> not sure if you mean the concept or the name makes you want to cry
[02:20:02] <lifeless> just the command line
[02:20:23] <lifeless> I realise its utility
[02:20:26] <dstufft> yea, I think we should just deprecate --no-use-wheel and --use-wheel in favor of your new flags
[02:21:43] <lifeless> dstufft: any objection to having a subclass of Option ?
[02:22:30] <lifeless> dstufft: I'm not clear why the indirection via OptionMaker exists
[02:22:42] <lifeless> dstufft: and I don't want to break something important
[02:22:46] <dstufft> lifeless: No idea, that code predates me by a signicant margin
[02:22:50] <dstufft> I don't really know it very well
[02:23:02] <lifeless> its not idiomatic optparse, thats for sure
[02:23:06] <dstufft> it's not great code, wihch is why I hope to replace it with click
[02:23:28] <lifeless> ok, well I'll do something different and folk can explain why that is an issue in review
[02:25:57] <dstufft> lifeless: sounds fine to me
[02:34:34] <lifeless> god
[02:34:42] <lifeless> I want to rip the current cmd stuff up. May I?
[02:34:54] <lifeless> I now understand it, and its just cruft
[02:35:02] <lifeless> (AFAICT)
[02:38:40] <dstufft> lifeless: if you're going to do a refactor I'd prefer that live in it's own PR, but if you want to do one that's fine with me
[02:52:04] <lifeless> dstufft: two commits, you can assess yourself :)
[02:52:17] <lifeless> it doesn't affect my main work, just hygiene
[02:56:35] <dstufft> lifeless: looks fine to me
[02:57:35] <lifeless> the next logical cleanup would be to fix the 'pip parse's general options twice internally' ting
[02:57:55] <lifeless> which would mean that simple single instantation would suffice, given some glue for the test suite
[03:02:50] <dstufft> lifeless: test fialures trying to build the docs btw
[03:03:06] <lifeless> nurg
[03:03:09] <lifeless> I'll swing back to that
[03:03:54] <lifeless> oh, its easy
[03:14:34] <lifeless> dstufft: FWIW this is all that is needed to support no arg
[03:14:35] <lifeless> http://paste.ubuntu.com/10836477/
[03:16:29] <dstufft> lifeless: Am I correct in that you have to do ---no-binary=foo,bar, you can't do --no-binary foo,bar?
[03:17:11] <lifeless> dstufft: no
[03:17:30] <lifeless> pip install --no-binary foo,bar
[03:17:30] <lifeless> ['foo', 'bar']
[03:18:10] <lifeless> oh, --no-binary=foo,bar is throwing a complaint. Let me poke just a little at that
[03:18:13] <dstufft> lifeless: if I do pip install --no-binary lxml thingthatdependsonlxml, how does it know if lxml is an argument to --no-binary or it's a package to install?
[03:18:46] <lifeless> yeah, ambiguity. Shall see if I can do something nice,otherwise its :all:.
[03:18:56] <lifeless> note that i need the callback regardless to deal with resetting etc
[03:20:10] <lifeless> ok, I can't see a good way to make optparse treat this as needing an =
[03:20:22] <lifeless> so :all: it is
[03:21:30] <lifeless> hah
[03:21:38] <lifeless> pip install --no-binary --no-use-wheel
[03:21:38] <lifeless> ['--no-use-wheel']
[03:21:41] <lifeless> not what I intended
[03:22:34] <lifeless> I wonder if thats my callback at fault, or other plumbing.
[03:22:41] <lifeless> I shall ensure it isn't in what I end up with
[03:22:48] <dstufft> that happens already I think for other options
[03:22:59] <lifeless> oh, if thats the case then I won't stress
[03:23:04] <dstufft> if it knows that --no-binary takes an option, it doesn't know what a valid looks like
[03:23:19] <dstufft> I think
[03:23:20] <lifeless> we can define a type to make that happen
[03:23:27] <dstufft> I'd have to check to be sure
[03:23:28] <lifeless> e.g. non_dash_str
[03:25:08] <qwcode> ok, merged
[03:30:34] <qwcode> dstufft, is there an imminent click-rehaul coming from anyone? I'm close to a PR for replacing the custom/duplicate parsing in pip.req.req_file and just reusing the cmdoptions.
[03:34:23] <dstufft> qwcode: Imminent? Not imminent. I want todo it but I'm focusing mostly on Warehouse ATM
[03:34:40] <lifeless> qwcode: get ya thing in quick before its clicked :)
[03:36:13] <qwcode> ok, in any case I think it will make the rehaul easier, since everything will be tied to the same options, vs right now it's redefining everything with raw strings and doing manual parsing which seems crazy
[03:37:49] <qwcode> lifeless, btw, you can blame me for OptionMaker. pertty dumb looking after seeing your refactor.
[03:38:36] <qwcode> but we had a number of state bugs before... ideally click could wash all that away
[03:40:12] <lifeless> qwcode: heh, yes, the double-parse thing was very non-obvious to me, fortunately the comment at the top cleared it up
[03:41:59] <qwcode> you've motivated me to look at more itertools and functools more often... : )
[03:47:40] <lifeless> dstufft: when should use-wheel be removed?
[03:48:06] <lifeless> qwcode: there is some beautiful stuff in there
[03:48:28] <dstufft> lifeless: uh 9 I think, is that the latest version in the derpecated utils?
[03:48:33] <dstufft> I bumped it when I removed stuff
[03:48:41] <lifeless> ahha
[03:48:53] <lifeless> there are two
[03:48:57] <lifeless> 8 and 9
[03:57:29] <dstufft> lifeless: yea, 9 then
[04:08:56] <lifeless> hmm
[04:09:03] <lifeless> where is the package name canonicaliser thingy
[04:20:10] <lifeless> yay
[04:20:11] <lifeless> PYTHONPATH=. pip install --no-binary bar --only-binary bar --no-use-wheel
[04:20:11] <lifeless> /home/robertc/work/pip/pip/cmdoptions.py:39: UserWarning: --no-use-wheel is deprecated and will be removed in the future. Please use --no-binary :all: instead.
[04:20:14] <lifeless> '--no-use-wheel is deprecated and will be removed in the future. '
[04:20:16] <lifeless> FormatControl(no_binary=[':all:'], only_binary=[])
[04:20:39] <lifeless> right, some some interpretative glue to spread around and this will be ready early next week
[04:21:01] <lifeless> dstufft: since my weekend is happening now, could I ask a favour of your tomorrow
[04:21:24] <dstufft> lifeless: sup?
[04:21:26] <lifeless> dstufft: make sure that all the release blockers are suitable for me to suit-up-and-code-on? Since your Sunday is my Monday
[04:21:33] <lifeless> and I don't want to be pestering you on your weekend
[04:22:33] <dstufft> lifeless: sure
[04:22:37] <lifeless> dstufft: thanks!
[04:23:28] <lifeless> dstufft: also if you can point me at the package name canonicalising function, I can't seem to find the durn thing
[04:23:46] <dstufft> lifeless: pkg_resources.safe_name().lower() you mean?
[04:23:56] <lifeless> so that pip install --no-binary bar-foo --only-binary Bar_foo
[04:24:07] <lifeless> knows to not have the same package on both sides
[04:24:09] <dstufft> yea pkg_reosurces.safe_name().lower()
[04:24:12] <lifeless> cool
[04:24:13] <lifeless> thanks
[04:24:26] <dstufft> imported from pip._vendor ofc
[04:25:35] <lifeless> pip install --no-binary bar-foo --only-binary Bar_foo
[04:25:35] <lifeless> FormatControl(no_binary=[], only_binary=['bar-foo'])
[04:25:42] <lifeless> right, off to pick up C
[18:49:50] <lifeless> *blink* Was that a depramination? I thought my request was reasonable