A request to review a PR for fixing an issue on the turtle module

Can anyone review the following PR?
gh-91212: Fixed flickering when the tracer is turned off

It’s a fix on the following old issue.
turtle.write() causes flickering when the tracer is turned off.

done, thanks for the fix!

There are more open PRs waiting for a review. Is posting here a good way to actively request a review from core developers when a PR has not been picked up (like this one) for some time?

For reference: recently there have already been some discussions on topics related to this:

Some numbers: there are currently 475 open PRs with label “awaiting core review”. To get a feeling what is the status of these PRs I selected the 50 oldest PRs and went through them.

  • 17 PRs: The label “awaiting core review” can be removed
  • 3 PRs: Not sure
  • 30 PRs: The PR looks valid (e.g. tests pass, approved) and requires a review from a core developer (some PRs have conflicts with the main branch, so perhaps a request to rebase is sufficient)
Analysis of 50 PRs
Make environment change warnings always verbose. by gpshead · Pull Request #91674 · python/cpython · GitHub Status is draft, remove awaiting core review label
gh-91826: [WIP] Enable cert and hostname verification for stdlib by tiran · Pull Request #91875 · python/cpython · GitHub Status is draft, remove label
gh-91325: Skip Stable ABI checks with Py_TRACE_REFS special build by encukou · Pull Request #92046 · python/cpython · GitHub Not sure
gh-92006: Loosen line number match for run() method by jkloth · Pull Request #92008 · python/cpython · GitHub All tests pass, needs review of core dev
gh-91247: Performance improvement in list repeating by thatbirdguythatuknownot · Pull Request #92286 · python/cpython · GitHub An alternative PR was merged, this PR can be closed
gh-82678: Fix parameter name for pipes by slateny · Pull Request #92016 · python/cpython · GitHub Test pass, PR is approved, a core dev needs to review
gh-91912: Long object free list for medium value by penguin-wwy · Pull Request #91938 · python/cpython · GitHub Tests pass, needs review
gh-87888: Make FileCookieJar use latin-1 instead of locale encoding by methane · Pull Request #92392 · python/cpython · GitHub CI tests fail: set PR to stale and remove the awaiting core review label
gh-92041: Improve performance of inspect.getmodule by mdeck · Pull Request #92042 · python/cpython · GitHub Tests are not running for some reason. Author might require some assistance
Make _symtable_entry.ste_type's comment consistent wit _Py_block_ty by zikcheng · Pull Request #92414 · python/cpython · GitHub All tests pass, PR approved
gh-89519: Emit a warning when classmethod() wraps a non-callable descriptor by serhiy-storchaka · Pull Request #92426 · python/cpython · GitHub All tests pass
gh-92231: Prevent dataclass from being called on a class that's already a dataclass. by ericvsmith · Pull Request #92518 · python/cpython · GitHub Labelled as DO-NOT-MERGE and stale. Remove the awaiting core review label
gh-91081: Add note on WeakKeyDictionary behavior when deleting a replaced entry by slateny · Pull Request #91499 · python/cpython · GitHub Was approved, but later changed to draft. Remove label
gh-86635: RE: Raise deprecation warning for ambiguous syntax in {n,m} by serhiy-storchaka · Pull Request #92077 · python/cpython · GitHub Marked as draft, remove label
bpo-26949: IDLE: Fix hanging when raise KeyboardInterrupt with debugger open by mlouielu · Pull Request #1711 · python/cpython · GitHub PR approved, needs review
gh-92871: Remove typing.{io,re} namespaces by srittau · Pull Request #92873 · python/cpython · GitHub Not sure
Implement `dataclass` code caching by brandtbucher · Pull Request #92650 · python/cpython · GitHub Marked as draft, remove label
https://github.com/python/cpython/pull/91738 No response to the latest review comments, remove label
gh-93453: Make get_event_loop() an alias of get_running_loop() by serhiy-storchaka · Pull Request #93454 · python/cpython · GitHub All tests pass, needs review of core dev
gh-71566: Fix SocketType introduction in the socket documentation. by xiaochen7 · Pull Request #93288 · python/cpython · GitHub Tests pass, needs review
docs: datetime: Encoding is no longer relevant by wjandrea · Pull Request #93365 · python/cpython · GitHub All tests pass, PR approved
gh-93378: make obvious the distinction between source vs. compiled module by oda-gitso · Pull Request #93711 · python/cpython · GitHub All tests pass, PR approved
gh-93121: change _sample_headers from a map to list + tuples to allow duplicates by AGZain · Pull Request #93242 · python/cpython · GitHub Not sure
gh-59648: Nanosecond support for datetime by SmartManoj · Pull Request #92078 · python/cpython · GitHub Marked draft and tests are failing, remove label
gh-93863: Clarify that strtobool is case-insensitive by dignissimus · Pull Request #93893 · python/cpython · GitHub Tests pass, PR is approved, needs review
gh-87245: Improve IPv6Address.ipv4_mapped documentation by wbolster · Pull Request #92572 · python/cpython · GitHub Tests pass, PR is approved, needs review
[WIP] gh-85235: Always specify encoding for open() text files. by serhiy-storchaka · Pull Request #93204 · python/cpython · GitHub Marked draft, tests fail, remove label
gh-94174: asyncio.get_event_loop() fails if no current event loop by vstinner · Pull Request #94175 · python/cpython · GitHub Tests fail, remove label
gh-94165: Prevent PY_CHECK_SQLITE_FUNC from accumulating linker options by erlend-aasland · Pull Request #94198 · python/cpython · GitHub Marked draft, remove label
gh-90300: Reformat the Python CLI help output by serhiy-storchaka · Pull Request #93415 · python/cpython · GitHub Tests pass, needs review
gh-74876: Fix copying and pickling weakref.WeakSet by serhiy-storchaka · Pull Request #93732 · python/cpython · GitHub Tests pass, needs review
gh-93573: Replace wrong example domains in configparser doc by sblondon · Pull Request #93574 · python/cpython · GitHub Tests pass, needs review
gh-94194: gettext plural values must now be integers by vstinner · Pull Request #94195 · python/cpython · GitHub Not sure
gh-94350: mailbox: Remove support for text mode files by vstinner · Pull Request #94351 · python/cpython · GitHub Waiting for response of core dev
gh-74696: Pass root_dir to custom archivers which support it by serhiy-storchaka · Pull Request #94251 · python/cpython · GitHub Waiting for response of core dev
gh-94172: Remove keyfile, certfile and check_hostname parameters by vstinner · Pull Request #94173 · python/cpython · GitHub No response to the latest review comments, remove label
Use SyntaxError invalid range in tutorial introduction example by ehebert · Pull Request #93031 · python/cpython · GitHub Tests pass, PR is approved, needs review
gh-71616: Add note to warn against general translation of saxutils.escape() by slateny · Pull Request #93450 · python/cpython · GitHub Tests pass, PR is approved, needs review
gh-73196: Add namespace/scope clarification for inheritance section by slateny · Pull Request #92840 · python/cpython · GitHub Tests pass, PR is approved, needs review
bpo-30514: test_pop3lib asyncore with asyncio by grzgrzgrz3 · Pull Request #1864 · python/cpython · GitHub PR has conflicts, remove label
gh-77771: Add enterabs example in sched by slateny · Pull Request #92716 · python/cpython · GitHub Tests pass, PR is approved, needs review
bpo-35759: add introspection API for asynchronous generators by tkren · Pull Request #11590 · python/cpython · GitHub Tests pass, PR is approved, needs review
[RFC] inspect: BlockFinder: handle nested parens with decorators by blueyed · Pull Request #21425 · python/cpython · GitHub Listed as RFC, not clear what the status is, remove label
bpo-38893: Ignore EACCES, ENOSYS in copyxattr by tiran · Pull Request #21430 · python/cpython · GitHub Some discussion on the PR, not sure about this one
bpo-40512: Store pointer to interpreter state in a thread local variable by markshannon · Pull Request #29228 · python/cpython · GitHub Some discussion on the PR, not sure about this one
bpo-45356: fix incorrect access of class property in pydoc and inspect by akulakov · Pull Request #29239 · python/cpython · GitHub Tests pass, needs review
bpo-37407:Update imaplib.py to account for additional padding by edwardmbsmith · Pull Request #14388 · python/cpython · GitHub PR is approved, tests are not running for some reason, needs review
bpo-45545: chdir __exit__ is not safe by ucodery · Pull Request #29218 · python/cpython · GitHub Tests pass, PR is approved, needs review (though news entry is missing)
bpo-47218: add name to lzma fileobject by ellaellela · Pull Request #32312 · python/cpython · GitHub Tests pass, PR is approved, needs review
bpo-35675: IDLE config_key - separate window and frame classes by csabella · Pull Request #11427 · python/cpython · GitHub Needs to be rebased. Remove label and request a rebase from the OP
2 Likes

If the person asking is the PR author, it’s acceptable because the volume of such requests is low. But the issue can also simply be no one feel empowered or has the bandwidth. For simple, uncontroversial PRs that’s not a concern. We also don’t want folks asking on someone else’s behalf as we want engagement with the PR author.

3 Likes

If these start happening more often (how often?) or for more complex (how complex?) PRs, should we start marking these off topic?

Wait and let it happen before we decide we have any need to do something. :slight_smile:

I jumped on this one primarily because I had time and I was curious if I even had a setup capable of running turtle and tkinter stuff. Turns out I do, so it looked reasonable and I decided to go with the trust the PR author approach after visual verification. I have no particular expertise around tkinter and turtle, it’s all about available time for an interrupt (assume any of these consumes 1-2 hours) no matter what the issue and PR topic are. I wouldn’t likely have looked at this issue or PR at all had it just been sitting on its own in the issue tracker.

As the others have said, we would not appreciate this forum being used to chase core devs to work harder.

However, the kind of analysis you did on those 50 PRs is very helpful, and I encourage you to continue helping us triage the backlog in this way. The best way to get attention from the relevant core dev is to mention them on the PR and ask them to take a look (this is most effective in cases where the relevant core dev was not already aware of the PR, or after you have added a substantial review of your own which can help them. Simply reminding us that there are open PRs is not that helpful - we are aware).

You could also comment on PRs with suggestions for the authors, including things such as to resolve merge conflicts, or anything else that you think can help make their PR more likely to progress. Or, when the PR is out of date, you could suggest on the PR that it be closed, and maybe the author will do that rather than a core dev.

You raise the point that the “awaiting review”/“awaiting core review” do not belong on draft PRs. This is a good point, but rather than us removing the label I think this should be raised as a workflow issue - could the bot add/remove the labels as PRs transition between draft and non-draft status? Would you be willing to create an issue on the core-workflow bug tracker at GitHub - python/core-workflow: Issue tracker for CPython's workflow?

I’m reviewing your list and taking some quick actions on a few PRs. Thanks again.

3 Likes

Ticket on the core-workflow bug tracker is Automatically remove "awaiting core review" label for draft and stale PRs · Issue #477 · python/core-workflow · GitHub

2 Likes