Files
Python/scripts
priya-sundaram-dev 15c5af0255 fix(ci): correct the Hacktoberfest tracker's open-issue count and add a countdown (#15235)
* fix(ci): count open issues reliably and add a Hacktoberfest countdown

The tracker's "Open issues" line was showing the pull-request total (e.g.
621) instead of the issue total (107). GitHub's `/search/issues`
`is:issue` / `is:pr` qualifiers are unreliable on this large, high-churn
repo -- some runs return the PR pool for *both* queries, so the two lines
printed the same number.

Count without the flaky qualifiers instead:
- open PRs = the `Link: rel="last"` page number of `/repos/{repo}/pulls`
  (deterministic, page-numbered pagination);
- open issues = the repo endpoint's `open_issues_count` (issues + PRs)
  minus the open-PR total -- self-checking and stable.

Also add the requested Hacktoberfest countdown to the stats block:
- days until 2026-10-01;
- issues to close per day to clear the backlog;
- PRs to merge or close per day to clear the backlog.

Per-day figures round up (finishing a day early beats a day late) and
degrade to a clear message once Hacktoberfest starts, so the block never
divides by zero on the final day.

* chore: re-trigger keeper after marking PR checklist
2026-09-09 10:42:03 +02:00
..

Dealing with the onslaught of Hacktoberfest

Each year, October brings a swarm of new contributors participating in Hacktoberfest. This event has its pros and cons, but it presents a monumental workload for the few active maintainers of this repo. The maintainer workload is further impacted by a new version of CPython being released in the first week of each October.

To help make our algorithms more valuable to visitors, our CONTRIBUTING.md file outlines several strict requirements, such as tests, type hints, descriptive names, functions, and/or classes. Maintainers reviewing pull requests should try to encourage improvements to meet these goals, but when the workload becomes overwhelming (esp. in October), pull requests that do not meet these goals should be closed.

Below are a few gh scripts that should close pull requests that do not match the definition of an acceptable algorithm as defined in CONTRIBUTING.md. I tend to run these scripts in the following order.

  • close_pull_requests_with_require_descriptive_names.sh
  • close_pull_requests_with_require_tests.sh
  • close_pull_requests_with_require_type_hints.sh
  • close_pull_requests_with_failing_tests.sh
  • close_pull_requests_with_awaiting_changes.sh
  • find_git_conflicts.sh

Run on 14 Oct 2025: 107 of 541 (19.77%) pull requests closed.

Script run Open pull requests Pull requests closed
None 541 0
require_descriptive_names 515 26
require_tests 498 17
require_type_hints 496 2
failing_tests 438 58
awaiting_changes 434 4
git_conflicts [ broken ] 0