Release 0.6.0
[0.6.0] - 2026-02-01
Rust acceleration! Optional Rust backend for graph algorithms with 3-60x speedup, ported from Grafeo.
Added
-
Rust Backend: Optional high-performance Rust implementations via PyO3. Algorithms automatically use Rust when available, with seamless Python fallback. Use
backend="rust"orbackend="python"to force a specific implementation. -
Algorithms with Rust backends:
floyd_warshall- All-pairs shortest paths (45-60x speedup)bellman_ford- Negative weight shortest paths (10-20x speedup)dijkstra_edges- Single-source shortest paths (5-10x speedup)bfs_edges,dfs_edges- Graph traversal (3-5x speedup)pagerank_edges- Node importance ranking (10-15x speedup)strongly_connected_components_edges,topological_sort_edges- Dependency analysis (5-10x speedup)kruskal- Minimum spanning tree (5-10x speedup)
-
Two API styles for graph algorithms:
- Callback-based (
dijkstra,bfs, etc.) - Flexible, works with any node type, pure Python - Edge-list (
dijkstra_edges,bfs_edges, etc.) - Integer nodes 0..n-1, Rust-accelerated
- Callback-based (
-
Performance documentation: New Performance page with benchmarks, backend usage guide, and API comparison.
-
Backend Infrastructure:
solvor/rust/- Backend detection, routing, and adaptersrust/- Rust crate with PyO3 bindings- Multi-platform wheel builds (Linux, macOS, Windows) via GitHub Actions
-
Developer Tooling:
- Added prek for fast pre-commit hooks (Rust-based, uv-compatible)
Changed
- Build System: Switched from hatchling to maturin for mixed Python/Rust builds.
- CI: New
publish.ymlworkflow builds wheels for all platforms. - Code Organization: Moved Rust backend utilities to
solvor/rust/module.
Full Changelog: v0.5.5...v0.6.0