100 Commits
Author SHA1 Message Date
Vinta Chen a14036fa6f Merge branch 'fix/sponsorship' 2026-09-29 22:42:02 +08:00
Vinta Chen a2801e72c0 update docs 2026-09-29 22:40:55 +08:00
Vinta Chen 4a62a22e90 add FUNDING 2026-09-29 22:38:29 +08:00
Vinta Chen 104361bccb Merge branch 'audit-log-overrides' 2026-09-27 21:02:23 +08:00
Vinta ChenandClaude 160d9c01f1 docs: record openviking and seleniumbase audit overrides
docs/audit-logs.md claimed every maintainer override is recorded, but the openviking stability override (PR #3302) and the seleniumbase challenger-evidence override (PR #3284) were missing.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 21:01:58 +08:00
Vinta Chen ec4fd5dd7e Merge branch 'code-chip'
Deploy Website / deploy (push) Canceled after 0s
CI / test (push) Canceled after 0s
2026-09-27 15:19:39 +08:00
Vinta ChenandClaude b6748825e6 style: give inline code in intros a chip appearance
Inline code in category intros and guides inherited the body font with no background, so identifiers like INSTALLED_APPS read as ordinary words.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 15:19:27 +08:00
Vinta Chen 6eaa8a4c58 Merge branch 'fix/todo-pass2' 2026-09-27 15:11:22 +08:00
Vinta ChenandClaude a25bb7ac54 docs: remove stale nested awesome lists for pyramid and fasthtml
awesome-pyramid last pushed 2021-07-08 and awesome-fasthtml 2024-09-08, both stale (checked via GitHub API 2026-09-27).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 15:10:37 +08:00
Vinta ChenandClaude 6a038e3fef docs: fix inaccurate entry descriptions across README
18 entry descriptions overstated, understated, or misattributed their projects, checked against upstream on 2026-09-27 and approved row by row.
- django: "most popular" contradicted by the 2024 JetBrains/PSF survey, where FastAPI leads overall; now uses Django's own tagline.
- joblib: described as pipelining; its docs say parallel computing and disk caching.
- huey: called only "multi-threaded"; it also supports multi-process and greenlet workers.
- numba: updated to its current NumPy-aware wording.
- pytesseract: credited Google as Tesseract's developer, which ended in 2017.
- pennylane: description was narrower than its quantum computing/QML/chemistry scope.
- channels: didn't mention WebSocket support.
- justhtml: left out that it sanitizes untrusted HTML by default.
- akshare: left out its academic-research-only data terms.
- timesfm: left out its non-commercial default weights.
- pyvips: used libvips's own tagline instead of describing it as a binding.
- ultralytics: dropped an unverifiable SOTA claim and added its tracking capability.
- pandera: listed only 3 of its supported dataframe backends.
- sentry-skills: claimed a Python focus and debugging scope; it's the Sentry team's own skill set.
- trailofbits-skills: claimed to be Python-friendly, but only 2 of 85 skills are Python-specific.
- mysqlclient: fork link pointed to SourceForge mysql-python instead of MySQLdb1, and it now notes MariaDB support.
- charset-normalizer: called "the default" of requests, which prefers chardet when installed.
- pynacl: described as binding NaCl directly; it binds libsodium, a NaCl fork.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 15:06:32 +08:00
Vinta ChenandClaude 9cdd11b624 docs: rewrite File Format Processing category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:14 +08:00
Vinta ChenandClaude a04833275a docs: rewrite Template Engines category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:14 +08:00
Vinta ChenandClaude 540f462d4b docs: rewrite WebSocket category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:14 +08:00
Vinta ChenandClaude 36880b3d87 docs: rewrite Web Servers category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude fc09dc7067 docs: rewrite Web Frameworks category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 86d857055b docs: rewrite Web APIs category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude f293ce3549 docs: rewrite Game Development category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 56aa4073d7 docs: rewrite Date and Time category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 2c0486a34a docs: rewrite Data Validation category intro lead
This lead followed the same appositive frame as the other category intro leads ("X, a/the Python Y library ..."), so it read as one template with the category swapped in; it now has its own sentence frame, keeping the same picks and facts.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude edc3db37fa docs: fix 6 section descriptions that misdescribed their sections
Computer Vision's description said nothing; Template Engines claimed lexing; Email claimed parsing and mail server management though yagmail only sends; Build Tools said "compile software" though Invoke and doit are task runners; File Format Processing said "text formats" though it covers ELF, xlsx, docx, and PDF; Package Repositories left out mirrors like bandersnatch. These descriptions show on the category pages.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:13 +08:00
Vinta ChenandClaude 1ed83b7f3d docs: fix 19 entry descriptions that drifted from upstream
langchain used an old composability tagline; transformers named only NLP/vision/audio though it now covers text, vision, audio, video, and multimodal; pgmpy left out its causal reasoning scope; uvicorn listed uvloop/httptools though both are optional extras; django-oauth-toolkit's "goodies" undersold an OAuth 2.0 authorization server; django-unfold used marketing copy instead of a description; pyparsing didn't match its repo's PEG parser description; pdfminer.six didn't say what it does; pyyaml's "implementations" was vague; whenever didn't reflect its Rust-or-pure-Python support; itsdangerous used an outdated upstream tagline; winpython's "Windows 10/11" will go stale; mssql-python's "low memory usage" claim has no upstream source; diskcache repeated the project's own speed benchmark instead of describing it; hishel left out its server-side support; jupyter used IPython's tagline instead of its own; ray used an old tagline; wxPython's sentence was garbled; kivy referenced outdated "NUI" and "Mac OS X" terms.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:53:12 +08:00
Vinta ChenandClaude ec818ebcf8 fix: drop redundant aria-hidden on homepage description rows
Homepage description rows carried aria-hidden="true" on top of hidden, unlike category pages (fixed in 528f9ed); the hidden attribute alone already keeps them from assistive tech while hidden.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:48:02 +08:00
Vinta ChenandClaude 0abd19a99c fix: number rows in sorted order after a column sort
applyFilters walked the static load-order NodeList, so after sorting by a column header, row numbers kept each row's original load-order position instead of counting 1..n down the sorted table.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:48:02 +08:00
Vinta ChenandClaude f0ebe92155 fix: order category page JSON-LD ItemList to match rendered rows
Category pages' JSON-LD ItemList listed entries in download order while the table renders them in README (editorial) order, so structured-data positions didn't match the visible rows.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:47:00 +08:00
Vinta ChenandClaude 5c4607dd0f refactor: reformat clickpy query string with ruff format
ruff format --check flagged this file for the multi-line f-string concatenation.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:46:55 +08:00
Vinta Chen 91927eadf8 Merge branch 'fix/small-fixes' 2026-09-27 14:40:55 +08:00
Vinta ChenandClaude 7a841f2e68 docs: fix duplicate rembg link in image-processing intro
The rembg paragraph linked the same GitHub URL twice; the model-license link now points at the README's models section, where that claim is stated.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:40:55 +08:00
Vinta ChenandClaude 2756fba0ef docs: name Ultralytics' license by family in computer-vision intro
The intro named Ultralytics' license with its version, AGPL-3.0, against the rule that intros name a license by family only.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:40:55 +08:00
Vinta Chen 6a2acf7f93 Merge branch 'fix/readme-todo-descriptions' 2026-09-27 14:35:55 +08:00
Vinta ChenandClaude 169fafddab docs: fix wrong, outdated, and broken README entry descriptions
funasr: dropped stale 170x realtime and 50+ languages claims
easyocr: language count was stale at 40+, verified 80+
apiflask: said Marshmallow-only, missing its Pydantic support
urllib3: "A HTTP" grammar and awkward phrasing
django.db.models: linked to /en/dev/ instead of /en/stable/
pymysql: grammar slip "compatible to mysql-python", a phrase upstream dropped
zvec: unsourced "SQLite of vector databases" superlative
elasticsearch: linked to a redirected elastic.co/products/elasticsearch URL
matplotlib: called "2D" only, ignoring its animated/interactive support
geodjango: linked to /en/dev/ instead of /en/stable/
scipy: retired "ecosystem" tagline
mypy: "compile time" is wrong, Python has no compile-time type checking
tox: missing trailing period
schemathesis: described as OpenAPI/Swagger only, misses GraphQL schema support
polyfactory: grammar slip "support to classes"
mimesis: grammar slip "is a Python library that help you"
pdoc: outdated "Epydoc replacement" framing
pyinfra: grammar slip "A versatile CLI tools and python libraries"
typer: wrongly claimed to be built on Pydantic
copier: "projects templates" grammar slip
pygobject: said GTK+3 only, it now supports GTK 4
dearpygui: grammar slip and missing period
PySide6: claimed to be "same as PyQt6", it's not fully API-compatible
markupsafe: grammar slip in description
python-docx: outdated "Word 2007/2008" framing
mistune: grammar slip "Fastest and full featured pure Python parsers"
pillow: PIL link 404s
wand: MagickWand link went through two redirects to a stub page
vidgear: unverifiable "Most Powerful" superlative
tinytag: format list stale, missing supported formats
panda3d: said "developed by Disney", no longer Disney-only
micropython: vague description, missing microcontroller target
dateparser: language count was vague "dozens", verified 200+ locales
warehouse: outdated "Next generation" tagline
Nuitka: wrongly claimed to support all Python versions
cx-Freeze: grammar slip "It is a Python tool that converts"
dynaconf: wrongly claimed a FastAPI plugin
pip-audit: wrong database name
uv-audit: wrongly claimed malware scanning
pyenv-win: wrongly credited pyenv instead of rbenv-win as its fork origin

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 14:35:55 +08:00
Vinta Chen ae3e309f2e Merge branch 'feature/category-page-redesign' 2026-09-27 12:46:49 +08:00
Vinta ChenandClaude 79f739091e docs: add Built-in Classes Enhancement category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:21:40 +08:00
Vinta ChenandClaude 5516521bc6 docs: add Supply Chain Security category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:21:36 +08:00
Vinta ChenandClaude 9627a14e92 docs: add Network Virtualization category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:21:32 +08:00
Vinta ChenandClaude 8977f4c3d3 docs: add Miscellaneous category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:21:28 +08:00
Vinta ChenandClaude 046c75a16b docs: add Web Security category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:21:25 +08:00
Vinta ChenandClaude 64d74fae47 docs: add Distribution category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:21:21 +08:00
Vinta ChenandClaude b7e68cd25a docs: add Microsoft Windows category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:00:56 +08:00
Vinta ChenandClaude eca97d81c4 docs: add Algorithms and Design Patterns category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:00:52 +08:00
Vinta ChenandClaude 28fb6affea docs: add Penetration Testing category intro
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 11:00:49 +08:00
Vinta ChenandClaude a1a1f01d91 docs: add ERP category intro
The ERP category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:52:10 +08:00
Vinta ChenandClaude 7d74a36e4b docs: add File Manipulation category intro
The File Manipulation category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:52:07 +08:00
Vinta ChenandClaude 03604c4244 docs: add DevOps Tools category intro
The DevOps Tools category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:52:04 +08:00
Vinta Chen e9dbd87139 docs: add Environment Management category intro 2026-09-27 10:38:03 +08:00
Vinta Chen 7846e7a610 docs: add HTML Manipulation category intro 2026-09-27 10:37:59 +08:00
Vinta Chen cac4828514 docs: add Documentation category intro 2026-09-27 10:37:55 +08:00
Vinta ChenandClaude 35b5a50063 docs: add Search category intro
The Search category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:24:43 +08:00
Vinta ChenandClaude 219fb43236 docs: add Recommender Systems category intro
The Recommender Systems category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:24:40 +08:00
Vinta ChenandClaude fa22df7ed6 docs: add Messaging category intro
The Messaging category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:24:36 +08:00
Vinta ChenandClaude 494092ef7e docs: add Serialization category intro
The Serialization category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:12:59 +08:00
Vinta ChenandClaude 03d5199fd9 docs: add Hardware category intro
The Hardware category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:12:55 +08:00
Vinta ChenandClaude a548436062 docs: add CLI Tools category intro
The CLI Tools category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 10:12:52 +08:00
Vinta ChenandClaude 1ad8d9d4dc docs: add Job Schedulers category intro
The Job Schedulers category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:59:23 +08:00
Vinta ChenandClaude f560c19d5c docs: add Configuration Files category intro
The Configuration Files category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:59:20 +08:00
Vinta ChenandClaude dfe5052604 docs: add Interactive Interpreter category intro
The Interactive Interpreter category page had no intro, showing only the table with a generic meta description.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:59:16 +08:00
Vinta ChenandClaude c6c6684334 docs: add Authentication category intro
The Authentication category page showed only the table with a generic meta description, with no intro.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:46:42 +08:00
Vinta ChenandClaude f22f7ff1c7 docs: add Logging category intro
The Logging category page showed only the table with a generic meta description, with no intro.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:46:39 +08:00
Vinta ChenandClaude c358eb518c docs: add Database category intro
The Database category page showed only the table with a generic meta description, with no intro.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:46:35 +08:00
Vinta ChenandClaude 06d53f691f docs: restore Build Tools guide's closing pointer to Package Management
a942b13 dropped this as redundant with the header link, but readers who finish the guide below the table never see that header link and lose the pointer to Package Management entirely.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:13:46 +08:00
Vinta Chen 7fa334eb90 sync rules 2026-09-27 09:12:30 +08:00
Vinta Chen 8d6109aa4c Merge branch 'fix/description-category-links' into feature/seo-redesign 2026-09-27 09:10:59 +08:00
Vinta ChenandClaude 5b80c4ef6b fix: point description cross-reference links at category pages
Category pages render each README section's description as-is, so cross-reference links inside it pointed at README anchors (#package-management on Build Tools, #web-apis on Web Frameworks) that don't exist on those pages and led nowhere.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:10:59 +08:00
Vinta ChenandClaude ae6d0acfd6 docs: name Mutagen's license by family in audio-video-processing intro
The intro named Mutagen's license with a version (GPL-2.0-or-later) where intros name only the family.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:10:24 +08:00
Vinta ChenandClaude ffcdff3053 docs: name Mem0's license by family in ai-and-agents intro
The intro named Mem0's license with a version (Apache 2.0) where intros name only the family.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:10:23 +08:00
Vinta ChenandClaude a942b13d06 docs: drop closing Package Management link from build-tools intro
The page's description now links to Package Management, so the intro's closing pointer there was redundant.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 09:10:23 +08:00
Vinta ChenandClaude 646d3f3954 docs: add Data Analysis category intro
Data Analysis's category page had no intro, so its meta description fell back to generic text and gave readers no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:26:50 +08:00
Vinta ChenandClaude 25bf3d64f2 docs: add Caching category intro
Caching's category page had no intro, so its meta description fell back to generic text and gave readers no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:26:47 +08:00
Vinta ChenandClaude 7ecaa4ff2f docs: add Science category intro
The Science category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:50 +08:00
Vinta ChenandClaude 9236dde9e3 docs: add Package Repositories category intro
The Package Repositories category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:47 +08:00
Vinta ChenandClaude c0190bde84 docs: add Debugging Tools category intro
The Debugging Tools category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:43 +08:00
Vinta ChenandClaude 14cfa54293 docs: add Geolocation category intro
The Geolocation category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:40 +08:00
Vinta ChenandClaude 0d72391733 docs: add Email category intro
The Email category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:37 +08:00
Vinta ChenandClaude 5cb69a9940 docs: add Functional Programming category intro
The Functional Programming category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:34 +08:00
Vinta ChenandClaude e54c7216f9 docs: add Asynchronous Programming category intro
The Asynchronous Programming category page had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:25:30 +08:00
Vinta ChenandClaude 2f9a8d4009 add Build Tools category intro
Its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:06:53 +08:00
Vinta ChenandClaude 1ac5fdc841 add Quantum Computing category intro
Its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:06:50 +08:00
Vinta ChenandClaude 6348d5f86a docs: add Static Site Generators category intro
Static Site Generators had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:03:39 +08:00
Vinta ChenandClaude b5846d7208 docs: add Database Drivers category intro
Database Drivers had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:03:35 +08:00
Vinta ChenandClaude d7f7fe0dcd docs: add Cryptography category intro
Cryptography had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:03:32 +08:00
Vinta ChenandClaude 4e020707e7 docs: add Task Queues category intro
Task Queues had no intro, so its meta description fell back to generic text and readers got no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 08:03:28 +08:00
Vinta ChenandClaude da7c0b7342 docs: add Distributed Computing category intro
Distributed Computing had no intro, so its meta description fell back to generic text and readers got no guidance on which tool to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:45:23 +08:00
Vinta ChenandClaude 2d9b988863 docs: add Package Management category intro
Package Management had no intro, so its meta description fell back to generic text and readers got no guidance on which tool to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:45:20 +08:00
Vinta ChenandClaude bc590c6272 docs: add Admin Panels category intro
Admin Panels had no intro, so its meta description fell back to generic text and readers got no guidance on which tool to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:45:16 +08:00
Vinta ChenandClaude 06c39e9941 docs: add HTTP Clients category intro
Its meta description fell back to generic text with no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:34:16 +08:00
Vinta ChenandClaude 08f0718e60 docs: add Data Ingestion / ETL category intro
Its meta description fell back to generic text with no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:34:13 +08:00
Vinta ChenandClaude 12e4fc4962 docs: add Data Visualization category intro
Its meta description fell back to generic text with no guidance on which library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:34:09 +08:00
Vinta Chen 557e91d785 Merge branch 'docs/promote-memory-rules' into feature/seo-redesign 2026-09-27 07:01:47 +08:00
Vinta ChenandClaude 2e7816cd51 docs: require read-only checks for listed-project admission
Nothing in the project instructions said entry checks stay read-only, and an agent once proposed installing a listed project to test whether it imports, which runs untrusted code.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:01:47 +08:00
Vinta ChenandClaude f511780898 docs: add website design conventions to project instructions
Agents editing the website had no written guide to the site's layout model, width caps, font sizing, or peer-element consistency, so those conventions weren't applied to new changes.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 07:00:41 +08:00
Vinta ChenandClaude 8b04838903 docs: add web asset management category intro
The page had no intro, so readers got no pick between django-storages and Django Compressor.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 06:26:25 +08:00
Vinta ChenandClaude d7c709371f docs: add template engines category intro
The page had no intro, so readers got no pick between Jinja and Mako.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 06:26:22 +08:00
Vinta ChenandClaude cabd05ec7e docs: add WebSocket category intro
The page had no intro, so readers got no pick among Channels, Flask-SocketIO, websockets, and Autobahn|Python.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 06:26:18 +08:00
Vinta ChenandClaude 10a7f12861 docs: add web servers category intro
The Web Servers page had no intro, so readers got no pick among Gunicorn, Uvicorn, Waitress, Granian, and Hypercorn.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 03:27:35 +08:00
Vinta ChenandClaude d450705926 docs: add web APIs category intro
The Web APIs category page had no intro, leaving readers without a pick among Django REST framework, Django Ninja, FastAPI, and the GraphQL and RPC libraries.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 03:27:23 +08:00
Vinta ChenandClaude 3c05cd63d6 docs: add web frameworks category intro
The page had no intro, so readers got no pick among Django, Flask, and the other full-stack and async frameworks.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 03:26:34 +08:00
Vinta ChenandClaude 74513330aa docs: add natural language processing category intro
The page had no intro, so readers got no pick among spaCy, NLTK, Stanza, and the Chinese text libraries.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 03:03:31 +08:00
Vinta ChenandClaude 579ea6bf85 docs: add machine learning category intro
The page had no intro, so readers got no pick among scikit-learn, the boosting libraries, pgmpy, Feature-engine, and TimesFM.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 03:03:12 +08:00
Vinta ChenandClaude 80958eb516 docs: add deep learning category intro
The Deep Learning page had no intro, leaving readers with no pick among PyTorch, Keras, JAX, Lightning, and the reinforcement learning libraries.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 03:02:51 +08:00
Vinta ChenandClaude 4d09bcb7ab docs: add Implementations category intro
The page had no guidance on when to run CPython vs MicroPython, Pyodide, Cython, or PyPy.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 02:43:48 +08:00
Vinta ChenandClaude e2308c087d docs: add Date and Time category intro
The page had no guidance on which Python date library to pick.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-27 02:43:45 +08:00