The code behind https://developmentseed.org/contributor-network.
This visual is derived from the excellent ORCA top-contributor-network by Nadieh Bremer.
The contributor-network Python CLI can be installed directly from this repository:
uv tool install git+https://github.com/developmentseed/contributor-networkOr with pip:
pip install git+https://github.com/developmentseed/contributor-networkTo view the site locally with hot module replacement:
npm run devGet uv, Node.js 18+, and a GitHub personal access token with public_repo scope (e.g. via gh auth token if you have the Github CLI).
uv sync
npm installThe build is split into two steps: contributor-network build generates the CSVs and config.json into public/data/, and npm run build runs Vite to produce the final static site in dist/.
uv run contributor-network build # generate data
npm run build # build the static siteIf you've changed the config and need to re-fetch data from the Github API, run this (warning, this takes a while):
export GITHUB_TOKEN="your_token_here"
uv run contributor-network fetchTo list all configured contributors by category:
uv run contributor-network list-contributorsTo find new repositories that DevSeed employees contribute to:
uv run contributor-network discover --min-contributors 2 --limit 50This queries GitHub to find repos where multiple DevSeed employees have contributed, which are not yet in the configuration.
To update the visualization with new data:
# 1. Set your GitHub token
export GITHUB_TOKEN="your_token_here"
# 2. (Optional) Discover new repos to add
uv run contributor-network discover --min-contributors 2
# 3. Edit config.toml to add/remove repos or contributors
# 4. Fetch data from GitHub
uv run contributor-network fetch
# 5. Generate data files
uv run contributor-network build
# 6. Build the static site
npm run build
# 7. Preview locally
npm run previewnpm test
uv run pytestnpm run typecheckuv run ruff check --fix
uv run ruff formatEdit config.toml to configure:
- repositories: List of GitHub repos to track (format:
"owner/repo") - contributors.devseed: Current DevSeed employees (format:
github_username = "Display Name") - contributors.alumni: Friends and alumni (commented out by default)
The following config.toml fields populate <meta> tags in index.html at build time:
og_url— the canonical URL for the deployed site (used inog:url)og_image— the URL to the social-share image (used inog:image)theme_color— the browser theme color (used in<meta name="theme-color">); defaults tobranding.primary_colorif unset
index.html is rendered from python/contributor_network/templates/index.html.j2 by contributor-network build and is gitignored. To change page structure, edit the template (not the generated file). Forks can override the meta-tag values without modifying the template.
This visualization uses the Development Seed brand colors:
- Grenadier (#CF3F02): Primary orange accent
- Aquamarine (#2E86AB): Secondary blue
- Base (#443F3F): Text color
This work was copied-and-modified from https://github.com/nbremer/ORCA and is licensed under the same (MPL).
