Irit, Yury and Guido,

Thanks for submitting PEP 654 (Exception Groups and except *). The Steering Council isn’t done debating this PEP, but we wanted to give an update so everyone knows what to expect.

We are mostly in favour of the PEP, but we’re worried about the timing -- not just because there is still some discussion going on, but also the time available for us to discuss the proposal, and to validate the new API once it’s accepted. We are rapidly approaching  feature freeze for Python 3.10, and while we’re not particularly worried about the implementation of this PEP, we would like to see actual usage of the new API with enough time to tweak it before the official release. That is to say, we would like to see the "analysis of how exception groups will likely be used in asyncio programs" turn into "here is how exception groups are used in asyncio programs" before the final release, like in the asyncio module and the standard library (for example, with TaskGroups). There’s also a presentation scheduled in the PyCon US Language Summit, which may lead to more discussion of the PEP and perhaps evolution of its ideas.

What would you and others feel about postponing the PEP until Python 3.11, getting it in as soon as the branch opens, so that potential users of the API -- asyncio or otherwise -- can provide us with practical experience to validate some of the assumptions made in the proposal, and to discover any warts or pitfalls we missed or misjudged? I don’t mean that as a slight on the PEP, which is thoughtful, thorough and excellently written, but as a practical observation of the complexity involved. Most of the PEP is more of a building block for other APIs than something many users will be directly exposed to, and we want to make sure the end result isn’t affected by unanticipated effects of these design decisions. (This would potentially also give third-party users more time to evaluate the API, although we know adoption of alpha releases isn’t big enough to make this a very strong argument for waiting.)

Like I said, we’re still discussing the PEP, so this hasn’t been decided. If you or others feel strongly that the benefit of postponing is too small (or the cost too high), we’ll take that into consideration. The SC has been somewhat busy of late, and we don’t want to let our schedule be the deciding factor here, but this may come down to there just not being enough time before the feature freeze to make a thoughtful decision.

For the SC,
Thomas.
--
Thomas Wouters <thomas@python.org>

Hi! I'm an email virus! Think twice before sending your email to help me spread!