Another notable part of this release is type annotations:
I've been looking forward to trying data classes, should be nice to avoid unnecessary code.
Have you noticed any decreases in performance using core typing?
That is a terrible decision. Call me a heretic.
Yes, I know it's a side effect of bringing in the bitmap index version from PyPy. Yes, I am aware that collections.OrderedDict is now an alias to internal dictionary type. And yes, I do understand that randomising the key traversal order could incur a performance penalty.
But a dictionary where keys come out in anything other than unspecified order is a subtle trap just waiting to blow up. I personally prefer golang's map behaviour - keys are always in unspecified order, and the order is different even between calls.
[#]: Well, usually it doesn’t matter, and when it does, you have other ways to achieve similar results.
"Data Classes are intentionally less powerful than attrs. There is a long list of features that were sacrificed for the sake of simplicity and while the most obvious ones are validators, converters, and __slots__, it permeates throughout all APIs."
If the simple program depends only on core Python, then they don't also have to say "oh, and also install ...".
Will data classes save a ton of memory since you’re specifying the types?
These are called "type hints" because they are not enforced by the Python runtime.
* Data classes (https://docs.python.org/3.7/library/dataclasses.html)
* New breakpoint() builtin (https://docs.python.org/3.7/library/functions.html#breakpoin...)
* Dictionaries preserve insertion order. (Implemented in 3.6, but now is part of the official spec.)