Data classes are one of the new features of Python 3.7. With data classes, you do not have to write boilerplate code to get proper initialization, representation, and comparisons for your objects.
New product, great occasion to test new features given their pertinence. If you have that opportunity, be aware that cross-references are still not dealt with but their postponed evaluation is accepted. Which means that it is only a matter of time before we can self reference an annotation, like for a classmethod
for instance. Anyway, it’s great to have a backport of that feature for Python 3.6!
Note: mypy accepts cross-references as raw chain of characters: -> 'Articles'
.