Libraries you use most of your projects?

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

InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • counterfeiter

    A tool for generating self-contained, type-safe test doubles in go

    https://github.com/maxbrunsfeld/counterfeiter - generate static typed test double (can be used to mock or stub calls)

  • InfluxDB

    Purpose built for real-time analytics at any scale. InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.

    InfluxDB logo
  • godotenv

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

    https://github.com/joho/godotenv - load env file (or sometimes https://github.com/spf13/viper or load https://github.com/yosuke-furukawa/json5 directly)

  • dockertest

    Write better integration tests! Dockertest helps you boot up ephermal docker images for your Go tests with minimal work.

    https://github.com/ory/dockertest - test repo/provider layer against dockered database directly, alternatively i use https://github.com/kokizzu/goproc for database that are only single binary (eg. cockroachdb)

  • goproc

    simple process manager helper library

    https://github.com/ory/dockertest - test repo/provider layer against dockered database directly, alternatively i use https://github.com/kokizzu/goproc for database that are only single binary (eg. cockroachdb)

  • autogold

    Automatically update your Go tests

    https://github.com/hexops/autogold - generate and update test result (go test -update .)

  • gomodifytags

    Go tool to modify struct field tags

    https://github.com/fatih/gomodifytags - generate or modify struct tags

  • viper

    Go configuration with fangs

    https://github.com/joho/godotenv - load env file (or sometimes https://github.com/spf13/viper or load https://github.com/yosuke-furukawa/json5 directly)

  • SaaSHub

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

    SaaSHub logo
  • json5

    JSON5 implemented by golang (by yosuke-furukawa)

    https://github.com/joho/godotenv - load env file (or sometimes https://github.com/spf13/viper or load https://github.com/yosuke-furukawa/json5 directly)

  • pp

    Colored pretty printer for Go language

  • pretty

    Pretty printing for Go values

  • Echo

    High performance, minimalist Go web framework

  • go-mockgen

    https://github.com/derision-test/go-mockgen for generating mocks for interfaces, for those that use dependency injection. By far the best mock generator, especially compared to the relatively bad official one, or anything that requires passing method names as strings...

  • go-testdeep

    Extremely flexible golang deep comparison, extends the go testing package, tests HTTP APIs and provides tests suite

    TestDeep. I got pretty used to many of the matchers and they simplify my life now.

  • assert

    A simple assertion library using Go generics (by alecthomas)

    https://github.com/alecthomas/assert As an assertion library

  • flagx

    Extensions to the Go flag package

  • be

    The Go test helper for minimalists

  • requests

    HTTP requests for Gophers (by earthboundkid)

  • resty

    Simple HTTP and REST client library for Go

  • sqlc

    Generate type-safe code from SQL

    In addition to the ones you mentioned, I also always use: + sqlc - Compile SQL to type-safe code + gqlgen - generate GraphQL server from schema + oapi-codegen - Go client and server boilerplate from OpenAPI 3 specifications + pester - Go http calls with retries and backoff + backoff - exponential backoff algorithm in Go

  • gqlgen

    go generate based graphql server library

    In addition to the ones you mentioned, I also always use: + sqlc - Compile SQL to type-safe code + gqlgen - generate GraphQL server from schema + oapi-codegen - Go client and server boilerplate from OpenAPI 3 specifications + pester - Go http calls with retries and backoff + backoff - exponential backoff algorithm in Go

  • oapi-codegen

    Generate Go client and server boilerplate from OpenAPI 3 specifications

    In addition to the ones you mentioned, I also always use: + sqlc - Compile SQL to type-safe code + gqlgen - generate GraphQL server from schema + oapi-codegen - Go client and server boilerplate from OpenAPI 3 specifications + pester - Go http calls with retries and backoff + backoff - exponential backoff algorithm in Go

  • backoff

    ⏱ The exponential backoff algorithm in Go

    In addition to the ones you mentioned, I also always use: + sqlc - Compile SQL to type-safe code + gqlgen - generate GraphQL server from schema + oapi-codegen - Go client and server boilerplate from OpenAPI 3 specifications + pester - Go http calls with retries and backoff + backoff - exponential backoff algorithm in Go

  • versioninfo

    Importable package that parses version info from debug.ReadBuildInfo().

    Oh, also https://github.com/carlmjohnson/versioninfo . Always need that.

  • httpretry

    Enriches the standard go http client with retry functionality.

    Requests uses the standard HTTP client so you can plug-in retries off the shelf. Resty artificially locks you into its own ecosystem.

  • migrate

    Database migrations. CLI and Golang library.

    There are other things I generally drag around out of habit like migrate, but I don't necessarily love those as much.

  • notify

    A dead simple Go library for sending notifications to various messaging services.

    https://github.com/nikoksr/notify for sending notifications to a multitude of services at once.

  • go-arg

    Struct-based argument parsing in Go

  • go-wiki

    This is a Golang open-source module that makes it easy to access and parse data from Wikipedia (Wikipedia API wrapper)

    I need to build a low latency Wikipedia data crawler for my AI module. So I use this one: https://github.com/trietmn/go-wiki

  • SaaSHub

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

    SaaSHub logo
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

  • Network Error Handling

    3 projects | /r/golang | 22 Mar 2023
  • Go: HTTP Integration Test Framework

    1 project | news.ycombinator.com | 6 Mar 2023
  • is there any api testing library/framework in go?

    1 project | /r/golang | 23 Jul 2022
  • GitHub Sponsors: Patrocinando Open Source

    3 projects | dev.to | 30 Jun 2022
  • Python/Django to Golang questions

    13 projects | /r/golang | 6 May 2022

Did you konow that Go is
the 4th most popular programming language
based on number of metions?