> Python projects that start to grow has a tendency to become hard to manage in a way that I have not seen in Java at all.
Mypy is excellent. It has two-way type inference like Haskell. Good usage means catching almost all type errors before running.
So is PyCharm, which is IntelliJ for Python.