Does PEP 563 or 649 satisfy static and dynamic typing needs?

In the interest of full transparency, we want to let the Python community know 
that the Steering Council continues to discuss PEP 563 (Postponed Evaluation of 
Annotations) and PEP 649 (Deferred Evaluation Of Annotations Using 
Descriptors).  We have concluded that we lack enough detailed information to 
make a decision in favor of either PEP.  As we see it, adopting either PEP 563 
or PEP 649 as the default would be insufficient. They will not fully resolve 
the existing problems these PEPs intend to fix, will break some existing code, 
and likely don’t address all the use cases and requirements across the static 
and dynamic typing constituents.  We are also uncertain as to the best 
migration path from the current state of affairs.

Defer decision on PEP 563 and 649 in 3.11

As such, at this time, the only reasonable path forward that the SC sees is to 
defer the decision in Python 3.11 again, essentially keeping the 3.10 status 
quo.  We know that this is far from ideal, but it’s also the safest path since 
we can’t clearly make the situation better, and we don’t have confidence that 
either PEP solves the problems once and for all.  Pragmatically, we don’t want 
to make the situation worse, and we really don’t want to find ourselves back 
here again in a couple of releases because we overlooked an important 
requirement for a set of users.

Calling for help from static and dynamic typing users

This is also a call to you, the folks who both care deeply about typing in 
Python, and have a solid understanding of the subject matter (or willingness to 
learn) to help us!  There are use cases we don’t know about, and unclear 
requirements from both the static and dynamic typing users.  We need help in 
defining those requirements clearly, in uncovering the use cases we’re not 
aware of, and most importantly, being an interface to typing enthusiasts to 
help build consensus with either of the proposed PEPs, or some other solution 
that doesn’t yet have a PEP (such as suggestions made by Łukasz in his blog 
post here: https://lukasz.langa.pl/61df599c-d9d8-4938-868b-36b67fdb4448/).

Volunteer to be a typing PEP shepherd

We’re looking for someone(s) who can be neutral as to the solution, 
knowledgeable enough to understand all sides of the problem, willing to serve 
as not quite a PEP author, not a PEP Delegate, but more than a PEP shepherd. If 
you are that person, please let us know!

Cheers,
-Barry (on behalf of the Python Steering Council)

_______________________________________________
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/VIZEBX5EYMSYIJNDBF6DMUMZOCWHARSO/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to