Libraries you use most of your projects?

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

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. 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)

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. 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)

  4. 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)

  5. 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)

  6. autogold

    Automatically update your Go tests

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

  7. gomodifytags

    Go tool to modify struct field tags

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

  8. 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)

  9. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  10. 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)

  11. pp

    Colored pretty printer for Go language

  12. pretty

    Pretty printing for Go values

  13. Echo

    High performance, minimalist Go web framework

  14. 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...

  15. 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.

  16. assert

    A simple assertion library using Go generics (by alecthomas)

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

  17. flagx

    Extensions to the Go flag package

  18. be

    The Go test helper for minimalists

  19. requests

    HTTP requests for Gophers (by earthboundkid)

  20. resty

    Simple HTTP, REST, and SSE client library for Go

  21. 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

  22. 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

  23. 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

  24. backoff

    Discontinued ⏱ 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

  25. versioninfo

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

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

  26. 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.

  27. 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.

  28. 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.

  29. go-arg

    Struct-based argument parsing in Go

  30. 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

  31. 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