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