{"adoption": {"forks": 201, "observed_at": "2026-08-28T04:08:38.315401+00:00", "stars": 4178}, "canonical_url": "https://ross.abutalabs.com/products/koanf", "card": {"archived": false, "artifact_type": "library", "description": "Simple, extremely lightweight, extensible, configuration management library for Go. Supports JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.", "domain": ["developer-tools", "backend"], "enriched": true, "function": ["configuration-management"], "health_score": 98, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["knadh/koanf"], "name": "knadh/koanf", "platform": ["go", "cross-platform"], "pushed_at": "2026-08-09T18:08:10+00:00", "repo": "knadh/koanf", "stars": 4178, "tags": ["config-loader", "viper-alternative", "lightweight", "yaml", "toml", "environment-variables", "s3", "etcd", "vault"], "topics": ["configuration", "configuration-management", "configuration-file", "golang", "go", "golang-package", "viper", "yaml", "toml", "s3-bucket", "config", "config-loader", "etcd-client"], "urls": [], "use_cases": ["load app config from yaml, toml, or  files in Go", "read configuration from environment variables and command line flags", "load config from S3, Vault, Consul, or etcd", "watch config files for changes and hot-reload", "merge configuration from multiple sources with custom merge strategies", "find a lighter alternative to viper"], "what_it_is": "Koanf is a lightweight, extensible configuration management library for Go that reads configuration from multiple sources and formats. It uses a modular Provider/Parser architecture with pluggable backends like files, env vars, CLI flags, S3, Vault, Consul, and etcd.", "when_to_avoid": ["you need a full-featured config system with built-in remote key/value watching semantics like viper's ecosystem", "your project is not in Go"], "when_to_choose": ["you need multi-source, multi-format config loading in Go with minimal dependencies", "you want pluggable providers/parsers and custom merge logic", "viper feels too heavy or its abstractions don't fit"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/koanf", "repo": "knadh/koanf", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "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:38.315401+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:38.315401+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:22:40.931053+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "360dfb1708d4400494e92cae9fb22a4b9eab0cfab09ad96712477d288d54264c", "fetched_at": "2026-08-28T04:08:38.315401+00:00", "kind": "readme", "missing": false, "url": "https://github.com/knadh/koanf"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 84}, "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": 2633, "days_push": 24, "days_rel": 29, "gap_med": 60.0, "n_releases_24m": 11}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}