Commit Graph
2895 Commits
Author SHA1 Message Date
Vinta ChenandClaude 8d0186855d feat: add whitenoise to Web Asset Management
Web Asset Management omitted whitenoise, the standard static-file server for Django and WSGI production setups and the most-installed tool in the use case.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:38:28 +08:00
Vinta ChenandClaude f2f776701a feat: add flask-smorest to Web APIs > Flask
Web APIs > Flask lacked marshmallow-code's flask-smorest, the second most-installed Flask API framework, so the challenger apiflask sat above a more widely used entry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:38:15 +08:00
Vinta ChenandClaude 5990a2f18c feat: add flask-restx to Web APIs > Flask
Web APIs > Flask listed only apiflask (172,781 downloads/month) while flask-restx, the most-installed Flask API framework at 1,162,703 (pypistats 2026-10-02), was missing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:38:03 +08:00
Vinta ChenandClaude 983a11aefd audit: sweep Web Development, reorder Web APIs and reword gunicorn
In Web APIs > Framework Agnostic, connexion (4.26M downloads/month) sat above strawberry (5.76M) against the downloads-order rule, and gunicorn's line omitted the native ASGI worker it has shipped stable since 25.1.0. hypercorn stays in Second Tier (last position, unchanged) under the new Python-version rule instead of being dropped.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:37:51 +08:00
Vinta ChenandClaude 58c1312af3 docs: treat missing Python version support as a tier signal
No written rule covered Python version support, so audits treated a missing Python 3.14 wheel as grounds to drop entries that still have millions of users on older Pythons.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:37:28 +08:00
Vinta ChenandClaude 0b75c7806d docs: judge stability by the project, not its PyPI classifier
CONTRIBUTING's Stable requirement read as "not alpha/beta", so about 40 production-used entries (fastapi, uvicorn, keras, statsmodels, numba, and others) failed it on their PyPI Development Status classifier alone, and each needed an audit-log exception.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:36:53 +08:00
Vinta Chen b44cdc1d4c Merge branch 'preview-feedback-sections' 2026-10-02 12:08:30 +08:00
Vinta ChenandClaude 6e3a110e29 fix: name page and sections in the no-changes feedback text
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>
2026-10-02 12:08:29 +08:00
Vinta Chen ef67c66264 Merge branch 'audit-ai-ml' 2026-10-02 11:39:07 +08:00
Vinta ChenandClaude a7069559f2 docs: record AI & ML audit overrides
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>
2026-10-02 11:38:56 +08:00
Vinta ChenandClaude 041b055a0d feat: add paddleocr to Computer Vision > OCR
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>
2026-10-02 11:38:21 +08:00
Vinta ChenandClaude 823a69642a feat: add sktime to Machine Learning > Time Series Forecasting
The use case had no unified scikit-learn-style time-series framework.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 11:38:02 +08:00
Vinta ChenandClaude 3cee8ada5f feat: add statsforecast to Machine Learning > Time Series Forecasting
The use case had no fast classical statistical forecasting library (ARIMA, ETS, Theta).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 11:37:54 +08:00
Vinta ChenandClaude eee27857ab feat: add prophet to Machine Learning > Time Series Forecasting
Time Series Forecasting listed only timesfm, while prophet, the most-installed forecasting library, was missing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 11:37:37 +08:00
Vinta ChenandClaude b4da5703ff audit: sweep Deep Learning, re-tier frameworks
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>
2026-10-02 11:37:22 +08:00
Vinta Chen d69a819e76 Merge branch 'audit-ai' 2026-10-01 20:46:26 +08:00
Vinta ChenandClaude dfc8714afe docs: record claude-agent-sdk and semantica audit overrides
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>
2026-10-01 20:45:46 +08:00
Vinta ChenandClaude d12f0ae630 feat: add faster-whisper to AI and Agents > Speech
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-01 20:45:25 +08:00
Vinta ChenandClaude 4bc79bbfb2 feat: add trl to AI and Agents > Fine-tuning
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-01 20:45:10 +08:00
Vinta ChenandClaude 6beac6c074 feat: add google-adk to AI and Agents > Vendor Agent SDKs
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-01 20:44:53 +08:00
Vinta ChenandClaude ab9992cf14 feat: add fastmcp to AI and Agents > Model Context Protocol
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-01 20:44:39 +08:00
Vinta ChenandClaude 1e9eba4ea7 feat: add mcp, minting AI and Agents > Model Context Protocol
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-01 20:44:18 +08:00
Vinta ChenandClaude f4da58fce9 audit: sweep AI and Agents, drop vibevoice, kittentts
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>
2026-10-01 20:43:34 +08:00
Vinta Chen cf34fb6ed4 Merge branch 'preview-add-verdict' 2026-10-01 20:37:55 +08:00
Vinta ChenandClaude 7cae320a6f feat: add an add verdict to the verdict preview for new entries
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>
2026-10-01 20:37:49 +08:00
Vinta Chen 9d1a1b78b6 remove unneeded settings 2026-10-01 19:22:03 +08:00
Vinta Chen a14036fa6f Merge branch 'fix/sponsorship' 2026-09-29 22:42:02 +08:00
Vinta Chen a2801e72c0 update docs 2026-09-29 22:40:55 +08:00
Vinta Chen 4a62a22e90 add FUNDING 2026-09-29 22:38:29 +08:00
VRX 29fa24f619 fix: move logfire after loguru following Standard Library first 2026-09-28 13:15:12 +04:00
vikasrana d12af41a48 Add logfire to Logging section 2026-09-28 13:15:12 +04:00
Vinta Chen 104361bccb Merge branch 'audit-log-overrides' 2026-09-27 21:02:23 +08:00
Vinta ChenandClaude 160d9c01f1 docs: record openviking and seleniumbase audit overrides
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>
2026-09-27 21:01:58 +08:00
Vinta Chen ec4fd5dd7e Merge branch 'code-chip'
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-09-27 15:19:39 +08:00
Vinta ChenandClaude b6748825e6 style: give inline code in intros a chip appearance
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>
2026-09-27 15:19:27 +08:00
Vinta Chen 6eaa8a4c58 Merge branch 'fix/todo-pass2' 2026-09-27 15:11:22 +08:00
Vinta ChenandClaude a25bb7ac54 docs: remove stale nested awesome lists for pyramid and fasthtml
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>
2026-09-27 15:10:37 +08:00
Vinta ChenandClaude 6a038e3fef docs: fix inaccurate entry descriptions across README
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>
2026-09-27 15:06:32 +08:00
Vinta ChenandClaude 9cdd11b624 docs: rewrite File Format Processing category intro lead
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>
2026-09-27 14:53:14 +08:00
Vinta ChenandClaude a04833275a docs: rewrite Template Engines category intro lead
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>
2026-09-27 14:53:14 +08:00
Vinta ChenandClaude 540f462d4b docs: rewrite WebSocket category intro lead
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>
2026-09-27 14:53:14 +08:00
Vinta ChenandClaude 36880b3d87 docs: rewrite Web Servers category intro lead
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude fc09dc7067 docs: rewrite Web Frameworks category intro lead
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 86d857055b docs: rewrite Web APIs category intro lead
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude f293ce3549 docs: rewrite Game Development category intro lead
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 56aa4073d7 docs: rewrite Date and Time category intro lead
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 2c0486a34a docs: rewrite Data Validation category intro lead
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude edc3db37fa docs: fix 6 section descriptions that misdescribed their sections
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>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 1ed83b7f3d docs: fix 19 entry descriptions that drifted from upstream
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>
2026-09-27 14:53:12 +08:00
Vinta ChenandClaude ec818ebcf8 fix: drop redundant aria-hidden on homepage description rows
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>
2026-09-27 14:48:02 +08:00