Skip to content

ferdiunal/go-awesome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contents

Audio and Music

Repository Description Stars
mewkiz/flac Package flac provides access to FLAC (Free Lossless Audio Codec) streams. 201
Comcast/gaad GAAD (Go Advanced Audio Decoder) 97
DylanMeeus/GoAudio Go tools for audio processing & creation 🎶 216
dh1tw/gosamplerate Go Bindings for libsamplerate 17
bogem/id3v2 🎵 ID3 decoding and encoding library for Go 237
gen2brain/malgo Mini audio library 169
tosone/minimp3 Decode mp3 base on https://github.com/lieff/minimp3 75
go-mix/mix Sequence-based Go-native audio mixer for music apps 153
go-music-theory/music-theory Go models of Note, Scale, Chord and Key 387
hajimehoshi/oto ♪ A low-level library to play sound on multiple platforms ♪ 968
gordonklaus/portaudio Go bindings for the PortAudio audio I/O library 495
rakyll/portmidi Go bindings for libportmidi 265

Authentication and OAuth

Repository Description Stars
volatiletech/authboss The boss of http auth. 3014
essentialkaos/branca Authenticated encrypted API tokens (IETF XChaCha20-Poly1305 AEAD) for Golang 31
casbin/casbin An authorization library that supports access control models like ACL, RBAC, ABAC in Golang 11563
mengzhuo/cookiestxt cookiestxt implement parser of cookies txt format 12
dimuska139/go-email-normalizer Golang library for providing a canonical representation of email address. 40
shaj13/go-guardian Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. 354
square/go-jose An implementation of JOSE standards (JWE, JWS, JWT) in Go 1899
dghubble/gologin Go login handlers for authentication providers (OAuth1, OAuth2) 1503
mikespook/gorbac goRBAC provides a lightweight role-based access control (RBAC) implementation in Golang. 1256
markbates/goth Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications. 3566
abraithwaite/jeff 🍍Jeff provides the simplest way to manage web sessions in Go. 237
pascaldekloe/jwt JSON Web Token library 282
cristalhq/jwt Safe, simple and fast JSON Web Tokens for Go 323
adam-hanna/jwt-auth This package provides json web token (jwt) middleware for goLang http servers 213
tarent/loginsrv JWT login microservice with plugable backends such as OAuth2, Google, Github, htpasswd, osiam, .. 1849
golang/oauth2 Go OAuth2 4087
openshift/osin Golang OAuth2 server library 1720
RijulGulati/otpgen Library to generate TOTP/HOTP codes 118
jltorresm/otpgo Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go. 30
o1egl/paseto Platform-Agnostic Security Tokens implementation in GO (Golang) 584
xyproto/permissions2 🔐 Middleware for keeping track of users, login states and permissions 448
zpatrick/rbac Minimalistic RBAC package for Go applications 94
ThundR67/scope Easily Manage OAuth2 Scopes In Go 19
alexedwards/scs HTTP Session Management for Go 1063
chmike/securecookie Fast, secure and efficient secure cookie encoder/decoder 55
icza/session Go session management for web servers (including support for Google App Engine - GAE). 107
f0rmiga/sessiongate-go A driver for the SessionGate Redis module - easy session management using the Go language. 10
adam-hanna/sessions A dead simple, highly performant, highly customizable sessions middleware for go http servers. 63
swithek/sessionup Straightforward HTTP session management 114
brianvoe/sjwt Simple JWT Golang 97

Blockchain

Repository Description Stars
cosmos/cosmos-sdk ⛓️ A Framework for Building High Value Public Blockchains ✨ 3697
ethereum/go-ethereum Official Go implementation of the Ethereum protocol 36274
ChainSafe/gossamer 🕸️ Gossamer: A Go implementation of the Polkadot Host 312
gagliardetto/solana-go Go SDK library for the Solana Blockchain 241
tendermint/tendermint ⟁ Tendermint Core (BFT Consensus) in Go 4752

Bot Building

Repository Description Stars
NicoNex/echotron An elegant and concurrent library for Telegram bots in Go. 88
ewohltman/ephemeral-roles A Discord bot for managing ephemeral roles based upon voice channel member presence. 57
go-chat-bot/bot IRC, Slack, Telegram and RocketChat bot written in go 730
go-joe - A general-purpose bot library inspired by Hubot but written in Go. 0
oklahomer/go-sarah Simple yet customizable bot framework written in Go. 228
olebedev/go-tgbot Golang telegram bot API wrapper, session-based router and middleware 112
gempir/go-twitch-irc go irc client for twitch.tv 222
saniales/golang-crypto-trading-bot A golang implementation of a console-based trading bot for cryptocurrency exchanges 728
nikepan/govkbot VK bot package for Go 38
sbstjn/hanu Golang Framework for writing Slack bots 136
stellar/kelp Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges 868
ezeoleaf/larry Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go 40
zhulik/margelet Telegram Bot Framework for Go 68
onrik/micha Client lib for Telegram bot api 18
olivia-ai/olivia 💁‍♀️Your new best friend powered by an artificial neural network 3209
innogames/slack-bot Ready to use Slack bot for lazy developers: start Jenkins jobs, watch Jira tickets, watch pull requests... 86
shomali11/slacker Slack Bot Framework 588
alexandre-normand/slackscot Slack bot core/framework written in Go with support for reactions to message updates/deletes 50
yanzay/tbot Go library for Telegram Bot API 323
tucnak/telebot Telebot is a Telegram bot framework in Go. 2449
mymmrac/telego Telegram Bot API library for Golang 21
go-telegram-bot-api/telegram-bot-api Golang bindings for the Telegram Bot API 3495
alfiankan/teleterm Telegram Bot Exec Terminal Command 7
kyleterry/tenyks The Tenyks IRC bot. 172

Build Automation

Repository Description Stars
gopinath-langote/1build Frictionless way of managing project-specific commands 146
GuilhermeCaruso/anko 🔮 Simple application watcher 22
maxcnunes/gaper Builds and restarts a Go project when it crashes or some watched file changes 53
gilbert - Build system and task runner for Go projects. 0
goyek/goyek Create build pipelines in Go 282
magefile/mage a Make/rake-like dev tool using Go 2920
tj/mmake Modern Make 1601
oxequa/realize Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading. 4224
go-task/task A task runner / simpler Make alternative written in Go 4839
taskctl/taskctl Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰 163

Command Line

Repository Description Stars

Advanced Console UIs

Repository Description Stars
guptarohit/asciigraph Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. 1884
logrusorgru/aurora Golang ultimate ANSI-colors that supports Printf/Sprintf methods 1178
Delta456/box-cli-maker Make Highly Customized Boxes for your CLI 194
mingrammer/cfmt 🎨 Contextual fmt inspired by bootstrap color classes 82
i582/cfmt Small library for simple and convenient formatted stylized output to the console. 37
ttacon/chalk Intuitive package for prettifying terminal/console output. http://godoc.org/github.com/ttacon/chalk 396
TreyBastian/colourize An ANSI colour terminal package for Go 25
wzshiming/ctc Console Text Colors - The non-invasive cross-platform terminal color library does not need to modify the Print method 37
workanator/go-ataman Another Text Attribute Manupulator 11
mattn/go-colorable 595
daviddengcn/go-colortext Change the color of console text. 210
mattn/go-isatty 600
c-bata/go-prompt Building powerful interactive prompts in Go, inspired by python-prompt-toolkit. 4373
jroimartin/gocui Minimalist Go package aimed at creating Console User Interfaces. 8023
labstack/gommon Common packages for Go 435
gookit/color 🎨 Terminal color rendering library, support 8/16 colors, 256 colors, RGB color rendering output, support Print/Sprintf methods, compatible with Windows. GO CLI 控制台颜色渲染工具库,支持16色,256色,RGB色彩渲染输出,使用类似于 Print/Sprintf,兼容并支持 Windows 环境的色彩渲染 1053
cyucelen/marker 🖍️ Marker is the easiest way to match and mark strings for colorful terminal outputs! 25
vbauerster/mpb multi progress bar for Go cli applications 1628
schollz/progressbar A really basic thread-safe progress bar for Golang applications 2368
pterm/pterm ✨ #PTerm is a modern Go module to beautify console output. Featuring charts, progressbars, tables, trees, and much more 🚀 It's completely configurable and 100% cross-platform compatible. 2520
alexeyco/simpletable Simple tables in terminal with Go 350
briandowns/spinner Go (golang) package with 90 configurable terminal spinner/progress indicators. 1724
cheynewallace/tabby A tiny library for super simple Golang tables 312
tomlazar/table pretty colorfull tables in go with less effort 17
InVisionApp/tabular Tabular simplifies printing ASCII tables from command line utilities 61
nsf/termbox-go Pure Go termbox implementation 4267
mum4k/termdash Terminal based dashboard. 1916
muesli/termenv Advanced ANSI style & color support for your terminal applications 980
gizak/termui Golang terminal dashboard 11662
gosuri/uilive uilive is a go library for updating terminal output in realtime 1434
gosuri/uiprogress A go library to render progress bars in terminal applications 1901
gosuri/uitable A go library to improve readability in terminal apps using tabular data 639
theckman/yacspin Yet Another CLi Spinner; providing over 80 easy to use and customizable terminal spinners for multiple OSes 324

Standard CLI

Repository Description Stars
cristalhq/acmd Simple, useful and opinionated CLI package in Go. 47
akamensky/argparse Argparse for golang. Just because flag sucks 409
cosiner/argv 32
rsteube/carapace command argument completion generator for spf13/cobra 33
rsteube/carapace-bin multi-shell multi-command argument completer 40
mkideal/cli CLI - A package for building command line app with go 641
teris-io/cli Simple and complete API for building command line applications in Go 106
tucnak/climax Climax is an alternative CLI with the human face 194
leaanthony/clir A Simple and Clear CLI library. Dependency free. 87
posener/cmd The standard library flag package with its missing features 33
hedzr/cmdr POSIX-compliant command-line UI (CLI) parser and Hierarchical-configuration operations 99
spf13/cobra A Commander for modern Go CLI interactions 25782
rainu/go-command-chain A go library for easy configure and run command chains. Such like pipelining in unix shells. 23
jaffee/commandeer Automatically sets up command line flags based on struct fields and tags. 154
posener/complete bash completion written in go + bash completion for go command 823
dnote/dnote A simple command line notebook for programmers 2251
elves/elvish Elvish = Expressive Programming Language + Versatile Interactive Shell 4671
codingconcepts/env Tag-based environment configuration for structs 90
cosiner/flag Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand 118
integrii/flaggy Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies. 782
sgreben/flagvar A collection of CLI argument types for the Go flag package. 37
RijulGulati/go-andotp CLI program to encrypt/decrypt andOTP files 16
alexflint/go-arg Struct-based argument parsing in Go 1366
yitsushi/go-commander Go library to simplify CLI workflow 26
jessevdk/go-flags go command line option parser 2186
DavidGamba/go-getoptions Fully featured Go (golang) command line option parser with built-in auto-completion support. 42
devfacet/gocmd A Go library for building command line applications. 56
hidevopsio/hiboot hiboot is a high performance web and cli application framework with dependency injection support 164
liujianping/job JOB, make your short-term command as a long-term job. 将命令行规划成任务的工具 112
alecthomas/kingpin CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser 3201
peterh/liner Pure Go line editor with history, inspired by linenoise 883
mitchellh/cli A Go library for implementing command-line interfaces. 1489
jawher/mow.cli A versatile library for building CLI applications in Go 790
nanovms/ops ops - build and run nanos unikernels 941
spf13/pflag Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. 1731
Zaba505/sand Package for creating interpreters 15
octago/sflags Generate flags by parsing structures 132
antham/strumt Strumt is a library to create prompt chain 44
bobg/subcmd 1
liujianping/ts timestamp convert & compare tool. 时间戳转换与对比工具 13
ukautz/clif Another CLI framework for Go. It works on my machine. 111
urfave/cli A simple, fast, and fun package for building command line apps in Go 17575
dixonwille/wlog A simple logging interface that supports cross-platform color and concurrency. 55
dixonwille/wmenu An easy to use menu structure for cli applications that prompts users to make choices. 153

Configuration

Repository Description Stars
cristalhq/aconfig Simple, useful and opinionated config loader. 355
ilyakaznacheev/cleanenv ✨Clean and minimalistic environment configuration reader for Golang 496
golobby/config A lightweight yet powerful configuration manager for Go projects 263
JeremyLoy/config 12 factor configuration as a typesafe struct in as little as two function calls 298
olebedev/config JSON or YAML configuration wrapper with convenient access methods. 244
BoRuDar/configuration Library for setting values to structs' fields from env, flags, files or default tag 50
paked/configure Configure is a Go package that gives you easy configuration of your project through redundancy 56
sherifabdlnaby/configuro An opinionated configuration loading framework for Containerized and Cloud-Native applications. 81
heetch/confita Load configuration in cascade from multiple backends into a struct 431
the4thamigo-uk/conflate Library providing routines to merge and validate JSON, YAML and/or TOML files 24
caarlos0/env A simple and zero-dependencies library to parse environment variables into structs. 2343
junk1tm/env A lightweight package for loading environment variables into structs 14
tomazk/envcfg Un-marshaling environment variables to Go structs 97
ian-kent/envconf Configure Go applications from the environment 10
vrischmann/envconfig Small library to read your configuration from environment variables 221
antham/envh Go helpers to manage environment variables 95
kkyr/fig A minimalist Go configuration library 195
go-gcfg/gcfg read INI-style configuration files into Go structs; supports user-defined types and subsections 159
sakirsensoy/genv Genv is a library for Go (golang) that makes it easy to read and use environment variables in your projects. It also allows environment variables to be loaded from the .env file. 28
PaddleHQ/go-aws-ssm Go package that interfaces with AWS System Manager 47
ThomasObenaus/go-conf Library for easy configuration of a golang service 2
subpop/go-ini automatic mirror of https://git.sr.ht/~spc/go-ini 7
ianlopshire/go-ssm-config Go utility for loading configuration parameters from AWS SSM (Parameter Store) 11
ufoscout/go-up go-up! A simple configuration library with recursive placeholders resolution and no magic. 37
gosidekick/goconfig goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. 152
joho/godotenv A Go port of Ruby's dotenv library (Loads environment variables from .env.) 4716
ian-kent/gofigure Go configuration made easy! 62
One-com/gone Golang packages for writing small daemons and servers. 40
miladabc/gonfig Tag based configuration loader from different providers 3
gookit/config 📝 Go config manage(load,get,set). support JSON, YAML, TOML, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 335
beatlabs/harvester Harvest configuration, watch and notify subscriber 98
hjson/hjson-go Hjson for Go 260
gurkankaymak/hocon go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config 38
schachmat/ingo persistent storage for flags in go 36
go-ini/ini Package ini provides INI file read and write functionality in Go 2900
wlevene/ini ini parser for golang 8
joshbetz/config 🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP. 208
kelseyhightower/envconfig Golang library for managing configuration data from environment variables 4034
knadh/koanf Simple, lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. 916
lalamove/konfig Composable, observable and performant config handling for Go for the distributed processing era 625
alecthomas/kong Kong is a command-line parser for Go 889
sasbury/mini A golang package for parsing ini-style configuration files 29
nasermirzaei89/env Golang Get Environment Variables Package 8
goraz/onion Layer based configuration for golang 96
Yiling-J/piper 🛠 Viper wrapper with config inheritance and key generation 4
tucnak/store A dead simple configuration manager for Go applications 259
oblq/swap Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env). 5
diegomarangoni/typenv Go minimalist typed environment variables library 5
omeid/uconfig Lightweight, zero-dependency, and extendable configuration management library for Go 42
spf13/viper Go configuration with fangs 18671
adrg/xdg Go implementation of the XDG Base Directory Specification and XDG user directories 191
OpenPeeDeeP/xdg A cross platform package that follows the XDG Standard 66

Continuous Integration

Repository Description Stars
ovh/cds Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform 3782
harness/drone Drone is a Container-Native, Continuous Delivery Platform 24709
duck8823/duci The simple ci server 70
nikogura/gomason A tool for testing, building, signing, and publishing binaries. 52
haveyoudebuggedit/gotestfmt go test output for humans 201
mattn/goveralls 714
go-playground/overalls 👖Multi-Package go project coverprofile for tools like goveralls 109
lawrencewoodman/roveralls A Go recursive coverage testing tool 16

CSS Preprocessors

Repository Description Stars
yosssi/gcss Pure Go CSS Preprocessor 448
wellington/go-libsass Go wrapper for libsass, the only Sass 3.5 compiler for Go 185

Data Structures

Repository Description Stars
shady831213/algorithms CLRS study. Codes are written with golang. 626
iancmcc/bingo Pack native Golang types to bytes while preserving sort order. Perfect for key-value stores or binary trees! 3
zhuangsirui/binpacker A binary stream packer and unpacker 183
yourbasic/bit Bitset data structure 114
kelindar/bitmap Simple dense bitmap index in Go with binary operators 128
bits-and-blooms/bitset Go package implementing bitsets 853
bits-and-blooms/bloom Go package implementing Bloom filters 1465
zentures/bloom Bloom filters implemented in Go. 146
yourbasic/bloom Probabilistic set data structure 69
OldPanda/bloomfilter Yet another Bloomfilter implementation in Go, compatible with Java's Guava library 9
tylertreat/BoomFilters Probabilistic data structures for processing continuous, unbounded streams. 1416
lrita/cmap a thread-safe concurrent map for go 24
free/concurrent-writer Highly concurrent drop-in replacement for bufio.Writer 39
InVisionApp/conjungo A small flexible merge library in go 103
seiflotfy/count-min-log Go implementation of Count-Min-Log 55
superwhiskers/crunch take bytes out of things easily ✨🍪 55
linvon/cuckoo-filter Cuckoo Filter go implement, better than Bloom Filter, configurable and space optimized 布谷鸟过滤器的Go实现,优于布隆过滤器,可以定制化过滤器参数,并进行了空间优化 203
seiflotfy/cuckoofilter Cuckoo Filter: Practically Better Than Bloom 889
edwingeng/deque A highly optimized double-ended queue 37
gammazero/deque Fast ring-buffer deque (double-ended queue) 310
srfrog/dict Python-like dictionaries for Go 23
ihebu/dsu Disjoint Set data structure implementation in Go 6
zentures/encoding Integer Compression Libraries for Go 118
cocoonspace/fsm Finite State Machine package in Go 15
ulovecode/gdcache gdcache is a pure non-intrusive cache library implemented by golang, you can use it to implement your own cache. 9
plar/go-adaptive-radix-tree Adaptive Radix Trees implemented in Go 228
Workiva/go-datastructures A collection of useful, performant, and threadsafe Go datastructures. 6426
hbollon/go-edlib 📚 String comparison and edit distance algorithms library, featuring : Levenshtein, LCS, Hamming, Damerau levenshtein (OSA and Adjacent transpositions algorithms), Jaro-Winkler, Cosine, etc... 314
amallia/go-ef A Go implementation of the Elias-Fano encoding 19
hailocab/go-geoindex Go native library for fast point tracking and K-Nearest queries 338
OrlovEvgeny/go-mcache Fast in-memory key:value store/cache with TTL 83
arl/go-rquad 📌 State of the art point location and neighbour finding algorithms for region quadtrees, in Go 120
eko/gocache ☔️ A complete Go cache library that brings you multiple ways of managing your caches 1117
enriquebris/goconcurrentqueue Go concurrent-safe, goroutine-safe, thread-safe queue 167
emirpasic/gods GoDS (Go Data Structures). Containers (Sets, Lists, Stacks, Maps, Trees), Sets (HashSet, TreeSet, LinkedHashSet), Lists (ArrayList, SinglyLinkedList, DoublyLinkedList), Stacks (LinkedListStack, ArrayStack), Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap), Trees (RedBlackTree, AVLTree, BTree, BinaryHeap), Comparators, Iterators, Enumerables, Sort, JSON 11210
xxjwxc/gofal fractional api base on golang . golang math tools fractional molecular denominator 分数计算 分子 分母 运算 13
deckarep/golang-set A simple set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp. 2299
zoumo/goset Set is a useful collection but there is no built-in implementation in Go lang. 46
ryszard/goskiplist A skip list implementation in Go 231
liyue201/gostl Data structure and algorithm library for go, designed to provide functions similar to C++ STL 626
go-gota/gota Gota: DataFrames and data wrangling in Go (Golang) 2028
yaa110/goterator Lazy iterator implementation for Golang 6
bobg/hashsplit 7
emvi/hide ID type with marshalling to/from hash to prevent sending IDs to clients. 43
google/hilbert Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. 246
axiomhq/hyperloglog HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) 772
disksing/iter Go implementation of C++ STL iterators and algorithms. 153
agext/levenshtein Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. 67
agnivade/levenshtein Go implementation to calculate Levenshtein Distance. 185
embano1/memlog A Kafka log inspired in-memory and append-only data structure 38
bobg/merkle Merkle hash trees 2
cbergoon/merkletree A Merkle Tree implementation written in Go. 321
BlackRabbitt/mspm Multi-String Pattern Matching Algorithm Using TrieHashNode 17
kak-tus/nan Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers 48
emvi/null Nullable Go types that can be marshalled/unmarshalled to/from JSON. 24
tejzpr/ordered-concurrently Ordered-concurrently a library for concurrent processing with ordered output in Go. Process work concurrently and returns output in a channel in the order of input. It is useful in concurrently processing items in a queue, and get output in the order provided by the queue. 13
nazar256/parapipe Paralleling pipeline 16
MonaxGT/parsefields Tools for parse JSON-like logs for collecting unique fields and events 6
hyfather/pipeline Pipelines using goroutines 40
viant/ptrie A prefix tree implementation in go 19
rocketlaunchr/remember-go Cache Slow Database Queries 109
tannerryan/ring Package ring provides a high performance and thread safe Go implementation of a bloom filter. 124
RoaringBitmap/roaring Roaring bitmaps in Go (golang) 1513
StudioSol/set A simple Set data structure implementation in Go (Golang) using LinkedHashMap. 19
MauriceGit/skiplist A Go library for an efficient implementation of a skip list: https://godoc.org/github.com/MauriceGit/skiplist 194
gansidui/skiplist skiplist for golang 77
srfrog/slices Functions that operate on slices. Similar to functions from package strings or package bytes that have been adapted to work with slices. 7
zekroTJA/timedmap A thread safe map which has expiring key-value pairs. 41
perdata/treap golang persistent immutable treap sorted sets 15
igrmk/treemap Generic sorted map for Go with red-black tree under the hood 16
derekparker/trie Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching. 576
jellydator/ttlcache An in-memory cache with item expiration and generics 359
gurukami/typ Null Types, Safe primitive type conversion and fetching value from complex structures. 30

Database

Repository Description Stars
dgraph-io/badger Fast key-value DB in Go. 10561
etcd-io/bbolt An embedded key/value database for Go. 5369
iwanbk/bcache Eventually consistent distributed in-memory cache Go library 83
allegro/bigcache Efficient cache for gigabytes of data written in Go. 5529
Bitcask - Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL). 0
tidwall/buntdb BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support 3682
akyoto/cache 👜 Cache arbitrary data with an expiration time. 105
muesli/cache2go Concurrency-safe Go caching library with expiration capabilities and access counters 1699
ostafen/clover A lightweight document-oriented NoSQL database written in pure Golang. 104
oaStuff/clusteredBigCache golang bigcache with clustering as a library. 41
cockroachdb/cockroach CockroachDB - the open source, cloud-native distributed SQL database. 24043
claygod/coffer Simply ACID* key-value database. At the medium or even low latency it tries to provide greater throughput without losing the ACID properties of the database. The database provides the ability to create record headers at own discretion and use them as transactions. The maximum size of stored data is limited by the size of the computer's RAM. 28
kelindar/column High-performance, columnar, in-memory store with bitmap indexing in Go 885
codingsince1985/couchcache A RESTful caching micro-service in Go backed by Couchbase 56
CovenantSQL/CovenantSQL A decentralized, trusted, high performance, SQL database with blockchain features 1292
securitybunker/databunker Secure SDK/vault for personal records/PII built to comply with GDPR 965
dgraph-io/dgraph Native GraphQL Database with graph backend 17812
peterbourgon/diskv A disk-backed key-value store. 1146
dtm-labs/dtf A distributed transaction framework that supports multiple languages, supports saga, tcc, xa, 2-phase message strategies. 238
krotik/eliasdb EliasDB a graph-based database. 881
VictoriaMetrics/fastcache Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead 1393
bluele/gcache An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC 1864
patrickmn/go-cache An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. 5982
HDT3213/godis A Golang implemented Redis Server and Cluster. Go 语言实现的 Redis 服务器和分布式集群 1713
syndtr/goleveldb LevelDB key/value database in Go. 4985
golang/groupcache groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. 11256
jameycribbs/hare Hare is a nimble little database management system for Go. 53
codenotary/immudb immudb - immutable database based on zero trust, SQL and Key-Value, tamperproof, data change history 7327
influxdata/influxdb Scalable datastore for metrics, events, and real-time analytics 23220
go-kivik/kivik Kivik provides a common interface to CouchDB or CouchDB-like databases for Go and GopherJS. 229
ledisdb/ledisdb A high performance NoSQL Database Server powered by Go 3831
jmhodges/levigo levigo is a Go wrapper for LevelDB 404
flower-corp/lotusdb Fast k/v storage compatible with lsm tree and b+tree, inspired by SLM-DB in USENIX FAST ’19. 330
milvus-io/milvus An open-source vector database for scalable similarity search and AI applications. 9861
couchbase/moss moss - a simple, fast, ordered, persistable, key-val storage library for golang 860
nutsdb/nutsdb A simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. 2007
fern4lvarez/piladb Lightweight RESTful database engine based on stack data structures 194
akrylysov/pogreb Embedded key-value store for read-heavy workloads written in Go 878
prometheus/prometheus The Prometheus monitoring system and time series database. 41654
recoilme/pudge Fast and simple key/value store written using Go's standard library 315
flower-corp/rosedb 🚀A fast, stable and embedded k-v storage in Go, supports string, list, hash, set, and sorted set. 2406
rqlite/rqlite The lightweight, distributed relational database built on SQLite 9806
nanobox-io/golang-scribble A tiny Golang JSON database 146
rafaeljesus/tempdb Key-value store for temporary items 📝 16
pingcap/tidb TiDB is an open source distributed HTAP database compatible with the MySQL protocol 30777
HouzuoGuo/tiedot A rudimentary implementation of a basic document (NoSQL) database in Go 2659
cheshir/ttlcache Simple in-memory key-value storage with TTL for each record. 5
unit-io/unitdb Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics. 86
chrislusf/vasto A distributed key-value store. On Disk. Able to grow or shrink without service interruption. 236
VictoriaMetrics/VictoriaMetrics VictoriaMetrics: fast, cost-effective monitoring solution and time series database 6005

Date and Time

Repository Description Stars
golang-module/carbon A simple, semantic and developer-friendly golang package for datetime 1753
uniplaces/carbon Carbon for Golang, an extension for Time 691
1set/cronrange time range expression in cron style 15
rickb777/date A Go package for working with dates 88
araddon/dateparse GoLang Parse many date strings without knowing format in advance. 1653
hako/durafmt 🕗 Better time duration formatting in Go! 429
wlbr/feiertage Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany) 41
yaa110/go-persian-calendar The implementation of Persian (Solar Hijri) Calendar in Go 115
xhit/go-str2duration Convert string to duration in golang 39
nathan-osman/go-sunrise Go package for calculating the sunrise and sunset times for a given location 42
stoewer/go-week A Go package to work with ISO 8601 week dates 7
bykof/gostradamus Gostradamus: Better DateTimes for Go 🕰️ 160
relvacode/iso8601 A fast ISO8601 date parser for Go 98
GuilhermeCaruso/kair 🕐 Date and Time - Golang Formatting Library 23
jinzhu/now Now is a time toolkit for golang 3613
kirillDanshin/nulltime 12
awoodbeck/strftime C99-compatible strftime formatter for use with Go time.Time instances. 9
SaidinWoT/timespan Golang package to manipulate time intervals. 78
leekchan/timeutil timeutil - useful extensions (Timedelta, Strftime, ...) to the golang's time package 188
osteele/tuesday Ruby-compatible strftime for golang 11

Distributed Systems

Repository Description Stars
lesismal/arpc More effective network communication, two-way calling, notify and broadcast supported. 486
svcavallar/celeriac.v1 Golang client library for adding support for interacting and monitoring Celery workers, tasks and events. 70
buraksezer/consistent Consistent hashing with bounded loads in Golang 460
mbrostami/consistenthash A Go library that implements Consistent Hashing 10
anacrolix/dht dht is used by anacrolix/torrent, and is intended for use as a library in other projects both torrent related and otherwise 226
digota/digota ecommerce microservice 436
dotchain/dot distributed data sync with operational transformation/transforms 67
edwingeng/doublejump A revamped Google's jump consistent hash 70
lni/dragonboat A feature complete and high performance multi-group Raft library in Go. 4150
dgruber/drmaa Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard. 37
dynamolock - DynamoDB-backed distributed locking implementation. 0
tylfin/dynatomic Dynatomic is a library for using dynamodb as an atomic counter 14
emitter-io/emitter High performance, distributed and low latency publish-subscribe platform. 3210
andy2046/failured Adaptive Accrual Failure Detector 4
vectaport/flowgraph Flowgraph package for scalable asynchronous system development 47
chrislusf/gleam Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly. 3019
chrislusf/glow Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant. 3042
gmsec/micro A Go distributed systems development framework 18
unionj-cloud/go-doudou go-doudou(doudou pronounce /dəudəu/)is a gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. It supports monolith service application as well. Currently, it supports RESTful service only. 443
InVisionApp/go-health Library for enabling asynchronous health checks in your service 619
dgryski/go-jump go-jump: Jump consistent hashing 339
go-kit/kit A standard library for microservices. 22661
asim/go-micro A Go microservices framework 17933
sanketplus/go-mysql-lock MySQL Backed Locking Primitive 39
pdupub/go-pdu Parallel Digital Universe - A decentralized identity-based social network 35
AppsFlyer/go-sundheit A library built to provide support for defining service health for golang services. It allows you to register async health checks for your dependencies and the service itself, provides a health endpoint that exposes their status, and health metrics. 467
zeromicro/go-zero A web and RPC framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity. 15943
valyala/gorpc Simple, fast and scalable golang rpc library for high load 646
grpc/grpc-go The Go language implementation of gRPC. HTTP/2 based RPC 15576
hprose/hprose-golang Hprose is a cross-language RPC. This project is Hprose for Golang. 1201
osamingo/jsonrpc The jsonrpc package helps implement of JSON-RPC 2.0 160
ybbus/jsonrpc A simple go implementation of json rpc 2.0 client over http 212
go-kratos/kratos Your ultimate Go microservices framework for the cloud-native era. 17090
liftbridge-io/liftbridge Lightweight, fault-tolerant message streams. 2250
luraproject/lura Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation 4953
micro/micro API first cloud platform 10993
nats-io/nats-server High-Performance server for NATS.io, the cloud and edge native messaging system. 10677
italolelis/outboxer A library that implements the outboxer pattern in go 68
pglock - PostgreSQL-backed distributed locking implementation. 0
pjrpc - Golang JSON-RPC Server-Client with Protobuf spec. 0
hashicorp/raft Golang implementation of the Raft consensus protocol 5763
etcd-io/etcd Distributed reliable key-value store for the most critical data of a distributed system 39238
cenkalti/rain 🌧 BitTorrent client and library in Go 683
bsm/redislock Simplified distributed locking implementation using Redis 639
resgate - Realtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly. 0
uber/ringpop-go Scalable, fault-tolerant application-layer sharding for Go applications 728
smallnest/rpcx Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! 6821
jexia/semaphore Take control of your data, connect with anything, and expose it anywhere through protocols such as HTTP, GraphQL, and gRPC. 70
ursiform/sleuth A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services 347
anacrolix/torrent Full-featured BitTorrent client package and utilities 4262

Dynamic DNS

Repository Description Stars
skibish/ddns Personal DDNS client with Digital Ocean Networking DNS as backend. 205
dyndns - Background Go process to regularly and automatically check your IP Address and make updates to (one or many) Dynamic DNS records for Google domains whenever your address changes. 0
TimothyYe/godns A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go. 998

Email

Repository Description Stars
chasquid - SMTP server written in Go. 0
aymerick/douceur A simple CSS parser and inliner in Go 211
jordan-wright/email Robust and flexible email library for Go 1979
AfterShip/email-verifier ✅ A Go library for email verification without sending any emails. 386
toorop/go-dkim DKIM package for golang 75
go-email-validator/go-email-validator 📧 Golang Email address validator 23
emersion/go-imap 📥 An IMAP library for clients and servers 1502
emersion/go-message ✉️ A streaming Go library for the Internet Message Format and mail messages 244
vanng822/go-premailer Inline styling for html mail in golang 82
xhit/go-simple-mail Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP. 282
hectane/hectane Lightweight SMTP client written in Go 214
matcornic/hermes Golang package that generates clean, responsive HTML e-mails for sending transactional mail 2444
mailchain/mailchain Using Mailchain, blockchain users can now send and receive rich-media HTML messages with attachments via a blockchain address. 115
mailgun/mailgun-go Go library for sending mail with the Mailgun API. 582
mailhog/MailHog Web and API based SMTP testing 9882
valord577/mailx A library that makes it easier to send email via SMTP. 2
sendgrid/sendgrid-go The Official Twilio SendGrid Led, Community Driven Golang API Library 801
mailhog/smtp MailHog SMTP Protocol 70
mocktools/go-smtp-mock SMTP mock server written on Golang. Mimic any 📤 SMTP server behaviour for your test environment with fake SMTP server. 31
truemail-rb/truemail-go 🚀 Configurable Golang 📨 email validator/verifier. Verify email via Regex, DNS, SMTP and even more. 5

Embeddable Scripting Languages

Repository Description Stars
mattn/anko Scriptable interpreter written in golang 1213
alexeyco/binder High level go to Lua binder. Write less, do more. 56
google/cel-go Fast, portable, non-Turing complete expression evaluation with gradual typing (Go) 1092
krotik/ecal A simple embeddable scripting language which supports concurrent event processing. 20
antonmedv/expr Expression language for Go 2473
gentee/gentee Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang). 89
jcla1/gisp Simple LISP in Go 481
olebedev/go-duktape [abandoned] Duktape JavaScript engine bindings for Go 779
Shopify/go-lua A Lua VM in Go 2294
deuill/go-php PHP bindings for the Go programming language (Golang) 853
sbinet/go-python naive go bindings to the CPython2 C-API 1360
dop251/goja ECMAScript/JavaScript engine in pure Go 2793
aarzilli/golua Go bindings for Lua C API - in progress 583
yuin/gopher-lua GopherLua: VM and compiler for Lua in Go 4618
PaesslerAG/gval Expression evaluation in golang 467
metacall/core MetaCall: The ultimate polyglot programming experience. 910
db47h/ngaro An embeddable implementation of the Ngaro Virtual Machine for Go programs 22
ichiban/prolog The only reasonable scripting engine for Go. 357
ian-kent/purl Perl, but fluffy like a cat! 34
d5/tengo A fast script language for Go 2645

Error Handling

Repository Description Stars
emperror/emperror The Emperor takes care of all errors personally 246
rotisserie/eris eris provides a better way to handle, trace, and log errors in Go 🎆 972
snwfdhmp/errlog Reduce debugging time while programming Go. Use static and stack-trace analysis to determine which func call causes the error. 402
emperror/errors Drop-in replacement for the standard library errors package and github.com/pkg/errors 129
pkg/errors Simple error handling primitives 7644
neuronlabs/errors Simple golang error handling with classification primitives. 3
PumpkinSeed/errors Simple and efficient error package 4
bnkamalesh/errors A drop-in replacement for Go errors, with some added sugar! Unwrap user-friendly messages, HTTP status code, easy wrapping with multiple error types. 32
joomcode/errorx A comprehensive error handling library for Go 822
ThundR67/falcon A Simple Yet Highly Powerful Package For Error Handling 7
hashicorp/go-multierror A Go (golang) package for representing a list of errors as a single error. 1533
ztrue/tracerr Golang errors with stack trace and source fragments. 708

File Handling

Repository Description Stars
spf13/afero A FileSystem Abstraction System for Go 4326
viant/afs Abstract File Storage 174
xis/baraka a tool for handling file uploads simple 41
bigfile/bigfile Bigfile -- a file transfer system that supports http, rpc and ftp protocol https://bigfile.site 219
codingsince1985/checksum Compute message digest for large files in Go 56
otiai10/copy Go copy directory recursively 401
homedepot/flop Go file operations library chasing GNU APIs. 31
dundee/gdu Fast disk usage analyzer with console interface written in Go 1695
artonge/go-csv-tag Read csv file from go using tags 94
hugocarreira/go-decent-copy copy files for humans 16
barasher/go-exiftool Golang wrapper for Exiftool : extract as much metadata as possible (EXIF, ...) from files (pictures, pdf, office documents, ...) 107
artonge/go-gtfs Load GTFS files in golang 32
no-src/gofs A file synchronization tool out of the box based on golang 4
1set/gut 🍱 yet another collection of go utilities & tools 24
dastoori/higgs A tiny cross-platform Go library to hide/unhide files and directories 9
rjeczalik/notify File system event notification library on steroids. 729
qmuntal/opc Go implementation of the Open Packaging Conventions (OPC) 70
parsyl/parquet A library for reading and writing parquet files. 50
jonchun/pathtype Add a type for paths in Go. 9
pdfcpu/pdfcpu A PDF processor written in Go. 3045
dixonwille/skywalker A package to allow one to concurrently go through a filesystem with ease 71
stl - Modules to read and write STL (stereolithography) files. Concurrent algorithm for reading. 0
posener/tarfs An implementation of the FileSystem interface for tar files. 49
1set/todotxt Parser for todo.txt files in Go ✅ 12
C2FO/vfs Pluggable, extensible virtual file system for Go 161

Financial

Repository Description Stars
leekchan/accounting money and currency formatting for golang 724
moov-io/ach ACH implements a reader, writer, and validator for Automated Clearing House (ACH) files. The HTTP server is available in a Docker image and the Go package is available. 290
bojanz/currency Currency handling for Go. 281
bnkamalesh/currency A currency computations package. 46
shopspring/decimal Arbitrary-precision fixed-point decimal numbers in go 3838
newity/fastme 31
FlashBoys/go-finance ⚠️ Deprecrated in favor of https://github.com/piquette/finance-go 536
alpeb/go-finance Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations. 130
pieterclaerhout/go-finance Finance related Go functions (e.g. exchange rates, VAT number checking, …) 6
m1/go-finnhub Simple and easy to use client for stock market, forex and crypto data from finnhub.io written in Go. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges 67
Rhymond/go-money Go implementation of Fowler's Money pattern 1062
aclindsa/ofxgo Golang library for querying and parsing OFX 98
i25959341/orderbook Matching Engine for Limit Order Book in Golang 252
jovandeginste/payme QR code generator (ASCII & PNG) for SEPA payments 10
BoltApp/sleet Payment abstraction library - one interface for multiple payment processors ( inspired by Ruby's ActiveMerchant ) 85
sdcoffey/techan Technical Analysis Library for Golang 609
achannarasappa/ticker Terminal stock ticker with live updates and position tracking 4179
claygod/transaction Embedded database for accounts transactions. 104
dannyvankooten/vat Go package for dealing with EU VAT. Does VAT number validation & rates retrieval. 86

Forms

Repository Description Stars
robfig/bind 27
mholt/binding Reflectionless data binding for Go's net/http (not actively maintained) 789
leebenson/conform Trims, sanitizes & scrubs data based on struct tags (go, golang) 251
go-playground/form 🚂 Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. 512
monoculum/formam a package for decode form's values into struct in Go 167
albrow/forms A lightweight go library for parsing form data or json from an http.Request. 129
gorilla/csrf gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications & services 🔒 774
ggicci/httpin 🍡 HTTP Input for Go - Decode an HTTP request into a custom struct 62
justinas/nosurf CSRF protection middleware for Go. 1262
sonh/qs Go module for encoding structs into URL query parameters 59
TomWright/queryparam Go package to easily convert a URL's query parameters/values into usable struct values of the correct types. 12

Functional

Repository Description Stars
TeaEntityLab/fpGo Monad, Functional Programming features for Golang 245
seborama/fuego Functional Experiment in Golang 107
tobyhede/go-underscore Helpfully Functional Go - A useful collection of Go utilities. Designed for programmer happiness. 1234
rbrahul/gofp A super simple Lodash like utility library with essential functions that empowers the development in Go 118
rjNemo/underscore Useful functional programming helpers for Go 1.18 and beyond 10

Game Development

Repository Description Stars
azul3d/engine Azul3D - A 3D game engine written in Go! 532
hajimehoshi/ebiten A dead simple 2D game library for Go 6194
EngoEngine/engo Engo is an open-source 2D game engine written in Go. 1486
g3n/engine Go 3D Game Engine (http://g3n.rocks) 1878
beefsack/go-astar Go implementation of the A* search algorithm 488
veandco/go-sdl2 SDL2 binding for Go 1730
ungerik/go3d A performance oriented 2D/3D math package for Go 254
xtaci/gonet A Game Server Skeleton in golang. 1169
xiaonanln/goworld Scalable Distributed Game Server Engine with Hot Swapping in Golang 2062
name5566/leaf A game server framework in Go (golang) 4330
lonng/nano Lightweight, facility, high performance golang based game server framework 1968
oakmound/oak A pure Go game engine 1142
topfreegames/pitaya Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. 1364
faiface/pixel A hand-crafted 2D game library in Go 3865
gonutz/prototype Simple 2D game prototyping framework. 70
gen2brain/raylib-go Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming. 751
JoelOtter/termloop Terminal-based game engine for Go, built on top of Termbox 1269
kelindar/tile Tile is a 2D grid engine, built with data and cache friendly ways, includes pathfinding and observers. 44

Generators

Repository Description Stars
t0pep0/efaceconv 51
clipperhouse/gen Type-driven code generation for Go 1358
senselogic/GENERIS Versatile Go code generator. 31
abice/go-enum An enum generator for go 306
ahmetb/go-linq .NET LINQ capabilities in Go 2896
pieterclaerhout/go-xray Helpers for making the use of reflection easier 21
awalterschulze/goderive Derives and generates mundane golang functions that you do not want to maintain yourself 974
wzshiming/gotype Golang source code parsing, usage like reflect package 37
jmattheis/goverter Generate type-safe Go converters by simply defining an interface 105
hexdigest/gowrap GoWrap is a command line tool for generating decorators for Go interfaces 592
rjeczalik/interfaces Code generation tools for Go. 334
dave/jennifer Jennifer is a code generator for Go 2355
ungerik/pkgreflect A Go preprocessor for package scoped reflection 99
xiaoxin01/typeregistry create type dynamically in Golang 13

Geographic

Repository Description Stars
hishamkaram/geoserver geoserver is a Go library for manipulating a GeoServer instance via the GeoServer REST API. 70
hishamkaram/gismanager Publish Your GIS Data(Vector Data) to PostGIS and Geoserver 43
airbusgeo/godal golang wrapper for github.com/OSGEO/gdal 66
consbio/mbtileserver Basic Go server for mbtiles 319
paulmach/osm General purpose library for reading, writing and working with OpenStreetMap data 201
maguro/pbf OpenStreetMap PBF golang parser 33
pantrif/s2-geojson Draw a polygon on the map or paste a geoJSON and explore how the s2.RegionCoverer covers it with S2 cells depending on the min and max levels 16
golang/geo S2 geometry library in Go 1335
peterstace/simplefeatures Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification 48
tidwall/tile38 Real-time Geospatial and Geofencing 8018
wroge/wgs84 A pure Go package for coordinate transformations. 74

Go Compilers

Repository Description Stars
Konstantin8105/c4go Transpiling C code to Go code 303
andygeiss/esp32-transpiler Transpile Golang into Arduino code to use fully automated testing at your IoT projects. 42
Konstantin8105/f4go Transpiling fortran code to golang code 31
gopherjs/gopherjs A compiler from Go to JavaScript for running Go code in a browser 10967
tardisgo/tardisgo Golang->Haxe->CPP/CSharp/Java/JavaScript transpiler 419

Goroutines

Repository Description Stars
panjf2000/ants 🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants 是一个高性能且低损耗的 goroutine 池。 7854
mborders/artifex Simple in-memory job queue for Golang using worker-based dispatching 129
reugn/async Synchronization and asynchronous computation utilities library for Go 40
StudioSol/async A safe way to execute functions asynchronously, recovering them in case of panic. It also provides an error stack aiming to facilitate fail causes discovery. 105
kamilsk/breaker 🚧 Flexible mechanism to make execution flow interruptible. 4
ddelizia/channelify Make functions return a channel for parallel processing via go routines. 20
vivek-ng/concurrency-limiter 7
ITcathyh/conexec A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking. 12
marusama/cyclicbarrier CyclicBarrier golang implementation 93
hexdigest/execpool A pool that spins up a given number of processes in advance and attaches stdin and stdout when needed. Very similar to FastCGI but works for any command. 10
workanator/go-floc Floc: Orchestrate goroutines with ease. 232
kamildrazkiewicz/go-flow Simply way to control goroutines execution order based on dependencies 186
nikhilsaraf/go-tools A collection of tools for Golang 7
subchen/go-trylock TryLock support on read-write lock for Golang 28
pieterclaerhout/go-waitgroup A sync.WaitGroup with error handling and concurrency control 29
catmullet/go-workers 👷 Library for safely running groups of workers concurrently or consecutively that require input and output through channels 136
zenthangplus/goccm Limits the number of goroutines that are allowed to run concurrently 47
loveleshsharma/gohive 🐝 A Highly Performant and easy to use goroutine pool for Go 32
vardius/gollback Go asynchronous simple function utilities, for managing execution of closures and callbacks 85
hamed-yousefi/gowl Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status. 16
benmanns/goworker goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers. 2638
xxjwxc/gowp golang worker pool , Concurrency limiting goroutine pool 364
sherifabdlnaby/gpool gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore. 84
ivpusic/grpool Lightweight Goroutine pool 679
duanckham/hands Hands is a process controller used to control the execution and return strategies of multiple goroutines. 8
AaronJan/Hunch Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive. 77
dirkaholic/kyoo Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries 37
neilotoole/errgroup errgroup with goroutine worker limits 116
arunsworld/nursery Structured Concurrency in Go 40
oversight - Oversight is a complete implementation of the Erlang supervision trees. 0
rafaeljesus/parallel-fn Run functions in parallel ☄️ 33
alitto/pond 🔘 Minimalistic and High-performance goroutine worker pool written in Go 477
go-playground/pool 🚤 a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation 673
AnikHasibul/queue package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more. 12
x-mod/routine go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它 48
kamilsk/semaphore 🚦 Semaphore pattern implementation with timeout of lock/unlock operations. 90
marusama/semaphore Fast resizable golang semaphore primitive 140
ssgreg/stl Software Transactional Locks 24
shettyh/threadpool Golang simple thread pool implementation 69
Jeffail/tunny A goroutine pool for Go 2921
vardius/worker-pool Go simple async worker pool 82
gammazero/workerpool Concurrency limiting goroutine pool 751

GUI

Repository Description Stars

Hardware

Repository Description Stars
arduino/arduino-cli Arduino command line tool 3331
ziutek/emgo Emgo: Bare metal Go (language for programming embedded systems) 966
jaypipes/ghw Golang hardware discovery/inspection library 1127
hypebeast/go-osc Open Sound Control (OSC) library for Golang. Implemented in pure Go. 144
stianeikeland/go-rpio 🔌 Raspberry Pi GPIO library for go-lang 1837
aler9/goroslib ROS client library for the Go programming language 172
0xcafed00d/joystick Go Joystick API 31
zcalusic/sysinfo Sysinfo is a Go library providing Linux OS / kernel / hardware system information. 328

Images

Repository Description Stars
anthonynsimon/bild Image processing algorithms in pure Go 3497
h2non/bimg Go package for fast high-level image processing powered by libvips C library 1840
aofei/cameron An avatar generator for Go. 82
tdewolff/canvas Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc. 939
gojek/darkroom 186
lucasepe/draft Generate High Level Cloud Architecture diagrams using YAML syntax. 522
pravj/geopattern 📐 Create beautiful generative image patterns from a string in golang. 1170
fogleman/gg Go Graphics - 2D rendering in Go with a simple API. 3322
disintegration/gift Go Image Filtering Toolkit 1541
qmuntal/gltf 👓 Go library for encoding glTF 2.0 files 150
ungerik/go-cairo Go binding for the cairo graphics library 119
bolknote/go-gd Go bingings for GD (http://www.boutell.com/gd/) 53
koyachi/go-nude Nudity detection with Go. 345
go-opencv/go-opencv Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv 1269
jyotiska/go-webcolors Port of webcolors library from Python to Go 26
kolesa-team/go-webp Simple and fast webp library for golang 46
hybridgroup/gocv Go package for computer vision using OpenCV 4 and beyond. 4686
corona10/goimagehash Go Perceptual image hashing package 476
corona10/goimghdr The imghdr module determines the type of image contained in a file for go 38
o1egl/govatar Avatar generation library for GO language 486
davidbyttow/govips A lightning fast image processing and resizing library for Go 651
sensepost/gowitness 🔍 gowitness - a golang, web screenshot utility using Chrome Headless 1401
shomali11/gridder A Grid based 2D Graphics library 52
qeesung/image2ascii 🌁 Convert image to ASCII 641
gographics/imagick Go binding to ImageMagick's MagickWand C API 1422
h2non/imaginary Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing 4268
disintegration/imaging Imaging is a simple image processing package for Go 4155
hawx/img A selection of image manipulation tools 138
fogleman/ln 3D line art engine. 3042
noelyahan/mergi go library for image programming (merge, crop, resize, watermark, animate, ease, transit) 166
aldor007/mort Storage and image processing server written in Go 448
donatj/mpo JPEG-MPO Decoder / Converter Library and CLI Tool 8
thoas/picfit An image resizing server written in Go 1624
fogleman/pt A path tracer written in Go. 2003
nfnt/resize Pure golang image resizing 2797
bamiaux/rez Image resizing in pure Go and SIMD 204
jonoton/scout Scout is a standalone open source software solution for DIY video security. 3
muesli/smartcrop smartcrop finds good image crops for arbitrary crop sizes 1613
auyer/steganography Pure Golang Library that allows simple LSB steganography on images 133
DimitarPetrov/stegify 🔍 Go tool for LSB steganography, capable of hiding any file within an image. 996
ajstarks/svgo Go Language Library for SVG generation 1817
ftrvxmtrx/tga Go package for decoding and encoding TARGA image format 30
mehdipourfar/webp-server Simple and minimal image server capable of storing, resizing, converting and caching images. 38

IoT (Internet of Things)

Repository Description Stars
heedy/heedy An aggregator for personal metrics, and an extensible analysis engine 323
goiot/devices Suite of libraries for IoT devices (written in Go), experimental for x/exp/io 252
xcodersun/eywa Make IoT a lot more fun with data. 52
TIBCOSoftware/flogo Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps. 1944
paypal/gatt Gatt is a Go package for building Bluetooth Low Energy peripherals 1012
hybridgroup/gobot Golang framework for robotics, drones, and the Internet of Things (IoT) 7659
amimof/huego An extensive Philips Hue client library for Go with an emphasis on simplicity 201
vaelen/iot A Go client for Google IoT Core 56
mainflux/mainflux Industrial IoT Messaging and Device Management Platform 1727
periph - Peripherals I/O to interface with low-level board facilities. 0
sensorbee/sensorbee Lightweight stream processing engine for IoT 211

Job Scheduler

Repository Description Stars
deepaksinghvi/cdule cdule (pronounce as Schedule) Golang based scheduler library with database support. 2
datarootsio/cheek Crontab-like scHeduler for Effective Execution of tasKs, cheek for short. 25
onatm/clockwerk Job Scheduling Library 117
krayzpipes/cronticker Golang ticker that works with Cron scheduling. 2
rk/go-cron A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. 210
reugn/go-quartz Minimalist and zero-dependency scheduling library for Go 614
go-co-op/gocron Easy and fluent Go cron scheduling. This is a fork from https://github.com/jasonlvhit/gocron 1706
fieldryand/goflow Web UI-based workflow orchestrator for rapid prototyping 18
roylee0704/gron gron, Cron Jobs in Go. 887
adhocore/gronx Lightweight, fast and dependency-free Cron expression parser (due checker), task scheduler and/or daemon for Golang (tested on v1.13 and above) and standalone usage 183
bamzi/jobrunner Framework for performing work asynchronously, outside of the request flow 911
albrow/jobs A persistent and flexible background jobs library for go. 488
kilgaloon/leprechaun You had one job, or more then one, which can be done in steps 84
romshark/sched A job scheduler for Go with the ability to fast-forward time. 22
carlescere/scheduler Job scheduling made easy. 379
madflojo/tasks Package tasks is an easy to use in-process scheduler for recurring tasks in Go 79

JSON

Repository Description Stars
spyzhov/ajson Abstract JSON for Golang with JSONPath support 109
simonnilsson/ask A Go package that provides a simple way of accessing nested properties in maps and slices. 14
cocoonspace/dynjson Client-customizable JSON formats for dynamic APIs 11
lucassscaravelli/ej Write and read JSON from different sources in one line 7
vtopc/epoch Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from built-in time.Time type in JSON 9
valyala/fastjson Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection 1475
skanehira/gjo Small utility to create JSON objects 109
tidwall/gjson Get JSON values quickly - JSON parser for Go 9934
ddymko/go-jsonerror Small package which wraps error responses to follow jsonapi.org 12
nicklaw5/go-respond A Go package for handling common HTTP JSON responses. 45
elgs/gojq JSON query in Golang 183
ChimeraCoder/gojson Automatically generate Go (golang) struct definitions from example JSON 2471
yazgazan/jaydiff A JSON diff utility 84
wI2L/jettison Highly configurable, fast JSON encoder for Go 119
romshark/jscan High performance JSON iterator for Go 11
JSON-to-Go - Convert JSON to Go struct. 0
JSON-to-Proto - Convert JSON to Protobuf online. 0
m-zajac/json2go Create go type representation from json 95
AmuzaTkts/jsonapi-errors Go bindings based on the JSON API errors reference 12
neilotoole/jsoncolor Colorized JSON output for Go 28
wI2L/jsondiff Compute the diff between two JSON documents as a series of RFC6902 (JSON Patch) operations 154
miolini/jsonf Console JSON formatter with query feature 63
ricardolonga/jsongo Fluent API to make it easier to create Json objects. 100
RichardKnop/jsonhal A simple Go package to make custom structs marshal into HAL compatible JSON responses. 10
sinhashubham95/jsonic All you need with JSON 5
zerosnake0/jzon A golang json library inspired by jsoniter 6
qntfy/kazaam Arbitrary transformations of JSON in Golang 222
ake-persson/mapslice-json Go MapSlice for ordered marshal/ unmarshal of maps in JSON 9
sanbornm/mp Simple Email Parser 44
ohler55/ojg Optimized JSON for Go 459
dedalqq/omg.jsonparser The simple JSON parser with validation by condition 3
olvrng/ujson µjson - A fast and minimal JSON parser and transformer that works on unstructured JSON 54
miladibra10/vjson vjson is a golang package that helps to validate JSON objects 27

Logging

Repository Description Stars
amoghe/distillog Logging, distilled 26
kpango/glg Simple and blazing fast lockfree logging library for golang 144
lajosbencz/glo Logging library for Golang 14
golang/glog Leveled execution logs for Go 3137
utahta/go-cronowriter Time based rotating file writer 47
pieterclaerhout/go-log A logging library with strack traces, object dumping and optional timestamps 8
subchen/go-log Simple and configurable Logging in Go, with level, formatters and writers 11
siddontang/go-log a golang log lib supports level and multi handlers 29
ian-kent/go-log A logger, for Go 37
apsdehal/go-logger Simple logger for Go programs. Allows custom formats for messages. 274
sadlil/gologger The Simplest and worst logging library ever written 40
aphistic/gomol Gomol is a library for structured, multiple-output logging for Go with extensible logging outputs 18
One-com/gone Golang packages for writing small daemons and servers. 40
henvic/httpretty Package httpretty prints the HTTP requests you make with Go pretty on your terminal. 250
ssgreg/journald Go implementation of systemd Journal's native API for logging 30
clok/kemba A tiny debug logging tool. Ideal for CLI tools and command applications. Inspired by https://github.com/visionmedia/debug 6
aerogo/log 📝 Logging with multiple output targets. 9
apex/log Structured logging package for Go. 1217
go-playground/log 📗 Simple, configurable and scalable Structured Logging for Go. 277
teris-io/log Structured log interface 24
firstrow/logvoyage LogVoyage - logging SaaS written in GoLang 90
inconshreveable/log15 Structured, composable logging for Go 1040
ewwwwwqm/logdump Package for multi-level logging 9
chzyer/logex An golang log lib, supports tracking and level, wrap by standard log lib 38
azer/logger Minimalistic logging library for Go. 150
mborders/logmatic Colorized logger for Golang with dynamic log level configuration 13
mbndr/logo Golang logger to different configurable writers. 9
sirupsen/logrus Structured, pluggable logging for Go. 20165
cabify/logrusiowriter io.Writer implementation using logrus logger 13
sebest/logrusly Loggly Hooks for GO Logrus logger 27
logur/logur Logur is an opinionated collection of logging best practices 154
hashicorp/logutils Utilities for slightly better logging in Go (Golang). 317
mgutz/logxi A 12-factor app logger built for performance and happy development 348
natefinch/lumberjack lumberjack is a log rolling package for Go 3183
jbrodriguez/mlog A simple logging module for go, with a rotating file feature and console logging. 24
gyozatech/noodlog 🍜 Parametrized JSON logging library in Golang which lets you obfuscate sensitive data and marshal any kind of content. 36
francoispqt/onelog Dead simple, super fast, zero allocation and modular logger for Golang 402
go-ozzo/ozzo-log A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets. 118
phuslu/log Structured Logging Made Easy 419
arthurkiller/rollingwriter Rolling writer is an IO util for auto rolling write in go. 228
cihub/seelog Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting. 1594
davecgh/go-spew Implements a deep pretty printer for Go data structures to aid in debugging 4924
simukti/sqldb-logger A logger for Go SQL database driver without modifying existing *sql.DB stdlib usage. 213
alexcesaro/log Logging packages for Go 45
structy/log A simple to use log system, minimalist but with features for debugging and differentiation of messages 4
hpcloud/tail Go package for reading from continously updated files (tail -f) 2297
xfxdev/xlog plugin architecture and flexible log system for golang 6
rs/xlog xlog is a logger for net/context aware HTTP applications 135
jfcg/yell 📒 Yet another minimalist logging library 0
uber-go/zap Blazing fast, structured, leveled logging in Go. 15260
rs/zerolog Zero Allocation JSON Logger 6012
edoger/zkits-logger A powerful zero-dependency json logger. 15

Machine Learning

Repository Description Stars
jbrukh/bayesian Naive Bayesian Classification for Golang. 729
ryanbressler/CloudForest Ensembles of decision trees in go/golang. 708
sgrodriguez/ddt Golang Dynamic Decision Tree 16
MaxHalford/eaopt 🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution) 780
khezen/evoli Genetic Algorithm and Particle Swarm Optimization 22
Fontinalis/fonet fonet is a deep neural network package for Go. 64
e-XpertSolutions/go-cluster k-modes and k-prototypes clustering algorithms implementation in Go 31
patrikeh/go-deep Artificial Neural Network 357
vksnk/go-fann Go bindings for FANN, library for artificial neural networks 108
nikolaydubina/go-featureprocessing 🔥 Fast, simple sklearn-like feature processing for Go 71
thoj/go-galib Genetic Algorithms library written in Go / golang 189
daviddengcn/go-pr Pattern recognition package in Go lang. 61
goml/gobrain Neural Networks written in go 518
e-dard/godist Probability distributions and associated methods in Go 32
tomcraven/goga Golang Genetic Algorithm 152
sjwhitworth/golearn Machine Learning for Go 8250
danieldk/golinear liblinear bindings for Go 44
surenderthakran/gomind A simplistic Neural Network Library in Go 23
cdipaolo/goml On-line Machine Learning in Go (and so much more) 1320
dathoangnd/gonet Neural Network for Go. 73
c-bata/goptuna A hyperparameter optimization framework, inspired by Optuna. 208
timkaye11/goRecommend Collaborative Filtering (CF) Algorithms in Go! 182
gorgonia/gorgonia Gorgonia is a library that helps facilitate machine learning in Go. 4434
zhenghaoz/gorse An open source recommender system service written in Go 5335
asafschers/goscore Go Scoring API for PMML 75
otiai10/gosseract Go package for OCR (Optical Character Recognition), by using Tesseract C++ library 1700
datastream/libsvm libsvm go version 71
BayesWitnesses/m2cgen Transform ML models into a native code (Java, C, Python, Go, JavaScript, Visual Basic, C#, R, PowerShell, PHP, Dart, Haskell, Ruby, F#, Rust) with zero dependencies 2063
jinyeom/neat NEAT (NeuroEvolution of Augmenting Topologies) implemented in Go 63
schuyler/neural-go A multilayer perceptron network implemented in Go, with training via backpropagation. 63
otiai10/ocrserver A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well 479
owulveryck/onnx-go onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library. 381
ThePaw/probab Automatically exported from code.google.com/p/probab 17
malaschitz/randomForest Random Forest implementation in golang 20
muesli/regommend Recommendation engine for Go 299
eaigner/shield Bayesian text classifier with flexible tokenizers and storage backends for Go 150
galeone/tfgo Tensorflow + Go, the gopher way 1907
Xamber/Varis Golang Neural Network 44

Messaging

Repository Description Stars
kak-tus/ami Go client to reliable queues based on Redis Cluster Streams 23
rabbitmq/amqp091-go An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: streadway/amqp 279
sideshow/apns2 ⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol. 2604
hibiken/asynq Simple, reliable, and efficient distributed task queue in Go 2872
Clivern/Beaver 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps. 1318
benthosdev/benthos Fancy stream processing made operationally mundane 4209
mustafaturan/bus 🔊Minimalist message bus implementation for internal communication with zero-allocation magic on Emit 250
centrifugal/centrifugo Scalable real-time messaging server in a language-agnostic way. Set up once and forever. 5903
chanify/chanify Chanify is a safe and simple notification tools. This repository is command line tools for Chanify. 787
jeroenrinzema/commander Build event-driven and event streaming applications with ease 59
confluentinc/confluent-kafka-go Confluent's Apache Kafka Golang client 3195
godbus/dbus Native Go bindings for D-Bus 693
appleboy/drone-line Sending line notifications using a binary, docker or Drone CI. 76
olebedev/emitter Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins 419
agoalofalife/event The implementation of the pattern observer 45
asaskevich/EventBus [Go] Lightweight eventbus with async compatibility for Go 1108
osamingo/gaurun-client Gaurun Client written in Go 10
desertbit/glue Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io) 401
cheshir/go-mq Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ. 73
TheCreeper/go-notify Package notify provides an implementation of the Gnome DBus Notifications Specification. 59
nsqio/go-nsq The official Go package for NSQ 2110
jirenius/go-res RES Service protocol library for Go 54
googollee/go-socket.io socket.io library for golang, a realtime application framework. 4522
maxatome/go-vitotrol golang client library to Viessmann Vitotrol web service 17
trivago/gollum An n:m message multiplexer written in Go 917
jcuga/golongpoll golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients 😃 ☕ 💻 594
Terry-Mao/gopush-cluster Golang push server cluster 2025
appleboy/gorush A push notification server written in Go (Golang). 6169
alexsniffin/gosd A library for scheduling when to dispatch a message to a channel 19
smancke/guble websocket based messaging server written in golang 151
leozz37/hare 🐇 CLI tool for websockets and easy to use Golang package 38
leandro-lugaresi/hub 📨 A fast Message/Event Hub using publish/subscribe pattern with support for topics like* rabbitMQ exchanges for Go applications 114
socifi/jazz Abstraction layer for simple rabbitMQ connection, messaging and administration 15
RichardKnop/machinery Machinery is an asynchronous task queue/job queue based on distributed message passing. 6065
nanomsg/mangos mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols" 489
olahol/melody 🎶 Minimalist websocket framework for Go 2390
dunglas/mercure Server-sent live updates: protocol and reference implementation 2679
vardius/message-bus Go simple async message bus 209
nats-io/nats.go Golang client for NATS, the cloud native messaging system. 3844
rafaeljesus/nsq-event-bus A tiny wrapper around NSQ topic and channel 🚀 71
dailymotion/oplog A generic oplog/replication system for microservices 111
cskr/pubsub A simple pubsub package for go. 370
rafaeljesus/rabbus A tiny wrapper over amqp exchanges and queues 🚌 ✨ 94
jandelgado/rabtap RabbitMQ wire tap and swiss army knife 209
sybrexsys/RapidMQ RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue 64
robinjoseph08/redisqueue redisqueue provides a producer and consumer of a queue that uses Redis streams 80
sbabiv/rmqconn RabbitMQ Reconnection client 17
Shopify/sarama Sarama is a Go library for Apache Kafka. 8328
uniqush/uniqush-push Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices. 1328
pebbe/zmq4 A Go interface to ZeroMQ version 4 971

Microsoft Office

Repository Description Stars

Microsoft Excel

Repository Description Stars
qax-os/excelize Go language library for reading and writing Microsoft Excel™ (XLSX) files. 11125
szyhf/go-excel A simple and light excel file reader to read a standard excel as a table faster 一个轻量级的Excel数据读取库,用一种更关系数据库的方式解析Excel。
fterrag/goxlsxwriter Golang bindings for libxlsxwriter for writing XLSX files 18
tealeg/xlsx Go (golang) library for reading and writing XLSX files. 5265
plandem/xlsx Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang 148

Miscellaneous

Repository Description Stars

Dependency Injection

Repository Description Stars
magic003/alice An additive dependency injection container for Golang. 44
golobby/container A lightweight yet powerful IoC dependency injection container for Go projects 316
goava/di 🛠 A full-featured dependency injection container for go programming language. 145
uber-go/dig A reflection based dependency injection toolkit for Go. 2425
i-love-flamingo/dingo Go Dependency Injection Framework 124
uber-go/fx A dependency injection based application framework for Go. 2624
vardius/gocontainer Simple Dependency Injection Container 15
goioc/di Simple and yet powerful Dependency Injection for Go 153
google/wire Compile-time Dependency Injection for Go 7766
HnH/di DI container library that is focused on clean API and flexibility. 3
go-kata/kinit GO Dependency Injection 5
logrange/linker Dependency Injection and Inversion of Control package 32
muir/nject Golang type-safe dependency injection 5
Fs02/wire Strict Runtime Dependency Injection for Golang 34

Project Layout

Repository Description Stars
ardanlabs/service Starter code for writing web services in Go using Kubernetes. 2253
lacion/cookiecutter-golang A Go project template 508
zitryss/go-sample Go Project Sample Layout 96
allaboutapps/go-starter An opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps. 139
Fs02/go-todo-backend Go Todo Backend example using modular project layout for product microservice. 134
wajox/gobase This is a simple skeleton for golang applications 23
golang-standards/project-layout Standard Go Project Layout 30436
golang-templates/seed Go application GitHub repository template. 252
insidieux/inizio Golang project standard layout generator 9
sagikazarmark/modern-go-application Modern Go Application example 1160
mikestefanello/pagoda Rapid, easy full-stack web development starter kit in Go 171
catchplay/scaffold Generate scaffold project layout for Go. 108
wangyoucao577/go-project-layout My understanding of how to structure a golang project. 16

Strings

Repository Description Stars
mkungla/bexp Go implementation of Brace Expansion mechanism to generate arbitrary strings. 6
go-formatter - Implements replacement fields surrounded by curly braces {} format strings. 0
gobeam/stringy Convert string to camel case, snake case, kebab case / slugify, custom delimiter, pad string, tease string and many other functionalities with help of by Stringy package. 109
ozgio/strutil String utilities for Go 161
abhimanyu003/sttr cross-platform, cli app to perform various operations on string 350
huandu/xstrings Implements string functions widely used in other languages but absent in Go. 1002

Uncategorized

Repository Description Stars
mudler/anagent Minimalistic, pluggable Golang evloop/timer handler with dependency-injection 14
antchfx/antch Antch, a fast, powerful and extensible web crawling & scraping framework for Go 227
mholt/archiver Easily create & extract archives, and compress & decompress files of various formats 3512
artyom/autoflags Populate go command line app flags from config struct 36
kirillDanshin/avgRating Calculate average score and rating based on Wilson Score Equation 11
dimiro1/banner An easy way to add useful startup banners into your Go applications 381
mojocn/base64Captcha captcha of base64 image string 1391
bobg/basexx Convert digit strings between arbitrary bases. 2
distatus/battery cross-platform, normalized battery information library 201
icza/bitio Optimized bit-level Reader and Writer for Go. 183
digitalcrab/browscap_go GoLang Library for Browser Capabilities Project 40
steambap/captcha 😎Package captcha provides an easy to use, unopinionated API for captcha generation 96
cstockton/go-conv Fast conversions across various Go types with a simple API. 376
miolini/datacounter Golang counters for readers/writers 37
neotoolkit/faker Fake data generator 3
pioz/faker Random fake data and struct generator for Go. 60
go-ffmt/ffmt Golang beautify data display for Humans 258
TwiN/gatus ⛑ Gatus - Automated service health dashboard 2365
lana/go-commandbus Simple command bus for GO 5
jolestar/go-commons-pool a generic object pool for golang 1020
go-openapi - Collection of packages to parse and utilize open-api schemas. 0
eapache/go-resiliency Resiliency patterns for golang 1341
gen2brain/go-unarr Go bindings for unarr (decompression library for RAR, TAR, ZIP and 7z archives) 174
brianvoe/gofakeit Random fake data generator written in go 2333
antham/gommit Enforce git message commit consistency 95
shirou/gopsutil psutil for golang 7488
osamingo/gosh Provide Go Statistics Handler, Struct, Measure Method 29
haxpax/gosms 📪 Your own local SMS gateway in Go 1373
cabify/gotoprom Type-safe Prometheus metrics builder library for golang 93
pariz/gountries Gountries provides: Countries (ISO-3166-1), Country Subdivisions(ISO-3166-2), Currencies (ISO 4217), Geo Coordinates(ISO-6709) as well as translations, country borders and other stuff exposed as struct data. 337
ddddddO/gtree Output tree🌳 or Make directories(files)📁 from Markdown or Programmatically. Provide CLI and Go Package. 35
alexliesenfeld/health A simple and flexible health check library for Go. 489
dimiro1/health An easy to use, extensible health check library for Go applications. 429
etherlabsio/healthcheck An simple, easily extensible and concurrent health-check library for Go services 214
Wing924/hostutils A golang library for packing and unpacking hosts list 10
osamingo/indigo A distributed unique ID generator of using Sonyflake and encoded by Base58 93
hyperboloide/lk Simple licensing library for golang. 236
llir/llvm Library for interacting with LLVM IR in pure Go. 866
pascaldekloe/metrics atomic measures + Prometheus exposition library 22
alwindoss/morse Morse Code Library in Go 75
lrita/numa NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code. 8
neotoolkit/openapi OpenAPI 3.x parser 5
hyperboloide/pdfgen HTTP service to generate PDF from Json requests 56
mavihq/persian Some utilities for Persian language in Go (Golang) 62
aofei/sandid Every grain of sand on Earth has its own ID. 33
Wing924/shellwords A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell. 17
teris-io/shortid Super short, fully unique, non-sequential and URL friendly Ids 749
containrrr/shoutrrr Notification library for gophers and their furry friends. 336
qmuntal/stateless Go library for creating state machines 412
go-playground/stats 📈 Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... 158
hackebrot/turtle Emojis for Go 😄🐢🚀 131
pantrif/url-shortener A golang URL Shortener 35
azr/generators #golang generator 4
chmike/varint variable length integer encoding using prefix code 2
rkoesters/xdg FreeDesktop.org (xdg) Specs implemented in Go 28
go-xkg/xkg User level X Keyboard Grabber 53
ulikunitz/xz Pure golang package for reading and writing xz-compressed files 371

Natural Language Processing

Repository Description Stars

Language Detection

Repository Description Stars

Morphological Analyzers

Repository Description Stars

Slugifiers

Repository Description Stars

Tokenizers

Repository Description Stars

Translation

Repository Description Stars

Transliteration

Repository Description Stars

Networking

Repository Description Stars
mdlayher/arp Package arp implements the ARP protocol, as described in RFC 826. MIT Licensed. 281
StabbyCutyou/buffstreams A library to simplify writing applications using TCP sockets to stream protobuff messages 247
zubairhamed/canopus CoAP Client/Server implementing RFC 7252 for the Go Language 148
yl2chen/cidranger Fast IP to CIDR lookup in Golang 682
mdlayher/dhcp6 Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. MIT Licensed. 73
miekg/dns DNS library in Go 6174
mosajjal/dnsmonster Passive DNS Capture/Monitoring Framework 169
DarthPestilane/easytcp ✨ 🚀 EasyTCP is a light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful. 290
songgao/ether A Go package for sending and receiving ethernet frames. Currently supporting Linux, Freebsd, and OS X. 76
mdlayher/ethernet Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. MIT Licensed. 240
valyala/fasthttp Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http 17398
fortio/fortio Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats. 2340
jlaffaye/ftp FTP client package for Go 911
fclairamb/ftpserverlib golang ftp server library 290
xtaci/gaio High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング 416
Allenxuxu/gev 🚀Gev is a lightweight, fast non-blocking TCP network library / websocket server based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers. 1368
jimlambrt/gldap Build LDAP services w/ Go 60
DrmagicE/gmqtt Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.x and V5 in golang 597
panjf2000/gnet 🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。 6209
google/gnxi gNXI Tools - gRPC Network Management/Operations Interface Tools 202
hashicorp/go-getter Package for downloading things from a string URL using a variety of protocols. 1312
joeig/go-powerdns Go PowerDNS 4.x API Client 57
ccding/go-stun A go implementation of the STUN client (RFC 3489 and RFC 5389) 483
osrg/gobgp BGP implemented in the Go Programming Language 2720
averageflow/gohooks GoHooks make it easy to send and consume secured web-hooks from a Go application 16
sunwxg/golibwireshark 24
google/gopacket Provides packet processing capabilities for Go 4718
akrennmair/gopcap A simple wrapper around libpcap for the Go programming language 438
sunwxg/goshark 14
gosnmp/gosnmp An SNMP library written in Go 821
gansidui/gotcp A Go package for quickly building tcp servers 489
cavaliergopher/grab A download manager package for Go 1009
koofr/graval An experimental go FTP server framework 27
qustavo/httplab The interactive web server 3786
wzshiming/httpproxy HTTP proxy handler and dialer 11
c-robinson/iplib A library for working with IP addresses and networks in Go 74
udhos/jazigo Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet. 174
xtaci/kcp-go A Crypto-Secure, Production-Grade Reliable-UDP Library for golang with FEC 3259
xtaci/kcptun A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。KCPプロトコルに基づく安全なトンネル。KCP 프로토콜을 기반으로 하는 보안 터널입니다。 12795
fanux/lhttp go websocket, a better way to buid your IM server 664
ian-kent/linkio Simulate network link speed 50
kirillDanshin/llb 12
hashicorp/mdns Simple mDNS client/server library in Golang 852
mqttPaho - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets. 0
lesismal/nbio Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use. 609
cloudwego/netpoll A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance. 2473
intel-go/nff-go NFF-Go -Network Function Framework for GO (former YANFF) 1174
aerogo/packet 📦 Send network packets over a TCP or UDP connection. 66
yahoo/panoptes-stream A cloud native distributed streaming network telemetry. 32
schollz/peerdiscovery Pure-Go library for cross-platform local peer discovery using UDP multicast 👩 🔁 👩 537
aybabtme/portproxy TCP proxy, highjacks HTTP to allow CORS 49
polera/publicip Go pkg for returning your public facing IP address. 25
lucas-clemente/quic-go A QUIC implementation in pure go 6425
mdlayher/raw Package raw enables reading and writing data at the device driver level for a network interface. MIT Licensed. 422
pkg/sftp SFTP support for the go.crypto/ssh package 1119
gliderlabs/ssh Easy SSH servers in Golang 2409
eduardonunesp/sslb Golang Super Simple Load Balance 136
gortc/stun Fast RFC 5389 STUN implementation in go 484
firstrow/tcp_server golang tcp server 409
two/tspool tcp server pool 12
anacrolix/utp Use anacrolix/go-libutp instead 162
yahoo/vssh Go Library to Execute Commands Over SSH at Scale 788
songgao/water A simple TUN/TAP library written in native Go. 1388
pion/webrtc Pure Go implementation of the WebRTC API 8938
masterzen/winrm Command-line tool and library for Windows remote command execution in Go 358
xfxdev/xtcp A TCP Server Framework with graceful shutdown, custom protocol. 131

HTTP Clients

Repository Description Stars
h2non/gentleman Plugin-driven, extensible HTTP client toolkit for Go 938
hashicorp/go-cleanhttp 240
bozd4g/go-http-client An enhanced http client for Golang 35
wenerme/go-req Declarative golang HTTP client 13
hashicorp/go-retryablehttp Retryable HTTP client in Go 1133
levigross/grequests A Go "clone" of the great and famous Requests library 1869
gojek/heimdall An enhanced HTTP client for Go 2221
valord577/httpc A customizable and simple HTTP client library. Only depend on the stdlib HTTP client. 4
ybbus/httpretry Enriches the standard go http client with retry functionality. 18
sethgrid/pester Go (golang) http calls with retries and backoff 582
imroc/req Simple Go HTTP client with Black Magic 2199
monaco-io/request go request, go http client 190
carlmjohnson/requests HTTP requests for Gophers 297
go-resty/resty Simple HTTP and REST client library for Go 5812
ddo/rq A nicer interface for golang stdlib HTTP client 40
dghubble/sling A Go HTTP client library for creating and sending API requests 1423

OpenGL

Repository Description Stars
go-gl/gl Go bindings for OpenGL (generated via glow) 886
go-gl/glfw Go bindings for GLFW 3 1228
technohippy/go-glmatrix go-glmatrix is a golang version of glMatrix, which is "designed to perform vector and matrix operations stupidly fast". 3
goxjs/gl Go cross-platform OpenGL bindings. 155
goxjs/glfw Go cross-platform glfw library for creating an OpenGL context and receiving events. 74
go-gl/mathgl A pure Go 3D math library. 424

ORM

Repository Description Stars
Yiling-J/cacheme-go 🚀 Schema based, typed Redis caching/memoize framework for Go 19
ent/ent An entity framework for Go 10242
jschoedt/go-firestorm Simple Go ORM for Google/Firebase Cloud Firestore 27
go-pg/pg Golang ORM with focus on PostgreSQL features and performance 5008
jirfag/go-queryset 100% type-safe ORM for Go (Golang) with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support. GORM under the hood. 656
rushteam/gosql golang orm and sql builder 158
huandu/go-sqlbuilder A flexible and powerful SQL string builder library plus a zero-config ORM. 743
gosuri/go-store A simple and fast Redis backed key-value store library for Go 107
go-gorm/gorm The fantastic ORM library for Golang, aims to be developer friendly 27318
xxjwxc/gormt database to golang struct 1770
go-gorp/gorp Go Relational Persistence - an ORM-ish library for Go 3556
Fs02/grimoire Database access layer for golang 156
abrahambotros/lore Light Object-Relational Environment (LORE) provides a simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go 10
marlow/marlow persistence layer code generation for golang 11
gobuffalo/pop A Tasty Treat For All Your Database Needs 1184
prisma/prisma-client-go Prisma Client Go is an auto-generated and fully type-safe database client 1172
go-reform/reform A better ORM for Go, based on non-empty interfaces and code generation. 1232
go-rel/rel 💎 Modern ORM for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API 497
volatiletech/sqlboiler Generate a Go ORM tailored to your database schema. 4734
upper/db Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features. 2918
XORM - Simple and powerful ORM for Go. (Support: MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql and Oracle). 0
albrow/zoom A blazing-fast datastore and querying engine for Go built on Redis. 286

Package Management

Repository Description Stars
go modules - Modules are the unit of source code interchange and versioning. The go command has direct support for working with modules, including recording and resolving dependencies on other modules. 0

Performance

Repository Description Stars

Query Language

Repository Description Stars

Resource Embedding

Repository Description Stars

Science and Data Analysis

Repository Description Stars
ndabAP/assocentity Package assocentity returns the average distance from words to a given entity 8
seanhagen/bradleyterry Package to do Bradley-Terry Model pairwise compairsons 5
nikolaydubina/calendarheatmap 📅 Calendar heatmap inspired by GitHub contribution activity 342
vdobler/chart Provide basic charts in go 715
rocketlaunchr/dataframe-go DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration 768
db47h/decimal An arbitrary-precision decimal floating-point arithmetic package for Go 24
soniah/evaler Implements a simple floating point arithmetic expression evaluator in Go (golang). 47
VividCortex/ewma Exponentially Weighted Moving Average algorithms for Go. 366
skelterjohn/geom 2d geometry for golang 50
mjibson/go-dsp Digital Signal Processing for Go 770
milosgajdos/go-estimate State estimation and filtering algorithms in Go 93
ThePaw/go-gt Automatically exported from code.google.com/p/go-gt 6
soypat/godesim ODE system solver made simple. For IVPs (initial value problems). 19
kzahedi/goent GO Implementation of Entropy Measures 26
VividCortex/gohistogram Streaming approximate histograms in Go 161
gonum/gonum Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more 5624
gonum/plot A repository for plotting and visualizing data 2134
gyuho/goraph Package goraph implements graph data structure and algorithms. 672
cpmech/gosl Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations. 1647
OGFris/GoStats GoStats is a go library for math statistics mostly used in ML domains, it covers most of the statistical measures functions. 20
yourbasic/graph Graph algorithms and data structures 535
nikolaydubina/jsonl-graph 🏝 JSONL Graph Tools 58
ChristopherRabotin/ode An ordinary differential equation solving library in golang. 17
paulmach/orb Types and utilities for working with 2d geometry in Golang 497
alixaxel/pagerank Weighted PageRank implementation in Go 74
sgreben/piecewiselinear tiny linear interpolation library for go (factored out from https://github.com/sgreben/yeetgif) 22
claygod/PiHex PiHex Library, written in Go, generates a hexadecimal number sequence in the number Pi in the range from 0 to 10,000,000. 15
khezen/rootfinding root-finding library 7
james-bowman/sparse Sparse matrix formats for linear algebra supporting scientific and machine learning applications 130
montanaflynn/stats A well tested and comprehensive Golang statistics library package with no dependencies. 2318
nytlabs/streamtools tools for working with streams of data 1317
DavidBelicza/TextRank 😉 🌀 🍓 TextRank implementation in Golang with extendable features (summarization, phrase extraction) and multithreading (goroutine). 151
tchayen/triangolatte 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs. 26

Security

Repository Description Stars
hlandau/acmetool 🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt) 1897
cossacklabs/acra Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL. 958
FiloSottile/age A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. 10181
andskur/argon2-hashing A light package for generating and comparing password hashing with argon2 in Go 16
raja/argon2pw Argon2 password hashing package for go with constant time hash comparison 89
autocert - Auto provision Let’s Encrypt certificates and start a TLS server. 0
jaredfolkins/badactor BadActor.org An in-memory application driven jailer written in Go 305
Ullaakut/cameradar Cameradar hacks its way into RTSP videosurveillance cameras 2867
mvmaasakkers/certificates An opinionated helper for generating tls certificates 23
caddyserver/certmagic Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal 3973
golang-module/dongle A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption 76
prashantgupta24/firewalld-rest A rest application to update firewalld rules on a linux server 316
m1/go-generate-password Password generator written in Go 31
tg123/go-htpasswd Apache htpasswd Parser for Go. 23
wagslane/go-password-validator Validate the Strength of a Password in Go 326
hillu/go-yara Go bindings for YARA 247
dwin/goArgonPass goArgonPass is a Argon2 Password utility package for Go using the crypto library package Argon2 designed to be compatible with Passlib for Python and Argon2 PHP. Argon2 was the winner of the most recent Password Hashing Competition. This is designed for use anywhere password hashing and verification might be needed and is intended to replace implementations using bcrypt or Scrypt. 14
dwin/goSecretBoxPassword A probably paranoid Golang utility library for securely hashing and encrypting passwords based on the Dropbox method. This implementation uses Blake2b, Scrypt and XSalsa20-Poly1305 (via NaCl SecretBox) to create secure password hashes that are also encrypted using a master passphrase. 47
Interpol - Rule-based data generator for fuzzing and penetration testing. 0
go-acme/lego Let's Encrypt/ACME client and library written in Go 5171
awnumar/memguard Secure software enclave for storage of sensitive information in memory. 2142
kevinburke/nacl Pure Go implementation of the NaCL set of API's 521
pjebs/optimus-go ID hashing and Obfuscation using Knuth's Algorithm 305
hlandau/passlib 🔑 Idiotproof golang password validation library inspired by Python's passlib 263
rsjethani/secret Prevent your secrets from leaking into logs, std* etc. 7
unrolled/secure HTTP middleware for Go that facilitates some quick security wins. 1897
xaionaro-go/secureio An easy-to-use XChaCha20-encryption wrapper for io.ReadWriteCloser (even lossy UDP) using ECDH key exchange algorithm, ED25519 signatures and Blake3+Poly1305 checksums/message-authentication for Go (golang). Also a multiplexer. 24
elithrar/simple-scrypt A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go 🔑 176
ssh-vault/ssh-vault 🌰 encrypt/decrypt using ssh keys 342
adrianosela/sslmgr A layer of abstraction the around acme/autocert certificate manager (Golang) 13
cossacklabs/themis Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms. 1484

Serialization

Repository Description Stars
Logicalis/asn1 Asn.1 BER and DER encoding library for golang. 48
glycerine/bambam auto-generate capnproto schema from your golang source files. Depends on go-capnproto-1.0 at https://github.com/glycerine/go-capnproto 64
csweichel/bel Generate TypeScript interfaces from Go structs/interfaces - useful for JSON RPC 20
ghostiam/binstruct Golang binary decoder for mapping data into the structure 44
fxamacker/cbor CBOR codec (RFC 8949) with CBOR tags, Go struct tags (toarray, keyasint, omitempty), float64/32/16, big.Int, and fuzz tested billions of execs. 386
pascaldekloe/colfer binary serialization format 653
jszwec/csvutil csvutil provides fast and idiomatic mapping between CSV and Go (golang) values. 684
epiclabs-io/elastic Converts go types no matter what 16
huydang284/fixedwidth A Go package for encode/decode fixed-width data 6
o1egl/fwencoder Fixed width file parser (encoder/decoder) in GO (golang) 20
glycerine/go-capnproto Cap'n Proto library and parser for go. This is go-capnproto-1.0, and does not have rpc. See https://github.com/zombiezen/go-capnproto2 for 2.0 which has rpc and capabilities. 280
ugorji/go idiomatic codec and rpc lib for msgpack, cbor, json, etc. msgpack.org[Go] 1643
sbourlon/go-lctree go-lctree provides a CLI and Go primitives to serialize and deserialize LeetCode binary trees (e.g. "[5,4,7,3,null,2,null,-1,null,9]"). 3
gogo/protobuf [Looking for new ownership] Protocol Buffers for Go with Gadgets 5155
golang/protobuf Go support for Google's protocol buffers 8316
json-iterator/go A high-performance 100% compatible drop-in replacement of "encoding/json" 10617
mitchellh/mapstructure Go library for decoding generic map values into native Go structures and vice versa. 5508
yvasiyarov/php_session_decoder PHP session encoder/decoder written in Go 154
vimeda/pletter A standard way to wrap a proto message 17
danhper/structomap Easily and dynamically generate maps from Go static structures 131
recolude/unitpacking A library for storing unit vectors in a representation that lends itself to saving space on disk. 4

Server Applications

Repository Description Stars

Stream Processing

Repository Description Stars
reugn/go-streams A lightweight stream processing library for Go 878
whitaker-io/machine Machine is a workflow/pipeline library for processing data 109
youthlin/stream Go Stream, like Java 8 Stream. 53

Template Engines

Repository Description Stars
benbjohnson/ego An ERB-style templating language for Go. 515
dannyvankooten/extemplate Wrapper package for Go's template/html to allow for easy file-based template inheritance. 43
valyala/fasttemplate Simple and fast template engine for Go 576
m1/gospin Article spinning and spintax/spinning syntax engine written in Go, useful for A/B, testing pieces of text/articles and creating more natural conversations 35
goradd/got GoT is a template engine that turns templates into Go code to compile into your app. 2
foolin/goview Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. 272
CloudyKit/jet Jet template engine 903
osteele/liquid A Liquid template engine in Go 148
johnfercher/maroto A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple. 578
flosch/pongo2 Django-syntax like template-engine for Go 2190
valyala/quicktemplate Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template 2366
aymerick/raymond Handlebars for golang 466
sipin/gorazor Razor view engine for go 796
robfig/soy Go implementation for Soy templates (Google Closure templates) 160
Masterminds/sprig Useful template functions for Go templates. 2868
lucasepe/tbd "to be defined" - a really simple way to create text templates with placeholders 16

Testing

Repository Description Stars
Testing Frameworks apitest - Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams. assert - Basic Assertion Library used along side native go testing, with building blocks for custom assertions. badio - Extensions to Go’s testing/iotest package. baloo - Expressive and versatile end-to-end HTTP API testing made easy. biff - Bifurcation testing framework, BDD compatible. charlatan - Tool to generate fake interface implementations for tests. commander - Tool for testing cli applications on windows, linux and osx. covergates - Self-hosted code coverage report review and management service. cupaloy - Simple snapshot testing addon for your test framework. dbcleaner - Clean database for testing purpose, inspired by database_cleaner in Ruby. dsunit - Datastore testing for SQL, NoSQL, structured files. embedded-postgres - Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test. endly - Declarative end to end functional testing. fixenv - Fixture manage engine, inspired by pytest fixtures. flute - HTTP client testing framework. frisby - REST API testing framework. gherkingen - BDD boilerplate generator and framework. ginkgo - BDD Testing Framework for Go. gnomock - integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks. go-carpet - Tool for viewing test coverage in terminal. go-cmp - Package for comparing Go values in tests. go-hit - Hit is an http integration test framework written in golang. go-mutesting - Mutation testing for Go source code. go-testdeep - Extremely flexible golang deep comparison, extends the go testing package. go-testpredicate - Test predicate style assertions library with extensive diagnostics output. go-vcr - Record and replay your HTTP interactions for fast, deterministic and accurate tests. goblin - Mocha like testing framework fo Go. goc - Goc is a comprehensive coverage testing system for The Go Programming Language. gocheck - More advanced testing framework alternative to gotest. GoConvey - BDD-style framework with web UI and live reload. gocrest - Composable hamcrest-like matchers for Go assertions. godog - Cucumber or Behat like BDD framework for Go. gofight - API Handler Testing for Golang Router framework. gogiven - YATSPEC-like BDD testing framework for Go. gomatch - library created for testing JSON against patterns. gomega - Rspec like matcher/assertion library. GoSpec - BDD-style testing framework for the Go programming language. gospecify - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. gosuite - Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7’s Subtests. gotest.tools - A collection of packages to augment the go testing package and support common patterns. Hamcrest - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. httpexpect - Concise, declarative, and easy to use end-to-end HTTP and REST API testing. is - Professional lightweight testing mini-framework for Go. jsonassert - Package for verifying that your JSON payloads are serialized correctly. omg.testingtools - The simple library for change a values of private fields for testing. restit - Go micro framework to help writing RESTful API integration test. schema - Quick and easy expression matching for JSON schemas used in requests and responses. stop-and-go - Testing helper for concurrency. testcase - Idiomatic testing framework for Behavior Driven Development. testfixtures - A helper for Rails’ like test fixtures to test database applications. Testify - Sacred extension to the standard go testing package. testmd - Convert markdown snippets into testable go code. testsql - Generate test data from SQL files before testing and clear it after finished. testza - Full-featured test framework with nice colorized output. trial - Quick and easy extendable assertions without introducing much boilerplate. Tt - Simple and colorful test tools. wstest - Websocket client for unit-testing a websocket http.Handler. 0
apitest - Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams. 0
go-playground/assert ❗Basic Assertion Library used along side native go testing, with building blocks for custom assertions 38
cavaliergopher/badio Extensions to Go's testing/iotest package 9
h2non/baloo Expressive end-to-end HTTP API testing made easy in Go 722
fulldump/biff Bifurcation Framework for testing and use cases 10
percolate/charlatan Go Interface Mocking Tool 194
commander-cli/commander Test your command line interfaces on windows, linux and osx and nodes viá ssh and docker 197
covergates/covergates The portal gates to coverage reports 47
bradleyjkemp/cupaloy Simple Go snapshot testing 205
khaiql/dbcleaner Clean database for testing, inspired by database_cleaner for Ruby 136
viant/dsunit Datastore Testibility 39
fergusstrange/embedded-postgres Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test 349
viant/endly End to end functional test and automation framework 204
rekby/fixenv 5
suzuki-shunsuke/flute Golang HTTP client testing framework 16
hofstadter-io/frisby API testing framework inspired by frisby-js 271
hedhyw/gherkingen Behaviour Driven Development tests generator for Golang 39
ginkgo - BDD Testing Framework for Go. 0
orlangure/gnomock Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻 691
msoap/go-carpet go-carpet - show test coverage in terminal for Go source files 220
google/go-cmp Package for comparing Go values in tests 2768
Eun/go-hit http integration test framework 73
zimmski/go-mutesting Mutation testing for Go source code 516
maxatome/go-testdeep Extremely flexible golang deep comparison, extends the go testing package, tests HTTP APIs and provides tests suite 275
maargenton/go-testpredicate Unit-testing predicates for Go. 4
dnaeon/go-vcr Record and replay your HTTP interactions for fast, deterministic and accurate tests 866
franela/goblin Minimal and Beautiful Go testing framework 842
qiniu/goc A Comprehensive Coverage Testing System for The Go Programming Language 498
gocheck - More advanced testing framework alternative to gotest. 0
smartystreets/goconvey Go testing in the browser. Integrates with go test. Write behavioral tests in Go. 7068
corbym/gocrest GoCrest - Hamcrest-like matchers for Go 81
cucumber/godog Cucumber for golang 1612
appleboy/gofight Testing API Handler written in Golang. 399
corbym/gogiven gogiven - BDD testing framework for go that generates readable output directly from source code 11
jfilipczyk/gomatch Library created for testing JSON against patterns. 41
gomega - Rspec like matcher/assertion library. 0
luontola/gospec Testing framework for Go. Allows writing self-documenting tests/specifications, and executes them concurrently and safely isolated. [UNMAINTAINED] 113
stesla/gospecify A BDD library for Go 52
pavlo/gosuite Test suites support for standard Go1.7 "testing" by leveraging Subtests feature 10
gotestyourself/gotest.tools A collection of packages to augment the go testing package and support common patterns. 291
rdrdr/hamcrest Hamcrest matchers for the Go programming language 27
gavv/httpexpect End-to-end HTTP and REST API testing for Go. 1872
matryer/is Professional lightweight testing mini-framework for Go. 1377
kinbiko/jsonassert A Go test assertion library for verifying that two representations of JSON are semantically equal 77
dedalqq/omg.testingtools This tool can be useful for writing a tests. If you want change private field in struct from imported libraries than it can help you. 0
go-restit/restit A Go library help testing your RESTful API application 55
jgroeneveld/schema Quick and easy expression matching for JSON schemas used in requests and responses 16
elgohr/stop-and-go Testing helper for concurrency 5
adamluzsi/testcase testcase is an opinionated testing framework based on BDD principles. 82
go-testfixtures/testfixtures Ruby on Rails like test fixtures for Go. Write tests against a real database 756
stretchr/testify A toolkit with common assertions and mocks that plays nicely with the standard library 15794
testmd - Convert markdown snippets into testable go code. 0
zhulongcheng/testsql Generate test data from SQL files before testing and clear it after finished. 12
MarvinJWendt/testza Full-featured test framework for Go! Assertions, fuzzing, input testing, output capturing, and much more! 🍕 325
jgroeneveld/trial A simple assertion library for go 5
vcaesar/tt Simple and colorful test tools 4
posener/wstest go websocket client for unit testing of a websocket handler 87
maxbrunsfeld/counterfeiter A tool for generating self-contained, type-safe test doubles in go 638
maxbrunsfeld/counterfeiter A tool for generating self-contained, type-safe test doubles in go 638
genmock - Go mocking system with code generator for building calls of the interface methods. 0
elgohr/go-localstack Go Wrapper for using localstack 41
DATA-DOG/go-sqlmock Sql mock driver for golang to test database interactions 4251
DATA-DOG/go-txdb Immutable transaction isolated sql driver for golang 427
h2non/gock HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽ 1593
golang/mock GoMock is a mocking framework for the Go programming language. 6944
seborama/govcr HTTP mock for Golang: record and replay HTTP/HTTPS interactions for offline testing 101
SpectoLabs/hoverfly Lightweight service virtualization/API simulation tool for developers and testers 1857
jarcoal/httpmock HTTP mocking for Golang 1328
gojuno/minimock Powerful mock generation tool for Go programming language 450
vektra/mockery A mock code autogenerator for Golang 3375
tv42/mockhttp Mock object for Go http.ResponseWriter 21
pasdam/mockit Library that make mocking of Go functions/methods easy 8
cabify/timex A test-friendly replacement for golang's time package 60
dvyukov/go-fuzz Randomized testing for Go 4356
dvyukov/go-fuzz Randomized testing for Go 4356
google/gofuzz Fuzz testing for go. 1245
zimmski/tavor A generic fuzzing and delta-debugging framework 232
mafredri/cdp Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language. 599
mafredri/cdp Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language. 599
chromedp/chromedp A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol. 7387
aerokube/ggr A lightweight load balancer used to create big Selenium clusters 283
playwright-community/playwright-go Playwright for Go a browser automation library to control Chromium, Firefox and WebKit with a single API. 716
go-rod/rod A Devtools driver for web automation and scraping 2256
aerokube/selenoid Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary. 2121
pingcap/failpoint An implementation of failpoints for Golang. 658
pingcap/failpoint An implementation of failpoints for Golang. 658

Text Processing

Repository Description Stars

Formatters

Repository Description Stars

Markup Languages

Repository Description Stars

Regular Expressions

Repository Description Stars

Sanitation

Repository Description Stars

Scrapers

Repository Description Stars

RSS

Repository Description Stars

Third-party APIs

Repository Description Stars
mehanizm/airtable Simple golang airtable API wrapper 37
ngs/go-amazon-product-advertising-api Go Client Library for Amazon Product Advertising API 51
ChimeraCoder/anaconda A Go client library for the Twitter 1.1 API 1110
Kachit/appstore-sdk-go Golang SDK for AppStore Connect API (Unofficial) 2
aws/aws-sdk-go AWS SDK for the Go programming language. 7531
OTA-Insight/bqwriter Stream data into Google BigQuery concurrently using InsertAll() or BQ Storage. 8
naegelejd/brewerydb Go library for http://www.brewerydb.com/ API 17
andygrunwald/cachet Go(lang) client library for Cachet (open source status page system). 90
jszwedko/go-circleci Go library for interacting with CircleCI 62
Clarifai/clarifai-go DEPRECATED: please use https://github.com/Clarifai/clarifai-go-grpc 55
codeship/codeship-go Go library for accessing the Codeship API v2 18
coinpaprika/coinpaprika-api-go-client Go client library for interacting with Coinpaprika's API 14
rinchsan/device-check-go 📱 iOS DeviceCheck SDK for Go - query and modify the per-device bits 11
bwmarrin/discordgo (Golang) Go bindings for Discord 2859
Kachit/dusupay-sdk-go Golang SDK for Dusupay payment gateway API (Unofficial) 1
onrik/ethrpc Golang client for ethereum json rpc api 224
huandu/facebook A Facebook Graph API SDK For Go. 1049
maddevsio/fcm Firebase Cloud Messaging for application servers implemented using the Go programming language. 45
emiddleton/gads Google Adwords API for Go 49
bit4bit/gami GO - Asterisk AMI Interface 31
TheOrioli/gcm Google Cloud Messaging for application servers implemented using the Go programming language. 30
codingsince1985/geo-golang Go library to access geocoding and reverse geocoding APIs 425
google/go-github Go library for accessing the GitHub API 8348
shurcooL/githubv4 Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). 864
ctreminiom/go-atlassian ✨ Golang Client Library for Atlassian Cloud. 42
circa10a/go-aws-news Go app + library to fetch what's new from AWS 12
axelspringer/go-chronos 👯 Go Chronos 3.x REST API Client 4
PaulRosset/go-hacknews 📟 Tiny utility Go client for HackerNews API. 14
abdullahselek/go-here Go client library around the HERE location based APIs. 10
koffeinsource/go-imgur Go library to use the imgur.com API 21
andygrunwald/go-jira Go client library for Atlassian Jira 1091
go-lark/lark An easy-to-use SDK for Feishu and Lark Open Platform (Messaging API only) 79
gambol99/go-marathon A GO API library for working with Marathon 195
nstratos/go-myanimelist Go library for accessing the MyAnimeList API: https://myanimelist.net/apiconfig/references/api/v2 25
manuelbcd/go-openproject Go client library for OpenProject 10
rbretecher/go-postman-collection Go module to work with Postman Collections 40
chriscross0/go-restcountries Go wrapper for the REST Countries API. 2
esurdam/go-sophos Sophos UTM 9 REST API Client in Golang 8
sergioaugrod/go-sptrans Go client library for the SPTrans Olho Vivo API. 🚌 6
esurdam/go-swagger-ui Golang package which provides http Handlers to serve the swagger ui 6
go-telegraph - Telegraph publishing platform API client. 0
andygrunwald/go-trending Go library for accessing trending repositories and developers at Github. 118
knspriggs/go-twitch A golang client for the Twitch v3 API - public APIs only (for now) 21
dghubble/go-twitter Go Twitter REST and Streaming API v1.1 1421
hbagdi/go-unsplash Go Client for the Unsplash API 58
nishanths/go-xkcd xkcd.com API client in Go 43
go-yapla - Go client library for the Yapla v2.0 API. 0
groovili/gogtrends Unofficial Google Trends API for Go 58
cyruzin/golang-tmdb This is a Golang wrapper for working with TMDb API. It aims to support version 3. 50
mamal72/golyrics A simple Go package to fetch lyrics from Wikia 36
MonaxGT/gomalshare Go library MalShare API 9
michiwend/gomusicbrainz a Go (Golang) MusicBrainz WS2 client library - work in progress 44
googleapis/google-api-go-client Auto-generated Google APIs for Go. 2954
chonthu/go-google-analytics Simple Reporting for Google Analytics 12
googleapis/google-cloud-go Google Cloud Client Libraries for Go. 2795
ngs/go-google-email-audit-api Go Client Library for G Suite Email Audit API 7
n0madic/google-play-scraper Golang scraper to get data from Google Play Store 23
utekaravinash/gopaapi5 Go Client Library for Amazon's Product Advertising API 5.0 11
koltyakov/gosip ⚡️ SharePoint authentication, HTTP client & fluent API wrapper for Go (Golang) 71
jsgilmore/gostorm GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. 128
andybons/hipchat This project implements a Go client library for the Hipchat API. 104
daneharrigan/hipchat A golang package to communicate with HipChat over XMPP 110
Henry-Sarabia/igdb Go client for the Internet Game Database API 73
Icelain/jokeapi Official golang wrapper for Sv443's jokeapi. 15
Henry-Sarabia/kanka Go client for the Kanka API 3
chyroc/lark Feishu/Lark Open API Go SDK, Support ALL Open API and Event Callback. 135
ansd/lastpass-go Golang client for LastPass 26
clevabit/libgoffi libgoffi - libffi adapter library for Go 7
Medium/medium-sdk-go A Golang SDK for Medium's OAuth2 API 131
andygrunwald/megos Go(lang) client library for accessing information of an Apache Mesos cluster. 54
minio/minio-go MinIO Client SDK for Go 1558
dukex/mixpanel Golang Mixpanel Client 42
jellydator/newsapi-go Go client for NewsAPI 0
mxpv/patreon-go Patreon Go API client 29
plutov/paypal Golang client for PayPal REST API 473
playlyfe/playlyfe-go-sdk This is the official Playlyfe Golang Sdk 1
gregdel/pushover Go wrapper for the Pushover API 113
dimuska139/rawg-sdk-go This is RAWG SDK GO. This library contains methods for interacting with RAWG API. 4
Omie/rrdaclient Go bindings for RRDA https://github.com/fcambus/rrda 8
rapito/go-shopify Simple Shopify API for the Go Programming Language 22
rhnvrm/simples3 Simple no frills AWS S3 Golang Library using REST with V4 Signing (without AWS Go SDK) 85
slack-go/slack Slack API in Go - community-maintained fork created by the original author, @nlopes 3857
sergiotapia/smitego SmiteGo is an API wrapper for the Smite game from HiRez. It is written in Go! 10
rapito/go-spotify Go library for the Spotify Web API 42
sostronk/go-steam Go library for querying Source servers 24
stripe/stripe-go Go library for the Stripe API. 1528
farmergreg/textbelt golang library for textbelt.com 17
nuveo/translate Go online translation package 31
adlio/trello Trello API wrapper for Go 194
mrbenosborne/tripadvisor-golang A TripAdvisor API wrapper for Golang. 1
mattcunningham/gumblr A Go Wrapper for the Tumblr v2 API 6
n0madic/twitter-scraper Scrape the Twitter Frontend API without authentication with Golang. 195
bitfield/uptimerobot Client library for UptimeRobot v2 API 46
verifid/vl-go Go client library around the VerifID identity verification layer API. 1
go-playground/webhooks 🎣 Webhook receiver for GitHub, Bitbucket, GitLab, Gogs 706
wit-ai/wit-go Go client for wit.ai HTTP API 114
brunomvsouza/ynab.go Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API. 49
gojuno/go-zooz Zooz API client for Go 6

Utilities

Repository Description Stars
topfreegames/apm APM is a process manager for Golang applications. 154
icza/backscanner A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward. 35
wesovilabs/beyond The Go library that will drive you to AOP world! 46
Henry-Sarabia/blank Detect blank strings or remove whitespace from strings 7
sinhashubham95/bleep OS Signal Handlers in Go 4
tmrts/boilr ⚡ boilerplate template manager that generates files or directories from template repositories 1443
miniscruff/changie Automated changelog tool for preparing releases with lots of customization options 168
antham/chyle Changelog generator : use a git repository and various data sources and publish the result on external services 144
cep21/circuit An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern. 635
rubyist/circuitbreaker Circuit Breakers in Go 985
golang-design/clipboard 📋 cross-platform clipboard package that supports accessing text and image in Go (macOS/Linux/Windows/Android/iOS) 176
jonboulle/clockwork a fake clock for golang 376
commander-cli/cmd A simple package to execute shell commands on linux, windows and osx 87
txgruppi/command Command pattern for Go with thread safe serial and parallel dispatcher 13
gotidy/copy Package for fast copying structs of different types 15
jutkko/copy-pasta Universal copy paste service, works across different machines! 50
biter777/countries Countries - ISO 3166 (ISO3166-1, ISO3166, Digit, Alpha-2 and Alpha-3) countries codes and names (on eng and rus), ISO 4217 currency designators, ITU-T E.164 IDD calling phone codes, countries capitals, UN M.49 regions codes, ccTLD countries domains, IOC/NOC and FIFA letters codes, VERY FAST, NO maps[], NO slices[], NO init() funcs, NO external links/files/data, NO interface{}, NO specific dependencies, Databases/JSON/GOB/XML/CSV compatible, Emoji countries flags and currencies support, full support ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and ccTLD standarts. 152
create-go-app/cli ✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command! 1325
Gituser143/cryptgo A terminal application to watch crypto prices! 105
bcicen/ctop Top-like interface for container metrics 12482
posener/ctxutil utils for Go context 18
shockerli/cvt Easy and safe convert any value to another type. Go 任意数据类型安全转换 15
nikogura/dbt Dynamic Binary Toolkit- A framework for running self-updating signed binaries from a central, trusted repository. 46
vrecan/death Managing go application shutdown with signals. 178
ulule/deepcopier simple struct copying for golang 380
derekparker/delve Delve is a debugger for the Go programming language. 471
kirillDanshin/dlog Simple build-time controlled debug log with ability to log where the logger was called 15
reugn/equalizer A rate limiters package for Go 35
cristianoliveira/ergo The management of multiple apps running over different ports made easy 506
nullne/evaluator 33
h2non/filetype Fast, dependency-free Go package to infer binary file types based on the magic numbers header signature 1504
yaronsumel/filler fill struct data easily with fill tags 16
gookit/filter ⏳ Provide filtering, sanitizing, and conversion of Golang data. 提供对Golang数据的过滤,净化,转换。 56
junegunn/fzf 🌸 A command-line fuzzy finder 43032
go-playground/generate 🏃runs go generate recursively on a specified path or environment variable and can filter by regex 25
antham/ghokin Parallelized formatter with no external dependencies for gherkin (cucumber, behat...) 23
git-time-metric/gtm Simple, seamless, lightweight time tracking for Git 894
sinhashubham95/go-actuator Golang production-ready features 5
asticode/go-astitodo Parse TODOs in your GO code 58
wendigo/go-bind-plugin go-bind-plugin generates API for exported plugin symbols (-buildmode=plugin) - go1.8+ only (http://golang.org/pkg/plugin) 178
gabstv/go-bsdiff Pure Go bsdiff and bspatch libraries and CLI tools. 123
prashantgupta24/go-clip A minimalistic clipboard manager for Mac. 8
Eun/go-convert Convert a value into another type 15
mikekonan/go-countries 9
ungerik/go-dry DRY (don't repeat yourself) package for Go 479
thoas/go-funk A modern Go utility library which provides helpers (map, find, contains, filter, ...) 3380
Talento90/go-health ❤️ Health check your applications and dependencies 87
mozillazg/go-httpheader A Go library for encoding structs into Header fields. 38
viney-shih/go-lock go-lock is a lock library implementing read-write mutex and read-write trylock without starvation 61
chenquan/go-pkg A go toolkit. 5
mvmaasakkers/go-problemdetails Problem json implementation (https://tools.ietf.org/html/rfc7807) package for go 12
beefsack/go-rate A timed rate limiter for Go 353
kenkyu392/go-safe This Go package provides a sandbox for the safe execution of panic-inducing programs 4
ikeikeikeike/go-sitemap-generator go-sitemap-generator is the easiest way to generate Sitemaps in Go 172
sadlil/go-trigger A Global event triggerer for golang. Defines functions as event with id string. Trigger the event anywhere from your project. 225
mikekonan/go-types Library providing opanapi3 and Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types. 12
carlescere/goback Golang simple exponential backoff package. 44
zerosnake0/goctx Get your context value faster 2
VividCortex/godaemon Daemonize Go applications deviously. 487
dropbox/godropbox Common libraries for writing Go services/applications. 4012
cosiner/gohper [UNMATAINED] common libs here. 256
msempere/golarm Fire alarms with system events 45
mlimaloureiro/golog Easy and simple CLI time tracker for your tasks 55
bndr/gopencils Easily consume REST APIs with Go (golang) 437
michiwend/goplaceholder a small golang lib to generate placeholder images 24
philipjkim/goreadability Webpage summary extractor using Facebook Open Graph and arc90's readability 63
goreleaser/goreleaser Deliver Go binaries as fast and easily as possible 9807
qax-os/goreporter A Golang tool that does static analysis, unit testing, code review and generate code quality report. 2972
linxGnu/goseaweedfs A complete Golang client for SeaweedFS 93
ik5/gostrutils Collections of string utils I have created over the years 34
subosito/gotenv Load environment variables from .env or io.Reader in Go. 214
maja42/goval Expression evaluation in golang 70
tenntenn/gpath gpath is a Go package to access a field by a path using reflect pacakge 39
pesos/grofer A system and resource monitoring tool written in Golang! 191
novalagung/gubrak ⚙️ Golang functional utility library with syntactic sugar. It's like lodash, but for Go 394
miguelpragier/handy GO Golang Utilities and helpers like validators and string formatters 66
guumaster/hostctl Your dev tool to manage /etc/hosts like a pro! 719
htcat/htcat Parallel and Pipelined HTTP GET Utility 549
github/hub A command-line tool that makes git easier to use with GitHub. 21643
afex/hystrix-go Netflix's Hystrix latency and fault tolerance library, for Go 3574
immortal/immortal ⭕ A *nix cross-platform (OS agnostic) supervisor 727
mengzhuo/intrinsic Provide Golang native SIMD intrinsics on x86/amd64 platform 44
clevergo/jsend 💯 JSend's implementation writen in Go(golang) 14
gsamokovarov/jump Jump helps you navigate faster by learning your habits. ✌️ 1325
wesovilabs/koazee A StreamLike, Immutable, Lazy Loading and smart Golang Library to deal with slices. 490
aplescia/lets-go Go module that provides common utilities for Cloud Native development 3
mennanov/limiters Golang rate limiters for distributed applications 86
samber/lo 💥 A Lodash-style Go library based on Go 1.18+ Generics (map, filter, contains, find...) 4164
jaschaephraim/lrserver LiveReload server for Go [golang] 120
alajmo/mani CLI tool to help you manage multiple repositories 186
minio/mc MinIO Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage. 2070
imdario/mergo Mergo: merging Go structs and maps since 2013. 1895
zRedShift/mimemagic Powerful and versatile MIME sniffing package using pre-compiled glob patterns, magic number signatures, XML document namespaces, and tree magic for mounted volumes, generated from the XDG shared-mime-info database. 74
aofei/mimesniffer A MIME type sniffer for Go. 20
gabriel-vasile/mimetype A fast Golang library for media type and file extension detection, based on magic numbers 694
tdewolff/minify Go minifiers for web formats 2914
icza/minquery MongoDB / mgo query that supports efficient pagination (cursors to continue listing documents where we left off). 59
StabbyCutyou/moldova A lightweight templating system for generating random data 160
davrodpin/mole CLI application to create ssh tunnels focused on resiliency and user experience. 1548
gobeam/mongo-go-pagination Golang Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines with all information like Total records, Page, Per Page, Previous, Next, Total Page and query results. 94
linxGnu/mssqlx Database client library, proxy for any master slave, master master structures. Lightweight, performant and auto balancing in mind. 94
VividCortex/multitick A multiplexor for aligned time.Time tickers in Go 64
inancgumus/myhttp Simplest HTTP GET requester for Go with timeout support 35
e-dard/netbug Package netbug provides a handler for registering profilers on your own ServeMux. 69
chrispassas/nfdump NFDump File Reader 6
pokanop/nostromo CLI for building powerful aliases 110
rekby/objwalker 1
xta/okrun ok, run your gofile 15
btnguyen2k/olaf Twitter Snowflake implemented in Go 3
adelowo/onecache One caching API, Multiple backends 127
maruel/panicparse Crash your app in style (Golang) 3044
alexpantyukhin/go-pattern-match Pattern matchings for Go. 174
peco/peco Simplistic interactive filtering tool 6825
arthurkushman/pgo Go library for PHP community with convenient functions 64
VividCortex/pm Processlist manager with TCP listener 76
gotidy/ptr Contains functions for simplified creation of pointers from constants of basic types 13
zpatrick/rclient Minimalistic REST client for Go applications 32
ssgreg/repeat Go implementation of different backoff strategies useful for retrying operations and heartbeating. 78
mozillazg/request A developer-friendly HTTP request library for Gopher. 407
abo/rerate redis-based rate counter and rate limiter 22
ivpusic/rerun Configurable recompiling and rerunning go apps when source changes 161
edermanoel94/rest-go A package that provide many helpful methods for working with rest api. 16
kamilsk/retry ♻️ The most advanced interruptible mechanism to perform actions repetitively until successful. 318
percolate/retry Percolate's Go retry package 8
thedevsaddam/retry Simple and easy retry mechanism package for Go 54
shafreeck/retry A pretty simple library to ensure your work to be done 10
rafaeljesus/retry-go Retrying made simple and easy for golang 🔁 43
VividCortex/robustly Run functions resiliently in Go, catching and restarting panics 151
ferama/rospo 🐸 Simple, reliable, persistent ssh tunnels with embedded ssh server 159
blockloop/scan Scan database/sql rows directly to structs, slices, and primitive types 251
georgysavva/scany Library for scanning data from a database into Go structs and more 519
syntaqx/serve 🍽️ a static http server anywhere you need one. 260
nofeaturesonlybugs/set Package set is a small wrapper around the official reflect package that facilitates loose type conversion and assignment into native Go types. 29
ztrue/shutdown Golang app shutdown hooks. 29
chrispassas/silk Read Silk Flow Files 11
psampaz/slice Type-safe functions for common Go slice operations 47
Henry-Sarabia/sliceconv Slice conversion between primitive types 8
leaanthony/slicer Utility class for handling slices 32
jfcg/sorty ⚡ Fast Concurrent / Parallel Sorting in Go 98
jmoiron/sqlx general purpose extensions to golang's database/sql 11631
shoobyban/sshman SSH Manager - manage authorized_keys file on remote servers 29
janiltonmaciel/statiks Fast, zero-configuration, static HTTP filer server. 9
asdine/storm Simple and powerful toolkit for BoltDB 1860
PumpkinSeed/structs Golang struct operations. 20
yudppp/throttle lodash throttle like Go library 28
andy2046/tik hierarchical timing wheel 3
cyruzin/tome Package tome was designed to paginate simple RESTful APIs. 29
viant/toolbox Toolbox - go utility library 174
alxrm/ugo Simple and expressive toolbox written in Go 26
esemplastic/unis UNIS: A Common Architecture for String Utilities within the Go Programming Language. 69
xo/usql Universal command-line interface for SQL databases 6981
shomali11/util A collection of useful utility functions 244
asciimoo/wuzz Interactive cli tool for HTTP inspection 9931
monmohan/xferspdy Xferspdy provides binary diff and patch library in golang. [Mentioned in Awesome Go, https://github.com/avelino/awesome-go] 91

UUID

Repository Description Stars
Hart87/goflake A highly scalable and serverless unique ID generator for use in distributed systems. Written in GoLang. Inspired by Twitters Snowflake. 10
JakeHL/Goid A UUIDv4 generation package written in go 31
twharmon/gouid Fast, dependable universally unique ids 13
aidarkhanov/nanoid A tiny and fast Go unique string generator 45
muyo/sno Compact, sortable and fast unique IDs with embedded metadata. 62
oklog/ulid Universally Unique Lexicographically Sortable Identifier (ULID) in Go 2615
uniq - No hassle safe, fast unique identifiers with commands. 0
agext/uuid Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. 14
gofrs/uuid A UUID package originally forked from github.com/satori/go.uuid 1096
google/uuid Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. 3451
edwingeng/wuid An extremely fast UUID alternative written in golang 457
rs/xid xid is a globally unique id generator thought for the web 2471

Validation

Repository Description Stars
osamingo/checkdigit Provide check digit algorithms and calculators written in Go 88
guiferpa/gody 🎈 A lightweight struct validator for Go 55
twharmon/govalid Struct validation using tags 24
asaskevich/govalidator [Go] Package of validators and sanitizers for strings, numerics, slices and structs 5284
thedevsaddam/govalidator Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. 1071
faceair/jio jio is a json schema validator similar to joi 64
go-ozzo/ozzo-validation An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags. 2602
thazelart/terraform-validator A norms and conventions validator for Terraform 76
gookit/validate ⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。 529
gobuffalo/validate This package provides a framework for writing validations for Go applications. 66
go-playground/validator 💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving 9958
go-the-way/validator A lightweight model validator written in Go. 2

Version Control

Repository Description Stars
jfrog/froggit-go Froggit-Go is a universal Go library, allowing to perform actions on VCS providers. 13
rjeczalik/gh Scriptable server and net/http middleware for GitHub Webhooks. 76
libgit2/git2go Git to Go; bindings for libgit2. Like McDonald's but tastier. 1708
gabyx/Githooks 🦎 Githooks: per-repo and shared Git hooks with version control and auto update. 37
profclems/glab A GitLab CLI tool bringing GitLab to your command line 1802
go-git/go-git A highly extensible Git implementation in pure Go. 3224
sourcegraph/go-vcs manipulate and inspect VCS repositories in Go 74
src-d/hercules Gaining advanced insights from Git repository history. 1705
beyang/hgo Hgo is a collection of Go packages providing read-access to local Mercurial repositories. 13

Video

Repository Description Stars
3d0c/gmf Go Media Framework 746
asticode/go-astisub Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.) 380
asticode/go-astits Demux and mux MPEG Transport Streams (.ts) natively in GO 407
quangngotan95/go-m3u8 Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Golang (ported from gem https://github.com/sethdeckard/m3u8) 89
unki2aut/go-mpd Go library for parsing and generating MPEG-DASH Media Presentation Description (MPD) files 11
giorgisio/goav Golang bindings for FFmpeg 1834
aler9/gortsplib RTSP 1.0 client and server library for the Go programming language 213
ziutek/gst Go bindings for GStreamer (retired: currently I don't use/develop this package) 166
wargarblgarbl/libgosubs golang library to read and write various subtitle formats 18
adrg/libvlc-go Go bindings for libVLC and high-level media player interface 287
grafov/m3u8 Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. 🎦 908
korandiz/v4l Facade to the Video4Linux video capture interface. 65

Web Frameworks

Repository Description Stars
aah - Scalable, performant, rapid development Web framework for Go. 0
aerogo/aero 🚄 High-performance web server for Go. 445
aofei/air An ideally refined web framework for Go. 413
appist/appy An opinionated productive web framework that helps scaling business easier. 116
n4Zz2/banjo BANjO is a simple web framework written in Go (golang) 19
beego/beego beego is an open-source, high-performance web framework for the Go programming language. 27914
Buffalo - Bringing the productivity of Rails to Go! 0
Confetti Framework - Confetti is a Go web application framework with an expressive, elegant syntax. Confetti combines the elegance of Laravel and the simplicity of Go. 0
labstack/echo High performance, minimalist Go web framework 21932
gofiber/fiber ⚡️ Express inspired web framework written in Go 19146
zpatrick/fireball Go web framework with a natural feel 57
i-love-flamingo/flamingo Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications. 285
i-love-flamingo/flamingo-commerce Flexible E-Commerce Framework on top of Flamingo. Used to build E-Commerce "Portals" and connect it with the help of individual Adapters to other services. 301
gogearbox/gearbox Gearbox ⚙️ is a web framework written in Go with a focus on high performance 615
gin-gonic/gin Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. 56836
xxjwxc/ginrpc gin auto binding,grpc, and annotated route,gin 注解路由, grpc,自动参数绑定工具 210
nytimes/gizmo A Microservice Toolkit from The New York Times 3596
ant0ine/go-json-rest A quick and easy way to setup a RESTful JSON API 3495
ungerik/go-rest A small and evil REST framework for Go 125
goadesign/goa Design-based APIs and microservices in Go 4608
goa-go/goa Goa is a web framework based on middleware, like koa.js. 46
fulldump/golax Golax, a go implementation for the Lax framework. 74
dinever/golf ⛳ The Golf web framework 253
rainycape/gondola The web framework for writing faster sites, faster 309
mustafaakin/gongular A different approach to Go web frameworks 448
gotuna/gotuna GoTuna a lightweight web framework for Go with mux router, middlewares, user sessions, templates, embedded views, and static file server. 39
twharmon/goweb Lightweight web framework based on net/http. 28
go-goyave/goyave 🍐 Elegant Golang REST API Framework 954
hidevopsio/hiboot hiboot is a high performance web and cli application framework with dependency injection support 164
danielgtaylor/huma Huma REST/GraphQL API Framework for Golang with OpenAPI 3 60
go-macaron/macaron Package macaron is a high productive and modular web framework in Go. 3265
paulbellamy/mango Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. 362
claygod/microservice This library provides a simple microservice framework based on clean architecture principles with a working example implemented. 91
ivpusic/neo Go Web Framework 416
beatlabs/patron Microservice framework following best cloud practices with a focus on productivity. 94
resoursea/api A REST framework for quickly writing resource based services in Golang. 32
REST Layer - Framework to build REST/GraphQL API on top of databases with mostly configuration over code. 0
revel/revel A high productivity, full-stack web framework for the Go language. 12518
goanywhere/rex Pleasures for Web in Golang 32
rookie-ninja/rk-boot Bootstrapper for golang application. See https://rkdev.info/docs/ for details. 178
gookit/rux ⚡ Rux is an simple and fast web framework. support route group, param route binding, middleware, compatible http.Handler interface. 简单且快速的 Go api/web 框架,支持路由分组,路由参数绑定,中间件,兼容 http.Handler 接口 73
lunny/tango This is only a mirror and Moved to https://gitea.com/lunny/tango 835
rcrowley/go-tigertonic A Go framework for building JSON web services inspired by Dropwizard 999
uadmin/uadmin The web framework for Golang 182
gernest/utron A lightweight MVC framework for Go(Golang) 2215
aisk/vox Simple and lightweight Go web framework inspired by koa 76
bnkamalesh/webgo A microframework to build web apps; with handler chaining, middleware support, and most of all; standard library compliant HTTP handlers(i.e. http.HandlerFunc). 230
yarf-framework/yarf Yet Another REST Framework 65

Actual middlewares

Repository Description Stars

Libraries for creating HTTP middlewares

Repository Description Stars

Routers

Repository Description Stars

WebAssembly

Repository Description Stars

Windows

Repository Description Stars

XML

Repository Description Stars
XML-Comp/XML-Comp Compare ANY markup documents. 16
sbabiv/xml2map XML to MAP converter written Golang 37
shabbyrobe/xmlwriter xmlwriter is a pure-Go library providing procedural XML generation based on libxml2's xmlwriter module 21
antchfx/xpath XPath package for Golang, supports HTML, XML, JSON document query. 463
antchfx/xquery Extract data or evaluate value from HTML/XML documents using XPath 156
miku/zek Generate a Go struct from XML. 543

Zero Trust

Repository Description Stars
sigstore/cosign Container Signing 1779
in-toto/in-toto-golang A Go implementation of in-toto. in-toto is a framework to protect software supply chain integrity. 51
philips-labs/spiffe-vault Integrates Spiffe and Vault to have secretless authentication 16
spiffe/spire The SPIFFE Runtime Environment 1071

Code Analysis

Repository Description Stars
bradleyfalzon/apicompat apicompat checks recent changes to a Go project for backwards incompatible changes 176
Checkmarx/chainjacking Find which of your go lang direct GitHub dependencies is susceptible to ChainJacking attack 18
mibk/dupl a tool for code clone detection 277
kisielk/errcheck errcheck checks that you checked errors. 1807
davecheney/gcvis Visualise Go program GC trace data in real time 1055
qiniu/checkstyle checkstyle for go 119
roblaszczak/go-cleanarch Clean architecture validator for go, like a The Dependency Rule and interaction between packages in your Go projects. 570
go-critic/go-critic The most opinionated Go source code linter for code audit. 1247
psampaz/go-mod-outdated Find outdated dependencies of your Go projects. go-mod-outdated provides a table view of the go list -u -m -json all command which lists all dependencies of a Go project and their available minor and patch updates. It also provides a way to filter indirect dependencies and dependencies without updates. 564
firstrow/go-outdated Find outdated golang packages 44
yuroyoro/goast-viewer Golang AST visualizer 597
GoCover.io - GoCover.io offers the code coverage of any golang package as a service. 0
goimports - Tool to fix (add, remove) your Go imports automatically. 0
arxdsilva/golang-ifood-sdk Golang Ifood API SDK 8
segmentio/golines A golang formatter that fixes long lines 352
golang/lint [mirror] This is a linter for Go source code. (deprecated) 3938
Golint online - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. 0
jfeliu007/goplantuml PlantUML Class Diagram Generator for golang projects 826
goreturns - Adds zero-value return statements to match the func return types. 0
dominikh/go-tools Staticcheck - The advanced Go linter 4542
shurcooL/gostatus A command line tool that shows the status of Go repositories. 245
surullabs/lint Run linters from Go code - 66
z7zmey/php-parser PHP parser written in Go 856
dominikh/go-tools Staticcheck - The advanced Go linter 4542
verygoodsoftwarenotvirus/blanket MOVED TO GITLAB 14
augmentable-dev/tickgit Manage your repository's TODOs, tickets and checklists as config in your codebase. 277
preslavmihaylov/todocheck A static code analyser for annotated TODO comments 379
mdempsky/unconvert Remove unnecessary type conversions from Go source 315
dominikh/go-tools Staticcheck - The advanced Go linter 4542
mccoyst/validate A Go package to automatically validate fields with tags 60

Editor Plugins

Repository Description Stars
josa42/coc-go Go language server extension using gopls for coc.nvim. 435
msyrus/vscode-go-doc An Microsoft Visual Code extension for Golang to print symbol definition to output 5
Go plugin for JetBrains IDEs - Go plugin for JetBrains IDEs. 0
theia-ide/go-language-server A Go language server. 31
dominikh/go-mode.el Emacs mode for the Go programming language 1227
joefitzgerald/go-plus An Enhanced Go Experience For The Atom Editor 1513
nsf/gocode An autocompletion daemon for the Go programming language 4959
incu6us/goimports-reviser Right imports sorting & code formatting tool (goimports alternative) 112
goprofiling - This extension adds benchmark profiling support for the Go language to VS Code. 0
DisposaBoy/GoSublime A Golang plugin collection for SublimeText 3, providing code completion and other IDE-like features. 3426
hexdigest/gounit-vim Vim plugin for https://github.com/hexdigest/gounit 22
theia-ide/theia-go-extension Theia Go Extension 16
rjohnsondev/vim-compiler-go Vim compiler plugin for Go (golang) 87
fatih/vim-go Go development plugin for Vim 14379
golang/vscode-go Go extension for Visual Studio Code 2489
eaburns/Watch Watches for changes in a directory tree and reruns a command in an acme win or just on the terminal. 190

Go Generate Tools

Repository Description Stars

Go Tools

Repository Description Stars

Software Packages

Repository Description Stars

DevOps Tools

Repository Description Stars

Other Software

Repository Description Stars

---

License

The MIT License (MIT). Please see License File for more information.