"""Run an audit end to end with the Python SDK.

    export KERNSIGNAL_API_KEY=ks_test_...
    python quickstart.py synthetic.csv human.csv
"""
import os
import sys

from kernsignal import Kernsignal

synthetic_path, human_path = sys.argv[1], sys.argv[2]
client = Kernsignal(os.environ["KERNSIGNAL_API_KEY"])

audit = client.audits.create(synthetic_path, human_file=human_path,
                             config={"human_weight": "weight", "subgroups": ["gender"]})
audit = client.audits.wait(audit["id"])
if audit["status"] != "succeeded":
    sys.exit(f"audit failed: {audit['error']}")

print("bins:", audit["result"]["summary"]["bins"])
with open("report.html", "wb") as handle:
    handle.write(client.audits.report(audit["id"], "html"))

verification = client.audits.verification(audit["id"])
print("verify page:", verification["verify_url"])
print("status:", client.verifications.retrieve(verification["id"])["status"])
print("embed:", verification["badge_html"])

client.audits.delete(audit["id"])
