You might like: https://curtispoe.org/articles/what-to-know-before-debating-type-systems.html
I remember looking at attrs but not getting around to using it. These days I use dataclasses. I don't worry about this stuff too much in Python. I just notice some issues and smile. Haskell does a lot more to focus the mind, when it comes to types.