The entry linked hydra-ecosystem/hydra, an unrelated W3C Hydra API
toolkit, while the entry name and description describe
facebookresearch's Hydra configuration framework, mixing the wrong
repo's stars with the right package's identity. Found during the
downloads-column identity sweep.
Co-Authored-By: Claude <noreply@anthropic.com>
Exact reproducibility already lives in uv.lock via 'uv sync --locked',
so == in pyproject.toml only duplicates the lockfile and blocks
'uv lock --upgrade'. Locked versions are unchanged.
Co-Authored-By: Claude <noreply@anthropic.com>
watchdog 6.0.0 (last release 2024-11-01) ships no cp314 macOS wheel,
and uv has no per-package build allowlist under no-build = true, so
the preview file watcher moves to watchfiles, which ships cp314
wheels. watchfiles now lives in its own preview dependency group.
UV_PYTHON=3.13 is no longer needed on machines that only have 3.14.
Co-Authored-By: Claude <noreply@anthropic.com>
Removed the companion-project clause from the Sub-item definition in
CONTEXT.md's vocabulary. Its examples (aws-sdk-pandas under pandas,
flower under celery) went stale this sitting: those companions were
promoted, re-homed, or deleted. Per the maintainer's 2026-08-16 policy
decision, sub-items are now reserved for awesome-* also-see links only
- a companion project must earn a full Entry in its proper Use Case or
not be listed.
Co-Authored-By: Claude <noreply@anthropic.com>
Re-homed pyenv-win from a pyenv sub-item (Environment Management) to a full entry in Microsoft Windows, placed before winpython by downloads (25.8k/mo vs 172). Actively maintained, pushed 2026-08-14, 7,360 stars. Maintainer preference is to move sub-items to a fitting category rather than delete.
Co-Authored-By: Claude <noreply@anthropic.com>
Flower isn't a task queue, so nesting it under celery misclassified it; Task Queues is also at its entry cap. Monitoring and Processes is its honest home, ranking fourth by downloads (12.35M/mo ClickPy, between supervisor 17.0M and sh 11.8M), and Celery's own docs name it the recommended monitor. Repo pushed 2026-08-16 with 7,232 stars. This fills Monitoring and Processes to its 5-entry cap.
Co-Authored-By: Claude <noreply@anthropic.com>
Was a sub-item under mkdocs. By downloads it ranks second in the
section at 17.6M/mo (ClickPy), above mkdocs' 17.4M, and it powers
FastAPI, Pydantic, and Ruff/Polars docs (27,269 stars, pushed
2026-08-09). Documentation now sits at its 5-entry cap.
Co-Authored-By: Claude <noreply@anthropic.com>
Not a tool readers install: type checkers bundle it automatically as a
stub collection, it has no PyPI package, and no standalone use case.
The Type Checkers subcategory label already links to
awesome-python-typing for ecosystem depth.
Co-Authored-By: Claude <noreply@anthropic.com>
Sub-item policy reserves sub-items for awesome-* links. aws-sdk-pandas
promoted out as awswrangler in Data Ingestion / ETL > General
(85.3M downloads/mo, 10x dlt, active).
Co-Authored-By: Claude <noreply@anthropic.com>
Reuses CONTRIBUTING.md's plainer 'would name when asked' phrasing instead of 'unprompted', per maintainer feedback that 'unprompted' didn't sound right.
Co-Authored-By: Claude <noreply@anthropic.com>
The old template used a stars-based tier system (Industry Standard /
Rising Star / Hidden Gem) that contradicted the current CONTRIBUTING.md,
which judges entries by obvious-choice/challenger tiers, favors PyPI
downloads over stars, and requires Displacement when a use case is at
its cap. The new template reflects those rules and adds a checklist
item pointing contributors to CONTRIBUTING.md.
Co-Authored-By: Claude <noreply@anthropic.com>
The maintainer decided how duplicate entries across categories should
be handled (e.g. uv listed in both Environment Management and Package
Management): each slot must earn its place independently, entries are
listed in full with identical lines rather than a cross-reference,
description edits update every copy in the same commit, and each slot
is audited on its own.
Co-Authored-By: Claude <noreply@anthropic.com>
Capture parser quirks worth knowing before editing README.md:
everything above is ignored, new subcategories need no
parser change, a standalone all-bold paragraph becomes a Thematic
Group marker, prose after leaks into llms.txt, and the
build's "Total entries" figure counts sub-items rather than just
entries.
Co-Authored-By: Claude <noreply@anthropic.com>
Note that data/github_stars.json is gitignored and fetched by CI at
deploy time, so local runs are preview-only and should never be
committed; entries removed from README.md just leave harmless orphan
keys behind.
Co-Authored-By: Claude <noreply@anthropic.com>
Extend the known failure-mode list for PyPI download counts beyond
model weights to any project consumed outside pip (SDK downloads like
renpy, deployed services like thumbor). Also clarify that the per-Use-
Case Cap is a ceiling, not a floor: a freshly minted Use Case may hold
a single entry.
Co-Authored-By: Claude <noreply@anthropic.com>
Cross-section re-homes now ride the originating audit's commit instead
of needing a separate one, since both sides of the move land in one
diff. Also note that Resources sections are out of audit scope and
never parsed by the website, so they're not project entries subject
to the one-entry-per-commit rule.
Co-Authored-By: Claude <noreply@anthropic.com>
Git history already archives every removal's reason via commit body,
but it can't be scanned at a glance. docs/audit-logs.md is the
at-a-glance register of overrides (naming exceptions, mature-stable
keeps) allowed by CONTRIBUTING.md. Drop the docs/* gitignore exclusion
(and stale .superpowers/ and skills-lock.json entries) so the file and
future doc additions outside docs/adr/ can be tracked.
Co-Authored-By: Claude <noreply@anthropic.com>
The pypi downloads sweep looks up counts by README display name; when
the display name differs from the canonical package, the row silently
measures an unrelated squatter or a dead predecessor. Document the
failure mode in both the fetcher's docstring and the audit skill so
famous entries with off-looking counts get identity-verified before
being cited.
Co-Authored-By: Claude <noreply@anthropic.com>
Resolves decision 10's reservation on maintainer word: the 3+2/5 cap
numbers stay as written — across the full prune they held everywhere
except a handful of explicit overrides — and the override practice
itself becomes a written rule: the maintainer may exceed any limit
for a specific entry or use case by explicit decision, case-by-case,
carrying no weight for submissions. CONTEXT.md gains the matching
Override vocabulary entry.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer reversal of c0a31ce, restoring the entry and its
awesome-fasthtml sub-item to their prior position. The
challenger-limit override that rode the move is withdrawn with it —
Asynchronous returns to 4 entries within the standard cap shape.
Co-Authored-By: Claude <noreply@anthropic.com>
Re-admission on maintainer word, reversing the Data Analysis sweep's
drop (f3c920d — the xlsxwriter reversal precedent): the drop was
partly a mis-homing casualty, since its honest home, an ETL use case,
did not exist then. The repo self-describes as a Python ETL framework
for stream processing and LLM/RAG pipelines: 62.5K stars, pushed
daily; 16.5K downloads/month is weak for the star count and noted.
Enters as challenger behind dlt (7.8M/mo).
Co-Authored-By: Claude <noreply@anthropic.com>
The safishamsi/graphify URL is a stale redirect — the repo moved to
Graphify-Labs/graphify (verified via the GitHub API). Maintainer
declined the Agent Skills re-home; the entry stays in Data
Visualization > Specialized with its link fixed.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer-adjudicated close of the standing flag: fasthtml runs on
Starlette and Uvicorn (ASGI), so Synchronous was the wrong shelf. It
lands as a third challenger behind starlette and tornado's obvious
choices — the use case holds 5 with 3 challengers by explicit
maintainer override (Async I/O precedent; the awesome-fasthtml
sub-item rides along). 1.19M downloads/month as python-fasthtml.
Co-Authored-By: Claude <noreply@anthropic.com>
No removals. mimetypes and pathlib (standard library) lead
alphabetically under the stdlib-first rule; watchfiles (389.3M/mo,
partly uvicorn-transitive — the riser) completes the obvious choices;
watchdog (113.3M/mo, the demoted incumbent, Second Tier) and
python-magic (32.3M/mo) challengers.
Co-Authored-By: Claude <noreply@anthropic.com>
Tiers: beautifulsoup4 (renamed from beautifulsoup — the bare PyPI
name is the abandoned bs3 shim; 451.4M/mo, docs link per the PyQt
precedent), lxml (401.3M/mo), xmltodict (124.5M/mo) obvious choices;
markupsafe (820.5M/mo — the section's biggest raw count, but
jinja-transitive infrastructure, so challenger on judgment; watch:
quiet since 2025-09) and justhtml (67.8K/mo, 1.1K stars in two
years — trajectory judgment on a young pure-Python HTML5 parser)
challengers.
Removed:
- html-to-markdown — coordinated multi-entry self-promotion
(automatic-rejection rule): PyPI provenance verified to xberg-io,
the org's fourth planted entry overall. 1.5M downloads/month is
real but the rule stands.
- pyquery — 2.2M downloads/month and an active repo (pushed
2026-07); editorial drop at cap: the jQuery-style API is the
least-reached-for of the keeps. Judgment call.
- tinycss2 — 110.5M downloads/month is transitive (weasyprint
declares it a hard dependency, verified in PyPI metadata) against
190 stars; a CSS parser mis-homed in an HTML/XML section with no
better home. Judgment call.
Co-Authored-By: Claude <noreply@anthropic.com>
The industry's fuzzy string matching answer (web-verified: the
production recommendation over thefuzz — same API, MIT license, C++
speed — and preferred over textdistance for string metrics). 181.7M
downloads/month (pepy), 4.1K stars, pushed 2026-08. Sole obvious
choice; the subcategory label rides this commit so it is never empty,
completing the displacement of textdistance.
Co-Authored-By: Claude <noreply@anthropic.com>
The ecosystem's default encoding detector — requests switched to it
in 2021 and 2026 guidance names it the choice for new projects
(web-verified). 1.73B downloads/month (pepy; heavily
requests-transitive, but default-status is the point), pushed
2026-08. Co-obvious with chardet, which retains a verified accuracy
claim — the PyQt/PySide pair shape.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: the 10-entry General grab-bag dissolves — Encoding and
Unicode (chardet 224.1M/mo obvious choice, joined by
charset-normalizer next commit; ftfy 14.4M/mo kept as the fifth
mature-stable past-line keep, repo and release both 2024-10),
Internationalization (babel 135.2M/mo sole), Transliteration and
Slugs (python-slugify 87.7M/mo, unidecode 31.8M/mo), and a residual
General (difflib stdlib-first, pyfiglet 6.2M/mo judgment keep).
pypinyin (1.9M/mo) and pangu.py (14.9K/mo as PyPI pangu — display
name kept by explicit maintainer word, the second deliberate naming
exception after pytorch; kept on sole-tool judgment for CJK spacing)
re-home to Natural Language Processing > Chinese as challengers
beside jieba. Parser re-tiers: pygments (1.25B/mo), pyparsing
(422.3M/mo), sqlparse (146.8M/mo) obvious choices; phonenumbers
(renamed from python-phonenumbers, 39.4M/mo) and parsy (4M/mo)
challengers. Unique identifiers reorders to shortuuid then sqids.
Removed:
- textdistance — last release 2024-07 (25 months) and repo quiet
since 2025-04, past the 12-month line; displaced by rapidfuzz
(181.7M/mo vs 2.5M), entering in its own commit.
- python-nameparser — 3.3M downloads/month (as nameparser) and an
active repo; editorial drop at cap: the domain-parser class is
trimmed to the giant, phonenumbers. Judgment call.
- python-user-agents — repo quiet since 2023-02, three and a half
years past the 12-month line.
- tree-sitter-language-pack — coordinated multi-entry self-promotion
(automatic-rejection rule): PyPI provenance verified to xberg-io,
the org that previously planted xberg and liter-llm. 6.6M/mo is
real but the rule stands; its sibling drops from HTML Manipulation.
Co-Authored-By: Claude <noreply@anthropic.com>
No removals. General tiers: opencv-python (renamed from opencv to the
canonical pip package this entry already linked; 55.9M/mo) and
ultralytics (8.4M/mo, 60.7K stars) obvious choices; kornia (3.1M/mo)
and fiftyone (253.7K/mo — dataset tooling rather than a vision
algorithm library, kept as the unprompted answer for that adjacent
job) challengers. OCR minted as a distinct job: pytesseract (24M/mo)
and easyocr (3.6M/mo, quiet since 2025-12 — watch) obvious choices.
Co-Authored-By: Claude <noreply@anthropic.com>
General tiers: nltk (71.4M/mo), spacy (25.4M/mo) obvious choices;
gensim (6M/mo, quiet since 2025-11 — watch) and stanza (1.1M/mo)
challengers. Chinese: jieba kept as mature-stable past the 12-month
activity line (repo quiet since 2024-08, last release 0.42.1 in
2020-01) on the sortedcontainers precedent — the fourth such keep:
3.3M downloads/month, 35.1K stars, still the Chinese segmentation
answer with no successor.
Removed:
- funnlp — three independent grounds: a link-collection rather than a
library; repo quiet since 2024-05, past the 12-month line; 55
downloads/month. Its 82.5K stars measure the bookmark, not a tool.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: the 12-entry flat section splits into General
(scikit-learn 234.7M/mo obvious choice; pgmpy 843.7K/mo and
feature-engine — renamed from feature_engine to its canonical PyPI
name, 297.1K/mo — challengers), Gradient Boosting (xgboost 52M/mo,
lightgbm 26.5M/mo, catboost 6.3M/mo, all obvious choices; lightgbm's
lightgbm-org link verified current — microsoft/LightGBM redirects
there), and Time Series Forecasting (timesfm sole — a foundation
model judged by ecosystem adoption, 285K/mo and 27.6K stars; prophet
and darts are named absences, deliberately not added this sitting).
Removed:
- h2o — 215.1K downloads/month, 7.5K stars, and the repo is active;
the drop is purely editorial: no longer anyone's unprompted answer
against scikit-learn and the boosting trio. Judgment call.
- mindsdb — the linked repo redirects to mindsdb/mindshub, a "models
workspace"; the AI-layer-for-databases product this entry described
no longer exists (verified). 23.9K downloads/month.
- scikit-lego — 72.5K downloads/month, 1.4K stars; a grab-bag of
sklearn extras that never became an unprompted answer. Judgment.
- TabGAN — 574 stars, 2.3K downloads/month. Nowhere near the bar.
- spark.ml — duplicate in all but name: pyspark is already listed in
the audited DevOps group, same repo, same pip install. Structural.
Co-Authored-By: Claude <noreply@anthropic.com>
The RL environments standard: community successor to OpenAI Gym
(unmaintained since 2022; few maintained RL libraries still support
old Gym — web-verified). 6.5M downloads/month (pepy), 12.3K stars,
pushed 2026-08. Obvious choice beside stable-baselines3, ordering
first by downloads.
Co-Authored-By: Claude <noreply@anthropic.com>
No removals. Frameworks tiers: pytorch (96.6M/mo as PyPI torch — the
display name stays pytorch by explicit maintainer word, a deliberate
exception to the naming convention; the bare pytorch PyPI package is
a squatting placeholder), tensorflow (19.2M/mo — production incumbent,
flagged as a Second Tier demotion candidate for the next audit), keras
(18.6M/mo, backend-agnostic since Keras 3) obvious choices; jax
(21.8M/mo, TPU/performance trajectory) and pytorch-lightning
(11M/mo) challengers. Landscape verified: PyTorch is the 2026 default
with 85% research share.
stable-baselines3 moves into the minted Reinforcement Learning
subcategory — RL is a distinct job; gymnasium joins it next commit.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer challenge upheld: Odoo is a ready-made web application
platform you extend, the sibling concept of CMS and Admin Panels —
so the section belongs beside them, not in the Other grab-bag (its
first placement was inertia from tryton's Miscellaneous home). TOC
and body both move; the group's section tail stays alphabetical
(Admin Panels, CMS, ERP, Static Site Generators).
Co-Authored-By: Claude <noreply@anthropic.com>
The Python ERP by adoption: about 7M users across editions, 50+ app
modules, 53.7K stars, pushed daily (web-verified). Not pip-distributed
— the PyPI odoo package is a dateless placeholder — so no download
signal; judged by ecosystem and displayed by repository name (renpy
precedent). Sole obvious choice.
Second structure override of decision 18 by maintainer word (Supply
Chain Security precedent): ERP lands as a new section in the Other
group rather than a slot in the Miscellaneous grab-bag, replacing the
dropped tryton. TOC line, heading, and description ride this commit.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: itsdangerous moves to Security > Cryptography as a
challenger — HMAC-based data signing fits "cryptographic primitives
and secure protocols" better than the grab-bag. Kept past the
12-month activity line (repo quiet since 2025-06, last release
2024-04) as mature-stable on the sortedcontainers precedent: 222.8M
downloads/month, the signing answer, no successor. Miscellaneous
keeps blinker (192.2M/mo) and boltons (26.5M/mo) as obvious choices.
Removed:
- tryton — 10.9K downloads/month, and that PyPI package is the
desktop client (the framework server is trytond); the linked GitHub
repo is a self-described 216-star mirror; and the ERP obvious
choice by adoption is Odoo (~7M users vs hundreds-to-thousands of
Tryton deployments, web-verified), which enters in the next commit.
Co-Authored-By: Claude <noreply@anthropic.com>
Tiers: bleak (2.5M/mo) and pynput (2.2M/mo) obvious choices;
jumpstarter (1.5K/mo, 211 stars, created 2026-01) kept as a
challenger by explicit maintainer flip against the seeded drop.
Removed:
- synology-api — 579 stars, 14.5K downloads/month; a single-vendor
NAS API wrapper, not an obvious choice for any hardware job a
general reader has. Judgment call.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer-proposed during the Security sitting: uv's built-in
vulnerability and malware scanning (announced 2026-06, OSV-backed,
4-10x faster than pip-audit on typical projects). Enters as a
no-signal challenger behind pip-audit — not a package, so this is a
subcommand pointer entry linking the CLI docs (httpx.URL precedent).
Astral marks the feature preview/unstable; kept by explicit maintainer
override of the production-ready quality bar — the first stability
override. The description carries the preview label.
Co-Authored-By: Claude <noreply@anthropic.com>
The PyPA-official dependency vulnerability scanner: 30.9M
downloads/month (pepy; largely CI traffic, which is the use case),
1.3K stars, pushed 2026-08. Verified 2026 guidance names it the free
baseline over the older commercial safety. Sole obvious choice.
This mints the reform's first new section — an explicit maintainer
override of decision 18 (all minted use cases are subcategories),
accepted in the audit preview. TOC line, heading, and description
ride this commit per the Build Backends pattern; placed alphabetically
in the Security group.
Co-Authored-By: Claude <noreply@anthropic.com>
No removals in either section.
Cryptography: adds the missing italic section description; reorders to
downloads — cryptography (1.48B/mo), pynacl (241.7M/mo), paramiko
(155.4M/mo; SSH kept here as secure-protocols-adjacent rather than
minting a sole-entry use case) — all obvious choices.
Penetration Testing: tiers mitmproxy (10.8M/mo) and sqlmap (official
PyPI package verified, 65.3K/mo under-measures git-based usage; 38.2K
stars) obvious choices; sherlock-project (renamed from sherlock — the
bare PyPI name is an unrelated distributed-lock library; 115.9K/mo,
89.6K stars) and social-engineer-toolkit (renamed from setoolkit —
no PyPI package, so the naming convention falls back to the repository
name; no download signal, judged by ecosystem standing) challengers.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer-approved batch: gtts → gTTS, twisted → Twisted, cython →
Cython, per the naming convention (display name = canonical PyPI
package name, verified via the PyPI JSON API). All three were caught
post-commit in earlier sittings and parked awaiting explicit word.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer-adjudicated close of the standing flag from the Developer
Tools sitting: pre-commit is developer-workflow tooling (a git-hook
framework orchestrating linters), not ops — it leaves the DevOps
Tools > Other grab-bag for a minted sole-entry Git Hooks subcategory
in Code Analysis. Placement avoids stretching the Linters and
Formatters cap override (already 6 by maintainer word). No additions
or removals — a pure re-home.
Co-Authored-By: Claude <noreply@anthropic.com>
Displacement of the dropped python-decouple: same job — settings from
environment variables and files — done with validation and types on
the pydantic ecosystem's momentum. 495M downloads/month (pepy), pushed
2026-08. Obvious choice, ordering after python-dotenv.
Co-Authored-By: Claude <noreply@anthropic.com>
Tiers: configparser (stdlib, leads the use case under the stdlib-first
ordering rule), python-dotenv (782.2M/mo) obvious choices —
pydantic-settings joins them in its own addition commit; hydra-core
(23.8M/mo — renamed from hydra to its canonical PyPI name; the cache's
bare hydra row is an ancient unrelated package; link updated to
hydra-ecosystem/hydra, where the facebookresearch repo now redirects,
target verified by description) and dynaconf (6.8M/mo) challengers.
Removed:
- python-decouple — repo dormant since 2024-11, last release 3.8 in
2023-03, three and a half years past any release and past the
12-month activity line. 8.4M downloads/month, 3.0K stars.
Displaced by pydantic-settings (495M/mo) entering next.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer-directed restructure: instead of dropping pyarmor as
mis-homed, an Obfuscation subcategory is minted for it (sole obvious
choice — 501.5K/mo, 5.2K stars, pushed 2026-08); code obfuscation is a
distinct job from building executables. Executables tiers: pyinstaller
(13.1M/mo), Nuitka (512K/mo) obvious choices; shiv (487.3K/mo),
cx-Freeze (221K/mo) challengers. No removals.
Co-Authored-By: Claude <noreply@anthropic.com>
Challenger: uv's own backend at 26.5M downloads/month (pepy) within a
year of release, riding uv's adoption trajectory. Deferred by the
maintainer from the Developer Tools sitting; this closes that agenda
item.
Co-Authored-By: Claude <noreply@anthropic.com>
The modern default backend — PyPA docs and project templates reach for
it: 507M downloads/month (pepy), pushed 2026-08. Obvious choice
alongside setuptools; ordering after it by downloads.
Co-Authored-By: Claude <noreply@anthropic.com>