viper
ini
viper | ini | |
---|---|---|
76 | 2 | |
27,153 | 3,464 | |
- | 0.5% | |
9.1 | 0.0 | |
3 days ago | 6 months ago | |
Go | Go | |
MIT License | Apache License 2.0 |
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
-
Show HN: CREV – A Go-based CLI tool for AI code reviews and codebase exports
- Terminal-Based Workflow: CREV is a CLI tool, removing the need to switch between your editor and the browser.
I have written the CREV CLI tool in Go as I was interested in learning the language and I heard many good things about it’s efficiency and speed. I used https://github.com/spf13/cobra to manage the CLI commands and [Viper](https://github.com/spf13/viper) for handling configurations. This is the first project I have done with Go but I find the language interesting and the Go routines also help with reading in your entire codebase. For the code reviews themselves I use google cloud functions which invoke GPT-4o (am also planning to add Claude 3.5 and GPT-o1).
I’d love to hear your feedback—whether it’s ideas for new features or reasons why you believe this tool is useful or useless to you. I am using it daily so it at least solved my own problem :)
-
Building a RESTful API with Go Fiber: An Express-Inspired Boilerplate
Environment variables: using 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.
ini
-
Convert any to string or alternative to any
I am very new to golang and am trying to write a Program that uses INI Cobfiguration Files. The library that I am using, has built in functions to output the Key as a certain type (string, int, bool, etc). However as I will be accessing several different Keys of different types, I wrote a wrapper that takes the section and key name and the output type, passes that to the libraries functions and outputs the result as the any type. While trying to pass the output into another function that requires a string, it throws the error that it is unable to convert any to string as string requires type assertion. I couldn't find much about the any type, but it seems luke i will either need to redesign my wrapper function, use an alternative to any or find a way to convert any to string or []byte at least.
- A userspace WireGuard client that exposes itself as a proxy
What are some alternatives?
godotenv - A Go port of Ruby's dotenv library (Loads environment variables from .env files)
toml - Instream TOML to JSON encoder
envconfig - Small library to read your configuration from environment variables
env - A simple, zero-dependencies library to parse environment variables into structs
koanf - Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
go-toml - Go library for the TOML file format
cleanenv - ✨Clean and minimalistic environment configuration reader for Golang
config - JSON or YAML configuration wrapper with convenient access methods.
kelseyhightower/envconfig - Golang library for managing configuration data from environment variables
goConfig - goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
mapstructure - Go library for decoding generic map values into native Go structures and vice versa.