go-resources VS viper

Compare go-resources vs viper and see what are their differences.


Resources for Go (golang) developers (by matt4biz)


Go configuration with fangs (by spf13)
Our great sponsors
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • Revelo Payroll - Free Global Payroll designed for tech teams
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
go-resources viper
1 69
105 24,110
- -
10.0 8.4
25 days ago 5 days ago
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.


Posts with mentions or reviews of go-resources. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-05.


Posts with mentions or reviews of viper. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-27.
  • Building RESTful API with Hexagonal Architecture in Go
    21 projects | dev.to | 27 Sep 2023
    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?
    4 projects | /r/golang | 5 Jun 2023
    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?
    11 projects | /r/golang | 1 Jun 2023
    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?
    10 projects | /r/golang | 17 Apr 2023
    Cobra and Viper.
  • Library for Python similar to Go's Viper / 12 Factor
    2 projects | /r/learnpython | 5 Apr 2023
    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.
  • Two ways to provide configuration: command-line, yaml file.
    3 projects | /r/golang | 30 Mar 2023
    Not only that, the "unmarshall to struct" method doesn't work at all for environment variables. https://github.com/spf13/viper/issues/188
  • Tools besides Go for a newbie
    36 projects | /r/golang | 26 Mar 2023
    IDE: use whatever make you productive. I personally use vscode. VCS: git, as golang communities use github heavily as base for many libraries. AFAIK Linter: use staticcheck for linting as it looks like mostly used linting tool in go, supported by many also. In Vscode it will be recommended once you install go plugin. Libraries/Framework: actually the standard libraries already included many things you need, decent enough for your day-to-day development cycles(e.g. `net/http`). But here are things for extra: - Struct fields validator: validator - Http server lib: chi router , httprouter , fasthttp (for non standard http implementations, but fast) - Web Framework: echo , gin , fiber , beego , etc - Http client lib: most already covered by stdlib(net/http), so you rarely need extra lib for this, but if you really need some are: resty - CLI: cobra - Config: godotenv , viper - DB Drivers: sqlx , postgre , sqlite , mysql - nosql: redis , mongodb , elasticsearch - ORM: gorm , entgo , sqlc(codegen) - JS Transpiler: gopherjs - GUI: fyne - grpc: grpc - logging: zerolog - test: testify , gomock , dockertest - and many others you can find here
  • Ultimate config for Go applications
    3 projects | /r/golang | 24 Mar 2023
    Is this sufficiently better than https://github.com/spf13/viper to warrant a switch?
  • [QUESTION] - How would I Read from multiple config files and environment variables?
    2 projects | /r/golang | 15 Mar 2023
    I'm using https://github.com/spf13/viper for configuration manager.
    2 projects | /r/golang | 15 Mar 2023
    Ya, I think this issue explains one of the problems: https://github.com/spf13/viper/issues/761

What are some alternatives?

When comparing go-resources and viper you can also consider the following projects:

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

envconfig - Small library to read your configuration from environment variables

koanf - Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.

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.

cleanenv - ‚ú®Clean and minimalistic environment configuration reader for Golang

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.

go-toml - Go library for the TOML file format

env - A simple and zero-dependencies library to parse environment variables into structs

Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.