gitwtfhub

avelino/awesome-go

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

TL;DR

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

Why anyone would actually build this

REASON 1

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

REASON 2

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

REASON 3

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

REASON 4

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

Stack

GoMarkdown

Spinning it up

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.

Wtf does this do

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.

Yoink these 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?
View the repo → Decode another repo

← avelino on gitmyhub — every repo by this author, as a profile.

Don't trust strangers blindly. Verify against the repo.