XPerf
LanguagesPython

pyperf corpus targets

Large trees are not vendored, and the corpus is not shipped with the repo: clone it into any local directory outside the repo and pass that path to the linter.

This package is XPerf’s Python smell kit, not the PyPI pyperf benchmark runner.

Pins

TreeURLCommitNotes
djangohttps://github.com/django/django3d3d943b7442f1f5278ed876331a06047fa96ea8shallow
flaskhttps://github.com/pallets/flaskd086db856be187255b8ec61ef409357393020f32shallow
requestshttps://github.com/psf/requests611c6162cbc4ac2020a2f91c7cfa4f3abf9bbb60shallow; 0 under defaults

G3 summary (2026-10-22 Asia/Shanghai) — redesign

Treer2r3 (defaults)corpus-ready?
django2728PP004
flask01CLI OK-idiom
requests00clean

Verdict: corpus-ready yes. Sample n=29: TP 51.7% / OK-idiom 48.3% / FP+DOC+SKIP 0%. Defaults: pp-str-plus-hot/pp-print-hot off; pp-list-plus-rebind hint. PP004 removed (jitter). Measured JSONL fills exist but do not change the defaults (see evidence-policy.md).

Redesign notes

  • PP004: ad-hoc re.METHOD(literal) inside functions
  • Skips: scripts/, management/commands/

Do not commit corpus sources into packages/pyperf.

2026-10-23 — hint rules outside the 2026-10-22 verdict

The 2026-10-22 corpus-ready verdict does not cover the slugs below. They stay hint and have not been through G2/G3.

  • pp-json-hot, pp-deepcopy-hot — JSONL on disk; still hint

pp-regex-compile-in-loop and pp-datetime-format-in-loop were removed. See evidence/_removed/. They are not part of that verdict.