- Navigate to https://github.com/settings/personal-access-tokens/new
- Select public repositories
- Add new token as the environment variable
GH_ODD_PAT
The config.py file contains:
TIME_RANGE: Start and end dates for commit analysisOBJECTIVES: Quarterly objectives with repos and contributors per objective
To fetch the latest objectives from GitHub issues:
uv run generate_config.pyThis generates objectives_config.py with objectives and contributors from issues labeled pi-*-objective. You'll need to manually add repos to each objective, then copy to config.py.
To regenerate the objectives documentation page from config:
uv run generate_docs.py- Run
uv run main.py(uses 10 parallel workers by default) - Run
uv run plot.py
TIME_RANGE is automatically set to the current fiscal quarter (Q1: Oct-Dec, Q2: Jan-Mar, Q3: Apr-Jun, Q4: Jul-Sep).
The generated chart colors bars by PI objective (see objectives page for details).
- generate_config.py: Uses GitHub search API to fetch only objective issues (~2-3 seconds)
- main.py: Parallelizes API calls with ThreadPoolExecutor (10x faster than sequential)