If your code relies on a minimum python version, you can add `python_requires=">=3.5"` to your setup.py [https://packaging.python.org/guides/distributing-packages-us...] to ensure it's not installed on older releases.
That field itself is kinda new; but if needing to block users with older versions, that shouldn't be an issue.
Re:Python dicts are now ordered
by hprotagonist on Friday February 07, 2020 @12:32PM
(#22268426)
personally, i just drop a f-string in setup.py and that'll filter out any python for which this issue pertains.
This might not work if you’re distributing a wheel.
Python 3.4 is EOL anyway so there's no need to do this. Anybody running 3.4 is already unsupported.
Re:Python dicts are now ordered
by hprotagonist on Friday February 07, 2020 @06:42PM
(#22272389)
and 3.5 dies in september. hurray!
I thought Go made the change from undefined behaviour with an underlying implementation that was insertion order in a map with 8 or fewer entries, to similarly undefined behaviour with an implementation that randomised lookups in those cases. Any code that has ever relied on any kind of ordering in Go maps will almost certainly be wrong, even random ordering, because the distribution of the "random" ordering is biased.
See https://medium.com/i0exception/map-iteration-in-go-275abb76f...
Re:Python dicts are now ordered
by throwaway894345 on Friday February 07, 2020 @12:23PM
(#22268335)
FWIW, when Go made that change, it was a much less-widely-used language (smaller blast radius).
That said, Go made a similar change (from insertion-order to explicitly-randomized) and world didn’t end. So there’s that.