Weekly status reporting for the Home Assistant GitHub Projects V2 board (project #45).
Pulls item data via the GitHub GraphQL API and generates a report covering:
- Items started per calendar week (moved to In Progress)
- Items completed per calendar week (moved to Done)
- Stale items (In Progress without a status change for 14+ days, excluding Epics)
- Board summary by status
Items are grouped by parent epic, with opportunity linkage called out where detected.
Requires Python 3.10+ and the requests library.
pip install requests
Create a GitHub personal access token with read:project and public_repo scopes, then save it in a file called github_token.txt in this directory (it is gitignored).
Generate an HTML report (opens in any browser):
python board_analytics.py --html
Plain text output to terminal:
python board_analytics.py
JSON export for downstream tooling:
python board_analytics.py --json > snapshot.json
| Flag | Default | Description |
|---|---|---|
--weeks N |
4 | Number of calendar weeks to display |
--stale-days N |
14 | Days before an In Progress item is flagged stale |
--html [FILE] |
board_report.html | Generate an HTML report |
--json |
Output raw item data as JSON |
The HTML report includes client-side filtering by repo and assignee.