Add three tests against the real README: verify all entries have
non-empty names, valid http(s) URLs, and no broken markdown link
syntax (e.g. '[name(url)' missing the closing '](').
Co-Authored-By: Claude <noreply@anthropic.com>
Collapse the two-job workflow into one, set the github-pages
environment on the single job, and key the star-data cache by
date (YYYY-MM-DD) so it is shared across same-day runs instead
of being per-run-id. Also skip tests on scheduled runs and
validate JSON before serving it.
Co-Authored-By: Claude <noreply@anthropic.com>
This PR corrects the casing of "SQLite" (from "SQlite") in the Database Drivers section to align with the official project name and maintain consistency across the documentation.
Replaced "SQlite" with "SQLite" in headings and descriptions.
Rename _GITHUB_OWNER_RE and _GITHUB_NAME_RE to GITHUB_OWNER_RE and
GITHUB_NAME_RE to match the naming style of the other module-level
constants (GRAPHQL_URL, BATCH_SIZE).
Co-Authored-By: Claude <noreply@anthropic.com>
Split _GITHUB_NAME_RE into separate owner and repo patterns.
Owner regex now rejects leading/trailing hyphens and dots (matching
GitHub's actual username rules). Repo regex requires alphanumeric
start but allows dots and underscores anywhere after.
New tests cover GraphQL injection attempts, invalid leading chars,
and valid hyphenated/underscore/dot combinations.
Co-Authored-By: Claude <noreply@anthropic.com>
Adds pyodide, a Python distribution for the browser and Node.js based on WebAssembly, in alphabetical order within the Python Implementations section.
Co-Authored-By: Claude <noreply@anthropic.com>
Follow-up to #2998: the anchor links were updated but the display
text still said "Command-line Interface Development" and
"Command-line Tools". Now matches the actual headings.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename 'Frameworks' to 'Orchestration' to better reflect the purpose
- Extract 'Data Layer' subsection from Frameworks, moving instructor and
llama-index there
- Rename llama_index display name to llama-index (PyPI package name)
- Add mem0 to Data Layer
- Rename 'Pretrained Models and Inference' to 'Pre-trained Models and
Inference' and update descriptions to match
Co-Authored-By: Claude <noreply@anthropic.com>
The flex properties (align-items, flex-direction, flex-wrap, justify-content)
were overriding the default layout unnecessarily on mobile.
Co-Authored-By: Claude <noreply@anthropic.com>