{"adoption": {"forks": 383, "observed_at": "2026-08-28T04:04:47.861831+00:00", "stars": 1464}, "canonical_url": "https://ross.abutalabs.com/products/text_renderer", "card": {"archived": false, "artifact_type": "library", "description": "Generate text images for training deep learning ocr model", "domain": ["computer-vision", "machine-learning", "image-processing", "deep-learning"], "enriched": true, "function": ["image-processing", "data-generation", "machine-learning", "ocr"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["Sanster/text_renderer"], "name": "Sanster/text_renderer", "platform": ["python", "cli"], "pushed_at": "2022-01-17T07:58:32+00:00", "repo": "Sanster/text_renderer", "stars": 1464, "tags": ["synthetic-data", "ocr-training", "text-rendering", "crnn", "data-augmentation", "linux"], "topics": ["synthtext", "crnn", "ocr"], "urls": [], "use_cases": ["generate synthetic training data for an OCR model", "create text images with perspective and blur effects for CRNN training", "render Chinese text images with fonts that support all characters", "augment OCR datasets with varied text effects", "produce labeled text image datasets for deep learning"], "what_it_is": "A Python tool that generates synthetic text images with configurable visual effects for training deep learning OCR models like CRNN. It supports both Latin and non-Latin scripts, with strict mode to ensure fonts cover all corpus characters.", "when_to_avoid": ["you need a pretrained OCR model rather than training data", "you require actively maintained software - the project points to a newer fork (oh-my-ocr/text_renderer)", "you need scene-text detection datasets rather than rendered text"], "when_to_choose": ["you need labeled synthetic text images to train an OCR recognizer", "you work with non-Latin scripts and need font coverage guarantees", "you want configurable effects like curves, borders, and blur on rendered text"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/text_renderer", "repo": "Sanster/text_renderer", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "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:47.861831+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.861831+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:08.678734+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "977652230e7d3c8f6adcdddd0e51605d0e9d18c21405235d5a5f281fa6638885", "fetched_at": "2026-08-28T04:04:47.861831+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Sanster/text_renderer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3019, "days_push": 1689, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}