{"adoption": {"forks": 301, "observed_at": "2026-08-28T04:07:08.714016+00:00", "stars": 2662}, "canonical_url": "https://ross.abutalabs.com/products/asciline", "card": {"archived": false, "artifact_type": "library", "description": "A high-performance ASCII video rendering engine featuring real-time WebSocket binary streaming and an isolated compiler for serverless static generation. Built for low-latency 30 FPS playback on HTML5 Canvas.", "domain": ["media", "web-development", "graphics"], "enriched": true, "function": ["video-processing", "websocket", "http-server", "image-processing", "graphics"], "health_score": 79, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["YusufB5/ASCILINE"], "name": "YusufB5/ASCILINE", "platform": ["python", "cross-platform", "browser"], "pushed_at": "2026-08-23T14:34:24+00:00", "repo": "YusufB5/ASCILINE", "stars": 2662, "tags": ["ascii-art", "ascii-video", "canvas-rendering", "binary-streaming", "fastapi", "real-time-playback", "real-time", "web-server"], "topics": [], "urls": [], "use_cases": ["render videos as ascii art in the browser", "stream ascii video in real time over websocket", "convert mp4 to ascii animation", "play ascii video at 30fps on html5 canvas", "generate static ascii video files for serverless hosting", "build a terminal-style typographic video display"], "what_it_is": "ASCILINE is a high-performance ASCII video rendering engine written in Python that converts video pixels into text-based representations. It streams frames over a low-overhead binary WebSocket protocol for real-time 30 FPS playback on an HTML5 Canvas, and includes an isolated compiler for serverless static generation.", "when_to_avoid": ["you need actual video encoding or standard video playback", "you need a GUI desktop video player", "you need non-ASCII image-to-text conversion only"], "when_to_choose": ["you want real-time ASCII video playback in a browser with low latency", "you need binary WebSocket streaming of rendered frames", "you want both live streaming and precompiled static ASCII video output"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/asciline", "repo": "YusufB5/ASCILINE", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "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:07:08.714016+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:08.714016+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:18:21.542106+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f337b1efd14af2fc9066f483e61be9deb06d6311e6823c2a948b570902ea59b4", "fetched_at": "2026-08-28T04:07:08.714016+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YusufB5/ASCILINE"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 8, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "young", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 124, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}