{"adoption": {"forks": 68, "observed_at": "2026-08-28T04:05:13.205281+00:00", "stars": 1627}, "canonical_url": "https://ross.abutalabs.com/products/csvq", "card": {"archived": false, "artifact_type": "cli-tool", "description": "SQL-like query language for csv", "domain": ["files", "developer-tools"], "enriched": true, "function": ["parser", "cli", "database", "csv", "json", "developer-tools"], "health_score": 20, "homepage": "https://mithrandie.github.io/csvq", "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["mithrandie/csvq"], "name": "mithrandie/csvq", "platform": ["cli", "cross-platform", "windows", "go"], "pushed_at": "2024-07-25T10:25:08+00:00", "repo": "mithrandie/csvq", "stars": 1627, "tags": ["sql-like-query", "csv-manipulation", "interactive-shell", "transactions", "tsv", "ltsv", "single-binary", "in-memory-processing", "command-line", "data-engineering", "csv", "linux", "macos"], "topics": ["golang", "sql", "csv", "command-line-tool"], "urls": [], "use_cases": ["run SQL queries against CSV files from the command line", "update or delete records in a CSV file without a spreadsheet", "filter and join CSV data with SQL-like syntax", "process CSV files in batch scripts with transactions and variables", "query JSON Lines or TSV files with SQL", "interactively explore flat-file data in a shell", "share query scripts with coworkers across platforms"], "what_it_is": "csvq is a command line tool written in Go that lets you query and manipulate CSV files using a SQL-like language, including select, insert, update, and delete operations. It supports transactions, variables, cursors, temporary tables, an interactive shell, and multiple file formats such as TSV, LTSV, fixed-length, JSON, and JSON Lines.", "when_to_avoid": ["you need to process very large datasets that exceed memory", "you need indexed or optimized query execution for speed", "you need a persistent database with concurrent access", "you need a library API rather than a CLI (though csvq-driver exists for Go)"], "when_to_choose": ["you want a single dependency-free binary for ad-hoc CSV querying", "your data fits in memory at spreadsheet scale", "you need to update, insert, or delete CSV records, not just read them", "you want transactions, cursors, or variables in flat-file processing", "you need to handle multiple encodings like UTF-16 or Shift_JIS"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/csvq", "repo": "mithrandie/csvq", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "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:05:13.205281+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:13.205281+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:48:25.617579+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6acb4cfd6bc8036877d89eb6ae853dcb17f13707fa72d7ae975365842e223326", "fetched_at": "2026-08-28T04:05:13.205281+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mithrandie/csvq"}, {"content_hash": "5dc821430104c1111207614b097356b2c5290fc931e43c5e9bcacf96ebdae1a4", "fetched_at": "2026-08-29T11:21:07.554687+00:00", "kind": "homepage", "missing": false, "url": "https://mithrandie.github.io/csvq"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3391, "days_push": 769, "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}}