viper VS mapstructure

Compare viper vs mapstructure and see what are their differences.

viper

Go configuration with fangs (by spf13)

mapstructure

Go library for decoding generic map values into native Go structures and vice versa. (by mitchellh)
Our great sponsors
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
viper mapstructure
41 9
19,253 5,739
- -
8.4 7.3
7 days ago 5 days ago
Go Go
MIT License 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.

viper

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 2022-05-20.

mapstructure

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

What are some alternatives?

When comparing viper and mapstructure you can also consider the following projects:

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.

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.

config - JSON or YAML configuration wrapper with convenient access methods.

jsoniter - A high-performance 100% compatible drop-in replacement of "encoding/json"

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.