# Go

  • GitHub Toweave's Awesome. Don't skimp on your's star. (opens new window)
  • A curated list of awesome Go frameworks, libraries, software and resources.
  • Inspired by Awesome.
  • If you see a package or project here that is no longer maintained or is not a good fit, please submit a issue to improve this file. Thank you!
  • Last Sync Time: Tue Aug 08 2023 16:03:18 GMT+0800 (中国标准时间)
  • Synchronize Every Week.

# Order by alphabetical and star count.


# Awesome Go

  • A curated list of awesome Go frameworks, libraries, software and resources.

# Audio and Music

  • Libraries for manipulating audio.
Repository StarCount Description RecentlyUpdated
oto (opens new window) 1300 ♪ A low-level library to play sound on multiple platforms ♪ 15 hours ago
portaudio (opens new window) 608 Go bindings for the PortAudio audio I/O library a month ago
music-theory (opens new window) 415 Go models of Note, Scale, Chord and Key 3 years ago
waveform (opens new window) 354 Go package capable of generating waveform images from audio streams. MIT Licensed. 3 years ago
id3v2 (opens new window) 293 🎵 ID3 decoding and encoding library for Go 3 months ago
GoAudio (opens new window) 292 Go tools for audio processing & creation 🎶 a year ago
portmidi (opens new window) 279 Go bindings for libportmidi a year ago
flac (opens new window) 255 Package flac provides access to FLAC (Free Lossless Audio Codec) streams. 4 months ago
malgo (opens new window) 223 Mini audio library 6 months ago
mix (opens new window) 170 Sequence-based Go-native audio mixer for music apps 3 years ago
gaad (opens new window) 112 GAAD (Go Advanced Audio Decoder) 6 months ago
minimp3 (opens new window) 108 Decode mp3 base on https://github.com/lieff/minimp3 6 days ago
vorbis (opens new window) 32 A "native" ogg vorbis decoder for Go (uses inline stb_vorbis) 10 months ago
gosamplerate (opens new window) 29 Go Bindings for libsamplerate 3 years ago

# Authentication and OAuth

  • Libraries for implementing authentications schemes.
Repository StarCount Description RecentlyUpdated
casbin (opens new window) 15473 An authorization library that supports access control models like ACL, RBAC, ABAC in Golang: https://discord.gg/S5UjpzGZjN 2 hours ago
oauth2 (opens new window) 4813 Go OAuth2 3 days ago
goth (opens new window) 4271 Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications. 4 days ago
authboss (opens new window) 3471 The boss of http auth. 16 days ago
go-oauth2-server (opens new window) 2040 A standalone, specification-compliant, OAuth2 server written in Golang. 4 months ago
go-jose (opens new window) 1984 An implementation of JOSE standards (JWE, JWS, JWT) in Go 7 months ago
loginsrv (opens new window) 1901 JWT login microservice with plugable backends such as OAuth2, Google, Github, htpasswd, osiam, .. 2 years ago
osin (opens new window) 1826 Golang OAuth2 server library 15 days ago
gologin (opens new window) 1626 Go login handlers for authentication providers (OAuth1, OAuth2) 15 hours ago
scs (opens new window) 1538 HTTP Session Management for Go 14 hours ago
gorbac (opens new window) 1480 goRBAC provides a lightweight role-based access control (RBAC) implementation in Golang. 16 days ago
paseto (opens new window) 736 Platform-Agnostic Security Tokens implementation in GO (Golang) 5 months ago
jwt (opens new window) 611 Safe, simple and fast JSON Web Tokens for Go 10 days ago
permissions2 (opens new window) 486 🔐 Middleware for keeping track of users, login states and permissions a month ago
go-guardian (opens new window) 483 Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. 5 months ago
jwt (opens new window) 337 JSON Web Token library 3 months ago
jeff (opens new window) 257 🍍Jeff provides the simplest way to manage web sessions in Go. 5 months ago
jwt-auth (opens new window) 229 This package provides json web token (jwt) middleware for goLang http servers 2 years ago
httpauth (opens new window) 219 HTTP Authentication middlewares 2 years ago
branca (opens new window) 168 🔑 Secure alternative to JWT. Authenticated Encrypted API Tokens for Go. 3 years ago
otpgen (opens new window) 130 Library to generate TOTP/HOTP codes 2 years ago
sessionup (opens new window) 120 Straightforward HTTP session management a year ago
sjwt (opens new window) 112 Simple JWT Golang a year ago
session (opens new window) 111 Go session management for web servers (including support for Google App Engine - GAE). a year ago
rbac (opens new window) 107 Minimalistic RBAC package for Go applications 5 years ago
jwt (opens new window) 104 This is an implementation of JWT in golang! 3 years ago
securecookie (opens new window) 75 Fast, secure and efficient secure cookie encoder/decoder 6 months ago
sessions (opens new window) 75 A dead simple, highly performant, highly customizable sessions middleware for go http servers. 21 days ago
otpgo (opens new window) 58 Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go. 2 years ago
go-email-normalizer (opens new window) 57 Golang library for providing a canonical representation of email address. 2 months ago
scope (opens new window) 32 Easily Manage OAuth2 Scopes In Go 2 years ago
cookiestxt (opens new window) 12 cookiestxt implement parser of cookies txt format 9 months ago
sessiongate-go (opens new window) 10 A driver for the SessionGate Redis module - easy session management using the Go language. 5 years ago

# Blockchain

  • Tools for building blockchains.
Repository StarCount Description RecentlyUpdated
go-ethereum (opens new window) 43204 Official Go implementation of the Ethereum protocol 17 minutes ago
tendermint (opens new window) 5532 ⟁ Tendermint Core (BFT Consensus) in Go 19 hours ago
cosmos-sdk (opens new window) 5366 ⛓ A Framework for Building High Value Public Blockchains ✨ 12 minutes ago
gossamer (opens new window) 391 🕸️ Go Implementation of the Polkadot Host 12 hours ago

# Bot Building

  • Libraries for building and working with bots.
Repository StarCount Description RecentlyUpdated
telegram-bot-api (opens new window) 4831 Golang bindings for the Telegram Bot API 7 days ago
olivia (opens new window) 3570 💁‍♀️Your new best friend powered by an artificial neural network a month ago
telebot (opens new window) 3195 Telebot is a Telegram bot framework in Go. 2 days ago
kelp (opens new window) 1006 Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges 8 months ago
golang-crypto-trading-bot (opens new window) 927 A golang implementation of a console-based trading bot for cryptocurrency exchanges 13 days ago
slacker (opens new window) 791 Slack Bot Framework 9 days ago
bot (opens new window) 786 IRC, Slack, Telegram and RocketChat bot written in go 5 months ago
tbot (opens new window) 336 Go library for Telegram Bot API 2 years ago
go-twitch-irc (opens new window) 302 go irc client for twitch.tv 7 months ago
echotron (opens new window) 261 An elegant and concurrent library for the Telegram bot API in Go. 2 months ago
go-sarah (opens new window) 259 Simple yet customizable bot framework written in Go. a month ago
tenyks (opens new window) 175 The Tenyks IRC bot. 6 months ago
hanu (opens new window) 147 Golang Framework for writing Slack bots 4 months ago
slack-bot (opens new window) 141 Ready to use Slack bot for lazy developers: start Jenkins jobs, watch Jira tickets, watch pull requests with AI support... 3 days ago
go-tgbot (opens new window) 119 Golang telegram bot API wrapper, session-based router and middleware 5 years ago
ephemeral-roles (opens new window) 80 A Discord bot for managing ephemeral roles based upon voice channel member presence. 5 months ago
margelet (opens new window) 80 Telegram Bot Framework for Go a year ago
slackscot (opens new window) 55 Slack bot core/framework written in Go with support for reactions to message updates/deletes 5 months ago
govkbot (opens new window) 43 VK bot package for Go 23 days ago
teleterm (opens new window) 26 Telegram Bot Exec Terminal Command a month ago
micha (opens new window) 25 Client lib for Telegram bot api a month ago

# Build Automation

  • Libraries and tools helping with build automation.
Repository StarCount Description RecentlyUpdated
task (opens new window) 8251 A task runner / simpler Make alternative written in Go 3 days ago
realize (opens new window) 4408 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. 2 years ago
mmake (opens new window) 1663 Modern Make a month ago
goyek (opens new window) 391 Build automation Go library. 2 months ago
taskctl (opens new window) 258 Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰 3 months ago
1build (opens new window) 214 Frictionless way of managing project-specific commands 4 months ago
gaper (opens new window) 74 Builds and restarts a Go project when it crashes or some watched file changes 17 hours ago
anko (opens new window) 30 🔮 Simple application watcher 2 years ago

# Standard CLI

  • Libraries for building standard or basic Command Line applications.
Repository StarCount Description RecentlyUpdated
cobra (opens new window) 32835 A Commander for modern Go CLI interactions 6 hours ago
cli (opens new window) 20515 A simple, fast, and fun package for building command line apps in Go 16 days ago
elvish (opens new window) 5113 Elvish = Expressive Programming Language + Versatile Interactive Shell 4 hours ago
andOTP (opens new window) 3698 [Unmaintained] Open source two-factor authentication for Android a year ago
kingpin (opens new window) 3361 CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser 3 months ago
dnote (opens new window) 2553 A simple command line notebook for programmers 2 months ago
go-flags (opens new window) 2421 go command line option parser 5 months ago
pflag (opens new window) 2147 Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. a month ago
go-arg (opens new window) 1683 Struct-based argument parsing in Go 19 hours ago
cli (opens new window) 1679 A Go library for implementing command-line interfaces. 5 months ago
ops (opens new window) 1110 ops - build and run nanos unikernels 4 days ago
liner (opens new window) 985 Pure Go line editor with history, inspired by linenoise 2 months ago
complete (opens new window) 891 bash completion written in go + bash completion for go command 20 days ago
mow.cli (opens new window) 854 A versatile library for building CLI applications in Go 2 months ago
flaggy (opens new window) 832 Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies. 4 months ago
cli (opens new window) 689 CLI - A package for building command line app with go 5 months ago
argparse (opens new window) 537 Argparse for golang. Just because flag sucks 9 months ago
climax (opens new window) 207 Climax is an alternative CLI with the human face 3 years ago
wmenu (opens new window) 194 An easy to use menu structure for cli applications that prompts users to make choices. 2 years ago
hiboot (opens new window) 179 hiboot is a high performance web and cli application framework with dependency injection support 5 months ago
commandeer (opens new window) 170 Automatically sets up command line flags based on struct fields and tags. a year ago
clir (opens new window) 155 A Simple and Clear CLI library. Dependency free. 6 months ago
sflags (opens new window) 146 Generate flags by parsing structures 2 years ago
job (opens new window) 128 JOB, make your short-term command as a long-term job. 将命令行规划成任务的工具 3 years ago
flag (opens new window) 126 Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand 3 years ago
cmdr (opens new window) 123 POSIX-compliant command-line UI (CLI) parser and Hierarchical-configuration operations 18 days ago
clif (opens new window) 123 Another CLI framework for Go. It works on my machine. 4 years ago
cli (opens new window) 120 Simple and complete API for building command line applications in Go 2 years ago
env (opens new window) 106 Tag-based environment configuration for structs 3 years ago
gocmd (opens new window) 65 A Go library for building command line applications. 4 months ago
wlog (opens new window) 59 A simple logging interface that supports cross-platform color and concurrency. 2 years ago
strumt (opens new window) 55 Strumt is a library to create prompt chain 2 months ago
go-getoptions (opens new window) 47 Fully featured Go (golang) command line option parser with built-in auto-completion support. 10 days ago
go-command-chain (opens new window) 44 A go library for easy configure and run command chains. Such like pipelining in unix shells. 3 months ago
flagvar (opens new window) 42 A collection of CLI argument types for the Go flag package. 4 months ago
argv (opens new window) 38 3 years ago
cmd (opens new window) 37 The standard library flag package with its missing features 3 years ago
go-commander (opens new window) 33 Go library to simplify CLI workflow 3 years ago
go-andotp (opens new window) 23 CLI program to encrypt/decrypt andOTP files 4 months ago
sand (opens new window) 20 Package for creating interpreters 5 years ago
ts (opens new window) 17 timestamp convert & compare tool. 时间戳转换与对比工具 4 years ago
subcmd (opens new window) 4 a month ago

# Advanced Console UIs

  • Libraries for building Console Applications and Console User Interfaces.
Repository StarCount Description RecentlyUpdated
blessed-contrib (opens new window) 15203 Build terminal dashboards using ascii/ansi art and javascript 4 months ago
termui (opens new window) 12594 Golang terminal dashboard 3 months ago
gocui (opens new window) 9313 Minimalist Go package aimed at creating Console User Interfaces. 2 months ago
python-prompt-toolkit (opens new window) 8503 Library for building powerful interactive command line applications in Python 10 days ago
go-prompt (opens new window) 4971 Building powerful interactive prompts in Go, inspired by python-prompt-toolkit. 23 days ago
termbox-go (opens new window) 4559 Pure Go termbox implementation 2 years ago
pterm (opens new window) 3932 ✨ #PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible. a day ago
progressbar (opens new window) 3418 A really basic thread-safe progress bar for Golang applications 11 days ago
termdash (opens new window) 2351 Terminal based dashboard. 6 months ago
asciigraph (opens new window) 2287 Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. 23 days ago
mpb (opens new window) 2075 multi progress bar for Go cli applications 5 days ago
uiprogress (opens new window) 2037 A go library to render progress bars in terminal applications 2 years ago
uilive (opens new window) 1587 uilive is a go library for updating terminal output in realtime 17 days ago
termenv (opens new window) 1427 Advanced ANSI style & color support for your terminal applications a day ago
color (opens new window) 1357 🎨 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 环境的色彩渲染 5 hours ago
aurora (opens new window) 1340 Golang ultimate ANSI-colors that supports Printf/Sprintf methods 10 months ago
go-isatty (opens new window) 724 3 months ago
uitable (opens new window) 711 A go library to improve readability in terminal apps using tabular data 10 months ago
go-colorable (opens new window) 706 5 months ago
gommon (opens new window) 498 Common packages for Go 5 months ago
simpletable (opens new window) 461 Simple tables in terminal with Go 2 years ago
chalk (opens new window) 429 Intuitive package for prettifying terminal/console output. http://godoc.org/github.com/ttacon/chalk 4 years ago
yacspin (opens new window) 404 Yet Another CLi Spinner; providing over 80 easy to use and customizable terminal spinners for multiple OSes 2 years ago
box-cli-maker (opens new window) 372 Make Highly Customized Boxes for CLI 2 months ago
tabby (opens new window) 331 A tiny library for super simple Golang tables 3 years ago
go-colortext (opens new window) 214 Change the color of console text. 3 years ago
cfmt (opens new window) 95 🎨 Contextual fmt inspired by bootstrap color classes 5 years ago
tabular (opens new window) 70 Tabular simplifies printing ASCII tables from command line utilities 3 months ago
cfmt (opens new window) 58 Small library for simple and convenient formatted stylized output to the console. 2 years ago
ctc (opens new window) 44 Console Text Colors - The non-invasive cross-platform terminal color library does not need to modify the Print method 5 months ago
table (opens new window) 44 pretty colorfull tables in go with less effort 3 months ago
marker (opens new window) 40 🖍️ Marker is the easiest way to match and mark strings for colorful terminal outputs! 9 months ago
colourize (opens new window) 26 An ANSI colour terminal package for Go a year ago
go-ataman (opens new window) 14 Another Text Attribute Manupulator 3 years ago

# Configuration

  • Libraries for configuration parsing.
Repository StarCount Description RecentlyUpdated
viper (opens new window) 23642 Go configuration with fangs 4 days ago
godotenv (opens new window) 6464 A Go port of Ruby's dotenv library (Loads environment variables from .env files) 2 months ago
envconfig (opens new window) 4619 Golang library for managing configuration data from environment variables 3 months ago
env (opens new window) 3738 A simple and zero-dependencies library to parse environment variables into structs 19 hours ago
ini (opens new window) 3279 Package ini provides INI file read and write functionality in Go 21 days ago
koanf (opens new window) 1930 Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. 18 days ago
cleanenv (opens new window) 1102 ✨Clean and minimalistic environment configuration reader for Golang 8 days ago
konfig (opens new window) 639 Composable, observable and performant config handling for Go for the distributed processing era 3 years ago
config (opens new window) 475 📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 2 days ago
confita (opens new window) 471 Load configuration in cascade from multiple backends into a struct 9 months ago
aconfig (opens new window) 469 Simple, useful and opinionated config loader. 3 months ago
xdg (opens new window) 423 Go implementation of the XDG Base Directory Specification and XDG user directories a day ago
config (opens new window) 336 A lightweight yet powerful configuration manager for the Go programming language 7 months ago
config (opens new window) 329 12 factor configuration as a typesafe struct in as little as two function calls a year ago
hjson-go (opens new window) 303 Hjson for Go 8 months ago
fig (opens new window) 275 A minimalist Go configuration library 12 days ago
store (opens new window) 271 A dead simple configuration manager for Go applications 25 days ago
config (opens new window) 265 JSON or YAML configuration wrapper with convenient access methods. a year ago
envconfig (opens new window) 234 Small library to read your configuration from environment variables 2 years ago
config (opens new window) 215 🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP. 2 years ago
gcfg (opens new window) 164 read INI-style configuration files into Go structs; supports user-defined types and subsections 2 years ago
harvester (opens new window) 126 Harvest configuration, watch and notify subscriber a day ago
onion (opens new window) 113 Layer based configuration for golang 5 months ago
envcfg (opens new window) 100 Un-marshaling environment variables to Go structs 6 years ago
envh (opens new window) 96 Go helpers to manage environment variables 2 months ago
configuro (opens new window) 87 An opinionated configuration loading framework for Containerized and Cloud-Native applications. 10 months ago
configuration (opens new window) 84 Library for setting values to structs' fields from env, flags, files or default tag 15 days ago
xdg (opens new window) 76 A cross platform package that follows the XDG Standard 3 years ago
gofigure (opens new window) 66 Go configuration made easy! 4 years ago
uconfig (opens new window) 62 Lightweight, zero-dependency, and extendable configuration management library for Go 7 months ago
hocon (opens new window) 60 go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config 6 months ago
configure (opens new window) 57 Configure is a Go package that gives you easy configuration of your project through redundancy 4 years ago
go-aws-ssm (opens new window) 54 Go package that interfaces with AWS System Manager a year ago
gone (opens new window) 46 Golang packages for writing small daemons and servers. 2 years ago
go-up (opens new window) 42 go-up! A simple configuration library with recursive placeholders resolution and no magic. 4 years ago
ingo (opens new window) 36 persistent storage for flags in go 6 years ago
mini (opens new window) 34 A golang package for parsing ini-style configuration files 5 years ago
genv (opens new window) 33 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. 4 years ago
conflate (opens new window) 27 Library providing routines to merge and validate JSON, YAML and/or TOML files 13 days ago
go-ssm-config (opens new window) 17 Go utility for loading configuration parameters from AWS SSM (Parameter Store) 10 months ago
ini (opens new window) 12 ini parser for golang 25 days ago
envconf (opens new window) 11 Configure Go applications from the environment 9 years ago
env (opens new window) 10 Golang Get Environment Variables Package 9 months ago
go-ini (opens new window) 9 automatic mirror of https://git.sr.ht/~spc/go-ini 25 days ago
typenv (opens new window) 9 Go minimalist typed environment variables library 7 months ago
go-conf (opens new window) 8 Library for easy configuration of a golang service 2 years ago
swap (opens new window) 8 Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env). 2 years ago
gonfig (opens new window) 6 Tag based configuration loader from different providers 2 years ago
config (opens new window) 3 Configuration loader to use in Go projects 5 months ago

# Continuous Integration

  • Tools for help with continuous integration.
Repository StarCount Description RecentlyUpdated
drone (opens new window) 27133 Drone is a Container-Native, Continuous Delivery Platform 7 days ago
cds (opens new window) 4256 Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform a day ago
goveralls (opens new window) 765 3 months ago
gotestfmt (opens new window) 411 go test output for humans 2 months ago
overalls (opens new window) 112 👖Multi-Package go project coverprofile for tools like goveralls 4 years ago
duci (opens new window) 74 The simple ci server 5 months ago
gomason (opens new window) 57 A tool for testing, building, signing, and publishing binaries. 6 months ago
roveralls (opens new window) 19 A Go recursive coverage testing tool 6 years ago

# CSS Preprocessors

  • Libraries for preprocessing CSS files.
Repository StarCount Description RecentlyUpdated
gcss (opens new window) 483 Pure Go CSS Preprocessor 9 years ago
go-libsass (opens new window) 196 Go wrapper for libsass, the only Sass 3.5 compiler for Go 5 months ago

# Data Structures

  • Generic datastructures and algorithms in Go.
Repository StarCount Description RecentlyUpdated
gods (opens new window) 14101 GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more 13 days ago
go-datastructures (opens new window) 7131 A collection of useful, performant, and threadsafe Go datastructures. a month ago
golang-set (opens new window) 3401 A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp. 5 days ago
gota (opens new window) 2725 Gota: DataFrames and data wrangling in Go (Golang) a day ago
roaring (opens new window) 2097 Roaring bitmaps in Go (golang) 5 hours ago
bloom (opens new window) 2006 Go package implementing Bloom filters 5 hours ago
gocache (opens new window) 1887 ☔️ A complete Go cache library that brings you multiple ways of managing your caches an hour ago
BoomFilters (opens new window) 1548 Probabilistic data structures for processing continuous, unbounded streams. 2 years ago
bitset (opens new window) 1140 Go package implementing bitsets a month ago
cuckoofilter (opens new window) 999 Cuckoo Filter: Practically Better Than Bloom a year ago
gostl (opens new window) 899 Data structure and algorithm library for go, designed to provide functions similar to C++ STL a month ago
hyperloglog (opens new window) 868 HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom 3 months ago
algorithms (opens new window) 734 CLRS study. Codes are written with golang. 2 years ago
ttlcache (opens new window) 685 An in-memory cache with item expiration and generics 9 days ago
trie (opens new window) 655 Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching. 8 months ago
deque (opens new window) 475 Fast ring-buffer deque (double-ended queue) 6 months ago
merkletree (opens new window) 443 A Merkle Tree implementation written in Go. 6 months ago
go-edlib (opens new window) 397 📚 String comparison and edit distance algorithms library, featuring : Levenshtein, LCS, Hamming, Damerau levenshtein (OSA and Adjacent transpositions algorithms), Jaro-Winkler, Cosine, etc... a year ago
go-geoindex (opens new window) 350 Go native library for fast point tracking and K-Nearest queries 5 years ago
goconcurrentqueue (opens new window) 299 Go concurrent-safe, goroutine-safe, thread-safe queue 3 months ago
levenshtein (opens new window) 295 Go implementation to calculate Levenshtein Distance. 6 months ago
go-adaptive-radix-tree (opens new window) 293 Adaptive Radix Trees implemented in Go 7 months ago
hilbert (opens new window) 266 Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. a year ago
cuckoo-filter (opens new window) 262 Cuckoo Filter go implement, better than Bloom Filter, configurable and space optimized 布谷鸟过滤器的Go实现,优于布隆过滤器,可以定制化过滤器参数,并进行了空间优化 a year ago
skiplist (opens new window) 254 A Go library for an efficient implementation of a skip list: https://godoc.org/github.com/MauriceGit/skiplist 6 months ago
goskiplist (opens new window) 237 A skip list implementation in Go 4 years ago
bitmap (opens new window) 224 Simple dense bitmap index in Go with binary operators a month ago
binpacker (opens new window) 210 A binary stream packer and unpacker 2 years ago
iter (opens new window) 180 Go implementation of C++ STL iterators and algorithms. a year ago
bit (opens new window) 150 Bitset data structure 7 months ago
bloom (opens new window) 148 Bloom filters implemented in Go. 5 years ago
deque (opens new window) 135 A highly optimized double-ended queue 9 months ago
remember-go (opens new window) 133 Cache Slow Database Queries 2 years ago
ring (opens new window) 130 Package ring provides a high performance and thread safe Go implementation of a bloom filter. 3 years ago
encoding (opens new window) 129 Integer Compression Libraries for Go 6 years ago
go-rquad (opens new window) 126 📌 State of the art point location and neighbour finding algorithms for region quadtrees, in Go a year ago
conjungo (opens new window) 116 A small flexible merge library in go 3 months ago
crunch (opens new window) 88 take bytes out of things easily ✨🍪 7 months ago
go-mcache (opens new window) 88 Fast in-memory key:value store/cache with TTL 4 years ago
skiplist (opens new window) 82 skiplist for golang 9 years ago
bloom (opens new window) 79 Probabilistic set data structure 6 years ago
levenshtein (opens new window) 77 Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. 3 years ago
nan (opens new window) 75 Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers a month ago
timedmap (opens new window) 64 A thread safe map which has expiring key-value pairs. 4 months ago
count-min-log (opens new window) 63 Go implementation of Count-Min-Log 6 years ago
cmap (opens new window) 61 a thread-safe concurrent map for go 8 months ago
hide (opens new window) 54 ID type with marshalling to/from hash to prevent sending IDs to clients. 2 years ago
goset (opens new window) 51 Set is a useful collection but there is no built-in implementation in Go lang. 3 years ago
pipeline (opens new window) 50 Pipelines using goroutines 2 years ago
concurrent-writer (opens new window) 49 Highly concurrent drop-in replacement for bufio.Writer 6 years ago
typ (opens new window) 42 Null Types, Safe primitive type conversion and fetching value from complex structures. 2 years ago
dict (opens new window) 39 Python-like dictionaries for Go 3 years ago
ptrie (opens new window) 33 A prefix tree implementation in go a year ago
null (opens new window) 31 Nullable Go types that can be marshalled/unmarshalled to/from JSON. 2 years ago
go-ef (opens new window) 30 A Go implementation of the Elias-Fano encoding 6 years ago
mspm (opens new window) 24 Multi-String Pattern Matching Algorithm Using TrieNode 5 years ago
ordered-concurrently (opens new window) 23 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. 3 months ago
parapipe (opens new window) 23 Paralleling pipeline 2 years ago
set (opens new window) 23 A simple Set data structure implementation in Go (Golang) using LinkedHashMap. a year ago
treap (opens new window) 22 golang persistent immutable treap sorted sets 4 years ago
gofal (opens new window) 17 fractional api base on golang . golang math tools fractional molecular denominator 分数计算 分子 分母 运算 4 years ago
hashsplit (opens new window) 16 2 years ago
goterator (opens new window) 14 Lazy iterator implementation for Golang 3 years ago
bloomfilter (opens new window) 13 Yet another Bloomfilter implementation in Go, compatible with Java's Guava library 6 months ago
slices (opens new window) 13 Functions that operate on slices. Similar to functions from package strings or package bytes that have been adapted to work with slices. 3 years ago
dsu (opens new window) 11 Disjoint Set data structure implementation in Go 2 years ago
gdcache (opens new window) 10 gdcache is a pure non-intrusive cache library implemented by golang, you can use it to implement your own cache. 2 years ago
merkle (opens new window) 10 Merkle hash trees a year ago
parsefields (opens new window) 7 Tools for parse JSON-like logs for collecting unique fields and events 4 years ago

# Database

  • Databases in Go.

# Databases implemented in Go

  • Databases implemented in Go.
Repository StarCount Description RecentlyUpdated
prometheus (opens new window) 49381 The Prometheus monitoring system and time series database. 22 minutes ago
tidb (opens new window) 34555 TiDB is an open-source, cloud-native, distributed, MySQL-Compatible database for elastic scale and real-time analytics. Try AI-powered Chat2Query free at : https://tidbcloud.com/free-trial 9 minutes ago
leveldb (opens new window) 33261 LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. a month ago
cockroach (opens new window) 27557 CockroachDB - the open source, cloud-native distributed SQL database. 3 hours ago
influxdb (opens new window) 25920 Scalable datastore for metrics, events, and real-time analytics a day ago
milvus (opens new window) 21961 A cloud-native vector database, storage for next generation AI applications 14 minutes ago
dgraph (opens new window) 19508 Native GraphQL Database with graph backend 13 minutes ago
rqlite (opens new window) 13911 The lightweight, distributed relational database built on SQLite 6 hours ago
badger (opens new window) 12548 Fast key-value DB in Go. 7 hours ago
groupcache (opens new window) 12245 groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. 5 months ago
VictoriaMetrics (opens new window) 9018 VictoriaMetrics: fast, cost-effective monitoring solution and time series database an hour ago
dtm (opens new window) 8977 A distributed transaction framework, supports workflow, saga, tcc, xa, 2-phase message, outbox patterns, supports many languages. 16 days ago
immudb (opens new window) 8315 immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history 10 hours ago
go-cache (opens new window) 7311 An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. 7 months ago
bbolt (opens new window) 6772 An embedded key/value database for Go. 17 hours ago
bigcache (opens new window) 6695 Efficient cache for gigabytes of data written in Go. a month ago
goleveldb (opens new window) 5798 LevelDB key/value database in Go. 7 days ago
buntdb (opens new window) 4167 BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support 2 months ago
ledisdb (opens new window) 3989 A high performance NoSQL Database Server powered by Go 2 months ago
rosedb (opens new window) 3908 Lightweight, fast and reliable key/value storage engine based on Bitcask. 20 hours ago
nutsdb (opens new window) 2963 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. 5 hours ago
godis (opens new window) 2944 A Golang implemented Redis Server and Cluster. Go 语言实现的 Redis 服务器和分布式集群 3 days ago
tiedot (opens new window) 2715 A rudimentary implementation of a basic document (NoSQL) database in Go 2 years ago
gcache (opens new window) 2404 An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC 8 months ago
cache2go (opens new window) 2000 Concurrency-safe Go caching library with expiration capabilities and access counters 4 months ago
fastcache (opens new window) 1808 Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead an hour ago
CovenantSQL (opens new window) 1445 A decentralized, trusted, high performance, SQL database with blockchain features 5 months ago
diskv (opens new window) 1293 A disk-backed key-value store. 2 years ago
column (opens new window) 1276 High-performance, columnar, in-memory store with bitmap indexing in Go a month ago
databunker (opens new window) 1106 Secure SDK/vault for personal records/PII built to comply with GDPR 22 days ago
pogreb (opens new window) 1095 Embedded key-value store for read-heavy workloads written in Go 6 hours ago
eliasdb (opens new window) 972 EliasDB a graph-based database. a year ago
moss (opens new window) 929 moss - a simple, fast, ordered, persistable, key-val storage library for golang a year ago
levigo (opens new window) 417 levigo is a Go wrapper for LevelDB a year ago
pudge (opens new window) 343 Fast and simple key/value store written using Go's standard library 2 years ago
kivik (opens new window) 276 Kivik provides a common interface to CouchDB or CouchDB-like databases for Go and GopherJS. 9 days ago
vasto (opens new window) 249 A distributed key-value store. On Disk. Able to grow or shrink without service interruption. 4 years ago
piladb (opens new window) 201 Lightweight RESTful database engine based on stack data structures 3 years ago
golang-scribble (opens new window) 164 A tiny Golang JSON database 4 years ago
cache (opens new window) 140 👜 Cache arbitrary data with an expiration time. 9 months ago
bcache (opens new window) 125 Eventually consistent distributed in-memory cache Go library 7 months ago
unitdb (opens new window) 108 Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics. 5 months ago
slowpoke (opens new window) 100 Low-level key/value store in pure Go. 4 years ago
hare (opens new window) 78 Hare is a nimble little database management system for Go. 2 years ago
couchcache (opens new window) 60 A RESTful caching micro-service in Go backed by Couchbase 8 months ago
clusteredBigCache (opens new window) 43 golang bigcache with clustering as a library. 6 years ago
coffer (opens new window) 34 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. 4 months ago
tempdb (opens new window) 17 Key-value store for temporary items 📝 5 years ago
ttlcache (opens new window) 9 Simple in-memory key-value storage with TTL for each record. 10 months ago

# Database schema migration

  • Database schema migration.
Repository StarCount Description RecentlyUpdated
migrate (opens new window) 11977 Database migrations. CLI and Golang library. 2 days ago
goose (opens new window) 4215 A database migration tool. Supports SQL migrations and Go functions. 3 days ago
sql-migrate (opens new window) 2906 SQL schema migration tool for Go. 19 days ago
pop (opens new window) 1360 A Tasty Treat For All Your Database Needs 14 days ago
skeema (opens new window) 1162 Declarative pure-SQL schema management for MySQL and MariaDB 4 days ago
gormigrate (opens new window) 918 Minimalistic database migration helper for Gorm ORM a month ago
goavro (opens new window) 903 24 days ago
migrator (opens new window) 154 Dead simple Go database migration library. 5 months ago
darwin (opens new window) 135 Database schema evolution library for Go 5 months ago
go-pg-migrations (opens new window) 83 A Go package to help write migrations with go-pg/pg. 5 months ago
sqlize (opens new window) 64 sql migration schema generate from models 2 months ago
avro (opens new window) 43 Apache AVRO for go 2 years ago
go-fixtures (opens new window) 29 Django style fixtures for Golang's excellent built-in database/sql library. 4 years ago
pravasan (opens new window) 29 Simple Migration Tool - written in Go 5 years ago
schema (opens new window) 29 Embedded schema migration package for Go 4 months ago
migrator (opens new window) 24 MySQL database migrator a year ago
go-pg-migrate (opens new window) 11 CLI-friendly package for pg migrations management. 8 months ago

# Database tools.

  • Database-tools.
Repository StarCount Description RecentlyUpdated
vitess (opens new window) 16605 Vitess is a database clustering system for horizontal scaling of MySQL. a minute ago
pgweb (opens new window) 7989 Cross-platform client for PostgreSQL databases 20 days ago
kingshard (opens new window) 6230 A high-performance MySQL proxy 2 years ago
orchestrator (opens new window) 5110 MySQL replication topology management and HA 2 months ago
go-mysql (opens new window) 4163 a powerful mysql toolset with Go 4 hours ago
go-mysql-elasticsearch (opens new window) 3986 Sync MySQL data into elasticsearch a year ago
prest (opens new window) 3864 PostgreSQL ➕ REST, low-code, simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new 2 months ago
chproxy (opens new window) 1126 Open-Source ClickHouse http proxy and load balancer 6 days ago
pg_timetable (opens new window) 895 pg_timetable: Advanced scheduling for PostgreSQL a day ago
clickhouse-bulk (opens new window) 427 Collects many small inserts to ClickHouse and send in big inserts 19 days ago
myreplication (opens new window) 190 Golang MySql binary log replication listener 5 years ago
octillery (opens new window) 183 Go package for sharding databases ( Supports every ORM or raw SQL ) 2 years ago
dbbench (opens new window) 88 🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts 3 hours ago
datagen (opens new window) 56 A fast data generator that's multi-table aware and supports multi-row DML. 2 months ago
prep (opens new window) 33 Prep finds all SQL statements in a Go package and instruments db connection with prepared statements 6 years ago
rwdb (opens new window) 18 Database wrapper that manage read write connections 6 years ago

# SQL query builder

  • SQL query builder, libraries for building and using SQL.
Repository StarCount Description RecentlyUpdated
squirrel (opens new window) 5938 Fluent SQL generation for golang 2 months ago
xo (opens new window) 3409 Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server 8 days ago
goqu (opens new window) 1940 SQL builder and query library for golang 5 days ago
gendry (opens new window) 1508 a golang library for sql builder 3 months ago
jet (opens new window) 1379 Type safe SQL builder with code generation and automatic query result data mapping 5 days ago
dotsql (opens new window) 677 A Golang library for using SQL. a year ago
ozzo-dbx (opens new window) 607 A Go (golang) package that enhances the standard database/sql package by providing powerful data retrieval methods as well as DB-agnostic query building capabilities. 3 months ago
dbq (opens new window) 387 Zero boilerplate database operations for Go 2 years ago
sqlingo (opens new window) 328 💥 A lightweight DSL & ORM which helps you to write SQL in Go. 5 days ago
sqrl (opens new window) 257 Fluent SQL generation for golang 2 months ago
go-structured-query (opens new window) 193 Type safe SQL query builder and struct mapper for Go 7 months ago
sqlf (opens new window) 124 Fast SQL query builder for Go 4 months ago
buildsqlx (opens new window) 122 Go database query builder library for PostgreSQL 24 days ago
igor (opens new window) 111 igor is an abstraction layer for PostgreSQL with a gorm like syntax. a month ago
godbal (opens new window) 58 Database Abstraction Layer (dbal) for Go. Support SQL builder and get result easily (now only support mysql) 5 years ago
gosql (opens new window) 30 SQL query builder for Go a year ago
qry (opens new window) 29 Write your SQL queries in raw files with all benefits of modern IDEs, use them in an easy way inside your application with all the profit of compile time constants 2 years ago
mpath-go (opens new window) 12 Golang package for MPTT (Modified Preorder Tree Traversal) - materialized path realisation. 4 years ago
ormlite (opens new window) 11 Lightweight package containing some ORM-like features and helpers for sqlite databases. 6 months ago

# Database Drivers

  • Libraries for connecting and operating databases.

# Relational Databases

Repository StarCount Description RecentlyUpdated
mysql (opens new window) 13563 Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package a day ago
pq (opens new window) 8220 Pure Go Postgres driver for database/sql a month ago
pgx (opens new window) 7535 PostgreSQL driver and toolkit for Go 3 days ago
go-sqlite3 (opens new window) 6773 sqlite3 driver for go using database/sql 24 days ago
go-mssqldb (opens new window) 1750 Microsoft SQL server driver written in go language 2 months ago
scany (opens new window) 968 Library for scanning data from a database into Go structs and more 5 months ago
go-oci8 (opens new window) 608 Oracle driver for Go using database/sql 2 years ago
godror (opens new window) 450 GO DRiver for ORacle DB 21 days ago
firebirdsql (opens new window) 201 Firebird RDBMS sql driver for Go (golang) 2 months ago
sqinn-go (opens new window) 139 SQLite with pure Go 2 years ago
go-adodb (opens new window) 133 Microsoft ActiveX Object DataBase driver for go that using exp/sql a year ago
calcite-avatica-go (opens new window) 109 Mirror of Apache Calcite - Avatica Go SQL Driver 22 days ago
gofreetds (opens new window) 109 Go Sql Server database driver. 3 years ago
bgc (opens new window) 20 Datastore Connectivity for BigQuery in go 3 years ago
pig (opens new window) 13 Simple pgx wrapper to execute and scan query results 2 years ago

# NoSQL Databases

Repository StarCount Description RecentlyUpdated
go-redis (opens new window) 17697 Redis Go client a day ago
redigo (opens new window) 9578 Go client for Redis 2 months ago
mongo-go-driver (opens new window) 7548 The Official Golang driver for MongoDB 10 hours ago
mgo (opens new window) 1963 The MongoDB driver for Go 2 years ago
rethinkdb-go (opens new window) 1635 Go language driver for RethinkDB 20 days ago
gomemcache (opens new window) 1630 Go Memcached client library #golang 2 months ago
qmgo (opens new window) 1163 Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo. a month ago
mgm (opens new window) 679 Mongo Go Models (mgm) is a fast and simple MongoDB ODM for Go (based on official Mongo Go Driver) 6 months ago
redeo (opens new window) 426 High-performance framework for building redis-protocol compatible TCP servers/services 7 months ago
aerospike-client-go (opens new window) 411 Aerospike Client Go 8 days ago
neoism (opens new window) 389 Neo4j client for Golang 3 years ago
gocb (opens new window) 344 The Couchbase Go SDK 36 minutes ago
go-rejson (opens new window) 321 Golang client for redislabs' ReJSON module with support for multilple redis clients (redigo, go-redis) 4 months ago
go-couchbase (opens new window) 315 Couchbase client in Go 8 months ago
godis (opens new window) 109 redis client implement by golang, inspired by jedis. 3 years ago
Neo4j-GO (opens new window) 76 Neo4j REST Client in golang 5 years ago
arangolite (opens new window) 73 Lightweight Golang driver for ArangoDB 2 years ago
go-pilosa (opens new window) 58 Go client library for Pilosa 10 months ago
goforestdb (opens new window) 33 Go bindings for ForestDB 7 years ago
goriak (opens new window) 30 goriak - Go language driver for Riak KV 2 years ago
neo4j (opens new window) 27 Neo4j Rest API Client for Go lang 8 years ago
xredis (opens new window) 19 Go Redis Client 4 years ago
gocosmos (opens new window) 17 Go database/sql driver for Azure Cosmos DB SQL API 15 days ago
godscache (opens new window) 11 An unofficial Google Cloud Platform Go Datastore wrapper that adds caching using memcached. For App Engine Flexible, Compute Engine, Kubernetes Engine, and more. 5 years ago
asc (opens new window) 9 Datastore Connectivity for Aerospike for go 4 years ago

# Search and Analytic Databases

Repository StarCount Description RecentlyUpdated
bleve (opens new window) 9187 A modern text indexing library for go 5 days ago
elastic (opens new window) 7198 Deprecated: Use the official Elasticsearch client for Go at https://github.com/elastic/go-elasticsearch 15 days ago
riot (opens new window) 6099 Go Open Source, Distributed, Simple and efficient Search Engine; Warning: This is V1 and beta version, because of big memory consume, and the V2 will be rewrite all code. 3 years ago
go-elasticsearch (opens new window) 5077 The official Go client for Elasticsearch 12 days ago
elasticsql (opens new window) 1076 convert sql to elasticsearch DSL in golang(go) 2 days ago
elastigo (opens new window) 951 A Go (golang) based Elasticsearch client library. 5 years ago
skizze (opens new window) 88 A probabilistic data structure service and storage 7 years ago
goes (opens new window) 29 A library to interact with Elasticsearch in Go! 3 years ago

# Multiple Backends

Repository StarCount Description RecentlyUpdated
cayley (opens new window) 14609 An open-source graph database a day ago
gokv (opens new window) 571 Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more) 5 months ago
cachego (opens new window) 285 Golang Cache component - Multiple drivers 2 months ago
dsc (opens new window) 27 Datastore Connectivity in go 2 months ago

# Date and Time

  • Libraries for working with dates and times.
Repository StarCount Description RecentlyUpdated
now (opens new window) 4205 Now is a time toolkit for golang 3 months ago
carbon (opens new window) 3370 A simple, semantic and developer-friendly golang package for datetime 15 days ago
dateparse (opens new window) 1890 GoLang Parse many date strings without knowing format in advance. 13 hours ago
carbon (opens new window) 763 Carbon for Golang, an extension for Time a year ago
durafmt (opens new window) 465 🕗 Better time duration formatting in Go! 2 years ago
timeutil (opens new window) 193 timeutil - useful extensions (Timedelta, Strftime, ...) to the golang's time package 5 years ago
gostradamus (opens new window) 181 Gostradamus: Better DateTimes for Go 🕰️ 8 months ago
go-persian-calendar (opens new window) 165 The implementation of Persian (Solar Hijri) Calendar in Go a month ago
iso8601 (opens new window) 126 A fast ISO8601 date parser for Go a month ago
date (opens new window) 114 A Go package for working with dates a month ago
timespan (opens new window) 82 Golang package to manipulate time intervals. 4 years ago
go-str2duration (opens new window) 77 Convert string to duration in golang 8 months ago
go-sunrise (opens new window) 74 Go package for calculating the sunrise and sunset times for a given location 3 months ago
feiertage (opens new window) 43 Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany) 9 months ago
kair (opens new window) 25 🕐 Date and Time - Golang Formatting Library 3 years ago
cronrange (opens new window) 18 time range expression in cron style a year ago
nulltime (opens new window) 14 6 years ago
strftime (opens new window) 12 C99-compatible strftime formatter for use with Go time.Time instances. 5 years ago
tuesday (opens new window) 12 Ruby-compatible strftime for golang 2 years ago
go-week (opens new window) 8 A Go package to work with ISO 8601 week dates 2 years ago

# Distributed Systems

  • Packages that help with building Distributed Systems.
Repository StarCount Description RecentlyUpdated
etcd (opens new window) 44154 Distributed reliable key-value store for the most critical data of a distributed system 12 hours ago
kit (opens new window) 25278 A standard library for microservices. 2 months ago
go-zero (opens new window) 25120 A cloud-native Go microservices framework with cli tool for productivity. 12 hours ago
kratos (opens new window) 21126 Your ultimate Go microservices framework for the cloud-native era. 3 hours ago
go-micro (opens new window) 20712 A Go microservices framework a day ago
grpc-go (opens new window) 18563 The Go language implementation of gRPC. HTTP/2 based RPC 5 hours ago
nats-server (opens new window) 13336 High-Performance server for NATS.io, the cloud and edge native messaging system. 34 minutes ago
micro (opens new window) 11843 API first development platform 11 days ago
libzmq (opens new window) 8670 ZeroMQ core engine in C++, implements ZMTP/3.1 18 days ago
rpcx (opens new window) 7681 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! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! build for cloud! 3 days ago
raft (opens new window) 7304 Golang implementation of the Raft consensus protocol 21 days ago
lura (opens new window) 5675 Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation 11 days ago
torrent (opens new window) 4873 Full-featured BitTorrent client package and utilities 16 days ago
dragonboat (opens new window) 4696 A feature complete and high performance multi-group Raft library in Go. a month ago
emitter (opens new window) 3602 High performance, distributed and low latency publish-subscribe platform. 8 days ago
gleam (opens new window) 3226 Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly. 2 years ago
glow (opens new window) 3148 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. 5 years ago
liftbridge (opens new window) 2470 Lightweight, fault-tolerant message streams. 25 days ago
hprose-golang (opens new window) 1240 Hprose is a cross-language RPC. This project is Hprose for Golang. 6 months ago
go-doudou (opens new window) 1209 go-doudou(doudou pronounce /dəudəu/)is OpenAPI 3.0 (for REST) spec and Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well. 5 days ago
redislock (opens new window) 1083 Simplified distributed locking implementation using Redis 12 days ago
rain (opens new window) 857 🌧 BitTorrent client and library in Go 11 hours ago
arpc (opens new window) 788 More effective network communication, two-way calling, notify and broadcast supported. 2 months ago
ringpop-go (opens new window) 786 Scalable, fault-tolerant application-layer sharding for Go applications 5 months ago
go-health (opens new window) 703 Library for enabling asynchronous health checks in your service 15 days ago
gorpc (opens new window) 680 Simple, fast and scalable golang rpc library for high load 10 months ago
consistent (opens new window) 608 Consistent hashing with bounded loads in Golang 8 months ago
go-sundheit (opens new window) 511 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. 3 months ago
digota (opens new window) 481 ecommerce microservice 2 years ago
go-jump (opens new window) 367 go-jump: Jump consistent hashing 2 years ago
sleuth (opens new window) 367 A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services a month ago
jsonrpc (opens new window) 280 A simple go implementation of json rpc 2.0 client over http 5 months ago
dht (opens new window) 268 dht is used by anacrolix/torrent, and is intended for use as a library in other projects both torrent related and otherwise 4 months ago
jsonrpc (opens new window) 180 The jsonrpc package helps implement of JSON-RPC 2.0 3 months ago
outboxer (opens new window) 137 A library that implements the outboxer pattern in go 20 hours ago
doublejump (opens new window) 88 A revamped Google's jump consistent hash 10 months ago
semaphore (opens new window) 85 Take control of your data, connect with anything, and expose it anywhere through protocols such as HTTP, GraphQL, and gRPC. 5 months ago
dot (opens new window) 80 distributed data sync with operational transformation/transforms 4 years ago
celeriac.v1 (opens new window) 71 Golang client library for adding support for interacting and monitoring Celery workers, tasks and events. 3 months ago
go-mysql-lock (opens new window) 55 MySQL Backed Locking Primitive 2 months ago
flowgraph (opens new window) 52 Flowgraph package for scalable asynchronous system development 2 years ago
go-pdu (opens new window) 47 Go implementation of PDU - A decentralized SNS backbone an hour ago
drmaa (opens new window) 44 Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard. a year ago
micro (opens new window) 22 A Go distributed systems development framework 2 months ago
consistenthash (opens new window) 19 A Go library that implements Consistent Hashing a year ago
dynatomic (opens new window) 15 Dynatomic is a library for using dynamodb as an atomic counter 3 years ago
failured (opens new window) 10 Adaptive Accrual Failure Detector 2 years ago

# Dynamic DNS

  • Tools for updating dynamic DNS records.
Repository StarCount Description RecentlyUpdated
godns (opens new window) 1332 A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go. 2 months ago
ddns (opens new window) 237 Personal DDNS client with Digital Ocean Networking DNS as backend. 6 months ago

# Email

  • Libraries and tools that implement email creation and sending.
Repository StarCount Description RecentlyUpdated
MailHog (opens new window) 12367 Web and API based SMTP testing 3 months ago
hermes (opens new window) 2655 Golang package that generates clean, responsive HTML e-mails for sending transactional mail 18 days ago
email (opens new window) 2390 Robust and flexible email library for Go a month ago
go-imap (opens new window) 1817 📥 An IMAP library for clients and servers 12 hours ago
email-verifier (opens new window) 924 ✅ A Go library for email verification without sending any emails. a day ago
sendgrid-go (opens new window) 916 The Official Twilio SendGrid Golang API Library 2 days ago
mailgun-go (opens new window) 656 Go library for sending mail with the Mailgun API. 7 days ago
go-simple-mail (opens new window) 501 Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP. 4 days ago
go-message (opens new window) 322 ✉️ A streaming Go library for the Internet Message Format and mail messages 4 days ago
douceur (opens new window) 230 A simple CSS parser and inliner in Go a year ago
hectane (opens new window) 220 Lightweight SMTP client written in Go 3 years ago
mailchain-legacy (opens new window) 139 Using Mailchain, blockchain users can now send and receive rich-media HTML messages with attachments via a blockchain address. a year ago
go-premailer (opens new window) 113 Inline styling for html mail in golang 4 months ago
go-dkim (opens new window) 90 DKIM package for golang 3 years ago
smtp (opens new window) 75 MailHog SMTP Protocol 2 years ago
go-email-validator (opens new window) 51 📧 Golang Email address validator 6 days ago

# Embeddable Scripting Languages

  • Embedding other languages inside your go code.
Repository StarCount Description RecentlyUpdated
gopher-lua (opens new window) 5583 GopherLua: VM and compiler for Lua in Go 5 days ago
goja (opens new window) 4108 ECMAScript/JavaScript engine in pure Go 2 days ago
expr (opens new window) 3932 Expression language and expression evaluation for Go 13 days ago
tengo (opens new window) 3246 A fast script language for Go 19 days ago
go-lua (opens new window) 2748 A Lua VM in Go 5 months ago
cel-go (opens new window) 1714 Fast, portable, non-Turing complete expression evaluation with gradual typing (Go) 13 hours ago
go-python (opens new window) 1511 naive go bindings to the CPython2 C-API 15 days ago
anko (opens new window) 1356 Scriptable interpreter written in golang 18 days ago
core (opens new window) 1316 MetaCall: The ultimate polyglot programming experience. 6 days ago
go-php (opens new window) 900 PHP bindings for the Go programming language (Golang) 2 years ago
go-duktape (opens new window) 779 [abandoned] Duktape JavaScript engine bindings for Go 2 years ago
gval (opens new window) 641 Expression evaluation in golang 5 months ago
golua (opens new window) 617 Go bindings for Lua C API - in progress 2 years ago
gisp (opens new window) 502 Simple LISP in Go 6 years ago
gentee (opens new window) 112 Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang). 6 months ago
binder (opens new window) 66 High level go to Lua binder. Write less, do more. a year ago
purl (opens new window) 38 Perl, but fluffy like a cat! 9 years ago
ecal (opens new window) 34 A simple embeddable scripting language which supports concurrent event processing. 2 years ago
ngaro (opens new window) 25 An embeddable implementation of the Ngaro Virtual Machine for Go programs 5 years ago

# Error Handling

  • Libraries for handling errors.
Repository StarCount Description RecentlyUpdated
errors (opens new window) 8060 Simple error handling primitives 2 years ago
go-multierror (opens new window) 2006 A Go (golang) package for representing a list of errors as a single error. 8 days ago
eris (opens new window) 1323 Error handling library with readable stack traces and flexible formatting support 🎆 6 months ago
errorx (opens new window) 995 A comprehensive error handling library for Go a month ago
tracerr (opens new window) 811 Golang errors with stack trace and source fragments. 3 months ago
errlog (opens new window) 452 Reduce debugging time while programming Go. Use static and stack-trace analysis to determine which func call causes the error. a month ago
emperror (opens new window) 310 The Emperor takes care of all errors personally 3 years ago
errors (opens new window) 180 Drop-in replacement for the standard library errors package and github.com/pkg/errors a year ago
errors (opens new window) 52 A drop-in replacement for Go errors, with some added sugar! Unwrap user-friendly messages, HTTP status code, easy wrapping with multiple error types. 2 months ago
falcon (opens new window) 9 A Simple Yet Highly Powerful Package For Error Handling 4 years ago
errors (opens new window) 8 Simple and efficient error package a year ago
errors (opens new window) 5 Simple golang error handling with classification primitives. 4 years ago

# File Handling

  • Libraries for handling files and file systems.
Repository StarCount Description RecentlyUpdated
afero (opens new window) 5277 A FileSystem Abstraction System for Go 13 hours ago
pdfcpu (opens new window) 5177 A PDF processor written in Go. 18 hours ago
gdu (opens new window) 2684 Fast disk usage analyzer with console interface written in Go 3 days ago
todo.txt (opens new window) 1954 ‼️ A complete primer on the whys and hows of todo.txt. 2 months ago
notify (opens new window) 835 File system event notification library on steroids. 5 months ago
copy (opens new window) 580 Go copy directory recursively 3 days ago
afs (opens new window) 256 Abstract File Storage 5 days ago
vfs (opens new window) 248 Pluggable, extensible virtual file system for Go a month ago
bigfile (opens new window) 241 Bigfile -- a file transfer system that supports http, rpc and ftp protocol https://bigfile.site 6 months ago
go-exiftool (opens new window) 178 Golang wrapper for Exiftool : extract as much metadata as possible (EXIF, ...) from files (pictures, pdf, office documents, ...) 2 months ago
fs (opens new window) 131 Package fs provides filesystem-related functions. 2 years ago
go-csv-tag (opens new window) 108 Read csv file from go using tags 22 days ago
skywalker (opens new window) 90 A package to allow one to concurrently go through a filesystem with ease 2 years ago
checksum (opens new window) 88 Compute message digest for large files in Go 5 months ago
parquet (opens new window) 83 A library for reading and writing parquet files. 19 days ago
opc (opens new window) 74 Go implementation of the Open Packaging Conventions (OPC) 2 years ago
tarfs (opens new window) 56 An implementation of the FileSystem interface for tar files. 3 years ago
baraka (opens new window) 50 a tool for handling file uploads simple 10 months ago
go-gtfs (opens new window) 37 Load GTFS files in golang 22 days ago
flop (opens new window) 34 Go file operations library chasing GNU APIs. 2 years ago
gut (opens new window) 26 🍱 yet another collection of go utilities & tools 3 years ago
go-decent-copy (opens new window) 19 copy files for humans 4 years ago
todotxt (opens new window) 19 Parser for todo.txt files in Go ✅ 2 months ago
higgs (opens new window) 17 A tiny cross-platform Go library to hide/unhide files and directories 2 years ago
pathtype (opens new window) 12 Add a type for paths in Go. 2 years ago

# Financial

  • Packages for accounting and finance.
Repository StarCount Description RecentlyUpdated
decimal (opens new window) 5261 Arbitrary-precision fixed-point decimal numbers in go 16 days ago
ticker (opens new window) 4621 Terminal stock ticker with live updates and position tracking 2 months ago
go-money (opens new window) 1340 Go implementation of Fowler's Money pattern 2 months ago
accounting (opens new window) 821 money and currency formatting for golang a year ago
techan (opens new window) 736 Technical Analysis Library for Golang a year ago
currency (opens new window) 412 Currency handling for Go. 4 months ago
ach (opens new window) 378 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. 14 hours ago
orderbook (opens new window) 346 Matching Engine for Limit Order Book in Golang a month ago
go-finance (opens new window) 150 Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations. 2 years ago
transaction (opens new window) 123 Embedded database for accounts transactions. a year ago
sleet (opens new window) 122 Payment abstraction library - one interface for multiple payment processors ( inspired by Ruby's ActiveMerchant ) 6 days ago
ofxgo (opens new window) 117 Golang library for querying and parsing OFX 5 months ago
vat (opens new window) 101 Go package for dealing with EU VAT. Does VAT number validation & rates retrieval. 2 years ago
go-finnhub (opens new window) 79 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 4 years ago
currency (opens new window) 52 A currency computations package. 2 years ago
payme (opens new window) 22 QR code generator (ASCII & PNG) for SEPA payments 6 months ago
go-finance (opens new window) 13 Finance related Go functions (e.g. exchange rates, VAT number checking, …) 2 months ago

# Forms

  • Libraries for working with forms.
Repository StarCount Description RecentlyUpdated
nosurf (opens new window) 1427 CSRF protection middleware for Go. 9 months ago
csrf (opens new window) 900 Package gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications & services 🔒 8 days ago
binding (opens new window) 795 Reflectionless data binding for Go's net/http (not actively maintained) 5 years ago
form (opens new window) 617 🚂 Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. a month ago
conform (opens new window) 308 Trims, sanitizes & scrubs data based on struct tags (go, golang) 8 months ago
formam (opens new window) 181 a package for decode form's values into struct in Go 9 months ago
forms (opens new window) 133 A lightweight go library for parsing form data or json from an http.Request. 8 months ago
qs (opens new window) 67 Go module for encoding structs into URL query parameters 8 months ago
bind (opens new window) 28 9 years ago
queryparam (opens new window) 17 Go package to easily convert a URL's query parameters/values into usable struct values of the correct types. 3 years ago

# Functional

  • Packages to support functional programming in Go.
Repository StarCount Description RecentlyUpdated
go-underscore (opens new window) 1290 Helpfully Functional Go - A useful collection of Go utilities. Designed for programmer happiness. 5 months ago
fpGo (opens new window) 323 Monad, Functional Programming features for Golang a year ago
fuego (opens new window) 141 Functional Experiment in Golang 5 months ago
gofp (opens new window) 139 A super simple Lodash like utility library with essential functions that empowers the development in Go 2 years ago

# Game Development

  • Awesome game development libraries.
Repository StarCount Description RecentlyUpdated
ebiten (opens new window) 8540 Ebitengine - A dead simple 2D game engine for Go 2 days ago
leaf (opens new window) 4938 A game server framework in Go (golang) 10 months ago
pixel (opens new window) 4279 A hand-crafted 2D game library in Go 4 months ago
nano (opens new window) 2434 Lightweight, facility, high performance golang based game server framework 2 months ago
engine (opens new window) 2401 Go 3D Game Engine (http://g3n.rocks) 2 months ago
goworld (opens new window) 2378 Scalable Distributed Game Server Engine with Hot Swapping in Golang a year ago
go-sdl2 (opens new window) 2006 SDL2 binding for Go 3 days ago
pitaya (opens new window) 1901 Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. 18 hours ago
engo (opens new window) 1630 Engo is an open-source 2D game engine written in Go. 11 days ago
oak (opens new window) 1429 A pure Go game engine 17 days ago
termloop (opens new window) 1361 Terminal-based game engine for Go, built on top of Termbox 2 years ago
gonet (opens new window) 1229 A Game Server Skeleton in golang. 6 years ago
raylib-go (opens new window) 1029 Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming. 19 days ago
engine (opens new window) 586 Azul3D - A 3D game engine written in Go! 2 years ago
go-astar (opens new window) 558 Go implementation of the A* search algorithm 2 years ago
go3d (opens new window) 285 A performance oriented 2D/3D math package for Go a year ago
tile (opens new window) 109 Tile is a 2D grid engine, built with data and cache friendly ways, includes pathfinding and observers. 8 months ago
prototype (opens new window) 81 Simple 2D game prototyping framework. 10 months ago

# Generation and Generics

  • Tools to enhance the language with features like generics via code generation.
Repository StarCount Description RecentlyUpdated
go-linq (opens new window) 3337 .NET LINQ capabilities in Go a year ago
jennifer (opens new window) 2966 Jennifer is a code generator for Go 6 days ago
gen (opens new window) 1428 Type-driven code generation for Go 4 years ago
goderive (opens new window) 1121 Derives and generates mundane golang functions that you do not want to maintain yourself 4 months ago
gowrap (opens new window) 784 GoWrap is a command line tool for generating decorators for Go interfaces a month ago
go-enum (opens new window) 532 An enum generator for go a day ago
interfaces (opens new window) 398 Code generation tools for Go. a month ago
goverter (opens new window) 293 Generate type-safe Go converters by simply defining an interface 15 hours ago
pkgreflect (opens new window) 104 A Go preprocessor for package scoped reflection 6 years ago
gotype (opens new window) 54 Golang source code parsing, usage like reflect package a year ago
efaceconv (opens new window) 48 6 years ago
GENERIS (opens new window) 42 Versatile Go code generator. a year ago
go-xray (opens new window) 26 Helpers for making the use of reflection easier 6 months ago
typeregistry (opens new window) 20 create type dynamically in Golang 3 years ago

# Geographic

  • Geographic tools and servers.
Repository StarCount Description RecentlyUpdated
tile38 (opens new window) 8632 Real-time Geospatial and Geofencing 3 days ago
geo (opens new window) 1556 S2 geometry library in Go 20 days ago
mbtileserver (opens new window) 513 Basic Go server for mbtiles 5 months ago
osm (opens new window) 288 General purpose library for reading, writing and working with OpenStreetMap data 8 months ago
godal (opens new window) 100 golang wrapper for github.com/OSGEO/gdal 4 months ago
wgs84 (opens new window) 99 A zero-dependency Go package for coordinate transformations. 3 months ago
simplefeatures (opens new window) 89 Simple Features is a pure Go Implementation of the OpenGIS Simple Feature Access Specification 11 days ago
geoserver (opens new window) 83 geoserver is a Go library for manipulating a GeoServer instance via the GeoServer REST API. 5 months ago
gismanager (opens new window) 50 Publish Your GIS Data(Vector Data) to PostGIS and Geoserver 5 years ago
pbf (opens new window) 45 OpenStreetMap PBF golang parser 10 months ago
s2-geojson (opens new window) 25 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 3 years ago

# Go Compilers

  • Tools for compiling Go to other languages.
Repository StarCount Description RecentlyUpdated
gopherjs (opens new window) 12051 A compiler from Go to JavaScript for running Go code in a browser 19 hours ago
tardisgo (opens new window) 426 Golang->Haxe->CPP/CSharp/Java/JavaScript transpiler 7 years ago
c4go (opens new window) 337 Transpiling C code to Go code 5 months ago
f4go (opens new window) 36 Transpiling fortran code to golang code 10 months ago

# Goroutines

  • Tools for managing and working with Goroutines.
Repository StarCount Description RecentlyUpdated
ants (opens new window) 10797 🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go./ ants 是一个高性能且低损耗的 goroutine 池。 16 days ago
tunny (opens new window) 3651 A goroutine pool for Go 5 months ago
goworker (opens new window) 2745 goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers. a year ago
workerpool (opens new window) 1116 Concurrency limiting goroutine pool a month ago
pond (opens new window) 943 🔘 Minimalistic and High-performance goroutine worker pool written in Go 4 months ago
grpool (opens new window) 731 Lightweight Goroutine pool 5 years ago
pool (opens new window) 720 🚤 a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation 2 years ago
gowp (opens new window) 471 golang worker pool , Concurrency limiting goroutine pool 2 months ago
go-floc (opens new window) 262 Floc: Orchestrate goroutines with ease. 2 years ago
go-flow (opens new window) 214 Simply way to control goroutines execution order based on dependencies 4 years ago
artifex (opens new window) 175 Simple in-memory job queue for Golang using worker-based dispatching 9 months ago
go-workers (opens new window) 160 👷 Library for safely running groups of workers concurrently or consecutively that require input and output through channels 2 years ago
semaphore (opens new window) 160 Fast resizable golang semaphore primitive 2 years ago
errgroup (opens new window) 148 errgroup with goroutine worker limits 7 months ago
async (opens new window) 130 Synchronization and asynchronous computation package for Go 9 minutes ago
cyclicbarrier (opens new window) 129 CyclicBarrier golang implementation 3 years ago
async (opens new window) 123 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. 3 years ago
gollback (opens new window) 110 Go asynchronous simple function utilities, for managing execution of closures and callbacks 6 months ago
semaphore (opens new window) 96 🚦 Semaphore pattern implementation with timeout of lock/unlock operations. 3 years ago
Hunch (opens new window) 95 Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive. a year ago
threadpool (opens new window) 94 Golang simple thread pool implementation 3 years ago
worker-pool (opens new window) 87 Go simple async worker pool 3 years ago
gpool (opens new window) 86 gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore. 4 years ago
goccm (opens new window) 66 Limits the number of goroutines that are allowed to run concurrently 7 months ago
nursery (opens new window) 64 Structured Concurrency in Go 2 years ago
gowl (opens new window) 59 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. 5 months ago
routine (opens new window) 57 go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它 3 years ago
gohive (opens new window) 44 🐝 A Highly Performant and easy to use goroutine pool for Go 2 years ago
kyoo (opens new window) 42 Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries 6 months ago
go-waitgroup (opens new window) 41 A sync.WaitGroup with error handling and concurrency control 2 months ago
parallel-fn (opens new window) 35 Run functions in parallel ☄ 6 years ago
go-trylock (opens new window) 33 TryLock support on read-write lock for Golang 2 years ago
channelify (opens new window) 27 Make functions return a channel for parallel processing via go routines. 2 years ago
stl (opens new window) 27 Software Transactional Locks 3 years ago
execpool (opens new window) 16 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. 2 years ago
breaker (opens new window) 15 🚧 Flexible mechanism to make execution flow interruptible. 2 years ago
concurrency-limiter (opens new window) 15 7 months ago
queue (opens new window) 14 package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more. 4 years ago
conexec (opens new window) 13 A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking. 3 years ago
go-tools (opens new window) 12 A collection of tools for Golang 4 years ago
hands (opens new window) 10 Hands is a process controller used to control the execution and return strategies of multiple goroutines. a year ago

# GUI

  • Libraries for building GUI Applications.

# Toolkits

Repository StarCount Description RecentlyUpdated
fyne (opens new window) 20983 Cross platform GUI toolkit in Go inspired by Material Design 2 days ago
webview (opens new window) 11362 Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows) 4 days ago
qt (opens new window) 9913 Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly 4 months ago
ui (opens new window) 8285 Platform-native GUI library for Go. a year ago
go-app (opens new window) 7172 A package to build progressive web apps with Go programming language and WebAssembly. 8 days ago
walk (opens new window) 6509 A Windows GUI toolkit for the Go Programming Language a year ago
go-astilectron (opens new window) 4795 Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron) 12 days ago
go-sciter (opens new window) 2529 Golang bindings of Sciter: the Embeddable HTML/CSS/script engine for modern UI development 3 months ago
gotk3 (opens new window) 1934 Go bindings for GTK3 3 months ago
gowd (opens new window) 402 Build cross platform GUI apps with GO and HTML/JS/CSS (powered by nwjs) 5 months ago

# Interaction

Repository StarCount Description RecentlyUpdated
robotgo (opens new window) 8567 RobotGo, Go Native cross-platform GUI automation @vcaesar a month ago
systray (opens new window) 2854 a cross platfrom Go library to place an icon and menu in the notification area 12 days ago
gosx-notifier (opens new window) 578 gosx-notifier is a Go framework for sending desktop notifications to OSX 10.8 or higher 3 years ago
zenity (opens new window) 525 Zenity dialogs for Golang, Windows, macOS 14 hours ago
trayhost (opens new window) 241 Cross-platform Go library to place an icon in the host operating system's taskbar. a month ago
mac-sleep-notifier (opens new window) 29 macOS Sleep/ Wake notifications in golang 4 years ago
activity-tracker (opens new window) 25 A library to notify about any (pluggable) activity on your machine, and let you take action as needed 4 years ago
go-appindicator (opens new window) 19 🚥 Go bindings for libappindicator3 C library 3 years ago

# Hardware

  • Libraries, tools, and tutorials for interacting with hardware.
Repository StarCount Description RecentlyUpdated
arduino-cli (opens new window) 3974 Arduino command line tool a day ago
go-rpio (opens new window) 2037 🔌 Raspberry Pi GPIO library for go-lang a year ago
ghw (opens new window) 1456 Go HardWare discovery/inspection library 13 days ago
emgo (opens new window) 1029 Emgo: Bare metal Go (language for programming embedded systems) 2 years ago
sysinfo (opens new window) 442 Sysinfo is a Go library providing Linux OS / kernel / hardware system information. a month ago
goroslib (opens new window) 270 ROS client library for the Go programming language 13 days ago
go-osc (opens new window) 175 Open Sound Control (OSC) library for Golang. Implemented in pure Go. 7 months ago
joystick (opens new window) 45 Go Joystick API 4 months ago

# Images

  • Libraries for manipulating images.
Repository StarCount Description RecentlyUpdated
gocv (opens new window) 5651 Go package for computer vision using OpenCV 4 and beyond. a day ago
imaginary (opens new window) 5048 Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing 12 days ago
imaging (opens new window) 4797 Imaging is a simple image processing package for Go 2 months ago
gg (opens new window) 3993 Go Graphics - 2D rendering in Go with a simple API. 15 days ago
bild (opens new window) 3815 Image processing algorithms in pure Go a month ago
ln (opens new window) 3187 3D line art engine. 4 years ago
resize (opens new window) 2955 Pure golang image resizing a year ago
bimg (opens new window) 2330 Go package for fast high-level image processing powered by libvips C library 15 days ago
gowitness (opens new window) 2297 🔍 gowitness - a golang, web screenshot utility using Chrome Headless 14 days ago
pt (opens new window) 2056 A path tracer written in Go. 4 years ago
svgo (opens new window) 2030 Go Language Library for SVG generation 8 months ago
picfit (opens new window) 1874 An image resizing server written in Go 25 days ago
smartcrop (opens new window) 1747 smartcrop finds good image crops for arbitrary crop sizes a month ago
gift (opens new window) 1666 Go Image Filtering Toolkit 3 years ago
imagick (opens new window) 1601 Go binding to ImageMagick's MagickWand C API 23 days ago
go-opencv (opens new window) 1306 Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv 4 months ago
canvas (opens new window) 1296 Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc. 14 days ago
geopattern (opens new window) 1244 📐 Create beautiful generative image patterns from a string in golang. 5 years ago
stegify (opens new window) 1117 🔍 Go tool for LSB steganography, capable of hiding any file within an image. 4 months ago
govips (opens new window) 949 A lightning fast image processing and resizing library for Go 7 days ago
image2ascii (opens new window) 785 🌁 Convert image to ASCII a year ago
goimagehash (opens new window) 630 Go Perceptual image hashing package 3 months ago
draft (opens new window) 570 Generate High Level Cloud Architecture diagrams using YAML syntax. 2 years ago
govatar (opens new window) 568 Avatar generation library for GO language 10 months ago
mort (opens new window) 483 Storage and image processing server written in Go 3 months ago
go-nude (opens new window) 377 Nudity detection with Go. a year ago
steganography (opens new window) 252 Pure Golang Library that allows LSB steganography on images using ZERO dependencies 4 months ago
darkroom (opens new window) 215 a month ago
rez (opens new window) 210 Image resizing in pure Go and SIMD 6 years ago
mergi (opens new window) 205 go library for image programming (merge, crop, resize, watermark, animate, ease, transit) 3 years ago
gltf (opens new window) 203 👓 Go library for encoding glTF 2.0 files 15 days ago
img (opens new window) 150 A selection of image manipulation tools 8 years ago
go-webp (opens new window) 145 Simple and fast webp library for golang a month ago
go-cairo (opens new window) 135 Go binding for the cairo graphics library 3 months ago
cameron (opens new window) 102 An avatar generator for Go. a year ago
gridder (opens new window) 64 A Grid based 2D Graphics library 2 years ago
webp-server (opens new window) 62 Simple and minimal image server capable of storing, resizing, converting and caching images. 3 years ago
go-gd (opens new window) 59 Go bingings for GD (http://www.boutell.com/gd/) 5 years ago
goimghdr (opens new window) 41 The imghdr module determines the type of image contained in a file for go 4 years ago
tga (opens new window) 33 Go package for decoding and encoding TARGA image format 8 years ago
go-webcolors (opens new window) 27 Port of webcolors library from Python to Go 8 years ago
mpo (opens new window) 11 JPEG-MPO Decoder / Converter Library and CLI Tool 4 months ago
scout (opens new window) 10 Scout is a standalone open source software solution for DIY video security. 7 months ago

# IoT -> Internet of Things

  • Libraries for programming devices of the IoT.
Repository StarCount Description RecentlyUpdated
gobot (opens new window) 8364 Golang framework for robotics, drones, and the Internet of Things (IoT) 11 hours ago
flogo (opens new window) 2295 Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps. 4 months ago
mainflux (opens new window) 2114 Industrial IoT Messaging and Device Management Platform 30 minutes ago
gatt (opens new window) 1076 Gatt is a Go package for building Bluetooth Low Energy peripherals a year ago
heedy (opens new window) 370 An aggregator for personal metrics, and an extensible analysis engine a year ago
devices (opens new window) 260 Suite of libraries for IoT devices (written in Go), experimental for x/exp/io 7 years ago
huego (opens new window) 235 An extensive Philips Hue client library for Go with an emphasis on simplicity a month ago
sensorbee (opens new window) 221 Lightweight stream processing engine for IoT 4 years ago
iot (opens new window) 63 A Go client for Google IoT Core 4 years ago
eywa (opens new window) 60 Make IoT a lot more fun with data. 6 years ago

# Job Scheduler

  • Libraries for scheduling jobs.
Repository StarCount Description RecentlyUpdated
gocron (opens new window) 3753 Easy and fluent Go cron scheduling. This is a fork from https://github.com/jasonlvhit/gocron 8 days ago
gocron (opens new window) 3263 A Golang Job Scheduling Package. 2 years ago
go-quartz (opens new window) 1325 Minimalist and zero-dependency scheduling library for Go 2 days ago
gron (opens new window) 983 gron, Cron Jobs in Go. 3 months ago
jobrunner (opens new window) 974 Framework for performing work asynchronously, outside of the request flow 3 years ago
jobs (opens new window) 495 A persistent and flexible background jobs library for go. 5 years ago
scheduler (opens new window) 430 Job scheduling made easy. a year ago
gronx (opens new window) 289 Lightweight, fast and dependency-free Cron expression parser (due checker, next/prev due date finder), task runner, job scheduler and/or daemon for Golang (tested on v1.13+) and standalone usage. If you are bold, use it to replace crontab entirely. 12 days ago
go-cron (opens new window) 218 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. 3 years ago
tasks (opens new window) 167 Package tasks is an easy to use in-process scheduler for recurring tasks in Go a month ago
clockwerk (opens new window) 139 Job Scheduling Library 4 years ago
leprechaun (opens new window) 99 You had one job, or more then one, which can be done in steps a year ago
sched (opens new window) 26 A job scheduler for Go with the ability to fast-forward time. 2 years ago
cronticker (opens new window) 10 Golang ticker that works with Cron scheduling. 3 years ago

# JSON

  • Libraries for working with JSON.
Repository StarCount Description RecentlyUpdated
gjson (opens new window) 12658 Get JSON values quickly - JSON parser for Go 12 days ago
gojson (opens new window) 2616 Automatically generate Go (golang) struct definitions from example JSON 2 years ago
fastjson (opens new window) 1957 Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection 6 months ago
ojg (opens new window) 628 Optimized JSON for Go 8 hours ago
jsondiff (opens new window) 262 Compute the diff between two JSON documents as a series of RFC6902 (JSON Patch) operations a month ago
kazaam (opens new window) 259 Arbitrary transformations of JSON in Golang a year ago
gojq (opens new window) 187 JSON query in Golang a month ago
ajson (opens new window) 181 Abstract JSON for Golang with JSONPath support 14 days ago
jettison (opens new window) 154 Highly configurable, fast JSON encoder for Go 11 days ago
gjo (opens new window) 119 Small utility to create JSON objects 2 years ago
json2go (opens new window) 119 Create go type representation from json 2 years ago
jsongo (opens new window) 109 Fluent API to make it easier to create Json objects. 2 years ago
jaydiff (opens new window) 99 A JSON diff utility 3 years ago
ujson (opens new window) 68 µjson - A fast and minimal JSON parser and transformer that works on unstructured JSON 2 years ago
jsonf (opens new window) 64 Console JSON formatter with query feature 3 years ago
go-respond (opens new window) 51 A Go package for handling common HTTP JSON responses. 2 years ago
mp (opens new window) 46 Simple Email Parser 7 years ago
vjson (opens new window) 34 vjson is a golang package that helps to validate JSON objects 10 months ago
jsoncolor (opens new window) 33 Colorized JSON output for Go a year ago
ask (opens new window) 25 A Go package that provides a simple way of accessing nested properties in maps and slices. a year ago
dynjson (opens new window) 15 Client-customizable JSON formats for dynamic APIs 4 months ago
mapslice-json (opens new window) 15 Go MapSlice for ordered marshal/ unmarshal of maps in JSON 5 months ago
go-jsonerror (opens new window) 13 Small package which wraps error responses to follow jsonapi.org 4 years ago
jsonapi-errors (opens new window) 13 Go bindings based on the JSON API errors reference 7 years ago
jsonhal (opens new window) 13 A simple Go package to make custom structs marshal into HAL compatible JSON responses. 3 years ago
epoch (opens new window) 12 Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from built-in time.Time type in JSON a year ago
jzon (opens new window) 11 A golang json library inspired by jsoniter 7 days ago
ej (opens new window) 9 Write and read JSON from different sources in one line 3 years ago
jsonic (opens new window) 9 All you need with JSON 3 years ago
omg.jsonparser (opens new window) 4 The simple JSON parser with validation by condition 2 years ago

# Logging

  • Libraries for generating and working with log files.
Repository StarCount Description RecentlyUpdated
kit (opens new window) 25278 A standard library for microservices. 2 months ago
logrus (opens new window) 23058 Structured, pluggable logging for Go. 18 days ago
logrus (opens new window) 23058 Structured, pluggable logging for Go. 18 days ago
logrus (opens new window) 23058 Structured, pluggable logging for Go. 18 days ago
zap (opens new window) 19251 Blazing fast, structured, leveled logging in Go. 5 days ago
debug (opens new window) 10782 A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers 19 days ago
zerolog (opens new window) 8658 Zero Allocation JSON Logger 6 days ago
go-spew (opens new window) 5670 Implements a deep pretty printer for Go data structures to aid in debugging a year ago
lumberjack (opens new window) 4181 lumberjack is a log rolling package for Go 3 months ago
glog (opens new window) 3403 Leveled execution logs for Go 4 months ago
tail (opens new window) 2578 Go package for reading from continously updated files (tail -f) 9 months ago
seelog (opens new window) 1637 Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting. 4 years ago
log (opens new window) 1325 Structured logging package for Go. 4 months ago
log15 (opens new window) 1092 Structured, composable logging for Go 6 months ago
log (opens new window) 501 High performance structured logging 2 months ago
onelog (opens new window) 414 Dead simple, super fast, zero allocation logger for Golang 4 years ago
logutils (opens new window) 355 Utilities for slightly better logging in Go (Golang). 6 months ago
logxi (opens new window) 351 A 12-factor app logger built for performance and happy development 3 years ago
sqldb-logger (opens new window) 313 A logger for Go SQL database driver without modifying existing *sql.DB stdlib usage. 7 months ago
httpretty (opens new window) 302 Package httpretty prints the HTTP requests you make with Go pretty on your terminal. 2 months ago
log (opens new window) 289 📗 Simple, configurable and scalable Structured Logging for Go. a month ago
go-logger (opens new window) 286 Simple logger for Go programs. Allows custom formats for messages. 4 years ago
rollingwriter (opens new window) 281 Rolling writer is an IO util for auto rolling write in go. 6 months ago
logur (opens new window) 197 Logur is an opinionated collection of logging best practices 3 years ago
glg (opens new window) 188 Simple and blazing fast lockfree logging library for golang 3 months ago
logger (opens new window) 157 Minimalistic logging library for Go. 2 years ago
xlog (opens new window) 137 xlog is a logger for net/context aware HTTP applications 2 years ago
ozzo-log (opens new window) 122 A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets. 3 years ago
logvoyage (opens new window) 94 LogVoyage - logging SaaS written in GoLang 6 years ago
go-cronowriter (opens new window) 56 Time based rotating file writer 2 years ago
log (opens new window) 47 Logging packages for Go 8 years ago
gone (opens new window) 46 Golang packages for writing small daemons and servers. 2 years ago
noodlog (opens new window) 44 🍜 Parametrized JSON logging library in Golang which lets you obfuscate sensitive data and marshal any kind of content. 4 months ago
go-log (opens new window) 42 A logger, for Go 5 years ago
gologger (opens new window) 41 The Simplest and worst logging library ever written 6 years ago
logex (opens new window) 41 An golang log lib, supports tracking and level, wrap by standard log lib a year ago
journald (opens new window) 37 Go implementation of systemd Journal's native API for logging 2 years ago
go-log (opens new window) 33 a golang log lib supports level and multi handlers 4 years ago
mlog (opens new window) 33 A simple logging module for go, with a rotating file feature and console logging. 5 years ago
distillog (opens new window) 32 Logging, distilled 5 years ago
logrusly (opens new window) 28 Loggly Hooks for GO Logrus logger 2 years ago
log (opens new window) 26 Structured log interface 6 years ago
zkits-logger (opens new window) 24 A powerful zero-dependency json logger. 3 months ago
gomol (opens new window) 19 Gomol is a library for structured, multiple-output logging for Go with extensible logging outputs 4 years ago
logmatic (opens new window) 16 Colorized logger for Golang with dynamic log level configuration 3 years ago
glo (opens new window) 15 Logging library for Golang 5 years ago
go-log (opens new window) 14 Simple and configurable Logging in Go, with level, formatters and writers 5 years ago
logrusiowriter (opens new window) 14 io.Writer implementation using logrus logger 3 years ago
logdump (opens new window) 11 Package for multi-level logging 5 years ago
logo (opens new window) 11 Golang logger to different configurable writers. 3 years ago
go-log (opens new window) 10 A logging library with strack traces, object dumping and optional timestamps 2 months ago
kemba (opens new window) 10 A tiny debug logging tool. Ideal for CLI tools and command applications. Inspired by https://github.com/visionmedia/debug 19 days ago
log (opens new window) 10 📝 Logging with multiple output targets. 4 years ago
xlog (opens new window) 8 plugin architecture and flexible log system for golang 5 years ago
yell (opens new window) 1 📒 Yet another minimalist logging library a year ago

# Machine Learning

  • Libraries for Machine Learning.
Repository StarCount Description RecentlyUpdated
golearn (opens new window) 8982 Machine Learning for Go 5 months ago
gorse (opens new window) 7517 Gorse open source recommender system engine 18 hours ago
gorgonia (opens new window) 5083 Gorgonia is a library that helps facilitate machine learning in Go. 2 months ago
m2cgen (opens new window) 2590 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 5 months ago
tfgo (opens new window) 2284 Tensorflow + Go, the gopher way 24 days ago
gosseract (opens new window) 2181 Go package for OCR (Optical Character Recognition), by using Tesseract C++ library a month ago
goml (opens new window) 1488 On-line Machine Learning in Go (and so much more) a year ago
eaopt (opens new window) 846 🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution) 5 months ago
bayesian (opens new window) 769 Naive Bayesian Classification for Golang. 4 months ago
CloudForest (opens new window) 728 Ensembles of decision trees in go/golang. 2 years ago
ocrserver (opens new window) 587 A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well 2 years ago
gobrain (opens new window) 544 Neural Networks written in go 3 years ago
onnx-go (opens new window) 522 onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library. 3 months ago
go-deep (opens new window) 464 Artificial Neural Network 3 months ago
regommend (opens new window) 302 Recommendation engine for Go 4 years ago
goptuna (opens new window) 238 A hyperparameter optimization framework, inspired by Optuna. 9 days ago
goga (opens new window) 197 Golang Genetic Algorithm a year ago
go-galib (opens new window) 195 Genetic Algorithms library written in Go / golang 8 years ago
goRecommend (opens new window) 194 Collaborative Filtering (CF) Algorithms in Go! 9 years ago
shield (opens new window) 154 Bayesian text classifier with flexible tokenizers and storage backends for Go 3 years ago
go-fann (opens new window) 114 Go bindings for FANN, library for artificial neural networks 9 years ago
go-featureprocessing (opens new window) 100 🔥 Fast, simple sklearn-like feature processing for Go 2 months ago
goscore (opens new window) 89 Go Scoring API for PMML 4 years ago
gonet (opens new window) 79 Neural Network for Go. 3 years ago
fonet (opens new window) 77 fonet is a deep neural network package for Go. 2 years ago
libsvm (opens new window) 73 libsvm go version 7 years ago
neat (opens new window) 67 NEAT (NeuroEvolution of Augmenting Topologies) implemented in Go 5 years ago
neural-go (opens new window) 65 A multilayer perceptron network implemented in Go, with training via backpropagation. 3 years ago
go-pr (opens new window) 62 Pattern recognition package in Go lang. 10 years ago
gomind (opens new window) 60 A simplistic Neural Network Library in Go a year ago
Varis (opens new window) 52 Golang Neural Network 5 years ago
golinear (opens new window) 45 liblinear bindings for Go 5 years ago
go-cluster (opens new window) 39 k-modes and k-prototypes clustering algorithms implementation in Go 8 months ago
godist (opens new window) 35 Probability distributions and associated methods in Go 8 years ago
randomForest (opens new window) 33 Random Forest implementation in golang a year ago
ddt (opens new window) 29 Golang Dynamic Decision Tree 2 years ago
evoli (opens new window) 26 Genetic Algorithm and Particle Swarm Optimization 2 years ago
probab (opens new window) 18 Automatically exported from code.google.com/p/probab 8 years ago

# Messaging

  • Libraries that implement messaging systems.
Repository StarCount Description RecentlyUpdated
sarama (opens new window) 10204 Sarama is a Go library for Apache Kafka. 41 minutes ago
centrifugo (opens new window) 7267 Scalable real-time messaging server in a language-agnostic way. Set up once and forever. 3 hours ago
gorush (opens new window) 7170 A push notification server written in Go (Golang). a month ago
machinery (opens new window) 6942 Machinery is an asynchronous task queue/job queue based on distributed message passing. 21 days ago
asynq (opens new window) 6530 Simple, reliable, and efficient distributed task queue in Go 5 hours ago
benthos (opens new window) 6457 Fancy stream processing made operationally mundane 5 hours ago
go-socket.io (opens new window) 5257 socket.io library for golang, a realtime application framework. 6 days ago
nats.go (opens new window) 4671 Golang client for NATS, the cloud native messaging system. 4 days ago
confluent-kafka-go (opens new window) 4062 Confluent's Apache Kafka Golang client 4 hours ago
mercure (opens new window) 3445 An open, easy, fast, reliable and battery-efficient solution for real-time communications 11 hours ago
melody (opens new window) 3230 🎶 Minimalist websocket framework for Go a month ago
apns2 (opens new window) 2841 ⚡ 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. 13 days ago
go-nsq (opens new window) 2450 The official Go package for NSQ 11 days ago
gopush-cluster (opens new window) 2077 Golang push server cluster 6 years ago
uniqush-push (opens new window) 1504 Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices. 3 years ago
EventBus (opens new window) 1476 [Go] Lightweight eventbus with async compatibility for Go a year ago
Beaver (opens new window) 1455 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps. 2 months ago
chanify (opens new window) 1107 Chanify is a safe and simple notification tools. This repository is command line tools for Chanify. 2 months ago
zmq4 (opens new window) 1074 A Go interface to ZeroMQ version 4 2 months ago
amqp091-go (opens new window) 945 An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: streadway/amqp 10 days ago
gollum (opens new window) 930 An n:m message multiplexer written in Go 6 months ago
dbus (opens new window) 873 Native Go bindings for D-Bus 2 months ago
golongpoll (opens new window) 636 golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients 😃 ☕️ 💻 a year ago
mangos (opens new window) 602 mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols" 3 months ago
emitter (opens new window) 471 Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins 4 months ago
glue (opens new window) 409 Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io) 3 years ago
pubsub (opens new window) 391 A simple pubsub package for go. a year ago
bus (opens new window) 306 🔊Minimalist message bus implementation for internal communication with zero-allocation magic on Emit 3 months ago
message-bus (opens new window) 252 Go simple async message bus 3 years ago
rabtap (opens new window) 242 RabbitMQ wire tap and swiss army knife 5 months ago
guble (opens new window) 155 websocket based messaging server written in golang 6 years ago
zmq3 (opens new window) 133 A Go interface to ZeroMQ version 3 2 years ago
hub (opens new window) 132 📨 A fast Message/Event Hub using publish/subscribe pattern with support for topics like* rabbitMQ exchanges for Go applications 3 years ago
oplog (opens new window) 114 A generic oplog/replication system for microservices 8 years ago
redisqueue (opens new window) 114 redisqueue provides a producer and consumer of a queue that uses Redis streams 5 days ago
go-gcm (opens new window) 103 GCM library for Go. 4 years ago
rabbus (opens new window) 97 A tiny wrapper over amqp exchanges and queues 🚌 ✨ 4 years ago
go-mq (opens new window) 87 Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ. 3 months ago
drone-line (opens new window) 79 Sending line notifications using a binary, docker or Drone CI. 5 months ago
nsq-event-bus (opens new window) 77 A tiny wrapper around NSQ topic and channel 🚀 5 years ago
go-notify (opens new window) 67 Package notify provides an implementation of the Gnome DBus Notifications Specification. 3 years ago
commander (opens new window) 65 Build event-driven and event streaming applications with ease 2 years ago
RapidMQ (opens new window) 65 RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue 6 years ago
go-res (opens new window) 63 RES Service protocol library for Go 2 years ago
event (opens new window) 54 The implementation of the pattern observer 5 years ago
hare (opens new window) 52 🐇 CLI tool for websockets and Go package a year ago
ami (opens new window) 26 Go client to reliable queues based on Redis Cluster Streams 3 years ago
go-vitotrol (opens new window) 22 golang client library to Viessmann Vitotrol web service a year ago
gosd (opens new window) 22 A library for scheduling when to dispatch a message to a channel a year ago
rmqconn (opens new window) 20 RabbitMQ Reconnection client 4 years ago
zmq2 (opens new window) 19 A Go interface to ZeroMQ version 2 2 years ago
jazz (opens new window) 18 Abstraction layer for simple rabbitMQ connection, messaging and administration 4 years ago
gaurun-client (opens new window) 11 Gaurun Client written in Go 2 years ago

# Microsoft Office

  • Office
Repository StarCount Description RecentlyUpdated
unioffice (opens new window) 3915 Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents a day ago

# Microsoft Excel

  • Libraries for working with Microsoft Excel.
Repository StarCount Description RecentlyUpdated
excelize (opens new window) 15633 Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets 3 days ago
xlsx (opens new window) 5515 (No longer maintained!) Go (golang) library for reading and writing XLSX files. 3 hours ago
go-excel (opens new window) 175 A simple and light excel file reader to read a standard excel as a table faster , 一个轻量级的Excel数据读取库,用一种更关系数据库的方式解析Excel。 9 months ago
xlsx (opens new window) 165 Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang 3 years ago
goxlsxwriter (opens new window) 21 Golang bindings for libxlsxwriter for writing XLSX files a year ago

# Miscellaneous

# Dependency Injection

  • Libraries for working with dependency injection.
Repository StarCount Description RecentlyUpdated
fx (opens new window) 4215 A dependency injection based application framework for Go. 8 days ago
dig (opens new window) 3315 A reflection based dependency injection toolkit for Go. 4 days ago
container (opens new window) 478 A lightweight yet powerful IoC dependency injection container for the Go programming language 4 months ago
di (opens new window) 290 Simple and yet powerful Dependency Injection for Go a month ago
di (opens new window) 197 🛠 A full-featured dependency injection container for go programming language. a month ago
dingo (opens new window) 164 Go Dependency Injection Framework 2 months ago
alice (opens new window) 51 An additive dependency injection container for Golang. 6 years ago
wire (opens new window) 38 Strict Runtime Dependency Injection for Golang 2 years ago
linker (opens new window) 35 Dependency Injection and Inversion of Control package 3 years ago
gocontainer (opens new window) 18 Simple Dependency Injection Container 3 years ago
kinit (opens new window) 8 GO Dependency Injection 2 years ago
nject (opens new window) 3 Go dependency injection: nject & npoint 2 years ago

# Project Layout

  • Unofficial set of patterns for structuring projects.
Repository StarCount Description RecentlyUpdated
project-layout (opens new window) 41030 Standard Go Project Layout 13 days ago
service (opens new window) 2815 Starter code for writing web services in Go using Kubernetes. 4 days ago
modern-go-application (opens new window) 1631 Modern Go Application example a month ago
cookiecutter-golang (opens new window) 622 A Go project template a year ago
seed (opens new window) 391 Go application GitHub repository template. a month ago
go-starter (opens new window) 362 An opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps. 2 months ago
go-todo-backend (opens new window) 240 Go Todo Backend example using modular project layout for product microservice. 2 months ago
scaffold (opens new window) 142 Generate scaffold project layout for Go. 5 years ago
go-sample (opens new window) 125 Go Project Sample Layout 5 years ago
gobase (opens new window) 48 This is a simple skeleton for golang applications 2 months ago
go-project-layout (opens new window) 22 My understanding of how to structure a golang project. 2 years ago
inizio (opens new window) 16 Golang project standard layout generator 5 months ago

# Strings

  • Libraries for working with strings.
Repository StarCount Description RecentlyUpdated
xstrings (opens new window) 1240 Implements string functions widely used in other languages but absent in Go. 8 months ago
sttr (opens new window) 735 cross-platform, cli app to perform various operations on string 4 months ago
strutil (opens new window) 196 String utilities for Go a year ago
stringy (opens new window) 188 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. 7 months ago
bexp (opens new window) 0 Go implementation of Brace Expansion mechanism to generate arbitrary strings. 5 months ago

# Uncategorized

  • These libraries were placed here because none of the other categories seemed to fit.
Repository StarCount Description RecentlyUpdated
gopsutil (opens new window) 9316 psutil for golang 16 hours ago
archiver (opens new window) 4032 Easily create & extract archives, and compress & decompress files of various formats 3 months ago
gatus (opens new window) 3942 ⛑ Automated developer-oriented status page 6 hours ago
oapi-codegen (opens new window) 3823 Generate Go client and server boilerplate from OpenAPI 3 specifications 7 hours ago
gofakeit (opens new window) 3227 Random fake data generator written in go 5 days ago
go-resiliency (opens new window) 1838 Resiliency patterns for golang 6 months ago
base64Captcha (opens new window) 1826 captcha of base64 image string 3 months ago
gosms (opens new window) 1429 📪 Your own local SMS gateway in Go 3 years ago
go-commons-pool (opens new window) 1170 a generic object pool for golang 2 months ago
llvm (opens new window) 1078 Library for interacting with LLVM IR in pure Go. 6 months ago
shortid (opens new window) 879 Super short, fully unique, non-sequential and URL friendly Ids a year ago
health (opens new window) 686 A simple and flexible health check library for Go. 20 days ago
shoutrrr (opens new window) 680 Notification library for gophers and their furry friends. 6 days ago
stateless (opens new window) 655 Go library for creating finite state machines 15 days ago
health (opens new window) 444 An easy to use, extensible health check library for Go applications. a year ago
banner (opens new window) 437 An easy way to add useful startup banners into your Go applications 3 years ago
gountries (opens new window) 392 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. 3 months ago
go-conv (opens new window) 386 Fast conversions across various Go types with a simple API. 2 years ago
lk (opens new window) 307 Simple licensing library for golang. 4 months ago
ffmt (opens new window) 295 Golang beautify data display for Humans 2 years ago
healthcheck (opens new window) 256 An simple, easily extensible and concurrent health-check library for Go services a year ago
antch (opens new window) 252 Antch, a fast, powerful and extensible web crawling & scraping framework for Go 3 years ago
go-unarr (opens new window) 246 Go bindings for unarr (decompression library for RAR, TAR, ZIP and 7z archives) 2 months ago
battery (opens new window) 225 cross-platform, normalized battery information library 2 months ago
bitio (opens new window) 221 Optimized bit-level Reader and Writer for Go. 4 months ago
stats (opens new window) 166 📈 Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... 7 years ago
turtle (opens new window) 152 Emojis for Go 😄🐢🚀 2 years ago
captcha (opens new window) 135 😎Package captcha provides an easy to use, unopinionated API for captcha generation 13 days ago
gotoprom (opens new window) 106 Type-safe Prometheus metrics builder library for golang 6 months ago
indigo (opens new window) 104 A distributed unique ID generator of using Sonyflake and encoded by Base58 3 months ago
gommit (opens new window) 103 Enforce git message commit consistency a day ago
morse (opens new window) 78 Morse Code Library in Go a year ago
faker (opens new window) 76 Random fake data and struct generator for Go. 10 months ago
persian (opens new window) 75 Some utilities for Persian language in Go (Golang) 2 years ago
pdfgen (opens new window) 62 HTTP service to generate PDF from Json requests 5 years ago
xkg (opens new window) 56 User level X Keyboard Grabber 9 years ago
datacounter (opens new window) 45 Golang counters for readers/writers 4 months ago
browscap_go (opens new window) 44 GoLang Library for Browser Capabilities Project 2 months ago
url-shortener (opens new window) 42 A golang URL Shortener 6 months ago
sandid (opens new window) 40 Every grain of sand on Earth has its own ID. a year ago
autoflags (opens new window) 39 Populate go command line app flags from config struct a year ago
gosh (opens new window) 34 Provide Go Statistics Handler, Struct, Measure Method 3 months ago
xdg (opens new window) 33 FreeDesktop.org (xdg) Specs implemented in Go 5 months ago
metrics (opens new window) 26 atomic measures + Prometheus exposition library 5 months ago
shellwords (opens new window) 21 A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell. 4 months ago
numa (opens new window) 17 NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code. 5 months ago
anagent (opens new window) 14 Minimalistic, pluggable Golang evloop/timer handler with dependency-injection 5 years ago
avgRating (opens new window) 14 Calculate average score and rating based on Wilson Score Equation 6 years ago
hostutils (opens new window) 12 A golang library for packing and unpacking hosts list 4 months ago
go-commandbus (opens new window) 10 Simple command bus for GO 2 years ago
generators (opens new window) 5 #golang generator 7 years ago
basexx (opens new window) 4 Convert digit strings between arbitrary bases. a month ago

# Natural Language Processing

  • Libraries for working with human languages.
Repository StarCount Description RecentlyUpdated
jieba (opens new window) 31042 结巴中文分词 a year ago
vaderSentiment (opens new window) 4022 VADER Sentiment Analysis. VADER (Valence Aware Dictionary and sEntiment Reasoner) is a lexicon and rule-based sentiment analysis tool that is specifically attuned to sentiments expressed in social media, and works well on texts from other domains. 9 months ago
prose (opens new window) 3008 📖 A Golang library for text processing, including tokenization, part-of-speech tagging, and named-entity extraction. 3 months ago
go-i18n (opens new window) 2480 Translate your Go program into multiple languages. 2 months ago
gse (opens new window) 2285 Go efficient multilingual NLP and text segmentation; support English, Chinese, Japanese and others. 5 months ago
gojieba (opens new window) 2192 "结巴"中文分词的Golang版本 3 months ago
spago (opens new window) 1549 Self-contained Machine Learning and Natural Language Processing library in Go 2 months ago
go-pinyin (opens new window) 1441 汉字转拼音 a month ago
when (opens new window) 1285 A natural language date/time parser with pluggable rules 2 months ago
kagome (opens new window) 743 Self-contained Japanese Morphological Analyzer written in pure Go 3 months ago
whatlanggo (opens new window) 593 Natural language detection library for Go 4 months ago
nlp (opens new window) 416 Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang 2 years ago
nlp (opens new window) 383 [UNMANTEINED] Extract values from strings and fill your structs with nlp. 6 years ago
sentences (opens new window) 374 A multilingual command line sentence tokenizer in Golang 6 months ago
getlang (opens new window) 155 Natural language detection package in pure Go 3 years ago
go-unidecode (opens new window) 109 ASCII transliterations of Unicode text. 3 months ago
RAKE.Go (opens new window) 100 A Go port of the Rapid Automatic Keyword Extraction algorithm (RAKE) 3 years ago
go-nlp (opens new window) 95 Utilities for working with discrete probability distributions and other tools useful for doing NLP work 12 years ago
gounidecode (opens new window) 79 Unicode transliterator for #golang 8 years ago
segment (opens new window) 78 A Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29 8 months ago
go-stem (opens new window) 75 Word Stemming in Go 5 years ago
textcat (opens new window) 70 A Go package for n-gram based text categorization, with support for utf-8 and raw text 2 years ago
address (opens new window) 67 Address handling for Go. a month ago
MMSEGO (opens new window) 62 Chinese word splitting algorithm MMSEG in GO 11 years ago
go-localize (opens new window) 54 i18n (Internationalization and localization) engine written in Go, used for translating locale strings. 2 years ago
go2vec (opens new window) 52 Read and use word2vec vectors in Go 5 years ago
stemmer (opens new window) 51 Stemmer packages for Go programming language. Includes English, German and Dutch stemmers. 7 years ago
porter2 (opens new window) 46 High Performance Porter2 Stemmer 3 years ago
petrovich (opens new window) 44 Golang port of Petrovich - an inflector for Russian anthroponyms. 2 years ago
iuliia-go (opens new window) 38 Transliterate Cyrillic → Latin in every possible way 2 years ago
snowball (opens new window) 36 Cgo binding for Snowball C library 6 years ago
govader (opens new window) 35 vader sentiment analysis in go 6 months ago
transliterator (opens new window) 35 Golang text Transliterator (i.e München -> Muenchen) a year ago
mystem (opens new window) 30 CGo bindings to Yandex.Mystem 7 years ago
paicehusk (opens new window) 29 Golang implementation of the Paice/Husk Stemming Algorithm 10 years ago
detectlanguage-go (opens new window) 22 Detect Language API Go Client a year ago
icu (opens new window) 21 Cgo binding for icu4c library 6 years ago
golibstemmer (opens new window) 20 Go bindings for the snowball libstemmer library including porter 2 9 years ago
gotokenizer (opens new window) 18 A tokenizer based on the dictionary and Bigram language models for Go. (Now only support chinese segmentation) 4 years ago
t (opens new window) 15 t: translation util for go, using GNU gettext a month ago
libtextcat (opens new window) 13 Cgo binding for libtextcat C library 11 years ago
shamoji (opens new window) 13 The shamoji (杓文字) is a word filtering package 8 months ago
porter (opens new window) 12 porter stemmer 10 years ago
gosentiwordnet (opens new window) 10 💬 Sentiment analyzer library using SentiWordnet in Go 2 years ago

# Networking

  • Libraries for working with various layers of the network.
Repository StarCount Description RecentlyUpdated
fasthttp (opens new window) 19942 Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http 5 hours ago
kcptun (opens new window) 13424 A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC. 12 days ago
webrtc (opens new window) 11513 Pure Go implementation of the WebRTC API a day ago
quic-go (opens new window) 8503 A QUIC implementation in pure go 10 hours ago
gnet (opens new window) 7918 🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。 17 days ago
dns (opens new window) 7130 DNS library in Go 17 days ago
gopacket (opens new window) 5749 Provides packet processing capabilities for Go 16 days ago
httplab (opens new window) 3913 The interactive web server 3 months ago
kcp-go (opens new window) 3705 A Crypto-Secure, Production-Grade Reliable-UDP Library for golang with FEC 3 months ago
gobgp (opens new window) 3275 BGP implemented in the Go Programming Language 15 hours ago
ssh (opens new window) 3106 Easy SSH servers in Golang 8 days ago
fortio (opens new window) 2982 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. 9 hours ago
water (opens new window) 1714 A simple TUN/TAP library written in native Go. 4 months ago
nbio (opens new window) 1693 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. 3 days ago
gev (opens new window) 1657 🚀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. 5 months ago
go-getter (opens new window) 1510 Package for downloading things from a string URL using a variety of protocols. 13 days ago
sftp (opens new window) 1375 SFTP support for the go.crypto/ssh package 18 days ago
nff-go (opens new window) 1311 NFF-Go -Network Function Framework for GO (former YANFF) 9 months ago
grab (opens new window) 1280 A download manager package for Go a month ago
ftp (opens new window) 1148 FTP client package for Go a month ago
mdns (opens new window) 1005 Simple mDNS client/server library in Golang 7 days ago
gosnmp (opens new window) 977 An SNMP library written in Go a month ago
vssh (opens new window) 910 Go Library to Execute Commands Over SSH at Scale 3 months ago
gmqtt (opens new window) 892 Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.x and V5 in golang 2 months ago
cidranger (opens new window) 849 Fast IP to CIDR lookup in Golang 2 months ago
easytcp (opens new window) 704 ✨ 🚀 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. 5 months ago
lhttp (opens new window) 691 go websocket, a better way to buid your IM server 5 years ago
peerdiscovery (opens new window) 598 Pure-Go library for cross-platform local peer discovery using UDP multicast 👩 🔁 👩 24 days ago
go-stun (opens new window) 592 A go implementation of the STUN client (RFC 3489 and RFC 5389) 4 months ago
gaio (opens new window) 508 High performance async-io(proactor) networking for Golang。golangのための高性能非同期io(proactor)ネットワーキング a year ago
gotcp (opens new window) 508 A Go package for quickly building tcp servers 5 hours ago
stun (opens new window) 487 Fast RFC 5389 STUN implementation in go 2 years ago
gopcap (opens new window) 473 A simple wrapper around libpcap for the Go programming language 2 years ago
tcp_server (opens new window) 424 golang tcp server 2 years ago
raw (opens new window) 420 Package raw enables reading and writing data at the device driver level for a network interface. MIT Licensed. a year ago
winrm (opens new window) 406 Command-line tool and library for Windows remote command execution in Go 5 months ago
ftpserverlib (opens new window) 371 golang ftp server library 4 days ago
arp (opens new window) 328 Package arp implements the ARP protocol, as described in RFC 826. MIT Licensed. 8 months ago
ethernet (opens new window) 269 Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. MIT Licensed. a year ago
buffstreams (opens new window) 253 A library to simplify writing applications using TCP sockets to stream protobuff messages 3 years ago
gnxi (opens new window) 242 gNXI Tools - gRPC Network Management/Operations Interface Tools a day ago
jazigo (opens new window) 195 Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet. 4 days ago
utp (opens new window) 170 Use anacrolix/go-libutp instead 3 months ago
canopus (opens new window) 152 CoAP Client/Server implementing RFC 7252 for the Go Language 5 years ago
xtcp (opens new window) 144 A TCP Server Framework with graceful shutdown, custom protocol. 3 years ago
sslb (opens new window) 143 Golang Super Simple Load Balance 7 months ago
iplib (opens new window) 116 A library for working with IP addresses and networks in Go 16 days ago
ether (opens new window) 79 A Go package for sending and receiving ethernet frames. Currently supporting Linux, Freebsd, and OS X. 7 years ago
dhcp6 (opens new window) 76 Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. MIT Licensed. 5 months ago
packet (opens new window) 74 📦 Send network packets over a TCP or UDP connection. 4 years ago
go-powerdns (opens new window) 71 Go PowerDNS 4.x API Client a month ago
portproxy (opens new window) 53 TCP proxy, highjacks HTTP to allow CORS 9 years ago
linkio (opens new window) 52 Simulate network link speed 6 years ago
panoptes-stream (opens new window) 39 A cloud native distributed streaming network telemetry. 15 days ago
golibwireshark (opens new window) 29 6 years ago
graval (opens new window) 28 An experimental go FTP server framework 3 years ago
publicip (opens new window) 26 Go pkg for returning your public facing IP address. 7 years ago
httpproxy (opens new window) 21 HTTP proxy handler and dialer 4 months ago
goshark (opens new window) 16 6 years ago
llb (opens new window) 14 7 years ago
tspool (opens new window) 14 tcp server pool 5 years ago

# HTTP Clients

  • Libraries for making HTTP requests.
Repository StarCount Description RecentlyUpdated
resty (opens new window) 8145 Simple HTTP and REST client library for Go 11 days ago
heimdall (opens new window) 2466 An enhanced HTTP client for Go 5 months ago
grequests (opens new window) 1981 A Go "clone" of the great and famous Requests library 5 months ago
sling (opens new window) 1592 A Go HTTP client library for creating and sending API requests 16 hours ago
requests (opens new window) 1098 HTTP requests for Gophers 3 days ago
gentleman (opens new window) 1012 Plugin-driven, extensible HTTP client toolkit for Go 2 years ago
pester (opens new window) 621 Go (golang) http calls with retries and backoff a year ago
request (opens new window) 245 go request, go http client a month ago
go-http-client (opens new window) 61 An enhanced http client for Golang 8 months ago
rq (opens new window) 49 A nicer interface for golang stdlib HTTP client 4 years ago
httpretry (opens new window) 39 Enriches the standard go http client with retry functionality. 6 months ago
go-req (opens new window) 20 Declarative golang HTTP client a year ago
httpc (opens new window) 5 A customizable and simple HTTP client library. Only depend on the stdlib HTTP client. 2 years ago

# OpenGL

  • Libraries for using OpenGL in Go.
Repository StarCount Description RecentlyUpdated
glfw (opens new window) 1420 Go bindings for GLFW 3 5 months ago
gl (opens new window) 983 Go bindings for OpenGL (generated via glow) 2 years ago
mathgl (opens new window) 500 A pure Go 3D math library. 4 months ago
gl (opens new window) 165 Go cross-platform OpenGL bindings. a month ago
glfw (opens new window) 78 Go cross-platform glfw library for creating an OpenGL context and receiving events. a month ago
go-glmatrix (opens new window) 7 go-glmatrix is a golang version of glMatrix, which is "designed to perform vector and matrix operations stupidly fast". 3 years ago

# ORM

  • Libraries that implement Object-Relational Mapping or datamapping techniques.
Repository StarCount Description RecentlyUpdated
gorm (opens new window) 33214 The fantastic ORM library for Golang, aims to be developer friendly a day ago
beego (opens new window) 30049 beego is an open-source, high-performance web framework for the Go programming language. 19 hours ago
ent (opens new window) 13879 An entity framework for Go 32 minutes ago
sqlboiler (opens new window) 5937 Generate a Go ORM tailored to your database schema. 2 days ago
pg (opens new window) 5451 Golang ORM with focus on PostgreSQL features and performance a month ago
gorp (opens new window) 3676 Go Relational Persistence - an ORM-ish library for Go a month ago
db (opens new window) 3365 Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features. a month ago
gormt (opens new window) 2223 database to golang struct 2 months ago
reform (opens new window) 1419 A better ORM for Go, based on non-empty interfaces and code generation. 5 months ago
pop (opens new window) 1360 A Tasty Treat For All Your Database Needs 14 days ago
go-sqlbuilder (opens new window) 1063 A flexible and powerful SQL string builder library plus a zero-config ORM. 5 hours ago
go-queryset (opens new window) 700 100% type-safe ORM for Go (Golang) with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support. GORM under the hood. 5 months ago
rel (opens new window) 659 💎 Modern ORM for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API 3 days ago
zoom (opens new window) 300 A blazing-fast datastore and querying engine for Go built on Redis. 6 months ago
gosql (opens new window) 175 golang orm and sql builder a year ago
grimoire (opens new window) 159 Database access layer for golang 2 years ago
go-store (opens new window) 111 A simple and fast Redis backed key-value store library for Go 6 years ago
go-firestorm (opens new window) 46 Simple Go ORM for Google/Firebase Cloud Firestore 2 years ago
marlow (opens new window) 13 persistence layer code generation for golang 3 years ago
lore (opens new window) 12 Light Object-Relational Environment (LORE) provides a simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go 6 years ago

# Package Management

# Official experimental tooling for package management

Repository StarCount Description RecentlyUpdated
dep (opens new window) 12957 Go dependency management tool experiment (deprecated) 3 years ago

# Unofficial libraries for package and dependency management

Repository StarCount Description RecentlyUpdated
glide (opens new window) 8176 Package Management for Golang a year ago
godep (opens new window) 5575 dependency tool for go 5 years ago
govendor (opens new window) 4949 Use Go Modules. 3 years ago
gopm (opens new window) 2475 Go Package Manager (gopm) is a package manager and build tool for Go. 4 years ago
gom (opens new window) 1389 Go Manager - bundle for go 4 years ago
gpm (opens new window) 1198 Barebones dependency manager for Go. 6 years ago
goop (opens new window) 780 A simple dependency manager for Go (golang), inspired by Bundler. 8 years ago
modgv (opens new window) 464 Converts 'go mod graph' output into Graphviz's DOT language 6 months ago
nut (opens new window) 235 Vendor Go dependencies 8 years ago
johnny-deps (opens new window) 214 Barebones dependency manager for Go. 3 years ago
mvn-golang (opens new window) 157 maven plugin to automate GoSDK load and build of projects 25 days ago
VenGO (opens new window) 122 Create and manage Isolated Virtual Environments for Go 7 years ago
gop (opens new window) 50 Moved to https://gitea.com/lunny/gop 4 years ago

# Performance

Repository StarCount Description RecentlyUpdated
jaeger (opens new window) 18052 CNCF Jaeger, a Distributed Tracing Platform 12 hours ago
pixie (opens new window) 4764 Instant Kubernetes-Native Application Observability 7 hours ago
statsviz (opens new window) 2921 🚀 Visualise Go program runtime metrics in real time in your browser a month ago
profile (opens new window) 1889 Simple profiling for Go 10 months ago
tracer (opens new window) 79 🪡 Dead simple, lightweight tracing. 2 years ago

# Query Language

Repository StarCount Description RecentlyUpdated
graphql (opens new window) 9336 An implementation of GraphQL for Go / Golang 17 days ago
gqlgen (opens new window) 9074 go generate based graphql server library 5 hours ago
graphql-go (opens new window) 4512 GraphQL server with a focus on ease of use a month ago
dasel (opens new window) 4469 Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package. a day ago
gojsonq (opens new window) 2082 A simple Go package to Query over JSON/YAML/XML/CSV Data 8 months ago
rql (opens new window) 294 Resource Query Language for REST 11 hours ago
jsonql (opens new window) 269 JSON query expression library in Golang. 3 years ago
jsonslice (opens new window) 79 json slicer 3 months ago
graphql (opens new window) 57 graphql parser + utilities 6 years ago
rest-query-parser (opens new window) 56 Query Parser for REST 20 days ago
api-fu (opens new window) 50 A collection of Go packages for creating robust GraphQL APIs 14 days ago
straf (opens new window) 34 Convert Golang Struct To GraphQL Object On The Fly 3 years ago
jsonpath (opens new window) 18 A query library for retrieving part of JSON based on JSONPath syntax. 5 months ago
gws (opens new window) 7 A WebSocket client and server for GraphQL 3 years ago

# Resource Embedding

Repository StarCount Description RecentlyUpdated
statik (opens new window) 3639 Embed files into a Go executable 3 months ago
packr (opens new window) 3411 The simple and easy way to embed static files into Go binaries. 2 years ago
go.rice (opens new window) 2367 go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy. 9 months ago
vfsgen (opens new window) 976 Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it. a month ago
esc (opens new window) 636 A simple file embedder for Go 4 years ago
fileb0x (opens new window) 630 a better customizable tool to embed files in go; also update embedded files remotely without restarting the server 5 months ago
go-resources (opens new window) 176 Unfancy resources embedding for Go with out of box http.FileSystem support. 10 months ago
statics (opens new window) 66 📁 Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks 7 years ago
templify (opens new window) 30 A tool to be used with 'go generate' to embed external template files into Go code. 2 years ago
rebed (opens new window) 27 Recreates directory and files from embedded filesystem using Go 1.16 embed.FS type. a year ago
debme (opens new window) 25 embed.FS wrapper providing additional functionality 2 years ago
mule (opens new window) 12 mule is a tool to be used with 'go generate' to embed external resources files into Go code. 2 years ago

# Science and Data Analysis

  • Libraries for scientific computing and data analyzing.
Repository StarCount Description RecentlyUpdated
gonum (opens new window) 6748 Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more 2 days ago
stats (opens new window) 2794 A well tested and comprehensive Golang statistics library package with no dependencies. 2 months ago
plot (opens new window) 2492 A repository for plotting and visualizing data 14 days ago
gosl (opens new window) 1761 Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations. 2 months ago
streamtools (opens new window) 1314 tools for working with streams of data 8 years ago
dataframe-go (opens new window) 1027 DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration a year ago
go-dsp (opens new window) 825 Digital Signal Processing for Go 2 years ago
chart (opens new window) 755 Provide basic charts in go 2 years ago
goraph (opens new window) 720 Package goraph implements graph data structure and algorithms. a year ago
orb (opens new window) 704 Types and utilities for working with 2d geometry in Golang 23 days ago
graph (opens new window) 650 Graph algorithms and data structures 3 months ago
ewma (opens new window) 412 Exponentially Weighted Moving Average algorithms for Go. 2 years ago
calendarheatmap (opens new window) 376 📅 Calendar heatmap inspired by GitHub contribution activity 3 months ago
TextRank (opens new window) 183 😉 🌀 🍓 TextRank implementation in Golang with extendable features (summarization, phrase extraction) and multithreading (goroutine). 2 years ago
gohistogram (opens new window) 172 Streaming approximate histograms in Go 3 years ago
sparse (opens new window) 146 Sparse matrix formats for linear algebra supporting scientific and machine learning applications 2 years ago
go-estimate (opens new window) 104 State estimation and filtering algorithms in Go 6 months ago
pagerank (opens new window) 77 Weighted PageRank implementation in Go 2 years ago
jsonl-graph (opens new window) 68 🏝 JSONL Graph Tools 9 months ago
geom (opens new window) 55 2d geometry for golang 6 years ago
evaler (opens new window) 52 Implements a simple floating point arithmetic expression evaluator in Go (golang). 5 years ago
decimal (opens new window) 37 An arbitrary-precision decimal floating-point arithmetic package for Go a year ago
triangolatte (opens new window) 35 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs. 2 years ago
goent (opens new window) 33 GO Implementation of Entropy Measures 4 years ago
piecewiselinear (opens new window) 26 tiny linear interpolation library for go (factored out from https://github.com/sgreben/yeetgif) 3 years ago
godesim (opens new window) 21 ODE system solver made simple. For IVPs (initial value problems). a year ago
ode (opens new window) 21 An ordinary differential equation solving library in golang. 6 years ago
PiHex (opens new window) 20 PiHex Library, written in Go, generates a hexadecimal number sequence in the number Pi in the range from 0 to 10,000,000. 9 months ago
GoStats (opens new window) 19 GoStats is a go library for math statistics mostly used in ML domains, it covers most of the statistical measures functions. 5 years ago
assocentity (opens new window) 12 Package assocentity returns the mean distance from tokens to an entity and its synonyms 2 months ago
go-gt (opens new window) 10 Automatically exported from code.google.com/p/go-gt 8 years ago
rootfinding (opens new window) 10 root-finding library 3 years ago
bradleyterry (opens new window) 8 Package to do Bradley-Terry Model pairwise compairsons 4 years ago

# Security

  • Libraries that are used to help make your application more secure.
Repository StarCount Description RecentlyUpdated
age (opens new window) 13871 A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. 9 hours ago
lego (opens new window) 6367 Let's Encrypt/ACME client and library written in Go 3 days ago
certmagic (opens new window) 4580 Automatic HTTPS for any Go program: fully-managed TLS certificate issuance and renewal 17 days ago
cameradar (opens new window) 3447 Cameradar hacks its way into RTSP videosurveillance cameras a month ago
memguard (opens new window) 2378 Secure software enclave for storage of sensitive information in memory. 21 days ago
secure (opens new window) 2135 HTTP middleware for Go that facilitates some quick security wins. 8 months ago
acmetool (opens new window) 1995 🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt) 2 months ago
themis (opens new window) 1729 Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms. a month ago
acra (opens new window) 1205 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. 12 minutes ago
dongle (opens new window) 736 A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption 6 months ago
nacl (opens new window) 535 Pure Go implementation of the NaCL set of API's a year ago
go-password-validator (opens new window) 420 Validate the Strength of a Password in Go a year ago
ssh-vault (opens new window) 385 🌰 encrypt/decrypt using ssh keys 3 months ago
optimus-go (opens new window) 349 ID hashing and Obfuscation using Knuth's Algorithm 3 years ago
firewalld-rest (opens new window) 330 A rest application to update firewalld rules on a linux server 3 years ago
badactor (opens new window) 315 BadActor.org An in-memory application driven jailer written in Go 3 years ago
go-yara (opens new window) 311 Go bindings for YARA a month ago
passlib (opens new window) 285 🔑 Idiotproof golang password validation library inspired by Python's passlib 2 years ago
simple-scrypt (opens new window) 189 A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go 🔑 2 years ago
yara (opens new window) 132 The pattern matching swiss knife 3 years ago
argon2pw (opens new window) 89 Argon2 password hashing package for go with constant time hash comparison 2 years ago
goSecretBoxPassword (opens new window) 55 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. a year ago
go-generate-password (opens new window) 48 Password generator written in Go a year ago
certificates (opens new window) 37 An opinionated helper for generating tls certificates 7 months ago
secureio (opens new window) 30 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. 3 years ago
sslmgr (opens new window) 20 A layer of abstraction the around acme/autocert certificate manager (Golang) 10 months ago
argon2-hashing (opens new window) 19 A light package for generating and comparing password hashing with argon2 in Go 3 months ago
goArgonPass (opens new window) 16 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. 3 years ago

# Serialization

  • Libraries and tools for binary serialization.
Repository StarCount Description RecentlyUpdated
age (opens new window) 13871 A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. 9 hours ago
go (opens new window) 12480 A high-performance 100% compatible drop-in replacement of "encoding/json" 2 months ago
protobuf (opens new window) 9184 Go support for Google's protocol buffers 2 months ago
mapstructure (opens new window) 7018 Go library for decoding generic map values into native Go structures and vice versa. 13 days ago
protobuf (opens new window) 5581 [Deprecated] Protocol Buffers for Go with Gadgets 12 days ago
acmetool (opens new window) 1995 🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt) 2 months ago
go (opens new window) 1762 idiomatic codec and rpc lib for msgpack, cbor, json, etc. msgpack.org[Go] a month ago
acra (opens new window) 1205 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. 13 minutes ago
csvutil (opens new window) 820 csvutil provides fast and idiomatic mapping between CSV and Go (golang) values. 4 months ago
colfer (opens new window) 713 binary serialization format 16 days ago
cbor (opens new window) 593 CBOR codec (RFC 8949) with CBOR tags, Go struct tags (toarray, keyasint, omitempty), float64/32/16, big.Int, and fuzz tested billions of execs. a day ago
go-capnproto (opens new window) 289 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. 4 years ago
php_session_decoder (opens new window) 159 PHP session encoder/decoder written in Go 5 years ago
structomap (opens new window) 140 Easily and dynamically generate maps from Go static structures 4 years ago
binstruct (opens new window) 75 Golang binary decoder for mapping data into the structure a year ago
bambam (opens new window) 67 auto-generate capnproto schema from your golang source files. Depends on go-capnproto-1.0 at https://github.com/glycerine/go-capnproto 7 years ago
asn1 (opens new window) 53 Asn.1 BER and DER encoding library for golang. 4 years ago
bel (opens new window) 35 Generate TypeScript interfaces from Go structs/interfaces - useful for JSON RPC 2 months ago
fwencoder (opens new window) 25 Fixed width file parser (encoder/decoder) in GO (golang) 3 months ago
elastic (opens new window) 24 Converts go types no matter what 2 years ago
pletter (opens new window) 20 A standard way to wrap a proto message a day ago
argon2-hashing (opens new window) 19 A light package for generating and comparing password hashing with argon2 in Go 3 months ago
fixedwidth (opens new window) 8 A Go package for encode/decode fixed-width data 4 years ago
unitpacking (opens new window) 6 A library for storing unit vectors in a representation that lends itself to saving space on disk. a month ago
go-lctree (opens new window) 4 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 years ago

# Server Applications

Repository StarCount Description RecentlyUpdated
age (opens new window) 13871 A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. 9 hours ago
go (opens new window) 12480 A high-performance 100% compatible drop-in replacement of "encoding/json" 2 months ago
protobuf (opens new window) 9184 Go support for Google's protocol buffers 2 months ago
mapstructure (opens new window) 7018 Go library for decoding generic map values into native Go structures and vice versa. 13 days ago
protobuf (opens new window) 5581 [Deprecated] Protocol Buffers for Go with Gadgets 12 days ago
acmetool (opens new window) 1995 🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt) 2 months ago
go (opens new window) 1762 idiomatic codec and rpc lib for msgpack, cbor, json, etc. msgpack.org[Go] a month ago
acra (opens new window) 1205 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. 13 minutes ago
csvutil (opens new window) 820 csvutil provides fast and idiomatic mapping between CSV and Go (golang) values. 4 months ago
colfer (opens new window) 713 binary serialization format 16 days ago
cbor (opens new window) 593 CBOR codec (RFC 8949) with CBOR tags, Go struct tags (toarray, keyasint, omitempty), float64/32/16, big.Int, and fuzz tested billions of execs. a day ago
go-capnproto (opens new window) 289 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. 4 years ago
php_session_decoder (opens new window) 159 PHP session encoder/decoder written in Go 5 years ago
structomap (opens new window) 140 Easily and dynamically generate maps from Go static structures 4 years ago
binstruct (opens new window) 75 Golang binary decoder for mapping data into the structure a year ago
bambam (opens new window) 67 auto-generate capnproto schema from your golang source files. Depends on go-capnproto-1.0 at https://github.com/glycerine/go-capnproto 7 years ago
asn1 (opens new window) 53 Asn.1 BER and DER encoding library for golang. 4 years ago
bel (opens new window) 35 Generate TypeScript interfaces from Go structs/interfaces - useful for JSON RPC 2 months ago
fwencoder (opens new window) 25 Fixed width file parser (encoder/decoder) in GO (golang) 3 months ago
elastic (opens new window) 24 Converts go types no matter what 2 years ago
pletter (opens new window) 20 A standard way to wrap a proto message a day ago
argon2-hashing (opens new window) 19 A light package for generating and comparing password hashing with argon2 in Go 3 months ago
fixedwidth (opens new window) 8 A Go package for encode/decode fixed-width data 4 years ago
unitpacking (opens new window) 6 A library for storing unit vectors in a representation that lends itself to saving space on disk. a month ago
go-lctree (opens new window) 4 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 years ago

# Stream Processing

  • Libraries and tools for stream processing and reactive programming.
Repository StarCount Description RecentlyUpdated
go-streams (opens new window) 1514 A lightweight stream processing library for Go 2 months ago
machine (opens new window) 133 Machine is a workflow/pipeline library for processing data 18 days ago
stream (opens new window) 80 Go Stream, like Java 8 Stream. 3 years ago

# Template Engines

  • Libraries and tools for templating and lexing.
Repository StarCount Description RecentlyUpdated
gofpdf (opens new window) 4169 A PDF document generator with high level support for text, drawing and images 2 years ago
sprig (opens new window) 3680 Useful template functions for Go templates. 8 days ago
quicktemplate (opens new window) 2817 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 2 months ago
pongo2 (opens new window) 2602 Django-syntax like template-engine for Go a month ago
hero (opens new window) 1543 A handy, fast and powerful go template engine. 4 years ago
mustache (opens new window) 1081 The mustache template language in Go 2 months ago
jet (opens new window) 1064 Jet template engine 8 months ago
maroto (opens new window) 1050 A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple. 3 months ago
amber (opens new window) 903 Amber is an elegant templating engine for Go Programming Language, inspired from HAML and Jade 3 years ago
ace (opens new window) 826 HTML template engine for Go 5 years ago
gorazor (opens new window) 824 Razor view engine for go 12 days ago
fasttemplate (opens new window) 733 Simple and fast template engine for Go 10 months ago
ego (opens new window) 561 An ERB-style templating language for Go. 5 months ago
raymond (opens new window) 545 Handlebars for golang 9 months ago
goview (opens new window) 357 Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. 5 months ago
liquid (opens new window) 221 A Liquid template engine in Go a month ago
soy (opens new window) 169 Go implementation for Soy templates (Google Closure templates) 5 months ago
kasia.go (opens new window) 74 Templating system for HTML and other text documents - go implementation 8 years ago
velvet (opens new window) 72 A sweet velvety templating package 6 years ago
extemplate (opens new window) 53 Wrapper package for Go's template/html to allow for easy file-based template inheritance. 8 months ago
gospin (opens new window) 46 Article spinning and spintax/spinning syntax engine written in Go, useful for A/B, testing pieces of text/articles and creating more natural conversations 2 years ago
tbd (opens new window) 24 "to be defined" - a really simple way to create text templates with placeholders 2 years ago
damsel (opens new window) 23 Package damsel provides html outlining via css-selectors and common template functionality. 7 years ago

# Testing

  • Libraries for testing codebases and generating test data.

# Testing Frameworks

Repository StarCount Description RecentlyUpdated
testify (opens new window) 20303 A toolkit with common assertions and mocks that plays nicely with the standard library 2 days ago
goconvey (opens new window) 7852 Go testing in the browser. Integrates with go test. Write behavioral tests in Go. 12 days ago
go-cmp (opens new window) 3643 Package for comparing Go values in tests 2 months ago
httpexpect (opens new window) 2270 End-to-end HTTP and REST API testing for Go. a month ago
godog (opens new window) 2023 Cucumber for golang a month ago
gnomock (opens new window) 1216 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 💻 a day ago
go-vcr (opens new window) 1031 Record and replay your HTTP interactions for fast, deterministic and accurate tests 19 days ago
testfixtures (opens new window) 968 Ruby on Rails like test fixtures for Go. Write tests against a real database 3 days ago
goblin (opens new window) 889 Minimal and Beautiful Go testing framework 8 months ago
baloo (opens new window) 762 Expressive end-to-end HTTP API testing made easy in Go a year ago
goc (opens new window) 701 A Comprehensive Coverage Testing System for The Go Programming Language 2 months ago
embedded-postgres (opens new window) 624 Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test 20 days ago
go-mutesting (opens new window) 601 Mutation testing for Go source code 2 months ago
gotest.tools (opens new window) 448 A collection of packages to augment the go testing package and support common patterns. 9 days ago
gofight (opens new window) 436 Testing API Handler written in Golang. 2 years ago
testza (opens new window) 411 Full-featured test framework for Go! Assertions, fuzzing, input testing, output capturing, and much more! 🍕 16 hours ago
go-testdeep (opens new window) 396 Extremely flexible golang deep comparison, extends the go testing package, tests HTTP APIs and provides tests suite 9 days ago
frisby (opens new window) 275 API testing framework inspired by frisby-js 3 years ago
cupaloy (opens new window) 273 Simple Go snapshot testing 3 months ago
endly (opens new window) 244 End to end functional test and automation framework 12 hours ago
go-carpet (opens new window) 240 Tool for show test coverage in terminal for Go source files 6 days ago
go-hit (opens new window) 231 http integration test framework 4 hours ago
commander (opens new window) 213 Test your command line interfaces on windows, linux and osx and nodes viá ssh and docker 3 months ago
charlatan (opens new window) 199 Go Interface Mocking Tool 5 months ago
dbcleaner (opens new window) 156 Clean database for testing, inspired by database_cleaner for Ruby 2 years ago
gospec (opens new window) 113 Testing framework for Go. Allows writing self-documenting tests/specifications, and executes them concurrently and safely isolated. [UNMAINTAINED] 9 years ago
jsonassert (opens new window) 113 A Go test assertion library for verifying that two representations of JSON are semantically equal 2 months ago
testcase (opens new window) 111 testcase is an opinionated testing framework to support test driven design. a month ago
wstest (opens new window) 100 go websocket client for unit testing of a websocket handler 3 years ago
gocrest (opens new window) 94 GoCrest - Hamcrest-like matchers for Go 4 months ago
assert (opens new window) 59 ❗️Basic Assertion Library used along side native go testing, with building blocks for custom assertions a year ago
covergates (opens new window) 57 The portal gates to coverage reports 3 months ago
restit (opens new window) 56 A Go library help testing your RESTful API application 4 years ago
gospecify (opens new window) 53 A BDD library for Go 12 years ago
gomatch (opens new window) 46 Library created for testing JSON against patterns. 3 years ago
dsunit (opens new window) 43 Datastore Testibility 12 hours ago
hamcrest (opens new window) 28 Hamcrest matchers for the Go programming language 3 years ago
schema (opens new window) 20 Quick and easy expression matching for JSON schemas used in requests and responses 4 years ago
fixenv (opens new window) 19 3 months ago
flute (opens new window) 17 Golang HTTP client testing framework 9 months ago
gogiven (opens new window) 16 gogiven - BDD testing framework for go that generates readable output directly from source code 4 months ago
testsql (opens new window) 16 Generate test data from SQL files before testing and clear it after finished. 4 years ago
biff (opens new window) 12 Bifurcation Framework for testing and use cases 7 months ago
gosuite (opens new window) 12 Test suites support for standard Go1.7 "testing" by leveraging Subtests feature 7 years ago
badio (opens new window) 10 Extensions to Go's testing/iotest package 7 years ago
stop-and-go (opens new window) 9 Testing helper for concurrency 2 months ago
test (opens new window) 8 test utilities for golang 4 years ago
trial (opens new window) 6 A simple assertion library for go 10 months ago
tt (opens new window) 6 Simple and colorful test tools 5 months ago

# Mock

Repository StarCount Description RecentlyUpdated
mock (opens new window) 9046 GoMock is a mocking framework for the Go programming language. 25 days ago
go-sqlmock (opens new window) 5402 Sql mock driver for golang to test database interactions 3 months ago
mockery (opens new window) 4863 A mock code autogenerator for Go 3 days ago
hoverfly (opens new window) 2226 Lightweight service virtualization/ API simulation / API mocking tool for developers and testers a day ago
gock (opens new window) 1900 HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽ a month ago
httpmock (opens new window) 1716 HTTP mocking for Golang 15 days ago
counterfeiter (opens new window) 855 A tool for generating self-contained, type-safe test doubles in go 7 days ago
go-txdb (opens new window) 556 Immutable transaction isolated sql driver for golang 8 days ago
minimock (opens new window) 506 Powerful mock generation tool for Go programming language 4 months ago
govcr (opens new window) 154 HTTP mock for Golang: record and replay HTTP/HTTPS interactions for offline testing 9 days ago
go-localstack (opens new window) 72 Go Wrapper for using localstack a day ago
timex (opens new window) 69 A test-friendly replacement for golang's time package 3 years ago
mockhttp (opens new window) 22 Mock object for Go http.ResponseWriter 9 years ago
mockit (opens new window) 16 Library that make mocking of Go functions/methods easy 3 months ago

# Fuzzing and delta-debugging/reducing/shrinking

Repository StarCount Description RecentlyUpdated
go-fuzz (opens new window) 4638 Randomized testing for Go 2 months ago
gofuzz (opens new window) 1443 Fuzz testing for go. 9 months ago
tavor (opens new window) 242 A generic fuzzing and delta-debugging framework 5 years ago

# Selenium and browser control tools

Repository StarCount Description RecentlyUpdated
chromedp (opens new window) 9381 A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol. 3 days ago
rod (opens new window) 4025 A Devtools driver for web automation and scraping 7 days ago
selenoid (opens new window) 2398 Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary. a day ago
playwright-go (opens new window) 1383 Playwright for Go a browser automation library to control Chromium, Firefox and WebKit with a single API. 4 days ago
cdp (opens new window) 679 Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language. 4 months ago
ggr (opens new window) 302 A lightweight load balancer used to create big Selenium clusters a month ago

# Fail injection

Repository StarCount Description RecentlyUpdated
failpoint (opens new window) 783 An implementation of failpoints for Golang. a year ago

# Text Processing

  • Libraries for parsing and manipulating texts.

# Specific Formats

Repository StarCount Description RecentlyUpdated
colly (opens new window) 20122 Elegant Scraper and Crawler Framework for Golang 19 days ago
goquery (opens new window) 12817 A little like that j-thing, only in Go. a month ago
sh (opens new window) 6076 A shell parser, formatter, and interpreter with bash support; includes shfmt 7 days ago
blackfriday (opens new window) 5202 Blackfriday: a markdown processor for Go a year ago
toml (opens new window) 4248 TOML parser for Golang with reflection. 2 months ago
go-humanize (opens new window) 3701 Go Humans! (formatters for units to human friendly sizes) 3 hours ago
bluemonday (opens new window) 2759 bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS 18 hours ago
gofeed (opens new window) 2221 Parse RSS, Atom and JSON feeds in Go 11 days ago
go-toml (opens new window) 1473 Go library for the TOML file format 22 days ago
inject (opens new window) 1394 Package inject provides a reflect based injector. 5 years ago
slug (opens new window) 983 URL-friendly slugify with multiple languages support. a month ago
commonregex (opens new window) 864 🍫 A collection of common regular expressions for Go 4 years ago
htmlquery (opens new window) 623 htmlquery is golang XPath package for HTML query. 5 months ago
dataflowkit (opens new window) 605 Extract structured data from web sites. Web sites scraping. 5 months ago
omniparser (opens new window) 589 omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc. 14 days ago
html-to-markdown (opens new window) 581 ⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules. 21 hours ago
mxj (opens new window) 568 Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. 15 days ago
go-runewidth (opens new window) 539 wcwidth for golang 5 hours ago
gographviz (opens new window) 527 Parses the Graphviz DOT language in golang 5 months ago
gommon (opens new window) 498 Common packages for Go 5 months ago
gotext (opens new window) 388 Go (Golang) GNU gettext utilities package 13 days ago
goq (opens new window) 243 A declarative struct-tag-based HTML unmarshaling or scraping package for Go built on top of the goquery library 2 years ago
goribot (opens new window) 211 [Crawler/Scraper for Golang]🕷A lightweight distributed friendly Golang crawler framework.一个轻量的分布式友好的 Golang 爬虫框架。 3 years ago
go-nmea (opens new window) 197 A NMEA parser library in pure Go a month ago
gospider (opens new window) 196 ⚡ Light weight Golang spider framework , 轻量的 Golang 爬虫框架 2 years ago
github_flavored_markdown (opens new window) 158 GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. 2 years ago
podcast (opens new window) 125 iTunes and RSS 2.0 Podcast Generator in Golang 3 years ago
editorconfig-core-go (opens new window) 120 EditorConfig Core written in Go a month ago
sdp (opens new window) 112 RFC 4566 SDP implementation in go 3 years ago
go-zero-width (opens new window) 110 Zero-width character detection and removal for Go 3 years ago
go-vcard (opens new window) 89 A Go library to parse and format vCard a month ago
go-slugify (opens new window) 87 Pretty Slug. 3 years ago
pagser (opens new window) 85 Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler 2 years ago
goregen (opens new window) 84 randexp for Go. a year ago
align (opens new window) 80 A general purpose application and library for aligning text. 2 years ago
bafi (opens new window) 78 Universal JSON, BSON, YAML, CSV, XML converter with templates 10 months ago
did (opens new window) 77 A golang package to work with Decentralized Identifiers (DIDs) 7 months ago
genex (opens new window) 75 Genex package for Go 4 years ago
go-fixedwidth (opens new window) 75 Encoding and decoding for fixed-width formatted data 3 months ago
allot (opens new window) 58 Parse placeholder and wildcard text commands 2 years ago
guesslanguage (opens new window) 57 Guess the natural language of a text in Go 6 years ago
go-wildcard (opens new window) 48 🚀 Fast and light wildcard pattern matching. 3 months ago
gonameparts (opens new window) 38 Takes a full name and splits it into individual name parts 4 years ago
normalize (opens new window) 36 2 years ago
slugify (opens new window) 32 A Go slugify application that handles string 5 years ago
codetree (opens new window) 22 🌲 Parses indented code and returns a tree structure. 4 years ago
enca (opens new window) 15 Minimal cgo bindings for libenca 7 years ago
gout (opens new window) 11 Output go objects in standard formats, such as YAML, JSON, etc 7 months ago
syndfeed (opens new window) 11 A syndication feed parser for Atom 1.0 and RSS 2.0 in Go 5 years ago
doi (opens new window) 8 Parse and check doi objects in go. 6 years ago
encoding (opens new window) 8 Go package provides a generic interface to encoders and decoders 4 years ago
ltsv (opens new window) 8 High performance LTSV (Labeled Tab Separeted Value) reader for Go. 4 years ago
bbConvert (opens new window) 7 Converter from BBCode to HTML 7 years ago

# Utility

Repository StarCount Description RecentlyUpdated
xurls (opens new window) 1066 Extract urls from text 17 days ago
gotabulate (opens new window) 299 Gotabulate - Easily pretty-print your tabular data with Go 2 years ago
radix (opens new window) 186 A fast string sorting algorithm (MSD radix sort) 5 years ago
regroup (opens new window) 132 Match regex group into go struct using struct tags and automatic parsing 2 months ago
gofuckyourself (opens new window) 57 A sanitization-based swear filter for Go. 4 months ago
parth (opens new window) 43 Path parsing for segment unmarshaling and slicing. 5 years ago
tagify (opens new window) 33 Tagify produces a set of tags from a given source. Source can be either an HTML page, a Markdown document or a plain text. Supports English, Russian, Chinese, Hindi, Spanish, Arabic, Japanese, German, Hebrew, French and Korean languages. a month ago
xj2go (opens new window) 31 Convert xml and json to go struct 2 years ago
kace (opens new window) 20 Common case conversions covering common initialisms. 5 years ago
TySug (opens new window) 17 A project around helping to prevent typing typos. TySug (Typo Suggestions) suggests alternative words with respect to keyboard layouts 5 months ago
parseargs-go (opens new window) 9 A string argument parser that understands quotes and backslashes 7 years ago
textwrap (opens new window) 4 Port of Python's "textwrap" module to Go 4 years ago

# Third-party APIs

  • Libraries for accessing third party APIs.
Repository StarCount Description RecentlyUpdated
go-github (opens new window) 9572 Go library for accessing the GitHub v3 API a minute ago
aws-sdk-go (opens new window) 8380 AWS SDK for the Go programming language. 14 hours ago
slack (opens new window) 4373 Slack API in Go - community-maintained fork created by the original author, @nlopes a day ago
discordgo (opens new window) 4157 (Golang) Go bindings for Discord 13 hours ago
google-api-go-client (opens new window) 3528 Auto-generated Google APIs for Go. an hour ago
google-cloud-go (opens new window) 3342 Google Cloud Client Libraries for Go. 4 hours ago
minio-go (opens new window) 2006 MinIO Go client SDK for S3 compatible object storage 16 hours ago
stripe-go (opens new window) 1832 Go library for the Stripe API. 4 hours ago
go-twitter (opens new window) 1588 Go Twitter REST and Streaming API v1.1 9 months ago
go-jira (opens new window) 1342 Go client library for Atlassian Jira a month ago
facebook (opens new window) 1173 A Facebook Graph API SDK For Go. 13 days ago
anaconda (opens new window) 1139 A Go client library for the Twitter 1.1 API a year ago
githubv4 (opens new window) 1030 Package githubv4 is a client library for accessing GitHub GraphQL API v4 (https://docs.github.com/en/graphql). a month ago
webhooks (opens new window) 854 🎣 Webhook receiver for GitHub, Bitbucket, GitLab, Gogs 17 hours ago
twitter-scraper (opens new window) 641 Scrape the Twitter frontend API without authentication with Golang. a month ago
paypal (opens new window) 588 Golang client for PayPal REST API 6 months ago
geo-golang (opens new window) 473 Go library to access geocoding and reverse geocoding APIs 8 months ago
ethrpc (opens new window) 256 Golang client for ethereum json rpc api a month ago
trello (opens new window) 211 Trello API wrapper for Go a year ago
go-marathon (opens new window) 201 A GO API library for working with Marathon 3 years ago
wit-go (opens new window) 144 Go client for wit.ai HTTP API 10 months ago
medium-sdk-go (opens new window) 138 A Golang SDK for Medium's OAuth2 API 5 years ago
go-trending (opens new window) 135 Go library for accessing trending repositories and developers at Github. 3 months ago
pushover (opens new window) 135 Go wrapper for the Pushover API 3 months ago
gostorm (opens new window) 130 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. 6 years ago
simples3 (opens new window) 115 Simple no frills AWS S3 Golang Library using REST with V4 Signing (without AWS Go SDK) a year ago
gosip (opens new window) 113 ⚡️ SharePoint SDK for Go 4 months ago
hipchat (opens new window) 110 A golang package to communicate with HipChat over XMPP 6 years ago
hipchat (opens new window) 104 This project implements a Go client library for the Hipchat API. 7 years ago
cachet (opens new window) 91 Go(lang) client library for Cachet (open source status page system). 2 years ago
golang-tmdb (opens new window) 81 This is a Golang wrapper for working with TMDb API. It aims to support version 3. a month ago
igdb (opens new window) 77 Go client for the Internet Game Database API 6 months ago
go-unsplash (opens new window) 72 Go Client for the Unsplash API 4 months ago
gogtrends (opens new window) 72 Unofficial Google Trends API for Go 7 months ago
go-postman-collection (opens new window) 70 Go module to work with Postman Collections a year ago
google-play-scraper (opens new window) 68 Golang scraper to get data from Google Play Store 4 months ago
go-circleci (opens new window) 64 Go library for interacting with CircleCI 4 years ago
airtable (opens new window) 63 Simple golang airtable API wrapper a month ago
mixpanel (opens new window) 60 Golang Mixpanel Client 3 months ago
ynab.go (opens new window) 59 Go client for the YNAB API. Unofficial. It covers 100% of the resources made available by the YNAB API. 9 days ago
go-amazon-product-advertising-api (opens new window) 57 Go Client Library for Amazon Product Advertising API 5 years ago
clarifai-go (opens new window) 56 DEPRECATED: please use https://github.com/Clarifai/clarifai-go-grpc 6 years ago
uptimerobot (opens new window) 56 Client library for UptimeRobot v2 API 4 months ago
megos (opens new window) 54 Go(lang) client library for accessing information of an Apache Mesos cluster. 2 years ago
go-xkcd (opens new window) 51 xkcd.com API client in Go 10 months ago
fcm (opens new window) 50 Firebase Cloud Messaging for application servers implemented using the Go programming language. 3 years ago
gads (opens new window) 50 Google Adwords API for Go 2 years ago
gomusicbrainz (opens new window) 50 a Go (Golang) MusicBrainz WS2 client library - work in progress 3 months ago
go-spotify (opens new window) 47 Go library for the Spotify Web API 3 years ago
golyrics (opens new window) 40 A simple Go package to fetch lyrics from Wikia 5 years ago
go-myanimelist (opens new window) 36 Go library for accessing the MyAnimeList API: https://myanimelist.net/apiconfig/references/api/v2 4 months ago
patreon-go (opens new window) 36 Patreon Go API client a year ago
translate (opens new window) 33 Go online translation package 7 years ago
gami (opens new window) 31 GO - Asterisk AMI Interface 5 years ago
gcm (opens new window) 31 Google Cloud Messaging for application servers implemented using the Go programming language. 8 years ago
lastpass-go (opens new window) 31 Golang client for LastPass 2 months ago
go-steam (opens new window) 30 Go library for querying Source servers 2 years ago
go-imgur (opens new window) 25 Go library to use the imgur.com API 2 months ago
go-shopify (opens new window) 25 Simple Shopify API for the Go Programming Language 3 years ago
device-check-go (opens new window) 21 📱 iOS DeviceCheck SDK for Go - query and modify the per-device bits 4 months ago
coinpaprika-api-go-client (opens new window) 20 Go client library for interacting with Coinpaprika's API 3 months ago
brewerydb (opens new window) 19 Go library for http://www.brewerydb.com/ API 8 years ago
codeship-go (opens new window) 19 Go library for accessing the Codeship API v2 3 years ago
textbelt (opens new window) 19 golang library for textbelt.com 8 years ago
go-aws-news (opens new window) 18 Go app + library to fetch what's new from AWS 5 months ago
go-hacknews (opens new window) 16 📟 Tiny utility Go client for HackerNews API. 6 years ago
go-google-analytics (opens new window) 15 Simple Reporting for Google Analytics 8 years ago
gopaapi5 (opens new window) 14 Go Client Library for Amazon's Product Advertising API 5.0 3 years ago
go-openproject (opens new window) 13 Go client library for OpenProject 9 months ago
go-sophos (opens new window) 13 Sophos UTM 9 REST API Client in Golang a year ago
go-here (opens new window) 12 Go client library around the HERE location based APIs. 3 years ago
go-swagger-ui (opens new window) 11 Golang package which provides http Handlers to serve the swagger ui 10 months ago
gomalshare (opens new window) 11 Go library MalShare API 4 years ago
smitego (opens new window) 11 SmiteGo is an API wrapper for the Smite game from HiRez. It is written in Go! 9 years ago
libgoffi (opens new window) 9 libgoffi - libffi adapter library for Go 3 years ago
rrdaclient (opens new window) 9 Go bindings for RRDA https://github.com/fcambus/rrda 9 years ago
gumblr (opens new window) 9 A Go Wrapper for the Tumblr v2 API 7 years ago
go-chronos (opens new window) 8 👯 Go Chronos 3.x REST API Client 6 years ago
go-sptrans (opens new window) 8 Go client library for the SPTrans Olho Vivo API. 🚌 3 years ago
go-google-email-audit-api (opens new window) 8 Go Client Library for G Suite Email Audit API 7 years ago
rawg-sdk-go (opens new window) 8 This is RAWG SDK GO. This library contains methods for interacting with RAWG API. a year ago
go-zooz (opens new window) 7 Zooz API client for Go 8 months ago
appstore-sdk-go (opens new window) 3 Golang SDK for AppStore Connect API (Unofficial) 5 months ago
go-restcountries (opens new window) 3 Go wrapper for the REST Countries API. 2 years ago
kanka (opens new window) 3 Go client for the Kanka API 3 years ago
playlyfe-go-sdk (opens new window) 2 This is the official Playlyfe Golang Sdk 7 years ago
tripadvisor-golang (opens new window) 2 A TripAdvisor API wrapper for Golang. 4 years ago
vl-go (opens new window) 2 Go client library around the VerifID identity verification layer API. 2 years ago

# Utilities

  • General utilities and tools to make your life easier.
Repository StarCount Description RecentlyUpdated
fzf (opens new window) 53635 🌸 A command-line fuzzy finder 3 hours ago
hub (opens new window) 22511 A command-line tool that makes git easier to use with GitHub. 14 days ago
ctop (opens new window) 14520 Top-like interface for container metrics 3 months ago
sqlx (opens new window) 14013 general purpose extensions to golang's database/sql 3 days ago
goreleaser (opens new window) 11942 Deliver Go binaries as fast and easily as possible 7 minutes ago
wuzz (opens new window) 10342 Interactive cli tool for HTTP inspection 8 months ago
usql (opens new window) 8161 Universal command-line interface for SQL databases 5 days ago
peco (opens new window) 7400 Simplistic interactive filtering tool 5 months ago
go-funk (opens new window) 4342 A modern Go utility library which provides helpers (map, find, contains, filter, ...) 3 hours ago
godropbox (opens new window) 4133 Common libraries for writing Go services/applications. 2 months ago
hystrix-go (opens new window) 4012 Netflix's Hystrix latency and fault tolerance library, for Go 6 months ago
panicparse (opens new window) 3431 Crash your app in style (Golang) a month ago
minify (opens new window) 3395 Go minifiers for web formats 13 hours ago
goreporter (opens new window) 3078 A Golang tool that does static analysis, unit testing, code review and generate code quality report. 5 years ago
mc (opens new window) 2514 Simple , Fast tool to manage MinIO clusters ☁️ 22 minutes ago
cli (opens new window) 2139 ✨ A complete and self-contained solution for developers of any qualification to create a production-ready project with backend (Go), frontend (JavaScript, TypeScript) and deploy automation (Ansible, Docker) by running only one CLI command. 6 days ago
spinner (opens new window) 2131 Go (golang) package with 90 configurable terminal spinner/progress indicators. 2 months ago
storm (opens new window) 1999 Simple and powerful toolkit for BoltDB 2 years ago
filetype (opens new window) 1879 Fast, dependency-free Go package to infer binary file types based on the magic numbers header signature 5 months ago
mole (opens new window) 1658 CLI application to create ssh tunnels focused on resiliency and user experience. 4 months ago
jump (opens new window) 1652 Jump helps you navigate faster by learning your habits. ✌️ 23 days ago
boilr (opens new window) 1637 ⚡️ boilerplate template manager that generates files or directories from template repositories 5 months ago
mimetype (opens new window) 1173 A fast Golang library for media type and file extension detection, based on magic numbers 21 hours ago
circuitbreaker (opens new window) 1077 Circuit Breakers in Go a year ago
scany (opens new window) 968 Library for scanning data from a database into Go structs and more 5 months ago
gtm (opens new window) 947 Simple, seamless, lightweight time tracking for Git 2 years ago
hostctl (opens new window) 918 Your dev tool to manage /etc/hosts like a pro! 3 months ago
immortal (opens new window) 766 ⭕ A *nix cross-platform (OS agnostic) supervisor a year ago
circuit (opens new window) 708 An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern. 5 months ago
delve (opens new window) 597 Delve is a debugger for the Go programming language. a month ago
ergo (opens new window) 574 The management of multiple apps running over different ports made easy a day ago
htcat (opens new window) 552 Parallel and Pipelined HTTP GET Utility 4 years ago
koazee (opens new window) 521 A StreamLike, Immutable, Lazy Loading and smart Golang Library to deal with slices. 3 years ago
clockwork (opens new window) 508 a fake clock for golang 22 days ago
changie (opens new window) 490 Automated changelog tool for preparing releases with lots of customization options a day ago
godaemon (opens new window) 490 Daemonize Go applications deviously. 2 years ago
go-dry (opens new window) 486 DRY (don't repeat yourself) package for Go 3 days ago
gopencils (opens new window) 446 Easily consume REST APIs with Go (golang) 4 years ago
gubrak (opens new window) 441 ⚙️ Golang functional utility library with syntactic sugar. It's like lodash, but for Go 5 months ago
clipboard (opens new window) 429 📋 cross-platform clipboard package that supports accessing text and image in Go (macOS/Linux/Windows/Android/iOS) 2 months ago
request (opens new window) 428 A developer-friendly HTTP request library for Gopher. 4 years ago
scan (opens new window) 423 Tiny lib to scan SQL rows directly to structs, slices, and primitive types 21 hours ago
deepcopier (opens new window) 417 simple struct copying for golang 3 years ago
go-rate (opens new window) 389 A timed rate limiter for Go a year ago
mani (opens new window) 377 🤖 CLI tool to help you manage repositories 2 months ago
retry (opens new window) 334 ♻️ The most advanced interruptible mechanism to perform actions repetitively until successful. 2 years ago
serve (opens new window) 305 🍽️ a static http server anywhere you need one. 2 months ago
grofer (opens new window) 278 A system and resource monitoring tool written in Golang! 4 months ago
util (opens new window) 278 A collection of useful utility functions a year ago
countries (opens new window) 270 Countries - ISO-639, ISO-3166 countries codes with subdivisions and names, ISO-4217 currency designators, ITU-T E.164 IDD phone codes, countries capitals, UN M.49 codes, IANA ccTLD countries domains, IOC/NOC and FIFA codes, VERY VERY FAST, compatible with Databases/JSON/BSON/GOB/XML/CSV, Emoji countries flags and currencies support, Unicode CLDR. 6 days ago
gotenv (opens new window) 266 Load environment variables from .env or io.Reader in Go. 12 days ago
gohper (opens new window) 255 [UNMATAINED] common libs here. 6 years ago
go-trigger (opens new window) 234 A Global event triggerer for golang. Defines functions as event with id string. Trigger the event anywhere from your project. 6 years ago
rospo (opens new window) 232 🐸 Simple, reliable, persistent ssh tunnels with embedded ssh server 21 hours ago
go-pattern-match (opens new window) 229 Pattern matchings for Go. 5 months ago
go-sitemap-generator (opens new window) 204 go-sitemap-generator is the easiest way to generate Sitemaps in Go a month ago
toolbox (opens new window) 192 Toolbox - go utility library 21 days ago
death (opens new window) 190 Managing go application shutdown with signals. a year ago
go-bind-plugin (opens new window) 183 go-bind-plugin generates API for exported plugin symbols (-buildmode=plugin) - go1.8+ only (http://golang.org/pkg/plugin) 4 years ago
limiters (opens new window) 180 Golang rate limiters for distributed applications 4 months ago
moldova (opens new window) 166 A lightweight templating system for generating random data 6 years ago
rerun (opens new window) 165 Configurable recompiling and rerunning go apps when source changes 5 years ago
apm (opens new window) 163 APM is a process manager for Golang applications. 7 years ago
robustly (opens new window) 156 Run functions resiliently in Go, catching and restarting panics 2 years ago
chyle (opens new window) 150 Changelog generator : use a git repository and various data sources and publish the result on external services 11 days ago
go-bsdiff (opens new window) 145 Pure Go bsdiff and bspatch libraries and CLI tools. 4 years ago
cryptgo (opens new window) 136 A terminal application to watch crypto prices! 2 years ago
nostromo (opens new window) 135 👽 CLI for building powerful aliases and tools 5 months ago
cmd (opens new window) 134 A simple package to execute shell commands on linux, windows and osx 4 months ago
onecache (opens new window) 133 One caching API, Multiple backends 3 years ago
filter (opens new window) 132 ⏳ Provide filtering, sanitizing, and conversion of Golang data. 提供对Golang数据的过滤,净化,转换。 4 days ago
lrserver (opens new window) 124 LiveReload server for Go [golang] 3 months ago
goval (opens new window) 123 Expression evaluation in golang 9 months ago
mongo-go-pagination (opens new window) 123 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. 5 months ago
sorty (opens new window) 122 ⚡️ Fast Concurrent / Parallel Sorting in Go 6 months ago
goseaweedfs (opens new window) 102 A complete Golang client for SeaweedFS 9 months ago
mssqlx (opens new window) 101 Database client library, proxy for any master slave, master master structures. Lightweight, performant and auto balancing in mind. 2 months ago
xferspdy (opens new window) 99 Xferspdy provides binary diff and patch library in golang. [Mentioned in Awesome Go, https://github.com/avelino/awesome-go] 2 years ago
go-lock (opens new window) 93 go-lock is a lock library implementing read-write mutex and read-write trylock without starvation a year ago
go-health (opens new window) 92 ❤️ Health check your applications and dependencies 2 years ago
mimemagic (opens new window) 91 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. 5 months ago
pgo (opens new window) 82 Go library for PHP community with convenient functions 3 months ago
repeat (opens new window) 81 Go implementation of different backoff strategies useful for retrying operations and heartbeating. 3 years ago
pm (opens new window) 78 Processlist manager with TCP listener 3 years ago
handy (opens new window) 74 GO Golang Utilities and helpers like validators and string formatters 3 years ago
netbug (opens new window) 72 Package netbug provides a handler for registering profilers on your own ServeMux. 8 years ago
unis (opens new window) 70 UNIS: A Common Architecture for String Utilities within the Go Programming Language. 6 years ago
multitick (opens new window) 67 A multiplexor for aligned time.Time tickers in Go 2 years ago
goreadability (opens new window) 66 Webpage summary extractor using Facebook Open Graph and arc90's readability 4 years ago
retry (opens new window) 63 Simple and easy retry mechanism package for Go 2 years ago
go-astitodo (opens new window) 60 Parse TODOs in your GO code 12 days ago
minquery (opens new window) 60 MongoDB / mgo query that supports efficient pagination (cursors to continue listing documents where we left off). 4 months ago
golog (opens new window) 59 Easy and simple CLI time tracker for your tasks 5 years ago
dbt (opens new window) 57 A delivery system for running self-updating, signed tools. 5 months ago
beyond (opens new window) 53 The Go library that will drive you to AOP world! 4 months ago
shutdown (opens new window) 52 Golang app shutdown hooks. 2 years ago
slice (opens new window) 51 Type-safe functions for common Go slice operations 3 years ago
copy-pasta (opens new window) 50 Universal copy paste service, works across different machines! 3 years ago
golarm (opens new window) 50 Fire alarms with system events 8 years ago
goback (opens new window) 48 Golang simple exponential backoff package. 2 years ago
retry-go (opens new window) 48 Retrying made simple and easy for golang 🔁 5 years ago
backscanner (opens new window) 46 A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward. 4 months ago
intrinsic (opens new window) 46 Provide Golang native SIMD intrinsics on x86/amd64 platform 6 years ago
set (opens new window) 44 Package set is a small wrapper around the official reflect package that facilitates loose type conversion and assignment into native Go types. a year ago
sshman (opens new window) 44 SSH Manager - manage users through authorized_keys files 9 months ago
equalizer (opens new window) 43 A rate limiters package for Go 2 years ago
go-httpheader (opens new window) 43 A Go library for encoding structs into Header fields. 24 days ago
slicer (opens new window) 43 Utility class for handling slices 2 years ago
gostrutils (opens new window) 41 Collections of string utils I have created over the years 4 months ago
gpath (opens new window) 40 gpath is a Go package to access a field by a path using reflect pacakge 6 years ago
evaluator (opens new window) 37 4 months ago
ghokin (opens new window) 35 Parallelized formatter with no external dependencies for gherkin (cucumber, behat...) 2 months ago
myhttp (opens new window) 35 Simplest HTTP GET requester for Go with timeout support 5 years ago
rclient (opens new window) 35 Minimalistic REST client for Go applications 4 years ago
tome (opens new window) 34 Package tome was designed to paginate simple RESTful APIs. a year ago
copy (opens new window) 33 Package for fast copying structs of different types 3 years ago
throttle (opens new window) 33 lodash throttle like Go library 2 years ago
generate (opens new window) 29 🏃runs go generate recursively on a specified path or environment variable and can filter by regex 7 years ago
mimesniffer (opens new window) 28 A MIME type sniffer for Go. a year ago
ugo (opens new window) 27 Simple and expressive toolbox written in Go 7 years ago
goplaceholder (opens new window) 26 a small golang lib to generate placeholder images 8 years ago
rerate (opens new window) 25 redis-based rate counter and rate limiter 6 years ago
ctxutil (opens new window) 23 utils for Go context 3 years ago
structs (opens new window) 22 Golang struct operations. 6 years ago
ptr (opens new window) 21 Contains functions for simplified creation of pointers from constants of basic types 2 months ago
go-convert (opens new window) 20 Convert a value into another type 2 months ago
jsend (opens new window) 19 💯 JSend's implementation writen in Go(golang) 2 years ago
dlog (opens new window) 17 Simple build-time controlled debug log with ability to log where the logger was called 6 years ago
filler (opens new window) 17 fill struct data easily with fill tags 6 years ago
go-problemdetails (opens new window) 17 Problem json implementation (https://tools.ietf.org/html/rfc7807) package for go 3 years ago
okrun (opens new window) 16 ok, run your gofile 9 years ago
rest-go (opens new window) 16 A package that provide many helpful methods for working with rest api. 3 years ago
go-types (opens new window) 15 Library providing opanapi3 and Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types. 15 days ago
command (opens new window) 14 Command pattern for Go with thread safe serial and parallel dispatcher 7 years ago
go-actuator (opens new window) 14 Golang production-ready features a year ago
go-clip (opens new window) 12 A minimalistic clipboard manager for Mac. 3 years ago
silk (opens new window) 12 Silk File Reader a year ago
retry (opens new window) 11 A pretty simple library to ensure your work to be done 3 years ago
blank (opens new window) 10 Detect blank strings or remove whitespace from strings 4 years ago
go-countries (opens new window) 10 3 years ago
statiks (opens new window) 10 Fast, zero-configuration, static HTTP filer server. 3 years ago
bleep (opens new window) 9 OS Signal Handlers in Go 3 years ago
retry (opens new window) 9 Percolate's Go retry package 5 months ago
nfdump (opens new window) 8 NFDump File Reader 6 months ago
sliceconv (opens new window) 8 Slice conversion between primitive types 4 years ago
lets-go (opens new window) 6 Go module that provides common utilities for Cloud Native development 2 years ago
olaf (opens new window) 5 Twitter Snowflake implemented in Go 4 years ago
tik (opens new window) 5 hierarchical timing wheel 3 years ago
goctx (opens new window) 4 Get your context value faster 3 years ago
mergo (opens new window) 0 Mergo: merging Go structs and maps since 2013 10 days ago

# UUID

  • Libraries for working with UUIDs.
Repository StarCount Description RecentlyUpdated
uuid (opens new window) 4477 Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. 5 days ago
ulid (opens new window) 3590 Universally Unique Lexicographically Sortable Identifier (ULID) in Go a month ago
uuid (opens new window) 1393 A UUID package originally forked from github.com/satori/go.uuid a month ago
wuid (opens new window) 499 An extremely fast globally unique number generator. 6 months ago
sno (opens new window) 86 Compact, sortable and fast unique IDs with embedded metadata. 2 years ago
nanoid (opens new window) 58 A tiny and fast Go unique string generator a year ago
Goid (opens new window) 38 A UUIDv4 generation package written in go 4 years ago
gouid (opens new window) 21 Fast, dependable universally unique ids a year ago
uuid (opens new window) 15 Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. 3 years ago

# Validation

  • Libraries for validation.
Repository StarCount Description RecentlyUpdated
joi (opens new window) 20129 The most powerful data validation library for JS a month ago
validator (opens new window) 13669 💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving 11 hours ago
govalidator (opens new window) 5750 [Go] Package of validators and sanitizers for strings, numerics, slices and structs 2 months ago
ozzo-validation (opens new window) 3281 An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags. 4 months ago
govalidator (opens new window) 1232 Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. 3 months ago
validate (opens new window) 921 ⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。 2 days ago
checkdigit (opens new window) 101 Provide check digit algorithms and calculators written in Go 3 months ago
jio (opens new window) 86 jio is a json schema validator similar to joi 3 years ago
validate (opens new window) 86 This package provides a framework for writing validations for Go applications. 10 months ago
terraform-validator (opens new window) 79 A norms and conventions validator for Terraform a year ago
gody (opens new window) 64 🎈 A lightweight struct validator for Go 3 years ago
govalid (opens new window) 34 Struct validation using tags 2 years ago

# Version Control

  • Libraries for version control.
Repository StarCount Description RecentlyUpdated
go-git (opens new window) 4837 A highly extensible Git implementation in pure Go. a day ago
glab (opens new window) 2082 The GitLab CLI tool. Archived: now officially adopted by GitLab as the official CLI tool and maintained at https://gitlab.com/gitlab-org/cli. See https://github.com/profclems/glab/issues/983 10 months ago
hercules (opens new window) 1911 Gaining advanced insights from Git repository history. 6 months ago
git2go (opens new window) 1860 Git to Go; bindings for libgit2. Like McDonald's but tastier. 4 months ago
gh (opens new window) 79 Scriptable server and net/http middleware for GitHub Webhooks. 5 years ago
Githooks (opens new window) 76 🦎 Githooks: per-repo and shared Git hooks with version control and auto update. 19 days ago
go-vcs (opens new window) 75 manipulate and inspect VCS repositories in Go 22 days ago
hgo (opens new window) 15 Hgo is a collection of Go packages providing read-access to local Mercurial repositories. 8 years ago

# Video

  • Libraries for manipulating video.
Repository StarCount Description RecentlyUpdated
goav (opens new window) 2009 Golang bindings for FFmpeg (This repository is no longer maintained) a year ago
m3u8 (opens new window) 1059 Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. 🎦 8 days ago
gmf (opens new window) 855 Go Media Framework a year ago
go-astits (opens new window) 492 Demux and mux MPEG Transport Streams (.ts) natively in GO 4 hours ago
go-astisub (opens new window) 482 Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.) 3 days ago
gortsplib (opens new window) 460 RTSP 1.0 client and server library for the Go programming language an hour ago
libvlc-go (opens new window) 359 Go bindings for libVLC and high-level media player interface 7 days ago
gst (opens new window) 166 Go bindings for GStreamer (retired: currently I don't use/develop this package) 3 years ago
go-m3u8 (opens new window) 106 Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Golang (ported from gem https://github.com/sethdeckard/m3u8) 7 months ago
v4l (opens new window) 75 Facade to the Video4Linux video capture interface. 2 years ago
libgosubs (opens new window) 23 golang library to read and write various subtitle formats 3 years ago
go-mpd (opens new window) 16 Go library for parsing and generating MPEG-DASH Media Presentation Description (MPD) files 3 years ago

# Web Frameworks

# Full stack web frameworks

Repository StarCount Description RecentlyUpdated
gin (opens new window) 70619 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. 3 hours ago
fiber (opens new window) 27682 ⚡️ Express inspired web framework written in Go 13 hours ago
echo (opens new window) 26234 High performance, minimalist Go web framework 19 hours ago
revel (opens new window) 12953 A high productivity, full-stack web framework for the Go language. 4 months ago
goa (opens new window) 5251 Design-based APIs and microservices in Go 8 hours ago
gizmo (opens new window) 3726 A Microservice Toolkit from The New York Times a month ago
go-json-rest (opens new window) 3516 A quick and easy way to setup a RESTful JSON API 3 years ago
macaron (opens new window) 3404 Package macaron is a high productive and modular web framework in Go. a day ago
utron (opens new window) 2218 A lightweight MVC framework for Go(Golang) 5 years ago
goyave (opens new window) 1315 🍐 Elegant Golang REST API Framework (v5 preview available) 4 days ago
go-tigertonic (opens new window) 997 A Go framework for building JSON web services inspired by Dropwizard 5 years ago
tango (opens new window) 834 This is only a mirror and Moved to https://gitea.com/lunny/tango 4 years ago
gearbox (opens new window) 717 Gearbox ⚙️ is a web framework written in Go with a focus on high performance 2 months ago
beego (opens new window) 648 beego is an open-source, high-performance web framework for the Go programming language. a year ago
aero (opens new window) 531 🚄 High-performance web server for Go. a year ago
gongular (opens new window) 502 A different approach to Go web frameworks 3 years ago
flamingo-commerce (opens new window) 446 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. 4 days ago
air (opens new window) 431 An ideally refined web framework for Go. 5 months ago
rk-boot (opens new window) 425 Build microservice with rk-boot and let the team take over clean and tidy code. 3 months ago
neo (opens new window) 418 Go Web Framework 9 months ago
flamingo (opens new window) 394 Flamingo Framework and Core Library. Flamingo is a go based framework to build pluggable applications. Focus is on clean architecture, maintainability and operation readiness. 3 days ago
mango (opens new window) 372 Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. 6 years ago
gondola (opens new window) 310 The web framework for writing faster sites, faster 4 years ago
uadmin (opens new window) 286 The web framework for Golang 15 hours ago
webgo (opens new window) 283 A microframework to build web apps; with handler chaining, middleware support, and most of all; standard library compliant HTTP handlers(i.e. http.HandlerFunc). 5 months ago
ginrpc (opens new window) 276 gin auto binding,grpc, and annotated route,gin 注解路由, grpc,自动参数绑定工具 2 months ago
golf (opens new window) 266 ⛳️ The Golf web framework 2 years ago
hiboot (opens new window) 179 hiboot is a high performance web and cli application framework with dependency injection support 5 months ago
appy (opens new window) 129 An opinionated productive web framework that helps scaling business easier. 3 months ago
go-rest (opens new window) 127 A small and evil REST framework for Go 7 years ago
patron (opens new window) 124 Microservice framework following best cloud practices with a focus on productivity. a month ago
microservice (opens new window) 111 This library provides a simple microservice framework based on clean architecture principles with a working example implemented. 7 months ago
rux (opens new window) 94 ⚡ Rux is an simple and fast web framework. support route group, param route binding, middleware, compatible http.Handler interface. 简单且快速的 Go api/web 框架,支持路由分组,路由参数绑定,中间件,兼容 http.Handler 接口 4 days ago
vox (opens new window) 80 Simple and lightweight Go web framework inspired by koa 8 months ago
golax (opens new window) 76 Golax, a go implementation for the Lax framework. 7 months ago
yarf (opens new window) 65 Yet Another REST Framework 4 years ago
fireball (opens new window) 59 Go web framework with a natural feel 5 years ago
goa (opens new window) 49 Goa is a web framework based on middleware, like koa.js. 4 years ago
gotuna (opens new window) 43 GoTuna a lightweight web framework for Go with mux router, middlewares, user sessions, templates, embedded views, and static file server. a year ago
goweb (opens new window) 35 Lightweight web framework based on net/http. a year ago
api (opens new window) 33 A REST framework for quickly writing resource based services in Golang. 9 years ago
rex (opens new window) 33 Pleasures for Web in Golang 6 years ago
banjo (opens new window) 21 BANjO is a simple web framework written in Go (golang) 6 years ago

# Actual middlewares

Repository StarCount Description RecentlyUpdated
tollbooth (opens new window) 2451 Simple middleware to rate-limit HTTP requests. 8 months ago
cors (opens new window) 2395 Go net/http configurable handler to handle CORS requests 6 days ago
limiter (opens new window) 1813 Dead simple rate limit middleware for Go. 2 months ago
go-server-timing (opens new window) 851 Go (golang) library for creating and consuming HTTP Server-Timing headers a year ago
go-fault (opens new window) 479 Fault injection library in Go using standard http middleware 2 months ago
ln-paywall (opens new window) 136 Go middleware for monetizing your API on a per-request basis with Bitcoin and Lightning ⚡️ 4 years ago
xff (opens new window) 97 A Golang Middleware to handle X-Forwarded-For Header 2 years ago
rk-grpc (opens new window) 64 Start gRPC microservice from YAML, plugin of rk-boot 6 months ago
rk-gin (opens new window) 39 Start gin microservice from YAML, plugin of rk-boot 6 months ago
formjson (opens new window) 38 Go net/http handler to transparently manage posted JSON 8 years ago
client-timing (opens new window) 24 An HTTP client for go-server-timing middleware. Enables automatic timing propagation through HTTP calls between servers. 3 years ago
mid (opens new window) 7 Middleware for HTTP services in Go a year ago

# Libraries for creating HTTP middlewares

Repository StarCount Description RecentlyUpdated
negroni (opens new window) 7343 Idiomatic HTTP Middleware for Golang 5 months ago
alice (opens new window) 2832 Painless middleware chaining for Go a year ago
render (opens new window) 1816 Go package for easily rendering JSON, XML, binary data, and HTML templates responses. 5 months ago
stats (opens new window) 593 A Go middleware that stores various information about your web application (response time, status code count, etc.) 8 months ago
interpose (opens new window) 294 Minimalist net/http middleware for golang 7 years ago
renderer (opens new window) 255 Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go 3 years ago
muxchain (opens new window) 208 Lightweight Middleware for net/http 4 years ago
rye (opens new window) 102 A tiny http middleware for Golang with added handlers for common needs. 3 months ago
gores (opens new window) 100 Go package that handles HTML, JSON, XML and etc. responses 3 years ago
mediary (opens new window) 87 Add interceptors to GO http.Client 3 years ago
chain (opens new window) 64 Composable chains of nested http.Handler instances. 5 years ago
catena (opens new window) 9 gRPC interceptor catenation. 5 years ago

# Routers

Repository StarCount Description RecentlyUpdated
mux (opens new window) 18912 Package gorilla/mux is a powerful HTTP router and URL matcher for building Go web servers with 🦍 6 days ago
httprouter (opens new window) 15595 A high performance HTTP request router that scales well 3 months ago
chi (opens new window) 14920 lightweight, idiomatic and composable router for building Go HTTP services 20 days ago
web (opens new window) 1501 Go Router + Middleware. Your Contexts. 3 years ago
bone (opens new window) 1294 Lightning Fast HTTP Multiplexer 4 years ago
goji (opens new window) 944 Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang) a year ago
fasthttprouter (opens new window) 875 A high performance fasthttp request router that scales well 4 years ago
httptreemux (opens new window) 602 High-speed, flexible tree-based HTTP router for Go. 6 months ago
gorouter (opens new window) 532 xujiajun/gorouter is a simple and fast HTTP router for Go. It is easy to build RESTful APIs and your web framework. 4 years ago
ozzo-routing (opens new window) 447 An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. a year ago
lars (opens new window) 390 🚨 Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. 4 years ago
siesta (opens new window) 351 Composable framework for writing HTTP handlers in Go. 2 years ago
vestigo (opens new window) 269 Echo Inspired Stand Alone URL Router 3 years ago
router (opens new window) 166 ⚡️ A lightning fast HTTP router 3 years ago
gorouter (opens new window) 149 Go Server/API micro framework, HTTP request router, multiplexer, mux 7 months ago
pure (opens new window) 140 🚱 Is a lightweight HTTP router that sticks to the std "net/http" implementation a month ago
alien (opens new window) 127 A lightweight and fast http router from outer space 9 months ago
violetear (opens new window) 106 Go HTTP router 10 months ago
Bxog (opens new window) 104 Bxog is a simple and fast HTTP router for Go (HTTP request multiplexer). a year ago
xmux (opens new window) 97 xmux is a httprouter fork on top of xhandler (net/context aware) 6 years ago
ngamux (opens new window) 59 Simple HTTP router for Go 4 months ago
bellt (opens new window) 54 🔔 A simple Go router a year ago
fastrouter (opens new window) 22 FastRouter is a fast, flexible HTTP router written in Go. 6 years ago
route (opens new window) 8 Go Route - Simple yet powerful HTTP request multiplexer 4 years ago

# WebAssembly

Repository StarCount Description RecentlyUpdated
tinygo (opens new window) 13270 Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM. 20 hours ago
dom (opens new window) 479 DOM library for Go and WASM 4 years ago
go-canvas (opens new window) 212 Library to use HTML5 Canvas from Go-WASM, with all drawing within go code 3 years ago
wasmbrowsertest (opens new window) 149 Run WASM tests inside your browser 18 days ago
webapi (opens new window) 142 Go Lang Web Assembly bindings for DOM, HTML etc 8 months ago
vert (opens new window) 89 WebAssembly interop between Go and JS values. 8 months ago

# Windows

Repository StarCount Description RecentlyUpdated
go-ole (opens new window) 1007 win32 ole implementation for golang 4 days ago
d3d9 (opens new window) 146 Direct3D9 wrapper for Go. 4 months ago
gosddl (opens new window) 10 GoSDDL converter 4 years ago

# XML

  • Libraries and tools for manipulating XML.
Repository StarCount Description RecentlyUpdated
zek (opens new window) 680 Generate a Go struct from XML. 6 days ago
xpath (opens new window) 593 XPath package for Golang, supports HTML, XML, JSON document query. 3 months ago
xquery (opens new window) 156 Extract data or evaluate value from HTML/XML documents using XPath 5 years ago
xml2map (opens new window) 52 XML to MAP converter written Golang 2 years ago
xmlwriter (opens new window) 24 xmlwriter is a pure-Go library providing procedural XML generation based on libxml2's xmlwriter module 2 months ago
XML-Comp (opens new window) 20 Compare ANY markup documents. 5 years ago

# Tools

  • Go software and plugins.

# Code Analysis

Repository StarCount Description RecentlyUpdated
go-tools (opens new window) 5499 Staticcheck - The advanced Go linter 13 hours ago
go-tools (opens new window) 5499 Staticcheck - The advanced Go linter 13 hours ago
lint (opens new window) 3974 [mirror] This is a linter for Go source code. (deprecated) 2 years ago
errcheck (opens new window) 2107 errcheck checks that you checked errors. 2 months ago
go-critic (opens new window) 1651 The most opinionated Go source code linter for code audit. 15 minutes ago
goplantuml (opens new window) 1484 PlantUML Class Diagram Generator for golang projects 20 days ago
gcvis (opens new window) 1085 Visualise Go program GC trace data in real time 4 years ago
php-parser (opens new window) 929 PHP parser written in Go 2 years ago
go-cleanarch (opens new window) 752 Clean architecture validator for go, like a The Dependency Rule and interaction between packages in your Go projects. 2 years ago
goast-viewer (opens new window) 719 Golang AST visualizer 10 days ago
golines (opens new window) 659 A golang formatter that fixes long lines 2 months ago
go-mod-outdated (opens new window) 640 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. 6 months ago
goreturns (opens new window) 519 A gofmt/goimports-like tool for Go programmers that fills in Go return statements with zero values to match the func return types 3 years ago
todocheck (opens new window) 398 A static code analyser for annotated TODO comments 7 months ago
unconvert (opens new window) 359 Remove unnecessary type conversions from Go source 6 months ago
dupl (opens new window) 316 a tool for code clone detection 3 years ago
tickgit (opens new window) 307 Manage your repository's TODOs, tickets and checklists as config in your codebase. 5 months ago
gostatus (opens new window) 243 A command line tool that shows the status of Go repositories. a month ago
apicompat (opens new window) 178 apicompat checks recent changes to a Go project for backwards incompatible changes 7 years ago
checkstyle (opens new window) 128 checkstyle for go 2 years ago
lint (opens new window) 67 Run linters from Go code - 5 years ago
validate (opens new window) 61 A Go package to automatically validate fields with tags 10 months ago
go-outdated (opens new window) 45 Find outdated golang packages 5 years ago
blanket (opens new window) 17 MOVED TO GITLAB 5 years ago
golang-ifood-sdk (opens new window) 10 Golang Ifood API SDK a year ago

# Editor Plugins

Repository StarCount Description RecentlyUpdated
vim-go (opens new window) 15529 Go development plugin for Vim 4 days ago
tools (opens new window) 6936 [mirror] Go Tools 13 hours ago
gocode (opens new window) 5004 An autocompletion daemon for the Go programming language 5 months ago
vscode-go (opens new window) 3495 Go extension for Visual Studio Code 3 days ago
GoSublime (opens new window) 3423 A Golang plugin collection for SublimeText 3, providing code completion and other IDE-like features. 3 years ago
go-plus (opens new window) 1509 An Enhanced Go Experience For The Atom Editor 2 years ago
go-mode.el (opens new window) 1331 Emacs mode for the Go programming language 15 days ago
coc-go (opens new window) 543 Go language server extension using gopls for coc.nvim. 8 hours ago
goimports-reviser (opens new window) 389 Right imports sorting & code formatting tool (goimports alternative) 4 days ago
Watch (opens new window) 200 Watches for changes in a directory tree and reruns a command in an acme win or just on the terminal. 5 months ago
vim-compiler-go (opens new window) 87 Vim compiler plugin for Go (golang) 7 years ago
go-language-server (opens new window) 31 A Go language server. 4 years ago
gounit-vim (opens new window) 23 Vim plugin for https://github.com/hexdigest/gounit 5 years ago
theia-go-extension (opens new window) 15 Theia Go Extension 4 years ago
vscode-go-doc (opens new window) 7 An Microsoft Visual Code extension for Golang to print symbol definition to output 7 months ago

# Go Generate Tools

Repository StarCount Description RecentlyUpdated
gotests (opens new window) 4645 Automatically generate Go test boilerplate from your source code. 6 days ago
genny (opens new window) 1679 Elegant generics for Go 2 years ago
xgen (opens new window) 261 XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator a month ago
re2dfa (opens new window) 193 Transform regular expressions into finite state machines and output Go source code. This repository has migrated to https://gitlab.com/opennota/re2dfa 5 years ago
hasgo (opens new window) 129 Haskell-flavoured functions for Go 😃 2 years ago
gonerics (opens new window) 114 Generics for go 9 years ago
gocontracts (opens new window) 98 A tool for design-by-contract in Go 5 years ago
gounit (opens new window) 72 Unit tests generator for Go programming language 5 years ago
generic (opens new window) 48 flexible data type for Go 3 years ago
godal (opens new window) 17 godal provides the ability to generate specific golang code. The godal is to enable developers to write fast code in an expressive way. 2 years ago

# Go Tools

Repository StarCount Description RecentlyUpdated
go-swagger (opens new window) 8793 Swagger 2.0 implementation for go 15 days ago
go-callvis (opens new window) 5338 Visualize call graph of a Go program using Graphviz 3 months ago
OctoLinker (opens new window) 5165 OctoLinker — Links together, what belongs together 20 hours ago
depth (opens new window) 845 Visualize Go Dependency Trees 2 years ago
richgo (opens new window) 802 Enrich go test outputs with text decorations. 4 days ago
rts (opens new window) 245 RTS: request to struct. Generates Go structs from JSON server responses. 9 months ago
godbg (opens new window) 196 Go implementation of the Rust dbg macro 4 years ago
typex (opens new window) 180 [TOOL, CLI] - Filter and examine Go type structures, interfaces and their transitive dependencies and relationships. Export structural types as TypeScript value object or bare type representations. 7 months ago
roumon (opens new window) 146 Universal goroutine monitor using pprof and termui 6 months ago
gothanks (opens new window) 118 GoThanks automatically stars Go's official repository and your go.mod github dependencies, providing a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself. 6 months ago
colorgo (opens new window) 112 Colorize (highlight) go build command output 3 years ago
go-james (opens new window) 59 James is your butler and helps you to create, build, debug, test and run your Go projects 3 months ago
igo (opens new window) 59 Improved Go Syntax (transpiler) 3 years ago
go-pkg-complete (opens new window) 42 bash completion for go and wgo 6 years ago
gomodrun (opens new window) 26 The forgotten go tool that executes and caches binaries included in go.mod files. 7 months ago
docs (opens new window) 23 Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard 3 months ago
modver (opens new window) 8 a month ago

# DevOps Tools

Repository StarCount Description RecentlyUpdated
kubernetes (opens new window) 100696 Production-Grade Container Scheduling and Management 34 minutes ago
moby (opens new window) 66408 Moby Project - a collaborative project for the container ecosystem to assemble container-based systems 9 minutes ago
traefik (opens new window) 44110 The Cloud Native Application Proxy 18 minutes ago
gitea (opens new window) 37818 Git with a cup of tea! Painless self-hosted all-in-one software development service, including Git hosting, code review, team collaboration, package registry and CI/CD 24 minutes ago
vegeta (opens new window) 21641 HTTP load testing tool and library. It's over 9000! 15 hours ago
hey (opens new window) 16044 HTTP load generator, ApacheBench (ab) replacement 20 days ago
packer (opens new window) 14564 Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. 7 hours ago
webhook (opens new window) 9174 webhook is a lightweight incoming webhook server to run shell commands 7 days ago
gvm (opens new window) 8673 Go Version Manager 3 hours ago
ddosify (opens new window) 7662 Comprehensive Performance Testing Platform. Available on CLI, Self-Hosted, and Cloud - https://ddosify.com 🚀 8 days ago
gaia (opens new window) 5095 Build powerful pipelines in any programming language. 5 months ago
gox (opens new window) 4557 A dead simple, no frills Go cross compile tool 3 months ago
bombardier (opens new window) 4472 Fast cross-platform HTTP benchmarking tool written in Go 2 months ago
script (opens new window) 4245 Making it easy to write shell-like scripts in Go 17 days ago
pomerium (opens new window) 3622 Pomerium is an identity and context-aware access proxy. 6 hours ago
bosun (opens new window) 3360 Time Series Alerting Framework a month ago
kala (opens new window) 2018 Modern Job Scheduler 2 months ago
s5cmd (opens new window) 1815 Parallel S3 and local filesystem execution tool. an hour ago
fac (opens new window) 1811 Easy-to-use CUI for fixing git conflicts a year ago
goxc (opens new window) 1681 a build tool for Go, with a focus on cross-compiling, packaging and deployment 4 years ago
statusok (opens new window) 1584 Monitor your Website and APIs from your Computer. Get Notified through Slack, E-mail when your server is down or response time is more than expected. 2 years ago
ghorg (opens new window) 1315 Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 🥚 7 days ago
go-selfupdate (opens new window) 1247 Enable your Go applications to self update 25 days ago
s3gof3r (opens new window) 1139 Fast, concurrent, streaming access to Amazon S3, including gof3r, a CLI. http://godoc.org/github.com/rlmcpherson/s3gof3r 2 years ago
utask (opens new window) 948 µTask is an automation engine that models and executes business processes declared in yaml. ✏️📋 18 hours ago
skm (opens new window) 885 A simple and powerful SSH keys manager 3 months ago
scaleway-cli (opens new window) 839 Command Line Interface for Scaleway 17 hours ago
cassowary (opens new window) 677 🚀 Modern cross-platform HTTP load-testing tool written in Go 3 months ago
kool (opens new window) 629 From local development to the cloud: development workflow made easy. 3 days ago
aurora (opens new window) 580 Cross-platform beanstalkd queue server admin console. 2 years ago
govvv (opens new window) 535 "go build" wrapper to add version info to Golang applications 4 months ago
pewpew (opens new window) 384 Flexible HTTP command line stress tester for websites and web services a year ago
jenkins-cli (opens new window) 365 Jenkins CLI allows you to manage your Jenkins in an easy way. Jenkins 命令行客户端 5 months ago
gonative (opens new window) 334 Build Go Toolchains /w native libs for cross-compilation 7 years ago
trubka (opens new window) 330 A CLI tool for Kafka 5 months ago
mora (opens new window) 312 MongoDB generic REST server in Go 9 months ago
lstags (opens new window) 307 Explore Docker registries and manipulate Docker images! 3 months ago
balerter (opens new window) 289 Script Based Alerting Manager 5 months ago
easyssh-proxy (opens new window) 287 easyssh-proxy provides a simple implementation of some SSH protocol features in Go a month ago
manssh (opens new window) 285 Manage your ssh alias configs easily. a year ago
dogo (opens new window) 257 Monitoring changes in the source file and automatically compile and run (restart). 4 years ago
terraform-provider-openapi (opens new window) 253 OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file) 4 months ago
godbg (opens new window) 227 Web-based gdb front-end application 5 years ago
blast (opens new window) 211 Blast is a simple tool for API load testing and batch jobs 5 years ago
s3-proxy (opens new window) 204 S3 Reverse Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth) 2 days ago
abbreviate (opens new window) 203 Supporting your devops by shortening your strings using common abbreviations and clever guesswork 6 months ago
kcli (opens new window) 196 A kafka command line browser 4 years ago
gobrew (opens new window) 194 Shell script to download and set GO environmental paths to allow multiple versions. 3 years ago
ostent (opens new window) 177 Ostent is a server tool to collect, display and report system metrics. 8 months ago
grapes (opens new window) 163 easy way to distribute commands over ssh. a month ago
dockerfile-generator (opens new window) 155 dfg - Generates dockerfiles based on various input channels. a year ago
winrm-cli (opens new window) 154 Command-line tool to remotely execute commands on Windows machines through WinRM 2 years ago
drone-scp (opens new window) 123 Copy files and artifacts via SSH using a binary, docker or Drone CI. 2 months ago
go-furnace (opens new window) 97 Go Hosting Solution for AWS, Google Cloud and Digital Ocean 2 years ago
dropship (opens new window) 64 Super simple deployment tool 5 years ago
docker-go-mingw (opens new window) 37 Docker image for building Go binaries with MinGW toolchain 14 days ago
drone-jenkins (opens new window) 37 Drone plugin for trigger Jenkins jobs. a year ago
rodent (opens new window) 34 Manage Go Versions/Projects/Dependencies 6 years ago
awsenv (opens new window) 33 AWS environment config loader 5 years ago
httpref (opens new window) 31 Command line, offline, access to HTTP status code, common header, and port references a month ago
lwc (opens new window) 30 A live-updating version of the UNIX wc command. a year ago
depcharge (opens new window) 23 DepCharge is a tool designed to help orchestrate the execution of commands across many directories at once. 2 years ago
aptly-fork (opens new window) 9 aptly - Debian repository management tool (fork of aptly-dev/aptly) 4 years ago
sg (opens new window) 8 Stress gauge allows one to gauge response times of an HTTP service under stress. 7 years ago

# Other Software

Repository StarCount Description RecentlyUpdated
croc (opens new window) 23253 Easily and securely send things from one computer to another 🐊 📦 a month ago
restic (opens new window) 20874 Fast, secure, efficient backup program 3 hours ago
seaweedfs (opens new window) 18003 SeaweedFS is a fast distributed storage system for blobs, objects, files, and data lake, for billions of files! Blob store has O(1) disk seek, cloud tiering. Filer supports Cloud Drive, cross-DC active-active replication, Kubernetes, POSIX FUSE mount, S3 API, S3 Gateway, Hadoop, WebDAV, encryption, Erasure Coding. 15 hours ago
goreplay (opens new window) 17696 GoReplay is an open-source tool for capturing and replaying live HTTP traffic into a test environment in order to continuously test your system with real data. It can be used to increase confidence in code deployments, configuration changes and infrastructure changes. 19 hours ago
comcast (opens new window) 10000 Simulating shitty network connections so you can build better systems. a month ago
toxiproxy (opens new window) 9261 ⏰ 🔥 A TCP proxy to simulate network and system conditions for chaos and resiliency testing 3 days ago
confd (opens new window) 8141 Manage local application configuration files using templates and data from etcd or consul 21 hours ago
liteide (opens new window) 7264 LiteIDE is a simple, open source, cross-platform Go IDE. a month ago
drive (opens new window) 6559 Google Drive client for the commandline 7 months ago
nes (opens new window) 5264 NES emulator written in Go. 5 days ago
scc (opens new window) 4924 Sloc, Cloc and Code: scc is a very fast accurate code counter with complexity calculations and COCOMO estimates written in pure Go 4 days ago
duplicacy (opens new window) 4720 A new generation cloud backup tool a month ago
blocky (opens new window) 2777 Fast and lightweight DNS proxy as ad-blocker for local network with many features 4 hours ago
mylg (opens new window) 2660 Network Diagnostic Tool 3 years ago
goboy (opens new window) 2524 Multi-platform Nintendo Game Boy Color emulator written in Go 5 months ago
sup (opens new window) 2430 Super simple deployment tool - think of it like 'make' for a network of servers 5 months ago
lgo (opens new window) 2316 Interactive Go programming with Jupyter 3 years ago
circuit (opens new window) 1970 Circuit: Dynamic cloud orchestration http://gocircuit.org 3 years ago
community (opens new window) 1906 Modern Confluence alternative designed for internal & external docs, built with Go + EmberJS 15 days ago
snap (opens new window) 1797 The open telemetry framework 9 months ago
borg (opens new window) 1580 Search and save shell snippets without leaving your terminal 6 years ago
shell2http (opens new window) 1144 Executing shell commands via HTTP server 4 months ago
vflow (opens new window) 1001 Enterprise Network Flow Collector (IPFIX, sFlow, Netflow) 3 months ago
peg (opens new window) 920 Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. 5 months ago
Go-Package-Store (opens new window) 895 An app that displays updates for the Go packages in your GOPATH. a month ago
leaps (opens new window) 736 A pair programming service using operational transforms 5 months ago
gfile (opens new window) 705 Direct file transfer over WebRTC 5 months ago
guora (opens new window) 654 🖖🏻 A self-hosted Quora like web application written in Go 基于 Golang 类似知乎的私有部署问答应用 包含问答、评论、点赞、管理后台等功能 6 months ago
gebug (opens new window) 622 Debug Dockerized Go applications better 5 days ago
gocc (opens new window) 579 Parser / Scanner Generator 5 months ago
mockingjay-server (opens new window) 543 Fake server, Consumer Driven Contracts and help with testing performance from one configuration file with zero system dependencies and no coding whatsoever a year ago
go-peerflix (opens new window) 455 Go Peerflix 5 months ago
woke (opens new window) 388 Detect non-inclusive language in your source code. 20 days ago
ipe (opens new window) 367 An open source Pusher server implementation compatible with Pusher client libraries written in GO 2 years ago
IDE (opens new window) 354 A Go code editor. With debugging and Autocomplete. 一个 Go 代码编辑器,具有 DEBUGGING 和 AUTOCOMPLETE 8 months ago
tcpprobe (opens new window) 338 Modern TCP tool and service for network performance observability. 2 years ago
wellington (opens new window) 303 Spriting that sass has been missing 5 months ago
cherry (opens new window) 289 A tiny webchat server in Go. 6 years ago
tcpdog (opens new window) 235 eBPF based TCP observability. 2 years ago
joincap (opens new window) 193 Merge multiple pcap files together, gracefully. 2 years ago
orbit (opens new window) 177 📡 A cross-platform task runner for executing commands and generating files from templates 3 years ago
vaku (opens new window) 150 Vaku extends the Vault API & CLI 15 hours ago
dp (opens new window) 84 Scry Data Protocol 7 months ago
boxed (opens new window) 78 dropbox based blog engine, written in go. 5 years ago
term-quiz (opens new window) 24 Terminal Quiz Application Written in Go 5 years ago
naclpipe (opens new window) 23 NaCL pipe 5 years ago
snitch (opens new window) 16 Keep updated about all deploys on Tsuru 5 years ago
GoDocTooltip (opens new window) 13 A Chrome extension for golang users.When you're at golang's official doc site, it will show function's description as tooltip on function list 8 months ago
hoofli (opens new window) 6 Generate PlantUML diagrams from Chrome or Firefox network inspections 8 months ago

# Resources

  • Where to discover new Go libraries.

# Benchmarks

Repository StarCount Description RecentlyUpdated
go-web-framework-benchmark (opens new window) 1905 ⚡️ Go web framework benchmark 3 months ago
go-http-routing-benchmark (opens new window) 1615 Go HTTP request router and web framework benchmark 10 months ago
go_serialization_benchmarks (opens new window) 1470 Benchmarks of Go serialization methods 3 months ago
skynet (opens new window) 1026 Skynet 1M threads microbenchmark a year ago
speedtest-resize (opens new window) 236 Compare various Image resize algorithms for the Go language 3 years ago
go-benchmarks (opens new window) 146 A few miscellaneous Go microbenchmarks. 7 years ago
gospeed (opens new window) 111 Go micro-benchmarks for calculating the speed of language constructs a year ago
autobench (opens new window) 96 Go benchmark harness. 9 years ago
golang-sql-benchmark (opens new window) 65 A benchmarking shootout of various db/SQL utilities for Go a year ago
gocostmodel (opens new window) 60 Benchmarks of common basic operations for the Go language. 2 years ago
go-ml-benchmarks (opens new window) 28 ⏱ Benchmarks of machine learning inference for Go a month ago
go-benchmark-app (opens new window) 26 Application for HTTP benchmarking via different rules and configs 6 years ago
kvbench (opens new window) 25 Key/Value database benchmark 4 years ago
go-json-benchmark (opens new window) 8 Benchmark of Golang JSON Libraries 3 years ago

# E-Books

Repository StarCount Description RecentlyUpdated
GoBooks (opens new window) 14542 List of Golang books a month ago
The-Golang-Standard-Library-by-Example (opens new window) 9291 Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。 3 months ago
web-dev-golang-anti-textbook (opens new window) 3123 Learn how to write webapps without a framework in Go. 2 years ago
gosuccinctly (opens new window) 23 This is the companion repo for Go Succinctly by Amir Irani. 5 years ago

# Gophers

Repository StarCount Description RecentlyUpdated
gophers (opens new window) 3203 Free gophers a year ago
free-gophers-pack (opens new window) 3028 ✨ This pack of 100+ gopher pictures and elements will help you to build own design of almost anything related to Go Programming Language: presentations, posts in blogs or social media, courses, videos and many, many more. 8 months ago
gophers (opens new window) 2834 Gopher Artwork by Ashley McNamara 4 years ago
gopherize.me (opens new window) 651 Gopherize.me app 2 years ago
gophericons (opens new window) 611 34 gopher images for Go developers community 5 years ago
gopher-stickers (opens new window) 562 gopher stickers 4 years ago
go-gopher (opens new window) 120 The Go Gopher Amigurumi Pattern 3 months ago
gopher-logos (opens new window) 114 adorable gopher logos 2 years ago
Go-gopher-Vector (opens new window) 65 Go gopher Vector Data [.ai, .svg] 5 years ago
gophers (opens new window) 58 random gopher graphics 3 years ago
gophers (opens new window) 24 Gopher artwork (Golang mascot) 23 days ago

# Style Guides

Repository StarCount Description RecentlyUpdated
cockroach (opens new window) 27558 CockroachDB - the open source, cloud-native distributed SQL database. 6 minutes ago
fabric (opens new window) 14738 Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving privacy. a day ago
guide (opens new window) 14113 The Uber Go Style Guide. 13 days ago
magnetico (opens new window) 2955 Autonomous (self-hosted) BitTorrent DHT search engine suite. 2 years ago
go-styleguide (opens new window) 1446 🏆 Opinionated Styleguide for the Go language 7 months ago

# Websites

Repository StarCount Description RecentlyUpdated
go (opens new window) 113389 The Go programming language 3 hours ago
awesome-awesomeness (opens new window) 30453 A curated list of awesome awesomeness a month ago
awesome-remote-job (opens new window) 26170 A curated list of awesome remote jobs and resources. Inspired by https://github.com/vinta/awesome-python 3 days ago
awesome-golang-workshops (opens new window) 486 A curated list of awesome golang workshops. 2 years ago
golang-graphics (opens new window) 138 Community-contributed Go graphics files 8 years ago
gocryforhelp (opens new window) 41 List of opensource projects looking for help 6 years ago
awesome-go-extra (opens new window) 21 Parse awesome-go README file and generate a new README file with repo info. a year ago

# Tutorials

Repository StarCount Description RecentlyUpdated
build-web-application-with-golang (opens new window) 42223 A golang ebook intro how to build a web with golang 4 months ago
go-patterns (opens new window) 22594 Curated list of Go design patterns, recipes and idioms 3 months ago
learn-go-with-tests (opens new window) 19903 Learn Go with test-driven development 7 days ago
learngo (opens new window) 17566 ❤️ 1000+ Hand-Crafted Go Examples, Exercises, and Quizzes. 🚀 Learn Go by fixing 1000+ tiny programs. 2 months ago
golang-cheat-sheet (opens new window) 7712 An overview of Go syntax and features. 8 months ago
go-clean-template (opens new window) 5336 Clean Architecture template for Golang services 2 months ago
golang-for-nodejs-developers (opens new window) 3969 Examples of Golang compared to Node.js for learning 🤓 6 months ago
ethereum-development-with-go-book (opens new window) 1615 📖 A little guide book on Ethereum Development with Go (golang) 9 months ago
working-with-go (opens new window) 1158 A set of example golang code to start learning Go 4 years ago
goapp (opens new window) 640 An opinionated guideline to structure & develop a Go web application/service 6 months ago
design-patterns (opens new window) 105 common creational, behavioural and structural patterns implemented in go 🤩 5 months ago
go-patterns (opens new window) 11 2 years ago