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>
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>
Nine entries linked https://github.com/owner/repo/ while every other
entry uses the bare form. Formatting only; the site's repo regex already
accepted both.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The subcategory nearly repeated its section's name, so its page could compete with the section page for the same searches, as Code Analysis did.
Co-Authored-By: Claude <noreply@anthropic.com>
The subcategory shared its section's name, so its page could compete with the section page for the same searches, as Code Analysis did.
Co-Authored-By: Claude <noreply@anthropic.com>
The catch-all subcategory shared its section's name, so its page ("Code Analysis for Code Analysis") split the "python code analysis" query with the section page in Search Console.
Co-Authored-By: Claude <noreply@anthropic.com>
The description said "Used for forms in many cases", which fits none of its four projects (pydantic, jsonschema, great-expectations, pandera).
Co-Authored-By: Claude <noreply@anthropic.com>
scrapy was described as "screen scraping", python-patterns dropped "idioms", marimo's line was a run-on that skipped "reactive", and llama-index's predated its docs' "toolkit for RAG and agents". hermes-agent linked a lowercase owner that only resolved by redirect.
Co-Authored-By: Claude <noreply@anthropic.com>
The Mock entry was named `mock`, the PyPI backport package, while it links to and describes the standard-library `unittest.mock` module.
Co-Authored-By: Claude <noreply@anthropic.com>
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>
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>
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>
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>
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>
Penetration Testing had no library for Windows and Active Directory protocol work (SMB, Kerberos, NTLM relay).
Co-Authored-By: Claude <noreply@anthropic.com>
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>
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>
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>