Commit Graph
2653 Commits
Author SHA1 Message Date
Vinta ChenandClaude 5297061a4f refactor: rename download-fetch scripts to source-suffixed scheme
fetch_pypi_downloads.py becomes fetch_pypi_downloads_via_clickpy.py and
fetch_pepy_downloads.py becomes fetch_pypi_downloads_via_pepy.py, ahead
of splitting the BigQuery path into its own file. Updates the usage
strings, the cross-file import, and the audit-the-list skill's
references to match. Pure rename, no behavior change.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:35:24 +08:00
Vinta ChenandClaude 7447549805 docs: define Sub-item in CONTEXT.md
The device now has two precedents (aws-sdk-pandas under pandas, flower
under celery in the 2026-08-16 Web Development Audit) plus the awesome-*
links; future Audits need the term - an indented link that holds no slot
and rides its parent outside the Cap.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:35:17 +08:00
Vinta ChenandClaude e7e17a8e97 style: reorder Authentication and Web Asset Management by downloads
Format-only outcomes of the 2026-08-16 Web Development Audit (no
removals): OAuth entries reordered by downloads/month (oauthlib,
authlib, django-allauth Obvious; django-oauth-toolkit Challenger),
Web Asset Management reordered (django-storages, django-compressor)
and its description gains "storing" to cover django-storages'
actual job. Template Engines, JWT, Permissions, WebSocket keeps
already sat in rule order.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:34:41 +08:00
Vinta ChenandClaude e18d52155e audit: sweep Static Site Generators to the shortlist cap
First Audit of the section; maintainer adjudicated 2026-08-16.
Reordered by downloads/month (pelican, nikola).

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- lektor (12.5K/month): maintained (pushed 2026-08) but never named
  unprompted; close call vs nikola - judgment call

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:34:20 +08:00
Vinta ChenandClaude 4c57da829d audit: sweep CMS to the shortlist cap
First Audit of the section; maintainer adjudicated 2026-08-16.
Reordered by downloads/month (wagtail, django-cms).

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- indico (3.2K/month): event-management application (CERN), not a CMS
  library; readers under CMS want wagtail/django-cms - judgment call

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:34:07 +08:00
Vinta ChenandClaude 6b9a1cca57 audit: sweep Admin Panels to the shortlist cap
First Audit of the section (flat Section = one Use Case, 7 entries over
the cap). Restructure first: flower is the Celery monitoring dashboard,
not an admin-panel library - it re-homes to Task Queues as a sub-item
under celery (outside the cap, aws-sdk-pandas precedent; Task Queues
sits at the hard max 5). Kept: flask-admin, django-unfold (Obvious),
django-grappelli (Challenger), ordered by downloads/month.
Maintainer-adjudicated 2026-08-16.

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- ajenti (4.5K/month; its ajenti-panel package adds 4.5K): Linux server
  control panel application, not a Python admin library
- func-to-web (3.5K/month): repo created 2025-10, 425 stars; no adoption
- jet-bridge (3.7K/month): bridge into the Jet Admin SaaS, not a library
  readers seek here

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:33:54 +08:00
Vinta ChenandClaude 69e03b7e47 audit: sweep WebSocket to the shortlist cap
First Audit of the section; maintainer adjudicated 2026-08-16 at the
preview review, flipping autobahn-python to keep (enters as the
Challenger; Obvious slots are websockets, channels, flask-socketio).
Reordered by downloads/month within tiers.

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- picows (66.3K/month): 290 stars; Challenger bar (adoption
  trajectory) not met

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:33:33 +08:00
Vinta ChenandClaude fb35807e83 audit: sweep Web Servers to the shortlist cap
First Audit of the section. Restructure first: the RPC Subcategory is
not an "ASGI and WSGI compatible web server" - it moves to Web APIs,
whose description gains RPC; grpcio rides the move. ASGI reordered by
downloads/month (uvicorn Obvious; granian, hypercorn Challengers -
hypercorn kept with a watch, repo quiet since 2025-11).
Maintainer-adjudicated 2026-08-16.

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- daphne (6.5M/month): installed as Django Channels' dependency, not
  chosen standalone; judgment call
- uwsgi (2.0M/month): officially in maintenance mode; repo quiet since
  2025-10
- rpyc (1.6M/month): repo last push 2025-08-14, exactly 12 months -
  at the abandonment line

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:33:18 +08:00
Vinta ChenandClaude b26c30d4a9 audit: sweep Web APIs to the shortlist cap
First Audit of the section; maintainer adjudicated 2026-08-16 at the
preview review, flipping django-modern-rest to keep (enters as the
Django Challenger; Obvious slots stay django-rest-framework,
django-ninja, strawberry-django). Tiers reordered by downloads/month.

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- falcon (1.8M/month): active, but not named unprompted since
  fastapi/litestar; judgment call
- sanic (1.8M/month): same judgment as falcon - declining mindshare,
  successor to nothing
- webargs (3.8M/month): request-parsing helper, not an API framework;
  wrong job for the section

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:32:49 +08:00
Vinta ChenandClaude f39d00da31 audit: sweep Web Frameworks to the shortlist cap
First Audit of the section; maintainer adjudicated 2026-08-16 at the
preview review, flipping pyramid to keep (enters as Synchronous
Challenger beside fasthtml; the three Obvious slots stay flask, django,
bottle). Both tiers reordered by downloads/month per the ordering rule.

Removed (downloads are PyPI last-30-day via BigQuery, fetched 2026-08-16):

- masonite (26.4K/month): no adoption; Laravel-style niche
- microdot (10.4K/month): MicroPython-targeted, genuinely small audience
- robyn (50.9K/month): installs never followed the buzz

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:32:28 +08:00
Vinta ChenandClaude fcac01955c feat: add pepy.tech spot-check helper for download audits
Maintainer registered a free pepy API key (PEPY_TECH_API_KEY in the gitignored repo-root .env). fetch_pepy_downloads.py sums the most recent 30 days from the v2 per-day data, throttled to the free tier's 5 requests/minute, and prints TSV without touching the single-source cache file.

The audit-the-list skill's downloads bullet is rewritten in the same commit because the ClickPy-default change made its old --dry-run-first instruction fail; it now documents all three sources (ClickPy, BigQuery, pepy/pypistats) and the never-mix-mirror-counting rule.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:19:47 +08:00
Vinta ChenandClaude fd79813dde feat: switch default PyPI download source to ClickPy
BigQuery required a personal Google Cloud account, so only the maintainer could run it and overruns cost real money. ClickPy is ClickHouse's free, keyless public mirror of the same PyPI download dataset, so it becomes the default source with a single batched query covering the full README in under a second.

BigQuery stays available behind a new --bigquery flag as the canonical-source cross-check; --dry-run now only applies to that path.

Live-tested: ClickPy full path (2/2 names), the --dry-run guard, and the BigQuery dry-run.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:17:59 +08:00
Vinta ChenandClaude a1ed550c2d fix: filter BigQuery PyPI download query on project, not file.project
Live bq show verified the pypi.file_downloads table clusters on the
top-level project column, not file.project as the docstring claimed.
Filtering on project (values verified identical to file.project across
408M rows, zero mismatches) gets cluster pruning and cuts the
full-README scan estimate from >1.2TB to ~275GB upper bound, with
actual billed bytes lower still (33.7GB measured for a single name) -
so full sweeps now fit the 1 TiB/month free tier.

Also adds --maximum_bytes_billed=400GB as a safety cap, enforced by
BigQuery pre-run against the dry-run upper-bound estimate.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 01:16:21 +08:00
Vinta ChenandClaude 7f0e923904 refactor: rename verdict-preview skill to preview-verdicts
Verb-first naming per maintainer preference. Directory, frontmatter
name, and the audit-the-list reference updated together; template.html
moves with the directory unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 00:41:57 +08:00
Vinta ChenandClaude 83f6cebd93 feat: add audit-the-list skill for recurring section audits
Packages the audit process proven across the shortlist-reform sweeps
as a reusable skill: resolve scope from the arguments (AskUserQuestion
when ambiguous or absent), fetch live evidence for every entry
(BigQuery downloads, repo state, PyPI metadata), draft verdicts with
restructure-before-cap and tier promotions/demotions, review through
the verdict-preview page, execute one commit per section on explicit
go, and record durable conclusions into CONTRIBUTING.md, CLAUDE.md,
AGENTS.md, and CONTEXT.md. CONTEXT.md gains the Audit glossary term
(the reform sweeps were the first Audits). Rules stay single-sourced in
CONTRIBUTING.md — the skill carries process only.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 00:39:29 +08:00
Vinta ChenandClaude 59cc42e2c3 docs: sync AGENTS.md with the shortlist reform rules
AGENTS.md still carried pre-reform Key Rules (mandatory alphabetical
ordering, "quality over quantity" lanes-era language, no prune-sweep
commit exception, no live-verification rule). Bring it in line with
CLAUDE.md and CONTRIBUTING.md: downloads-descending tier ordering,
3+2 cap, sweep-commit exception, verification rule. Also record the
UV_PYTHON=3.13 workaround for Python-3.14-only machines in both files'
Makefile notes, and complete CLAUDE.md's Makefile target list.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 00:38:48 +08:00
Vinta ChenandClaude 46b7b57d6b style: reorder swept sections by downloads/month within tiers
Apply the new ordering rule (downloads/month descending within each
tier, no-signal entries last alphabetically) to all ten swept sections.
Sixteen use cases change order: Vendor Agent SDKs, LLM Inference and
Serving, Speech, File Conversion, PDF, Markdown, Data Visualization
Specialized and Dashboards, Testing Frameworks and Mock, Financial
Data, Data Validation, Geolocation, Science Core and Simulation and
Modeling, Quantum Computing challengers. Unswept sections keep their
current order until their own sweeps. Bundled as a single
categorization commit per the Key Rules bundling exception.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 00:03:46 +08:00
Vinta ChenandClaude 846a6bdb91 docs: order entries by downloads/month within tiers, not alphabetically
Maintainer decision 2026-08-16, amending the ordering half of the
Challenger-marking rule: within a use case, obvious choices still come
first and challengers still follow (position stays the marker), but
each tier now orders by PyPI downloads per month descending instead of
alphabetically. Entries without a download signal (stdlib modules,
agent skill packs) sort last within their tier, alphabetically.
Updated in CONTRIBUTING.md (Entry Ordering), CONTEXT.md (Challenger),
and CLAUDE.md (Key Rules).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 00:02:30 +08:00
Vinta ChenandClaude c9abd51467 style: apply challenger ordering and entry format to Quantum Computing
Per ADR-0001, maintainer-adjudicated at the Data & Science preview
review (2026-08-15). No removals — all four entries keep: qiskit and
qutip as Obvious Choices (circuit SDK and quantum physics simulation,
distinct jobs), cirq and pennylane as Challengers, ordered per the
Challenger-ordering rule. Format fixes bundled per the Key Rules
bundling exception: three em-dash separators normalized to hyphens,
Cirq lowercased to its PyPI name.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:59:21 +08:00
Vinta ChenandClaude 0c1409dea8 prune: sweep Science to the shortlist cap
Per ADR-0001, maintainer-adjudicated at the Data & Science preview
review (2026-08-15, all rows live-verified). Restructure first: Core
narrows to numba, numpy, scipy; mint Symbolic Mathematics (sympy),
Statistics (statsmodels), Graphs and Networks (networkx), and
Computational Geometry (shapely) — five co-obvious tools doing five
different jobs, the decision-13 pattern. Other shrinks to a two-entry
grab-bag; colour renamed to colour-science per the PyPI-name convention
(bare 'colour' on PyPI is an unrelated color-conversion library). Then
cap.

Removed (downloads are PyPI last-30-days via BigQuery, 2026-08-15):

- cclib (29.7K/month): computational-chemistry log parsing, small
  audience
- openbabel (54.9K/month pip; conda-forge adds only 1.8M all-time):
  legacy toolbox next to rdkit
- pydy (1.2K/month): near-zero usage
- PythonRobotics: educational algorithm compilation ("sample codes and
  textbook" per its own description), not a library; not on PyPI
- pathsim (6.3K/month): no adoption

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:59:05 +08:00
Vinta ChenandClaude 9631207f54 prune: sweep Geolocation to the shortlist cap
Per ADR-0001, maintainer-adjudicated at the Data & Science preview
review (2026-08-15, all rows live-verified). Keeps geojson, geopandas,
and geopy as Obvious Choices; geodjango kept by maintainer flip and
listed last as Challenger (the cap allows three obvious choices).

Removed (downloads are PyPI last-30-days via BigQuery, 2026-08-15):

- django-countries (2.3M/month): country choices for Django forms and
  models — Django form tooling, not geolocation work

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:58:37 +08:00
Vinta ChenandClaude 9103f59cbb prune: sweep Data Validation to the shortlist cap
Per ADR-0001, maintainer-adjudicated at the Data & Science preview
review (2026-08-15, all rows live-verified). Keeps jsonschema, pandera,
and pydantic as Obvious Choices for their distinct validation jobs.

Removed (downloads are PyPI last-30-days via BigQuery, 2026-08-15):

- cerberus (6.7M/month): pre-pydantic era passed; repo alive but slow
- voluptuous (8.0M/month): pre-pydantic era passed; repo description
  opens with "CONTRIBUTIONS ONLY" (maintenance mode)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:58:22 +08:00
Vinta ChenandClaude 54c0c0c34a prune: sweep Data Ingestion / ETL to the shortlist cap
Per ADR-0001, maintainer-adjudicated at the Data & Science preview
review (2026-08-15, all rows live-verified). General keeps dlt (sole
entry). Financial Data keeps akshare and yfinance as Obvious Choices
with edgartools and openbb as Challengers (openbb on the platform
judgment: 71.9K stars against 132K pip installs).

Removed (downloads are PyPI last-30-days via BigQuery, 2026-08-15):

- lumibot (168.2K/month): algorithmic trading and backtesting framework
  with broker execution — not financial data; vertical app
  (TradingAgents precedent)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:57:55 +08:00
Vinta ChenandClaude 1463ba8286 prune: sweep Data Analysis to the shortlist cap
Per ADR-0001, maintainer-adjudicated at the Data & Science preview
review (2026-08-15, all rows live-verified). Keeps: pandas and polars
as Obvious Choices, ibis as Challenger — renamed to ibis-framework per
the PyPI-name convention (maintainer-confirmed; bare 'ibis' on PyPI is
an unrelated template engine). aws-sdk-pandas returns as a sub-item
under pandas per maintainer direction (sub-items sit outside the cap,
awesome-pytest pattern).

Removed (downloads are PyPI last-30-days via BigQuery, 2026-08-15):

- data-profiling (18.2K/month under fg-data-profiling): YData's
  profiler, but the listed name is not on PyPI and a profiling layer is
  not an obvious choice for this use case
- datasette (178.6K/month): data publishing and exploration tool, a
  different job
- desbordante (3.4K/month): no adoption
- modin (1.6M/month): the pandas-at-scale job moved to polars and dask;
  repo quiet since 2026-02
- pathway (16.5K/month): stars far ahead of usage (62.5K stars); ETL
  job, mis-homed here
- percentify (182.2K/month): personal project, 11-month-old repo, 418
  stars — count not credible against the footprint

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:57:39 +08:00
Vinta ChenandClaude 9290f18153 feat: reinstate bokeh as Plotting challenger
The maintainer re-verified all 36 removals from the committed-drops audit against live data on 2026-08-15 and flipped bokeh back: 8.4M downloads/month, 20.4K stars, repo pushed the same day, the healthiest project among all audited drops. Placed as the second Challenger after altair, bringing Plotting to the hard max of 5 entries.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:53:46 +08:00
Vinta ChenandClaude 3ae3483d36 docs: reinstate crewai in AI and Agents orchestration
Re-added as a Challenger alongside pydantic-ai. The maintainer reviewed the committed-drops audit (all 36 removals re-verified against live data 2026-08-15) and flipped crewai back: 19.4M downloads/month, 57.1K stars, repo active same-day. The original 'buzz peaked' drop was judgment the audit data did not support.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:53:12 +08:00
Vinta ChenandClaude bb53dfea9d docs: require live verification of keep/drop reasons
Qualitative keep/drop reasoning previously relied on training-data
recollections that went unverified while only download numbers were
checked live, as happened in the Data & Science preview. Key Rules now
require every keep/drop reason to be verified against current online
data at decision time.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 23:31:34 +08:00
Vinta ChenandClaude fc88ebb899 feat: add BigQuery-based PyPI downloads fetcher
Provides per-sitting download evidence for prune sweeps, per the
shortlist-reform tooling plan. Shells out to the bq CLI against
bigquery-public-data.pypi.file_downloads, parses entry names from
README.md via readme_parser, and supports --dry-run and --names-file.
Merges results into the gitignored cache at
website/data/pypi_downloads.tsv.

The table is clustered on file.project, so scanned bytes grow with the
IN-list size: a dry run against the full README (~530 names) scanned
1.21 TB, past the 1 TB/month free tier. Per-sitting --names-file
fetches are used instead of one big query.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 15:41:55 +08:00
Vinta ChenandClaude b0cdf402eb feat: add verdict-preview skill for maintainer review pages
Adds a reusable skill that generates the interactive keep/drop review page (seeded verdicts + reasons, maintainer Keep/Drop toggles and reason fields, JSON feedback export) and processes the pasted feedback, so every future prune sweep or batch entry edit reuses the pattern proven in the shortlist-reform reviews. Removes .claude/skills/ and the dead .agents/ line from .gitignore so the skill is tracked, per maintainer direction.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 15:28:16 +08:00
Vinta ChenandClaude 5200ffa289 prune: sweep Testing to the shortlist cap
Per ADR-0001, restructure first: split GUI / Web Testing into Browser
Automation (playwright-python, selenium), Load Testing (locust), and
API Testing (schemathesis). Then cap. Maintainer-adjudicated 2026-08-15
at the preview review: robotframework, schemathesis, respx, vcrpy, and
mimesis keep against the old dry-run verdicts; respx and vcrpy take the
two Mock Challenger slots, nox stays the Test Runners Challenger
(listed after tox per the Challenger-ordering rule).

Removed (downloads are PyPI last-month, fetched 2026-08-15):

- scanapi (3.3K/month): near-zero usage
- unittest: stdlib rule - a stdlib module survives only where it is
  itself the Obvious Choice; for test frameworks that is pytest
- pyautogui (2.5M/month): desktop GUI automation, not web testing; no
  Use Case slot after the Split
- mocket (273K/month): socket-level mocking; small audience next to
  responses

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 15:20:50 +08:00
Vinta ChenandClaude 5488d08db1 prune: sweep Data Visualization to the shortlist cap
Per ADR-0001. No restructure needed: Plotting caps to matplotlib,
plotly, seaborn plus altair as Challenger (listed last per the
Challenger-ordering rule); Specialized (cartopy, graphify, pygraphviz)
and Dashboards and Apps (gradio, streamlit) already fit.

Removed (downloads are PyPI last-month via pypistats, 2026-08-14/15):

- bokeh (8.4M/month): Plotting at cap; interactive plotting job covered
  by plotly
- plotnine (3.1M/month): below the shortlist bar
- vispy (1.4M/month): below the shortlist bar
- pyqtgraph (1.0M/month): below the shortlist bar
- bqplot (381K/month): below the shortlist bar
- pygal: legacy; downloads fetch failed
- ultraplot (3.9K/month): no adoption

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 14:39:53 +08:00
Vinta ChenandClaude 6cd5ffc5a3 prune: sweep File Format Processing to the shortlist cap
Per ADR-0001, restructure first: split MS Office into Excel, Word, and
PowerPoint; mint File Conversion (docling re-homed from General,
markitdown re-homed from Markdown) and HTML-to-PDF (weasyprint re-homed
from PDF). Then cap. xlsxwriter and weasyprint keep their slots via the
Splits (decision reversing their earlier drop verdicts).

Removed (downloads are PyPI last-month via pypistats, 2026-08-14/15):

- xberg (26K/month): xberg-io coordinated self-promotion plant
- xlwings (941K/month): different job (calling Python from Excel), not
  the Excel file-format use case
- docxtpl: templating layer over python-docx, which holds the Word slot
- pyexcel (2.2M/month): abstraction over the per-format libraries that
  hold the slots
- pikepdf (10.6M/month): PDF use case at cap; pypdf, reportlab, and
  pdfminer.six are the obvious choices
- pdf_oxide (142K/month): no adoption evidence against the incumbents
- csvkit (506K/month): not the obvious choice for CSV work

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 14:39:33 +08:00
Vinta ChenandClaude e4e70cd320 feat: add claude-agent-sdk to Vendor Agent SDKs
Anthropic's Python SDK for building AI agents on Claude Code's harness.
~32.6M downloads/month (pepy, 2026-08-15; approximate, includes
mirrors — pypistats was rate-limited). Lands beside openai-agents in
the Vendor Agent SDKs use case minted in the AI and Agents sweep.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 14:36:52 +08:00
Vinta ChenandClaude e10ff58156 prune: sweep AI and Agents to the shortlist cap
Per ADR-0001, restructure first: split Pre-trained Models and Inference
into Pre-trained Models, LLM Inference and Serving, and LLM Gateways;
mint Vendor Agent SDKs, Personal Assistants, Prompt Optimization, Image
and Video Generation, and Fine-tuning subcategories. Re-home
openai-agents (Vendor Agent SDKs), hermes-agent (Personal Assistants,
description reworded to personal assistant), dspy (Prompt Optimization),
diffusers (Image and Video Generation), unsloth (Fine-tuning), and
graphify (Data Visualization > Specialized). Then cap.

Removed (downloads are PyPI last-month via pypistats, 2026-08-14/15):

- nuwa-skill: persona prompts, not engineering
- crewai (19.4M/month): buzz peaked; no longer named unprompted
- autogen (1.1M/month): fork war with ag2 split its community
- ag2 (441K/month): other half of the same fork war
- smolagents (651K/month): Hugging Face ecosystem niche
- TradingAgents (11.9K/month): vertical trading app, not general
  orchestration
- bub (5.6K/month): no adoption
- bindu (210/month): no adoption
- livetalking: no PyPI presence, no adoption evidence
- bernstein: no PyPI presence, no adoption evidence
- promptise: no PyPI presence, no adoption evidence
- OpenChronicle: no PyPI presence, no adoption evidence
- outlines (2.5M/month): same job as instructor, which holds the slot
- entroly (3.1K/month): no adoption
- lumen (1.8K/month): no adoption
- liter-llm (3.5K/month): xberg-io coordinated self-promotion plant
- SenseVoice: whisper wins the use case
- voxcpm (101K/month): no track record

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 14:36:39 +08:00
Vinta Chen 3ca241dc46 clean up 2026-08-15 14:15:18 +08:00
Vinta ChenandClaude 553bf88c05 feat: replace acceptance lanes with shortlist admission rule
Land the shortlist-reform rules approved by the maintainer (rules
first; entry sweeps are not authorized yet).

- CONTRIBUTING.md: replace the Industry Standard / Rising Star / Hidden
  Gem lanes with a single admission rule per use case (up to 3 obvious
  choices + up to 2 challengers, hard max 5), add Displacement, the
  stdlib rule, and editorial-judgment-as-final evidence guidance; scope
  test becomes Serves Python Developers; document entry ordering
  (obvious choices then challengers, each alphabetical).
- README.md: add the shortlist promise paragraph pointing rejected
  contributors to linked awesome-* catalogs and to CONTRIBUTING.md.
- CLAUDE.md: sync Key Rules with the new ordering and shortlist cap,
  and add the prune-sweep one-commit-per-section exception.
- docs/adr/0001-shortlist-not-catalog.md: flip status from proposed to
  accepted.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:51:18 +08:00
Vinta ChenandClaude 663fad0baf docs: mark Challengers by ordering, not description text
A 2026-08-15 grilling round replaced the Challenger marking
convention: within a Use Case, Obvious Choices are listed first
(alphabetically), then Challengers (alphabetically), with no marker
in the entry text. Update the Challenger definition in CONTEXT.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:43:21 +08:00
Vinta ChenandClaude c413b8f1f6 docs: fix stale and inaccurate definitions in CONTEXT.md
CONTEXT.md review found several definitions had drifted from the
settled shortlist-reform decisions:
- Entry: pypi-name placeholder contradicted the serves-Python-developers
  scope test, which explicitly treats implementation language and
  packaging as irrelevant; now named by PyPI package name when one
  exists, else repository name
- Subcategory: example referenced a name that no longer matches the
  current README structure (Mock, not Mocking)
- Thematic Group: referenced elsewhere in the doc but never defined;
  added
- Use Case, Obvious Choice, Split: updated to match the settled
  cap/evidence/restructure decisions (maintainer-only structure
  changes, PyPI-download judgment with known failure modes noted,
  Split considered before trimming)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:12:28 +08:00
Vinta ChenandClaude 9218024200 docs: fold serves-Python-developers scope test into ADR-0001
Per maintainer choice, the new scope test replaces the old primarily-written-in-Python (>50%) requirement: implementation language and packaging no longer matter as long as Python developers use the thing in their Python work (e.g. uv and ty are Rust; agent skill packs are markdown), while pure-Python projects nobody uses in Python work still don't qualify. Folded into the existing ADR rather than filed as a separate one.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:11:04 +08:00
Vinta ChenandClaude d4d518fc32 docs: fix stale claims in shortlist-not-catalog ADR
ADR review found three stale claims: an unreviewed Testing dry-run cited as
evidence for the projected list size, the Challenger path missing from the
lane-rejection rationale, and no mention of judgment overriding known
failure modes of the download-signal (CI/dependency-inflated counts, model
weights vs. pip installs, large-but-specific audiences misread as niche).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:07:31 +08:00
Vinta ChenandClaude bd657b3a85 docs: fix stale cap wording in shortlist ADR
Cap changed to 3 obvious choices + up to 2 challengers (hard max 5)
during review, but the ADR still described the old cap of 3 with at
most one challenger.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:04:22 +08:00
Vinta ChenandClaude 63146cc863 docs: capture shortlist-reform decisions on shortlist-reform branch
Records the outcome of a grilling session with the maintainer that
settled the redesign of awesome-python from a catalog into a curated
shortlist of Obvious Choices per Use Case. Execution is held pending
maintainer go-ahead, so these files let a fresh agent resume without
re-litigating settled decisions:

- CONTEXT.md: glossary of the editorial vocabulary (Use Case, Obvious
  Choice, Challenger, Displacement, Split, etc).
- docs/adr/0001-shortlist-not-catalog.md: the ADR recording the
  decision, considered options, and consequences (status: proposed).
- .gitignore: docs/ was wholesale-ignored; carve out docs/adr/ so the
  ADR can be tracked.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-15 13:00:16 +08:00
Aryan Singh K. 94159a8d53 Add msgspec to serialization libraries (#3273) 2026-08-05 10:11:03 +04:00
Nefelibata 058aab0832 Add smolagents to AI and Agents (#3272)
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-08-03 10:50:14 +04:00
hengzhong 4e1f6db9a7 Add livetalking in Orchestration subsection (#3268)
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-07-29 08:17:23 +04:00
Mirat Can Bayrak 3c3c8fc607 Add kaydet (#3263)
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-07-23 09:04:46 +04:00
Aman kumar eac8c461f8 Add lumen to AI and Agents > Data Layer (#3261) 2026-07-22 10:01:29 +04:00
Severian0 a53ca41203 Add tkdesigner to GUI libraries list (#3262) 2026-07-22 09:59:25 +04:00
Na'aman Hirschfeld ca8ca17fbe Add tree-sitter-language-pack to Text Processing (#3241)
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-07-20 15:15:20 +04:00
JulianGStudium 9a9281fec1 Add hatch to Package Management #HSFDPMUW (#3256)
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-07-17 10:08:49 +04:00