explaingit

avelino/awesome-go

🔥 Hot171,974GoAudience · developerComplexity · 1/5ActiveLicenseSetup · easy

TLDR

A curated index of Go frameworks, libraries, and tools organized by category, helping developers find well-maintained packages for any task.

Mindmap

mindmap
  root((Awesome Go))
    What it does
      Curated package index
      Organized by category
      Links to projects
    Categories covered
      Web frameworks
      Databases
      Testing tools
      CLI utilities
      Machine learning
    How to use it
      Find dependencies
      Explore ecosystem
      Learn Go patterns
    Audience
      Go developers
      Project starters
      Learners

Things people build with this

USE CASE 1

Find a database driver or ORM when starting a new Go backend project.

USE CASE 2

Discover a web framework or router that fits your application needs.

USE CASE 3

Locate testing libraries, CLI tools, or authentication packages for your Go service.

USE CASE 4

Learn what established packages exist in the Go ecosystem across different domains.

Tech stack

GoMarkdown

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license text.

In plain English

Awesome Go is a curated list of Go frameworks, libraries, and software, inspired by the original awesome-python list. Go (also called Golang) is a modern programming language used a lot for backend services, command-line tools, and infrastructure software, and the Go ecosystem has grown so big that finding well-maintained packages for any given task can be hard. This repository solves that by maintaining a hand-picked, categorized index linking out to projects worth looking at. It works as a long Markdown table of contents organized by topic. The README lists categories that span what people build with Go: Actor Model, Artificial Intelligence, Audio, Authentication, Blockchain, Bot Building, Build Automation, Command Line tools, Configuration, Continuous Integration, Data Structures and Algorithms, Database packages and drivers, Distributed Systems, Email, Error Handling, Financial, Game Development, GUI, Hardware, Images, IoT, JSON, Logging, Machine Learning, Messaging, Natural Language Processing, Networking and HTTP clients, ORMs, Performance, Security, Serialization, Server Applications, Stream Processing, Template Engines, Testing, Text Processing, Third-party APIs, Utilities, UUID, Validation, Video, Web Frameworks (with middlewares and routers), and more. You'd use Awesome Go whenever you're starting a Go project and need to find a database driver, web framework, testing tool, parser, or other building block, instead of guessing on a search engine, you scan the relevant section here for established options. The list is also a good map of the ecosystem if you're learning Go. Contributions follow contribution guidelines that try to keep the list curated rather than exhaustive. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
I'm building a REST API in Go. Which web frameworks and database drivers are recommended in the awesome-go list?
Prompt 2
Show me the testing tools and error handling libraries listed in awesome-go that I could use for my Go project.
Prompt 3
I need a CLI tool library and a logging package for my Go application. What does awesome-go recommend?
Prompt 4
What machine learning and natural language processing packages are available in the Go ecosystem according to awesome-go?
Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.