I should point out that "accept PEP 649" and "break pydantic" are not the only options here. The thing that will break pydantic is the end of PEP 563's deprecation period, not a failure to implement PEP 649. Other viable options include: - Leave PEP 563 opt-in until we can agree on a solution to the problem. - Leave PEP 563 opt-in forever. - Deprecate PEP 563 and go back to status quo ante. I haven't followed this closely enough — if PEP 649 were accepted today, would it even be ready for use before the 3.10 code freeze (which is in a few weeks)? Assuming this is a real problem (and based in part on how long it took for attrs to get what support it has for PEP 563 <https://github.com/python-attrs/attrs/issues/288>, I wouldn't be surprised if PEP 563 is quietly throwing a spanner in the works in several other places as well), my vote is to leave PEP 563 opt-in until at least 3.11 rather than try to rush through a discussion on and implementation of PEP 649. Best, Paul On 4/15/21 4:20 PM, Bluenix 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 :) _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@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/S2O7SE4Q... Code of Conduct: http://python.org/psf/codeofconduct/