Commit Graph
2019 Commits
Author SHA1 Message Date
Vinta ChenandClaude 69d35b2462 feat: tag sponsor links with UTM parameters
Sponsor links carried no UTM tags, so sponsors saw awesome-python clicks at best as generic referral traffic and could not tell README clicks from website clicks. README sponsor entries now carry utm_source=awesome-python&utm_medium=sponsorship&utm_campaign=sponsor&utm_content=readme, and the website build rewrites utm_content to website for the sponsor band. New sponsor entries in README.md need the same UTM suffix.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude 94f70f8425 feat: show lowest sponsor price and link README CTA to the website
The README sponsor CTA linked to SPONSORSHIP.md, so sponsor-page visits from the README never reached GA4.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 09:09:22 +08:00
Vinta ChenandClaude af248d22ce feat: add deepinfer to LLM Serving
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-21 08:02:39 +08:00
Vinta ChenandClaude 4844596cf7 docs: shorten entry descriptions that wrap in the GitHub README
22 entry descriptions ran past the width at which GitHub's README wraps a rendered line onto a second line.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-19 13:02:46 +08:00
Vinta ChenandCodex abfab010e9 docs: restore dogpile.cache in general caching
Replacing framework-independent dogpile.cache with Django-only django-redis removed the shared Redis and Memcached cache use case, and a single Caching group conflated distinct jobs.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-16 19:19:49 +08:00
Vinta ChenandCodex 17fd2e592f docs: move Faiss into vector search
Faiss indexes vectors and integer IDs rather than storing documents and metadata, so its Database placement contradicted the category definition.

Co-Authored-By: Codex <noreply@openai.com>
2026-10-16 19:17:28 +08:00
Vinta ChenandClaude e2ead5fc84 style: capitalize Python in entry descriptions
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:35:09 +08:00
Vinta ChenandClaude 3322bb3ce7 feat: add betterleaks to Supply Chain Security > Secret Scanning
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>
2026-10-16 17:26:54 +08:00
Vinta ChenandClaude cf2667a145 feat: add dill to Serialization > Object Pickling
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:49 +08:00
Vinta ChenandClaude 7de9a00a67 feat: add cloudpickle to Serialization > Object Pickling
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>
2026-10-16 17:26:44 +08:00
Vinta ChenandClaude 3f6ed15ba9 feat: add magika to File Manipulation > File Type Detection
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:39 +08:00
Vinta ChenandClaude e011e9a1f1 refactor: split File Manipulation into Paths and File Watching and File Type Detection
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>
2026-10-16 17:26:33 +08:00
Vinta ChenandClaude 3e6e5c1932 feat: add pypandoc to File Format Processing > File Conversion
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:28 +08:00
Vinta ChenandClaude 9a0040257b feat: add mise to Environment Management
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:23 +08:00
Vinta ChenandClaude d37b45d037 feat: add django-silk to Debugging Tools > Others
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:18 +08:00
Vinta ChenandClaude c9095fc74b feat: add ast-grep-cli to Code Analysis > Refactoring
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:13 +08:00
Vinta ChenandClaude 6084417daf feat: add scrapling to Web Scraping > Frameworks
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:26:08 +08:00
Vinta ChenandClaude 187b25bb1d audit: remove jev-ultrafast from Web Scraping > Frameworks
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>
2026-10-16 17:26:03 +08:00
Vinta ChenandClaude f82dbec298 feat: add django-redis to Caching
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:58 +08:00
Vinta ChenandClaude 90a809d398 audit: remove dogpile.cache from Caching
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>
2026-10-16 17:25:53 +08:00
Vinta ChenandClaude 99c7e78050 feat: add faiss-cpu to Database > Vector
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:48 +08:00
Vinta ChenandClaude 4941ace9d3 feat: add apsw to Database Drivers > SQLite
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:43 +08:00
Vinta ChenandClaude 7e1a9e72dd feat: add pgvector to Database Drivers > PostgreSQL
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:38 +08:00
Vinta ChenandClaude c5bb17ad8b feat: add OpenCC to Natural Language Processing > Chinese
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:33 +08:00
Vinta ChenandClaude 05d9798280 feat: add hyperopt to Machine Learning > Hyperparameter Optimization
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:28 +08:00
Vinta ChenandClaude 369f75e852 feat: add optuna to Machine Learning > Hyperparameter Optimization
Hyperparameter optimization had no use case, and optuna is its obvious choice.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:24 +08:00
Vinta ChenandClaude 349e0d1aeb feat: add imbalanced-learn to Machine Learning > General
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:19 +08:00
Vinta ChenandClaude 72469f9d7d feat: add llama-cpp-python to AI and Agents > Local LLM Inference
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:14 +08:00
Vinta ChenandClaude 532f05e4f6 feat: add ollama to AI and Agents > Local LLM Inference
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 17:25:09 +08:00
Vinta ChenandClaude 71bd580429 refactor: split LLM Inference and Serving into Local LLM Inference and LLM Serving
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>
2026-10-16 17:23:29 +08:00
Vinta ChenandClaude f963f1e88f feat: add flit-core to Package Management > Build Backends
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-16 13:38:57 +08:00
Vinta ChenandClaude 80b502d672 feat: add wshobson-agents to AI and Agents > Agent Skills
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-14 23:08:36 +08:00
Vinta ChenandClaude 265c7b73fb feat: add scientific-agent-skills to AI and Agents > Agent Skills
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-14 23:08:12 +08:00
Vinta ChenandClaude 6b7e4df260 style: audit AI and Agents, list vllm above sglang
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>
2026-10-14 22:57:20 +08:00
Vinta ChenandGitHub 05cbc09151 Merge pull request #3372 from DevVettel/fix-github-url-trailing-slashes
fix: drop trailing slashes from GitHub repo URLs
2026-10-12 13:58:19 +08:00
ab40553a04 Add sentence-transformers
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:28:13 +04:00
bedba80237 Add temporalio
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:27:44 +04:00
9e6ec6525e Replace fire with cyclopts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:26:50 +04:00
DevVettelandClaude Opus 5.5 6e44a071d1 fix: drop trailing slashes from GitHub repo URLs
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>
2026-10-09 22:49:45 +03:00
DevVettelandClaude Opus 5.5 7121c048b8 fix: end django-modern-rest description with a period
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 18:38:20 +03:00
Vinta ChenandClaude bb79ec0e5a add sponsor: iPulse AI
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 19:01:56 +08:00
Vinta ChenandClaude 98d24569de refactor: rename HTTP Clients subcategory to General
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>
2026-10-02 19:55:45 +08:00
Vinta ChenandClaude b0c94e0c87 refactor: rename CLI Development subcategory to General
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>
2026-10-02 19:55:23 +08:00
Vinta ChenandClaude cc5f98acd9 refactor: rename Code Analysis subcategory to General
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>
2026-10-02 19:38:09 +08:00
Vinta ChenandClaude e57f84a602 docs: follow arcade's own description, which says 2D
The description dropped the 2D scope that arcade's own GitHub description states (https://github.com/pythonarcade/arcade).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 17:08:33 +08:00
Vinta ChenandClaude f46a862779 docs: rewrite reportlab's description as a sentence
The description "Allowing Rapid creation of rich PDF documents." was a sentence fragment (now follows https://pypi.org/pypi/reportlab/json).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 17:08:33 +08:00
Vinta ChenandClaude 57da931e2c style: drop the trailing slash from kornia's link
Kornia's link had a trailing slash, unlike every other entry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 17:08:33 +08:00
Vinta ChenandClaude 088245e39b docs: link pytesseract's description to the Tesseract engine repo
The description linked the tesseract-ocr GitHub org instead of the engine repo that pytesseract's own README links (https://github.com/madmaze/pytesseract).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 17:08:33 +08:00
Vinta ChenandClaude 9490c4d9b5 docs: drop the forms claim from Data Validation's description
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>
2026-10-02 17:08:33 +08:00
Vinta ChenandClaude f8600afd51 docs: swap SendGrid for Brevo in django-anymail's description
The description named SendGrid as an example ESP, but Anymail no longer officially supports it (https://anymail.dev/en/stable/esps/sendgrid/).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-02 17:08:28 +08:00