Sample size of 1: I have code calling __aiter__ and __anext__. It would be nice to have representative functions—in some module—for the 3.10 release.
I would think the bar for inclusion in builtins should be quite high. Looking at what's in the operator module, it does seem like a more appropriate location than builtins; if setitem doesn't warrant inclusion in builtins, hard to justify aiter and anext.
On Fri, 2021-03-19 at 13:55 -0300, Luciano Ramalho wrote:
OK, but it seems clear to me that if there are any lingering doubts it would be better to add the functions to a module than to the built-ins, and later promote them to built-ins if people actually find them widely useful.
On the other hand, adding something to built-ins that turns out to be rarely useful adds unnecessary noise and is much harder to fix later without causing further problems.
On Fri, Mar 19, 2021 at 1:22 PM Joshua Bronson firstname.lastname@example.org wrote:
Thanks for taking a look at this, Luciano.
Yury immediately replied to the comment from Jelle that you quoted with the following:
Do these really need to be builtins?
We're only beginning to see async iterators being used in the wild, so we can't have a definitive answer at this point.
They seem too specialized to be widely useful; I've personally
never needed them in any async code I've written. It would make more sense to me to put them in a module like operators.
I think putting them to the operators module makes sense, at least for 3.8. Do you want to work on a pull request?
That was on 2018-06-14. On 2018-08-24, I submitted https://github.com/python/cpython/pull/8895, "Add operator.aiter and operator.anext". On 2018-09-07, Yury left the following comment on that PR:
Please don't merge this yet. I'm not convinced that aiter and anext shouldn't be builtins.
So there has been some back-and-forth on this, and some more years have passed, but all the latest signals we've gotten up to now have indicated a preference for adding these to builtins.
In any case, as of my latest PR, the Python core developers now have both options to choose from.
As community contributors, is there anything further we can do to help drive timely resolution on this one way or another?
On Fri, Mar 19, 2021 at 11:29 AM Luciano Ramalho email@example.com wrote:
Thanks for working on this, Joshua. I agree 100% with Jelle Zijlstra in the issue tracker:
Do these really need to be builtins?
They seem too specialized to be widely useful; I've personally never needed them in any async code I've written. It would make more sense to me to put them in a module like operators.
(sorry for the weird formatting, posting from an iPad)
On Wed, Mar 17, 2021 at 21:01 Joshua Bronson firstname.lastname@example.org wrote:
New here (but not to Python). 👋 Brett Cannon recommended I start a thread here (thanks, Brett!).
Would any core developers who may be reading this be willing and able to provide a code review?
We would love to try to address any review feedback before having to fix (another round of) merge conflicts. (And ideally maybe even get this landed in time for the 3.10 feature freeze in early May?)
Thanks and hope this finds you well. _______________________________________________ Python-Dev mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at
Code of Conduct: http://python.org/psf/codeofconduct/
-- Luciano Ramalho | Author of Fluent Python (O'Reilly, 2015) | http://shop.oreilly.com/product/0636920032519.do | Technical Principal at ThoughtWorks | Twitter: @ramalhoorg
Python-Dev mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://email@example.com/message/R3I7WIXN... Code of Conduct: http://python.org/psf/codeofconduct/