[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-05 Thread lamby
lamby added the comment: > order of other dicts are implementation detail. Right, exactly :) -- ___ Python tracker <http://bugs.python.org/issue29431> ___ _

[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-04 Thread lamby
lamby added the comment: > ordering of namespace dict and kwargs dict are language spec for 3.6 Are they really _specced_ for 3.6? I was under the impression that it was just an implementation detail. -- ___ Python tracker <http://bugs.pyth

[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-04 Thread lamby
lamby added the comment: > we're expecting we'll make that a language requirement Mmm, but only for (at least) 3.7+. It would still be very useful to find software that is relying on (currently) undefined behaviour, no? -- ___ Python t

[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-03 Thread lamby
lamby added the comment: I think we are misunderstanding each other regarding our goals here :) I'm not trying to test against other Python implementations or versions of CPython itself but rather "flush out" reproducibility issues in third-party Python code that (incorrectly)

[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-03 Thread lamby
lamby added the comment: > If the package produce same binary when dict keeps insertion order, > isn't it a "reproducible build"? No, as that's a CPython-specific (and 3.6+) implementation detail. Hence "forcing" a test for it :) -- __

[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-03 Thread lamby
lamby added the comment: > Why don't you use OrderdDict and reversed()? This isn't for my own code; I want to change the behaviour of CPython itself so it affects arbitrary third-party code - this is what we are testing when we are testing for re

[issue29431] Add a PYTHONREVERSEDICTKEYORDER environment variable

2017-02-03 Thread lamby
New submission from lamby: Due to implementation changes, since CPython 3.6 dict keys are returned in insertion order. However, in order to test for reproducible builds [0], it would be convenient to be able to reverse this ordering; we would then run a build of an arbitrary package both with