Good example for Python not needing this pattern sometimes is Pulumi. Check out the differences between example code in Java and Python.

https://www.pulumi.com/docs/iac/get-started/kubernetes/revie...

In Java (or even Go) this pattern is required to enforce type safety. In Python it seems that they ignore the typing part and just pass a bunch of dicts. Looks much cleaner, even if not entirely typesafe.