Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free. Learn more →
Viper Alternatives
Similar projects and alternatives to viper
-
-
godotenv
A Go port of Ruby's dotenv library (Loads environment variables from .env files)
-
InfluxDB
Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.
-
koanf
Simple, lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
-
envconfig
Small library to read your configuration from environment variables (by vrischmann)
-
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
-
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
Testify
A toolkit with common assertions and mocks that plays nicely with the standard library
-
validator
:100:Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
-
coral
Coral, a friendly Cobra fork with nearly all its features, but only 4 dependencies
-
goConfig
goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
-
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.
-
-
-
urfave/cli
A simple, fast, and fun package for building command line apps in Go (by urfave)
-
-
-
-
config
JSON or YAML configuration wrapper with convenient access methods. (by olebedev)
-
Grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
viper reviews and mentions
-
How To Work With Multiple Go Files?
There are some Go packages that can make config easy such as Viper or what I'll do in some of my quick/simple projects is to have a Config struct that I load from a JSON file. You can .gitignore the JSON file, and have your program on first startup write a default JSON file with some sensible default settings (like randomized secret keys for your cookies or JWT tokens and await only your database and email credentials to be filled in).
-
In NodeJS I can encapsulate different start-up command for different mode (dev, production) with package.json. then after that it will get the .env file for the correct environment mode. How to archive the same things in golang ?
I'll also add that we set our configuration as structs, and use https://github.com/spf13/viper to load the structure from TOML.
-
a tool for quickly creating web and microservice code
Configuration file parsing viper
-
Getting cobra and viper to play along
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?
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)
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
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
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 🐹
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)
config.go - Handles the configuration part (in our case, the key environment variable) with help from Viper;
-
A note from our sponsor - SonarQube
www.sonarqube.org | 3 Feb 2023
Stats
spf13/viper is an open source project licensed under MIT License which is an OSI approved license.