Basic UPR client (stolen from mikewied's pyupr)