| Crates.io | walk |
| lib.rs | walk |
| version | 0.1.0 |
| created_at | 2026-01-18 16:32:11.599249+00 |
| updated_at | 2026-01-18 16:32:11.599249+00 |
| description | Graph random-walk family primitives: PageRank, Personalized PageRank, and random walk generation. |
| homepage | https://github.com/arclabs561/walk |
| repository | https://github.com/arclabs561/walk |
| max_upload_size | |
| id | 2052624 |
| size | 127,533 |
Graph random-walk primitives:
Most APIs take a WalkConfig { seed, .. }. For fixed seed and identical inputs,
walk generation is intended to be reproducible.
Graph: returns owned neighbor lists (Vec<usize>) per query (simple but allocates per step)GraphRef: returns borrowed neighbor slices (&[usize]) per query (faster for walking)This crate uses kuji for reservoir sampling via sample_start_nodes_reservoir, which is useful
when node_count is too large to materialize 0..node_count just to choose a subset of starts.
cargo run --example ppr_hard_pool: generate a seeded SBM graph, compute PPR from an anchor,
then sample a stochastic top-(k) candidate pool using Gumbel-top-k on (\log(\mathrm{PPR})).
testdata/karate_club.edgelist by default (small real graph)WALK_DATASET=lesmis or WALK_DATASET=florentine for other bundled graphsWALK_EDGELIST=/path/to/edges.txt to run on your own graph