pythonpython-typingpython-3.9pep585

typing.Any in Python 3.9 and PEP 585 - Type Hinting Generics In Standard Collections


I am trying to understand if the typing package is still needed?

If in Python 3.8 I do:

from typing import Any, Dict
my_dict = Dict[str, Any]

Now in Python 3.9 via PEP 585 it's now preferred to use the built in types for collections hence:

from typing import Any
my_dict = dict[str, Any]

Do I still need to use the typing.Any or is there a built in type to replace it which I can not find?


Solution

  • The use of the Any remains the same. PEP 585 applies only to standard collections.

    This PEP proposes to enable support for the generics syntax in all standard collections currently available in the typing module.

    Starting with Python 3.9, the following collections become generic and importing those from typing is deprecated: