{"adoption": {"forks": 177, "observed_at": "2026-08-28T04:04:09.659119+00:00", "stars": 1258}, "canonical_url": "https://ross.abutalabs.com/products/sacrebleu", "card": {"archived": false, "artifact_type": "library", "description": "Reference BLEU implementation that auto-downloads test sets and reports a version string to facilitate cross-lab comparisons", "domain": ["machine-learning", "developer-tools"], "enriched": true, "function": ["machine-learning", "nlp", "benchmarking", "cli", "testing"], "health_score": 96, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["mjpost/sacrebleu"], "name": "mjpost/sacrebleu", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-20T07:32:06+00:00", "repo": "mjpost/sacrebleu", "stars": 1258, "tags": ["bleu", "machine-translation-evaluation", "chrf", "ter", "test-set-management", "computational-linguistics", "wmt", "natural-language-processing", "algorithms"], "topics": [], "urls": [], "use_cases": ["compute BLEU scores for machine translation output", "score translations against WMT test sets without manual downloads", "compare BLEU scores reproducibly across research papers", "evaluate translations with chrF or TER metrics", "run statistical significance tests on MT evaluation results", "score detokenized Japanese or Chinese translations with appropriate tokenizers"], "what_it_is": "SacreBLEU is a Python library and CLI tool for computing shareable, comparable, and reproducible BLEU, chrF, and TER scores for machine translation evaluation. It automatically downloads and manages standard WMT test sets and emits a version string so scores can be compared across papers and labs.", "when_to_avoid": ["you need metrics beyond BLEU, chrF, and TER such as BERTScore or COMET", "you are evaluating tasks other than machine translation", "you need a general-purpose NLP toolkit rather than a scoring metric"], "when_to_choose": ["you need WMT-official BLEU scores that match mteval-v13a.pl", "you want automatic test set downloading and standardized tokenization", "you need reproducible, comparable MT evaluation metrics for publications"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sacrebleu", "repo": "mjpost/sacrebleu", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:09.659119+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:05:36.161624+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1a72ee81932a796805f9ff3a33627f23fbfef8b4ea8d81984a3a0e2950b1bafa", "fetched_at": "2026-08-28T04:04:09.659119+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mjpost/sacrebleu"}, {"content_hash": "e51e3d227188230a594ef8d5ced6809132d09fd632ddf1e8dedb7f4890490f34", "fetched_at": "2026-08-29T12:17:33.951910+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/sacrebleu/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 33}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3260, "days_push": 13, "days_rel": 233, "gap_med": 373, "n_releases_24m": 2}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}