Documentation site for the VEDA/EODC Science Support team. Published at https://nasa-impact.github.io/science-support/.
Quarterly objectives, commit charts, and the Objectives page are auto-generated by dse-oss-reports. All team-specific configuration lives in team.toml. Adoption guide and architecture: https://github.com/NASA-IMPACT/dse-oss-reports#adoption-guide.
The weekly cron in .github/workflows/update-reports.yml calls the library's reusable workflow, which scrapes GitHub issues, fetches commit data, regenerates charts and docs/objectives.md, and opens a PR for review.
dse-oss-reports is pinned in pyproject.toml; uv sync installs it alongside mkdocs. Then prefix every command with uv run.
All commands take --config team.toml and run from the repo root.
| Subcommand | What it does | Reads | Writes | PAT? |
|---|---|---|---|---|
current-pi |
Print the resolved current PI | team.toml |
stdout | no |
generate-config |
Scrape GitHub issues into the objectives data file | GitHub API | reports/_objectives_data.json |
yes |
fetch |
Pull authored commits + resolved items for a PI | GitHub API, _objectives_data.json |
reports/output/{pi}-*.csv |
yes |
plot |
Render per-PI charts | reports/output/{pi}-*.csv |
docs/images/{pi}-*.png |
no |
generate-docs |
Render the objectives page | _objectives_data.json, existing PNGs |
docs/objectives.md |
no |
run-all |
Run all four pipeline stages in order | everything | everything | yes |
PAT-requiring commands read DSE_OSS_REPORTS_TOKEN → GH_PAT → GITHUB_TOKEN (in that order). Create a fine-grained PAT with public-repo read access at https://github.com/settings/personal-access-tokens/new.
# Full refresh from GitHub (PAT required, ~1-2 minutes)
export GH_PAT=ghp_...
uv run dse-oss-reports --config team.toml run-all
# Regenerate figures from existing CSVs (no PAT, ~5 seconds)
uv run dse-oss-reports --config team.toml plot # current PI
uv run dse-oss-reports --config team.toml plot --pi pi-26.2 # a specific past PI
# Regenerate the docs page after charts change (no PAT)
uv run dse-oss-reports --config team.toml generate-docsOnce dse-oss-reports is released, bump the pin in pyproject.toml and both refs in .github/workflows/update-reports.yml from @further-simplification to a versioned tag.
uv sync
uv run mkdocs serve # preview at http://127.0.0.1:8000