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.
We haven't tracked posts mentioning go-toml yet.
Tracking mentions began in Dec 2020.
Getting cobra and viper to play along
2 projects | reddit.com/r/golang | 2 Nov 2022
I've created a bare-bones cli-project tthat uses cobra for cli-args and viper for configuration-management. Currently the application only has a single flag --user (or -u) and prints the passed argument to the console:
Libraries you use most of your projects?
30 projects | reddit.com/r/golang | 2 Nov 2022
https://github.com/joho/godotenv - load env file (or sometimes https://github.com/spf13/viper or load https://github.com/yosuke-furukawa/json5 directly)
Golang equivalent of Python’s click (CLT framework)
7 projects | reddit.com/r/golang | 20 Oct 2022
I’ll be honest, I prefer urfave/cli over cobra generally speaking. Not for any reason outside of personal preference due to development experience. urfave/cli just feels more intuitive to me. However, if I’m building a CLI tool with really complex configuration, I’ll typically choose cobra and pair it with viper to make sure handling config loading is done properly. Both cobra and viper were written by the same person (and both widely used in production in conjunction with each other), so I trust they’ll play nicely.
goyek v2 RC - feedback needed
3 projects | reddit.com/r/golang | 20 Oct 2022
It can be easily used with https://pkg.go.dev/flag or https://github.com/spf13/viper (for configuration) and even https://github.com/stretchr/testify (for asserting)
Building my first go project, looking for package/resource suggestions
7 projects | reddit.com/r/golang | 5 Oct 2022
I'd recommend checking out https://github.com/spf13/viper for configurations and https://github.com/rs/zerolog for enhanced logging.
Powerful template for CLI projects in Go 🐹
7 projects | reddit.com/r/golang | 5 Oct 2022
Advanced config management with viper and useful config commands such as setting or getting config values directly from CLI (like this config set -k logs.write -v true ). ENV & File (TOML or YAML) based configuration. Configuration is self-documented, simple type config info to show every config field available with description for each, so no need to write a whole wiki page to explain what each setting does.
Snob - Dev Log (How it's done)
6 projects | dev.to | 18 Aug 2022
config.go - Handles the configuration part (in our case, the key environment variable) with help from Viper;
6 projects | news.ycombinator.com | 18 Jul 2022
I contribute to open source projects as well - in various ways - and it's fine for a maintainer of a huge project to use that wording.
Steve is a very accomplished programmer, with what hugo / viper became in the go ecosystem by itself. In my view, the projects also jumpstarted a lot of new users who were trying out golang who weren't sold on it yet. I didn't really appreciate his leadership or advisory roles until now, that's just icing on the cake.
Thanks for your contributions, Steve!
Botway - 🤖 Generate, build, handle and deploy your own bot with your favorite language, for Discord, or Telegram, or Slack.
6 projects | dev.to | 21 Jun 2022
Viper – Go Configuration with Fangs
4 projects | news.ycombinator.com | 20 May 2022
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.
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.
kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
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.
hocon - go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config
config - JSON or YAML configuration wrapper with convenient access methods.
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
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.