awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Back to knadh/koanf

Open-source alternatives to Koanf

30 open-source projects similar to knadh/koanf, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Koanf alternative.

  • spf13/viperspf13 avatar

    spf13/viper

    30,306View on GitHub↗

    Viper is a configuration management library designed to centralize application settings from diverse sources into a unified, type-safe registry. It aggregates data from local files, environment variables, command-line flags, and remote key-value stores, providing a single source of truth for application state. By utilizing a hierarchical key-value registry, the system resolves configuration values based on a prioritized stack of providers, ranging from default values to runtime overrides. The library distinguishes itself through its pluggable provider abstraction and dynamic update capabiliti

    Go
    View on GitHub↗30,306
  • caarlos0/envcaarlos0 avatar

    caarlos0/env

    6,004View on GitHub↗

    env is a Go library that reads environment variables and populates the fields of a Go struct according to tag directives. It uses reflection to iterate over struct types and tags at runtime, mapping environment variable names to struct fields and applying parsing behavior defined in struct tags. The library supports required field validation, returning errors when marked fields are missing or empty after parsing. It also provides default value fallback from struct tags when environment variables are not set, environment variable expansion that recursively substitutes references within values,

    Goconfigconfigurationenvironment
    View on GitHub↗6,004
  • alecthomas/kongalecthomas avatar

    alecthomas/kong

    2,976View on GitHub↗

    Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg

    Gocommand-linecommandsflags
    View on GitHub↗2,976

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • joho/godotenvjoho avatar

    joho/godotenv

    10,483View on GitHub↗

    godotenv is a Go library designed to load, parse, and serialize environment configuration files. It provides tools to extract configuration data from files into maps and inject those key-value pairs directly into the system environment of a Go application process. The project includes a configuration file serializer for exporting environment variable maps back into formatted files and a parser for extracting data without modifying the system environment. It supports injecting variables from strings or files into the process environment using priority-based overloading and overwriting. The li

    Godotenvenvironment-variablesgo
    View on GitHub↗10,483
  • kelseyhightower/envconfigkelseyhightower avatar

    kelseyhightower/envconfig

    5,404View on GitHub↗

    envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into structured Go data types. It provides tools for validating mandatory fields and ensuring application configuration adheres to the external configuration patterns of twelve-factor app compliance. The library features a help generator that creates formatted usage text based on struct definitions to describe expected environment variables. It also includes a validation tool capable of detecting unused environment variables that match a specific prefix but do not correspond to any

    Go
    View on GitHub↗5,404
  • dynaconf/dynaconfdynaconf avatar

    dynaconf/dynaconf

    4,308View on GitHub↗

    Dynaconf is a configuration management library for Python applications that provides a unified system for loading, validating, and managing settings. It aggregates configuration data from multiple files, environment variables, and external stores into a single object using a defined precedence order. The project distinguishes itself through a layered environment manager that separates settings into distinct profiles, such as development and production. It includes a declarative validation framework to enforce data rules and type constraints during the loading process, as well as an external s

    Python
    View on GitHub↗4,308
  • mitchellh/mapstructuremitchellh avatar

    mitchellh/mapstructure

    8,033View on GitHub↗

    mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps. The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures. The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags

    Go
    View on GitHub↗8,033
  • theskumar/python-dotenvtheskumar avatar

    theskumar/python-dotenv

    8,794View on GitHub↗

    python-dotenv is a library and command line interface for managing environment variables in Python applications. It functions as a configuration parser and loader that reads key-value pairs from files and injects them into the system environment, enabling the decoupling of application configuration from source code. The project provides a command line interface for manipulating and editing environment variables within configuration files. It also includes a mechanism for recursive variable interpolation, allowing dynamic placeholders within configuration files to be resolved using existing en

    Python
    View on GitHub↗8,794
  • vrischmann/envconfigvrischmann avatar

    vrischmann/envconfig

    250View on GitHub↗

    Small library to read your configuration from environment variables

    Goconfigurationgogolang
    View on GitHub↗250
  • ufoscout/go-upufoscout avatar

    ufoscout/go-up

    43View on GitHub↗

    go-up! A simple configuration library with recursive placeholders resolution and no magic.

    Go
    View on GitHub↗43
  • lalamove/konfiglalamove avatar

    lalamove/konfig

    646View on GitHub↗

    Composable, observable and performant config handling for Go for the distributed processing era

    Gocomposableconfigconfiguration
    View on GitHub↗646
  • antham/envhantham avatar

    antham/envh

    100View on GitHub↗

    Go helpers to manage environment variables

    Goconfiguration-managementenvironmentgolang
    View on GitHub↗100
  • go-ini/inigo-ini avatar

    go-ini/ini

    3,542View on GitHub↗

    Package ini provides INI file read and write functionality in Go

    Goconfigurationgoini
    View on GitHub↗3,542
  • the4thamigo-uk/conflatethe4thamigo-uk avatar

    the4thamigo-uk/conflate

    36View on GitHub↗

    Library providing routines to merge and validate JSON, YAML and/or TOML files

    Go
    View on GitHub↗36
  • jeremyloy/configJeremyLoy avatar

    JeremyLoy/config

    339View on GitHub↗

    12 factor configuration as a typesafe struct in as little as two function calls

    Go12-factorcloudconfiguration
    View on GitHub↗339
  • heetch/confitaheetch avatar

    heetch/confita

    507View on GitHub↗

    Load configuration in cascade from multiple backends into a struct

    Goconfigurationconfiguration-loadergolang
    View on GitHub↗507
  • gookit/configgookit avatar

    gookit/config

    583View on GitHub↗

    📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名

    Goconfigconfig-managementconfiguration
    View on GitHub↗583
  • hjson/hjson-gohjson avatar

    hjson/hjson-go

    353View on GitHub↗

    Hjson for Go

    Gogohjson
    View on GitHub↗353
  • one-com/goneOne-com avatar

    One-com/gone

    51View on GitHub↗

    Golang packages for writing small daemons and servers.

    Godaemongolanglogging-library
    View on GitHub↗51
  • beatlabs/harvesterbeatlabs avatar

    beatlabs/harvester

    134View on GitHub↗

    Harvest configuration, watch and notify subscriber

    Goconfiguration-managementgogolang
    View on GitHub↗134
  • twpayne/chezmoitwpayne avatar

    twpayne/chezmoi

    18,075View on GitHub↗

    chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple machines. It uses a local Git repository as the single source of truth, allowing users to track, version, and distribute dotfiles while maintaining a consistent state across diverse operating systems and hardware architectures. The project distinguishes itself through a declarative reconciliation model that computes the difference between the current filesystem and the desired state defined in the repository. It features a robust templating engine that processes configuration files

    Goconfigurationdotfiledotfile-management
    View on GitHub↗18,075
  • nytimes/gizmonytimes avatar

    nytimes/gizmo

    3,773View on GitHub↗

    Gizmo is a microservice development toolkit and HTTP server framework designed for building distributed services. It provides a collection of libraries for managing service lifecycles, including standardized configuration, logging, and health checks. The toolkit includes a PubSub messaging interface that abstracts the publishing and consuming of messages across different brokers and HTTP endpoints, featuring built-in mocking for integration testing. It also provides a security layer for validating inbound authentication tokens using public key signatures and custom decoders. The project cove

    Gogizmogogoogle-pubsub
    View on GitHub↗3,773
  • alexeymezenin/laravel-best-practicesalexeymezenin avatar

    alexeymezenin/laravel-best-practices

    12,299View on GitHub↗

    This project is a comprehensive guide to architectural standards and coding patterns for developing maintainable applications within the Laravel framework. It focuses on clean code standards, applying the single responsibility and DRY principles to ensure codebase predictability and consistency. The guide emphasizes decoupling components by moving business logic into service layers and shifting input validation into dedicated request classes to keep controllers lean. It advocates for the use of a service container and dependency injection to reduce class coupling and improve testability. The

    View on GitHub↗12,299
  • bkeepers/dotenvbkeepers avatar

    bkeepers/dotenv

    6,758View on GitHub↗

    Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a configuration parser to extract variables into hashes and a loader to inject those pairs into the global environment. The project features a variable interpolator that resolves environment variables and shell command outputs within configuration values. It also provides a validator to verify that required configuration keys are present during application initialization. The toolset covers environment variable management, including the ability to generate configuration templates

    Ruby
    View on GitHub↗6,758
  • falcosecurity/falcofalcosecurity avatar

    falcosecurity/falco

    8,670View on GitHub↗

    Falco is an eBPF runtime security monitor and cloud native detection engine that identifies abnormal behavior and security threats across hosts and containers. It functions as a Linux kernel event auditor, capturing system calls and kernel events in real-time to detect malicious activity. The system distinguishes itself through a rule-based threat detection model that evaluates system activity against a library of community-maintained rules and custom security definitions. It enriches raw kernel events with container and Kubernetes metadata to provide observability into isolated environments

    C++cloud-nativecncfcncf-project
    View on GitHub↗8,670
  • knightliao/disconfknightliao avatar

    knightliao/disconf

    5,527View on GitHub↗

    Disconf is a distributed configuration management platform that provides a centralized cloud-based repository for storing and syncing configuration files and settings across multiple environments. It functions as a dynamic configuration service that updates application settings and triggers callbacks immediately when values change without requiring a system restart. The project enables the distribution of shared configuration assets across multiple projects, allowing for the bulk management of settings across various target environments. It utilizes a push-based broadcast system to synchroniz

    Java
    View on GitHub↗5,527
  • kelseyhightower/confdkelseyhightower avatar

    kelseyhightower/confd

    8,424View on GitHub↗

    confd is a dynamic configuration templating engine and manager that generates local application configuration files using data from environment variables and distributed key-value stores. It functions as a client for stores such as etcd and Consul, monitoring these sources for changes to automate the creation and update of files on the local filesystem. The tool serves as an application process reloader, capable of automatically restarting or signaling dependent applications when their underlying configuration files are modified. This ensures that updated settings from a centralized source of

    Go
    View on GitHub↗8,424
  • slskd/slskdslskd avatar

    slskd/slskd

    2,784View on GitHub↗

    slskd is a headless network daemon and peer-to-peer file-sharing server for the Soulseek network. It functions as a network client and API gateway, allowing users to search for and share files via a web interface or a REST API. The project distinguishes itself through a focus on automation and remote management, featuring event-driven triggers that can execute system scripts or send webhooks. It supports advanced network routing via SOCKS5 proxies and provides a flexible deployment model that includes a dockerized client with volume mapping and environment-based configuration. The system cov

    C#hacktoberfestsoulseeksoulseek-network
    View on GitHub↗2,784
  • bytedance/sonicbytedance avatar

    bytedance/sonic

    9,492View on GitHub↗

    Sonic is a high-performance Go JSON serialization library that provides tools for encoding and decoding native data structures. It functions as a JIT-accelerated encoder, a JSON AST parser, a stream processor, and a lazy decoder. The project utilizes just-in-time machine code generation to optimize the encoding of large data schemas and employs a JIT assembler to maximize serialization and deserialization speeds. It features a precompiled schema warmup process to prevent latency spikes during initial execution and leverages SIMD hardware instructions for accelerated parsing. The library cove

    Gohigh-performancejitjson
    View on GitHub↗9,492
  • facebookresearch/hydrafacebookresearch avatar

    facebookresearch/hydra

    10,449View on GitHub↗

    Hydra is a hierarchical configuration framework and type-safe configuration manager. It is designed to manage complex application settings through composable configuration files and command-line overrides, ensuring that configuration values match expected data types during instantiation. The framework functions as a dynamic object instantiator that creates class instances directly from hierarchical configuration values and nested objects. It also operates as a hyperparameter sweep orchestrator and cluster job launcher, enabling the execution of multiple application runs across parameter range

    Python
    View on GitHub↗10,449