{"adoption": {"forks": 75, "observed_at": "2026-08-28T04:04:57.948694+00:00", "stars": 1522}, "canonical_url": "https://ross.abutalabs.com/products/scany", "card": {"archived": false, "artifact_type": "library", "description": "Library for scanning data from a database into Go structs and more", "domain": ["databases", "backend", "developer-tools"], "enriched": true, "function": ["database-driver", "orm", "serialization"], "health_score": 39, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["georgysavva/scany"], "name": "georgysavva/scany", "platform": ["go", "windows", "cross-platform"], "pushed_at": "2025-03-19T19:59:58+00:00", "repo": "georgysavva/scany", "stars": 1522, "tags": ["go", "sql", "row-scanning", "pgx", "database-sql", "struct-mapping", "postgresql", "mysql", "linux", "macos"], "topics": ["go", "golang", "database", "sql", "postgresql", "pgx", "mysql"], "urls": [], "use_cases": ["scan sql query results into go structs", "map database rows to structs without an orm", "use pgx with struct scanning", "avoid verbose rows.Next iteration code in go", "scan nested and embedded structs from database columns", "handle null columns when scanning into go types"], "what_it_is": "scany is a Go library that scans rows from a database into Go structs, maps, and primitive types with a single function call, eliminating manual row iteration. It works with database/sql and pgx's native interface and is explicitly not an ORM, since it only maps query results into objects.", "when_to_avoid": ["you need a full ORM with query building and relation management", "you need write-side mapping of structs to SQL statements", "you don't use Go"], "when_to_choose": ["you use database/sql or pgx directly and want to skip manual row scanning", "you want ORM-like convenience for reading data without query building or relation handling", "you need to scan into nested, embedded, or composite Go types"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/scany", "repo": "georgysavva/scany", "role": "main", "score": 39}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "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:57.948694+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:57.948694+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:31:47.135785+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "59a3bc9d272ca846c58c9221bb67ce8da9a08ecb36109f3dc80364cd1294d80f", "fetched_at": "2026-08-28T04:04:57.948694+00:00", "kind": "readme", "missing": false, "url": "https://github.com/georgysavva/scany"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 12, "longevity": 100, "rhythm": 40}, "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": 2253, "days_push": 532, "days_rel": 532, "gap_med": 20, "n_releases_24m": 2}, "score": 39, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}