{"adoption": {"forks": 497, "observed_at": "2026-08-28T04:09:37.597348+00:00", "stars": 6175}, "canonical_url": "https://ross.abutalabs.com/products/copier", "card": {"archived": false, "artifact_type": "library", "description": "Copier for golang, copy value from struct to struct and more", "domain": ["developer-tools", "backend", "apis"], "enriched": true, "function": ["serialization", "developer-tools"], "health_score": 63, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["jinzhu/copier"], "name": "jinzhu/copier", "platform": ["go", "cross-platform"], "pushed_at": "2026-03-14T12:17:10+00:00", "repo": "jinzhu/copier", "stars": 6175, "tags": ["struct-copying", "reflection", "data-mapping", "object-mapping", "field-mapping", "dto-mapping"], "topics": ["go", "golang", "golang-package", "copy"], "urls": [], "use_cases": ["copy values from one struct to another in go", "map dto fields to domain model structs", "convert between structs with matching field names", "copy a struct into a slice of structs", "copy data between maps in golang", "exclude or require fields when copying structs"], "what_it_is": "A Go library that copies values between structs, slices, and maps using reflection and matching field names. It supports struct tags to enforce, override, or exclude fields during copying, and can map method results to fields.", "when_to_avoid": ["you need deep-copy semantics with independent nested allocations", "your structs have mismatched field names requiring custom mapping logic", "you are not working in the Go language"], "when_to_choose": ["you need reflection-based struct-to-struct copying in Go without writing manual mapping code", "you want tag-driven control over which fields are copied, required, or ignored", "you need to copy between slices, structs, and maps with matching names"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/copier", "repo": "jinzhu/copier", "role": "main", "score": 65}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "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:09:37.597348+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:37.597348+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:47:26.309054+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "94c50a83292ff09c0a83eb83f3dd64e57ae58cd86a89774949a5a332b933bc46", "fetched_at": "2026-08-28T04:09:37.597348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jinzhu/copier"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 72, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4689, "days_push": 172, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 65, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}