[05:21:03] <agronholm> dstufft: just wondering...if you see werkzeug/flask as MVC, where is the "C" or Controller if not the code that executes queries and renders the templates?
[05:26:58] <dstufft> agronholm: gotta be honest, Id on't really think about it all that often. I call it view because that's what Django called it and that's what I learned :)
[05:27:15] <dstufft> but Django calls itself MVT (Model-View-Template) not MVC
[05:27:39] <agronholm> most other frameworks would call themselves MVC, despite having the same fundamental structure
[05:28:14] <agronholm> the controller is where the business logic happens
[05:28:30] <agronholm> the view is where the visible output is generated
[05:28:42] <agronholm> that is, where the display logic works
[05:31:49] <dstufft> yea, I grok it, and It's mostly out of habit rather than conscious choice :)
[06:49:37] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[06:49:37] <pmxbot> Correct sort order by using list.sort with support for 'key' and 'reverse'. This method is less efficient, but allows the tests to pass.
[15:20:25] <dstufft> it'll redirect any pip-installer.org subdomain or virtualenv.org subdomain (or apex for both) to their respective *.pypa.io domain
[15:20:27] <jezdez> I'd like to move the domains somewhere where I'm not the bottleneck
[15:20:42] <dstufft> If you want to set the DNS up in rackspace that's where the DNS is setup for pypa.io
[15:20:49] <dstufft> do you have those creds? I don't remember if I sent them to you or not
[15:23:14] <dstufft> with SSL for *.pypa.io and pypa.io
[15:25:28] <dstufft> jezdez: as far as domain registration goes, I don't have a good solution for that. Luckily that is something where the settings to fiddle are pretty limited. We could get a team account somewhere, or we could see if the PSF would take ownership of the domains
[15:25:39] <dstufft> or we could just keep owning our respective ones
[17:00:12] <jaraco> jezdez, do you hold the copyright on setuptools_hg (as forked by hgtools)? I'd like to re-license the code under a more liberal license (MIT).
[17:01:00] <jezdez> jaraco: I do indeed. I first released it as MIT IIRC but was told by mercurial devs that I was not allowed to do so due to licensing issues
[17:01:18] <jezdez> I would never use GPL on my own terms :-/
[17:01:43] <jaraco> Oh. That sounds familiar. I think we've discussed that before.
[17:05:58] <dstufft> setuptools_hg can just shell out to avoid GPL taint :V
[17:06:26] <dstufft> at least the FSF (who have an incentive to make the GPL as viral as possible) maintain that shelling out to GPG doesn't taint the calling software
[17:06:30] <Ivo> afaik you'd need to delete the `from mercurial...` code path
[17:06:45] <jezdez> dstufft: it does that if mercurial isn't found
[17:06:47] <tomprince> Does the taint apply to the source code, or only binaries compiled from the joint work?
[17:07:00] <Ivo> whatever is distributed to people
[17:07:52] <jezdez> setuptools_hg is only distributed as non-binary format
[17:08:02] <jezdez> assuming egg files are "binary"
[17:08:41] <jaraco> jezdez: can you comment on https://bitbucket.org/jaraco/hgtools/issue/23/add-a-more-liberal-license indicating that you release setuptools_hg 0.2 under the MIT license as well? I don't think the code base shares any lines, but I want to be sure.
[17:14:30] <dstufft> the tl;dr was something like, it's never been tried in court of ``import gplthing`` triggered the GPL or not, the conservative answer is that importing ~= linking and it does IIRC
[17:17:27] <tomprince> Ivo: The kernel has a bunch of MIT/BSD code in it. The combined work is covered by GPL, but the individual parts aren't.
[17:17:49] <Ivo> tomprince: that's what I mean by 'at least'
[17:18:16] <Ivo> it has to be available under gpl, but can be available under other things too
[17:18:45] <tomprince> The original question was wether having 'import mercurial' made the code GPL, or whether it could just be licensed as MIT (which is compatible with the combined work being GPL.
[17:21:15] <Ivo> the question is if its regarded as significantly derivate work, then it must be under gpl. conservatively since you import from gpl library and make use of a large part of its functionality in your library, then you're a derivative work
[17:21:47] <Ivo> although certainly not a settled issue https://en.wikipedia.org/wiki/GNU_General_Public_License#Linking_and_derived_works
[17:24:14] <Ivo> lgpl is basically gpl with this issue cleared up by explicitly saying linking doesnt infect it
[17:28:24] <Ivo> i suppose you could argue that its only dynamic linking and dynamic linking doesn't neccesitate infection
[17:32:00] <jezdez> jaraco: nice, using sys.modules as a way to not import it :D
[17:33:41] <jaraco> Thanks. I think that will satisfy licensing restrictions, but if there are complaints, I'll just remove that functionality. It's disabled by default anyway because its sandboxing conflicts with setuptools sandboxing (I think).
[17:34:38] <Ivo> its always funny to know that someone would actually have to sue you in court over hgtools for any of this to matter :D
[17:37:14] <dstufft> jimbaker: sorry I had a meeting
[17:39:00] <dstufft> jimbaker: I was actually planning on asking you about that once pip was working there. I wasn't sure what Jython's policy was regarding backporting things from 3.x to 2.x, but yes the ensurepip was 2.7 compat in PyPy
[17:39:22] <dstufft> ensurepip itself is pretty small, ~200CLOC or so
[17:42:36] <jezdez> jaraco: thanks for taking care of setuptools and hg integration
[17:45:54] <jimbaker> dstufft, awesome, that should just work then
[17:46:07] <jimbaker> for stuff like pip, we do not mind backporting - it will help with usability
[17:46:38] <dstufft> jimbaker: I'm assuming ZipImport works on Jython at least
[17:47:17] <jimbaker> dstufft, there are the usual exceptions. so for jython, this means zipimport cannot include jars
[17:47:24] <dstufft> all ensurepip really does is shove a bundled pip wheel (and setuptools wheel) onto sys.path (all a .whl really is, is a zip file) and then import's pip and uses pip to install itself
[17:47:36] <jimbaker> i suppose this could be relaxed but irrelevant to ensurepip
[17:47:42] <jaraco> jezdez, Glad to help. It's a team effort.
[17:49:23] <jimbaker> so ensurepip is just a bundling - one more thing in the stdlib, but ensures upgradeability of pip itself
[17:50:10] <dstufft> jimbaker: yea, the reason we didn't just shove pip in the stdlib is because pip (and packaging as a whole) is moving fast, and as we learned with distutils, baking things into the life cycle of Python means that improvements to the tooling aren't actually useful for a *long* time
[17:50:20] <Ivo> includes a pip package internally, and then installs it into a site-packages if needed
[17:50:43] <dstufft> and we can update the bundled one in maintenance releases
[17:50:45] <jimbaker> dstufft, right, we decided to do the same thing with a bunch of new java integration support
[17:50:52] <jimbaker> which of course requires pip
[17:51:22] <tomprince> jezdez jaraco: That commit looks like meaningless sophistry.
[17:51:25] <jimbaker> (this is our jythontools project)
[17:51:35] <Ivo> jimbaker: some distros have chosen to remove ensure-pip, but always have their distro pip package be installed if python is installed
[17:51:38] <dstufft> jimbaker: I love smaller stdlibs and a helathy ecosystem
[17:51:39] <jimbaker> dstufft, timing wise: beta 3 will be released by end of week
[17:51:50] <jimbaker> i would like for ensurepip to be in beta4
[17:51:55] <jaraco> tomprince, I don't think it is. It specifically requires the client to import mercurial in _their_ code, meaning they're doing the linking.
[17:52:13] <dstufft> jimbaker: my guess is that Jython will be able to more or less just lift the PyPy patch up wholesale, modulo moving paths around
[17:52:16] <jaraco> But then again, maybe you're right.
[17:52:23] <dstufft> the CPython patch used a 3.x only thing or two
[17:52:35] <jimbaker> dstufft, we routinely borrow freely from pypy for this sort of thing ;)
[17:52:55] <dstufft> the distros that have removed ensurepip will likely be adding it back
[17:52:59] <jaraco> But i consider the problem small enough, the integration minimal enough, and the impact of removing the code negligible, so if it comes to it, that's what I'll do.
[17:53:11] <dstufft> the big one I know of are Debian/Ubuntu - and they are just doing policy lawyering
[17:53:17] <jimbaker> so the biggest thing will be just to have a working pip also bundled in for beta 4, which is maybe 2 months out for jython
[17:53:26] <dstufft> jimbaker: sounds reasonable to me
[17:53:34] <dstufft> I want to get the PyPy patch done in the next day or two
[17:53:41] <jaraco> In any case, my intention is clearly documented in the ticket and referenced in the changelog, so if anyone wants to complain, there's full transparency of intent.
[17:53:53] <dstufft> so at that point all Jython would need is for pip to actually work on Jython
[17:54:05] <jimbaker> i think the vendor lib pull request i made for html5lib-python looked good, so hopefully that will get through quickly
[17:54:26] <dstufft> Once they do a release I can probably do another 1.5.X release to bump html5lib
[17:54:39] <tomprince> jaraco: I'm not sure that change is enough to get around any potential GPL restrictions.
[17:55:05] <jimbaker> dstufft, cool, glad this is finally coming together!
[17:55:09] <jaraco> tomprince, acknowledged. You may be right.
[17:55:20] <jimbaker> and also thanks for the ensurepip guidance - looking forward to bundling it!
[17:55:36] <tomprince> jaraco: But as I said, I don't think that the code itself needs to be covered by the GPL.
[17:56:08] <tomprince> Perhaps any use of it would, and I'd be leary of trying to distribute it under a more restritive license without talking to a lawyer.
[17:57:07] <jaraco> tomprince, I'd agree. I also could easily argue that by using the _exact same interface_ as the subprocess invocation, that it's really not linking at all, just entering the same logic in-process rather than as a subprocess.
[17:58:41] <tomprince> I'd say just license the code as MIT (or whatever), but maybe put a warning that because the code imports mercurial, using it may be subject to the GPL.
[17:59:05] <jaraco> I've pinged him in the ticket, so he may choose to comment.
[18:01:09] <Ivo> im not sure if his answer would have changed from what was linked above
[18:01:32] <Ivo> always 'maybe' until some court cases come up (yay!)
[18:03:36] <tomprince> Ivo: He also said it depends on the specific circumstances, which this is. Also, that was general legal advice to all and sundry, rather than a specfic legal recomendation.
[18:56:45] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[18:56:45] <pmxbot> Add Python 3.4 as a testable version. Bump version pulled in bootstrap test.
[20:27:18] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[20:27:18] <pmxbot> Just suppress the spurious IndexError when it happens. Rely on the environments where the behavior doesn't fail until the upstream issue can be resolved. Fixes #201.
[22:13:10] <dstufft> "Things like pip and virtualenv make working with Python packages generally pleasant, but as a total beginner, I felt lost until I found PUG"
[22:21:16] <qwcode> this section has some of the most promise I think for helping people "in the real world of deployment" http://packaging.python.org/en/latest/deployment.html
[22:21:31] <qwcode> not sure people realize the PUG is attempting that topic
[22:21:58] <qwcode> the problem is everyone is still figuring that out, including me
[22:23:39] <Ivo> people deploying stuff should just not need binary packages, then everything would be fine.
[22:24:52] <qwcode> even ignoring external dependencies, you still have to decide what method to choose to deploy your app as part of your SDLC.
[22:26:28] <qwcode> even assuming you're using CFM (puppet, chef etc..), you have to sort our whether you'll bundle it as an rpm, or use some kind of module for building out virtualenvs
[22:26:32] <Ivo> dstufft: that's a cool little project of theirs!
[22:28:16] <Ivo> docker is the hip way to package things these days right
[22:28:19] <qwcode> ftr, I asked tarek to pull down the HHGTP. that would help
[22:28:51] <qwcode> yea, docker should have a place on that page too
[22:29:17] <Ivo> I bet there would be quite a few internet links points to HHGTP