Commit Graph
2947 Commits
Author SHA1 Message Date
Vinta Chen 640b9f3423 Merge branch 'dual-listing-graphify' 2026-10-02 13:08:33 +08:00
Vinta ChenandClaude 1236c5c5ab fix: map graphify to its graphifyy PyPI package
graphify's PyPI override was null (GitHub-only), so the site showed no download count although the project now publishes on PyPI as graphifyy.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 13:08:32 +08:00
Vinta ChenandClaude 545369b667 docs: allow dual-listing only for an obvious choice in each home
Dual-listing was allowed whenever a tool "earns its slot in each independently", which admits a challenger-tier second copy.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 13:06:29 +08:00
Vinta Chen 172742c3bb Merge branch 'audit-followups' 2026-10-02 12:59:07 +08:00
Vinta ChenandClaude d34caa11ae docs: require download sources and a re-sweep in audit commits
The audit skill asked removal commits for a downloads figure without its source or fetch date, so the 2026-08 audit bodies could not be compared with later ClickPy or pypistats figures; it also ran make build right after the last commit, while added or renamed entries have no download cache row until the ClickPy sweep re-runs.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:59:04 +08:00
Vinta ChenandClaude 16fdce0dc6 docs: note jev-ultrafast's hosted API dependency
jev-ultrafast's line read like a self-contained browser agent, but its README requires a TYPESAFE_API_KEY because action selection runs on TypeSafe's hosted Jev service.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:53:28 +08:00
Vinta ChenandClaude 5bfafbde72 fix: add null pypi override for jev-ultrafast
jev-ultrafast is not published on PyPI but had no null override, so every download sweep queried PyPI for it and recorded NOT_FOUND.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:53:14 +08:00
Vinta Chen b669f21472 Merge branch 'audit-all' 2026-10-02 12:50:45 +08:00
Vinta ChenandClaude abff0608ab docs: record the 2026-10-02 audit overrides
Standing maintainer decisions (the August schedule and httpie keeps, uv-audit's experimental status, jev-ultrafast's admission, the three 6-entry caps) lived only in old commit bodies or conversation, so the next audit would re-drop them as rule failures.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:50:41 +08:00
Vinta ChenandClaude 462dc31d98 fix: add null pypi overrides for conda and pyodide
The download sweep queried PyPI by display name, but PyPI conda is a stale 2017 upload and PyPI pyodide is a 0.0.2 placeholder, so the site showed unrelated packages' download counts for both entries.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:50:41 +08:00
Vinta ChenandClaude bf3785400f style: use canonical PyPI names for four entries
Four display names broke the naming convention (display name = PyPI package name): jupyter linked the notebook project while PyPI jupyter is a metapackage, and factory_boy, pygobject and kivy differ from their PyPI names factory-boy, PyGObject and Kivy.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:50:41 +08:00
Vinta ChenandClaude a48b05a8c1 feat: add pyserial to Hardware
Hardware had no serial-port library, though pyserial is the standard answer at about 12M downloads/month, roughly 8x the largest listed Hardware entry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:50:41 +08:00
Vinta ChenandClaude a83abf25c6 style: reorder Hardware and Microsoft Windows by downloads
Two sections broke the downloads-order rule: bleak sat above pynput, which has more downloads, and pythonnet sat above pywin32, which has about seven times more.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:50:41 +08:00
Vinta ChenandClaude 9ce9828f5a feat: add nh3 to Web Security
Web Security had no HTML sanitizer since bleach was removed as deprecated; only justhtml in HTML Manipulation sanitizes, as part of parsing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:50:41 +08:00
Vinta ChenandClaude 08b53fb6dc feat: add pwntools to Penetration Testing
Penetration Testing had no exploit-development library that Python developers import in their own code.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:47:24 +08:00
Vinta ChenandClaude b0d8126e73 feat: add impacket to Penetration Testing
Penetration Testing had no library for Windows and Active Directory protocol work (SMB, Kerberos, NTLM relay).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:47:15 +08:00
Vinta ChenandClaude e473d615e2 audit: sweep Penetration Testing, drop social-engineer-toolkit
Removed: social-engineer-toolkit (no PyPI download signal; not published on PyPI): a standalone social-engineering console rather than something Python developers use in their Python work, so it fails Serves Python Developers; its pyproject also requires Python >=3.11,<3.14. Its slot goes to impacket and pwntools in the next commits.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:47:03 +08:00
Vinta ChenandClaude 27c2ef5407 fix: point hydra-core to hydra-ecosystem/hydra
hydra-core linked facebookresearch/hydra, which redirects to hydra-ecosystem/hydra after a repo transfer (same GitHub repo id), and an earlier commit had treated the new location as an unrelated project.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:46:40 +08:00
Vinta ChenandClaude ddf118cf77 audit: sweep Distribution, replace shiv with pex
Removed: shiv (224,563 downloads/month, pypistats 2026-10-02): displaced by pex (4,682,918/month on the same source, released 2026-10-02), the more-used and more-active builder for the same self-contained zipapp job; shiv's last release was 1.0.8 on 2024-11-01.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:46:27 +08:00
Vinta ChenandClaude 607415e3c6 feat: add poetry-core to Package Management > Build Backends
Build Backends omitted poetry-core, the backend of every Poetry project, at 88,000,485 downloads/month; about 47M remains without poetry, still 3x uv-build.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:46:17 +08:00
Vinta ChenandClaude 3d229e7457 feat: add pypiserver to Package Repositories
Package Repositories omitted pypiserver, the minimal self-hosted index the PyPA hosting guide names alongside devpi, which has 5x the downloads of devpi-server.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:46:05 +08:00
Vinta ChenandClaude ddaa697e98 audit: sweep Package Repositories, drop warehouse
Removed: warehouse (no PyPI download signal; not a pip-installed package): the section is self-hosted servers, proxies, and mirrors, and Warehouse is not one. Its docs call pypi.org the canonical deployment and document only a local development setup, and the PyPA guide to hosting your own repository does not list it. Also: devpi (99,216 downloads/month for devpi-server, pypistats 2026-10-02) moves above bandersnatch (4,351) to follow the downloads order.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:45:53 +08:00
Vinta ChenandClaude ebc178d6e0 docs: drop the RFC 9562 claim from uuid-utils
The uuid-utils line set it apart by RFC 9562 support (UUIDv6, v7, v8), but the standard library uuid module gained uuid6, uuid7 and uuid8 in Python 3.14, so that no longer distinguishes it.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:45:26 +08:00
Vinta ChenandClaude f05edd8d07 audit: sweep Game Development, promote pygame-ce over pygame
pygame led Game Frameworks although its last release, 2.6.1, has no Python 3.14 wheel and the source build fails, while the actively developed drop-in replacement pygame-ce sat below it.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:45:14 +08:00
Vinta ChenandClaude b5070b2841 feat: add av to Audio & Video Processing > Video
Video had no direct way to decode, encode, and mux video from Python.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:45:02 +08:00
Vinta ChenandClaude f6698bd110 feat: add soundfile to Audio & Video Processing > Audio
Audio listed no general audio file I/O library, though soundfile is the standard libsndfile reader and writer under librosa.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:44:51 +08:00
Vinta ChenandClaude 1d23e7b022 audit: sweep Audio & Video Processing, drop vidgear
Removed: vidgear (10,854 downloads/month, pypistats 2026-10-02): a challenger with no adoption trajectory (about half its August count), not anyone's unprompted answer next to moviepy and PyAV. Also: pydub moves below librosa to Second Tier under the Python-version rule; its only release, 0.25.1 (2021), fails `import pydub` on Python 3.13+ without audioop-lts, but it still has 17,778,797 downloads/month.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:44:40 +08:00
Vinta ChenandClaude 7674d5d0b4 feat: add pymupdf to File Format Processing > PDF
PDF omitted pymupdf, the second most-installed PDF library at 81,101,392 downloads/month (pypistats 2026-10-02) and the fastest at text extraction and page rendering.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:44:22 +08:00
Vinta ChenandClaude ec527e9316 style: reorder HTML Manipulation and fix the ReportLab link
beautifulsoup4 sat above lxml although lxml now has more monthly downloads (313.9M vs 297.1M), and the reportlab link redirected to the docs site.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:44:08 +08:00
Vinta ChenandClaude c58446c50a audit: sweep Text Processing, drop sqids
Removed: sqids (537,334 downloads/month, pypistats 2026-10-02): fails the 12-month activity line (last commit 2025-03-26, last release 2025-05-13), and its predecessor hashids still draws about 4x its downloads, so there is no successor trajectory to justify a challenger slot.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:43:57 +08:00
Vinta ChenandClaude c0fdb40ee4 audit: sweep GUI Development, drop tkdesigner, gooey
Removed: tkdesigner (317 downloads/month, ClickPy 2026-10-01): its only PyPI release, 1.0.7 (2023-01-22), pins Pillow<9, requests==2.25.1 and urllib3<2, so it has no installable wheels on Python 3.11+, which reverses the August keep. gooey (6,049/month): no release since 1.0.8.1 on 2021-06-12. Dropping gooey empties Wrappers, so the subcategory is dissolved and its URL redirects to /categories/gui-development/. Also: Desktop re-tier, dearpygui up to obvious choice (the only Desktop entry that grew since August) and wxPython down to Second Tier (about half its August downloads).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:43:40 +08:00
Vinta ChenandClaude 9d718813d1 style: reorder CLI Development > Terminal Rendering by downloads
tqdm sat above rich although rich has more downloads.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:43:24 +08:00
Vinta ChenandClaude 8ae9b1957b feat: add netmiko to Network Virtualization
Network Virtualization lacked netmiko, the standard Python library for SSH network-device automation, though most of its downloads are standalone rather than pulled in by napalm.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:43:10 +08:00
Vinta ChenandClaude d2065fbf80 style: audit DevOps ordering and Network Virtualization description
Distributed Computing listed ray first though pyspark and dask now outdraw it, Workflow Orchestration listed apache-airflow and prefect above dagster, which now leads on downloads, and the Network Virtualization description fit neither scapy nor napalm.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:43:00 +08:00
Vinta ChenandClaude 84b5508561 audit: sweep DevOps Tools, drop chaostoolkit
Removed: chaostoolkit (11,525 downloads/month, ClickPy 2026-10-01): no adoption-trajectory evidence and falling (about 18K in August); active, so the drop is editorial. Also: awscli's line now says the PyPI package is CLI v1, which entered maintenance mode on 2026-07-15 (end of support 2027-07-15), while v2 ships only as AWS's bundled installer.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:42:47 +08:00
Vinta ChenandClaude e4bd305ad9 feat: add poethepoet to Build Tools
Build Tools had no pyproject.toml task runner for poetry or uv projects.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:42:26 +08:00
Vinta ChenandClaude 9a26409881 audit: sweep Debugging Tools, replace hunter with viztracer
Removed: hunter (782,874 downloads/month, pypistats 2026-10-02): fails the 12-month activity line (last commit and release 3.9.0 on 2025-08-22). viztracer (1,173,045/month on the same source, pushed 2026-09-26) takes the Tracing slot.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:42:15 +08:00
Vinta ChenandClaude 1627cfda21 audit: sweep Testing, replace freezegun with time-machine
Removed: freezegun (45,539,075 downloads/month, pypistats 2026-10-02): fails the 12-month activity line (last commit 2025-08-19, last release 2025-08-09), and time-machine (18,960,236/month, released 3.5.1 on 2026-09-08) is an active successor for the same job that ships a freezegun migration tool, so freezegun does not qualify as a mature-stable keep. time-machine takes the slot as a challenger, last in Mock.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:42:03 +08:00
Vinta ChenandClaude c45f3f81d2 audit: sweep Code Analysis, drop repowise, monkeytype
Removed: repowise (14,584 downloads/month, pypistats 2026-10-02): no adoption trajectory (about 33K in August to 19.5K on ClickPy), and it left Code Analysis with three challengers against a limit of two. monkeytype (529,705/month): fails the 12-month activity line (default branch last commit 2025-06-14, last release 2023-03-20). Dropping monkeytype empties Type Annotations Generators, so the subcategory is dissolved and its URL redirects to /categories/code-analysis/.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:41:48 +08:00
Vinta ChenandClaude d9b6d6a0bc audit: sweep Algorithms and Design Patterns, drop transitions
Removed: transitions (2,483,235 downloads/month, pypistats 2026-10-02): fails the 12-month activity line (last commit 2025-09-09, last release 2025-07-02), and python-statemachine (1,430,000-plus/month, released 3.2.1 on 2026-08-01) is an active successor for the same job, so it does not qualify as a mature-stable keep.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 12:41:34 +08:00
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