awesome-go
Structured collection of Go frameworks, libraries, tools, and resources. Automatically maintained and up-to-date with metadata, filtering, and comprehensive categorization.
https://github.com/abordage/awesome-go
Last synced: 9 days ago
JSON representation
-
Actor Model
- asynkron/protoactor-go - Ultra fast distributed actors for Go, C# and Java/Kotlin ☆`5,389`
- ergo-services/ergo - based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Zero dependencies. ☆`4,312`
- anthdm/hollywood - weight Actor engine written in Golang ☆`2,151`
- Tochemey/goakt
-
Artificial Intelligence
- ollama/ollama - oss, DeepSeek-R1, Gemma 3 and other models. ☆`157,711`
- mudler/LocalAI - hosted and local-first. Drop-in replacement for OpenAI, running on consumer-grade hardware. No GPU required. Runs gguf, transformers, diffusers and many more. Features: Generate Text, MCP, Audio, Video, Images, Voice Cloning, Distributed, P2P and decentralized inference ☆`40,137`
- tmc/langchaingo - based programs in Go ☆`8,228`
- philippgille/chromem-go - like interface and zero third-party dependencies. In-memory with optional persistence. ☆`802`
- presbrey/ollamafarm
- maximhq/bifrost
- universal-tool-calling-protocol/go-utcp
-
Audio and Music
- ebitengine/oto - level library to play sound on multiple platforms ☆`1,830`
- gordonklaus/portaudio
- DylanMeeus/GoAudio
- gen2brain/malgo
- mewkiz/flac
- tosone/minimp3
- dh1tw/gosamplerate
-
Auth
-
Authorization
-
-
Authentication and OAuth
- casbin/casbin
- golang-jwt/jwt
- markbates/goth
- golang/oauth2
- ory/keto - first. Available as a service on Ory Network and for self-hosters. ☆`5,214`
- aarondl/authboss
- cerbos/cerbos - agnostic, scalable authorization solution that makes user permissions and authorization simple to implement and manage by writing context-aware access control policies for your application resources. ☆`4,167`
- openfga/openfga
- alexedwards/scs
- lestrrat-go/jwx
- openshift/osin
- dghubble/gologin
- zitadel/oidc
- cristalhq/jwt
- shaj13/go-guardian - Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. ☆`602`
- go-jose/go-jose
- abraithwaite/jeff
- Kwynto/gosession
- leodip/goiabada
- RijulGulati/otpgen
- jellydator/sessionup
- icza/session - GAE). ☆`118`
- brianvoe/sjwt
- essentialkaos/branca - Poly1305 AEAD) for Golang ☆`93`
- mengzhuo/cookiestxt
-
Benchmarks
- smallnest/go-web-framework-benchmark
- julienschmidt/go-http-routing-benchmark
- alecthomas/go_serialization_benchmarks
- atemerev/skynet
- SimonWaldherr/golang-benchmarks - (measure the speed of golang) ☆`141`
- feyeleanor/gospeed - benchmarks for calculating the speed of language constructs ☆`126`
- nikolaydubina/go-ml-benchmarks
-
Blockchain
- ethereum/go-ethereum
- ipfs/kubo
- lightningnetwork/lnd
- cosmos/cosmos-sdk
- gagliardetto/solana-go
- gnolang/gno - based Go virtual machine to build succinct and composable apps + gno.land: a blockchain for timeless code and fair open-source. ☆`1,032`
- cometbft/cometbft - tolerant, deterministic state machine replication engine. A fork and successor to Tendermint Core. ☆`832`
- ChainSafe/gossamer
-
Bot Building
- tucnak/telebot
- wabarc/wayback - style interface that prioritizes privacy and accessibility, integrated with various archival services including Internet Archive, archive.today, Ghostarchive, IPFS, Telegraph, and file systems. ☆`2,107`
- go-telegram/bot
- mymmrac/telego
- diamondburned/arikawa
- NicoNex/echotron
- gempir/go-twitch-irc
- innogames/slack-bot
- mr-linch/go-tg
- slack-io/slacker
- onrik/micha
-
Build Automation
-
CLI & Terminal
-
Advanced Console UIs
-
-
Code Analysis
- golangci/golangci-lint
- mgechev/revive - in replacement for golint ☆`5,362`
- kisielk/errcheck
- go-critic/go-critic
- segmentio/golines
- daveshanley/vacuum
- yuroyoro/goast-viewer
- sqs/goreturns - like tool for Go programmers that fills in Go return statements with zero values to match the func return types ☆`536`
- presmihaylov/todocheck
- mdempsky/unconvert
- mibk/dupl
- tomarrell/wrapcheck
- shurcooL/gostatus
- Antonboom/testifylint
- Crocmagnon/fatcontext
- sashamelentyev/usestdlibvars
- mccoyst/validate
-
Command Line
-
Advanced Console UIs
- charmbracelet/bubbletea
- antonmedv/fx
- gizak/termui
- jroimartin/gocui
- charmbracelet/lipgloss
- charmbracelet/bubbles
- c-bata/go-prompt - prompt-toolkit. ☆`5,439`
- pterm/pterm - platform compatible. ☆`5,314`
- schollz/progressbar - safe progress bar for Golang applications ☆`4,611`
- mum4k/termdash
- guptarohit/asciigraph
- briandowns/spinner
- vbauerster/mpb
- muesli/termenv
- gookit/color
- logrusorgru/aurora - colors that supports Printf/Sprintf methods ☆`1,475`
- mattn/go-isatty
- mattn/go-colorable
- Delta456/box-cli-maker
- Evertras/bubble-table
- cyucelen/marker
-
Standard CLI
- spf13/cobra
- urfave/cli
- elves/elvish
- alecthomas/kingpin
- dnote/dnote
- jessevdk/go-flags
- spf13/pflag - in replacement for Go's flag package, implementing POSIX/GNU-style --flags. ☆`2,672`
- alexflint/go-arg - based argument parsing in Go ☆`2,210`
- nanovms/ops - build and run nanos unikernels ☆`1,442`
- carapace-sh/carapace-bin - shell completion binary. ☆`1,612`
- posener/complete
- carapace-sh/carapace - shell completion library. ☆`1,032`
- leaanthony/clir
- urfave/sflags
- hedzr/cmdr - compliant command-line UI (CLI) parser and Hierarchical-configuration operations ☆`140`
- reeflective/readline
- cristalhq/acmd
- codingconcepts/env - based environment configuration for structs ☆`126`
- reeflective/console - loop application library for Cobra commands (powerful, ready-to-run and easy to use) ☆`100`
- DavidGamba/go-getoptions - in auto-completion support. ☆`61`
- dixonwille/wlog - platform color and concurrency. ☆`67`
- nyaosorg/go-readline-ny
- hashicorp/cli - line interfaces. ☆`32`
- sgreben/flagvar
- carapace-sh/carapace-spec - shell completion spec. ☆`25`
- jxskiss/mcli
-
-
Concurrency
-
Stream Processing
-
-
Configuration
-
Standard CLI
- spf13/viper
- bytedance/sonic
- caarlos0/env - dependencies library to parse environment variables into structs ☆`5,897`
- knadh/koanf
- alecthomas/kong - line parser for Go ☆`2,880`
- ilyakaznacheev/cleanenv
- adrg/xdg
- cristalhq/aconfig
- gookit/config
- kkyr/fig
- hjson/hjson-go
- nil-go/konf
- vrischmann/envconfig
- chaindead/zerocfg - effort, concise configuration management that avoids boilerplate and repetitive actions. ☆`198`
- beatlabs/harvester
- BoRuDar/configuration
- gurkankaymak/hocon
- go-simpler/env
- omeid/uconfig - dependency, and extendable configuration management library for Go ☆`72`
- num30/config
- PaddleHQ/go-aws-ssm
- sakirsensoy/genv
- dsbasko/go-cfg
- wkhere/bcl
- greencoda/confiq
- romshark/yamagiconf
- nasermirzaei89/env
- deatil/go-array
- atelpis/enflag - focused Golang config: unify Env & Flag parsing in one call with minimal code and zero dependencies. ☆`35`
-
-
Continuous Integration
-
Standard CLI
- harness/harness - to-end developer platform with Source Control Management, CI/CD Pipelines, Hosted Developer Environments, and Artifact Registries. ☆`33,712`
- woodpecker-ci/woodpecker
- ovh/cds - Grade Continuous Delivery & DevOps Automation Open Source Platform ☆`4,787`
- raviqqe/muffet
- vladopajic/go-test-coverage - test-coverage is a tool designed to report issues when test coverage falls below a specified threshold ☆`205`
- nikogura/gomason
- opnlabs/dot
- gha-common/go-beautiful-html-coverage
-
-
Credits
-
Utility/Miscellaneous
-
-
CSS Preprocessors
-
Standard CLI
-
-
Database
-
Caches
- golang/groupcache - filling library, intended as a replacement for memcached in many cases. ☆`13,289`
- hypermodeinc/ristretto - bound Go cache ☆`6,524`
- eko/gocache
- bluele/gcache - memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC ☆`2,724`
- VictoriaMetrics/fastcache - safe inmemory cache for big number of entries in Go. Minimizes GC overhead ☆`2,301`
- maypok86/otter
- viccon/sturdyc
- jellydator/ttlcache - memory cache with item expiration and generics ☆`1,195`
- EchoVault/SugarDB - memory alternative to Redis. ☆`518`
- faabiosr/cachego - Multiple drivers ☆`373`
- Yiling-J/theine-go - memory cache ☆`359`
- elastic/go-freelru
- naughtygopher/pocache
- erni27/imcache - dependency generic in-memory cache Go library ☆`123`
- OrlovEvgeny/go-mcache - throughput, sharded in-memory KV cache for Go with minimal allocations ☆`101`
- zekroTJA/timedmap - value pairs. ☆`74`
- codingsince1985/couchcache - service in Go backed by Couchbase ☆`66`
- mdaliyan/icache - safe, zero-dependency, key-value, in-memory cache ☆`23`
-
Programming Languages
Categories
Database
95
Software Packages
85
Utilities
84
Networking
68
Miscellaneous
54
Command Line
47
Testing
46
Third-party APIs
43
Distributed Systems
40
Text Processing
35
Web Frameworks
35
Database Drivers
35
Data Structures and Algorithms
34
Messaging
31
Configuration
29
Security
25
Authentication and OAuth
25
Logging
22
Images
21
File Handling
18
Server Applications
18
Game Development
17
Code Analysis
17
GUI
17
Financial
17
Email
16
Embeddable Scripting Languages
15
Natural Language Processing
15
JSON
14
Goroutines
12
Go Tools
12
Science and Data Analysis
11
Bot Building
11
ORM
11
Job Scheduler
11
Machine Learning
10
Geographic
10
Middlewares
10
Video
9
Template Engines
9
Generators
9
Validation
8
Routers
8
Query Language
8
Serialization
8
Continuous Integration
8
Blockchain
8
Benchmarks
7
Audio and Music
7
Artificial Intelligence
7
Date and Time
7
Gophers
7
Error Handling
7
UUID
6
Forms
6
Go Compilers
5
Performance
5
Stream Processing
5
Microsoft Office
5
Editor Plugins
5
IoT (Internet of Things)
5
Workflow Frameworks
5
OpenGL
5
Build Automation
5
Actor Model
4
Zero Trust
4
Functional
4
Version Control
4
Go Generate Tools
3
Package Management
3
Webhooks Server
3
WebAssembly
3
Hardware
3
XML
3
Windows
2
CSS Preprocessors
2
Data Integration Frameworks
2
Finance & Blockchain
2
Concurrency
2
Web Development
2
Reflection
2
Dynamic DNS
2
Testing & Quality
2
Science
2
Queues & Pub/Sub
1
Style Guides
1
Workflow & Scheduling
1
Credits
1
Resource Embedding
1
Scripting
1
CLI & Terminal
1
Auth
1
Databases
1
Sub Categories
Search and Analytic Databases
344
Utility/Miscellaneous
219
HTTP Clients
119
Standard CLI
67
DevOps Tools
54
Transliteration
52
Other Software
46
Databases Implemented in Go
32
Testing Frameworks
27
Advanced Console UIs
22
Uncategorized
22
Caches
20
Dependency Injection
15
Database Tools
15
SQL Query Builders
15
Project Layout
14
Database Schema Migration
14
NoSQL Database Drivers
14
Relational Database Drivers
13
Mock
13
Microsoft Word
11
Parsers/Encoders/Decoders
10
Markup Languages
8
Translation
6
Text Analysis
5
Scrapers
5
Queues
5
Miscellaneous Data Structures and Algorithms
4
Strings
4
Formatters
4
Morphological Analyzers
4
Bloom and Cuckoo Filters
4
Maps
4
Interfaces to Multiple Backends
4
Selenium and browser control tools
4
Microsoft Excel
3
Bit-packing and Compression
3
Clients & Libraries
3
Tokenizers
2
Sanitation
2
Sets
2
Data Structure and Algorithm Collections
2
Bit Sets
2
Regular Expressions
2
Stream Processing
2
CLI Tools
1
Language Detection
1
Trees
1
Blockchain
1
WAF & Protection
1
Pipes
1
Payment APIs
1
DNS
1
Routers
1
Workflow Frameworks
1
VPN & Tunneling
1
Fuzzing
1
Authorization
1
Browser Automation
1
Web Frameworks
1
Fail injection
1
Embeddable Languages
1
Slugifiers
1
Code Analysis
1
Nullable Types
1
Keywords
golang
743
go
690
database
67
golang-library
61
cli
60
json
46
sql
45
kubernetes
41
http
39
testing
37
framework
37
docker
36
mysql
36
postgresql
36
distributed-systems
28
golang-package
28
library
27
security
26
middleware
25
sqlite
23
redis
23
microservice
23
performance
23
cloud-native
23
microservices
21
grpc
21
devops
21
command-line
21
orm
20
concurrency
20
parser
19
terminal
19
cache
18
web
17
server
16
configuration
16
api
16
proxy
15
windows
15
monitoring
15
dependency-injection
15
linux
15
generics
15
rpc
15
postgres
15
xml
15
tui
14
config
14
logging
14
mongodb
14