{"adoption": {"forks": 96, "observed_at": "2026-08-28T04:04:59.590840+00:00", "stars": 1533}, "canonical_url": "https://ross.abutalabs.com/products/csvjs", "card": {"archived": false, "artifact_type": "library", "description": "A simple, blazing-fast CSV parser and encoder. Full RFC 4180 compliance.", "domain": ["files", "web-development", "developer-tools"], "enriched": true, "function": ["parser", "serialization", "csv"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["CyrusNuevoDia/CSV.js"], "name": "CyrusNuevoDia/CSV.js", "platform": ["browser", "cross-platform"], "pushed_at": "2016-10-04T01:26:06+00:00", "repo": "CyrusNuevoDia/CSV.js", "stars": 1533, "tags": ["csv-parser", "csv-encoder", "rfc-4180", "javascript", "data-import", "data-engineering", "nodejs"], "topics": [], "urls": [], "use_cases": ["parse csv files in the browser", "convert csv strings to javascript arrays", "encode arrays of objects as csv", "import spreadsheet data into a web app", "stream large csv records one at a time", "handle quoted and multiline csv fields per rfc 4180"], "what_it_is": "CSV.js is a small JavaScript library for parsing and encoding CSV data with full RFC 4180 compliance. It works in browsers, Node.js, and AMD environments, offering streaming-style iteration via forEach and configurable type casting.", "when_to_avoid": ["you need streaming from files or network sources rather than in-memory strings", "you need advanced features like async workers, auto-delimiter detection beyond basics, or CSV dialects", "the project appears unmaintained and you need ongoing bug fixes or modern packaging (ESM, TypeScript types)"], "when_to_choose": ["you need a lightweight, dependency-free CSV parser for browser or Node.js", "you require RFC 4180 compliance for quoted cells, embedded delimiters, and line breaks", "you want automatic or custom type casting of parsed values", "you need to process records incrementally without building a huge array"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/csvjs", "repo": "CyrusNuevoDia/CSV.js", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "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:59.590840+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:59.590840+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:13.895391+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b576cbf08a08bcaaaf57a04c97a52ed4d018c8060cd8c372454c6443ffcba5e8", "fetched_at": "2026-08-28T04:04:59.590840+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CyrusNuevoDia/CSV.js"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4484, "days_push": 3621, "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}}