import sys, struct, numpy as np
MAGIC = b'BINPACK\x00'
with open(sys.argv[1], "rb") as f:
  m = f.read(8); assert m == MAGIC, "bad magic"
  feat_n = struct.unpack("<i", f.read(4))[0]
  count  = struct.unpack("<q", f.read(8))[0]
  print(f"features={feat_n}  records={count}")
  # peek first record
  feats = np.frombuffer(f.read(feat_n), dtype=np.uint8)
  val   = struct.unpack("<f", f.read(4))[0]
  print("first target(pawns):", val, "  ones_in_feat:", int(feats.sum()))
