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>
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>
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>
Mints the Build Backends subcategory — the deferred agenda item from
the Developer Tools sitting (2026-08-16), landing in its designated
Python Toolchain slot. setuptools is the incumbent obvious choice:
1.51B downloads/month (pepy), half the ecosystem still builds with it,
pushed 2026-08.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: the flat section becomes two subcategories — Package
Managers (this commit) and Build Backends (entering next as three
addition commits; the pyproject build-backend choice is a distinct job
from installing packages).
Package Managers tiers: pip (689.4M/mo), uv (194.1M/mo, the 2026
default recommendation for new projects), poetry (79M/mo) obvious
choices; hatch (22.2M/mo — kept by explicit maintainer flip against
the seeded drop), pipx (7.1M/mo, Second Tier — uv tool covers the job
for uv users), conda (no pip signal, the data-science distribution
standard; sorts last) challengers. The use case holds 6 entries by
explicit maintainer cap override — the list's third, same 3 obvious
choices + 3 challengers shape as Linters and Async I/O.
No removals.
Co-Authored-By: Claude <noreply@anthropic.com>
Tiers: virtualenv (545.7M/mo, much of it transitive via pip and tox),
uv (194.1M/mo, dual-listed here and in Package Managers by maintainer
acceptance), pyenv (no pip signal — distributed via git and brew;
45.0K stars) all obvious choices. pyenv-win converts to an indented
sub-item under pyenv (the flower/celery companion pattern — its job is
inseparable from its parent's), freeing a slot without losing the
pointer.
Removed:
- KillPy — 124 stars, created 2025, 3.7K downloads/month; nowhere
near obvious-choice or challenger territory.
Co-Authored-By: Claude <noreply@anthropic.com>
Applies the amended Entry Ordering rule (stdlib first in tier)
retroactively to all audited sections: sqlite3 (SQLite), mock (Mock),
logging (Logging), tomllib (Data Formats), argparse (CLI Development),
tkinter (Tkinter), functools (Functional Programming), asyncio with
its awesome-asyncio sub-item (Async I/O), zoneinfo (Date and Time).
Parallelism (concurrent.futures, multiprocessing) is an all-stdlib
tier and stays alphabetical. Unaudited sections (difflib, mimetypes,
pathlib, configparser) pick the rule up at their own audit. No entry
additions or removals.
Co-Authored-By: Claude <noreply@anthropic.com>
Challenger with verified adoption trajectory: 9M downloads/month
(pepy), 2.4K stars, pushed 2026-08. Rust-backed and type-safe, with
published benchmarks 10-100x faster than Pendulum and Arrow and a
DST-correctness design aimed at the incumbents' known pitfalls.
Slots into the second challenger position after pendulum.
Co-Authored-By: Claude <noreply@anthropic.com>
No removals in either section — tier ordering and canonical-name
renames only.
Built-in Classes Enhancement: attrs (939M/mo), bidict (30.5M/mo)
obvious choices; uuid-utils (81.2M/mo, challenger on judgment — the
count is transitive-profile against 364 stars) and python-box
(renamed from box, its canonical PyPI name; 6.9M/mo) challengers.
Date and Time: python-dateutil (renamed from dateutil, its canonical
PyPI name; 1.21B/mo), dateparser (46.4M/mo), zoneinfo (stdlib, the
timezone answer since 3.9; no-signal, sorts last) obvious choices;
pendulum (71.6M/mo, revived 2026-07 after a long slump — Second
Tier-shaped) challenger.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: the flat section splits — async I/O and process/pool
parallelism are distinct jobs. Parallelism holds concurrent.futures
and multiprocessing (both standard library, both obvious choices,
no-signal so alphabetical).
Async I/O tiers: anyio (1.07B/mo — heavily transitive via httpx and
Starlette, but independently the production-recommended structured-
concurrency layer), uvloop (267.7M/mo), asyncio (stdlib, no-signal,
sorts last; awesome-asyncio sub-item rides along) obvious choices;
trio (53.8M/mo), gevent (49.6M/mo), twisted (15.1M/mo) challengers —
gevent and twisted kept as Second Tier by explicit maintainer
decision, and the use case holds 6 entries by explicit maintainer cap
override (the list's second, after Linters and Formatters; same
3 obvious choices + 3 challengers shape).
No removals.
Co-Authored-By: Claude <noreply@anthropic.com>
Tiers: more-itertools (339.9M/mo), toolz (62.9M/mo), functools
(stdlib, the first stop for FP utilities; no-signal, sorts last)
obvious choices; funcy (7.3M/mo) and returns (1.37M/mo, typed
monads/Result trajectory) challengers.
Removed:
- coconut — 14.4K downloads/month, 4.3K stars; a compiled language
variant rather than a library, and nobody's unprompted answer for
functional Python. Judgment call.
Co-Authored-By: Claude <noreply@anthropic.com>
Tiers: cpython, micropython, pypy obvious choices (all no-signal —
distributed outside pip — so alphabetical); cython (130.3M/mo, kept
here by judgment as a Python-superset compiler with no better home)
and pyodide (no pip signal; distributed via CDN and npm) challengers.
Removed:
- ironpython — latest release v3.4.2 (2024-12) still implements
Python 3.4-era language, a decade behind CPython (verified from the
release feed; the repo itself is active, so this is not an
activity-line drop). 2.8K stars. Not an obvious choice for any
current job.
Co-Authored-By: Claude <noreply@anthropic.com>
Challenger to pygame: the community fork where long-time contributors
now develop, a drop-in replacement (same import name), and community
guidance for new projects favors it — adoption-trajectory evidence
verified by web search. 642.5K downloads/month (pepy), 1.6K stars,
created 2023, pushed 2026-08. Upstream pygame itself has been quiet
since 2025-11. Slots into the open challenger position ahead of
arcade (85.3K/mo).
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: the flat section splits into 3D Engines (panda3d
189.3K/mo, sole obvious choice), Game Frameworks (pygame 3.07M/mo and
pyglet 2.9M/mo obvious choices; arcade 85.3K/mo challenger — pygame-ce
joins as a challenger in its own addition commit), and Visual Novels
(renpy sole obvious choice — its 4/mo pip count is meaningless since
Ren'Py ships as its own SDK; ecosystem verified: 8,000+ published
works, release 8.5.3 in 2026-05).
Removed:
- py-sdl2 — 71.1K downloads/month (as PySDL2), 344 stars; low-level
SDL bindings whose job pygame-ce and pyglet cover for this list's
audience. Judgment call.
- pyopengl — 5.3M downloads/month, likely transitive
scientific-visualization traffic (judgment call, mechanism
unverified), 415 stars; raw OpenGL bindings are not a
game-development obvious choice.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: gtts and KittenTTS re-home to AI and Agents > Speech — TTS
belongs with the speech models, not audio processing. gtts (3M/mo,
a 2014 service wrapper, quiet since 2026-04) lands as Second Tier;
kittentts (renamed to its canonical PyPI name, 15.3K stars within a
year of creation, pip count 3.9K/mo under-measures model adoption)
as challenger. Speech is now at exact cap (5/5) — future additions
there require displacement.
Audio keeps pydub (21.4M/mo) and librosa (11.7M/mo) as obvious
choices. Video unchanged: moviepy (7M/mo) obvious choice, vidgear
(25.3K/mo) challenger. Metadata reorders to tiers: mutagen (8.2M/mo)
obvious choice; tinytag (5.2M/mo), beets (67.4K/mo, kept as challenger
rather than minting a sole-entry subcategory — judgment call).
Removed:
- birdnet — 7.1K downloads/month, 1.7K stars; an applied bioacoustics
tool with a genuinely small audience, not an audio-processing
choice. Judgment call.
- matchering — 16.1K downloads/month, 2.6K stars; a single-task
automated-mastering tool with a small audience, no trajectory.
Judgment call.
Co-Authored-By: Claude <noreply@anthropic.com>
Maintainer-requested during the Media audit, replacing dropped
pymatting with the tool whose traffic pymatting was carrying: rembg is
the obvious choice for background removal — 4.1M downloads/month
direct (pepy), 24.3K stars, pushed 2026-08, active release train.
Takes the open third obvious-choice slot in General (no displacement
needed), ordering after pillow and scikit-image.
Co-Authored-By: Claude <noreply@anthropic.com>
Restructure: the flat section splits into Barcodes and QR Codes (qrcode
30.1M/mo, python-barcode 3.4M/mo, both obvious choices — generating
codes is a distinct job from manipulating images), General (pillow
552M/mo, scikit-image 28.5M/mo obvious choices; wand 1.4M/mo, pyvips
808.2K/mo challengers), and Image Serving (thumbor sole obvious choice —
a deployed service, so its 22K/mo pip count under-measures use).
Rename to canonical PyPI name: python-qrcode → qrcode.
Removed:
- pymatting — 3.3M downloads/month, but the traffic is transitive:
rembg declares pymatting as a hard dependency (verified in rembg's
PyPI metadata). A single-task alpha-matting library, 1.9K stars,
quiet since 2026-04; not an obvious choice for image processing.
Co-Authored-By: Claude <noreply@anthropic.com>