This is generally done for those who want "stable" releases with minimal bug fixes. The 3.7 branch has newer features and therefore, potentially more bugs.
If you want the latest stable version, get 3.7.0. If you want the latest version, get 3.7.2.
3.7.2 is a maintenance release of the 3.7 series...I am not aware of anyone who considers 3.7.0 the version you should stay with.
That still doesn't explain why it makes sense for python devs to be split among what, 4 different 3.x branches in the last year? I can understand keeping one stable LTS branch and one "up to date" branch, but the current system seems like a waste of resources and extra complexity, though I assume there's a good reason I'm not familiar with. For example, 3.4 .9 was released after 3.7.0. [1]
Maybe I'm just missing something about the numbering scheme?
I know some who would argue that Debian is generally the more stable server and Ubuntu more bleeding edge.
Everybody interested in the new features from 3.7 would use the latest version here.
As python can introduce minor "breaking" changes this is quite a good way of ensuring compatibility.
>> Python 3.6.8 is planned to be the last bugfix release of Python 3.6. Per our support policy, we plan to provide security fixes for Python 3.6 as needed through 2021, five years following its initial release.
For new projects I tend to favor Python 3.7 over 3.6. But sometimes I have to fall back to 3.6 because some packages have not been updated yet and I don't want to install them from Git(Hub) (e.g. GeoPandas through pyproj).
There are differences between 3.x releases, and things like security issues or bugs need to be fixed. Saying "well duh just upgrade" isn't acceptable.
Very rare everyone can jump versions especially when there are syntax changes. In my case it’s around imports.
Introducing new features bears an elevated risk of breaking thingss. Hence stable systems (and in extension, stable distributions like Debian) tend to use stable, bug and security fix only branches. This used to be more common.
As of Python 3.6, for the CPython implementation of Python, dictionaries remember the order of items inserted. This is considered an implementation detail in Python 3.6; you need to use OrderedDict if you want insertion ordering that's guaranteed across other implementations of Python.
As of Python 3.7, this is no longer an implementation detail and instead becomes a language feature.
[1] https://stackoverflow.com/questions/39980323/are-dictionarie...
I think you can be more clear here: all dicts are ordered by insertion order (not by key).