On behalf of every Python developer who still considers Python a true dynamic language, just stop.
We don't need static typing, we need other, much more useful things. Like stability, reliability, speed and good packaging standards.
I don't want ugly Rust-like typing in my favorite language. It may look good in Rust, but it looks horrible in Python.
Here are just some of the arguments against typing:
1. They are ugly. Honestly, the code with typing is not pythonic, at all.
2. They require additional knowledge to implement correct type hints. The language is much less complex without them. It is even getting hard to track the changes without including typing.
3. It encourages bikeshedding on features useless to the core language. Manpower is wasted on something the majority of Python developers and applications don't really benefit from.
4. It creates the rift in the language. The language is "extended" with features that push the developing tools (such as Pycharm) in the certain direction. The editors and IDEs have become too reliant on type hints, so they changed their linting algorithms to basically require typing. Now they are nearly useless without them. This creates the division in our community and further pushes away those who don't want typing in their code. Sure, they are not required, at least for now. But people are really making it harder to develop without them.
5. It affects the startup performance. It is not a big hit if the application is small but it adds up.
Of course, there are certain benefits to type hints. As mentioned, your IDE will be "smarter". It may solve some bugs related to types. It will help you make concise docstrings. All this, at what cost? Python is becoming a complex language to learn even without mentioning type hints. My friends want to learn Python, and now I need to explain to them that those weird function signatures are optional, and you can write it another way.
So please, stop with the useless typing PEPs. Fork the language if you must. But don't call it Python anymore.
Static types help to eliminate an entire class of bugs, and encourage significantly better design. If you disagree with those claims, or don’t value the benefits as much as others do… Python’s type system is entirely optional. You are welcome to just not use them. That’s not fracturing the language: they're already a part of the language, and have been for years.
It’s fine that you have different preferences, but I think it’s wildly presumptuous to impose that on others.