|6 days ago||6 months ago|
|MIT License||MIT License|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Viper - Go configuration with fangs
1 project | reddit.com/r/github_trends | 23 May 2022
Viper – Go Configuration with Fangs
16 direct dependencies, 39 transitive dependencies, and nearly 7000 lines of code -- for a package that handles flags and config files. I can't help feeling that frameworks like this are a little overwrought. It's the sort of project that succeeds because thousands of people just need something that works, right away, search for "golang config," and click the top result. If you can afford to slow down a little, you may find that you can config your app just fine with a few stdlib imports and a bit of glue.
Use viper with care. It has some dangerous fundamental flaws . We got bitten hard, submitted a PR  and followed up for a year and a half to no avail, before I went ahead and reinvented the wheel and wrote koanf (plug), specifically to avoid viper's flaws.
- Breaks JSON, YAML, TOML etc. language specs by forcibly lowercasing all keys internally. Dangerous because it can silently merge differently cased config keys into lowercase.
- Hard codes big unnecessary dependencies into the core, significantly bloating build sizes. No separation or abstraction.
14 great tips to make amazing CLI applications
14 projects | dev.to | 10 May 2022
configuration files. A few command line option libraries provide the option to use a configuration file alongside the command line parser (for example viper in golang). Otherwise, nothing is easier to use a JSON, YAML, or TOML parser to read in defaults and overrides.
Simple configuration for apps
4 projects | reddit.com/r/golang | 5 May 2022
Thanks, it basically bunch of battle-tested tools like viper, defaults, validators put together
CLI plugin manager for (neo)vim
4 projects | reddit.com/r/neovim | 20 Apr 2022
Just for your information: viper is also a popular go package.
Best practice for configuring secrets
6 projects | reddit.com/r/golang | 6 Apr 2022
More details : https://github.com/spf13/viper6 projects | reddit.com/r/golang | 6 Apr 2022
Take a look @ Viper
Go Vars – Simple and yet powerful configuration management
4 projects | reddit.com/r/golang | 11 Mar 2022
It have some quirks to read .env file (this and this).
Configuration management library for stage and production environments ?
1 project | reddit.com/r/golang | 30 Mar 2022
You could prefix your env vars and use this package. https://github.com/kelseyhightower/envconfig
passwords, secrets, keys - best practice
5 projects | reddit.com/r/golang | 23 Feb 2022
I'm looking for a good alternativ to Viper
12 projects | reddit.com/r/golang | 16 Jan 2022
Pretty much all of our services and pkgs use https://github.com/kelseyhightower/envconfig. It’s dead simple, gets out of your way, and is battle tested
Looking for a Go(Golang) buddy
5 projects | reddit.com/r/golang | 8 May 2021
https://github.com/kelseyhightower/envconfig (read config from environment variables, more succinct than viper)
เทส go package จาก GitHub แบบไม่ง้อ go.mod
1 project | dev.to | 26 Apr 2021
Implement an access key rotator
4 projects | dev.to | 25 Apr 2021
Additionally I'll use an own Configuration type meant to hold all information my applications needs. I find github.com/kelseyhightower/envconfig to be quite handy when you have to deal with environment variables:
Website previews for custom Netlify deployments using GitLab CI
10 projects | dev.to | 28 Mar 2021
The site deploy functionality is implemented using a small Go program. It performs the deployment using the official Netlify Open API client library from files on a directory. The directory, the site ID, the authentication token, and the rest of the details are configured using environment variables that are picked up using Kelsey Hightower's envconfig library. The program creates a preview site when the environment variable NETLIFY_DRAFT is set.
Is Viper necessary if my app is only using environment variables?
2 projects | reddit.com/r/golang | 19 Feb 2021
If you are using only env vars to configure your app I would highly recommend this lightweight library https://github.com/kelseyhightower/envconfig
I've been using "caarlos0/env" for nearly 4 years? Anything better?
3 projects | reddit.com/r/golang | 26 Jan 2021
https://github.com/kelseyhightower/envconfig is also popular
What are some alternatives?
godotenv - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.)
envconfig - Small library to read your configuration from environment variables
koanf - Simple, lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
mapstructure - Go library for decoding generic map values into native Go structures and vice versa.
ini - Package ini provides INI file read and write functionality in Go
goConfig - goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
config - JSON or YAML configuration wrapper with convenient access methods.
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
go-toml - Go library for the TOML file format
validator - :100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
env - A simple and zero-dependencies library to parse environment variables into structs.