The intro recommended jev-ultrafast, which was removed from the list, and missed Scrapling, which took its slot.
Co-Authored-By: Claude <noreply@anthropic.com>
The README split LLM Inference and Serving into Local LLM Inference and LLM Serving, but the intro still grouped MLX LM with vLLM and SGLang and said nothing about Ollama or llama-cpp-python.
Co-Authored-By: Claude <noreply@anthropic.com>
The intro's lead and guide recommended dogpile.cache, which the list no longer carries, and never covered django-redis, which replaced it.
Co-Authored-By: Claude <noreply@anthropic.com>
The scanner recognizes a star only when README links that exact repo, so a starred engine listed through its Python binding (llama.cpp as llama-cpp-python) came back as a new candidate every scan. The Record step now writes a ledger row for such stars. Also drops the last 'drop' verdict wording from preview-verdicts.
Co-Authored-By: Claude <noreply@anthropic.com>
Leaked secrets are a supply chain risk that dependency audits don't cover, so Supply Chain Security splits into Dependency Audits and Secret Scanning.
Co-Authored-By: Claude <noreply@anthropic.com>
Pickling arbitrary Python objects is a different job from data formats, so Serialization splits into Data Formats and Object Pickling.
Co-Authored-By: Claude <noreply@anthropic.com>
File type detection is a different job from paths and file watching, and splitting them leaves room for a challenger in each without passing the cap.
Co-Authored-By: Claude <noreply@anthropic.com>
Removed: jev-ultrafast (no PyPI download signal; not published on PyPI): its README calls it an MVP and it needs a hosted API key, so the challenger slot goes to scrapling in the next commit. This overrides the Challenger Exception recorded 2026-10-02.
Co-Authored-By: Claude <noreply@anthropic.com>
Removed: dogpile.cache (about 1.9M downloads/month on ClickPy, 2026-10-16, down from 2.67M a year earlier): falling demand, and its slot goes to django-redis in the next commit.
Co-Authored-By: Claude <noreply@anthropic.com>
Local runners (ollama, llama-cpp-python, mlx-lm) and production serving engines (vllm, sglang) answer different needs, and one use case could not hold both at the cap. The old page redirects to LLM Serving.
Co-Authored-By: Claude <noreply@anthropic.com>
Each line keeps the ClickPy downloads and the reason at decision time, so later PR reviews and star scans don't propose these projects again without new evidence.
Co-Authored-By: Claude <noreply@anthropic.com>
Drop meant three things on the review page: remove a listed entry, leave a candidate out, or park a structure question with no record. Verdicts are now per row kind: keep/remove for listed entries, add/reject for candidates, restructure/park/reject for structure questions, and the feedback JSON carries the same words.
The page also gains an optional Source column naming where each row came from. Star scans now judge an unlisted project a reject names as the better pick, seed judgment-call rows as park, and keep any parked row unrecorded.
Co-Authored-By: Claude <noreply@anthropic.com>
gensim's last push was 2025-11-01, so it crosses the 12-month activity line on 2026-11-01. It is kept on 2,904,015 downloads/month (ClickPy, 2026-10-12).
Every entry in these sections was re-checked against ClickPy downloads (2026-10-12) and live repo and PyPI state (2026-10-15); none needed a keep, drop, tier, or order change.
The hero-rise fade-in started .hero-copy, which holds the LCP <h1>, at opacity 0, and Chrome ignores opacity-0 paints for LCP, delaying it by about 455 ms.
Co-Authored-By: Claude <noreply@anthropic.com>
Entries were matched across revisions by normalized name only, so a rename (dateutil to python-dateutil, mock to unittest.mock) showed as one removal plus one addition and flagged the section as changed since its audit.
Co-Authored-By: Claude <noreply@anthropic.com>
audit_priority.py dated a section's audit from its sweep commit, so the `feat: add` commits made right after the sweep counted as changes since that audit and the just-audited section ranked first again.
Co-Authored-By: Claude <noreply@anthropic.com>
sglang was listed above vllm on a ClickPy monthly count inflated by release-day spikes. The audit kept every other entry.
- ClickPy last-30-day, fetched 2026-10-12: sglang 2,136,488, vllm 2,109,399.
- pypistats daily, mirrors excluded, fetched 2026-10-14: sglang swings between 7K and 487K a day while vllm holds 56K-82K. Last week: vllm 463,948, sglang 176,630.
Co-Authored-By: Claude <noreply@anthropic.com>