{"adoption": {"forks": 115, "observed_at": "2026-08-28T04:03:34.678124+00:00", "stars": 1097}, "canonical_url": "https://ross.abutalabs.com/products/textbox", "card": {"archived": false, "artifact_type": "library", "description": "TextBox 2.0 is a text generation library with pre-trained language models", "domain": ["deep-learning", "large-language-models"], "enriched": true, "function": ["machine-learning", "nlp", "llm-training", "benchmarking"], "health_score": 20, "homepage": "https://github.com/RUCAIBox/TextBox", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["RUCAIBox/TextBox"], "name": "RUCAIBox/TextBox", "platform": ["python"], "pushed_at": "2023-07-27T14:39:30+00:00", "repo": "RUCAIBox/TextBox", "stars": 1097, "tags": ["text-generation", "pytorch", "pretrained-language-models", "seq2seq", "natural-language-generation", "research-framework", "natural-language-processing", "linux", "gpu"], "topics": ["text-generation", "natural-language-processing", "deep-learning", "pretrained-models", "python", "pytorch", "seq2seq", "natural-language-generation"], "urls": [], "use_cases": ["benchmark pretrained language models on text generation tasks", "fine-tune seq2seq models for translation or summarization", "run story generation or style transfer experiments", "reproduce published text generation results", "train models with distributed data parallel on multiple GPUs", "evaluate generation quality with standard metrics"], "what_it_is": "TextBox 2.0 is a Python/PyTorch library providing a unified pipeline for applying pre-trained language models to text generation tasks. It bundles 13 generation tasks, 83 datasets, and 47 pre-trained models with training strategies like distributed data parallel.", "when_to_avoid": ["you need production text generation serving rather than research experimentation", "you want the latest actively developed tooling - the last release was mid-2023", "you need a lightweight solution - installation pulls a modified transformers and extra dependencies"], "when_to_choose": ["you need a standardized framework to compare many PLMs across generation tasks", "you want ready access to 83 benchmark datasets and 47 models", "you are doing NLP research on text generation and need reproducible pipelines"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/textbox", "repo": "RUCAIBox/TextBox", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "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:03:34.678124+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:34.678124+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:46:22.862847+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "68f9164ead9ae12c45aa3ee5422587990e3912fc75a9894b7ca0db5e91379c1e", "fetched_at": "2026-08-28T04:03:34.678124+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}, {"content_hash": "faebb024fb62380273441a8dcf6bd0838284ec596b7566a21a57e191a13ab986", "fetched_at": "2026-08-29T12:49:51.829962+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/RUCAIBox/TextBox"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2124, "days_push": 1133, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}