{"adoption": {"forks": 40, "observed_at": "2026-08-28T04:06:21.260610+00:00", "stars": 2165}, "canonical_url": "https://ross.abutalabs.com/products/alexhallam-tv", "card": {"archived": false, "artifact_type": "cli-tool", "description": "📺(tv) Tidy Viewer is a cross-platform CLI csv pretty printer that uses column styling to maximize viewer enjoyment.", "domain": ["data-science", "developer-tools", "files"], "enriched": true, "function": ["cli", "data-visualization", "csv", "parser"], "health_score": 57, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["alexhallam/tv"], "name": "alexhallam/tv", "platform": ["cli", "cross-platform", "windows", "rust"], "pushed_at": "2025-08-21T00:29:44+00:00", "repo": "alexhallam/tv", "stars": 2165, "tags": ["csv-viewer", "pretty-printer", "tabular-data", "parquet", "terminal", "tibble", "command-line", "linux", "macos"], "topics": ["cli", "terminal", "csv", "pretty-printer", "pretty-print", "command-line-tool", "data-science", "rust", "command-line", "tabular-data", "tibble", "dataframe", "datatable", "csv-viewer", "csv-visualization", "csv-pretty-print", "csv-cat", "column", "csv-column"], "urls": [], "use_cases": ["pretty print a csv file in the terminal", "view large csv files without loading them into memory", "preview parquet files from the command line", "display tabular data with aligned columns and colors", "replace cat for csv files with a readable viewer", "quickly inspect row and column counts of a dataset"], "what_it_is": "Tidy Viewer (tv) is a cross-platform CLI pretty printer for tabular data that formats CSV, TSV, PSV, Parquet, and Feather files with column styling, colors, and significant-digit formatting. It streams large files memory-efficiently and is configurable via a dotfile.", "when_to_avoid": ["you need interactive scrolling, filtering, or editing of data", "you need a GUI data viewer", "you need to transform or write data, not just display it"], "when_to_choose": ["you need fast, readable terminal output for CSV/TSV/Parquet data", "you work with large files that need streaming", "you want a lightweight alternative to opening data in a spreadsheet or notebook"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/alexhallam-tv", "repo": "alexhallam/tv", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "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:06:21.260610+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:21.260610+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:49:58.863924+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7a91e17458b8af981dc9ee409c5e3f748f48e5bc61faf8c3de8226d5fe9d1dd1", "fetched_at": "2026-08-28T04:06:21.260610+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alexhallam/tv"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 37, "longevity": 100, "rhythm": 42}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1951, "days_push": 378, "days_rel": 387, "gap_med": 0, "n_releases_24m": 4}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}