
The Best Go Libraries For Configuration (66)
Discover the best Go libraries for Configuration! Find the perfect tools to streamline your development and boost productivity. From harvester to hjson, we've got you covered. Let the coding begin!
harvester
Harvester, a easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration
hjson
Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments
hocon
Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files
ingo
Flags persisted in an ini-like config file.
sonic
A blazingly fast JSON serializing & deserializing library
bcl
BCL is a configuration language similar to HCL
cleanenv
Minimalistic configuration reader (from files, ENV, and wherever you want)
config
Cloud native application configuration. Bind ENV to structs in only two lines
config
configure your app using file, environment variables, or flags in two lines of code
configuration
Library for initializing configuration structs from env variables, files, flags and 'default' tag
configuro
opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications
configure
Provides configuration through multiple sources, including JSON, flags and environment variables.
confiq
Structured data format to config struct decoder library for Go - supporting multiple data formats
confita
Load configuration in cascade from multiple backends into a struct
conflate
Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema
env
Parse environment variables to Go structs (with defaults)
env
A lightweight package for loading environment variables into structs
env
An environment utility package with support for unmarshaling into structs
envconfig
Read your configuration from environment variables
envh
Helpers to manage environment variables
fig
Tiny library for reading configuration from a file and from environment variables (with validation & defaults)
genv
Read environment variables easily with dotenv support
go-cfg
The library provides a unified way to read configuration data into a structure from various sources, such as env, flags, and configuration files (.json, .yaml, .toml, .env)
go-conf
Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters
go-ssm-config
Go utility for loading configuration parameters from AWS SSM (Parameter Store)
go-up
A simple configuration library with recursive placeholders resolution and no magic
GoCfg
Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple
godotenv
Go port of Ruby's dotenv library (Loads environment variables from `.env`)
GoLobby/Config
GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language
gonfig
Tag-based configuration parser which loads values from different providers into typesafe struct
gofigure
Go application configuration made easy.
gookit/config
application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge
ini
INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file
joshbetz/config
Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
kelseyhightower/envconfig
Go library for managing configuration data from environment variables
koanf
Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line
konf
The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP)
konfig
Composable, observable and performant config handling for Go for the distributed processing era
kong
Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to `kingpin`)
mini
Golang package for parsing ini-style configuration files.
nfigure
Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML
onion
Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP
piper
Viper wrapper with config inheritance and key generation
store
Lightweight configuration manager for Go.
uConfig
Lightweight, zero-dependency, and extendable configuration management
viper
Go configuration with fangs
xdg
Go implementation of the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/) and [XDG user directories](https://wiki.archlinux.org/index.php/XDG_user_directories)
yamagiconf
The "safe subset" of YAML for Go configs
xdg
Cross platform package that follows the [XDG Standard](https://specifications.freedesktop.org/basedir-spec/latest/).
aconfig
Simple, useful and opinionated config loader
go-array
A Go package that read or set data from map, slice or json
go-aws-ssm
Go package that fetches parameters from AWS System Manager - Parameter Store
go-ini
A Go package that marshals and unmarshals INI-files
gone/jconf
Modular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization
ini
Go package to read and write INI files
nasermirzaei89/env
Simple useful package for read environment variables
typenv
Minimalistic, zero dependency, typed environment variables library
azureappconfiguration
The configuration provider for consuming data in Azure App Configuration from Go applications
enflag
Container-oriented, zero-dependency configuration library that unifies Env variable and Flag parsing. Uses generics for type safety, without reflection or struct tags
envyaml
Yaml with environment variables reader. it helps to have secrets as environment variable but load them configs as structured Yaml
go-config
Simple and convenient library for working with app configurations
hedzr/store
Extensible, high-performance configuration management library, optimized for hierarchical data
swap
Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env)
zerocfg
Zero-effort, concise configuration management that avoids boilerplate and repetitive code, supports multiple sources with priority overrides
argus
File watching and configuration management with MPSC ring buffer, adaptive batching strategies, and universal format parsing (JSON, YAML, TOML, INI, HCL, Properties)
goconfig
Populate Go structs from flags, environment variables, config.json and defaults with deterministic precedence. No extra dependencies