GitHub now restricts /stargazers to admins/collaborators, so the Actions
GITHUB_TOKEN 403s. Read STAR_HISTORY_TOKEN instead and surface a clearer error.
Co-authored-by: Cursor <cursoragent@cursor.com>
Generate light and dark variants and use a <picture> element so the README chart follows the viewer's GitHub theme. The daily workflow now regenerates both.
Co-authored-by: Cursor <cursoragent@cursor.com>
The anonymous star-history.com API is rate-limited and returned an empty chart for this repo, so the embedded image showed no data. Render the chart ourselves (scripts/gen_star_history.py) by sampling stargazer timestamps with a token, output a PNG, and have the daily workflow regenerate it. Replaces the empty SVG.
Co-authored-by: Cursor <cursoragent@cursor.com>
The README embedded the live star-history.com SVG API, which is rate-limited and intermittently fails to render (GitHub Camo caches the error). Commit a static assets/star-history.svg and point the README at it, plus a daily workflow that regenerates the image, with a guard so a rate-limited response never overwrites a good chart.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the build (and the build-only dry-run) out of the protected `pypi`
environment so dispatching from main no longer fails environment branch
rules. Only the separate, environment-gated publish job runs on real
releases and uploads via OIDC.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add .github/workflows/release.yml: build + publish to PyPI on GitHub
Release via Trusted Publishing (OIDC), with a tag/version guard, twine
check, and a build-only dry-run option.
- setup.py reads the top-level README.md (with fallback) so the package
always ships the current README; refresh the short description.
- Remove the stale air_llm/README.md duplicate and gitignore it (now a
build-time artifact synced from the root README).
Co-authored-by: Cursor <cursoragent@cursor.com>