explaingit

avelino/awesome-go

Analysis updated 2026-06-20

171,974GoAudience · developerComplexity · 1/5Setup · easy

TLDR

Awesome Go is a community-maintained, categorized list of the best Go frameworks, libraries, and tools, a single curated index covering everything from web frameworks to machine learning, so you can find what you need without trawling search results.

Mindmap

mindmap
  root((awesome-go))
    What it does
      Curated Go index
      Category organized
      Community maintained
    Categories
      Web frameworks
      Databases and ORM
      Testing tools
      Machine learning
    Use Cases
      Library discovery
      Ecosystem survey
      Tool comparison
    Audience
      Go developers
      New Go learners
    Infrastructure
      GitHub Actions
      Netlify hosted site
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Find the right Go web framework, ORM, or testing library for a new project in one place.

USE CASE 2

Discover Go packages for a specific need like message queues, machine learning, or geographic data processing.

USE CASE 3

Check established tools in a Go subcategory before building something yourself from scratch.

USE CASE 4

Browse a maintained list filtered to actively supported packages to stay current with the Go ecosystem.

What is it built with?

Go

How does it compare?

avelino/awesome-goollama/ollamagolang/go
Stars171,974170,849133,756
LanguageGoGoGo
Setup difficultyeasymoderatehard
Complexity1/52/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
License not stated in the explanation.

In plain English

Awesome Go is a curated list of Go frameworks, libraries, and software. The README opens by saying it was inspired by awesome-python, links to the Golang Bridge community Slack, and describes itself with one tagline: a curated list of awesome Go frameworks, libraries, and software. The repository itself is mostly a long markdown index, organized into category headings that maintainers and contributors keep up to date through pull requests. The Contents section gives a fair picture of how broad the list is. Top-level categories include Actor Model, Artificial Intelligence, Audio and Music, Authentication and Authorization, Blockchain, Bot Building, Build Automation, Command Line, Configuration, Continuous Integration, CSS Preprocessors, Data Integration Frameworks, Data Structures and Algorithms, Database, Database Drivers, Date and Time, Distributed Systems, Dynamic DNS, Email, Embeddable Scripting Languages, Error Handling, File Handling, Financial, Forms, Functional, Game Development, Generators, Geographic, Go Compilers, Goroutines, GUI, Hardware, Images, IoT, Job Scheduler, JSON, Logging, Machine Learning, Messaging, Microsoft Office, Natural Language Processing, Networking, OpenGL, ORM, Package Management, Performance, Query Language, Reflection, Resource Embedding, Science and Data Analysis, Security, Serialization, Server Applications, Stream Processing, Template Engines, Testing, Text Processing, Third-party APIs, Utilities, UUID, Validation, Version Control, Video, Web Frameworks, and WebAssembly. Many categories are broken into subsections. Data Structures and Algorithms, for example, splits into bit-packing and compression, bit sets, bloom and cuckoo filters, iterators, maps, queues, sets, text analysis, and trees. Database splits into caches, databases written in Go, schema migration, database tools, and SQL query builders. Testing splits into testing frameworks, mocks, fuzzing, browser control, and fail injection. Web Frameworks splits into middlewares and routers. The README mentions a hosted site at awesome-go.com, a Netlify deployment, and a build pipeline run through GitHub Actions. It points contributors to a CONTRIBUTING.md file and asks people to open pull requests when they see a package that is no longer maintained or no longer a good fit. Someone would use this list when they are starting work in Go and want one place to scan the established libraries in a given area, rather than searching package registries one query at a time.

Copy-paste prompts

Prompt 1
I'm building a REST API in Go. Based on Awesome Go, which web framework and ORM should I choose and why?
Prompt 2
List the top Go libraries for building a CLI tool from the Awesome Go command line section, with a short note on each.
Prompt 3
I need a Go package for connecting to PostgreSQL. What does the Awesome Go database drivers section recommend?
Prompt 4
Show me the Go testing frameworks from Awesome Go and help me pick one for unit testing a microservice with mocks.
Prompt 5
I want to add structured logging to a Go service. What does Awesome Go list in the logging category, and which is most widely used?

Frequently asked questions

What is awesome-go?

Awesome Go is a community-maintained, categorized list of the best Go frameworks, libraries, and tools, a single curated index covering everything from web frameworks to machine learning, so you can find what you need without trawling search results.

What language is awesome-go written in?

Mainly Go. The stack also includes Go.

What license does awesome-go use?

License not stated in the explanation.

How hard is awesome-go to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is awesome-go for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub avelino on gitmyhub

Verify against the repo before relying on details.