rer — Rez En Rust
A faithful Rust port of rez's package solver — callable from Python via PyO3, resolves match rez 1:1.
Get startedA faithful Rust port of rez's package solver — callable from Python via PyO3, resolves match rez 1:1.
Get startedA port of rez/src/rez/solver.py — weak (~) and conflict (!) requirements, variant selection order, extract / intersect / reduce / split, and implicit backtracking. Output matches rez 1:1.
Every one of the 188 cases in rez's bundled benchmark dataset resolves to rez's own recorded result — same status, same package set.
pip install pyrer, import pyrer. The PyO3 bridge runs the ported solver against an in-memory package repository handed in from rez.
On the rez benchmark, on one machine: ~44s for all 188 resolves versus ~206s for rez benchmark on rez 3.3.0. Same-machine context, not a lab claim.
rer never reads the filesystem. The host (rez) loads packages and passes them in as JSON; rer solves and hands the resolution back.
Open source. Built to slot into existing rez workflows without disturbing them.