PMXBOT Log file Viewer

Help | Karma | Search:

#pypa logs for Sunday the 20th of April, 2014

(Back to #pypa overview) (Back to channel listing) (Animate logs)
[03:39:03] <dstufft> glyph: https://github.com/pypa/pip/issues/1733#issuecomment-40886959
[06:53:27] <agronholm> pypi seems broken
[06:53:35] <agronholm> Error 503 backend read error
[06:55:34] <Alex_Gaynor> looks like there' was a hiccup a minute ago, but it's ok now
[06:56:09] <agronholm> still getting errors
[06:56:14] <Alex_Gaynor> hmm
[13:54:33] <apollo13> dstufft: you are fast :)
[13:54:46] <dstufft> :]
[17:02:45] <zyga> dstufft: if you get tired of twitter...
[17:03:11] <dstufft> zyga: heh, heya
[17:03:42] <dstufft> So, depending on something is a no-go in pip. We have one sort of dependency right now (setuptools) and having that has caused massive headaches
[17:04:04] <zyga> dstufft: when you mentioned it's pip I realized it's a chicken-and-egg situation
[17:04:06] <dstufft> Even if debian and such will patch it out, there's still OSX and Windows, and also virtualenvs and the like
[17:04:57] <zyga> dstufft: but for xdg it might (*might*) make sense to reconsider how your downstreams will consume it (on foss platforms), debian will most certainly patch the copy of python-xdg (if you choose to use it) with a plain dependency, for windows and osx that is not a dependency so I'd say it's a bit special
[17:05:20] <zyga> dstufft: venvs will be the same, venv uses (will use?) distro pip
[17:05:34] <dstufft> zyga: no, virtualenv uses a bundled copy of pip which is not patched by the OS
[17:05:40] <dstufft> each virtualenv get's it's own copy of pip
[17:05:50] <zyga> dstufft: IIRC Fedora will change that now
[17:06:16] <zyga> dstufft: and Debian folks wanted to stay in sync with fedora no to deviate too much without reasons (though you probably recall barry's comments on boostrapping issues)
[17:06:31] <dstufft> It's still up for debate, I don't think the rewheel thing is going to be a generally good idea unless rewheel also rebundled
[17:06:33] <zyga> dstufft: though I believe you are right with what is there now
[17:07:32] <dstufft> But we can't conditionally add stuff to pip's source, so even if debian and them rip it out, and it's only useful on Linux, we have to bundle it in a way that it'll always be available
[17:07:49] <zyga> dstufft: right now pip is bundled as a wheel (Debian)
[17:07:59] <dstufft> and I have no idea what the legal rammifications are if we add a LGPL library directly to our source in pip._vendor.xdg
[17:08:12] <zyga> dstufft: hmm, what if you *don't* bundle it
[17:08:22] <dstufft> If we don't bundle it then things will break
[17:08:29] <zyga> dstufft: but just depend on it (crazy a bit) and work with downstreams to package it correctly?
[17:08:54] <zyga> dstufft: there's the use case of pip-from-source but I don't know how important that is on linux really
[17:08:58] <dstufft> A lot of people don't install pip from the OS packages and they use get-pip.py too
[17:09:01] <zyga> dstufft: though this is a minor issue, xdg is tiny as you said
[17:09:16] <zyga> dstufft: IHMO that's crazy (though pip is becoming more and more safe)
[17:09:29] <dstufft> zyga: Well, I don't think it's too crazy
[17:09:44] <dstufft> right now if I think only Ubuntu 14.04 has a copy of pip that isn't grossly insecure
[17:09:45] <zyga> dstufft: I'd love to know the rationale for doing that (though this is somewhat tangent to the problem you are trying to solve)
[17:09:49] <dstufft> and Debian sid
[17:10:05] <Alex_Gaynor> it's not like there's a package manager for OS X or windows, and debian is almost always out of date with the latest pip
[17:10:51] <zyga> Alex_Gaynor: I didn't mean the alternative to not running get-pip.py is running old pip, there are backports and other "proper" ways to use latest software on production releases
[17:11:03] <dstufft> proper ways are harder :]
[17:11:19] <apollo13> Alex_Gaynor: yeah 1.5.4 is really out dated
[17:11:23] <zyga> Alex_Gaynor: get-pip.py (perhaps it is far better than average) is the windows style of 'download exe and hope for the best' that people really need to be steered away from
[17:11:23] <dstufft> Afaik nobody has backported newer versions of pip to those older releases
[17:11:34] <apollo13> be should kick debian to get 1.6 in :þ
[17:11:49] <zyga> lots of folks care about python and debian
[17:11:55] <zyga> and they have good intentions too :)
[17:12:07] <dstufft> I tried to backport TLS verification to 1.0 and 1.1 which is what the LTS versions of Ubuntu and the latest stable of Debian had
[17:12:19] <dstufft> but the diff between that and 1.3 was too big :(
[17:12:59] <dstufft> I mean generally I try to point people towards installing from Os packages where it makes sense, but I doubt people are going to stop doing that anytime soon :]
[17:13:05] <dstufft> er stop not doing that*
[17:13:21] <dstufft> and it's better to not be broken than to be broken and tell someone they did something wrong
[17:13:47] <zyga> right, it's a process, we just need to make (from both sides of upstream/distro) to make it easier and better to do the right thing
[17:14:00] <zyga> and fix stuff that prevents making the right thing easy/possible
[17:14:52] <dstufft> We actually try real hard to make it easy for Downstream to un-vendor stuff (although I wish they wouldn't) :]
[17:15:23] <dstufft> We only will vendor released versions, and we have a policy against patches except so as to make vendoring work (e.g. we pretty much can only change import statements to import other vendored stuff)
[17:15:51] <zyga> dstufft: there's a lot of discussion around vendoring, I think it's not such black-and-white as many people make it but there are good arguments on both sides, still for some parts of the OS un-vendoring is essential
[17:16:05] <dstufft> zyga: yea I don't want people to generally vendor
[17:16:11] <dstufft> I view it as a special case :]
[17:17:00] <dstufft> pip vendors because it depends on these things, and if they aren't there or are the wrong version you lose the ability to use pip. If it was something other than pip you could just use pip to fix it, but if you break pip you're stuck with manually installing stuff
[17:17:46] <dstufft> This is lessened on OSs with a package manager because you can fix it with the OS package manager generally (although not always), but that doesn't work in virtualenvs
[17:19:38] <zyga> I think one thing that pip does that makes not vendoring stuff difficult is the desire to support old stuff (that distributions would like to forget and move on), this is what makes pip popular and useful but it's carries a price
[17:20:06] <dstufft> Luckily XDG is as easy as os.path.expanduser(os.path.join(os.environ.get("XDG_USER_CONFIG", "~/.config")), "pip", "pip.conf")
[17:20:29] <zyga> dstufft: yeah :)
[17:20:55] <dstufft> figuring ou what goes where on OSX and Windows is the annoying part of this whole thing :[
[17:21:03] <zyga> dstufft: don't you use osx daily?
[17:21:16] <zyga> dstufft: ~/Library (or was it ~/Preferences?)
[17:21:17] <apollo13> doesn't make it any easier :þ
[17:21:42] <dstufft> zyga: Yup, but most stuff that uses the built in OSX directories has a preference pane, everything else just uses ~/.something
[17:22:01] <zyga> dstufft: so behind the preference pane there are files, those files have good placement
[17:22:03] <dstufft> There's ~/Library/Preferences, but it only has plists in it, so no idea if it's OK to put an ini style file in there or not
[17:22:19] <dstufft> there's also ~/Library/Application Support/ which some apps use for configuration
[17:22:27] <zyga> dstufft: I guess not using ~/.crap is infinitely better than using ~/Library poorly (if that can be done poorly at all)
[17:22:38] <zyga> dstufft: only plists?
[17:22:48] <apollo13> dstufft: so why not use plists *runs*
[17:23:16] <dstufft> apollo13: I acually considered the idea of making a preference pane for pip :]
[17:23:25] <dstufft> but I think ``pip config`` is better
[17:23:48] <zyga> dstufft: so while we're at it
[17:23:52] <dstufft> zyga: yea, plist file are the config file format that preference panes use
[17:23:57] <zyga> dstufft: is there an issue not to store secrets in plain files?
[17:24:13] <dstufft> zyga: which secrets are stored in plain files in pip?
[17:24:14] <zyga> dstufft: I know plists are fairly popular on osx
[17:24:33] <zyga> dstufft: ohhh, my mistake, other secret
[17:24:44] <dstufft> you mean for uploading?
[17:24:45] <zyga> other tool
[17:24:57] <zyga> yeah, I thought that was in the same file, I just looked
[17:25:07] <dstufft> Yea that's in ~/.pypirc
[17:25:19] <dstufft> That's in core Python, but I think distutils is bad :]
[17:25:42] <dstufft> I have twine -> https://warehouse.python.org/project/twine/ which supports ~/.pypirc bu also passing things in on the CLI
[17:25:51] <dstufft> there's a PR that'll have it ask for passwords too using getpass
[17:26:05] <zyga> warehouse.p.o? is that crate.io redux?
[17:26:06] <dstufft> and I think it'd be reasoanble to support storing it in the OS keychain too
[17:26:19] <dstufft> zyga: oh, warehouse.python.org is the demo site for PyPI 2.0
[17:26:24] <zyga> oh, nice
[17:26:37] <dstufft> It'll move to pypi.python.org once it's ready to be moved to production
[17:27:07] <dstufft> I've been using warehouse.p.o full time to try and iron out bugs and annoyances, I forget about it when I link it to folks :]
[17:27:29] <zyga> dstufft: I'll use it for my uploads and see if I can find anything broken
[17:27:44] <dstufft> The twine tool is better than distutils anyways
[17:27:48] <dstufft> distutils doesn't use HTTPS
[17:28:00] <dstufft> nor verify it if you tell it to use https
[17:28:05] <zyga> though unlike you, probably, I'm using py3k exclusively
[17:28:27] <zyga> dstufft: twine isn't in debian, is there any reason for that?
[17:28:46] <dstufft> my ``python`` is Python 3.4 and I do all my development in Python 3.4, but I support all the way back to 2.6
[17:29:11] <dstufft> zyga: Probably just nobody has ever done it. I more or less ignore the downstream packages and let them do their thing
[17:29:22] <dstufft> and if they ask me for something, if it's reasonable, I'll do it
[17:29:27] <zyga> dstufft: right, that's the difference, I took some debian code lately and threw 2.x support away, as I only need it to work on 3.2+, it is really refreshing when you can do that
[17:29:52] <zyga> dstufft: I can package twine, the more the merrier (in Debian)
[17:43:39] <zyga> dstufft: so looking at warehouse.p.o how do I get the upstream signing key and where is the signature itself
[17:44:40] <dstufft> zyga: the signature itself should be in a (pgp) link after the filename (look at sdist on https://warehouse.python.org/project/cryptography/)
[17:44:59] <dstufft> the upstream signing key isn't exposed anywhere yet
[17:45:20] <zyga> dstufft: https://warehouse.python.org/packages/source/t/twine/twine-1.3.0.tar.gz.{pgp,asc} would be lovely
[17:45:42] <apollo13> dstufft: why didn't you sign the whl?
[17:45:57] <zyga> oh, it's just not signed!
[17:45:58] <dstufft> zyga: oh I probably forgot to do -s when I uploaded it
[17:46:05] <zyga> dstufft: neither the .whl nor the .tar.gz are signed
[17:46:11] <zyga> (talk about the irony!)
[17:46:56] <dstufft> Hm
[17:47:03] <dstufft> I wonder if I can upload a signature after the fact
[17:47:08] <dstufft> or if I need to make a new release tod o it
[17:47:13] <dstufft> I'll just make a 1.3.1
[17:47:26] <zyga> dstufft: you could on old pypi
[17:47:42] <dstufft> I'm not sure if twine lets me upload a signature after the fact
[17:47:44] <dstufft> I don't think it does
[17:49:43] <dstufft> zyga: there you go, 1.3.1 has sigs
[17:53:46] <zyga> dstufft: thanks, I just filed ITP have started looking at the packaging
[17:54:39] <zyga> dstufft: where might I find your armoured public gpg key?
[17:58:37] <zyga> dstufft: it's 2014 now (copyright)
[18:01:40] <zyga> dstufft: which version of requests/pkginfo does twine really require?
[18:02:46] <dstufft> zyga: https://caremad.io/dstufft.pgp
[18:03:38] <dstufft> zyga: probably 2.x for requests, maybe 1.x or 2.x
[18:04:06] <dstufft> I think any version for pkginfo
[18:05:13] <dstufft> The PGP key fingerprint is on https://caremad.io/about/ if that's easier for you
[18:05:21] <zyga> dstufft: no, that's fine
[18:05:24] <zyga> dstufft: thanks
[18:05:41] <zyga> dstufft: does twine make sense as a library (so that python2 and python3 versions can be co-installed) or just as an executable?
[18:06:15] <dstufft> zyga: a few people want to use it as a library and have submitted PRs to make it act like that, but generally I think it's mostly useful as an executable
[18:06:27] <zyga> dstufft: ok, thanks
[18:06:58] <zyga> dstufft: I see that python-pkginfo has no python3 version at the time (in Debian) and is pretty old (0.9.1)
[18:07:25] <zyga> dstufft: though it's in the area I can commit to so I can release it
[18:07:44] <zyga> well, put the new release to debian
[18:22:30] <zyga> dstufft: what is the 'releases' sphinx extension and where do I get it?
[18:27:50] <zyga> dstufft: is that https://github.com/bitprophet/releases
[18:37:13] <dstufft> zyga: yea
[18:37:30] <dstufft> I'll probably rip that out eventually
[18:37:34] <dstufft> Not sure it actually helped much
[18:37:39] <zyga> dstufft: I'm just packaging it now
[18:54:02] <zyga> dstufft: it'd be really nice if twine had a real man page
[18:54:07] <zyga> dstufft: the current one is a bit empty
[18:54:24] <zyga> dstufft: do you think you could quickly write a few words (specifically for the man page)
[18:55:07] <zyga> dstufft: ideally there would be two twine(1) and twine-upload(1)
[18:55:14] <zyga> dstufft: both can be really short if to the point
[18:55:20] <zyga> dstufft: everything else is ready
[19:08:26] <dstufft> zyga: I've never written a manpage in my life
[19:08:30] <dstufft> I don't even know how
[19:08:38] <zyga> dstufft: using .rst
[19:08:43] <zyga> dstufft: it's super trivial
[19:09:02] <zyga> dstufft: let me show you my (crappy) man page
[19:09:23] <zyga> http://bazaar.launchpad.net/~checkbox-dev/checkbox/trunk/view/head:/plainbox/docs/manpages/plainbox.rst
[19:09:41] <zyga> dstufft: enough to let the user (developer) figure out how to use it
[19:10:20] <zyga> dstufft: look at man git man git-$foo for hints (since you seem to follow the same dispatcher->subcommands style
[19:10:37] <dstufft> zyga: Ok, I'll see what I can do. I'm up and down for easter stuff atm so it might take awhile
[19:10:41] <zyga> dstufft: then when you get that just add a few lines to conf.py: http://bazaar.launchpad.net/~checkbox-dev/checkbox/trunk/view/head:/plainbox/docs/conf.py#L238
[19:10:56] <zyga> dstufft: the only reason I'm here is that easter food made me unable to move ^_^
[19:11:30] <zyga> dstufft: the hint in the conf.py comment tells you what to put in man_pages = there
[19:11:40] <zyga> dstufft: are you ever using debian?
[19:12:05] <zyga> dstufft: BTW, pip could be much better to promote having man pages if pip install --user foo would enable the manpages done by foo (and build them if there's some hint they exist)
[19:12:14] <dstufft> I use Debian and/or ubuntu for servers sometimes
[19:12:30] <dstufft> though i've started to use some CentOS lately for that
[19:12:47] <dstufft> I tried using Ubuntu on my Desktop ~2 years ago or so and got really frustrated
[19:12:53] <zyga> dstufft: man pages are great, despite what all the 2.0 ajax css magic people tell you ;)
[19:13:11] <dstufft> I never internalized man pages :/
[19:13:26] <zyga> dstufft: internalized?
[19:13:33] <dstufft> like groked how to use them
[19:13:34] <Alex_Gaynor> I try "--help" before "man" almost always. :shrug:
[19:13:48] <dstufft> I don't know how to navigate them other than hit spacebar and often times I go too far and idk how to go backwards
[19:13:49] <zyga> dstufft: man man ;)
[19:13:54] <zyga> dstufft: just go up and down
[19:13:55] <dstufft> I try --help before man too
[19:14:07] <dstufft> and then I try googling whatever
[19:14:12] <dstufft> man is like my last resort
[19:14:14] <zyga> dstufft: --help is good but a dedicated man page can give a lot more context and insight
[19:14:48] <zyga> dstufft: (when you have a few hours to burn, read perl man pages, man perl is the index, it's a bit crazy but you can learn everything just from the man pages there
[19:15:12] <dstufft> yea I understand why they're useful, I just don't use them because the UI has frustrated me :]
[19:15:17] <Alex_Gaynor> I guess there is one time I use man pages: random C functions and syscalls.
[19:15:19] <zyga> dstufft: anyway, thanks for twine, I'll send RFS to my sponsorts to get twine and requests uploaded to sid
[19:15:29] <zyga> Alex_Gaynor: very true
[19:16:06] <zyga> Alex_Gaynor: system level software and developer software is expected to carry man pages for all the system engineers that really expect man/apropos anything
[19:16:06] <dstufft> luckily I avoid C so I don't have to worry about random c functions!
[19:16:42] <Alex_Gaynor> The assosciation between `man` and OpenSSL doesn't really do `man` any favors.
[19:16:53] <dstufft> heh
[19:17:05] <dstufft> I know like zero C, like a tiny little bit I can kind of grok simple C
[19:17:14] <dstufft> enough to bind stuff with cffi at least
[19:17:24] <zyga> :-)
[19:17:48] <zyga> dstufft: being in python for so long made me learn assembly and work on embedded stuff (no-os type embedded)
[19:17:53] <zyga> dstufft: not to forget wich way the bits go
[19:17:58] <zyga> dstufft: in python it's too easy to forget
[19:20:28] <dstufft> :]
[19:20:30] <dstufft> dinner time!
[19:34:13] <zyga> dstufft: can you please link changelog from index.rst TOC?
[19:34:20] <zyga> dstufft: thanks