[16:45:01] <gsnedders> Is there any way to have requirements files that support both old and current setuptools versions given the change from "platform_python_implementation" and "python_implementation"?
[16:49:18] <dstufft> gsnedders: I think setuptools restored compatbility with that
[16:49:35] <dstufft> e.g. there is a few setuptools versions in there that no, there isn't, but the newest ones support both
[18:15:01] <gsnedders> dstufft: I thought that looking at the version changes, but the latest still gives 'SyntaxError: invalid expression: python_implementation'
[18:15:28] <gsnedders> dstufft: packaging bug that should be fixed?
[18:18:00] <gsnedders> It kinda sucks, esp. if any distros have shipped with a broken version of setuptools
[18:19:20] <gsnedders> dstufft: https://github.com/pypa/setuptools/issues/503 makes it look like it should be fixed, given https://github.com/pypa/packaging/issues/70 is explicitly python_implementation
[18:19:42] <gsnedders> oh, is that "platform.python_implementation"?
[18:23:39] <gsnedders> dstufft: oh, this stuff in html5lib comes from your PR anyway when all this stuff around requirements was totally undocumented anywhere :)
[18:24:06] <gsnedders> dstufft: (I mean except for the PEP 345 stuff, which obviously doesn't directly apply)
[18:25:15] <dstufft> Markers has a sordid history of like 3 different implementations implementing slightly different things
[18:26:19] <gsnedders> yeah, I've learnt that over the past few days…
[18:26:48] <dstufft> packaging should hopefully support all the old shit for legacy reasons
[18:30:13] <dstufft> MOVE FAST(ER) AND BREAK THINGS
[18:45:35] <gsnedders> https://github.com/pypa/setuptools/commit/3bd5118eaa87b4f6598e0a473fec3623b6579d3b — that changes pkg_resources/_vendor/packaging/markers.py, but I can't find a corresponding change in the packaging repo?
[18:47:44] <gsnedders> oh, right, it's the fact that setuptools did some unidifcation of markers before the upstream packaging did?
[18:47:56] <gsnedders> but that history is only reflected in the setuptools repo?
[19:12:43] <gsnedders> dstufft: https://github.com/pypa/packaging/issues/72 I think is a summary of it, FYI
[19:41:23] <dstufft> I wonder if we should normalize these legacy things
[19:41:32] <dstufft> right now we'll parse them, but never actually evaluate them
[19:42:26] <dstufft> making it an error to actually use them unless the caller of Marker().evaluate() passes them in
[19:42:56] <dstufft> which seems less useful than if we jsut added them to the default environment as aliases (or normalized them internally to the non-legacy name)
[19:44:07] <gsnedders> I feel like there's a fair bit of complexity around this code I haven't got my head around
[19:45:21] <gsnedders> The test is literally useless.
[19:46:30] <gsnedders> (it uses the PEP 345 syntax!)
[19:47:02] <gsnedders> dstufft: how does platform.python_implementation work from platform_python_implementation in the environment?
[19:47:49] <gsnedders> dstufft: see the platform.python_implementation test
[19:48:27] <dstufft> gsnedders: yea that's basically what I was just saying right now. Right now the parser won't choke on parsing something that uses any of the legacy specifiers, but we don't include values in the default environment, so actually attempting to evaulate them will result in an error unless the caller of Marker().evaluate() passes in a value for them
[19:48:40] <dstufft> any (sans the one we forgot that you just added)
[19:49:32] <gsnedders> like, that pep345 test passes despite it passing it in a different format
[19:49:39] <gsnedders> indeed all of those use different formats?
[19:51:31] <gsnedders> You'd expect Marker("platform.python_implementation=='Jython'").evaluate() to error, right, because "platform.python_implementation" isn't in the default environment?
[19:52:43] <gsnedders> However, it doesn't. It works fine.
[20:29:48] <dstufft> gsnedders: are you planning to squash the fixup! fixup! commits? I'm not sure what your comment was referencing :]
[20:30:00] <gsnedders> dstufft: just breaking the lambda like this is hella ugly
[20:31:06] <gsnedders> dstufft: okay, squashed now
[20:31:31] <dstufft> gsnedders: looks good, will merge once tests pass
[20:32:45] <dstufft> gsnedders: Do you plan on going to poke setuptools to pull in the new code? (I assume you are, but just checking)
[20:34:28] <gsnedders> dstufft: I thought you only did that on release?
[20:34:45] <dstufft> gsnedders: I was going to cut a release right now if you were planning on doing that :]
[20:34:52] <gsnedders> dstufft: then I will do that :)
[20:37:23] <gsnedders> dstufft: https://bitbucket.org/pypa/setuptools/issues/503 gives an access denied BTW which is annoying trying to work out the history of this, presumably because you have issues disabled… would be really nice to have a read-only mode :(
[20:37:48] <dstufft> gsnedders: I'm not actually a committer on setuptools so idk what jaraco did