If your team uses VSCode, you can have a devcontainer for the project (https://code.visualstudio.com/docs/devcontainers/containers) to make sure that it's in everyone's IDE along with your other linters, formatters etc and you can also have pre-commit hooks.
Don't worry about me. I mean all projects that do not have people and resources for this stuff. People just want to write Python and be done with it.
Without type hints they wrote Python and if they run it and tests pass then it works. Now they write Python code that can be wrong but they don't find out unless they also run an extra tool.
The fact that it requires CI now is a good illustration of the problem;)
Anyone who can write and run a test can also call "mypy ." on their project.
So when you see type declarations in Python, you cannot trust them the way you can trust them in Rust or TypeScript. Outright wrong types that make zero sense cause no errors, no test failures, etc. Type validation is reduced to the level of linter, and no one really cares about the linter the same way as they care about working code.
This gets people new to static typing into bad habits and loses the main benefit of type system.
There is undoubtedly setup with all these tools, but the benefit massively outweighs the cost to my mind.
Formatting is not relevant to whether the code is correct, but types are.
The problem compared to static languages is that it does not need to compile, types are completely ignored at runtime and there is no built-in way of checking it (like python binary with a special flag) so everyone does things different.