[04:47:13] <macopython> I am generating rpm using bdist_rpm approach. But generated rpm doesn't remove installed directory. Any help ?
[16:55:37] <nanonyme> dstufft, well, the mirror our IT is running obviously does not
[16:56:50] <nanonyme> Though yeah, I'll ask about it when I have time. pip 8 isn't really a top priority for me currently
[16:57:00] <dstufft> nanonyme: yea, just saying that the rules are such you can do that.-- Unfortunately this is a situation where there wasn't much we could do but make the change or live with permanent weird-ness and inefficiency around . and - in names
[16:57:33] <nanonyme> Uhm, what was the inefficiency in that?
[16:58:58] <nanonyme> PEP 503 didn't really contain much justification for the normalization
[16:59:16] <nanonyme> Sounds like you did have some reason?
[17:01:27] <dstufft> nanonyme: so setuptools/pip has done the normalization for basically ever, normalization is good because it means "django" and "Django" are the same thing, it also means django-foobar and django.foobar and django_foobar are the same thing, those are less obvious than django vs Django but I think it's important to reduce the confusion that could happen between having django-foobar and django.foobar be different things
[17:02:05] <dstufft> nanonyme: so the normalization is not new, but what is new is that pip requests the normalized version explicitly, it used to be that if you typed ``pip install DjAnGo`` pip would fetch /simple/DjAnGo/
[17:03:30] <dstufft> that means that A) your server would have to be smart enough to redirect all of the un-normalized versions to the "canonical" version and B) pip had to make extra HTTP requests, with an extra C) that if /simple/DjAnGo/ 404'd, pip would then fetch /simple/ and do the normalization dance itself
[17:04:35] <nanonyme> So, do you mean that the reason for normalization is security and prevention of tricking people to install malicious packages?
[17:05:09] <dstufft> by switching it so that pip always requests the normalized form from the server, the server doesn't need to do any sort of redirecting (except to support old versions of pip if they want to do that), that pip needed to make less http requests, and so that we could remove the fallback to /simple/ (which is a ~3.8MB download atm)
[17:05:34] <dstufft> nanonyme: both normalization and user friendliness yes, because it'd be weird if ``pip install django`` failed
[17:09:46] <nanonyme> dstufft, ok. Please mention this kind of stuff as incentive in PEP next time, I started on the matter on the wrong foot
[17:11:03] <prometheanfire> dstufft: cool that works
[17:12:51] <dstufft> nanonyme: sure, it didn't really get added I guess becuase the normalization has existed for like 15 years or so at this point :) What changed was making the expectation that /simple/<normalized>/ would _always_ work regardless of what the "real" name of the thing was, and pip removing the /simple/ fallback
[17:13:46] <nanonyme> dstufft, TBH I didn't even know there was normalization before running into PEP 503 and I suspect majority of users didn't actively think of it
[17:14:57] <nanonyme> As you said, current functionality is user-friendly. It's even so much that people don't really think of what's happening when they're typing package names
[17:15:02] <dstufft> nanonyme: ya, and post PEP 503 most users still don't actively think about it I think-- Longterm, the only time it _should_ come up is when someone is making their own implementation of a repostiory (and in the interim, it comes up when epople have existing repos that don't handle it :( )
[17:15:38] <dstufft> but when both sides are fully PEP 503 compliant, end users don't need to think about it
[17:16:14] <nanonyme> dstufft, well, isn't PEP 503 mainly meant targeted for admins anyway, not end users?
[17:16:46] <dstufft> end users shouldn't need to think about it, the only reason you needed to was the weird in between state when not everything is all caught up
[17:17:00] <nanonyme> So the "why do I need to change my shit, it worked fine before" is a good idea to answer. Admins are typically very conservative people
[17:17:13] <ngoldbaum> it also impacts version numbers that people choose
[17:17:26] <ngoldbaum> i.e. pip might normalize your version number
[17:17:36] <ngoldbaum> but as dstufft said, it's been doing that for a long time
[17:18:05] <dstufft> version normalization is PEP 440, and that's been in for not nearly as long as name normalization, but a few years at this point :D
[17:20:05] <nanonyme> ngoldbaum, just the fact that the behaviour has been there doesn't matter. PEP 503 implies responsibility shift from pip devs to server admins. It's good to argue why to normalize at all imo
[17:23:21] <dstufft> previously the definition of what a repository was was "whatever PyPI does, I guess?"
[17:24:10] <dstufft> whicih sucks if you're trying to implement something and you're not PyPI :) no idea what is important and what is just random implementation details
[17:25:15] <dstufft> PEP 503 attempted to write an actual spec for that, and in the process it invalidated some people's reverse engineered assumptions
[17:38:00] <nanonyme> Yeah, I do get why PEP 503 made sense. It would just imo have made sense to put all of that into PEP 503 so that everyone wouldn't need to explain this same thing to their server admins
[20:32:05] <xz0r> Hi, whatever I try to install via pip I am getting the following error: Cannot fetch index base URL https://pypi.python.org/simple/
[20:32:10] <xz0r> I'm not able to install anything
[20:33:03] <ngoldbaum> you have an old version of pip that needs to be updated