#!/usr/bin/env python3 """Use the native registry from Python, preserving its attribution and provenance.""" import argparse import json import subprocess def lookup(binary, generation, pin, query): """The native reader authenticates the generation using the caller's trusted pin.""" result = subprocess.run( [binary, "lookup", "--generation", generation, "--pin", pin, "--query", query, "--limit", "100"], check=True, capture_output=True, text=True, timeout=60, ) return json.loads(result.stdout) if __name__ == "__main__": parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("--binary", default="argand-site-registry") parser.add_argument("--generation", required=True) parser.add_argument("--pin", required=True) parser.add_argument("--query", required=True) args = parser.parse_args() print(json.dumps(lookup(args.binary, args.generation, args.pin, args.query), ensure_ascii=False, sort_keys=True))