import argparse import json from pathlib import Path from loguru import logger from cv_analysis.server.pipeline import make_analysis_pipeline_for_element_type def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("pdf", type=Path) parser.add_argument("--element_type", "-t", choices=["table", "figure"], required=True) return parser.parse_args() def main(args): analysis_fn = make_analysis_pipeline_for_element_type(args.element_type) logger.info(f"Analysing document for {args.element_type}s...") results = list(analysis_fn(args.pdf.read_bytes())) print(json.dumps(results, indent=2)) if __name__ == "__main__": main(parse_args())