This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Add typeof or enum behavior in the typing module
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.11
process
Status: closed Resolution: later
Dependencies: Superseder:
Assigned To: Nosy List: Corfucinas, JelleZijlstra
Priority: normal Keywords:

Created on 2022-01-28 13:36 by Corfucinas, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (2)
msg411995 - (view) Author: Pedro Torres (Corfucinas) Date: 2022-01-28 13:36
Currently, the addition of Annotated in PEP 593 on Python 3.9 allows adding arbitrary metadata for type hints.

Let's consider the following

time_available_online: list[str] =
[
'1m',
'5m',
'1d'
]


```
Hour = Annotated(str, "time available online")

```

Another way to consider this is if the selection was an Enum, since we know the only available options that can be selected (ie. it is not all possible 'str', only the 'str' from a list, which can be defined by the user)

It would save time and simplify things if the following was possible.

---

from typing import Enum  # we save time by not making a duplicate Class, or converting a constant variable to a Class


```
Hour = Enum[time_available_online, "time available online"]
```
msg412000 - (view) Author: Jelle Zijlstra (JelleZijlstra) * (Python committer) Date: 2022-01-28 14:30
Thanks for your report!

I think you're looking for the Literal type.

Also, new typing behaviors are better discussed first on https://github.com/python/typing or the typing-sig mailing list.
History
Date User Action Args
2022-04-11 14:59:55adminsetgithub: 90720
2022-01-28 14:30:48JelleZijlstrasetstatus: open -> closed

versions: + Python 3.11, - Python 3.10
nosy: + JelleZijlstra

messages: + msg412000
resolution: later
stage: resolved
2022-01-28 13:39:06Corfucinassettitle: Add typeof or enum behavior for in the Typing module -> Add typeof or enum behavior in the typing module
2022-01-28 13:38:31Corfucinassettitle: Add typeof or eum behavior for in the Typing module -> Add typeof or enum behavior for in the Typing module
2022-01-28 13:36:09Corfucinascreate