Origin
Born from the ACT-IAC 2026 AI Hackathon. We needed graph algorithms for the Integrity platform but Memgraph came with 100GB RAM requirements, a Docker dependency, and a dual license. GraphWizard replaces all of that with in-process algorithms you can import directly — no server, no container, no license headaches.
40+ Algorithms Across 10 Packages
| Package | Count | Algorithms |
|---|---|---|
| centrality | 12 | Betweenness, Closeness, Degree, Eigenvector, PageRank, Katz, HITS, Harmonic, Load, Percolation, Stress, Current Flow |
| community | 4 | Louvain, Label Propagation, Girvan-Newman, Modularity |
| connectivity | 9+ | Connected Components, Strongly Connected, Bridges, Articulation Points, Biconnected, Condensation, Weakly Connected, Tarjan, Kosaraju |
| embedding | 3 | Node2Vec, DeepWalk, Laplacian Eigenmaps |
| flow | 2 | Edmonds-Karp, Push-Relabel |
| matching | 1 | Maximum Matching (Hopcroft-Karp) |
| paths | 5 | Dijkstra, Bellman-Ford, A*, Floyd-Warshall, Johnson |
| similarity | 8 | Jaccard, Cosine, Adamic-Adar, Common Neighbors, Preferential Attachment, Resource Allocation, SimRank, Overlap |
| structure | 8+ | Density, Diameter, Radius, Eccentricity, Girth, Clustering Coefficient, Degree Distribution, Transitivity |
| traverse | 3 | BFS, DFS, Topological Sort |
Design Philosophy
- One import per domain —
centrality.Betweenness(g),community.Louvain(g) - Consistent return types —
map[int64]float64for centrality scores,[][]int64for components - Standard gonum interfaces — works with any
graph.Graphimplementation - Cleanroom from academic papers — no ported code, every algorithm implemented from the original research
- 97.3% test coverage — 5 packages at 100% coverage
By the Numbers
50+
Source Files
7,500+
Lines of Code
220+
Test Functions
97.3%
Test Coverage
Quick Example
package main
import (
"fmt"
"github.com/intelligrit/graphwizard/centrality"
"github.com/intelligrit/graphwizard/connectivity"
"gonum.org/v1/gonum/graph/simple"
)
func main() {
g := simple.NewUndirectedGraph()
// ... add edges ...
// Find structural weak points
bridges := connectivity.Bridges(g)
fmt.Println("Bridges:", bridges)
// Rank node importance
scores := centrality.Betweenness(g)
for node, score := range scores {
fmt.Printf("Node %d: %.4f\n", node, score)
}
}Links
See It in Action
GraphWizard powers the fraud detection graph analysis in the Integrity case study. Read how we used centrality, community detection, and connectivity algorithms to surface anomalous patterns in federal payment data.