go-gh
viper
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.
go-gh
-
14 great tips to make amazing CLI applications
Even simple shell script verbs provide great extension capability for users. For even bigger impact, provide a simple wrapper framework like gh does, that allows extensions written in go to easily call the main tool itself.
-
...and now gh-i to search for issues interactively!
So, in general they provide a Go library that works as API client: go-gh. To be frank, the library is still somewhat work in progress and unpolished, and you can't do much with it. This said, the framework they developed to write extensions is quite nice and self-explanatory: you can find an introductory video here by the developers.
viper
-
Upload and Delete file from Amazon S3 Bucket in Go using Presigned URLs
Once environment variables are setup we need load them into our project. For this this i will use viper
-
Proxy Server in Go
The code uses Viper to load configuration files in the application.
- API completa em Golang - Parte 2
-
What 3rd-party libraries do you use often/all the time?
github.com/spf13/viper
- API completa em Golang - Parte 1
-
Building RESTful API with Hexagonal Architecture in Go
Instead of directly accessing environment variables with os.Getenv(), integrating a configuration handler like viper might make it maintainable.
-
What is the most common approach to configure a backend app?
I guess most people are using https://github.com/spf13/viper but I don't know if I should read everything from
-
Could I get a code review?
Use Viper for config file or environmental variable configuration -- it's going to save you a whole lot of time.
-
Which packages do you recommend for building cli tools?
Cobra and Viper.
-
Library for Python similar to Go's Viper / 12 Factor
I've mostly been using https://github.com/spf13/viper of late for my go projects. It supports the standard config formats, (json, yaml, toml etc) and lets you override any value with a ENV value.
What are some alternatives?
rlwrap - A readline wrapper
godotenv - A Go port of Ruby's dotenv library (Loads environment variables from .env files)
imtui - ImTui: Immediate Mode Text-based User Interface C++ Library
envconfig - Small library to read your configuration from environment variables
glamour - Stylesheet-based markdown rendering for your CLI apps 💇🏻♀️
koanf - Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
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
config - JSON or YAML configuration wrapper with convenient access methods.
goConfig - goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.