Files
priya-sundaram-devandpre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 1eeed73945 ci: daily Hacktoberfest 2026 prep tracker refresh (cron 11:50 UTC) (#15225)
* ci: daily Hacktoberfest 2026 prep tracker refresh (cron 11:50 UTC)

Adds .github/workflows/hacktoberfest_prep.yml (schedule: 50 11 * * *) and
scripts/hacktoberfest_prep_update.py. Each run:

- ticks tracked PR rows in docs/hacktober_2026_prep.md that are now
  merged/closed (`[ ]` -> `[x]`),
- rewrites an 'Automated statistics' section with the current open issue and
  open PR counts plus the top three directories with the most open
  'awaiting reviews' PRs,
- exits non-zero once Hacktoberfest 2026 has begun (>= 2026-10-01), so the
  prep window closing is loud and the job gets retired.

Standard library only; uses the Actions GITHUB_TOKEN. Refs #15081.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* style: wrap implicit string concatenations (ISC004)

* refactor: use httpx2 for API calls, drop unneeded future import

Address review feedback on the Hacktoberfest prep cron:
- Switch the tracker script from urllib to httpx2, the repo's standard
  HTTP client, and add an install step to the workflow.
- Drop 'from __future__ import annotations' (unnecessary on Python >= 3.14t).

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-09-08 08:48:46 +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