Commit Graph
1936 Commits
Author SHA1 Message Date
Vinta ChenandClaude d637af7cb4 style: reorder Science > Biology and Chemistry by downloads
biopython sat above rdkit although rdkit now has more downloads (ClickPy 2026-10-01), against the downloads-order rule.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:41:15 +08:00
Vinta ChenandClaude 804991ef79 feat: add great-expectations to Data Validation
Data Validation omitted great-expectations, the most-installed data quality framework at 19,340,380 downloads/month (pypistats 2026-10-02), more than twice pandera's 8,170,879; the audit left it out only because it requires Python <3.14, which the Python-version rule no longer treats as grounds for exclusion.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:41:04 +08:00
Vinta ChenandClaude 7254ab543b feat: add dash to Data Visualization > Dashboards and Apps
Dashboards and Apps omitted Plotly's dash, which outdraws the listed gradio (6,253,566 vs 5,227,393 downloads/month, pypistats 2026-10-02).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:40:53 +08:00
Vinta ChenandClaude 8144f6b56d audit: sweep Data Visualization, replace pygraphviz with graphviz
Removed: pygraphviz (528,553 downloads/month, pypistats 2026-10-02): displaced by graphviz (32,829,050/month, part of it catboost pulling it in), which does the same job of building and rendering Graphviz graphs as pure Python with no C build.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:40:41 +08:00
Vinta ChenandClaude 9af92c2582 audit: sweep Data Ingestion / ETL, drop pathway
Removed: pathway (8,449 downloads/month, pypistats 2026-10-02): not open source (Business Source License, converting to Apache 2.0 only after four years, with a cloud-resale ban) and flat downloads, so no adoption trajectory for a challenger slot. Also: openbb's link moves to github.com/openbq-org/OpenBB, where OpenBB-finance/OpenBB now redirects after the company's wind-down handed the code to the non-profit OpenBQ.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:40:29 +08:00
Vinta ChenandClaude b4561c3b22 style: audit Database & Storage placement, wording, and order
django-mongodb-backend, a Django ORM backend rather than a database driver, sat under Database Drivers. psycopg's line called it "the most popular PostgreSQL adapter", false for psycopg 3 (psycopg2-binary plus psycopg2 total about 268M downloads/month vs psycopg 122.7M). django-cacheops (2,032,868) sat below dogpile.cache (1,913,993) in Caching, and elasticsearch (34,739,455) above opensearch-py (38,565,351) in Search, both against the downloads order.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:40:09 +08:00
Vinta ChenandClaude a309758896 audit: sweep Database, drop pixeltable
Removed: pixeltable (4,356 downloads/month, pypistats 2026-10-02): a data engine that runs an embedded PostgreSQL with one writer process, not an in-process vector database, with no adoption trajectory for a challenger slot. Also: lancedb (7,888,645) moves above chromadb (6,619,378) to follow the downloads order.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:39:55 +08:00
Vinta ChenandClaude 28479e3cfe feat: add django-anymail to Email
Email had no answer for sending through transactional email services from Django without vendor lock-in.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:39:35 +08:00
Vinta ChenandClaude 00b3c61ca9 feat: add aiosmtplib to Email
Email listed only yagmail, a Gmail-focused wrapper, while aiosmtplib, the general asyncio SMTP client, was missing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:39:24 +08:00
Vinta ChenandClaude 12f7b2b5f6 audit: sweep Web Scraping, replace html2text with markdownify
Removed: html2text (12,324,912 downloads/month, pypistats 2026-10-02): last release 2025-04-15, last commit 2025-10-28, GPL-3.0, and markdownify does the same HTML-to-Markdown job at 52,097,079/month (about 38M after markitdown's dependency pull). Content Extraction now reads markdownify, feedparser, trafilatura.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:39:14 +08:00
Vinta ChenandClaude 1c1994251d audit: sweep HTTP Clients, promote httpx2 over httpx
httpx held an obvious-choice slot with no stable release since 0.28.1 and its maintainer closed issues and discussions, while httpx2, Pydantic's same-API continuation, sat last despite openai, anthropic, huggingface-hub, mcp and langsmith now requiring it.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:39:00 +08:00
Vinta ChenandClaude c460044aa3 feat: add sqladmin to Admin Panels
Admin Panels had no admin for FastAPI/Starlette apps.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:38:37 +08:00
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 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 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
VRXandJinyang 29fa24f619 fix: move logfire after loguru following Standard Library first 2026-09-28 13:15:12 +04:00
vikasranaandJinyang d12af41a48 Add logfire to Logging section 2026-09-28 13:15:12 +04: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 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 169fafddab docs: fix wrong, outdated, and broken README entry descriptions
funasr: dropped stale 170x realtime and 50+ languages claims
easyocr: language count was stale at 40+, verified 80+
apiflask: said Marshmallow-only, missing its Pydantic support
urllib3: "A HTTP" grammar and awkward phrasing
django.db.models: linked to /en/dev/ instead of /en/stable/
pymysql: grammar slip "compatible to mysql-python", a phrase upstream dropped
zvec: unsourced "SQLite of vector databases" superlative
elasticsearch: linked to a redirected elastic.co/products/elasticsearch URL
matplotlib: called "2D" only, ignoring its animated/interactive support
geodjango: linked to /en/dev/ instead of /en/stable/
scipy: retired "ecosystem" tagline
mypy: "compile time" is wrong, Python has no compile-time type checking
tox: missing trailing period
schemathesis: described as OpenAPI/Swagger only, misses GraphQL schema support
polyfactory: grammar slip "support to classes"
mimesis: grammar slip "is a Python library that help you"
pdoc: outdated "Epydoc replacement" framing
pyinfra: grammar slip "A versatile CLI tools and python libraries"
typer: wrongly claimed to be built on Pydantic
copier: "projects templates" grammar slip
pygobject: said GTK+3 only, it now supports GTK 4
dearpygui: grammar slip and missing period
PySide6: claimed to be "same as PyQt6", it's not fully API-compatible
markupsafe: grammar slip in description
python-docx: outdated "Word 2007/2008" framing
mistune: grammar slip "Fastest and full featured pure Python parsers"
pillow: PIL link 404s
wand: MagickWand link went through two redirects to a stub page
vidgear: unverifiable "Most Powerful" superlative
tinytag: format list stale, missing supported formats
panda3d: said "developed by Disney", no longer Disney-only
micropython: vague description, missing microcontroller target
dateparser: language count was vague "dozens", verified 200+ locales
warehouse: outdated "Next generation" tagline
Nuitka: wrongly claimed to support all Python versions
cx-Freeze: grammar slip "It is a Python tool that converts"
dynaconf: wrongly claimed a FastAPI plugin
pip-audit: wrong database name
uv-audit: wrongly claimed malware scanning
pyenv-win: wrongly credited pyenv instead of rbenv-win as its fork origin

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:35:55 +08:00
Jinyang WangandClaude Opus 5.5 3f5e5d4d27 Add jev-ultrafast
Maintainer override: repo is under 1 month old (created 2026-09-16) and not on PyPI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 12:04:34 +04:00
Jinyang WangandClaude Opus 5 a15a1839f8 Add AstrBot
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-23 12:25:59 +04:00
Charly PolyandJinyang 46086ccd52 Add stagehand to frameworks list in README 2026-09-22 16:25:13 +04:00
Pierre BrunelleandJinyang e734180f03 Add pixeltable 2026-09-20 19:48:44 +04:00
Mathieu DupuyandJinyang fde943c5f2 Add import-linter
Place it in Code Analysis as a challenger for architectural import
constraints, filling the remaining slot without displacement.
2026-09-15 20:48:04 +04:00
hzagamingandJinyang 9e840137db Add peft 2026-09-13 19:54:38 +04:00
xinghewumeng f36dd42cbf Add axolotl 2026-08-31 05:30:51 +00:00
JinyangandGitHub 15b057c832 add openviking (#3302) 2026-08-25 08:08:40 +04:00
JinyangandGitHub dbb68d661d add semantica (#3301) 2026-08-24 10:42:58 +04:00
Vinta Chen 3daa2fa7a7 Merge pull request #3297 from karpetrosyan/add-hishel 2026-08-23 15:38:48 +08:00
Vinta ChenandClaude e6fe7d165c docs: point uv-audit entry link to its GitHub repo
Keep the docs link inline in the description instead of as the primary entry link, matching the format used by other entries.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 01:29:02 +08:00
Vinta ChenandClaude c07324b24f docs: rename uv audit entry to uv-audit and reword description
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 01:15:33 +08:00
Vinta ChenandClaude 22e8208834 docs: remove httpx.URL entry from URL Manipulation
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 01:15:29 +08:00
Vinta ChenandClaude 733021ae5b feat: add Bundled badge for entries shipped inside a larger project
django.db.models, geodjango, httpx.URL and uv audit were rendering
"Not on PyPI" alongside eighteen genuinely standalone projects that
simply are not packaged on PyPI, conflating two different reasons for
a missing download count.

These four entries now carry a "(part of X)" description prefix in
README.md, mirroring the existing "(Python standard library)"
convention. build.py reads that prefix into a bundled flag that both
templates render as a "Bundled" badge.

The prefix approach was chosen over a separate data file so README.md
stays the single source of content truth, and over inferring from the
entry name because geodjango is neither dotted nor spaced and would
have been missed. Redundant tail wording was trimmed from the
httpx.URL, geodjango and uv audit descriptions now that the prefix
names the parent.

The new entry format is documented in CONTRIBUTING.md and the
vocabulary in CONTEXT.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 01:09:20 +08:00
Vinta Chen b1f473319c clean up 2026-08-23 00:52:55 +08:00
Vinta ChenandClaude a2a0fee72a docs: replace mkdocs with zensical in Documentation section
Material for MkDocs went into maintenance mode on 2025-11-05 and its
own team called upstream mkdocs unmaintained since 2024-08 and a
supply chain risk; the mkdocs repo was last pushed 2025-10-20. Since
mkdocs-material hard-depends on mkdocs, mkdocs' download count is
almost entirely mkdocs-material pulling it in (18,360,677/month vs
mkdocs-material's 18,167,775/month, ~1% delta), so dropping the
redundant direct entry costs little. zensical is a clean replacement
with no mkdocs dependency, built by the same Material for MkDocs
team, at 1,585,786 downloads/month and 5,540 stars, pushed
2026-08-21. Added as a challenger, placed last below pdoc, keeping
the section at 5 of 5. Approved via verdict preview.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-23 00:48:25 +08:00