def main(argv=None):
    """Main program entry point for parsing command line arguments"""
    parser = argparse.ArgumentParser(description="Benchmark driver")

    parser.add_argument("--max-records", type=int, default=100 * 1000)
    parser.add_argument("--engine", type=str, choices=("vcfpy", "pyvcf"), default="vcfpy")
    parser.add_argument("--input-vcf", type=str, required=True, help="Path to VCF file to read")
    parser.add_argument(
        "--output-vcf", type=str, required=False, help="Path to VCF file to write if given"
    )

    args = parser.parse_args(argv)
    if args.engine == "vcfpy":
        VCFPyRunner(args).run()
    else:
        PyVCFRunner(args).run()
Main program entry point for parsing command line arguments