Configuration

Libraries for configuration parsing.

viper27.6K

Go configuration with fangs.

godotenv8.7K

Go port of Ruby's dotenv library (Loads environment variables from .env).

sonic7.2K

A blazingly fast JSON serializing & deserializing library.

kelseyhightower/envconfig5.1K

Go library for managing configuration data from environment variables.

env5.1K

Parse environment variables to Go structs (with defaults).

ini3.5K

Go package to read and write INI files.

koanf2.9K

Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.

kong2.3K

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).

cleanenv1.7K

Minimalistic configuration reader (from files, ENV, and wherever you want).

konfig646

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

aconfig557

Simple, useful and opinionated config loader.

gookit/config544

application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.

confita496

Load configuration in cascade from multiple backends into a struct.

fig381

Tiny library for reading configuration from a file and from environment variables (with validation & defaults).

GoLobby/Config364

GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language.

config336

Cloud native application configuration. Bind ENV to structs in only two lines.

hjson334

Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.

store274

Lightweight configuration manager for Go.

konf268

The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP).

envconfig241

Read your configuration from environment variables.

joshbetz/config215

Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.

harvester132

Harvester, a easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration.

onion118

Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP.

configuration109

Library for initializing configuration structs from env variables, files, flags and 'default' tag.

envh99

Helpers to manage environment variables.

configuro95

opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications.

xdg80

Cross platform package that follows the XDG Standard.

hocon79

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.

uConfig69

Lightweight, zero-dependency, and extendable configuration management.

gofigure68

Go application configuration made easy.

env67

A lightweight package for loading environment variables into structs.

go-aws-ssm60

Go package that fetches parameters from AWS System Manager - Parameter Store.

configure56

Provides configuration through multiple sources, including JSON, flags and environment variables.

config52

configure your app using file, environment variables, or flags in two lines of code

gone/jconf50

Modular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.

go-cfg43

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-up43

A simple configuration library with recursive placeholders resolution and no magic.

genv41

Read environment variables easily with dotenv support.

ingo38

Flags persisted in an ini-like config file.

confiq35

Structured data format to config struct decoder library for Go - supporting multiple data formats

mini35

Golang package for parsing ini-style configuration files.

conflate34

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.

go-ssm-config22

Go utility for loading configuration parameters from AWS SSM (Parameter Store).

bcl20

BCL is a configuration language similar to HCL.

go-array20

A Go package that read or set data from map, slice or json.

nasermirzaei89/env18

Simple useful package for read environment variables.

yamagiconf18

The "safe subset" of YAML for Go configs.

ini15

INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file.

go-ini14

A Go package that marshals and unmarshals INI-files.

envyaml11

Yaml with environment variables reader. it helps to have secrets as environment variable but load them configs as structured Yaml.

go-conf11

Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters.

gonfig9

Tag-based configuration parser which loads values from different providers into typesafe struct.

typenv9

Minimalistic, zero dependency, typed environment variables library.

nfigure8

Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML

piper8

Viper wrapper with config inheritance and key generation.

swap8

Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).

env6

An environment utility package with support for unmarshaling into structs

GoCfg6

Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple.

hedzr/store5

Extensible, high-performance configuration management library, optimized for hierarchical data.