Downloads and indexes Hex.pm packages into a Postgres-backed Exograph index.
mix exograph.index.hex
mix exograph.index.hex --mode top --limit 5000
mix exograph.index.hex --mode latest --concurrency 8
mix exograph.index.hex --mode latest --web --port 4200Packages are downloaded as tarballs, extracted to a temp directory, indexed,
then cleaned up. Peak disk usage is proportional to --concurrency, not the
total number of packages.
Already-indexed packages (by name+version) are skipped by default.
Use --force to re-index everything.
Options
--mode-latest(default),top, orall--limit- max packages to index--prefix- table prefix (default:hex)--concurrency- parallel download+index workers (default:4)--min-mass- minimum fragment AST mass (default:8)--reach- include Reach call graph extraction--force- re-index already-indexed packages--bm25- create ParadeDB BM25 indexes--mirror- tarball mirror URL (repeatable)--cache-tarballs- directory to cache downloaded tarballs--database-url- Postgres URL (or setEXOGRAPH_DATABASE_URL)--repo- Ecto repo module (uses built-in if omitted)--timeout- per-package timeout in seconds (default:300)--web- start web UI with live progress dashboard--port- web UI port (default:4200, requires--web)