Cute Gopher Mascot

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

See More! πŸš€

hjson

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

See More! πŸš€

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

See More! πŸš€

ingo

Flags persisted in an ini-like config file.

See More! πŸš€

sonic

A blazingly fast JSON serializing & deserializing library

See More! πŸš€

bcl

BCL is a configuration language similar to HCL

See More! πŸš€

cleanenv

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

See More! πŸš€

config

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

See More! πŸš€

config

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

See More! πŸš€

configuration

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

See More! πŸš€

configuro

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

See More! πŸš€

configure

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

See More! πŸš€

confiq

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

See More! πŸš€

confita

Load configuration in cascade from multiple backends into a struct

See More! πŸš€

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

See More! πŸš€

env

Parse environment variables to Go structs (with defaults)

See More! πŸš€

env

A lightweight package for loading environment variables into structs

See More! πŸš€

env

An environment utility package with support for unmarshaling into structs

See More! πŸš€

envconfig

Read your configuration from environment variables

See More! πŸš€

envh

Helpers to manage environment variables

See More! πŸš€

fig

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

See More! πŸš€

genv

Read environment variables easily with dotenv support

See More! πŸš€

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)

See More! πŸš€

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

See More! πŸš€

go-ssm-config

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

See More! πŸš€

go-up

A simple configuration library with recursive placeholders resolution and no magic

See More! πŸš€

GoCfg

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

See More! πŸš€

godotenv

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

See More! πŸš€

GoLobby/Config

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

See More! πŸš€

gonfig

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

See More! πŸš€

gofigure

Go application configuration made easy.

See More! πŸš€

gookit/config

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

See More! πŸš€

ini

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

See More! πŸš€

joshbetz/config

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

See More! πŸš€

kelseyhightower/envconfig

Go library for managing configuration data from environment variables

See More! πŸš€

koanf

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

See More! πŸš€

konf

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

See More! πŸš€

konfig

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

See More! πŸš€

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

See More! πŸš€

mini

Golang package for parsing ini-style configuration files.

See More! πŸš€

nfigure

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

See More! πŸš€

onion

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

See More! πŸš€

piper

Viper wrapper with config inheritance and key generation

See More! πŸš€

store

Lightweight configuration manager for Go.

See More! πŸš€

uConfig

Lightweight, zero-dependency, and extendable configuration management

See More! πŸš€

viper

Go configuration with fangs

See More! πŸš€

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)

See More! πŸš€

yamagiconf

The "safe subset" of YAML for Go configs

See More! πŸš€

xdg

Cross platform package that follows the [XDG Standard](https://specifications.freedesktop.org/basedir-spec/latest/).

See More! πŸš€

aconfig

Simple, useful and opinionated config loader

See More! πŸš€

go-array

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

See More! πŸš€

go-aws-ssm

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

See More! πŸš€

go-ini

A Go package that marshals and unmarshals INI-files

See More! πŸš€

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

See More! πŸš€

ini

Go package to read and write INI files

See More! πŸš€

nasermirzaei89/env

Simple useful package for read environment variables

See More! πŸš€

typenv

Minimalistic, zero dependency, typed environment variables library

See More! πŸš€

azureappconfiguration

The configuration provider for consuming data in Azure App Configuration from Go applications

See More! πŸš€

enflag

Container-oriented, zero-dependency configuration library that unifies Env variable and Flag parsing. Uses generics for type safety, without reflection or struct tags

See More! πŸš€

envyaml

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

See More! πŸš€

go-config

Simple and convenient library for working with app configurations

See More! πŸš€

hedzr/store

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

See More! πŸš€

swap

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

See More! πŸš€

zerocfg

Zero-effort, concise configuration management that avoids boilerplate and repetitive code, supports multiple sources with priority overrides

See More! πŸš€

argus

File watching and configuration management with MPSC ring buffer, adaptive batching strategies, and universal format parsing (JSON, YAML, TOML, INI, HCL, Properties)

See More! πŸš€

goconfig

Populate Go structs from flags, environment variables, config.json and defaults with deterministic precedence. No extra dependencies

See More! πŸš€