I'm looking for a good alternativ to Viper

This page summarizes the projects mentioned and recommended in the original post on /r/golang

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • urfave/cli

    A simple, fast, and fun package for building command line apps in Go (by urfave)

  • Personally I used https://github.com/urfave/cli for CLI a lot but ended up migrating few project to cobra just because while way to use it was pretty aisine and annoying it ended up better at parsing said CLI (urfave/cli insist on positional arguments which don't work well for some cases)

  • go-envconfig

    A Go library for parsing struct tags from environment variables.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • godotenv

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

  • kong

    Kong is a command-line parser for Go (by alecthomas)

  • For all my commandline parsing and config loading needs I use kong. In contrast to Viper and Cobra it has almost no dependencies (while viper and cobra pull in half a jungle).

  • ff

    Flags-first package for configuration

  • Have a look at https://github.com/peterbourgon/ff

  • cleanenv

    ✨Clean and minimalistic environment configuration reader for Golang

  • check this package: https://github.com/ilyakaznacheev/cleanenv

  • conf

    Package conf provides support for using environmental variables and command line arguments for configuration. (by ardanlabs)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • kelseyhightower/envconfig

    Golang library for managing configuration data from environment variables

  • Pretty much all of our services and pkgs use https://github.com/kelseyhightower/envconfig. It’s dead simple, gets out of your way, and is battle tested

  • copre

    A small library to load configuration from multiple sources with predefined precedence

  • Shameless self-promotion: I encountered the same pain points and put together a small library to tie together multiple configuration sources. As I still really like cobra it is intended to be used with pflags.

  • xflags

    Expressive flags for Go (by cavaliergopher)

  • Self promo: it won’t help with the config file side of things but should elegantly cover the flags and environment variables: https://github.com/cavaliergopher/xflags.

  • go-yamlcfg

  • For config I ended up making wrapper for YAML parser that did the "pick a config from list list" and "generate default config" features. But my config needs are not that big

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Powerful template for CLI projects in Go 🐹

    7 projects | /r/golang | 5 Oct 2022
  • Snob - Dev Log (How it's done)

    6 projects | dev.to | 18 Aug 2022
  • [Happy] First mini project in Go (new go developer)

    6 projects | /r/golang | 4 Apr 2021
  • The power of the CLI with Golang and Cobra CLI

    9 projects | dev.to | 6 Apr 2024
  • What 3rd-party libraries do you use often/all the time?

    7 projects | /r/golang | 1 Dec 2023