{"adoption": {"forks": 855, "observed_at": "2026-08-28T04:10:38.776002+00:00", "stars": 9910}, "canonical_url": "https://ross.abutalabs.com/products/go-cloud", "card": {"archived": false, "artifact_type": "library", "description": "The Go Cloud Development Kit (Go CDK): A library and tools for open cloud development in Go.", "domain": ["cloud-computing", "developer-tools", "backend", "apis"], "enriched": true, "function": ["database", "object-storage", "sdk", "tracing", "auth", "configuration-management"], "health_score": 99, "homepage": "https://gocloud.dev/", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["google/go-cloud"], "name": "google/go-cloud", "platform": ["go", "windows", "cross-platform"], "pushed_at": "2026-08-24T17:58:44+00:00", "repo": "google/go-cloud", "stars": 9910, "tags": ["multi-cloud", "portable-apis", "blob-storage", "docstore", "pubsub", "hybrid-cloud", "aws", "gcp", "azure", "linux", "macos"], "topics": ["cloud", "golang", "portable", "server", "multi-cloud", "hybrid-cloud", "go", "aws", "gcp", "azure"], "urls": [], "use_cases": ["write Go code that works on AWS, GCP, and Azure without rewrites", "abstract blob storage across S3, GCS, and Azure Blob", "use one API for DynamoDB, Firestore, and MongoDB document stores", "test cloud applications locally with in-memory implementations", "avoid vendor lock-in for cloud-native Go applications", "build hybrid cloud deployments combining on-prem and cloud services"], "what_it_is": "The Go Cloud Development Kit (Go CDK) is a Go library providing stable, vendor-neutral APIs for common cloud services like blob storage, document stores, and pub/sub, so applications can run on AWS, GCP, Azure, or locally with minimal changes. It works like 'database/sql' for cloud products, with URL-based driver opening and integration with the Wire code generator.", "when_to_avoid": ["you only target a single cloud provider and can use its native SDK directly", "you need cutting-edge features of specific cloud services not covered by the portable APIs", "you need APIs beyond the supported set (blob, docstore, pub/sub, runtimevar, secrets)", "you require a fully stabilized, out-of-alpha API contract"], "when_to_choose": ["you need portable Go code across multiple cloud providers", "you want to test locally then deploy to any cloud with minimal changes", "you prefer idiomatic Go interfaces over vendor-specific SDKs", "you want to avoid vendor lock-in"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/go-cloud", "repo": "google/go-cloud", "role": "main", "score": 86}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "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:10:38.776002+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.776002+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.271497+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "724f95064d936786ba9c6de12fad21553674e04c977a9bb0606bbac0daa2b277", "fetched_at": "2026-08-28T04:10:38.776002+00:00", "kind": "readme", "missing": false, "url": "https://github.com/google/go-cloud"}, {"content_hash": "8fa022c68f50b13b72f2661291fbf2839e58ba7bde32d775261896cc50d66bbb", "fetched_at": "2026-08-29T08:20:03.844925+00:00", "kind": "homepage", "missing": false, "url": "https://gocloud.dev/"}, {"content_hash": "c98c3de99170d21dc6d7f9d7e67d568da16bda2651c0289807703a31afaffe20", "fetched_at": "2026-08-29T08:20:03.854007+00:00", "kind": "site_page", "missing": false, "url": "https://gocloud.dev/howto/docstore"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 62}, "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": 3087, "days_push": 9, "days_rel": 92, "gap_med": 91.5, "n_releases_24m": 7}, "score": 86, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}