https://mypy.readthedocs.io/en/stable/index.html
Plus there are compilers which can make faster code if you add static types
https://cython.readthedocs.io/en/latest/src/quickstart/cytho...
But I think a meaningful issue is that python's rich ecosystem of datascience and ML tooling often is at odds with meaningful type annotations. Roughly, you can end up with signatures that indicate that a value is a DataFrame or an ndarray or whatever, but there are a bunch of implicit assumptions on what columns are defined, or what how the shapes of two ndarrays line up, etc. It's easy for a codebase to end up paying the upfront cost of providing annotations, but without actually getting an improved ability to reason about or refactor code.
It doesn’t turn PHP into Haskell or anything but huge swaths of bugs are eliminated.
However they aren’t as extensive as TypeScript is to JavaScript. The community is also not much into types so you don’t have collections like Definitely Typed.
But the need exists and I guess it’s a matter of time until a tool becomes as popular and complete as typescript.