On Fri, Apr 16, 2021 at 6:03 AM Bluenix <bluenix...@gmail.com> wrote: > > Please accept PEP 649! > > Python's type hinting has become so much more useful than originally thought, > and without this change much of that will be hindered. For example (you > already know about Pydantic and FastAPI) > [discord.py](https://github.com/Rapptz/discord.py)'s commands system allows > you to use typehinting to specify how arguments should be converted. Take the > following code: > > ```py > import discord > from discord.ext import commands > > bot = commands.Bot(command_prefix='>') > > @bot.command() > # discord.py reads the typehints and converts the arguments accordingly > async def reply(ctx, member: discord.Member, *, text: str): # ctx is always > passed > await ctx.send(f'{member.mention}! {text}') > > bot.run('token') > ``` > > I must say, this is extremely ergonomic design! Don't break it :)
Are you sure about PEP 563 break it and discord.py can not fix it? As far as my understanding, PEP 563 don't hurt this use case so much: * This use case evaluates runtime type information only once. So eval() overhead is not a problem. * Currently, annotation is very very complex and varies. For example, List[int] will be `List[int]`, `List['int']`, `'List[int]'`, `'List["int"]'`, `List[ForwardRef('int')]` etc... After PEP 563, only `'List[int]'` is practical so we can stop supporting `List["int"]` and others at some point. So playing with runtime type will become easier in the future. Am I wrong? -- Inada Naoki <songofaca...@gmail.com> _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/NSZGWCABWFYWZZTNCE5VE5ZVC3OUJCNU/ Code of Conduct: http://python.org/psf/codeofconduct/