{"adoption": {"forks": 192, "observed_at": "2026-08-28T04:05:02.188519+00:00", "stars": 1551}, "canonical_url": "https://ross.abutalabs.com/products/smarter_csv", "card": {"archived": false, "artifact_type": "library", "description": "Fastest end-to-end CSV ingestion for Ruby (with C acceleration). SmarterCSV auto-detects formats, applies smart defaults, and returns Rails-ready hashes for seamless use with ActiveRecord, Sidekiq, parallel jobs, and S3 pipelines — even for messy user-uploaded real-world data.", "domain": ["files", "developer-tools", "backend"], "enriched": true, "function": ["parser", "serialization", "developer-tools"], "health_score": 79, "homepage": null, "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tilo/smarter_csv"], "name": "tilo/smarter_csv", "platform": ["ruby", "cross-platform"], "pushed_at": "2026-08-21T16:14:09+00:00", "repo": "tilo/smarter_csv", "stars": 1551, "tags": ["csv", "csv-parsing", "csv-import", "csv-export", "rails", "bigdecimal", "high-performance", "data-ingestion", "data-engineering"], "topics": ["csv", "csv-converter", "csv-export", "csv-file", "csv-files", "csv-format", "csv-import", "csv-parser", "csv-parsing", "csv-processing", "csv-processor", "csv-reader", "csv-reading", "csv-writer", "csv-writing", "csv-file-han", "cvs-ingestion"], "urls": [], "use_cases": ["parse large csv files in ruby fast", "import user-uploaded csv files into rails activerecord", "convert csv rows to hashes for sidekiq jobs", "handle messy csv files with duplicate headers and BOMs", "preserve full decimal precision for gps or financial data", "export data to csv in ruby", "process csv files in parallel"], "what_it_is": "SmarterCSV is a Ruby gem for fast, robust CSV parsing and generation, with optional C acceleration and auto-detection of messy real-world CSV formats. It returns Rails-ready hashes per row and guards against silent data corruption common in Ruby's built-in CSV library.", "when_to_avoid": ["you only need trivial CSV parsing and the standard library suffices", "your project is not in Ruby"], "when_to_choose": ["you need fast, reliable CSV ingestion of real-world messy data in Ruby", "you want hashes instead of arrays for ActiveRecord or Sidekiq pipelines", "you need to avoid silent data loss like float precision rounding or duplicate headers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/smarter_csv", "repo": "tilo/smarter_csv", "role": "main", "score": 76}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "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:02.188519+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:02.188519+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:30:17.476393+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f8e6582fed07b0fd17ec280e00c534556c27d282716686794afaece4770b8db", "fetched_at": "2026-08-28T04:05:02.188519+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tilo/smarter_csv"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "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": 5148, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 76, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}