knadh/koanf

Simple, extremely lightweight, extensible, configuration management library for Go. Supports JSON, TOML, YAML, env, command line, file, S3 etc. Alternative...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 27 minutes ago
Type:Library / SDKCategory(s):Core & Utility LibrariesLanguages & Runtimes
Added to GitGenius on September 16th, 2026
Created on June 18th, 2019
Open Issues & Pull Requests: 10 (+0)
GitHub issues: Enabled
Number of forks: 206
Total Stargazers: 4,205 (+0)
Total Subscribers: 21 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 21.6 hours
Mean response time: 22.9 days
90th percentile: 15.1 days
Tracked items: 46

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (17)
  • question (7)
  • needs-investigation (3)
  • enhancement (2)
  • documentation (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

koanf is a configuration management library for Go that provides a lightweight, extensible approach to loading and managing application settings from multiple sources.

The library addresses the need to consolidate configuration from diverse sources—JSON, TOML, YAML, environment variables, command-line arguments, files, and S3—into a single, unified interface. Rather than requiring developers to write custom parsing logic for each source, koanf abstracts these differences behind a common API. Its core design prioritizes minimal overhead and extensibility, allowing developers to add support for additional configuration sources without modifying the library itself.

Developers choosing koanf should value simplicity and a small dependency footprint. The tool suits projects that need to read configuration from multiple formats or sources but do not require heavy abstraction layers. It positions itself as an alternative to larger configuration frameworks, offering a more direct approach for teams that prefer explicit control over how configuration is loaded and merged. The README identifies it as an alternative to viper, suggesting it appeals to developers seeking a lighter-weight option.

The project maintains steady activity with regular commits addressing bug fixes and feature requests. Pull requests receive timely review and integration. The maintainer actively responds to issues and incorporates user feedback into the codebase. Documentation is kept current alongside code changes, and the project demonstrates responsiveness to edge cases and compatibility concerns raised by users.