Awesome Go Overview
Structured collection of Go frameworks, libraries, tools, and resources. Automatically maintained and up-to-date with metadata, filtering, and comprehensive categorization.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 abordage/awesome-go · ⭐ 7 · 🏷️ Programming Languages
Awesome Go
Automated. Curated. Ranked.
Go libraries, tools, and applications from the community. This awesome list is automatically maintained with daily GitHub API updates. Projects are re-ranked daily based on current activity metrics.
Daily process: Merge community PRs → Scan repos → Filter stale projects → Recalculate scores → Rebuild list
- AI & Machine Learning
- Audio & Video
- Auth
- Bots & Chat
- CLI & Terminal
- Concurrency
- Configuration
- Data Formats
- Data Structures
- Databases
- DevOps & Build
- Finance & Blockchain
- GUI & Desktop
- Game Development
- Geospatial
- Go Tooling
- Hardware & IoT
- Networking
- Queues & Pub/Sub
- Science
- Scripting
- Security
- Testing & Quality
- Text & NLP
- Third-party APIs
- Utilities
- Version Control & Packages
- Web Development
- Workflow & Scheduling
AI & Machine Learning
AI APIs
- sashabaranov/go-openai (⭐11k) — OpenAI API client for Go ☆
10,812 - wit-ai/wit-go (⭐170) — Go client for wit.ai HTTP API ☆
170
Artificial Intelligence
- ollama/ollama (⭐185k) — Run LLMs locally ☆
186,486 - mudler/LocalAI (⭐50k) — Local OpenAI alternative ☆
50,281 - tmc/langchaingo (⭐9.8k) — LangChain for Go, the easiest way to write LLM-based programs in Go ☆
9,773 - maximhq/bifrost (⭐9.2k) — Fastest LLM gateway for Go ☆
9,461 - philippgille/chromem-go (⭐1.1k) — Embeddable vector database for Go ☆
1,076 - universal-tool-calling-protocol/go-utcp (⭐130) — Official Go implementation of the UTCP ☆
133 - presbrey/ollamafarm (⭐103) — Manage multiple Ollama instances ☆
103
Machine Learning
- gomlx/gomlx (⭐1.7k) — GoMLX: An Accelerated Machine Learning Framework For Go ☆
1,669 - jbrukh/bayesian (⭐816) — Naive Bayesian Classification for Golang. ☆
816 - knights-analytics/hugot (⭐661) — Onnx transformer pipelines in Golang ☆
661
Audio & Video
Audio
- ebitengine/oto (⭐2k) — A low-level library to play sound on multiple platforms ☆
1,982 - gordonklaus/portaudio (⭐845) — Go bindings for the PortAudio audio I/O library ☆
846 - gen2brain/malgo (⭐436) — Mini audio library ☆
437 - mewkiz/flac (⭐365) — Package flac provides access to FLAC (Free Lossless Audio Codec) streams. ☆
365 - tosone/minimp3 (⭐134) — Decode mp3 ☆
135
Images
- hybridgroup/gocv (⭐7.5k) — Computer vision with OpenCV 4 ☆
7,516 - anthonynsimon/bild (⭐4.2k) — Image processing algorithms in pure Go ☆
4,220 - cshum/imagor (⭐4.1k) — Fast, secure image processing server and Go library, using libvips ☆
4,057 - thoas/picfit (⭐2.3k) — An image resizing server written in Go ☆
2,342 - gographics/imagick (⭐1.9k) — Go binding to ImageMagick's MagickWand C API ☆
1,878 - tdewolff/canvas (⭐1.8k) — Vector graphics in Go ☆
1,847 - davidbyttow/govips (⭐1.7k) — A lightning fast image processing and resizing library for Go ☆
1,683 - yeqown/go-qrcode (⭐866) — Customizable QR code generator ☆
868 - HugoSmits86/nativewebp (⭐462) — Native webp encoder for Go ☆
462 - auyer/steganography (⭐354) — LSB steganography in pure Go ☆
354 - kolesa-team/go-webp (⭐314) — Simple and fast webp library for golang ☆
314 - qmuntal/gltf (⭐288) — Go library for encoding glTF 2.0 files ☆
289 - Pixboost/transformimgs (⭐291) — Open source image CDN. ☆
292 - ungerik/go-cairo (⭐152) — Go binding for the cairo graphics library ☆
152 - aofei/cameron (⭐131) — An avatar generator for Go. ☆
131 - piglig/go-qr (⭐70) — Zero-dependency QR Code generator and decoder for Go ☆
70
Video
- asticode/go-astiav (⭐747) — Golang ffmpeg and libav C bindings ☆
748 - asticode/go-astisub (⭐721) — Manipulate subtitles in Go ☆
721 - Eyevinn/mp4ff (⭐666) — MP4/ISOBMFF tools and library ☆
666 - asticode/go-astits (⭐617) — Demux and mux MPEG Transport Streams (.ts) natively in GO ☆
617 - adrg/libvlc-go (⭐510) — Go bindings for libVLC ☆
509 - Eyevinn/hls-m3u8 (⭐72) — HLS m3u8 library in Go ☆
73 - jonoton/scout (⭐30) — Video surveillance with motion detection ☆
30 - unki2aut/go-mpd (⭐32) — MPEG-DASH manifest library ☆
32
Auth
Authentication
- golang-jwt/jwt (⭐9.3k) — Go implementation of JSON Web Tokens (JWT). ☆
9,267 - markbates/goth (⭐6.6k) — Multi-provider authentication ☆
6,625 - golang/oauth2 (⭐5.9k) — Go OAuth2 ☆
5,908 - aarondl/authboss (⭐4.2k) — The boss of http auth. ☆
4,204 - alexedwards/scs (⭐2.6k) — HTTP Session Management for Go ☆
2,639 - lestrrat-go/jwx (⭐2.4k) — Complete JWx implementation ☆
2,445 - openshift/osin (⭐1.9k) — Golang OAuth2 server library ☆
1,934 - dghubble/gologin (⭐2k) — Go login handlers for authentication providers (OAuth1, OAuth2) ☆
1,955 - zitadel/oidc (⭐1.9k) — OpenID Connect client and server ☆
1,921 - go-jose/go-jose (⭐544) — An implementation of JOSE standards (JWE, JWS, JWT) in Go ☆
545 - abraithwaite/jeff (⭐270) — Jeff provides the simplest way to manage web sessions in Go. ☆
270 - leodip/goiabada (⭐204) — Goiabada is an OAuth2 / OpenID Connect server written in Go. ☆
204 - jellydator/sessionup (⭐131) — Straightforward HTTP session management ☆
131 - brianvoe/sjwt (⭐123) — Simple JWT Golang ☆
123 - essentialkaos/branca (⭐100) — Encrypted API tokens ☆
100 - mengzhuo/cookiestxt (⭐23) — cookiestxt implement parser of cookies txt format ☆
23
Authorization
- apache/casbin (⭐20k) — Authorization library for Go ☆
20,489 - openfga/openfga (⭐6.1k) — Fine-grained authorization server ☆
6,123 - ory/keto (⭐5.4k) — Customizable permission server ☆
5,421 - cerbos/cerbos (⭐4.6k) — Open core authorization layer ☆
4,653
Bots & Chat
Bot Frameworks
- tucnak/telebot (⭐4.6k) — Telebot is a Telegram bot framework in Go. ☆
4,630 - go-telegram/bot (⭐1.9k) — Telegram Bot API Go framework ☆
1,878 - mymmrac/telego (⭐1.1k) — Telegram Bot API library for Go ☆
1,080 - diamondburned/arikawa (⭐603) — A Golang library and framework for the Discord API. ☆
607 - NicoNex/echotron (⭐447) — An elegant and concurrent library for the Telegram bot API in Go. ☆
448 - gempir/go-twitch-irc (⭐405) — go irc client for twitch.tv ☆
405 - innogames/slack-bot (⭐211) — Slack bot for Jenkins, Jira, PRs ☆
211 - mr-linch/go-tg (⭐135) — Telegram Bot API client ☆
136 - slack-io/slacker (⭐62) — Slack Bot Framework ☆
63 - onrik/micha (⭐35) — Client lib for Telegram bot api ☆
35
Chat APIs
- bwmarrin/discordgo (⭐6k) — (Golang) Go bindings for Discord ☆
5,998 - slack-go/slack (⭐5k) — Slack API in Go ☆
4,972 - huandu/facebook (⭐1.5k) — A Facebook Graph API SDK For Go. ☆
1,490 - chyroc/lark (⭐476) — Lark/Feishu Open API SDK ☆
476 - go-lark/lark (⭐249) — Feishu/Lark SDK for Go ☆
249 - switchupcb/disgo (⭐116) — Next-gen Discord API library ☆
116
CLI & Terminal
Advanced Console UIs
- charmbracelet/bubbletea (⭐46k) — A powerful little TUI framework ☆
45,661 - antonmedv/fx (⭐21k) — Terminal JSON viewer & processor ☆
20,711 - gizak/termui (⭐14k) — Golang terminal dashboard ☆
13,581 - charmbracelet/lipgloss (⭐12k) — Style definitions for nice terminal layouts ☆
11,986 - jroimartin/gocui (⭐11k) — Minimalist Go package aimed at creating Console User Interfaces. ☆
10,616 - charmbracelet/bubbles (⭐9k) — TUI components for Bubble Tea ☆
9,039 - pterm/pterm (⭐5.6k) — Modern terminal output library ☆
5,567 - c-bata/go-prompt (⭐5.5k) — Interactive prompts for Go ☆
5,497 - schollz/progressbar (⭐4.7k) — Thread-safe progress bar ☆
4,707 - guptarohit/asciigraph (⭐3.1k) — ASCII line graphs in terminal ☆
3,102 - mum4k/termdash (⭐3k) — Terminal-based dashboard ☆
3,045 - briandowns/spinner (⭐2.5k) — Terminal spinner indicators ☆
2,533 - vbauerster/mpb (⭐2.5k) — Multi progress bar ☆
2,513 - muesli/termenv (⭐2k) — Terminal color support ☆
2,030 - gookit/color (⭐1.6k) — Terminal color rendering ☆
1,608 - logrusorgru/aurora (⭐1.5k) — ANSI colors for Printf ☆
1,492 - mattn/go-isatty (⭐927) — Check if terminal is TTY ☆
927 - mattn/go-colorable (⭐817) — Colorable writer for Windows ☆
818 - box-cli-maker/box-cli-maker (⭐667) — Render highly customizable boxes in the terminal ☆
667 - Evertras/bubble-table (⭐578) — Table component for Bubble Tea ☆
578 - DMcP89/tinycare-tui (⭐22) — TUI application written in GO inspired by tiny-care-terminal ☆
22
Standard CLI
- spf13/cobra (⭐45k) — A Commander for modern Go CLI interactions ☆
44,847 - urfave/cli (⭐24k) — Fast CLI framework for Go ☆
24,317 - elves/elvish (⭐6.4k) — Scripting shell for Go ☆
6,397 - alecthomas/kingpin (⭐3.6k) — Command-line parser ☆
3,567 - dnote/dnote (⭐3.1k) — Command-line notebook ☆
3,093 - spf13/pflag (⭐2.8k) — POSIX/GNU-style flags ☆
2,784 - jessevdk/go-flags (⭐2.7k) — Command-line option parser ☆
2,694 - alexflint/go-arg (⭐2.3k) — Struct-based argument parsing ☆
2,291 - carapace-sh/carapace-bin (⭐2k) — Multi-shell completion binary ☆
2,011 - nanovms/ops (⭐1.5k) — Build and run unikernels ☆
1,527 - carapace-sh/carapace (⭐1.5k) — Multi-shell completion library ☆
1,484 - peterh/liner (⭐1.1k) — Pure Go line editor with history, inspired by linenoise ☆
1,101 - ddddddO/gtree (⭐365) — Generate ASCII tree from Markdown ☆
365 - reeflective/readline (⭐152) — Shell library with inputrc ☆
152 - urfave/sflags (⭐168) — Generate flags from structs ☆
168 - hedzr/cmdr (⭐143) — POSIX-compliant CLI parser ☆
144 - reeflective/console (⭐117) — Console library for Cobra ☆
117 - jxskiss/mcli (⭐47) — Minimal but powerful CLI ☆
47 - hashicorp/cli (⭐43) — CLI library for Go ☆
43 - dixonwille/wlog (⭐67) — Cross-platform logging ☆
67 - nyaosorg/go-readline-ny (⭐37) — Readline for Go ☆
37 - carapace-sh/carapace-spec (⭐36) — Multi-shell completion library ☆
36 - DavidGamba/go-getoptions (⭐59) — Command line option parser with completion ☆
59
Concurrency
Actor Model
- asynkron/protoactor-go (⭐5.5k) — Ultra fast distributed actors for Go ☆
5,518 - ergo-services/ergo (⭐4.7k) — Actor framework with network transparency ☆
4,698 - anthdm/hollywood (⭐2.3k) — Blazingly fast and light-weight Actor engine written in Golang ☆
2,347 - Tochemey/goakt (⭐390) — Distributed actor framework ☆
390
Goroutines
- panjf2000/ants (⭐15k) — ants is the most powerful and reliable pooling solution for Go. ☆
14,523 - benmanns/goworker (⭐2.8k) — Resque-compatible background worker ☆
2,846 - alitto/pond (⭐2.2k) — High-performance worker pool ☆
2,206 - destel/rill (⭐1.9k) — Channel-based concurrency toolkit ☆
1,898 - vladopajic/go-actor (⭐313) — Actor model library ☆
313 - reugn/async (⭐318) — Async computation package ☆
314 - timandy/routine (⭐291) — ThreadLocal for Go ☆
291 - mborders/artifex (⭐214) — In-memory job queue ☆
214
Stream Processing
- reugn/go-streams (⭐2.2k) — Stream processing library ☆
2,178 - Breeze0806/go-etl (⭐192) — ETL toolset for Go ☆
193 - mariomac/gostream (⭐174) — Java Streams port for Go ☆
174 - fulminate-io/machine (⭐167) — Machine is a workflow/pipeline library for processing data ☆
167 - Primetalk/goio (⭐89) — IO, Stream and Fiber for Go, in the style of cats and fs2 ☆
90 - rulego/streamsql (⭐63) — SQL-based stream processing for IoT ☆
65
Configuration
- spf13/viper (⭐31k) — Go configuration with fangs ☆
30,507 - caarlos0/env (⭐6.4k) — Parse environment variables to structs ☆
6,361 - knadh/koanf (⭐4.2k) — Lightweight config management ☆
4,235 - alecthomas/kong (⭐3.2k) — Command-line parser for Go ☆
3,198 - adrg/xdg (⭐1k) — XDG Base Directory implementation ☆
1,027 - cristalhq/aconfig (⭐655) — Simple config loader ☆
655 - gookit/config (⭐585) — Config management with formats ☆
585 - nil-go/konf (⭐397) — Simplest config loader for Go ☆
397 - hjson/hjson-go (⭐359) — Hjson for Go ☆
359 - kkyr/fig (⭐383) — Minimalist config library ☆
383 - vrischmann/envconfig (⭐249) — Env config library ☆
250 - chaindead/zerocfg (⭐200) — Zero-effort config management ☆
200 - gurkankaymak/hocon (⭐91) — HOCON config library for Go ☆
91 - BoRuDar/configuration (⭐108) — Set struct fields from env, flags, files ☆
108 - PaddleHQ/go-aws-ssm (⭐67) — AWS System Manager interface ☆
67 - omeid/uconfig (⭐75) — Lightweight config management ☆
75 - num30/config (⭐61) — Declarative configuration ☆
61 - wkhere/bcl (⭐34) — Basic Configuration Language ☆
34 - sakirsensoy/genv (⭐45) — Easy env variable handling ☆
45 - romshark/yamagiconf (⭐19) — YAML config framework ☆
19 - greencoda/confiq (⭐39) — Config struct decoder ☆
39 - atelpis/enflag (⭐39) — Unify env and flag parsing ☆
39 - deatil/go-array (⭐23) — Read/set map, slice, JSON data ☆
23 - nasermirzaei89/env (⭐22) — Zero-dep env package ☆
22
Data Formats
JSON
- tidwall/gjson (⭐16k) — Fast JSON value extraction ☆
15,560 - bytedance/sonic (⭐9.6k) — A blazingly fast JSON serializing & deserializing library ☆
9,654 - valyala/fastjson (⭐2.5k) — Fast JSON parser for Go ☆
2,467 - ohler55/ojg (⭐956) — Optimized JSON for Go ☆
957 - wI2L/jsondiff (⭐633) — JSON Patch diff computation ☆
634 - spyzhov/ajson (⭐295) — Abstract JSON with JSONPath ☆
295 - Andrew-M-C/go.jsonvalue (⭐201) — Unstructured JSON solution ☆
201 - romshark/jscan (⭐101) — High-performance JSON iterator ☆
101 - iOliverNguyen/ujson (⭐85) — Minimal JSON parser ☆
85 - neilotoole/jsoncolor (⭐54) — Colorized JSON output ☆
54 - simonnilsson/ask (⭐59) — Nested property access for maps and slices ☆
59
Serialization
- golang/protobuf (⭐10k) — Protocol buffers for Go ☆
10,073 - ugorji/go (⭐2k) — Codec for msgpack, cbor, json ☆
1,966 - fxamacker/cbor (⭐1.1k) — CBOR codec with extensions ☆
1,106 - linkedin/goavro (⭐1.1k) — Goavro is a library that encodes and decodes Avro data. ☆
1,074 - jszwec/csvutil (⭐1k) — CSV to struct mapping ☆
1,038 - o1egl/fwencoder (⭐27) — Fixed width file parser ☆
27
XML
- miku/zek (⭐821) — Generate Go struct from XML ☆
822 - antchfx/xpath (⭐743) — XPath for Go ☆
744 - antchfx/xmlquery (⭐490) — XPath XML query ☆
490
Data Structures
Bit-packing and Compression
- RoaringBitmap/roaring (⭐3k) — Compressed bitmaps for Go ☆
2,954 - iancmcc/bingo (⭐52) — Zero-allocation binary encoding ☆
52
Bloom and Cuckoo Filters
- bits-and-blooms/bloom (⭐2.8k) — Bloom filter implementation ☆
2,836 - tylertreat/BoomFilters (⭐1.6k) — Probabilistic data structures for streams ☆
1,647 - OldPanda/bloomfilter (⭐21) — Bloom filter compatible with pybloom ☆
21
Maps
- mhmtszr/concurrent-swiss-map (⭐258) — Thread-safe concurrent hash map ☆
258 - lrita/cmap (⭐104) — a thread-safe concurrent map for go ☆
104 - goradd/maps (⭐54) — Generic map library for Go ☆
54 - srfrog/dict (⭐48) — Python-like dictionaries for Go ☆
48
Miscellaneous
- Workiva/go-datastructures (⭐8k) — Performant, threadsafe data structures ☆
7,966 - deckarep/golang-set (⭐4.8k) — Generic set type for Go ☆
4,777 - bits-and-blooms/bitset (⭐1.5k) — Go package implementing bitsets ☆
1,514 - liyue201/gostl (⭐1.1k) — Data structures modeled on C++ STL ☆
1,145 - axiomhq/hyperloglog (⭐1.1k) — HyperLogLog with optimizations ☆
1,059 - kelindar/bitmap (⭐385) — Simple dense bitmap index in Go with binary operators ☆
385 - seiflotfy/count-min-log (⭐70) — Go implementation of Count-Min-Log ☆
70 - s0rg/quadtree (⭐41) — Generic, zero-alloc, 100%-test covered Quadtree for golang ☆
41 - nazar256/parapipe (⭐38) — Paralleling pipeline ☆
38 - StudioSol/set (⭐30) — Simple set data structure ☆
30 - bobg/merkle (⭐24) — Merkle hash trees ☆
24
Queues
- gammazero/deque (⭐790) — Fast ring-buffer deque (double-ended queue) ☆
790 - adrianbrad/queue (⭐371) — Multiple queue implementations ☆
370 - mikestefanello/backlite (⭐157) — SQLite-backed task queues ☆
157 - embano1/memlog (⭐143) — A Kafka log inspired in-memory and append-only data structure ☆
143
Databases
Caches
- golang/groupcache (⭐13k) — Distributed cache library ☆
13,336 - dgraph-io/ristretto (⭐7k) — A high performance memory-bound Go cache ☆
7,009 - eko/gocache (⭐2.9k) — Multi-store caching library ☆
2,891 - maypok86/otter (⭐2.7k) — A high performance caching library for Go ☆
2,712 - VictoriaMetrics/fastcache (⭐2.4k) — Fast in-memory cache for Go ☆
2,373 - jellydator/ttlcache (⭐1.3k) — An in-memory cache with item expiration and generics ☆
1,315 - viccon/sturdyc (⭐1.3k) — Caching with advanced concurrency ☆
1,284 - EchoVault/SugarDB (⭐539) — Embeddable and distributed in-memory alternative to Redis. ☆
539 - Yiling-J/theine-go (⭐381) — high performance in-memory cache ☆
380 - elastic/go-freelru (⭐271) — GC-less, fast and generic LRU cache for Go ☆
271 - samber/hot (⭐273) — In-memory caching library for read-intensive Go applications ☆
274 - naughtygopher/pocache (⭐238) — Preemptive optimistic caching ☆
238 - OrlovEvgeny/go-mcache (⭐107) — Sharded in-memory KV cache ☆
107 - erni27/imcache (⭐123) — A zero-dependency generic in-memory cache Go library ☆
123 - mdaliyan/icache (⭐23) — High-performance generic cache ☆
23
Database Schema Migration
- golang-migrate/migrate (⭐19k) — Database migrations. CLI and Golang library. ☆
19,014 - bytebase/bytebase (⭐15k) — Database DevSecOps platform ☆
14,691 - pressly/goose (⭐12k) — A database migration tool. Supports SQL migrations and Go functions. ☆
11,673 - ariga/atlas (⭐8.8k) — Declarative schema migrations with schema-as-code workflows ☆
8,812 - amacneil/dbmate (⭐7.5k) — A lightweight, framework-agnostic database migration tool. ☆
7,530 - rubenv/sql-migrate (⭐3.4k) — SQL schema migration tool for Go. ☆
3,415 - skeema/skeema (⭐1.4k) — Declarative pure-SQL schema management for MySQL and MariaDB ☆
1,381 - go-gormigrate/gormigrate (⭐1.2k) — Minimalistic database migration helper for Gorm ORM ☆
1,179 - sunary/sqlize (⭐125) — SQL parsing and migration toolkit ☆
125 - robinjoseph08/go-pg-migrations (⭐87) — A Go package to help write migrations with go-pg/pg. ☆
87 - adlio/schema (⭐44) — Embedded schema migration package for Go ☆
44 - khezen/avro (⭐49) — Apache AVRO for go ☆
49 - muir/libschema (⭐19) — database schema migrations on a per-library basis [Go] ☆
19
Database Tools
- vitessio/vitess (⭐21k) — Database clustering for MySQL ☆
21,410 - sosedoff/pgweb (⭐9.5k) — Cross-platform client for PostgreSQL databases ☆
9,553 - go-mysql-org/go-mysql (⭐5k) — a powerful mysql toolset with Go ☆
4,974 - prest/prest (⭐4.6k) — PostgreSQL REST API server ☆
4,632 - ContentSquare/chproxy (⭐1.5k) — Open-Source ClickHouse http proxy and load balancer ☆
1,489 - cybertec-postgresql/pg_timetable (⭐1.4k) — Advanced PostgreSQL scheduler ☆
1,408 - liweiyi88/onedump (⭐999) — Effortless database administration tool ☆
1,000 - HDT3213/rdb (⭐633) — Redis RDB parser for Go ☆
633 - nikepan/clickhouse-bulk (⭐512) — Batch inserts for ClickHouse ☆
512 - wesql/wescale (⭐316) — MySQL proxy with read/write split ☆
316 - gatewayd-io/gatewayd (⭐290) — database gateway for building data-driven applications ☆
290 - sj14/dbbench (⭐118) — Database benchmarking tool ☆
118 - bartventer/gorm-multitenancy (⭐87) — Multi-tenancy for GORM ☆
87 - kazhuravlev/database-gateway (⭐40) — Safe access to production databases ☆
40 - codingconcepts/dg (⭐46) — Generate CSV from data models ☆
46
Databases Implemented in Go
- prometheus/prometheus (⭐67k) — The Prometheus monitoring system and time series database. ☆
67,600 - milvus-io/milvus (⭐47k) — Cloud-native vector database ☆
46,626 - pingcap/tidb (⭐41k) — Cloud-native distributed SQL DB ☆
40,724 - cockroachdb/cockroach (⭐33k) — Cloud native distributed SQL database ☆
32,613 - influxdata/influxdb (⭐32k) — Scalable datastore for metrics, events, and real-time analytics ☆
31,802 - dolthub/dolt (⭐25k) — Dolt – Git for Data ☆
24,855 - dgraph-io/dgraph (⭐22k) — high-performance graph database for real-time use cases ☆
21,823 - VictoriaMetrics/VictoriaMetrics (⭐18k) — Fast time series database and monitoring ☆
18,072 - rqlite/rqlite (⭐18k) — Lightweight distributed SQLite ☆
17,937 - dgraph-io/badger (⭐16k) — Fast key-value DB in Go. ☆
15,801 - dicedb/dicedb (⭐11k) — Low-latency key/value engine on Valkey with storage tiers ☆
10,774 - etcd-io/bbolt (⭐9.8k) — An embedded key/value database for Go. ☆
9,814 - codenotary/immudb (⭐9k) — Immutable database with SQL ☆
9,049 - cockroachdb/pebble (⭐6.1k) — RocksDB/LevelDB inspired key-value database in Go ☆
6,080 - rosedblabs/rosedb (⭐4.9k) — Fast key/value storage engine ☆
4,889 - tidwall/buntdb (⭐4.9k) — Embeddable in-memory key/value DB ☆
4,871 - nalgeon/redka (⭐4.6k) — Redis re-implemented with SQL ☆
4,569 - nutsdb/nutsdb (⭐3.6k) — Simple embeddable key/value store ☆
3,584 - lindb/lindb (⭐3.1k) — Scalable time-series database ☆
3,066 - lotusdblabs/lotusdb (⭐2.3k) — Key-value database with LSM and B+ tree ☆
2,257 - akrylysov/pogreb (⭐1.4k) — Embedded key-value store for read-heavy workloads written in Go ☆
1,355 - objectbox/objectbox-go (⭐1.3k) — Embedded database for Go ☆
1,275 - couchbase/moss (⭐1k) — Simple, fast key-val storage ☆
1,015 - claygod/transaction (⭐137) — Embedded database for accounts transactions. ☆
137 - xgzlucario/rotom (⭐41) — Tiny Redis server in Go ☆
42
Distributed Storage
- seaweedfs/seaweedfs (⭐36k) — Fast distributed storage for blobs ☆
35,995 - juicedata/juicefs (⭐15k) — Distributed POSIX filesystem ☆
14,715
Interfaces to Multiple Backends
- philippgille/gokv (⭐828) — Key-value store abstraction ☆
830 - avito-tech/go-transaction-manager (⭐422) — Transaction manager for Go ☆
424 - viant/dsc (⭐37) — Datastore Connectivity in go ☆
37 - fogfish/dynamo (⭐24) — Generic Golang Key/Value trait for AWS storage services ☆
24
NoSQL Database Drivers
- redis/go-redis (⭐22k) — Redis Go client ☆
22,291 - gomodule/redigo (⭐9.8k) — Go client for Redis ☆
9,849 - mongodb/mongo-go-driver (⭐8.5k) — The Official Golang driver for MongoDB ☆
8,542 - bradfitz/gomemcache (⭐1.9k) — Go Memcached client library #golang ☆
1,886 - qiniu/qmgo (⭐1.4k) — Go driver for MongoDB ☆
1,356 - Kamva/mgm (⭐764) — MongoDB ODM for Go based on official driver ☆
763 - aerospike/aerospike-client-go (⭐458) — Aerospike Client Go ☆
458 - couchbase/gocb (⭐375) — The Couchbase Go SDK ☆
375 - go-kivik/kivik (⭐345) — CouchDB client interface ☆
346 - couchbase/go-couchbase (⭐321) — Couchbase client in Go ☆
321 - chenmingyong0423/go-mongox (⭐222) — MongoDB driver wrapper with generics ☆
222 - aliexpressru/gomemcached (⭐23) — Binary Memcached client with sharding ☆
23 - btnguyen2k/gocosmos (⭐22) — Go database/sql driver for Azure Cosmos DB SQL API ☆
22
ORM
- go-gorm/gorm (⭐40k) — The fantastic ORM library for Golang, aims to be developer friendly ☆
39,989 - ent/ent (⭐17k) — An entity framework for Go ☆
17,224 - aarondl/sqlboiler (⭐7k) — Generate a Go ORM tailored to your database schema. ☆
6,980 - uptrace/bun (⭐5k) — SQL-first Golang ORM ☆
5,002 - upper/db (⭐3.7k) — Data access layer for databases ☆
3,662 - stephenafamo/bob (⭐1.8k) — SQL builder with ORM generator ☆
1,801 - huandu/go-sqlbuilder (⭐1.7k) — SQL builder with zero-config ORM ☆
1,731 - go-rel/rel (⭐789) — Modern ORM for Golang ☆
789 - FrancoLiberali/cql (⭐17) — CQL: Compiled Query Language ☆
17 - hashicorp/go-dbw (⭐18) — A simple package that encapsulates database operations. ☆
18
Query Language
- 99designs/gqlgen (⭐11k) — go generate based graphql server library ☆
10,768 - TomWright/dasel (⭐8.1k) — Query and modify data formats ☆
8,060 - graph-gophers/graphql-go (⭐4.8k) — GraphQL server with a focus on ease of use ☆
4,752 - hashicorp/mql (⭐67) — Model Query Language (mql) is a query language for your database models. ☆
67 - AsaiYusuke/jsonpath (⭐32) — JSONPath query library ☆
32
Relational Database Drivers
- go-sql-driver/mysql (⭐15k) — MySQL driver for database/sql ☆
15,285 - jackc/pgx (⭐14k) — PostgreSQL driver and toolkit for Go ☆
14,391 - denisenkom/go-mssqldb (⭐1.9k) — Microsoft SQL server driver written in go language ☆
1,879 - ncruces/go-sqlite3 (⭐1.1k) — Go bindings to SQLite using wasm2go ☆
1,132 - godror/godror (⭐600) — GO DRiver for ORacle DB ☆
601 - cvilsmeier/sqinn-go (⭐547) — Golang SQLite without cgo ☆
548 - VinGarcia/ksql (⭐361) — A Simple and Powerful Golang SQL Library ☆
361 - surrealdb/surrealdb.go (⭐318) — SurrealDB SDK for Golang ☆
318 - nakagami/firebirdsql (⭐270) — Firebird RDBMS sql driver for Go (golang) ☆
270 - ydb-platform/ydb-go-sdk (⭐181) — Pure Go native and database/sql driver for YDB ☆
181 - rqlite/gorqlite (⭐187) — A Go client for rqlite, the distributed database built on SQLite ☆
187 - apache/calcite-avatica-go (⭐126) — Apache Calcite Go ☆
126
SQL Query Builders
- sqlc-dev/sqlc (⭐18k) — Generate type-safe code from SQL ☆
18,442 - xo/dbtpl (⭐3.9k) — Generate Go code for databases ☆
3,899 - go-jet/jet (⭐3.8k) — Type-safe SQL builder with codegen ☆
3,830 - doug-martin/goqu (⭐2.7k) — SQL builder and query library for golang ☆
2,676 - lqs/sqlingo (⭐456) — A lightweight DSL & ORM which helps you to write SQL in Go. ☆
456 - arthurkushman/buildsqlx (⭐185) — Go database query builder library for PostgreSQL ☆
185 - nullism/bqb (⭐195) — Lightweight query builder ☆
195 - JiveGroup/FluentSQL (⭐18) — Fluent SQL - flexible and powerful SQL string builder ☆
18
Search and Analytic Databases
- elastic/go-elasticsearch (⭐6.1k) — The official Go client for Elasticsearch ☆
6,071 - ClickHouse/clickhouse-go (⭐3.4k) — Golang driver for ClickHouse ☆
3,356 - sourcegraph/zoekt (⭐2k) — Fast trigram-based code search ☆
2,047 - sdqri/effdsl (⭐35) — Elasticsearch query builder for golang ☆
35
DevOps & Build
Backup
- restic/restic (⭐37k) — Fast, secure backup program ☆
37,110 - gilbertchen/duplicacy (⭐5.7k) — Cloud backup tool ☆
5,701
Build Automation
- air-verse/air (⭐24k) — Live reload for Go apps ☆
24,114 - go-task/task (⭐16k) — Fast cross-platform build tool inspired by Make ☆
16,330 - joerdav/xc (⭐1.4k) — Markdown defined task runner. ☆
1,415 - goyek/goyek (⭐701) — Task automation Go library ☆
702 - flowexec/flow (⭐139) — Local-first CLI for defining and running your project's workflows. ☆
139
CI/CD
- harness/harness (⭐39k) — End-to-end developer platform ☆
38,873 - woodpecker-ci/woodpecker (⭐8.1k) — Simple, powerful CI/CD engine ☆
8,149 - ovh/cds (⭐4.8k) — Enterprise CI/CD platform ☆
4,846 - raviqqe/muffet (⭐2.6k) — Fast website link checker ☆
2,622 - pipe-cd/pipecd (⭐1.4k) — The One CD for All {applications, platforms, operations} ☆
1,370 - jenkins-zh/jenkins-cli (⭐432) — Jenkins CLI allows you to manage your Jenkins in an easy way ☆
432 - vladopajic/go-test-coverage (⭐242) — Report test coverage threshold issues ☆
243 - appleboy/drone-scp (⭐174) — Copy files via SSH for Drone ☆
175 - nikogura/gomason (⭐70) — A tool for testing, building, signing, and publishing binaries. ☆
70 - appleboy/drone-jenkins (⭐43) — Drone plugin for trigger Jenkins jobs. ☆
43
Containers
- moby/moby (⭐72k) — Container ecosystem components ☆
72,361 - traefik/traefik (⭐66k) — The Cloud Native Application Proxy ☆
65,503 - ko-build/ko (⭐8.6k) — Build and deploy Go applications ☆
8,585 - s0rg/decompose (⭐141) — Reverse-engineering tool for docker environments ☆
144 - x1unix/docker-go-mingw (⭐56) — Docker for Go with MinGW toolchain ☆
56
DevOps Utilities
- go-gitea/gitea (⭐59k) — Self-hosted Git service ☆
58,989 - TwiN/gatus (⭐13k) — Developer-oriented status page with alerting ☆
12,686 - fleetdm/fleet (⭐7.1k) — Open device management ☆
7,169 - bitfield/script (⭐7k) — Making it easy to write shell-like scripts in Go ☆
7,042 - taubyte/tau (⭐5.2k) — Fullstack Workspace for Humans & Machines ☆
5,168 - megaease/easeprobe (⭐2.3k) — Service health monitoring tool ☆
2,297 - gabrie30/ghorg (⭐2.2k) — Clone entire GitHub orgs ☆
2,165 - ajvb/kala (⭐2.2k) — Modern Job Scheduler ☆
2,154 - yusufcanb/tlm (⭐1.5k) — Local CLI Copilot, powered by Ollama. ☆
1,488 - ovh/utask (⭐1.4k) — Automation engine with YAML config ☆
1,413 - TimothyYe/skm (⭐1.1k) — A simple and powerful SSH keys manager ☆
1,091 - scaleway/scaleway-cli (⭐1k) — Command Line Interface for Scaleway ☆
1,023 - alexliesenfeld/health (⭐834) — A simple and flexible health check library for Go. ☆
835 - kool-dev/kool (⭐729) — Dev to cloud web apps made easy ☆
727 - kevincobain2000/gobrew (⭐429) — Go version manager without root ☆
429 - appleboy/easyssh-proxy (⭐348) — Simple SSH protocol implementation ☆
348 - xitonix/trubka (⭐337) — A CLI tool for Kafka ☆
337 - thevxn/dish (⭐280) — A simple, remotely configurable monitoring service. ☆
280 - jkaninda/goma-gateway (⭐184) — Lightweight API gateway and proxy ☆
185 - datarootsio/tf-profile (⭐163) — Profile Terraform runs ☆
163 - kazhuravlev/healthcheck (⭐26) — Readiness probes for Kubernetes application ☆
26
Infrastructure
- hashicorp/packer (⭐16k) — Build machine images from config ☆
15,821 - pomerium/pomerium (⭐5.1k) — Pomerium is an identity and context-aware access proxy. ☆
5,100 - peak/s5cmd (⭐4.2k) — Parallel S3 and local filesystem execution tool. ☆
4,232 - aptly-dev/aptly (⭐2.9k) — aptly - Debian repository management tool ☆
2,892 - KusionStack/kusion (⭐1.3k) — Declarative platform orchestrator ☆
1,323 - oxyno-zeta/s3-proxy (⭐495) — S3 reverse proxy with auth ☆
495
Kubernetes
- kubernetes/kubernetes (⭐129k) — Production-Grade Container Scheduling and Management ☆
128,965 - k3s-io/k3s (⭐34k) — Lightweight Kubernetes ☆
34,368 - kubernetes/minikube (⭐32k) — Run Kubernetes locally ☆
32,232 - kubernetes-sigs/kind (⭐16k) — Kubernetes IN Docker - local clusters for testing Kubernetes ☆
15,604 - kubeshark/kubeshark (⭐12k) — API traffic analyzer for Kubernetes ☆
12,134 - flannel-io/flannel (⭐9.6k) — Network fabric for containers ☆
9,567 - getanteon/anteon (⭐8.5k) — eBPF Kubernetes monitoring tool ☆
8,513 - kubevela/kubevela (⭐7.9k) — The Modern Application Platform. ☆
7,918 - k3d-io/k3d (⭐6.6k) — Little helper to run CNCF's k3s in Docker ☆
6,615 - stefanprodan/podinfo (⭐6k) — Go microservice template for Kubernetes ☆
6,040 - apecloud/kubeblocks (⭐3.2k) — Kubernetes operator for databases ☆
3,167 - kubenetworks/kubevpn (⭐1.4k) — Connect to Kubernetes cluster network ☆
1,371 - abahmed/kwatch (⭐1k) — Watches Kubernetes and reports what broke, why, and what to do ☆
1,026
Load Testing
- grafana/k6 (⭐32k) — A modern load testing tool, using Go and JavaScript ☆
32,238 - tsenart/vegeta (⭐25k) — HTTP load testing tool and library. It's over 9000! ☆
25,244 - codesenberg/bombardier (⭐6.8k) — Fast cross-platform HTTP benchmarking tool written in Go ☆
6,855 - rogerwelin/cassowary (⭐811) — Modern cross-platform HTTP load-testing tool written in Go ☆
811
- axllent/mailpit (⭐11k) — An email and SMTP testing tool with API for developers ☆
10,891 - foxcpp/maddy (⭐6.1k) — Composable all-in-one mail server. ☆
6,125 - mjl-/mox (⭐5.9k) — Modern secure mail server ☆
5,936 - matcornic/hermes (⭐3k) — Clean HTML email generator ☆
3,044 - AfterShip/email-verifier (⭐1.7k) — Email verification without sending emails ☆
1,656 - wneessen/go-mail (⭐1.5k) — Easy to use, yet comprehensive library for sending mails with Go ☆
1,513 - sendgrid/sendgrid-go (⭐1.1k) — The Official Twilio SendGrid Golang API Library ☆
1,062 - mailgun/mailgun-go (⭐743) — Go library for the Mailgun API. ☆
743 - xhit/go-simple-mail (⭐700) — Simple mail sending with TLS/SSL ☆
700 - emersion/go-message (⭐460) — Internet Message Format library ☆
460 - vanng822/go-premailer (⭐208) — Inline CSS for HTML mail ☆
208 - toorop/go-dkim (⭐99) — DKIM package for golang ☆
99 - dimuska139/go-email-normalizer (⭐79) — Normalize email addresses ☆
79 - valord577/mailx (⭐23) — A library that makes it easier to send email via SMTP. ☆
23
Finance & Blockchain
Blockchain
- ethereum/go-ethereum (⭐51k) — Go implementation of the Ethereum protocol ☆
51,473 - ipfs/kubo (⭐17k) — IPFS daemon with CLI, HTTP gateway, and RPC ☆
17,179 - lightningnetwork/lnd (⭐8.2k) — Lightning Network Daemon ☆
8,214 - cosmos/cosmos-sdk (⭐7.1k) — Framework for customizable interoperable blockchains ☆
7,089 - solana-foundation/solana-go (⭐1.6k) — Go SDK library and RPC client for the Solana Blockchain ☆
1,589 - gnolang/gno (⭐1.1k) — Interpreted Go virtual machine ☆
1,092 - cometbft/cometbft (⭐934) — Byzantine fault-tolerant consensus ☆
936 - ChainSafe/gossamer (⭐452) — Go Implementation of the Polkadot Host ☆
452
Financial
- shopspring/decimal (⭐7.5k) — Arbitrary-precision fixed-point decimal numbers in Go ☆
7,513 - achannarasappa/ticker (⭐6.3k) — Terminal stock and crypto tracker ☆
6,265 - Rhymond/go-money (⭐1.9k) — Go implementation of Fowler's Money pattern ☆
1,913 - c9s/bbgo (⭐1.7k) — The modern cryptocurrency trading bot framework written in Go. ☆
1,676 - formancehq/ledger (⭐1.5k) — The programmable open source core ledger for fintech ☆
1,478 - bojanz/currency (⭐644) — Currency handling for Go. ☆
645 - moov-io/ach (⭐570) — ACH file reader, writer, validator ☆
574 - invopop/gobl (⭐319) — Go Business Language ☆
319 - govalues/decimal (⭐251) — Correctly rounded decimals for Go ☆
251 - quagmt/udecimal (⭐200) — High-precision decimal library ☆
201 - jovandeginste/payme (⭐92) — QR code generator (ASCII & PNG) for SEPA payments ☆
92 - jokruger/dec128 (⭐55) — 128-bit fixed-point decimal with SQL NUMERIC semantics ☆
55 - nikolaydubina/fpmoney (⭐36) — Fixed-Point Decimal Money ☆
36 - nikolaydubina/fpdecimal (⭐34) — Fixed-Point Decimals ☆
34 - govalues/money (⭐57) — Correctly rounded monetary amounts and exchange rates for Go ☆
57
Payment APIs
- stripe/stripe-go (⭐2.7k) — Stripe API library for Go ☆
2,651 - plutov/paypal (⭐779) — Golang client for PayPal REST API ☆
779 - brunovenceslau/ynab.go (⭐79) — Client for YNAB API ☆
79
GUI & Desktop
GUI
- fyne-io/fyne (⭐29k) — Cross platform GUI toolkit in Go inspired by Material Design ☆
28,827 - webview/webview (⭐14k) — Tiny webview library for Go ☆
14,341 - go-vgo/robotgo (⭐11k) — Cross-platform RPA and GUI automation ☆
10,901 - maxence-charriere/go-app (⭐9k) — Build progressive web apps with Go and WASM ☆
8,982 - progrium/darwinkit (⭐5.4k) — Native Mac APIs for Go. Previously known as MacDriver ☆
5,441 - cogentcore/core (⭐2.4k) — Powerful GUI framework for Go ☆
2,353 - gotk3/gotk3 (⭐2.2k) — Go bindings for GTK3 ☆
2,214 - roblillack/spot (⭐1.3k) — React-like desktop GUI toolkit for Go ☆
1,248 - ncruces/zenity (⭐930) — Zenity dialogs for Golang, Windows, macOS ☆
932 - energye/energy (⭐620) — CEF-based GUI framework ☆
620 - AllenDang/cimgui-go (⭐544) — Auto generated Go wrapper for Dear ImGui via cimgui ☆
544 - richardwilkes/unison (⭐349) — Unified GUI toolkit for Go ☆
353
Windows
- gonutz/d3d9 (⭐165) — Direct3D9 wrapper for Go. ☆
165
Game Development
Game Engines
- hajimehoshi/ebiten (⭐14k) — A dead simple 2D game engine for Go ☆
13,618 - topfreegames/pitaya (⭐2.8k) — Game server with clustering support ☆
2,844 - xiaonanln/goworld (⭐2.7k) — Distributed game server engine ☆
2,722 - gen2brain/raylib-go (⭐2.6k) — Go bindings for raylib ☆
2,565 - oakmound/oak (⭐1.7k) — A pure Go game engine ☆
1,668 - gopxl/pixel (⭐393) — A hand-crafted 2D game library in Go. ☆
392 - ungerik/go3d (⭐344) — A performance oriented 2D/3D math package for Go ☆
344 - mlange-42/ark (⭐305) — Ark -- Archetype-based Entity Component System (ECS) for Go. ☆
306 - kelindar/tile (⭐226) — 2D grid engine for games ☆
227 - andygeiss/ecs (⭐177) — Entity Component System for games ☆
177 - gonutz/prototype (⭐109) — 2D game prototyping framework ☆
109 - s0rg/fantasyname (⭐44) — RinkWorks fantasy name generator for golang ☆
44 - s0rg/grid (⭐27) — Generic 2D grid ☆
27
OpenGL
- go-gl/glfw (⭐1.7k) — Go bindings for GLFW 3 ☆
1,693 - go-gl/gl (⭐1.2k) — Go bindings for OpenGL (generated via glow) ☆
1,209
Geospatial
- tidwall/tile38 (⭐9.8k) — Real-time Geospatial and Geofencing ☆
9,757 - golang/geo (⭐1.9k) — S2 geometry library in Go ☆
1,854 - consbio/mbtileserver (⭐794) — MBTiles server in Go ☆
795 - paulmach/osm (⭐471) — OpenStreetMap data library ☆
471 - uber/h3-go (⭐460) — H3 hexagonal geospatial indexing ☆
459 - airbusgeo/godal (⭐184) — GDAL wrapper for Go ☆
184 - peterstace/simplefeatures (⭐176) — OpenGIS Simple Feature implementation ☆
176 - wroge/wgs84 (⭐142) — Zero-dep coordinate transformations ☆
142
Go Tooling
Compilers
- gopherjs/gopherjs (⭐13k) — A compiler from Go to JavaScript for running Go code in a browser ☆
13,194 - yassinebenaid/bunster (⭐2.7k) — Compile shell scripts to static binaries. ☆
2,676 - go2hx/go2hx (⭐155) — Import Go libraries in Haxe ☆
155
Editor Plugins
- fatih/vim-go (⭐16k) — Go development plugin for Vim ☆
16,215 - visualfc/liteide (⭐7.8k) — LiteIDE is a simple, open source, cross-platform Go IDE. ☆
7,771 - nsf/gocode (⭐5k) — An autocompletion daemon for the Go programming language ☆
4,984 - golang/vscode-go (⭐4.3k) — Go extension for Visual Studio Code ☆
4,270 - dominikh/go-mode.el (⭐1.5k) — Emacs mode for the Go programming language ☆
1,456 - incu6us/goimports-reviser (⭐718) — Imports sorting and code formatting tool ☆
718
Generate Tools
- xuri/xgen (⭐425) — XSD parser and code generator ☆
426 - kazhuravlev/options-gen (⭐112) — Codegen for functional options in go projects ☆
112 - g4s8/envdoc (⭐100) — Go tool to generate documentation for environment variables ☆
100
Go Tools
- go-swagger/go-swagger (⭐10k) — Swagger 2.0 implementation for go ☆
10,011 - ondrajz/go-callvis (⭐6.5k) — Visualize call graph of a Go program using Graphviz ☆
6,527 - Zxilly/go-size-analyzer (⭐2.2k) — Analyze compiled Go binary size ☆
2,196 - safedep/vet (⭐1.1k) — Protect against malicious open source packages ☆
1,125 - pointlander/peg (⭐1.1k) — PEG parser generator for Go ☆
1,120 - janpfeifer/gonb (⭐1.1k) — Go notebook kernel for Jupyter ☆
1,054 - goccmack/gocc (⭐665) — Parser and scanner generator ☆
665 - iyashjayesh/monigo (⭐412) — Performance monitoring library ☆
413 - becheran/roumon (⭐237) — Universal goroutine monitor using pprof and termui ☆
237 - bitfield/gotestdox (⭐205) — A tool for formatting Go test results as readable documentation ☆
205 - ahmedakef/gotutor (⭐89) — Online Go Debugger & Visualizer ☆
89 - bobg/decouple (⭐36) — find overspecified function parameters in Go code ☆
36 - bobg/modver (⭐23) — a tool that helps you obey semantic versioning rules in your Go module ☆
23
Hardware & IoT
Hardware
- shirou/gopsutil (⭐12k) — psutil for golang ☆
11,938 - arduino/arduino-cli (⭐5.1k) — Arduino command line tool ☆
5,081 - jaypipes/ghw (⭐1.9k) — Go HardWare discovery/inspection library ☆
1,879 - zcalusic/sysinfo (⭐581) — Linux system information library ☆
581
IoT
- hybridgroup/gobot (⭐9.5k) — Robotics and IoT framework ☆
9,494 - lf-edge/ekuiper (⭐1.7k) — Lightweight data stream processing engine for IoT edge ☆
1,749 - rulego/rulego (⭐1.6k) — Lightweight rule engine framework ☆
1,634 - Edgenesis/shifu (⭐1.4k) — Kubernetes-native IoT gateway ☆
1,436 - e154/smart-home (⭐101) — software package for automation ☆
101 - maxatome/go-vitotrol (⭐24) — golang client library to Viessmann Vitotrol web service ☆
24
Networking
Consensus
- hashicorp/raft (⭐9.2k) — Golang implementation of the Raft consensus protocol ☆
9,165 - etcd-io/raft (⭐1.1k) — Raft library for maintaining a replicated state machine ☆
1,151 - vadiminshakov/committer (⭐45) — 2PC and 3PC protocols for Go ☆
45
DNS
- miekg/dns (⭐8.8k) — DNS library in Go ☆
8,811 - 0xERR0R/blocky (⭐7.1k) — DNS ad-blocker for local networks ☆
7,101 - hashicorp/mdns (⭐1.4k) — Simple mDNS client/server library in Golang ☆
1,397 - semihalev/sdns (⭐1.1k) — High-performance recursive DNS ☆
1,089 - FenkoHQ/dnsmonster (⭐361) — Passive DNS Capture and Monitoring Toolkit ☆
362 - joeig/go-powerdns (⭐106) — PowerDNS API client for Go (community project) ☆
106
Distributed Utilities
- luraproject/lura (⭐6.8k) — Ultra-performant API gateway ☆
6,802 - chrislusf/gleam (⭐3.6k) — Distributed map/reduce in Go ☆
3,569 - bsm/redislock (⭐1.8k) — Simplified distributed locking implementation using Redis ☆
1,775 - k8gb-io/k8gb (⭐1.3k) — A cloud native Kubernetes Global Balancer ☆
1,346 - temporalio/sdk-go (⭐996) — Temporal Go SDK ☆
998 - AppsFlyer/go-sundheit (⭐560) — Health checks library for Go ☆
561 - tarmac-project/tarmac (⭐345) — Functions as Monolith or Microservices ☆
345 - capillariesio/capillaries (⭐74) — Distributed batch data processing framework ☆
74 - pdupub/go-pdu (⭐50) — An PDU implementation in Go ☆
50 - mbrostami/consistenthash (⭐35) — Consistent hashing implementation ☆
35
HTTP & Proxy
- valyala/fasthttp (⭐23k) — Fast HTTP package for Go ☆
23,506 - elazarl/goproxy (⭐6.8k) — An HTTP proxy library for Go ☆
6,774 - wzshiming/httpproxy (⭐32) — HTTP proxy handler and dialer ☆
32
HTTP Clients
- go-resty/resty (⭐12k) — Simple HTTP, REST, and SSE client library for Go ☆
11,828 - imroc/req (⭐4.9k) — Simple Go HTTP client with Black Magic ☆
4,869 - gojek/heimdall (⭐2.8k) — An enhanced HTTP client for Go ☆
2,776 - hashicorp/go-retryablehttp (⭐2.4k) — Retryable HTTP client in Go ☆
2,358 - bogdanfinn/tls-client (⭐1.9k) — HTTP client with TLS fingerprint spoofing ☆
1,938 - dghubble/sling (⭐1.7k) — A Go HTTP client library for creating and sending API requests ☆
1,719 - gophertools/requests (⭐1.7k) — HTTP requests for Gophers ☆
1,671 - Noooste/azuretls-client (⭐471) — HTTP client to spoof TLS/JA3 fingerprint ☆
472 - opus-domini/fast-shot (⭐126) — Fluent HTTP client for Go ☆
127 - NdoleStudio/go-otelroundtripper (⭐88) — OpenTelemetry metrics for HTTP clients ☆
88 - go-zoox/fetch (⭐90) — Powerful HTTP client for Go ☆
90 - rezmoss/axios4go (⭐39) — Axios-inspired HTTP client ☆
39 - lib4u/fake-useragent (⭐19) — Current real-world user-agent faker for HTTP clients ☆
19
Servers
- caddyserver/caddy (⭐79k) — Multi-platform web server with HTTPS ☆
78,935 - etcd-io/etcd (⭐52k) — Distributed key-value store ☆
52,682 - drakkan/sftpgo (⭐13k) — Full-featured SFTP/FTP/HTTP server ☆
12,787 - adnanh/webhook (⭐12k) — Lightweight webhook server ☆
12,210 - roadrunner-server/roadrunner (⭐8.5k) — High-performance PHP application server ☆
8,529 - easegress-io/easegress (⭐5.9k) — A Cloud Native traffic orchestration system. (CNCF Project) ☆
5,874 - charmbracelet/wish (⭐5.6k) — Make SSH apps, just like that! ☆
5,599 - flipt-io/flipt (⭐4.9k) — Enterprise-ready, Git native feature management solution ☆
4,943 - getfider/fider (⭐4.6k) — Open platform to collect and prioritize feedback ☆
4,619 - xyproto/algernon (⭐3k) — Web server with Lua and Markdown ☆
3,032 - openflagr/flagr (⭐2.6k) — Feature flagging and A/B testing ☆
2,612 - thomaspoignant/go-feature-flag (⭐2.1k) — Open source feature flag solution ☆
2,136 - msoap/shell2http (⭐1.5k) — Executing shell commands via HTTP server ☆
1,514 - openrundev/openrun (⭐994) — Open source Cloud Run alternative ☆
995 - webhookx-io/webhookx (⭐300) — The Next-Generation Webhooks Gateway. ☆
300 - blind-oracle/cortex-tenant (⭐141) — Prometheus proxy with tenant ID injection ☆
141 - baalimago/wd-41 (⭐153) — Web-Development 41, a static web server with live-reload ☆
153 - 42atomys/webhooked (⭐43) — A webhook receiver on steroids. ☆
43
Network Utilities
- fortio/fortio (⭐3.7k) — Load testing and echo server ☆
3,739 - hashicorp/go-getter (⭐1.8k) — Download files from URLs ☆
1,827 - TimothyYe/godns (⭐1.8k) — Dynamic DNS client for multiple providers ☆
1,786 - cavaliergopher/grab (⭐1.5k) — Download manager package ☆
1,486 - schollz/peerdiscovery (⭐678) — Cross-platform local peer discovery ☆
678 - fclairamb/ftpserverlib (⭐479) — FTP server library for Go ☆
479 - skibish/ddns (⭐268) — Personal DDNS client with Digital Ocean Networking DNS as backend. ☆
268 - assafmo/joincap (⭐218) — Merge pcap files ☆
218 - gaissmai/bart (⭐168) — Balanced routing table ☆
171 - alegrey91/fwdctl (⭐72) — Manage IPTables forwards via CLI ☆
72
P2P & Torrent
- anacrolix/torrent (⭐6.1k) — Full-featured BitTorrent client package and utilities ☆
6,131 - dragonflyoss/dragonfly (⭐3.4k) — P2P-based container image distribution ☆
3,361 - cenkalti/rain (⭐1.1k) — BitTorrent client and library in Go ☆
1,149 - anacrolix/dht (⭐363) — DHT for BitTorrent ☆
363
Protocols
- pion/webrtc (⭐17k) — Pure Go implementation of the WebRTC API ☆
16,891 - quic-go/quic-go (⭐12k) — A production-ready QUIC implementation in pure Go ☆
11,834 - google/gopacket (⭐6.8k) — Provides packet processing capabilities for Go ☆
6,799 - osrg/gobgp (⭐4.1k) — BGP implemented in the Go Programming Language ☆
4,124 - lxzan/gws (⭐1.8k) — Fast websocket server and client ☆
1,810 - gosnmp/gosnmp (⭐1.3k) — An SNMP library written in Go ☆
1,259 - bluenviron/gortsplib (⭐944) — RTSP client and server library for the Go programming language ☆
944 - ccding/go-stun (⭐721) — A go implementation of the STUN client (RFC 3489 and RFC 5389) ☆
721 - google/gnxi (⭐287) — gNXI Tools - gRPC Network Management/Operations Interface Tools ☆
287 - jeroenrinzema/psql-wire (⭐241) — PostgreSQL wire protocol for Go ☆
242 - jimlambrt/gldap (⭐122) — Build LDAP services w/ Go ☆
122 - soypat/natiu-mqtt (⭐106) — Extensible MQTT for embedded systems ☆
106
RPC
- grpc/grpc-go (⭐23k) — The Go language implementation of gRPC. HTTP/2 based RPC ☆
23,108 - lesismal/arpc (⭐1.1k) — Two-way RPC with broadcast support ☆
1,093 - ybbus/jsonrpc (⭐374) — A simple go implementation of json rpc 2.0 client over http ☆
372 - osamingo/jsonrpc (⭐193) — The jsonrpc package helps implement of JSON-RPC 2.0 ☆
193
SSH & SFTP
- gliderlabs/ssh (⭐4.2k) — Easy SSH servers in Golang ☆
4,191 - pkg/sftp (⭐1.7k) — SFTP support for the go.crypto/ssh package ☆
1,666 - masterzen/winrm (⭐480) — Windows remote command library ☆
480
TCP/UDP Frameworks
- panjf2000/gnet (⭐11k) — High-performance event-loop network ☆
11,268 - xtaci/kcp-go (⭐4.6k) — A crypto-secure Reliable-UDP library for Golang with FEC support. ☆
4,552 - cloudwego/netpoll (⭐4.6k) — High-performance I/O framework ☆
4,616 - lesismal/nbio (⭐2.8k) — High-performance network library ☆
2,754 - xtaci/gaio (⭐912) — High-performance, minimalist async-io (proactor) networking for Golang. ☆
914 - cheng-zhongliang/event (⭐119) — Simple I/O event notification library wirtten in Golang ☆
119 - fish-tennis/gnet (⭐27) — high performance net library for game server ☆
27
VPN & Tunneling
- cloudflare/cloudflared (⭐16k) — Cloudflare Tunnel client ☆
16,488 - xjasonlyu/tun2socks (⭐5.6k) — TUN to SOCKS proxy ☆
5,575 - NodePassProject/nodepass (⭐294) — Secure TCP/UDP tunneling with TLS ☆
294
Queues & Pub/Sub
Brokers
- nats-io/nats-server (⭐21k) — High-performance NATS message server ☆
21,020 - emitter-io/emitter (⭐4k) — High-performance pub/sub broker ☆
4,010 - mochi-mqtt/server (⭐2k) — Embeddable MQTT v5 broker ☆
1,961
Clients & Libraries
- hibiken/asynq (⭐14k) — Simple, reliable, and efficient distributed task queue in Go ☆
13,822 - IBM/sarama (⭐13k) — Sarama is a Go library for Apache Kafka. ☆
12,523 - centrifugal/centrifugo (⭐11k) — Scalable real-time messaging server ☆
10,958 - ThreeDotsLabs/watermill (⭐9.9k) — Building event-driven applications the easy way in Go. ☆
9,951 - appleboy/gorush (⭐8.8k) — A push notification server written in Go (Golang). ☆
8,797 - RichardKnop/machinery (⭐8k) — Async task queue with message passing ☆
7,982 - nats-io/nats.go (⭐6.8k) — Golang client for NATS, the cloud native messaging system. ☆
6,803 - dunglas/mercure (⭐5.4k) — Server-Sent Events hub ☆
5,360 - confluentinc/confluent-kafka-go (⭐5.2k) — Confluent's Apache Kafka Golang client ☆
5,175 - olahol/melody (⭐4.1k) — Minimalist websocket framework for Go ☆
4,079 - sideshow/apns2 (⭐3.2k) — Apple Push Notification Service ☆
3,192 - lovoo/goka (⭐2.5k) — Kafka stream processing library ☆
2,551 - rabbitmq/amqp091-go (⭐2k) — An AMQP 0-9-1 Go client maintained by the RabbitMQ team ☆
2,042 - timbray/quamina (⭐509) — Fast pattern-matching library ☆
509 - jandelgado/rabtap (⭐290) — RabbitMQ wire tap and swiss army knife ☆
290 - mehdihadeli/Go-MediatR (⭐282) — Mediator pattern for CQRS ☆
282 - goptics/varmq (⭐209) — Zero-dep message queue library ☆
209 - oagudo/outbox (⭐137) — Transactional outbox pattern ☆
138 - hyperonym/ratus (⭐127) — RESTful async task queue server ☆
127 - Protocol-Lattice/GoEventBus (⭐75) — High-performance Go event bus with a decision layer ☆
75 - jirenius/go-res (⭐70) — RES Service protocol library for Go ☆
70 - SchwarzDigits/hypermatch (⭐39) — High-performance rule matching ☆
39
Science
- gonum/gonum (⭐8.5k) — Numeric libraries for Go ☆
8,457 - gonum/plot (⭐3k) — Plotting and visualization ☆
2,970 - paulmach/orb (⭐1.1k) — 2D geometry types and utilities ☆
1,142 - madelynnblue/go-dsp (⭐913) — Digital Signal Processing for Go ☆
913 - bebop/poly (⭐736) — Synthetic biology library for Go ☆
737 - DavidBelicza/TextRank (⭐224) — TextRank summarization and keyphrase extraction ☆
224 - hmdsefi/gograph (⭐142) — Generic graph algorithms library ☆
143 - claygod/PiHex (⭐20) — Generate hexadecimal Pi digits ☆
20
Scripting
Embeddable Languages
- php/frankenphp (⭐12k) — The modern PHP app server ☆
11,521 - expr-lang/expr (⭐8.1k) — Expression evaluation for Go ☆
8,061 - dop251/goja (⭐7.2k) — ECMAScript engine in pure Go ☆
7,188 - yuin/gopher-lua (⭐7k) — Lua VM and compiler in Go ☆
7,008 - d5/tengo (⭐3.8k) — Fast script language for Go ☆
3,847 - Shopify/go-lua (⭐3.5k) — Lua VM in Go ☆
3,462 - cel-expr/cel-go (⭐3.1k) — Common Expression Language for Go ☆
3,153 - google/starlark-go (⭐2.8k) — Starlark config language in Go ☆
2,793 - metacall/core (⭐1.8k) — Polyglot programming runtime ☆
1,830 - wa-lang/wa (⭐1.8k) — The Wa Programming Language ☆
1,772 - mattn/anko (⭐1.6k) — Scriptable interpreter in Go ☆
1,586 - PaesslerAG/gval (⭐818) — Expression evaluation in Go ☆
818 - ichiban/prolog (⭐738) — Prolog scripting engine for Go ☆
740 - aarzilli/golua (⭐702) — Lua C API bindings for Go ☆
702 - 1set/starlet (⭐51) — Starlark wrapper with batteries ☆
51
Code Generators
- oapi-codegen/oapi-codegen (⭐8.6k) — Generate Go code from OpenAPI 3 specs ☆
8,652 - dave/jennifer (⭐3.6k) — Code generator for Go ☆
3,639 - hexdigest/gowrap (⭐1.3k) — Generate interface decorators ☆
1,341 - abice/go-enum (⭐962) — Enum generator for Go ☆
961 - jmattheis/goverter (⭐889) — Generate type-safe converters ☆
890 - rjeczalik/interfaces (⭐431) — Code generation tools for Go ☆
431 - switchupcb/copygen (⭐406) — Copy values between types ☆
406 - reedom/convergen (⭐51) — Type-to-type copy code generator ☆
51
Security
Certificates
- go-acme/lego (⭐10k) — Let's Encrypt/ACME client and library written in Go ☆
10,016 - caddyserver/certmagic (⭐5.6k) — Automatic HTTPS certificate management ☆
5,617 - tg123/go-htpasswd (⭐49) — Apache htpasswd Parser for Go. ☆
49 - adrianosela/sslmgr (⭐33) — SSL certificate abstraction ☆
33
Cryptography
- FiloSottile/age (⭐24k) — Simple encryption tool ☆
24,270 - authzed/spicedb (⭐7.2k) — Zanzibar-inspired permissions DB ☆
7,209 - awnumar/memguard (⭐2.8k) — Software sandbox for storage of sensitive information in memory. ☆
2,768 - cossacklabs/themis (⭐2k) — Cryptographic framework for data protection ☆
1,984 - dromara/dongle (⭐1.1k) — A simple, semantic and developer-friendly crypto package for golang ☆
1,104 - anatol/booster (⭐685) — Fast and secure initramfs generator ☆
689 - kevinburke/nacl (⭐551) — Pure Go implementation of the NaCL set of API's ☆
552 - ssh-vault/ssh-vault (⭐511) — encrypt/decrypt using ssh keys ☆
511 - number571/go-peer (⭐327) — Secure decentralized networking ☆
327 - lingrino/vaku (⭐162) — Extended Vault API and CLI ☆
162 - anatol/luks.go (⭐99) — Pure Golang library to manage LUKS partitions ☆
99 - zitadel/passwap (⭐78) — Unified password hashing ☆
78 - andskur/argon2-hashing (⭐25) — Argon2 password hashing ☆
25
WAF & Protection
- Ullaakut/cameradar (⭐5.3k) — Cameradar hacks its way into RTSP videosurveillance cameras ☆
5,324 - corazawaf/coraza (⭐4k) — ModSecurity-compatible WAF in Go ☆
4,006 - mojocn/base64Captcha (⭐2.4k) — captcha of base64 image string ☆
2,363 - unrolled/secure (⭐2.4k) — HTTP middleware for Go that facilitates some quick security wins. ☆
2,359 - beelzebub-labs/beelzebub (⭐2.2k) — AI-powered honeypot framework ☆
2,234 - securitybunker/databunker (⭐1.5k) — Secure vault for PII/PHI/KYC records ☆
1,498 - cossacklabs/acra (⭐1.5k) — Database security proxy ☆
1,498 - hillu/go-yara (⭐390) — Go bindings for YARA ☆
390 - steambap/captcha (⭐163) — Easy captcha library ☆
163
Zero Trust
- sigstore/cosign (⭐6.4k) — Code signing and transparency for containers and binaries ☆
6,423 - openziti/ziti (⭐4.5k) — Zero trust networking platform ☆
4,476 - spiffe/spire (⭐2.6k) — The SPIFFE Runtime Environment ☆
2,615 - philips-labs/spiffe-vault (⭐101) — SPIFFE plus Vault for secretless authentication ☆
101
Testing & Quality
Benchmarks
- smallnest/go-web-framework-benchmark (⭐2.1k) — Web framework benchmarks ☆
2,132 - alecthomas/go_serialization_benchmarks (⭐1.6k) — Serialization benchmarks for Go ☆
1,625 - SimonWaldherr/golang-benchmarks (⭐145) — Go(lang) benchmarks - (measure the speed of golang) ☆
145
Code Analysis
- golangci/golangci-lint (⭐19k) — Fast linters runner for Go ☆
19,518 - boyter/scc (⭐8.9k) — Fast code counter and stats ☆
8,865 - revive-lint/revive (⭐5.6k) — Fast, extensible Go linter ☆
5,565 - kisielk/errcheck (⭐2.5k) — errcheck checks that you checked errors. ☆
2,533 - go-critic/go-critic (⭐2.1k) — The most opinionated Go source code linter for code audit. ☆
2,082 - daveshanley/vacuum (⭐1.1k) — Fast OpenAPI linter ☆
1,145 - mdempsky/unconvert (⭐388) — Remove unnecessary type conversions ☆
389 - tomarrell/wrapcheck (⭐373) — Check errors are wrapped ☆
374 - mibk/dupl (⭐370) — Code clone detection tool ☆
370 - shurcooL/gostatus (⭐246) — Show status of Go repositories ☆
246 - Antonboom/testifylint (⭐173) — Linter for testify usage ☆
173 - Crocmagnon/fatcontext (⭐83) — Detect nested contexts in loops ☆
83 - antham/ghokin (⭐59) — Parallelized Gherkin formatter ☆
59 - borovikovd/gomsort (⭐26) — Go msort - linter that sorts methods ☆
26 - sashamelentyev/usestdlibvars (⭐48) — Linter for stdlib variables usage ☆
48
Mock
- vektra/mockery (⭐7.2k) — Mock code autogenerator for Go ☆
7,181 - DATA-DOG/go-sqlmock (⭐6.6k) — SQL mock driver for testing ☆
6,575 - brianvoe/gofakeit (⭐5.4k) — Random fake data generator written in go ☆
5,416 - uber-go/mock (⭐3.4k) — GoMock is a mocking framework for the Go programming language. ☆
3,429 - SpectoLabs/hoverfly (⭐2.5k) — API simulation and virtualization ☆
2,533 - matryer/moq (⭐2.2k) — Interface mocking via go generate ☆
2,208 - jarcoal/httpmock (⭐2.1k) — HTTP mocking for Go ☆
2,079 - maxbrunsfeld/counterfeiter (⭐1.1k) — Generate type-safe test doubles ☆
1,147 - gojuno/minimock (⭐752) — Powerful mock generator ☆
753 - DATA-DOG/go-txdb (⭐749) — Transaction-isolated SQL driver ☆
749 - pashagolub/pgxmock (⭐598) — pgx mock driver for testing ☆
600 - xhd2015/xgo (⭐431) — All-in-one Go testing library ☆
431 - seborama/govcr (⭐200) — Record and replay HTTP interactions ☆
200 - mocktools/go-smtp-mock (⭐170) — SMTP mock server for testing ☆
170 - elgohr/go-localstack (⭐88) — Go wrapper for LocalStack ☆
88
Performance
- jaegertracing/jaeger (⭐23k) — Distributed tracing platform ☆
23,391 - pixie-io/pixie (⭐6.6k) — Kubernetes-native observability ☆
6,561 - arl/statsviz (⭐3.6k) — Visualize Go runtime metrics ☆
3,648 - nikolaydubina/go-instrument (⭐302) — Add trace spans to Go functions ☆
302 - joetifa2003/mm-go (⭐195) — Manual memory management for Go ☆
195
Browser Automation
- chromedp/chromedp (⭐13k) — Chrome DevTools Protocol driver ☆
13,359 - go-rod/rod (⭐7.1k) — Chrome DevTools driver for scraping ☆
7,148 - sensepost/gowitness (⭐4.6k) — Web screenshot utility with Chrome ☆
4,560 - mxschmitt/playwright-go (⭐3.5k) — Browser automation for Chromium, Firefox, WebKit ☆
3,542 - mafredri/cdp (⭐795) — Chrome DevTools Protocol bindings ☆
795
Testing Frameworks
- stretchr/testify (⭐26k) — Assertions and mocks for testing ☆
26,250 - keploy/keploy (⭐19k) — API testing with auto mocks ☆
19,613 - Shopify/toxiproxy (⭐12k) — TCP proxy for chaos testing ☆
12,503 - testcontainers/testcontainers-go (⭐5k) — Docker containers for integration tests ☆
5,025 - google/go-cmp (⭐4.7k) — Package for comparing Go values in tests ☆
4,686 - gavv/httpexpect (⭐2.7k) — End-to-end HTTP and REST API testing for Go. ☆
2,722 - cucumber/godog (⭐2.7k) — Cucumber for golang ☆
2,692 - orlangure/gnomock (⭐1.5k) — Test with ephemeral Docker containers ☆
1,487 - dnaeon/go-vcr (⭐1.4k) — Record and replay HTTP for tests ☆
1,400 - fergusstrange/embedded-postgres (⭐1.3k) — Embedded PostgreSQL for testing ☆
1,259 - go-testfixtures/testfixtures (⭐1.2k) — Rails-like test fixtures for Go ☆
1,240 - chapar-rest/chapar (⭐727) — API testing for HTTP and gRPC ☆
729 - gotestyourself/gotest.tools (⭐576) — Testing utilities for Go ☆
577 - maxatome/go-testdeep (⭐464) — Flexible deep comparison in tests ☆
465 - appleboy/gofight (⭐445) — Testing API Handler written in Golang. ☆
445 - viant/endly (⭐269) — End to end functional test and automation framework ☆
269 - ysmood/got (⭐265) — An enjoyable golang test framework. ☆
265 - kinbiko/jsonassert (⭐145) — JSON assertion library for tests ☆
145 - corbym/gocrest (⭐107) — GoCrest - Hamcrest-like matchers for Go ☆
107 - earthboundkid/be (⭐133) — The Go test helper for minimalists ☆
133 - hedhyw/gherkingen (⭐99) — Behaviour Driven Development tests generator for Golang ☆
99 - madflojo/testcerts (⭐84) — Generate test certificates on the fly ☆
84 - viant/dsunit (⭐47) — Datastore Testibility ☆
47 - go-restit/restit (⭐54) — A Go library help testing your RESTful API application ☆
54 - rekby/fixenv (⭐35) — Pytest-inspired fixture caching for Go tests ☆
35 - abecodes/dft (⭐19) — Docker wrapper for testing ☆
19
Testing Utilities
- pingcap/failpoint (⭐898) — Failpoint implementation for Go ☆
898
Validation
- go-playground/validator (⭐20k) — Struct and field validation for Go ☆
20,224 - Oudwins/zog (⭐1.2k) — Zod-inspired schema validation ☆
1,220 - gookit/validate (⭐1.2k) — Struct and data validation ☆
1,166 - twharmon/govalid (⭐121) — Struct validation using tags ☆
120 - osamingo/checkdigit (⭐114) — Check digit algorithms ☆
114 - tiendc/go-validator (⭐34) — Intuitive validation library ☆
34 - marrow16/valix (⭐32) — Request validation package ☆
32
Text & NLP
Formatters
- dustin/go-humanize (⭐4.9k) — Human-friendly unit formatting ☆
4,857 - neilotoole/sq (⭐2.6k) — SQL data wrangler ☆
2,574 - bojanz/address (⭐86) — Address handling for Go ☆
86
Markup Languages
- yuin/goldmark (⭐5.1k) — Markdown parser for Go ☆
5,097 - BurntSushi/toml (⭐5k) — TOML parser with reflection ☆
5,031 - JohannesKaufmann/html-to-markdown (⭐3.8k) — Convert HTML to Markdown ☆
3,839 - pelletier/go-toml (⭐2k) — TOML library for Go ☆
2,005 - antchfx/htmlquery (⭐783) — XPath for HTML queries ☆
782 - mmalcek/bafi (⭐118) — Universal format converter ☆
118
Miscellaneous
- gosimple/slug (⭐1.3k) — URL-friendly slugify ☆
1,335 - mattn/go-runewidth (⭐726) — Rune width for terminals ☆
726 - hedhyw/rex (⭐213) — Flexible regex constructor ☆
213 - JoshuaDoes/gofuckyourself (⭐71) — Swear filter for Go ☆
71
Morphological Analyzers
- ikawaha/kagome (⭐987) — Japanese morphological analyzer ☆
987 - afjoseph/RAKE.Go (⭐124) — Rapid Keyword Extraction in Go ☆
124 - jonreiter/govader (⭐56) — VADER sentiment analysis ☆
56
Parsers/Encoders/Decoders
- mvdan/sh (⭐9.2k) — Shell parser and formatter ☆
9,188 - mmcdole/gofeed (⭐2.9k) — Parse RSS, Atom, JSON feeds ☆
2,879 - google/go-querystring (⭐2.1k) — Encode structs to URL query strings ☆
2,146 - olebedev/when (⭐1.5k) — Natural language date parser ☆
1,465 - adrianmo/go-nmea (⭐268) — NMEA sentence parser ☆
268 - yassinebenaid/godump (⭐223) — Dump any Go variable ☆
224 - editorconfig/editorconfig-core-go (⭐158) — EditorConfig core in Go ☆
158 - bzick/tokenizer (⭐142) — Tokenizer/lexer for Go ☆
142 - emersion/go-vcard (⭐129) — vCard parser and formatter ☆
129
Scrapers
- gocolly/colly (⭐26k) — Web scraping framework for Go ☆
25,584 - PuerkitoBio/goquery (⭐15k) — jQuery-like HTML manipulation ☆
14,991 - mvdan/xurls (⭐1.3k) — Extract URLs from text ☆
1,267 - s0rg/crawley (⭐340) — The unix-way web crawler ☆
339
Text Analysis
- blevesearch/bleve (⭐11k) — Text/numeric/geo/vector indexing library ☆
11,253 - derekparker/trie (⭐795) — Trie for extremely fast prefix search ☆
795 - agnivade/levenshtein (⭐481) — Go implementation to calculate Levenshtein Distance. ☆
481 - plar/go-adaptive-radix-tree (⭐413) — Adaptive Radix Trees implemented in Go ☆
413 - BlackRabbitt/mspm (⭐29) — Multi-String Pattern Matching Algorithm Using TrieNode ☆
30
Tokenizers
- go-ego/gse (⭐2.8k) — Multilingual text segmentation ☆
2,847 - pebbe/textcat (⭐73) — N-gram text categorization ☆
73
Translation
- nicksnyder/go-i18n (⭐3.6k) — Translate Go programs ☆
3,554 - leonelquinteros/gotext (⭐513) — GNU gettext for Go ☆
514 - invopop/ctxi18n (⭐96) — Context-based i18n for Go ☆
96 - vorlif/spreak (⭐95) — Gettext-based translation library ☆
95 - mehanizm/iuliia-go (⭐56) — Cyrillic to Latin transliteration ☆
56
Third-party APIs
Cloud Provider APIs
- googleapis/google-cloud-go (⭐4.6k) — Google Cloud Client Libraries for Go. ☆
4,552 - googleapis/google-api-go-client (⭐4.5k) — Auto-generated Google APIs for Go. ☆
4,499 - aws/aws-sdk-go-v2 (⭐3.7k) — AWS SDK for the Go programming language. ☆
3,686 - minio/minio-go (⭐3k) — High-performance object storage ☆
3,012 - rhnvrm/simples3 (⭐209) — Simple AWS S3 library using REST ☆
211 - circa10a/go-aws-news (⭐19) — Go app + library to fetch what's new from AWS ☆
19 - chainifynet/aws-encryption-sdk-go (⭐23) — AWS Encryption SDK for Go ☆
23
Other APIs
- codingsince1985/geo-golang (⭐548) — Go library to access geocoding and reverse geocoding APIs ☆
548 - cyruzin/golang-tmdb (⭐169) — Wrapper for TMDb API ☆
169 - gregdel/pushover (⭐157) — Go wrapper for the Pushover API ☆
157 - mvrilo/go-redoc (⭐94) — Embedded OpenAPI documentation ☆
94 - staskobzar/goami2 (⭐22) — Simple Asterisk Manager Interface (AMI) library fo golang ☆
22 - Icelain/jokeapi (⭐27) — Official golang wrapper for Sv443's jokeapi. ☆
27
Productivity APIs
- mk-5/fjira (⭐275) — The golang fuzzy-find cli jira interface ☆
275 - adlio/trello (⭐228) — Trello API wrapper for Go ☆
228 - ctreminiom/go-atlassian (⭐217) — Atlassian Cloud API client ☆
217 - koltyakov/gosip (⭐171) — SharePoint SDK for Go ☆
171 - FreeLeh/GoFreeDB (⭐91) — Database on top of Google Sheets ☆
91 - mehanizm/airtable (⭐86) — Simple golang airtable API wrapper ☆
85 - k-capehart/go-salesforce (⭐56) — Salesforce REST API client ☆
56
Utilities
Build & Release
- goreleaser/goreleaser (⭐16k) — Release engineering simplified ☆
16,145 - miniscruff/changie (⭐920) — Automated changelog tool ☆
922 - karl-cardenas-coding/go-lambda-cleanup (⭐98) — Remove old AWS Lambda versions ☆
98
CLI Tools
- junegunn/fzf (⭐84k) — Command-line fuzzy finder ☆
84,115 - wagoodman/dive (⭐55k) — Explore Docker image layers ☆
54,712 - xo/usql (⭐10k) — Universal SQL CLI ☆
10,168 - joshmedeski/sesh (⭐2.9k) — Terminal session manager ☆
2,927 - owenthereal/upterm (⭐1.3k) — Instant terminal sharing ☆
1,338 - itchyny/bed (⭐1.3k) — Binary editor in Go ☆
1,344 - alajmo/mani (⭐787) — CLI for managing repositories ☆
789 - Unrud/remote-touchpad (⭐693) — Control mouse/keyboard remotely ☆
695 - chenquan/diskusage (⭐312) — Fast disk usage analyzer ☆
312 - reugn/wifiqr (⭐287) — Generate Wi-Fi QR codes ☆
287 - hedhyw/json-log-viewer (⭐244) — Interactive JSON log viewer ☆
244 - hrtsegv/gitcs (⭐136) — Git contributions graph generator ☆
136 - antham/yogo (⭐47) — Check yopmail from CLI ☆
47
Data Conversion
- samber/lo (⭐21k) — Lodash-style utilities for Go ☆
21,444 - duke-git/lancet (⭐5.3k) — Comprehensive util library ☆
5,301 - darccio/mergo (⭐3.1k) — Merge Go structs and maps ☆
3,107 - goforj/godump (⭐1.8k) — Pretty-printer for Go structs ☆
1,770 - gookit/filter (⭐151) — Data filtering and conversion ☆
151 - tiendc/gofn (⭐54) — High-performance generic functions ☆
54 - xorcare/pointer (⭐48) — Create optional field pointers ☆
48 - shockerli/cvt (⭐53) — Safe type conversion ☆
53
Database Extensions
- georgysavva/scany (⭐1.5k) — Scan database rows to structs ☆
1,526
Date and Time
- dromara/carbon (⭐5.2k) — Developer-friendly time package ☆
5,222 - yaa110/go-persian-calendar (⭐244) — Persian calendar for Go ☆
244 - bykof/gostradamus (⭐208) — Better DateTimes for Go ☆
208 - relvacode/iso8601 (⭐170) — Fast ISO8601 date parser ☆
170 - rickb777/date (⭐142) — Date handling package ☆
142
Dependency Injection
- uber-go/fx (⭐7.7k) — DI-based application framework ☆
7,726 - uber-go/dig (⭐4.5k) — Reflection-based DI toolkit ☆
4,510 - goioc/di (⭐379) — Simple DI for Go ☆
379 - i-love-flamingo/dingo (⭐189) — DI framework for Go ☆
189 - go-kod/kod (⭐199) — DI with aspect-oriented support ☆
199 - NVIDIA/gontainer (⭐157) — Simple DI container ☆
157 - junioryono/godi (⭐78) — DI with service lifetimes ☆
78 - matzefriedrich/parsley (⭐37) — Reflection-based DI package ☆
37 - muir/nject (⭐33) — Type-safe DI for Go ☆
33 - logrange/linker (⭐35) — DI and IoC package ☆
35 - firasdarwish/ore (⭐28) — Advanced DI solution ☆
28
Error Handling
- hashicorp/go-multierror (⭐2.6k) — Represent multiple errors as one ☆
2,590 - cockroachdb/errors (⭐2.5k) — Error library with portability ☆
2,482 - rotisserie/eris (⭐1.8k) — Errors with readable stack traces ☆
1,797 - ztrue/tracerr (⭐1.1k) — Errors with stack trace ☆
1,126 - samber/oops (⭐994) — Structured error handling ☆
995 - Southclaws/fault (⭐307) — Composable error wrapping ☆
307
File Handling
- schollz/croc (⭐41k) — Easily and securely send things from one computer to another ☆
40,899 - qax-os/excelize (⭐21k) — Excel XLSX library for Go ☆
21,125 - pdfcpu/pdfcpu (⭐8.9k) — PDF processor in Go ☆
8,904 - spf13/afero (⭐6.7k) — Filesystem abstraction for Go ☆
6,720 - dundee/gdu (⭐6.2k) — Fast disk usage analyzer ☆
6,196 - unidoc/unioffice (⭐4.9k) — Office document library ☆
4,943 - root-gg/plik (⭐1.8k) — Temporary file upload system ☆
1,840 - SebastiaanKlippert/go-wkhtmltopdf (⭐1.2k) — HTML to PDF wrapper ☆
1,179 - ulikunitz/xz (⭐561) — Pure golang package for reading and writing xz-compressed files ☆
562 - mholt/archives (⭐448) — Create and extract archives ☆
448 - viant/afs (⭐410) — Abstract file storage ☆
412 - C2FO/vfs (⭐371) — Virtual file system for Go ☆
371 - gomutex/godocx (⭐273) — Go library for reading and writing Microsoft Docx ☆
274 - charlievieth/fastwalk (⭐145) — Fast directory traversal ☆
145 - artonge/go-csv-tag (⭐130) — CSV reading with tags ☆
130 - parsyl/parquet (⭐127) — Parquet file library ☆
127 - adelowo/gulter (⭐73) — Multipart form handling ☆
73 - go-the-way/exl (⭐33) — Excel binding to struct written in Go.(Only supports Go1.18+) ☆
33
Forms
- justinas/nosurf (⭐1.8k) — CSRF protection middleware ☆
1,756 - gorilla/csrf (⭐1.2k) — CSRF prevention middleware ☆
1,213 - go-playground/form (⭐933) — URL values to structs ☆
934 - ggicci/httpin (⭐390) — HTTP request to struct binding ☆
391 - sonh/qs (⭐82) — Encode structs to query params ☆
82 - cinar/checker (⭐55) — Input validation with struct tags ☆
56
Functional
- samber/mo (⭐3.4k) — Monads and FP for Go ☆
3,432 - BooleanCat/go-functional (⭐537) — Iterator library for Go ☆
537 - rjNemo/underscore (⭐118) — Functional helpers for Go ☆
118
General
- wabarc/wayback (⭐2.3k) — Web archiving tool with IM interface ☆
2,252 - gabriel-vasile/mimetype (⭐2k) — MIME type detection by magic numbers ☆
2,028 - qmuntal/stateless (⭐1.4k) — Go library for creating finite state machines ☆
1,394 - jonboulle/clockwork (⭐729) — a fake clock for golang ☆
730 - Boeing/config-file-validator (⭐517) — Validate 18 config formats with JSON Schema and XSD ☆
519 - ungerik/go-dry (⭐488) — DRY (don't repeat yourself) package for Go ☆
488 - subosito/gotenv (⭐310) — Load environment variables from
.envorio.Readerin Go. ☆310 - viant/toolbox (⭐229) — Toolbox - go utility library ☆
230 - maja42/goval (⭐176) — Expression evaluation in golang ☆
176 - commander-cli/cmd (⭐161) — A simple package to execute shell commands on linux, windows and osx ☆
161 - jfcg/sorty (⭐145) — Fast Concurrent / Parallel Sorting in Go ☆
146 - tiendc/go-deepcopy (⭐129) — Fast deep-copy library for Go ☆
129 - syntaqx/cookie (⭐114) — Cookies, but with structs, for happiness. ☆
114 - pioz/countries (⭐101) — All you need when you are working with countries in Go. ☆
101 - icza/backscanner (⭐70) — Scan file lines backward ☆
70 - arthurkushman/pgo (⭐88) — Go library for PHP community with convenient functions ☆
88 - wzshiming/gotype (⭐65) — Golang source code parsing, usage like reflect package ☆
65 - rkoesters/xdg (⭐50) — FreeDesktop.org (xdg) Specs implemented in Go ☆
50 - kazhuravlev/just (⭐39) — Collection of useful functions. Complete simple tasks faster! ☆
39 - osamingo/gosh (⭐37) — Provide Go Statistics Handler, Struct, Measure Method ☆
37 - mikekonan/go-types (⭐24) — OpenAPI3 types for Go ☆
24 - floatdrop/debounce (⭐36) — A zero-allocation debouncer ☆
36 - skovtunenko/graterm (⭐30) — Graceful termination primitives ☆
30
Logging
- sirupsen/logrus (⭐26k) — Structured, pluggable logging for Go. ☆
25,763 - uber-go/zap (⭐25k) — Fast structured logging ☆
24,686 - rs/zerolog (⭐13k) — Zero allocation JSON logger ☆
12,533 - golang/glog (⭐3.6k) — Leveled execution logs ☆
3,597 - k0kubun/pp (⭐2.1k) — Colored pretty printer for Go ☆
2,058 - Lifailon/lazyjournal (⭐1.4k) — TUI for journald, Docker, K8s logs ☆
1,444 - lmittmann/tint (⭐1.4k) — Colorized slog handler ☆
1,371 - getsentry/sentry-go (⭐1.1k) — Official Sentry SDK for Go ☆
1,108 - phuslu/log (⭐879) — Fastest structured logging ☆
880 - samber/slog-multi (⭐642) — Workflow design for slog handlers ☆
643 - gookit/slog (⭐557) — Configurable logging library ☆
557 - henvic/httpretty (⭐457) — Pretty-print HTTP requests ☆
457 - simukti/sqldb-logger (⭐379) — SQL database logger ☆
379 - hashicorp/logutils (⭐371) — Logging utilities for Go ☆
371 - samber/slog-formatter (⭐228) — Slog attribute formatting ☆
228 - DeRuina/timberjack (⭐171) — Log rolling library ☆
172 - yuseferi/zax (⭐39) — Zap logger with context ☆
39 - clok/kemba (⭐18) — Tiny debug logging tool ☆
18
Networking Utils
- cristianoliveira/ergo (⭐651) — Manage apps on different ports ☆
651 - htcat/htcat (⭐557) — Parallel HTTP download ☆
558 - ferama/rospo (⭐376) — Persistent SSH tunnels ☆
376
Project Layout
- golang-standards/project-layout (⭐57k) — Standard Go project layout ☆
56,736 - Melkeydev/go-blueprint (⭐9k) — Spin up Go projects with popular frameworks ☆
8,982 - ardanlabs/service (⭐4.1k) — K8s service starter kit ☆
4,132 - Shpota/goxygen (⭐3.6k) — Generate full-stack web projects ☆
3,586 - mikestefanello/pagoda (⭐3k) — Full-stack web development starter kit ☆
2,964 - go-nunu/nunu (⭐2.6k) — CLI for building Go apps ☆
2,613 - naughtygopher/goapp (⭐1.1k) — Opinionated web app structure ☆
1,080 - lacion/cookiecutter-golang (⭐736) — Go project template ☆
736 - allaboutapps/go-starter (⭐624) — Production-ready RESTful API template ☆
624 - golang-templates/seed (⭐565) — Go app GitHub template ☆
565 - Fs02/go-todo-backend (⭐338) — Modular todo backend as a product microservice example ☆
339 - raeperd/kickstart.go (⭐112) — Minimal HTTP server template ☆
112 - wangyoucao577/go-project-layout (⭐26) — Go project structure guide ☆
26
Resilience & Retry
- avast/retry-go (⭐3k) — Simple retry mechanism ☆
2,966 - eapache/go-resiliency (⭐2.4k) — Resiliency patterns for golang ☆
2,369 - failsafe-go/failsafe-go (⭐2.3k) — Fault tolerance patterns ☆
2,262 - cep21/circuit (⭐814) — Hystrix-like circuit breaker ☆
814 - mennanov/limiters (⭐652) — Distributed rate limiters ☆
652 - kamilsk/retry (⭐344) — Advanced retry mechanism ☆
344 - webriots/rate (⭐172) — High-performance rate limiter ☆
172
Strings
- huandu/xstrings (⭐1.4k) — String functions from other langs ☆
1,412 - abhimanyu003/sttr (⭐1.4k) — CLI string operations ☆
1,352 - gobeam/stringy (⭐249) — String case conversions ☆
249 - ozgio/strutil (⭐206) — String utilities for Go ☆
206
System & Process
- cilium/ebpf (⭐8k) — eBPF library for Go ☆
8,030 - maruel/panicparse (⭐3.7k) — Crash your app in style ☆
3,705 - immortal/immortal (⭐844) — Cross-platform supervisor ☆
844 - derekparker/delve (⭐660) — Delve is a debugger for the Go programming language. ☆
660 - gotranspile/cxgo (⭐399) — Transpile C to Go ☆
399
UUID
- google/uuid (⭐6.2k) — UUID generation and parsing ☆
6,156 - oklog/ulid (⭐5k) — ULID implementation ☆
5,052 - gofrs/uuid (⭐1.8k) — UUID library for Go ☆
1,809 - osamingo/indigo (⭐111) — Sonyflake-based ID generator ☆
111 - sdrapkin/guid (⭐75) — Fast cryptographically safe Guid generator for Go ☆
75 - twharmon/gouid (⭐25) — Fast, dependable universally unique ids ☆
25
Version Control & Packages
Git APIs
- google/go-github (⭐11k) — Go library for accessing the GitHub v3 API ☆
11,340 - shurcooL/githubv4 (⭐1.2k) — GitHub GraphQL API v4 client ☆
1,206 - andygrunwald/go-trending (⭐146) — Access GitHub trending repositories ☆
146 - andygrunwald/go-gerrit (⭐106) — Go client/library for Gerrit Code Review ☆
106
Package Management
- anchore/syft (⭐9.8k) — SBOM generator for containers ☆
9,869 - nao1215/gup (⭐619) — Update, export, and migrate binaries from $GOBIN ☆
623 - marwanhawari/stew (⭐360) — An independent package manager for compiled binaries. ☆
362 - chaindead/modup (⭐65) — TUI for Go dependency updates ☆
65
Version Control
- go-git/go-git (⭐7.8k) — Pure Go Git implementation ☆
7,849 - antham/chyle (⭐164) — Changelog generator from Git ☆
165 - gabyx/Githooks (⭐133) — Per-repo shared Git hooks ☆
133 - antham/gommit (⭐115) — Enforce git message commit consistency ☆
115 - sourcegraph/go-vcs (⭐82) — manipulate and inspect VCS repositories in Go ☆
82 - jfrog/froggit-go (⭐54) — Universal VCS client library ☆
54 - kazhuravlev/git-tools (⭐34) — Useful set of tools which helps to manage git tags ☆
34
Web Development
Microservices
- zeromicro/go-zero (⭐33k) — Microservices framework with CLI tools ☆
33,420 - go-kratos/kratos (⭐26k) — Your ultimate Go microservices framework for the cloud-native era. ☆
26,017 - micro/go-micro (⭐23k) — A framework for agents, tools and services ☆
23,082 - smallnest/rpcx (⭐8.3k) — Feature-rich RPC framework ☆
8,319 - cloudwego/kitex (⭐8.1k) — High-performance Go RPC framework ☆
8,071 - go-dev-frame/sponge (⭐2.9k) — Code generation framework for Go ☆
2,868 - go-eagle/eagle (⭐2.4k) — A Go framework for the API or Microservice ☆
2,428 - trpc-group/trpc-go (⭐1.2k) — A pluggable, high-performance RPC framework written in golang ☆
1,225 - unionj-cloud/go-doudou (⭐1.2k) — OpenAPI 3 and gRPC microservices framework ☆
1,171 - gmsec/micro (⭐27) — A Go distributed systems development framework ☆
27
Middlewares
- urfave/negroni (⭐7.5k) — Idiomatic HTTP Middleware for Golang ☆
7,527 - tdewolff/minify (⭐4.2k) — Go minifiers for web formats ☆
4,155 - rs/cors (⭐2.9k) — Go net/http configurable handler to handle CORS requests ☆
2,901 - didip/tollbooth (⭐2.8k) — Simple middleware to rate-limit HTTP requests. ☆
2,848 - unrolled/render (⭐2k) — Render JSON, XML, HTML, binary ☆
2,000 - lingrino/go-fault (⭐556) — go fault injection library ☆
556 - jub0bs/cors (⭐227) — perhaps the best CORS middleware library for Go ☆
227 - faabiosr/echo-middleware (⭐16) — Middlewares for Echo framework ☆
16
Routers
- go-chi/chi (⭐23k) — Lightweight idiomatic HTTP router ☆
23,072 - gowww/router (⭐185) — A lightning fast HTTP router ☆
185 - claygod/Bxog (⭐104) — Bxog is a simple and fast HTTP router for Go (HTTP request multiplexer). ☆
104 - bmf-san/goblin (⭐82) — A golang http router based on trie tree. ☆
82 - ngamux/ngamux (⭐71) — Simple HTTP router for Go ☆
71 - muir/nchi (⭐19) — golang http router with elegance, speed, and flexibility ☆
19
Template Engines
- a-h/templ (⭐11k) — A language for writing HTML user interfaces in Go. ☆
10,605 - valyala/quicktemplate (⭐3.3k) — Fast template engine for Go ☆
3,327 - johnfercher/maroto (⭐2.8k) — Create PDFs with Bootstrap grid ☆
2,782 - CloudyKit/jet (⭐1.4k) — Jet template engine ☆
1,410 - osteele/liquid (⭐360) — A Liquid template engine in Go ☆
359 - go-sprout/sprout (⭐233) — Template functions for Go ☆
233 - goradd/got (⭐39) — Template engine with Go code output ☆
39
Web Frameworks
- gin-gonic/gin (⭐89k) — High-performance HTTP framework ☆
89,611 - gofiber/fiber (⭐40k) — Express inspired web framework written in Go ☆
40,258 - beego/beego (⭐32k) — High-performance web framework ☆
32,432 - labstack/echo (⭐33k) — High performance, minimalist Go web framework ☆
32,794 - gofr-dev/gofr (⭐21k) — Microservice framework for Go ☆
20,811 - gogf/gf (⭐13k) — Powerful full-stack framework ☆
13,301 - cloudwego/hertz (⭐7.4k) — High-performance HTTP framework ☆
7,399 - goadesign/goa (⭐6.1k) — Design-first API framework ☆
6,122 - apache/dubbo-go (⭐5k) — Go Implementation For Apache Dubbo . ☆
4,975 - goravel/goravel (⭐4.9k) — The full-featured Golang Development Framework skeleton ☆
4,909 - danielgtaylor/huma (⭐4.5k) — Huma REST/HTTP API Framework for Golang with OpenAPI 3.1 ☆
4,527 - documize/community (⭐2.4k) — Modern Confluence alternative ☆
2,425 - axadrn/shadcn-templ (⭐1.8k) — UI components for Templ ☆
1,797 - go-goyave/goyave (⭐1.8k) — The enterprise REST API framework ☆
1,786 - go-fuego/fuego (⭐1.8k) — Web framework with OpenAPI 3 ☆
1,776 - savsgio/atreugo (⭐1.3k) — Micro web framework on fasthttp ☆
1,302 - ankorstore/yokai (⭐842) — Modular framework for Go apps ☆
840 - indeedeng/iwf (⭐664) — Workflow-as-code orchestration ☆
664 - i-love-flamingo/flamingo-commerce (⭐598) — Flexible Go web framework ☆
598 - i-love-flamingo/flamingo (⭐561) — Flexible Go web framework ☆
561 - fastschema/fastschema (⭐574) — All-in-One Backend as a Service with Headless CMS Power ☆
574 - uadmin/uadmin (⭐356) — The web framework for Golang ☆
356 - xxjwxc/ginrpc (⭐304) — gin auto binding, grpc and annotated route ☆
303 - hidevopsio/hiboot (⭐180) — High-performance CLI and web apps ☆
179 - beatlabs/patron (⭐127) — Cloud-native microservice framework ☆
127 - gone-io/gone (⭐131) — Lightweight DI framework ☆
131 - claygod/microservice (⭐123) — Simple microservice framework ☆
123 - gookit/rux (⭐101) — Simple and fast web framework ☆
101 - yaitoo/xun (⭐93) — Web framework on html/template ☆
92 - napsy/go-css (⭐94) — A very simple CSS parser, written in Go ☆
94 - abemedia/go-don (⭐59) — API framework written in Golang. ☆
59 - JiveGroup/gFly (⭐50) — Laravel inspired web framework written in Go ☆
50 - clubpay/ronykit (⭐38) — API Framework supporting REST and RPC. ☆
38 - SaiNageswarS/go-api-boot (⭐35) — gRPC + HTTP/2 production framework ☆
35
WebAssembly
- tinygo-org/tinygo (⭐18k) — Go compiler for microcontrollers ☆
17,906 - agnivade/wasmbrowsertest (⭐212) — Run WASM tests inside your browser ☆
212 - extism/go-sdk (⭐186) — Extism Go SDK - easily run WebAssembly modules in your Go applications ☆
186
Workflow & Scheduling
Job Scheduler
- hatchet-dev/hatchet (⭐8.2k) — Background tasks, AI agents, and durable workflows ☆
8,258 - go-co-op/gocron (⭐7.2k) — Easy and fluent Go cron scheduling ☆
7,193 - reugn/go-quartz (⭐2k) — Minimalist and zero-dependency scheduling library for Go ☆
2,018 - adhocore/gronx (⭐515) — Lightweight cron expression parser ☆
514 - fieldryand/goflow (⭐484) — Simple but powerful DAG scheduler and dashboard ☆
484 - madflojo/tasks (⭐334) — In-process task scheduler ☆
334 - bart6114/cheek (⭐201) — cheek: a pico-sized declarative job scheduler ☆
201 - deepaksinghvi/cdule (⭐61) — Golang job scheduler ☆
61 - pardnchiu/go-scheduler (⭐37) — Task dependencies, timeouts, and cron expressions ☆
37 - romshark/sched (⭐30) — A job scheduler for Go with the ability to fast-forward time. ☆
30
Workflow Frameworks
- redpanda-data/connect (⭐8.8k) — Fancy stream processing made operationally mundane ☆
8,797 - dagucloud/dagu (⭐4.5k) — Workflow engine with Web UI ☆
4,575 - jf-tech/omniparser (⭐1.1k) — ETL streaming parser for Go ☆
1,086 - noneback/go-taskflow (⭐640) — Task-parallel programming library ☆
640 - cadence-workflow/cadence-go-client (⭐382) — Cadence workflow client for Go ☆
382 - luno/workflow (⭐264) — Type-safe workflow orchestration ☆
264
🏆 Top 100 by Stars
The most starred projects in this list, sorted by GitHub stars.
- ollama/ollama (⭐185k) — Run LLMs locally ☆
186,486 - kubernetes/kubernetes (⭐129k) — Production-Grade Container Scheduling and Management ☆
128,965 - gin-gonic/gin (⭐89k) — High-performance HTTP framework ☆
89,611 - junegunn/fzf (⭐84k) — Command-line fuzzy finder ☆
84,115 - caddyserver/caddy (⭐79k) — Multi-platform web server with HTTPS ☆
78,935 - moby/moby (⭐72k) — Container ecosystem components ☆
72,361 - prometheus/prometheus (⭐67k) — The Prometheus monitoring system and time series database. ☆
67,600 - traefik/traefik (⭐66k) — The Cloud Native Application Proxy ☆
65,503 - go-gitea/gitea (⭐59k) — Self-hosted Git service ☆
58,989 - golang-standards/project-layout (⭐57k) — Standard Go project layout ☆
56,736 - wagoodman/dive (⭐55k) — Explore Docker image layers ☆
54,712 - etcd-io/etcd (⭐52k) — Distributed key-value store ☆
52,682 - ethereum/go-ethereum (⭐51k) — Go implementation of the Ethereum protocol ☆
51,473 - mudler/LocalAI (⭐50k) — Local OpenAI alternative ☆
50,281 - milvus-io/milvus (⭐47k) — Cloud-native vector database ☆
46,626 - charmbracelet/bubbletea (⭐46k) — A powerful little TUI framework ☆
45,661 - spf13/cobra (⭐45k) — A Commander for modern Go CLI interactions ☆
44,847 - schollz/croc (⭐41k) — Easily and securely send things from one computer to another ☆
40,899 - pingcap/tidb (⭐41k) — Cloud-native distributed SQL DB ☆
40,724 - gofiber/fiber (⭐40k) — Express inspired web framework written in Go ☆
40,258 - go-gorm/gorm (⭐40k) — The fantastic ORM library for Golang, aims to be developer friendly ☆
39,989 - harness/harness (⭐39k) — End-to-end developer platform ☆
38,873 - restic/restic (⭐37k) — Fast, secure backup program ☆
37,110 - seaweedfs/seaweedfs (⭐36k) — Fast distributed storage for blobs ☆
35,995 - k3s-io/k3s (⭐34k) — Lightweight Kubernetes ☆
34,368 - zeromicro/go-zero (⭐33k) — Microservices framework with CLI tools ☆
33,420 - labstack/echo (⭐33k) — High performance, minimalist Go web framework ☆
32,794 - cockroachdb/cockroach (⭐33k) — Cloud native distributed SQL database ☆
32,613 - beego/beego (⭐32k) — High-performance web framework ☆
32,432 - grafana/k6 (⭐32k) — A modern load testing tool, using Go and JavaScript ☆
32,238 - kubernetes/minikube (⭐32k) — Run Kubernetes locally ☆
32,232 - influxdata/influxdb (⭐32k) — Scalable datastore for metrics, events, and real-time analytics ☆
31,802 - spf13/viper (⭐31k) — Go configuration with fangs ☆
30,507 - fyne-io/fyne (⭐29k) — Cross platform GUI toolkit in Go inspired by Material Design ☆
28,827 - stretchr/testify (⭐26k) — Assertions and mocks for testing ☆
26,250 - go-kratos/kratos (⭐26k) — Your ultimate Go microservices framework for the cloud-native era. ☆
26,017 - sirupsen/logrus (⭐26k) — Structured, pluggable logging for Go. ☆
25,763 - gocolly/colly (⭐26k) — Web scraping framework for Go ☆
25,584 - tsenart/vegeta (⭐25k) — HTTP load testing tool and library. It's over 9000! ☆
25,244 - dolthub/dolt (⭐25k) — Dolt – Git for Data ☆
24,855 - uber-go/zap (⭐25k) — Fast structured logging ☆
24,686 - urfave/cli (⭐24k) — Fast CLI framework for Go ☆
24,317 - FiloSottile/age (⭐24k) — Simple encryption tool ☆
24,270 - air-verse/air (⭐24k) — Live reload for Go apps ☆
24,114 - valyala/fasthttp (⭐23k) — Fast HTTP package for Go ☆
23,506 - jaegertracing/jaeger (⭐23k) — Distributed tracing platform ☆
23,391 - grpc/grpc-go (⭐23k) — The Go language implementation of gRPC. HTTP/2 based RPC ☆
23,108 - micro/go-micro (⭐23k) — A framework for agents, tools and services ☆
23,082 - go-chi/chi (⭐23k) — Lightweight idiomatic HTTP router ☆
23,072 - redis/go-redis (⭐22k) — Redis Go client ☆
22,291 - dgraph-io/dgraph (⭐22k) — high-performance graph database for real-time use cases ☆
21,823 - samber/lo (⭐21k) — Lodash-style utilities for Go ☆
21,444 - vitessio/vitess (⭐21k) — Database clustering for MySQL ☆
21,410 - qax-os/excelize (⭐21k) — Excel XLSX library for Go ☆
21,125 - nats-io/nats-server (⭐21k) — High-performance NATS message server ☆
21,020 - gofr-dev/gofr (⭐21k) — Microservice framework for Go ☆
20,811 - antonmedv/fx (⭐21k) — Terminal JSON viewer & processor ☆
20,711 - apache/casbin (⭐20k) — Authorization library for Go ☆
20,489 - go-playground/validator (⭐20k) — Struct and field validation for Go ☆
20,224 - keploy/keploy (⭐19k) — API testing with auto mocks ☆
19,613 - golangci/golangci-lint (⭐19k) — Fast linters runner for Go ☆
19,518 - golang-migrate/migrate (⭐19k) — Database migrations. CLI and Golang library. ☆
19,014 - sqlc-dev/sqlc (⭐18k) — Generate type-safe code from SQL ☆
18,442 - VictoriaMetrics/VictoriaMetrics (⭐18k) — Fast time series database and monitoring ☆
18,072 - rqlite/rqlite (⭐18k) — Lightweight distributed SQLite ☆
17,937 - tinygo-org/tinygo (⭐18k) — Go compiler for microcontrollers ☆
17,906 - ent/ent (⭐17k) — An entity framework for Go ☆
17,224 - ipfs/kubo (⭐17k) — IPFS daemon with CLI, HTTP gateway, and RPC ☆
17,179 - pion/webrtc (⭐17k) — Pure Go implementation of the WebRTC API ☆
16,891 - cloudflare/cloudflared (⭐16k) — Cloudflare Tunnel client ☆
16,488 - go-task/task (⭐16k) — Fast cross-platform build tool inspired by Make ☆
16,330 - fatih/vim-go (⭐16k) — Go development plugin for Vim ☆
16,215 - goreleaser/goreleaser (⭐16k) — Release engineering simplified ☆
16,145 - hashicorp/packer (⭐16k) — Build machine images from config ☆
15,821 - dgraph-io/badger (⭐16k) — Fast key-value DB in Go. ☆
15,801 - kubernetes-sigs/kind (⭐16k) — Kubernetes IN Docker - local clusters for testing Kubernetes ☆
15,604 - tidwall/gjson (⭐16k) — Fast JSON value extraction ☆
15,560 - go-sql-driver/mysql (⭐15k) — MySQL driver for database/sql ☆
15,285 - PuerkitoBio/goquery (⭐15k) — jQuery-like HTML manipulation ☆
14,991 - juicedata/juicefs (⭐15k) — Distributed POSIX filesystem ☆
14,715 - bytebase/bytebase (⭐15k) — Database DevSecOps platform ☆
14,691 - panjf2000/ants (⭐15k) — ants is the most powerful and reliable pooling solution for Go. ☆
14,523 - jackc/pgx (⭐14k) — PostgreSQL driver and toolkit for Go ☆
14,391 - webview/webview (⭐14k) — Tiny webview library for Go ☆
14,341 - hibiken/asynq (⭐14k) — Simple, reliable, and efficient distributed task queue in Go ☆
13,822 - hajimehoshi/ebiten (⭐14k) — A dead simple 2D game engine for Go ☆
13,618 - gizak/termui (⭐14k) — Golang terminal dashboard ☆
13,581 - chromedp/chromedp (⭐13k) — Chrome DevTools Protocol driver ☆
13,359 - golang/groupcache (⭐13k) — Distributed cache library ☆
13,336 - gogf/gf (⭐13k) — Powerful full-stack framework ☆
13,301 - gopherjs/gopherjs (⭐13k) — A compiler from Go to JavaScript for running Go code in a browser ☆
13,194 - drakkan/sftpgo (⭐13k) — Full-featured SFTP/FTP/HTTP server ☆
12,787 - TwiN/gatus (⭐13k) — Developer-oriented status page with alerting ☆
12,686 - rs/zerolog (⭐13k) — Zero allocation JSON logger ☆
12,533 - IBM/sarama (⭐13k) — Sarama is a Go library for Apache Kafka. ☆
12,523 - Shopify/toxiproxy (⭐12k) — TCP proxy for chaos testing ☆
12,503 - adnanh/webhook (⭐12k) — Lightweight webhook server ☆
12,210 - kubeshark/kubeshark (⭐12k) — API traffic analyzer for Kubernetes ☆
12,134 - charmbracelet/lipgloss (⭐12k) — Style definitions for nice terminal layouts ☆
11,986 - shirou/gopsutil (⭐12k) — psutil for golang ☆
11,938
Gophers
- MariaLetta/free-gophers-pack (⭐4k) — This pack of 100+ gopher pictures and elements
- keygx/Go-gopher-Vector (⭐77) — Go gopher Vector Data (.ai, .svg)
- ashleymcnamara/gophers (⭐3.1k) — Gopher Artwork by Ashley McNamara
- sillecelik/go-gopher (⭐164) — The Go Gopher Amigurumi Pattern
- GolangUA/gopher-logos (⭐142) — adorable gopher logos
- egonelbre/gophers (⭐3.8k) — gophers artwork
- scraly/gophers (⭐36) — Gopher artwork (Golang mascot)
Contributing
Please see CONTRIBUTING for details.
Feedback
Found something wrong? Open an issue or submit a pull request — contributions are welcome!
Credits
License
The MIT License (MIT). Please see License File for more information.