Skip to content

compare_backends

CLI for comparing CLTK backends on the same text.

main

main(argv: Optional[list[str]] = None) -> int

Run the compare-backends CLI.

Source code in cltk/cli/compare_backends.py
def main(argv: Optional[list[str]] = None) -> int:
    """Run the compare-backends CLI."""
    args = _parse_args(argv)
    text = _load_text(args)
    backends = _parse_backends(args.backends)
    _validate_limits(args)
    configs: dict[str, dict[str, Any]] = {}
    if args.seed is not None:
        configs = _seed_overrides(backends, args.seed)

    report = compare_backends(
        args.language,
        text,
        backends,
        configs=configs or None,
        max_sentences=args.max_sentences,
        max_tokens=args.max_tokens,
    )

    if args.out_dir:
        write_report(report, args.out_dir)
    if args.out:
        out_path = Path(args.out)
        out_path.parent.mkdir(parents=True, exist_ok=True)
        out_path.write_text(report_to_markdown(report))
    if not args.out and not args.out_dir:
        print(report_to_markdown(report))
    return 0