{"adoption": {"forks": 622, "observed_at": "2026-08-28T04:08:36.538441+00:00", "stars": 4154}, "canonical_url": "https://ross.abutalabs.com/products/activerecord-import", "card": {"archived": false, "artifact_type": "library", "description": "A library for bulk insertion of data into your database using ActiveRecord.", "domain": ["databases", "backend", "web-development", "performance"], "enriched": true, "function": ["database", "orm", "serialization"], "health_score": 79, "homepage": "http://www.continuousthinking.com", "language": "Ruby", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["zdennis/activerecord-import"], "name": "zdennis/activerecord-import", "platform": ["ruby", "cross-platform"], "pushed_at": "2026-08-24T00:34:47+00:00", "repo": "zdennis/activerecord-import", "stars": 4154, "tags": ["activerecord", "bulk-insert", "rails", "batch-insert", "sql-performance"], "topics": [], "urls": [], "use_cases": ["bulk insert thousands of records into a Rails database quickly", "avoid N+1 insert statements when saving associated models", "speed up an 18-hour batch import process", "import rows from arrays of columns and values", "perform upserts with on duplicate key update", "bulk insert records with validations enabled"], "what_it_is": "A Ruby gem that adds bulk import capabilities to ActiveRecord, dramatically reducing the number of SQL INSERT statements needed to insert large amounts of data. It follows ActiveRecord associations to generate minimal insert statements and supports validations and on-duplicate-key updates.", "when_to_avoid": ["you are not using ActiveRecord or Ruby on Rails", "you need per-record callbacks to fire on every insert", "you only insert a handful of records at a time", "you need a database-agnostic ORM-level bulk API beyond the supported adapters"], "when_to_choose": ["you use ActiveRecord and need to insert many rows efficiently", "you want to bulk insert records while still running validations", "you need to insert associated records without N+1 inserts", "you need upsert behavior on MySQL, SQLite, or Postgres"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/activerecord-import", "repo": "zdennis/activerecord-import", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "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:08:36.538441+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:36.538441+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:53.150170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5608583a946b4fda5250356ed8df886e957d119ae3f60e87b4c4c32d7d6f349", "fetched_at": "2026-08-28T04:08:36.538441+00:00", "kind": "readme", "missing": false, "url": "https://github.com/zdennis/activerecord-import"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 6018, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}