On a verdict preview page with no flipped rows, Copy feedback produced only a generic acceptance line, so a pasted acceptance did not say which page or sections it covered.
Co-Authored-By: Claude <noreply@anthropic.com>
The 2026-10-02 AI & ML audit kept or admitted five Beta-classifier entries and kept annoy past the 12-month activity line, but docs/audit-logs.md did not record these maintainer decisions, so the next audit would drop them as rule failures.
Co-Authored-By: Claude <noreply@anthropic.com>
The OCR list had pytesseract and easyocr but omitted PaddleOCR, which led 2026 open-source OCR benchmarks on multilingual text and complex layouts.
Co-Authored-By: Claude <noreply@anthropic.com>
Time Series Forecasting listed only timesfm, while prophet, the most-installed forecasting library, was missing.
Co-Authored-By: Claude <noreply@anthropic.com>
The tensorflow line called it "the most popular Deep Learning framework", false by downloads (torch 59.8M/month vs tensorflow 11.4M on pypistats, 2026-10-02), and the Frameworks tiers no longer matched the evidence: tensorflow 2.21.0 still ships no cp314 wheels (tensorflow/tensorflow#102890) and its releases now focus on security and bug fixes, while keras's 11.76M is mostly tensorflow pulling it in (requires keras>=3.12.0). Both move to Second Tier; jax (8.0M, Google's own successor) and pytorch-lightning (10.1M) become obvious choices.
Co-Authored-By: Claude <noreply@anthropic.com>
The 2026-10-01 AI and Agents audit kept claude-agent-sdk despite its Alpha classifier and semantica as a challenger without adoption-trajectory evidence, and neither override was on record in docs/audit-logs.md.
Co-Authored-By: Claude <noreply@anthropic.com>
The AI and Agents section carried two Speech entries that fail admission, its tier order no longer matched downloads, LiteLLM was not listed under its PyPI name, and unsloth's line missed its desktop app. Downloads are PyPI last-30-day via ClickPy, fetched 2026-09-26.
Removed:
- vibevoice (440/month): the only PyPI release is 0.0.1 from 2025-09-26; the TTS-1.5B model is disabled after misuse and the ASR model now ships in transformers, so nothing pip-installable is maintained.
- kittentts (1,917/month): the README marks it "Developer preview" (fails Stable), and PyPI kittentts is a third-party upload while the project installs from its GitHub release wheel.
Also:
- pydantic-ai promoted to obvious choice above crewai (5.37M vs 2.48M); crewai's pypistats monthly series swung from 28.5M in Aug to 2.4M in Sep and it requires_python <3.14, so it is now a Second Tier challenger.
- claude-agent-sdk reordered above openai-agents (29.1M vs 12.1M).
- LiteLLM renamed to litellm, its canonical PyPI name.
- unsloth description now mentions the desktop app.
- gTTS reordered above funasr by downloads (1.14M vs 282K).
Co-Authored-By: Claude <noreply@anthropic.com>
The preview only had keep/drop, so a proposed new entry had to be seeded as drop and flipped to Keep to add it, which was confusing.
Co-Authored-By: Claude <noreply@anthropic.com>
docs/audit-logs.md claimed every maintainer override is recorded, but the openviking stability override (PR #3302) and the seleniumbase challenger-evidence override (PR #3284) were missing.
Co-Authored-By: Claude <noreply@anthropic.com>
Inline code in category intros and guides inherited the body font with no background, so identifiers like INSTALLED_APPS read as ordinary words.
Co-Authored-By: Claude <noreply@anthropic.com>
awesome-pyramid last pushed 2021-07-08 and awesome-fasthtml 2024-09-08, both stale (checked via GitHub API 2026-09-27).
Co-Authored-By: Claude <noreply@anthropic.com>
18 entry descriptions overstated, understated, or misattributed their projects, checked against upstream on 2026-09-27 and approved row by row.
- django: "most popular" contradicted by the 2024 JetBrains/PSF survey, where FastAPI leads overall; now uses Django's own tagline.
- joblib: described as pipelining; its docs say parallel computing and disk caching.
- huey: called only "multi-threaded"; it also supports multi-process and greenlet workers.
- numba: updated to its current NumPy-aware wording.
- pytesseract: credited Google as Tesseract's developer, which ended in 2017.
- pennylane: description was narrower than its quantum computing/QML/chemistry scope.
- channels: didn't mention WebSocket support.
- justhtml: left out that it sanitizes untrusted HTML by default.
- akshare: left out its academic-research-only data terms.
- timesfm: left out its non-commercial default weights.
- pyvips: used libvips's own tagline instead of describing it as a binding.
- ultralytics: dropped an unverifiable SOTA claim and added its tracking capability.
- pandera: listed only 3 of its supported dataframe backends.
- sentry-skills: claimed a Python focus and debugging scope; it's the Sentry team's own skill set.
- trailofbits-skills: claimed to be Python-friendly, but only 2 of 85 skills are Python-specific.
- mysqlclient: fork link pointed to SourceForge mysql-python instead of MySQLdb1, and it now notes MariaDB support.
- charset-normalizer: called "the default" of requests, which prefers chardet when installed.
- pynacl: described as binding NaCl directly; it binds libsodium, a NaCl fork.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.
Co-Authored-By: Claude <noreply@anthropic.com>
Computer Vision's description said nothing; Template Engines claimed lexing; Email claimed parsing and mail server management though yagmail only sends; Build Tools said "compile software" though Invoke and doit are task runners; File Format Processing said "text formats" though it covers ELF, xlsx, docx, and PDF; Package Repositories left out mirrors like bandersnatch. These descriptions show on the category pages.
Co-Authored-By: Claude <noreply@anthropic.com>
langchain used an old composability tagline; transformers named only NLP/vision/audio though it now covers text, vision, audio, video, and multimodal; pgmpy left out its causal reasoning scope; uvicorn listed uvloop/httptools though both are optional extras; django-oauth-toolkit's "goodies" undersold an OAuth 2.0 authorization server; django-unfold used marketing copy instead of a description; pyparsing didn't match its repo's PEG parser description; pdfminer.six didn't say what it does; pyyaml's "implementations" was vague; whenever didn't reflect its Rust-or-pure-Python support; itsdangerous used an outdated upstream tagline; winpython's "Windows 10/11" will go stale; mssql-python's "low memory usage" claim has no upstream source; diskcache repeated the project's own speed benchmark instead of describing it; hishel left out its server-side support; jupyter used IPython's tagline instead of its own; ray used an old tagline; wxPython's sentence was garbled; kivy referenced outdated "NUI" and "Mac OS X" terms.
Co-Authored-By: Claude <noreply@anthropic.com>
Homepage description rows carried aria-hidden="true" on top of hidden, unlike category pages (fixed in 528f9ed); the hidden attribute alone already keeps them from assistive tech while hidden.
Co-Authored-By: Claude <noreply@anthropic.com>
applyFilters walked the static load-order NodeList, so after sorting by a column header, row numbers kept each row's original load-order position instead of counting 1..n down the sorted table.
Co-Authored-By: Claude <noreply@anthropic.com>
Category pages' JSON-LD ItemList listed entries in download order while the table renders them in README (editorial) order, so structured-data positions didn't match the visible rows.
Co-Authored-By: Claude <noreply@anthropic.com>
The rembg paragraph linked the same GitHub URL twice; the model-license link now points at the README's models section, where that claim is stated.
Co-Authored-By: Claude <noreply@anthropic.com>
The intro named Ultralytics' license with its version, AGPL-3.0, against the rule that intros name a license by family only.
Co-Authored-By: Claude <noreply@anthropic.com>