PEP 590: update by jdemeyer · Pull Request #1028 · python/peps

Thanks for that list. I'll briefly comment on the unchecked boxes:

  • Kwarg name tuple must be non-empty

Being discussed already, you know my opinion. Good to revert for now if you don't agree.

  • vectorcallvectorcallfunc

Bikeshedding, I don't care much.

  • offset: uintptr_tPy_ssize_t

Bikeshedding, I don't care much.

  • Replacing the Py_TPFLAGS_METHOD_DESCRIPTOR specification

Note that the actual specification is not changed, only the wording. I changed it because I found the original text unclear. Feel free to do whatever you want with this.

  • METH_VECTORCALL signature change

Under discussion, would be good to revert for now.

  • Adding wrapper_descriptor and method-wrapper to the list of things that do vectorcall

  • Convention-specific wrappers for builtin_function_or_method and method_descriptor

Both of these are meant as optional things that could possibly be done as part of the implementation but not strictly part of the PEP. They won't be in the initial implementation and they may or may not be done later. I'd still like to keep them in the PEP if only to have some place where these ideas are written down. You could group these in a section "Possible future CPython changes" or something.

  • Argument Clinic should use METH_VECTORCALL, not vectorcall

Related to the discussion about METH_VECTORCALL, can be reverted together with the change to METH_VECTORCALL.

  • Rewording "Performance implications of these changes"

I didn't want to claim performance improvements without evidence. Maybe the best would be to remove this section completely?

What's controversial about this? bpo-29259 is very close to PEP 590, so it would be good to mention it somewhere.