/awesome-go-info

基于avelino/awesome-go,显示GitHub上golang相关的开源项目信息

MIT LicenseMIT

Awesome Go Info

go语言开源项目列表,项目分类及GitHub上的开源项目数据完全来自于awesome-goREADME.md文件,通过调用GitHub的API获取仓库信息,展示项目的star数、watch数等,方便查看go语言开源项目的一些相关信息。

该文件仅包含awesome-go README.md文件中列出的在GitHub上开源的优秀项目,不罗列其它golang相关的网站 该文件中的GitHub仓库信息数据会在每天凌晨1点左右更新,当前数据更新于2021-05-14 00:59:09

Awesome Go

Audio and Music

Libraries for manipulating audio.

Go_repository Stars Watchers Created_at Latest_push Description
oto 803 10 2017/05/04 3 months ago A low-level library to play sound on multiple platforms.
portaudio 449 13 2015/09/16 8 months ago Go bindings for the PortAudio audio I/O library.
music-theory 337 18 2016/03/17 9 months ago Music theory models in Go.
waveform 337 12 2014/09/13 1 year ago Go package capable of generating waveform images from audio streams.
portmidi 254 11 2013/11/10 6 months ago Go bindings for PortMidi.
id3v2 189 6 2016/05/15 3 weeks ago ID3 decoding and encoding library for Go.
flac 152 11 2012/11/01 3 months ago Native Go FLAC encoder/decoder with support for FLAC streams.
malgo 145 5 2017/11/09 6 days ago Mini audio library.
mix 138 3 2016/01/03 1 year ago Sequence-based Go-native audio mixer for music apps.
GoAudio 127 6 2020/07/05 1 month ago Native Go Audio Processing Library.
go-sox 118 9 2013/10/08 2 years ago libsox bindings for go.
mp3 114 2 2015/02/26 4 years ago Native Go MP3 decoder.
gaad 82 11 2016/07/11 1 month ago Native Go AAC bitstream parser.
go-taglib 74 6 2012/11/20 2 years ago Go bindings for taglib.
minimp3 55 3 2018/01/26 1 month ago Lightweight MP3 decoder library.
EasyMIDI 35 3 2018/02/19 3 years ago EasyMidi is a simple and reliable library for working with standard midi file (SMF).
go_mediainfo 32 1 2015/12/13 5 years ago libmediainfo bindings for go.
vorbis 28 3 2013/07/12 2 years ago "Native" Go Vorbis decoder (uses CGO, but has no dependencies).
gosamplerate 10 1 2016/11/20 10 months ago libsamplerate bindings for go.

Authentication and OAuth

Libraries for implementing authentications schemes.

Go_repository Stars Watchers Created_at Latest_push Description
jwt-go 9517 151 2012/04/18 1 week ago Golang implementation of JSON Web Tokens (JWT).
casbin 9029 215 2017/04/08 1 month ago Authorization library that supports access control models like ACL, RBAC, ABAC.
oauth2 3636 102 2014/04/14 2 weeks ago Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
goth 3159 64 2014/10/14 3 weeks ago provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
authboss 2653 55 2015/01/03 2 weeks ago Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time.
loginsrv 1776 54 2016/11/11 2 months ago JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
go-jose 1757 62 2014/11/14 2 weeks ago Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
go-oauth2-server 1747 85 2015/11/01 4 months ago Standalone, specification-compliant, OAuth2 server written in Golang.
osin 1664 71 2013/09/10 3 months ago Golang OAuth2 server library.
gologin 1382 29 2015/06/23 1 week ago chainable handlers for login with OAuth1 and OAuth2 authentication providers.
gorbac 1167 61 2013/12/26 1 week ago provides a lightweight role-based access control (RBAC) implementation in Golang.
scs 874 25 2016/08/08 1 month ago Session Manager for HTTP servers.
paseto 507 22 2018/01/23 11 months ago Golang implementation of Platform-Agnostic Security Tokens (PASETO).
permissions2 428 14 2014/11/19 8 months ago Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
jwt 258 12 2019/07/20 2 weeks ago Safe, simple and fast JSON Web Tokens for Go.
jwt 248 13 2018/03/21 2 months ago Lightweight JSON Web Token (JWT) library.
go-guardian 248 4 2020/05/14 2 weeks ago Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token and Certificate based authentication.
jeff 225 4 2018/08/02 9 months ago Simple, flexible, secure and idiomatic web session management with pluggable backends.
jwt-auth 204 13 2016/07/05 6 months ago JWT middleware for Golang http servers with many configuration options.
httpauth 202 7 2014/05/26 9 months ago HTTP Authentication middleware.
branca 151 8 2018/01/09 9 months ago Golang implementation of Branca Tokens.
sessionup 111 6 2019/07/23 1 month ago Simple, yet effective HTTP session management and identification package.
session 107 7 2016/02/08 1 year ago Go session management for web servers (including support for Google App Engine - GAE).
jwt 89 9 2016/06/05 5 months ago Clean and easy to use implementation of JSON Web Tokens (JWT).
sjwt 86 1 2019/06/20 1 year ago Simple jwt generator and parser.
rbac 78 3 2018/08/02 2 years ago Minimalistic RBAC package for Go applications.
sessions 59 3 2017/04/29 1 year ago Dead simple, highly performant, highly customizable sessions service for go http servers.
securecookie 47 5 2017/09/03 2 weeks ago Efficient secure cookie encoding/decoding.
otpgo 18 3 2020/08/19 2 months ago Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
go-email-normalizer 16 1 2020/08/21 5 months ago Golang library for providing a canonical representation of email address.
scope 12 1 2019/09/23 1 year ago Easily Manage OAuth2 Scopes In Go.
sessiongate-go 9 2 2017/10/20 2 years ago Go session management using the SessionGate Redis module.
signedvalue 8 0 2018/01/06 1 year ago Signed and timestamped strings compatible with Tornado's create_signed_value, decode_signed_value, and therefore set_secure_cookie and get_secure_cookie.
cookiestxt 6 1 2017/10/09 2 months ago provides parser of cookies.txt file format.
casbin 1 0 2021/04/16 3 weeks ago Authorization library that supports access control models like ACL, RBAC, ABAC.

Bot Building

Libraries for building and working with bots.

Go_repository Stars Watchers Created_at Latest_push Description
olivia 2908 77 2018/06/05 2 months ago A chatbot built with an artificial neural network.
telegram-bot-api 2840 81 2015/06/25 2 weeks ago Simple and clean Telegram bot client.
telebot 1830 48 2015/06/25 1 month ago Telegram bot framework written in Go.
bot 674 48 2015/09/22 7 months ago IRC, Slack & Telegram bot written in Go.
kelp 652 44 2018/08/08 3 days ago official trading and market-making bot for the Stellar DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.
golang-crypto-trading-bot 536 32 2017/05/14 1 month ago A golang implementation of a console-based trading bot for cryptocurrency exchanges.
slacker 509 15 2017/05/20 18 hours ago Easy to use framework to create Slack bots.
tbot 307 11 2015/09/11 1 month ago Telegram bot server with API similar to net/http.
go-sarah 190 7 2016/11/06 5 days ago Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
tenyks 169 15 2012/08/26 1 year ago Service oriented IRC bot using Redis and JSON for messaging.
go-twitch-irc 168 10 2017/03/23 2 months ago Libary to write bots for twitch.
hanu 132 5 2016/09/16 11 months ago Framework for writing Slack bots.
go-tgbot 106 9 2016/12/11 2 years ago Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
margelet 63 4 2015/11/21 4 years ago Framework for building Telegram bots.
ephemeral-roles 47 5 2017/12/19 1 week ago A Discord bot for managing ephemeral roles based upon voice channel member presence.
slackscot 44 1 2015/10/22 2 months ago Another framework for building Slack bots.
govkbot 36 3 2016/07/11 1 year ago Simple Go VK bot library.
micha 18 4 2016/04/14 8 months ago Go Library for Telegram bot api.

Command Line

Libraries for building Console Applications and Console User Interfaces.

Go_repository Stars Watchers Created_at Latest_push Description
cobra 21496 342 2013/09/03 2 hours ago Commander for modern Go CLI interactions.
cli 15768 301 2013/07/13 2 weeks ago Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).
termui 10916 294 2015/02/03 1 hour ago Go terminal dashboard based on termbox-go and inspired by blessed-contrib.
gocui 7132 128 2014/01/04 5 days ago Minimalist Go library aimed at creating Console User Interfaces.
termbox-go 4034 101 2012/01/12 4 days ago Termbox is a library for creating cross-platform text-based interfaces.
go-prompt 3900 53 2017/08/14 2 weeks ago Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.
kingpin 3047 55 2014/05/14 2 months ago Command line and flag parser supporting sub commands.
dnote 2078 30 2017/03/30 2 days ago A simple command line notebook with multi-device sync.
go-flags 1917 29 2012/08/31 1 month ago go command line option parser.
progressbar 1852 23 2017/10/26 21 hours ago Basic thread-safe progress bar that works in every OS.
uiprogress 1794 36 2015/11/17 1 month ago Flexible library to render progress bars in terminal applications.
termdash 1679 26 2018/03/24 3 weeks ago Go terminal dashboard based on termbox-go and inspired by termui.
asciigraph 1662 30 2018/06/17 1 month ago Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
readline 1555 40 2015/09/20 1 year ago Pure golang implementation that provides most features in GNU-Readline under MIT license.
pflag 1422 31 2013/08/30 1 month ago Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
pterm 1318 18 2020/09/17 2 hours ago A library to beautify console output on every platform with many combinable components.
cli 1314 24 2013/11/03 4 months ago Go library for implementing command-line interfaces.
uilive 1301 19 2015/11/16 6 months ago Library for updating terminal output in realtime.
docopt.go 1266 35 2013/08/25 6 months ago Command-line arguments parser that will make you smile.
mpb 1265 20 2016/12/14 1 month ago Multi progress bar for terminal applications.
go-arg 1130 14 2015/11/01 3 days ago Struct-based argument parsing in Go.
aurora 1082 8 2016/11/06 3 months ago ANSI terminal colors that supports fmt.Printf/Sprintf.
gcli 907 26 2014/06/19 3 years ago The easy way to start building Golang command line applications.
color 834 13 2018/07/01 1 month ago Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.
liner 785 23 2012/08/15 1 month ago Go readline-like library for command-line interfaces.
complete 773 15 2017/05/05 1 month ago Write bash completions in Go + Go command bash completion.
mow.cli 733 19 2014/12/18 2 weeks ago Go library for building CLI applications with sophisticated flag and argument parsing and validation.
flaggy 716 18 2018/03/05 10 months ago A robust and idiomatic flags package with excellent subcommand support.
uitable 610 14 2015/11/13 6 months ago Library to improve readability in terminal apps using tabular data.
cli 577 22 2016/02/26 2 months ago Feature-rich and easy to use command-line package based on golang struct tags.
ops 574 25 2018/09/10 1 day ago Unikernel Builder/Orchestrator.
go-colorable 529 19 2014/07/30 3 months ago Colorable writer for windows.
go-isatty 514 11 2014/04/01 3 months ago isatty for golang.
chalk 368 9 2014/07/18 1 year ago Intuitive package for prettifying terminal/console output.
argparse 310 15 2017/11/24 17 hours ago Command line argument parser inspired by Python's argparse module.
simpletable 305 4 2017/03/29 2 weeks ago Simple tables in terminal with Go.
tabby 287 3 2018/12/17 4 months ago A tiny library for super simple Golang tables.
go-colortext 206 9 2013/01/23 1 year ago Go library for color output in terminals.
yacspin 154 5 2019/12/29 11 months ago Yet Another CLi Spinner package, for working with terminal spinners.
commandeer 143 6 2017/10/12 9 months ago Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.
wmenu 136 2 2016/04/20 11 months ago Easy to use menu structure for cli applications that prompts users to make choices.
sflags 128 5 2016/12/04 1 month ago Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries.
flag 114 6 2016/10/05 4 months ago Simple but powerful command line option parsing library for Go supporting subcommand.
clif 107 3 2015/05/30 2 years ago Small command line interface framework.
flag 102 5 2016/10/05 2 years ago Simple but powerful command line option parsing library for Go supporting subcommand.
job 100 1 2019/04/09 10 months ago JOB, make your short-term command as a long-term job.
cli 84 1 2017/05/24 3 days ago Simple and complete API for building command line interfaces in Go.
cfmt 78 3 2018/03/15 2 years ago Contextual fmt inspired by bootstrap color classes.
env 76 1 2017/06/14 8 months ago Tag-based environment configuration for structs.
cmdr 70 4 2019/05/15 1 day ago A POSIX/GNU style, getopt-like command-line UI Go library.
clir 63 3 2019/11/18 5 months ago A Simple and Clear CLI library. Dependency free.
tabular 54 91 2018/04/23 3 years ago Print ASCII tables from command line utilities without the need to pass large sets of data to the API.
wlog 51 1 2016/04/13 1 year ago Simple logging interface that supports cross-platform color and concurrency.
gocmd 49 3 2018/01/08 5 days ago Go library for building command line applications.
strumt 43 1 2017/06/19 2 weeks ago Library to create prompt chain.
flagvar 36 2 2018/05/18 10 months ago A collection of flag argument types for Go's standard flag package.
cmd 32 2 2019/10/29 7 months ago Extends the standard flag package to support sub commands and more in idomatic way.
ctc 31 0 2018/04/27 10 months ago The non-invasive cross-platform terminal color library does not need to modify the Print method.
go-getoptions 30 4 2015/12/18 3 days ago Go option parser inspired on the flexibility of Perl’s GetOpt::Long.
argv 30 1 2017/01/22 1 year ago Go library to split command line string as arguments array using the bash syntax.
colourize 24 3 2015/05/11 5 years ago Go library for ANSI colour text in terminals.
go-commander 22 1 2016/10/10 11 months ago Go library to simplify CLI workflow.
cfmt 22 2 2020/11/13 4 days ago Simple and convenient formatted stylized output fully compatible with fmt library.
argv 19 1 2017/01/22 1 year ago Go library to split command line string as arguments array using the bash syntax.
sand 15 1 2018/11/18 2 years ago Simple API for creating interpreters and so much more.
ts 13 0 2019/06/25 1 year ago Timestamp convert & compare tool.
go-ataman 9 2 2017/05/17 4 months ago Go library for rendering ANSI colored text templates in terminals.
table 6 1 2020/09/22 2 months ago Small library for terminal color based tables .

Configuration

Libraries for configuration parsing.

Go_repository Stars Watchers Created_at Latest_push Description
viper 15591 233 2014/04/02 17 hours ago Go configuration with fangs.
godotenv 3815 42 2013/07/30 7 hours ago Go port of Ruby's dotenv library (Loads environment variables from .env).
envconfig 3593 39 2013/11/06 1 week ago Go library for managing configuration data from environment variables.
ini 2480 78 2014/12/18 2 months ago Go package to read and write INI files.
env 1863 25 2015/07/28 22 hours ago Parse environment variables to Go structs (with defaults).
konfig 598 14 2019/01/18 6 months ago Composable, observable and performant config handling for Go for the distributed processing era.
koanf 479 9 2019/06/18 1 month ago Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.
confita 378 24 2017/12/21 1 month ago Load configuration in cascade from multiple backends into a struct.
cleanenv 280 7 2019/07/12 2 weeks ago Minimalistic configuration reader (from files, ENV, and wherever you want).
config 255 1 2019/04/02 6 days ago Cloud native application configuration. Bind ENV to structs in only two lines.
store 253 5 2015/10/03 3 years ago Lightweight configuration manager for Go.
config 241 9 2018/07/07 2 weeks ago application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.
config 238 8 2014/04/21 1 year ago JSON or YAML configuration wrapper with environment variables and flags parsing.
hjson-go 237 8 2016/08/05 1 week ago Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.
aconfig 209 6 2020/06/26 2 weeks ago Simple, useful and opinionated config loader.
config 205 2 2017/04/02 1 year ago Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
envconfig 200 5 2015/04/21 4 months ago Read your configuration from environment variables.
gcfg 148 8 2015/08/17 10 months ago read INI-style configuration files into Go structs; supports user-defined types and subsections.
goconfig 147 13 2016/12/18 8 months ago Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
fig 146 5 2020/01/16 4 days ago Tiny library for reading configuration from a file and from environment variables (with validation & defaults).
config 140 4 2019/10/15 1 month ago A lightweight yet powerful config package for Go projects.
goconfig 131 11 2016/12/18 1 year ago Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
xdg 100 4 2014/08/22 1 month ago Go implementation of the XDG Base Directory Specification and XDG user directories.
envh 95 3 2017/01/12 2 weeks ago Helpers to manage environment variables.
envcfg 93 1 2014/11/29 3 years ago Un-marshaling environment variables to Go structs.
harvester 82 12 2019/04/09 1 day ago Harvester, a easy to use static and dynamic configuration package supportig seeding, env vars and Consul integration.
configuro 74 4 2020/04/09 2 months ago opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications.
xdg 62 3 2017/07/20 6 months ago Cross platform package that follows the XDG Standard.
gofigure 59 5 2014/11/25 1 year ago Go application configuration made easy.
configure 55 3 2015/06/14 2 years ago Provides configuration through multiple sources, including JSON, flags and environment variables.
go-aws-ssm 39 19 2019/01/24 1 month ago Go package that fetches parameters from AWS System Manager - Parameter Store.
configuration 38 2 2019/11/27 9 months ago Library for initializing configuration structs from env variables, files, flags and 'default' tag.
ingo 34 1 2016/02/07 4 years ago Flags persisted in an ini-like config file.
go-up 30 1 2018/02/18 1 year ago A simple configuration library with recursive placeholders resolution and no magic.
mini 28 1 2015/04/29 2 years ago Golang package for parsing ini-style configuration files.
hocon 24 1 2020/03/01 6 months ago Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files.
genv 22 2 2019/07/15 1 year ago Read environment variables easily with dotenv support.
conflate 19 0 2018/02/01 7 months ago Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema.
envconf 10 1 2014/10/26 6 years ago Configuration from environment.
go-ssm-config 9 1 2019/12/02 4 months ago Go utility for loading configuration parameters from AWS SSM (Parameter Store).
env 4 0 2019/07/24 7 months ago Simple useful package for read environment variables.
sprbox 4 2 2018/07/17 1 year ago Build-environment aware toolbox factory and agnostic config parser (YAML, TOML, JSON and Environment vars).
go-ini 4 1 2019/09/11 1 month ago A Go package that marshals and unmarshals INI-files.
swap 4 2 2020/04/12 2 months ago Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).
typenv 4 1 2020/06/30 9 months ago Minimalistic, zero dependency, typed environment variables library.

Continuous Integration

Tools for help with continuous integration.

Go_repository Stars Watchers Created_at Latest_push Description
drone 23084 574 2014/02/07 5 days ago Drone is a Continuous Integration platform built on Docker, written in Go.
cds 3382 85 2016/10/11 1 day ago Enterprise-Grade CI/CD and DevOps Automation Open Source Platform.
goveralls 686 13 2013/04/17 2 months ago Go integration for Coveralls.io continuous code coverage tracking system.
overalls 106 4 2015/07/30 1 year ago Multi-Package go project coverprofile for tools like goveralls.
duci 64 3 2018/04/01 5 days ago A simple ci server no needs domain specific languages.
gomason 50 1 2017/11/18 3 weeks ago Test, Build, Sign, and Publish your go binaries from a clean workspace.
roveralls 14 1 2016/06/26 3 years ago Recursive coverage testing tool.

CSS Preprocessors

Libraries for preprocessing CSS files.

Go_repository Stars Watchers Created_at Latest_push Description
gcss 443 16 2014/09/04 6 years ago Pure Go CSS Preprocessor.
go-libsass 172 8 2015/04/19 6 months ago Go wrapper to the 100% Sass compatible libsass project.

Data Structures

Generic datastructures and algorithms in Go.

Go_repository Stars Watchers Created_at Latest_push Description
gods 9949 348 2015/03/04 2 weeks ago Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.
go-datastructures 6032 327 2014/10/29 2 weeks ago Collection of useful, performant, and thread-safe data structures.
golang-set 1924 43 2013/07/03 1 month ago Thread-Safe and Non-Thread-Safe high-performance sets for Go.
gota 1599 72 2016/02/06 2 weeks ago Implementation of dataframes, series, and data wrangling methods for Go.
BoomFilters 1350 40 2015/02/06 1 month ago Probabilistic data structures for processing continuous, unbounded streams.
roaring 1176 41 2014/07/10 1 week ago Go package implementing compressed bitsets.
bloom 1020 36 2011/05/21 1 hour ago Go package implementing Bloom filters.
bloom 1012 36 2011/05/21 2 weeks ago Go package implementing Bloom filters.
gocache 846 21 2019/10/05 2 days ago A complete Go cache library with mutiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.
cuckoofilter 785 16 2015/06/28 4 months ago Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
hyperloglog 744 16 2017/06/18 1 year ago HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
bitset 668 30 2011/05/11 2 hours ago Go package implementing bitsets.
bitset 662 30 2011/05/11 1 month ago Go package implementing bitsets.
trie 531 20 2014/03/06 9 months ago Trie implementation in Go.
algorithms 515 20 2018/01/31 1 month ago Algorithms and data structures.CLRS study.
go-geoindex 330 67 2015/01/22 3 years ago In-memory geo index.
mafsa 283 16 2014/11/07 1 year ago MA-FSA implementation with Minimal Perfect Hashing.
gostl 272 8 2019/10/12 4 months ago Data structure and algorithm library for go, designed to provide functions similar to C++ STL.
go-edlib 263 9 2020/08/18 3 months ago Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode.
merkletree 242 7 2017/04/12 1 year ago Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures.
hilbert 231 22 2015/08/06 2 years ago Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
ttlcache 228 11 2014/12/13 1 month ago In-memory string-interface{} cache with various time-based expiration options and callbacks.
goskiplist 224 15 2012/05/09 1 year ago Skip list implementation in Go.
deque 214 6 2018/04/24 4 days ago Fast ring-buffer deque (double-ended queue).
go-adaptive-radix-tree 175 8 2016/04/01 9 months ago Go implementation of Adaptive Radix Tree.
binpacker 162 13 2016/02/02 2 years ago Binary packer and unpacker helps user build custom binary stream.
skiplist 153 6 2018/06/23 1 year ago Very fast Go Skiplist implementation.
bloom 140 8 2013/09/03 3 years ago Bloom filters implemented in Go.
levenshtein 138 4 2014/07/30 1 week ago Implementation to calculate levenshtein distance in Go.
iter 134 5 2019/10/20 1 year ago Go implementation of C++ STL iterators and algorithms.
goconcurrentqueue 133 2 2019/01/10 1 year ago Concurrent FIFO queue.
ring 119 1 2019/01/27 8 months ago Go implementation of a high performance, thread safe bloom filter.
go-rquad 114 4 2016/09/12 1 year ago Region quadtrees with efficient point location and neighbour finding.
ring 110 1 2019/01/27 1 year ago Go implementation of a high performance, thread safe bloom filter.
encoding 105 6 2013/09/20 3 years ago Integer Compression Libraries for Go.
bit 103 6 2017/05/03 3 years ago Golang set data structure with bonus bit-twiddling functions.
remember-go 95 4 2019/04/04 3 weeks ago A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory).
conjungo 93 101 2016/12/29 6 months ago A small, powerful and flexible merge library.
skiplist 72 8 2014/11/18 6 years ago Skiplist implementation in Go.
go-mcache 64 3 2018/04/14 1 year ago Fast in-memory key:value store/cache library. Pointer caches.
bloom 60 2 2017/05/06 3 years ago Golang Bloom filter implementation.
levenshtein 57 2 2016/04/08 7 months ago Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
count-min-log 53 2 2015/08/16 4 years ago Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
crunch 43 6 2019/02/27 1 month ago Go package implementing buffers for handling various datatypes easily.
nan 36 3 2020/05/05 6 months ago Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers.
concurrent-writer 32 5 2017/09/18 3 years ago Highly concurrent drop-in replacement for bufio.Writer.
hide 32 4 2019/01/16 3 months ago ID type with marshalling to/from hash to prevent sending IDs to clients.
goset 31 1 2017/08/25 5 months ago A useful Set collection implementation for Go.
pipeline 28 1 2018/04/25 2 years ago An implementation of pipelines with fan-in and fan-out.
deque 25 3 2019/02/01 3 days ago A highly optimized double-ended queue.
timedmap 25 2 2019/01/30 2 months ago Map with expiring key-value pairs.
typ 25 1 2019/03/03 1 year ago Null Types, Safe primitive type conversion and fetching value from complex structures.
dict 18 0 2019/04/23 6 months ago Python-like dictionaries (dict) for Go.
go-ef 18 2 2017/09/22 3 years ago A Go implementation of the Elias-Fano encoding.
null 17 3 2018/07/04 3 months ago Nullable Go types that can be marshalled/unmarshalled to/from JSON.
mspm 15 3 2018/05/17 3 years ago Multi-String Pattern Matching Algorithm for information retrieval.
ptrie 14 8 2019/05/20 8 months ago An implementation of prefix tree.
set 13 20 2018/07/20 6 months ago Simple set data structure implementation in Go using LinkedHashMap.
cmap 13 1 2019/11/26 8 months ago a thread-safe concurrent map for go, support using interface{} as key and auto scale up shards.
treap 11 2 2018/09/16 1 year ago Persistent, fast ordered map using tree heaps.
gofal 9 2 2019/08/05 1 year ago fractional api for Go.
parsefields 5 1 2019/04/12 2 years ago Tools for parse JSON-like logs for collecting unique fields and events.
goterator 3 1 2020/08/12 5 months ago Iterator implementation to provide map and reduce functionalities.
slices 3 1 2020/07/02 6 months ago Functions that operate on slices; like package strings but adapted to work with slices.

Database

SQL query builder, libraries for building and using SQL.

Go_repository Stars Watchers Created_at Latest_push Description
prometheus 36645 1159 2012/11/24 2 hours ago Monitoring system and time series database.
tidb 27784 1353 2015/09/06 1 hour ago TiDB is a distributed SQL database. Inspired by the design of Google F1.
influxdb 21420 760 2013/09/26 4 hours ago Scalable datastore for metrics, events, and real-time analytics.
cockroach 20506 709 2014/02/06 52 minutes ago Scalable, Geo-Replicated, Transactional Datastore.
dgraph 16009 383 2015/08/25 1 hour ago Scalable, Distributed, Low Latency, High Throughput Graph Database.
vitess 11803 511 2013/06/27 54 minutes ago vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
bolt 10426 343 2013/12/20 3 years ago Low-level key/value database for Go.
groupcache 10232 502 2013/07/22 2 days ago Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
badger 9218 250 2017/01/26 1 day ago Fast key-value store in Go.
rqlite 8234 229 2014/08/23 3 days ago The lightweight, distributed, relational database built on SQLite.
pgweb 6857 145 2014/10/09 3 days ago Web-based PostgreSQL database browser.
migrate 6435 73 2018/01/19 2 days ago Database migrations. CLI and Golang library.
kingshard 5663 407 2015/07/04 2 weeks ago kingshard is a high performance proxy for MySQL powered by Golang.
go-cache 4964 111 2012/01/02 1 week ago In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
bigcache 4820 114 2016/03/23 1 week ago Efficient key/value cache for gigabytes of data.
bbolt 4429 122 2017/06/17 2 weeks ago An embedded key/value database for Go.
goleveldb 4291 178 2013/01/23 2 months ago Implementation of the LevelDB key/value database in Go.
VictoriaMetrics 4192 103 2018/09/30 2 hours ago fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.
orchestrator 4069 267 2016/11/30 3 days ago MySQL replication topology manager & visualizer.
squirrel 3885 50 2014/01/18 1 month ago Go library that helps you build SQL queries.
ledisdb 3629 186 2014/04/30 2 months ago Ledisdb is a high performance NoSQL like Redis based on LevelDB.
go-mysql-elasticsearch 3457 179 2015/01/15 3 months ago Sync your MySQL data into Elasticsearch automatically.
go-mysql-elasticsearch 3419 178 2015/01/15 3 months ago Sync your MySQL data into Elasticsearch automatically.
orchestrator 3362 299 2016/11/30 1 year ago MySQL replication topology manager & visualizer.
ledisdb 3265 188 2014/04/30 1 year ago Ledisdb is a high performance NoSQL like Redis based on LevelDB.
buntdb 3233 101 2016/07/19 3 days ago Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
go-mysql 2978 162 2014/02/21 2 days ago Go toolset to handle MySQL protocol and replication.
go-mysql 2922 161 2014/02/21 1 month ago Go toolset to handle MySQL protocol and replication.
xo 2758 73 2016/02/05 2 weeks ago Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.
prest 2667 86 2016/11/22 1 day ago Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new.
tiedot 2588 159 2013/05/26 1 year ago Your NoSQL database powered by Golang.
sql-migrate 2121 36 2014/09/09 1 month ago Database migration tool. Allows embedding migrations into the application using go-bindata.
immudb 1931 39 2019/11/07 1 hour ago immudb is a lightweight, high-speed immutable database for systems and applications written in Go.
goose 1672 45 2016/02/25 1 month ago Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
nutsdb 1636 48 2018/12/07 1 month ago Nutsdb is 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.
cache2go 1526 68 2013/11/11 4 months ago In-memory key:value cache which supports automatic invalidation based on timeouts.
gcache 1509 43 2015/01/24 1 week ago Cache library with support for expirable Cache, LFU, LRU and ARC.
gendry 1202 63 2017/12/01 2 days ago Non-invasive SQL builder and powerful data binder.
CovenantSQL 1169 70 2018/04/11 2 months ago CovenantSQL is a SQL database on blockchain.
fastcache 1095 29 2018/11/22 1 month ago fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
diskv 1055 38 2012/03/21 6 days ago Home-grown disk-backed key-value store.
goqu 1043 35 2015/02/21 2 days ago Idiomatic SQL builder and query library.
skeema 885 28 2016/10/31 1 week ago Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.
moss 809 76 2016/02/06 3 months ago Moss is a simple LSM key-value storage engine written in 100% Go.
databunker 747 23 2019/12/08 2 days ago Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.
pogreb 724 26 2018/01/06 1 week ago Embedded key-value store for read-heavy workloads.
bitcask 708 18 2019/03/12 1 week ago Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL).
eliasdb 621 23 2016/08/13 4 days ago Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
chproxy 613 30 2017/09/18 4 hours ago HTTP proxy for ClickHouse database.
gormigrate 597 6 2016/08/31 5 days ago Database schema migration helper for Gorm ORM.
dotsql 586 25 2014/11/20 2 months ago Go library that helps you keep sql files in one place and use them with ease.
ozzo-dbx 529 28 2015/12/10 3 months ago Powerful data retrieval methods as well as DB-agnostic query building capabilities.
pg_timetable 403 15 2018/12/19 6 days ago Advanced scheduling for PostgreSQL.
jet 398 9 2019/03/02 1 week ago Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure.
levigo 393 23 2012/01/17 11 months ago Levigo is a Go wrapper for LevelDB.
pudge 287 11 2018/11/20 3 months ago Fast and simple key/value store written using Go's standard library.
dbq 286 9 2019/07/11 2 months ago Zero boilerplate database operations for Go.
clickhouse-bulk 280 7 2017/04/29 3 weeks ago Collects small insterts and sends big requests to ClickHouse servers.
sqrl 221 8 2014/06/25 3 months ago SQL query builder, fork of Squirrel with improved performance.
vasto 209 19 2018/01/16 2 years ago A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.
kivik 206 6 2017/02/09 2 weeks ago Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases.
piladb 186 12 2015/09/08 6 months ago Lightweight RESTful database engine based on stack data structures.
myreplication 171 20 2015/02/04 2 years ago MySql binary log replication listener. Supports statement and row based replication.
goose 144 4 2016/03/04 4 years ago Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
sqlingo 144 13 2018/11/18 2 months ago A lightweight DSL to build SQL in Go.
octillery 132 17 2018/11/26 2 months ago Go package for sharding databases ( Supports every ORM or raw SQL ).
golang-scribble 121 5 2018/06/21 2 years ago Tiny flat file JSON store.
darwin 115 3 2016/04/05 1 month ago Database schema evolution library for Go.
migrator 111 5 2019/02/04 7 months ago Dead simple Go database migration library.
go-structured-query 103 1 2020/05/30 1 month ago Type-safe SQL builder and struct mapper for Go.
slowpoke 98 8 2018/02/19 1 year ago Key-value store with persistence.
databunker 93 9 2019/12/08 5 months ago Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.
octillery 92 16 2018/11/26 9 months ago Go package for sharding databases ( Supports every ORM or raw SQL ).
cache 86 3 2019/05/11 1 year ago In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.
igor 83 7 2016/03/10 10 months ago Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
go-pg-migrations 76 1 2018/08/11 2 months ago A Go package to help write migrations with go-pg/pg.
bcache 66 3 2018/12/26 2 years ago Eventually consistent distributed in-memory cache Go library.
unitdb 62 5 2019/08/29 3 weeks ago Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application.
dbbench 56 4 2018/11/24 1 week ago Database benchmarking tool with support for several databases and scripts.
couchcache 53 3 2015/04/05 8 months ago RESTful caching micro-service backed by Couchbase server.
godbal 52 4 2018/02/28 2 years ago Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.
clusteredBigCache 37 6 2017/12/18 3 years ago BigCache with clustering support and individual item expiration.
buildsqlx 33 1 2019/08/18 2 weeks ago Go database query builder library for PostgreSQL.
gondolier 31 4 2017/10/18 2 years ago Database migration library using struct decorators.
datagen 31 1 2019/04/18 10 months ago A fast data generator that's multi-table aware and supports multi-row DML.
prep 28 3 2017/12/11 3 years ago Use prepared SQL statements without changing your code.
go-fixtures 26 1 2015/12/24 1 year ago Django style fixtures for Golang's excellent built-in database/sql library.
coffer 25 5 2019/05/13 7 months ago Simple ACID key-value database that supports transactions.
pravasan 24 7 2015/01/03 2 years ago Simple Migration tool - currently for MySQL but planning to soon support Postgres, SQLite, MongoDB, etc.
avro 23 2 2019/04/07 10 months ago Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.
qry 20 3 2019/08/20 7 months ago Tool that generates constants from files with raw SQL queries.
sqlf 18 3 2019/07/20 1 year ago Fast SQL query builder.
tempdb 15 3 2017/03/17 3 years ago Key-value store for temporary items.
gosql 15 1 2020/01/08 8 months ago SQL Query builder with better null values support.
gorocksdb 12 1 2017/12/28 3 years ago Gorocksdb is a wrapper for RocksDB written in Go.
rwdb 11 2 2017/10/04 3 years ago rwdb provides read replica capability for multiple database servers setup.
schema 7 3 2019/09/24 4 months ago Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.
mpath-go 7 3 2020/01/09 1 year ago MPTT (Modified Preorder Tree Traversal) package for SQL records - materialized path realisation.
bucket 6 3 2019/09/22 11 months ago Optimized data structure framework for Couchbase specialized on one bucket usage.
gostore 5 2 2020/01/08 1 year ago Gostore is a simple, durable, embedded key-value storage engine written in Go.
go-pg-migrate 4 1 2021/01/16 2 months ago CLI-friendly package for go-pg migrations management.
tracedb 3 1 2019/08/29 1 year ago Fast timeseries database for IoT, realtime messaging applications. Access tracedb with pubsub over tcp or websocket using github.com/unit-io/trace application.
ttlcache 3 1 2021/01/06 1 month ago In-memory key value storage with TTL for each record.
ormlite 0 2 2018/06/28 4 months ago Lightweight package containing some ORM-like features and helpers for sqlite databases.

Database Drivers

Libraries for connecting and operating databases.

Relational Databases

Go_repository Stars Watchers Created_at Latest_push Description
mysql 10841 413 2012/12/09 3 days ago MySQL driver for Go.
pq 6547 155 2012/03/12 17 hours ago Pure Go Postgres driver for database/sql.
go-sqlite3 4824 151 2011/11/11 1 week ago SQLite3 driver for go that uses database/sql.
pgx 4068 78 2013/03/30 4 hours ago PostgreSQL driver supporting features beyond those exposed by database/sql.
go-mssqldb 1386 67 2013/12/16 5 days ago Microsoft MSSQL driver for Go.
go-oci8 546 41 2012/02/29 4 months ago Oracle driver for go that uses database/sql.
goracle 283 28 2015/03/25 1 year ago Oracle driver for Go, using the ODPI-C driver.
godror 250 16 2019/11/21 22 hours ago Oracle driver for Go, using the ODPI-C driver.
firebirdsql 142 19 2013/08/27 2 months ago Firebird RDBMS SQL driver for Go.
go-adodb 119 12 2011/11/14 1 year ago Microsoft ActiveX Object DataBase driver for go that uses database/sql.
gofreetds 104 22 2012/12/06 5 months ago Microsoft MSSQL driver. Go wrapper over FreeTDS.
calcite-avatica-go 74 25 2017/08/08 7 months ago Apache Avatica/Phoenix SQL driver for database/sql.
sqinn-go 52 1 2020/06/06 1 month ago SQLite with pure Go.
bgc 15 11 2016/06/13 1 year ago Datastore Connectivity for BigQuery for go.

NoSQL Databases

Go_repository Stars Watchers Created_at Latest_push Description
cayley 13805 610 2014/06/05 2 days ago Graph database with support for multiple backends.
redis 11453 246 2012/07/25 1 hour ago Redis client for Golang.
redigo 8381 297 2012/04/14 1 month ago Redigo is a Go client for the Redis database.
bleve 7542 254 2014/04/17 2 weeks ago Modern text indexing library for go.
elastic 5905 171 2012/12/06 2 days ago Elasticsearch client for Go.
riot 5747 200 2017/06/21 7 months ago Go Open Source, Distributed, Simple and efficient Search Engine.
mongo-go-driver 5678 134 2017/02/08 2 hours ago Official MongoDB driver for the Go language.
go-elasticsearch 3348 295 2017/03/27 1 day ago Official Elasticsearch client for Go.
mgo 1894 63 2017/04/13 2 months ago (unmaintained) MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
rethinkdb-go 1557 49 2013/09/12 4 weeks ago Go language driver for RethinkDB.
elastigo 949 47 2012/10/12 2 years ago Elasticsearch client library.
elasticsql 715 33 2016/08/24 6 months ago Convert sql to elasticsearch dsl in Go.
qmgo 490 9 2020/08/04 1 week ago The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo.
redeo 395 26 2014/03/06 5 months ago Redis-protocol compatible TCP servers/services.
neoism 376 25 2012/07/12 1 year ago Neo4j client for Golang.
aerospike-client-go 361 41 2014/07/26 2 days ago Aerospike client in Go language.
gokv 331 10 2018/10/08 6 months ago Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more).
gocb 324 61 2015/01/15 3 days ago Official Couchbase Go SDK.
go-couchbase 312 25 2012/01/19 2 weeks ago Couchbase client in Go.
mgm 287 14 2019/12/27 1 month ago MongoDB model-based ODM for Go (based on official MongoDB driver).
go-rejson 167 7 2018/04/23 1 month ago Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.
cachego 152 7 2016/10/05 8 months ago Golang Cache component for multiple drivers.
godis 89 10 2019/06/14 1 year ago redis client implement by golang, inspired by jedis.
skizze 77 7 2016/01/17 5 years ago probabilistic data-structures service and storage.
Neo4j-GO 76 7 2011/06/04 2 years ago Neo4j REST Client in golang.
dynago 71 124 2015/05/18 3 years ago Dynago is a principle of least surprise client for DynamoDB.
arangolite 69 6 2015/10/04 2 months ago Lightweight golang driver for ArangoDB.
go-pilosa 45 20 2016/09/30 1 year ago Go client library for Pilosa.
goforestdb 30 39 2014/05/14 4 years ago Go bindings for ForestDB.
neo4j 26 4 2013/05/18 6 years ago Neo4j Rest API Bindings for Golang.
goriak 25 4 2016/10/05 2 weeks ago Go language driver for Riak KV.
goes 24 34 2015/12/28 6 months ago Library to interact with Elasticsearch.
dsc 22 16 2016/06/13 1 year ago Datastore connectivity for SQL, NoSQL, structured files.
xredis 14 2 2017/06/14 1 year ago Typesafe, customizable, clean & easy to use Redis client.
godscache 8 3 2018/05/08 2 years ago A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.
asc 6 11 2016/06/13 2 years ago Datastore Connectivity for Aerospike for go.
gocosmos 2 1 2020/12/06 3 months ago REST client and standard database/sql driver for Azure Cosmos DB.

Date and Time

Libraries for working with dates and times.

Go_repository Stars Watchers Created_at Latest_push Description
now 3061 62 2013/11/18 1 month ago Now is a time toolkit for golang.
dateparse 1402 21 2014/04/21 2 weeks ago Parse date's without knowing format in advance.
carbon 585 44 2016/08/03 1 month ago Simple Time extension with a lot of util methods, ported from PHP Carbon library.
durafmt 379 5 2016/05/20 1 month ago Time duration formatting library for Go.
timeutil 185 8 2015/08/02 2 years ago Useful extensions (Timedelta, Strftime, ...) to the golang's time package.
go-persian-calendar 95 4 2016/01/31 7 months ago The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
iso8601 86 4 2017/04/25 2 days ago Efficiently parse ISO8601 date-times without regex.
timespan 74 6 2014/10/07 2 years ago For interacting with intervals of time, defined as a start time and a duration.
date 67 3 2015/11/23 1 month ago Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.
feiertage 38 3 2015/11/04 7 months ago Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...
go-sunrise 33 4 2017/06/15 6 months ago Calculate the sunrise and sunset times for a given location.
kair 19 1 2018/10/03 10 months ago Date and Time - Golang Formatting Library.
go-str2duration 19 3 2020/02/02 9 months ago Convert string to duration. Support time.Duration returned string and more.
nulltime 11 2 2016/03/06 4 years ago Nullable time.Time.
cronrange 10 1 2019/11/10 1 year ago Parses Cron-style time range expressions, checks if the given time is within any ranges.
tuesday 9 3 2017/08/10 3 years ago Ruby-compatible Strftime function.
strftime 7 2 2018/02/10 3 years ago C99-compatible strftime formatter.
go-week 5 4 2018/02/23 10 months ago An efficient package to work with ISO8601 week dates.

Distributed Systems

Packages that help with building Distributed Systems.

Go_repository Stars Watchers Created_at Latest_push Description
kit 20152 695 2015/02/03 6 days ago Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
go-micro 15969 508 2015/01/13 4 hours ago A distributed systems development framework.
nitro 14946 498 2015/01/13 5 months ago A distributed systems development framework.
nitro 14898 498 2015/01/13 5 months ago A distributed systems development framework.
go-micro 14444 485 2015/01/13 7 months ago A distributed systems development framework.
grpc-go 13701 495 2014/12/08 13 hours ago The Go language implementation of gRPC. HTTP/2 based RPC.
micro 10078 340 2015/01/16 1 hour ago A distributed systems runtime for the cloud and beyond.
nats-server 9284 375 2012/10/29 14 hours ago Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
rpcx 5648 340 2016/05/18 2 weeks ago Distributed pluggable RPC service framework like alibaba Dubbo.
raft 4685 335 2013/11/05 1 week ago Golang implementation of the Raft consensus protocol, by HashiCorp.
tendermint 4097 259 2014/05/14 1 hour ago High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols.
lura 3972 114 2016/11/04 1 day ago Ultra performant API Gateway framework with middlewares.
krakend 3891 112 2016/11/04 1 week ago Ultra performant API Gateway framework with middlewares.
torrent 3867 133 2015/01/08 1 day ago BitTorrent client package.
dragonboat 3615 140 2018/12/23 3 days ago A feature complete and high performance multi-group Raft library in Go.
glow 2942 147 2015/06/14 2 years ago Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
emitter 2848 102 2016/10/29 2 months ago High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.
gleam 2807 151 2016/08/26 3 months ago Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed.
liftbridge 2061 70 2017/10/13 2 days ago Lightweight, fault-tolerant message streams for NATS.
hprose-golang 1157 92 2014/02/14 1 day ago Very newbility RPC Library, support 25+ languages now.
ringpop-go 682 2420 2015/06/05 2 months ago Scalable, fault-tolerant application-layer sharding for Go applications.
gorpc 635 26 2014/11/20 1 year ago Simple, fast and scalable RPC library for high load.
rain 601 16 2014/05/21 1 month ago BitTorrent client and library.
go-health 593 110 2017/11/29 1 year ago Library for enabling asynchronous dependency health checks in your service.
redislock 400 7 2019/06/24 6 months ago Simplified distributed locking implementation using Redis.
digota 385 27 2017/08/14 2 months ago grpc ecommerce microservice.
go-sundheit 385 9 2019/04/08 1 day ago A library built to provide support for defining async service health checks for golang services.
consistent 380 14 2018/03/25 2 weeks ago Consistent hashing with bounded loads.
sleuth 334 10 2016/04/23 3 years ago Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).
go-jump 323 15 2014/06/15 3 years ago Port of Google's "Jump" Consistent Hash function.
dht 185 14 2016/12/14 4 days ago BitTorrent Kademlia DHT implementation.
jsonrpc 174 9 2016/11/10 2 months ago JSON-RPC 2.0 HTTP client implementation.
arpc 174 13 2020/05/19 1 month ago More effective network communication, support two-way-calling, notify, broadcast.
jsonrpc 146 5 2016/10/28 1 month ago The jsonrpc package helps implement of JSON-RPC 2.0.
celeriac.v1 65 4 2015/10/10 6 months ago Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
doublejump 60 4 2018/06/26 1 year ago A revamped Google's jump consistent hash.
semaphore 54 14 2020/02/05 1 week ago A straightforward (micro) service orchestrator.
outboxer 52 0 2019/02/01 12 hours ago Outboxer is a go library that implements the outbox pattern.
flowgraph 38 1 2018/08/29 2 weeks ago flow-based programming package.
maestro 34 16 2020/02/05 10 months ago A straightforward (micro) service orchestrator.
drmaa 32 2 2013/03/17 7 months ago Job submission library for cluster schedulers based on the DRMAA standard.
go-pdu 25 3 2018/10/08 2 months ago A decentralized identity-based social network.
go-mysql-lock 21 1 2020/06/06 3 months ago MySQL based distributed lock.
dynatomic 14 0 2019/02/08 6 months ago A library for using DynamoDB as an atomic counter.
micro 12 1 2020/05/03 1 month ago A Go distributed systems development framework.
consistenthash 9 1 2020/04/22 1 year ago Consistent hashing with configurable replicas.

Dynamic DNS

Tools for updating dynamic DNS records.

Go_repository Stars Watchers Created_at Latest_push Description
godns 810 34 2014/05/11 5 days ago A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
ddns 180 7 2017/03/13 1 week ago Personal DDNS client with Digital Ocean Networking DNS as backend.

Email

Libraries and tools that implement email creation and sending.

Go_repository Stars Watchers Created_at Latest_push Description
MailHog 8462 141 2014/04/16 1 month ago Email and SMTP testing with web and API interface.
hermes 2261 31 2017/03/25 5 months ago Golang package that generates clean, responsive HTML e-mails.
email 1731 50 2013/12/12 2 weeks ago A robust and flexible email library for Go.
go-imap 1262 39 2016/04/26 1 day ago IMAP library for clients and servers.
sendgrid-go 726 190 2013/09/12 1 week ago SendGrid's Go library for sending email.
mailgun-go 523 62 2014/02/28 1 month ago Go library for sending mail with the Mailgun API.
email-verifier 226 22 2020/12/18 2 weeks ago A Go library for email verification without sending any emails.
hectane 205 14 2015/08/28 5 months ago Lightweight SMTP client providing an HTTP API.
go-message 203 12 2016/12/31 1 week ago Streaming library for the Internet Message Format and mail messages.
douceur 194 3 2015/04/09 3 years ago CSS inliner for your HTML emails.
go-simple-mail 137 4 2019/09/15 1 week ago Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send.
mailchain 77 6 2019/04/11 2 weeks ago Send encrypted emails to blockchain addresses written in Go.
go-premailer 71 2 2015/02/16 2 months ago Inline styling for HTML mail in Go.
go-dkim 68 3 2015/04/29 6 months ago DKIM library, to sign & verify email.
smtp 63 10 2014/12/24 1 month ago SMTP server protocol state machine.
go-email-validator 8 3 2020/12/10 1 week ago Modular email validator for syntax, disposable, smtp, etc... checking.

Embeddable Scripting Languages

Embedding other languages inside your go code.

Go_repository Stars Watchers Created_at Latest_push Description
otto 5508 183 2012/10/06 8 months ago JavaScript interpreter written in Go.
gopher-lua 4075 153 2015/02/15 2 weeks ago Lua 5.1 VM and compiler written in Go.
tengo 2288 54 2019/01/09 1 week ago Bytecode compiled script language for Go.
goja 2132 64 2016/11/04 1 week ago ECMAScript 5.1(+) implementation in Go.
go-lua 2083 282 2013/12/20 3 weeks ago Port of the Lua 5.2 VM to pure Go.
expr 1750 42 2018/07/14 1 month ago Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing.
go-python 1256 43 2012/07/09 4 weeks ago naive go bindings to the CPython C-API.
anko 1130 47 2014/03/28 1 month ago Scriptable interpreter written in Go.
go-php 794 44 2015/09/17 2 years ago PHP bindings for Go.
cel-go 782 29 2018/03/09 2 weeks ago Fast, portable, non-Turing complete expression evaluation with gradual typing.
go-duktape 761 27 2015/01/08 1 month ago Duktape JavaScript engine bindings for Go.
golua 536 33 2010/12/06 6 days ago Go bindings for Lua C API.
gisp 460 21 2014/01/11 3 years ago Simple LISP in Go.
gval 319 16 2017/09/27 2 weeks ago A highly customizable expression language written in Go.
gentee 73 3 2018/01/14 4 months ago Embeddable scripting programming language.
binder 50 2 2017/04/02 2 years ago Go to Lua binding library, based on gopher-lua.
purl 31 3 2014/11/29 6 years ago Perl 5.18.2 embedded in Go.
ngaro 20 1 2016/08/09 2 years ago Embeddable Ngaro VM implementation enabling scripting in Retro.
ecal 8 1 2020/11/30 4 days ago A simple embeddable scripting language which supports concurrent event processing.

Error Handling

Libraries for handling errors.

Go_repository Stars Watchers Created_at Latest_push Description
errors 6854 111 2015/12/27 1 week ago Package that provides simple error handling primitives.
go-multierror 1253 218 2014/12/15 2 weeks ago Go (golang) package for representing a list of errors as a single error.
eris 798 10 2019/09/07 3 months ago A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors.
errorx 744 73 2018/08/17 1 month ago A feature rich error package with stack traces, composition of errors and more.
tracerr 657 11 2019/02/06 2 years ago Golang errors with stack trace and source fragments.
errlog 395 6 2019/02/16 5 months ago Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.
emperror 213 4 2017/06/13 7 months ago Error handling tools and best practices for Go libraries and applications.
errors 93 3 2019/07/09 1 month ago Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives.
errors 21 1 2020/07/17 2 months ago Drop-in replacement for builting Go errors. This is a minimal error handling package with custom error types, user friendly messages, Unwrap & Is. With very easy to use and straightforward helper functions.
werr 13 0 2015/08/04 5 years ago Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.
falcon 6 2 2019/09/09 1 year ago A Simple Yet Highly Powerful Package For Error Handling.
errors 3 1 2019/07/26 1 year ago Simple golang error handling with classification primitives.
errors 2 1 2020/01/08 1 year ago The most simple error wrapper with awesome performance and minimal memory overhead.

Files

Libraries for handling files and file systems.

Financial

Packages for accounting and finance.

Go_repository Stars Watchers Created_at Latest_push Description
decimal 2990 66 2015/02/25 1 week ago Arbitrary-precision fixed-point decimal numbers.
go-money 929 16 2017/03/20 3 weeks ago Implementation of Fowler's Money pattern.
accounting 649 14 2015/08/10 3 months ago money and currency formatting for golang.
go-finance 534 26 2016/02/28 3 years ago Comprehensive financial markets data in Go.
techan 447 37 2017/03/08 1 month ago Technical analysis library with advanced market analysis and trading strategies.
currency 245 6 2020/04/16 2 months ago Handles currency amounts, provides currency information and formatting.
orderbook 197 17 2018/04/24 1 day ago Matching Engine for Limit Order Book in Golang.
go-finance 94 6 2017/06/01 2 weeks ago Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
transaction 89 9 2017/10/11 2 months ago Embedded transactional database of accounts, running in multithreaded mode.
ofxgo 86 10 2015/11/08 1 month ago Query OFX servers and/or parse the responses (with example command-line client).
vat 82 3 2016/06/18 3 months ago VAT number validation & EU VAT rates.
go-finnhub 56 6 2020/01/13 1 year ago Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.
sleet 54 28 2019/11/13 2 weeks ago One unified interface for multiple Payment Service Providers (PsP) to process online payment.
currency 39 6 2017/05/09 11 months ago High performant & accurate currency computation package.
fastme 23 3 2020/10/29 1 week ago Fast extensible matching engine Go implementation.
go-finance 5 1 2019/09/30 1 year ago Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.

Forms

Libraries for working with forms.

Go_repository Stars Watchers Created_at Latest_push Description
nosurf 1150 34 2013/08/22 6 months ago CSRF protection middleware for Go.
binding 783 32 2014/05/20 3 years ago Binds form and JSON data from net/http Request to struct.
csrf 655 23 2015/08/03 1 month ago CSRF protection for Go web applications & services.
form 470 13 2016/05/26 2 months ago Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
conform 217 5 2016/01/05 2 months ago Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
formam 159 5 2014/10/25 2 months ago decode form's values into a struct.
forms 119 7 2014/08/07 3 years ago Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
qs 56 3 2020/10/02 6 months ago Go module for encoding structs into URL query parameters.
bind 25 3 2014/08/06 6 years ago Bind form data to any Go values.
queryparam 9 2 2018/06/14 7 months ago Decode url.Values into usable struct values of standard or custom types.

Functional

Packages to support functional programming in Go.

Go_repository Stars Watchers Created_at Latest_push Description
go-underscore 1193 30 2014/07/02 2 years ago Useful collection of helpfully functional Go collection utilities.
fpGo 171 6 2018/05/24 2 months ago Monad, Functional Programming features for Golang.
fuego 89 3 2018/11/05 6 months ago Functional Experiment in Go.

Game Development

Awesome game development libraries.

Go_repository Stars Watchers Created_at Latest_push Description
ebiten 4399 115 2013/06/16 1 hour ago dead simple 2D game library in Go.
leaf 3966 318 2014/08/04 1 year ago Lightweight game server framework.
pixel 3478 99 2016/11/19 1 month ago Hand-crafted 2D game library in Go.
goworld 1835 132 2017/06/03 8 months ago Scalable game server engine, featuring space-entity framework and hot-swapping.
nano 1688 65 2017/08/02 1 month ago Lightweight, facility, high performance golang based game server framework.
go-sdl2 1530 46 2013/06/05 5 days ago Go bindings for the Simple DirectMedia Layer.
engine 1431 75 2017/03/07 2 weeks ago Go 3D Game Engine.
engo 1368 49 2014/11/12 1 month ago Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
termloop 1201 32 2015/05/23 5 months ago Terminal-based game engine for Go, built on top of Termbox.
gonet 1136 136 2013/04/11 4 years ago Game server skeleton implemented with golang.
pitaya 1011 67 2018/03/19 1 day ago Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
oak 875 44 2017/07/15 1 day ago Pure Go game engine.
raylib-go 599 24 2017/01/27 2 months ago Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.
engine 481 26 2016/02/29 1 year ago 3D game engine written in Go.
go-astar 425 10 2014/05/28 8 months ago Go implementation of the A* path finding algorithm.
GarageEngine 320 31 2012/08/07 1 year ago 2d game engine written in Go working on OpenGL.
go3d 196 10 2011/06/27 1 year ago Performance oriented 2D/3D math package for Go.
glop 77 3 2011/04/20 5 years ago Glop (Game Library Of Power) is a fairly simple cross-platform game library.
prototype 56 2 2015/03/04 1 month ago Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.
tile 22 1 2020/08/19 8 months ago Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.
go-collada 15 3 2013/09/19 7 years ago Go package for working with the Collada file format.

Generation and Generics

Tools to enhance the language with features like generics via code generation.

Go_repository Stars Watchers Created_at Latest_push Description
go-linq 2497 74 2013/12/19 1 week ago .NET LINQ-like query methods for Go.
jennifer 2015 32 2016/12/04 3 months ago Generate arbitrary Go code without templates.
gen 1262 33 2013/10/13 1 year ago Code generation tool for ‘generics’-like functionality.
goderive 867 24 2017/02/10 6 months ago Derives functions from input types.
gowrap 496 11 2018/09/15 1 week ago Generate decorators for Go interfaces using simple templates.
interfaces 292 7 2015/12/06 2 weeks ago Command line tool for generating interface definitions.
go-enum 194 3 2017/08/10 1 week ago Code generation for enums from code comments.
pkgreflect 97 6 2012/09/03 3 years ago Go preprocessor for package scoped reflection.
efaceconv 47 4 2016/11/18 3 years ago Code generation tool for high performance conversion from interface{} to immutable type without allocations.
gotype 37 3 2017/12/05 1 year ago Golang source code parsing, usage like reflect package.
GENERIS 26 1 2019/03/10 1 month ago Code generation tool providing generics, free-form macros, conditional compilation and HTML templating.
go-xray 17 3 2019/10/01 1 year ago Helpers for making the use of reflection easier.
typeregistry 10 1 2020/01/14 1 year ago A library to create type dynamically.

Geographic

Geographic tools and servers

Go_repository Stars Watchers Created_at Latest_push Description
tile38 7408 208 2016/03/04 18 hours ago Geolocation DB with spatial index and realtime geofencing.
geo 1209 78 2014/12/03 3 months ago S2 geometry library in Go.
mbtileserver 231 16 2014/11/01 2 days ago A simple Go-based server for map tiles stored in mbtiles format.
osm 162 12 2016/02/02 2 weeks ago Library for reading, writing and working with OpenStreetMap data and APIs.
geocache 130 6 2016/06/21 4 years ago In-memory cache that is suitable for geolocation based applications.
wgs84 60 1 2019/06/08 5 months ago Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).
geoserver 51 1 2018/03/26 2 weeks ago geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
gismanager 38 0 2018/09/29 2 years ago Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.
pbf 24 3 2017/09/18 3 weeks ago OpenStreetMap PBF golang encoder/decoder.
s2-geojson 12 1 2020/03/27 1 year ago Convert geojson to s2 cells & demonstrating some S2 geometry features on map.

Go Compilers

Tools for compiling Go to other languages.

Go_repository Stars Watchers Created_at Latest_push Description
gopherjs 10174 259 2013/08/27 1 week ago Compiler from Go to JavaScript.
llgo 1095 63 2011/11/05 6 years ago LLVM-based compiler for Go.
tardisgo 407 30 2014/01/08 4 years ago Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
c4go 260 16 2018/03/28 2 weeks ago Transpile C code to Go code.
f4go 23 3 2018/07/08 4 months ago Transpile FORTRAN 77 code to Go code.

Goroutines

Tools for managing and working with Goroutines.

Go_repository Stars Watchers Created_at Latest_push Description
ants 5547 148 2018/05/19 2 weeks ago A high-performance and low-cost goroutine pool in Go.
goworker 2545 74 2013/07/22 1 month ago goworker is a Go-based background worker.
tunny 2282 70 2014/04/02 3 months ago Goroutine pool for golang.
grpool 626 29 2015/07/22 2 years ago Lightweight Goroutine pool.
pool 608 15 2015/10/28 1 year ago Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
workerpool 503 15 2016/05/17 4 days ago Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.
gowp 272 15 2019/09/14 11 months ago gowp is concurrency limiting goroutine pool.
pond 206 6 2020/03/21 2 weeks ago Minimalistic and High-performance goroutine worker pool written in Go.
go-floc 190 7 2017/07/03 3 days ago Orchestrate goroutines with ease.
go-flow 163 10 2016/09/25 2 years ago Control goroutines execution order.
semaphore 112 2 2017/11/22 1 month ago Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).
artifex 101 7 2018/10/31 8 months ago Simple in-memory job queue for Golang using worker-based dispatching.
go-workers 97 3 2020/10/06 1 week ago Easily and safely run workers for large data processing pipelines.
GoSlaves 95 4 2017/09/17 1 year ago Simple and Asynchronous Goroutine pool library.
breaker 94 3 2019/02/15 3 months ago Flexible mechanism to make execution flow interruptible.
semaphore 85 1 2016/10/08 1 year ago Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
async 80 13 2017/06/30 5 months ago A safe way to execute functions asynchronously, recovering them in case of panic.
gpool 78 1 2018/12/03 1 year ago manages a resizeable pool of context-aware goroutines to bound concurrency.
errgroup 76 2 2020/06/26 9 months ago Drop-in alternative to sync/errgroup, limited to a pool of N worker goroutines.
worker-pool 74 5 2017/10/04 3 months ago goworker is a Go simple async worker pool.
cyclicbarrier 64 2 2018/01/11 10 months ago CyclicBarrier for golang.
threadpool 59 3 2017/09/06 1 year ago Golang threadpool implementation.
gollback 55 1 2019/05/11 11 months ago asynchronous simple function utilities, for managing execution of closures and callbacks.
Hunch 50 1 2019/06/05 7 months ago Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
routine 40 3 2019/03/04 7 months ago go routine control with context, support: Main, Go, Pool and some useful Executors.
kyoo 32 2 2020/01/06 1 year ago Provides an unlimited job queue and concurrent worker pools.
parallel-fn 29 3 2017/06/18 3 years ago Run functions in parallel.
nursery 29 4 2019/11/23 3 months ago Structured concurrency in Go.
async 22 1 2019/12/28 8 months ago An alternative sync library for Go (Future, Promise, Locks).
goccm 19 1 2019/08/16 11 months ago Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently.
stl 18 2 2018/06/19 9 months ago Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.
go-trylock 17 1 2018/04/26 6 days ago TryLock support on read-write lock for Golang.
go-waitgroup 17 1 2018/08/08 1 year ago Like sync.WaitGroup with error handling and concurrency control.
gohive 13 3 2019/05/31 1 year ago A highly performant and easy to use Goroutine pool for Go.
channelify 11 1 2020/10/05 2 months ago Transform your function to return channels for easy and powerful parallel processing.
conexec 10 2 2019/12/24 10 months ago A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency.
queue 9 0 2018/12/21 2 years ago Gives you a sync.WaitGroup like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.
hands 6 1 2020/04/04 1 year ago A process controller used to control the execution and return strategies of multiple goroutines.
go-tools 5 2 2018/11/14 2 years ago Manage a pool of goroutines using this lightweight library with a simple API.
concurrency-limiter 4 1 2020/11/22 5 months ago Concurrency limiter with support for timeouts , dynamic priority and context cancellation of goroutines.

GUI

Interaction

Go_repository Stars Watchers Created_at Latest_push Description
fyne 13057 227 2018/02/04 45 minutes ago Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.
qt 8504 310 2014/11/19 4 months ago Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
webview 8303 220 2017/08/19 1 week ago Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
ui 7845 372 2014/02/17 3 months ago Platform-native GUI library for Go. Cross platform.
robotgo 6623 231 2016/09/26 4 days ago Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
webview 6166 211 2017/08/19 11 months ago Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
walk 5407 262 2010/09/16 1 month ago Windows application library kit for Go.
go-app 4792 141 2016/10/12 9 hours ago Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
go-astilectron 3809 137 2017/04/22 3 days ago Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron).
app 3314 111 2016/10/12 1 year ago Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
go-sciter 2063 124 2015/10/15 2 weeks ago Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.
systray 1794 61 2014/11/12 1 week ago Cross platform Go library to place an icon and menu in the notification area.
gotk3 1476 62 2015/08/13 12 hours ago Go bindings for GTK3.
gosx-notifier 537 15 2013/11/25 1 year ago OSX Desktop Notifications library for Go.
gowd 316 27 2017/03/29 1 year ago Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
trayhost 206 6 2014/04/25 1 year ago Cross-platform Go library to place an icon in the host operating system's taskbar.
go-appindicator 16 5 2019/05/04 4 months ago Go bindings for libappindicator3 C library.
activity-tracker 12 2 2019/03/12 1 year ago OSX library to notify about any (pluggable) activity on your machine.
mac-sleep-notifier 8 2 2019/03/30 1 year ago OSX Sleep/Wake notifications in golang.

Hardware

Libraries, tools, and tutorials for interacting with hardware.

Images

Libraries for manipulating images.

Go_repository Stars Watchers Created_at Latest_push Description
gocv 4010 138 2017/09/18 2 weeks ago Go package for computer vision using OpenCV 3.3+.
imaging 3705 76 2012/12/06 4 months ago Simple Go image processing package.
imaginary 3630 76 2015/03/04 1 month ago Fast and simple HTTP microservice for image resizing.
bild 3179 66 2016/08/01 2 months ago Collection of image processing algorithms in pure Go.
ln 2887 94 2016/01/10 1 year ago 3D line art rendering in Go.
gg 2784 89 2016/02/18 1 month ago 2D rendering in pure Go.
resize 2627 81 2012/08/02 5 months ago Image resizing for Go with common interpolation methods.
pt 1944 60 2015/01/23 2 years ago Path tracing engine written in Go.
svgo 1663 50 2010/03/05 1 month ago Go Language Library for SVG generation.
smartcrop 1512 34 2014/04/07 1 year ago Finds good crops for arbitrary images and crop sizes.
picfit 1466 54 2014/12/06 2 weeks ago An image resizing server written in Go.
bimg 1445 36 2015/03/17 1 month ago Small package for fast and efficient image processing using libvips.
gift 1436 51 2014/07/12 5 months ago Package of image processing filters.
imagick 1303 55 2013/04/30 2 weeks ago Go binding to ImageMagick's MagickWand C API.
go-opencv 1232 63 2013/12/09 2 years ago Go bindings for OpenCV.
geopattern 1121 21 2014/10/22 2 years ago Create beautiful generative image patterns from a string.
stegify 930 21 2018/11/29 10 months ago Go tool for LSB steganography, capable of hiding any file within an image.
canvas 693 17 2017/05/20 1 day ago Vector graphics to PDF, SVG or rasterized image.
image2ascii 527 9 2018/10/20 2 years ago Convert image to ASCII.
draft 489 13 2020/06/05 4 months ago Generate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax.
govips 470 10 2016/12/25 5 days ago A lightning fast image processing and resizing library for Go.
govatar 435 9 2016/01/18 2 months ago Library and CMD tool for generating funny avatars.
mort 431 20 2017/11/19 2 months ago Storage and image processing server written in Go.
goimagehash 407 11 2017/07/28 2 months ago Go Perceptual image hashing package.
go-nude 325 16 2014/05/02 2 years ago Nudity detection with Go.
rez 200 9 2014/01/16 3 years ago Image resizing in pure Go and SIMD.
darkroom 162 8 2019/07/01 2 months ago An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
mergi 137 7 2018/09/24 11 months ago Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
img 136 5 2012/07/28 6 years ago Selection of image manipulation tools.
go-cairo 102 6 2012/08/22 1 month ago Go binding for the cairo graphics library.
gltf 100 4 2019/01/15 1 month ago Efficient and robust glTF 2.0 reader, writer and validator.
steganography 94 4 2018/05/21 1 week ago Pure Go Library for LSB steganography.
cameron 67 4 2018/05/05 2 months ago An avatar generator for Go.
go-gd 52 4 2011/05/12 3 years ago Go binding for GD library.
gridder 40 4 2020/04/10 1 year ago A Grid based 2D Graphics library.
goimghdr 35 1 2018/02/25 1 year ago The imghdr module determines the type of image contained in a file for Go.
tga 27 3 2012/10/08 6 years ago Package tga is a TARGA image format decoder/encoder.
go-webcolors 25 2 2014/04/24 5 years ago Port of webcolors library from Python to Go.
webp-server 9 1 2020/11/22 3 months ago Simple and minimal image server capable of storing, resizing, converting and caching images.
mpo 6 1 2015/04/14 10 months ago Decoder and conversion tool for MPO 3D Photos.

IoT

Libraries for programming devices of the IoT.

Go_repository Stars Watchers Created_at Latest_push Description
flogo 1746 152 2016/07/10 5 months ago Project Flogo is an Open Source Framework for IoT Edge Apps & Integration.
mainflux 1406 103 2015/07/06 3 hours ago Industrial IoT Messaging and Device Management Server.
gatt 977 56 2014/04/23 10 months ago Gatt is a Go package for building Bluetooth Low Energy peripherals.
heedy 275 25 2015/01/16 2 months ago Open-Source Platform for Quantified Self & IoT.
devices 240 15 2016/05/30 4 years ago Suite of libraries for IoT devices, experimental for x/exp/io.
sensorbee 202 19 2016/02/19 1 year ago Lightweight stream processing engine for IoT.
huego 180 4 2017/05/16 4 days ago An extensive Philips Hue client library for Go.
eywa 48 8 2016/02/20 4 years ago Project Eywa is essentially a connection manager that keeps track of connected devices.

Job Scheduler

Libraries for scheduling jobs.

Go_repository Stars Watchers Created_at Latest_push Description
gron 855 16 2016/06/04 3 months ago Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.
jobrunner 850 27 2015/10/21 5 months ago Smart and featureful cron job scheduler with job queuing and live monitoring built in.
gocron 745 16 2020/03/20 6 days ago Easy and fluent Go job scheduling. This is an actively maintained fork of jasonlvhit/gocron.
jobs 483 18 2015/02/09 2 years ago Persistent and flexible background jobs library.
scheduler 365 15 2015/02/03 4 months ago Cronjobs scheduling made easy.
go-cron 201 9 2011/04/15 1 year ago 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.
go-quartz 134 8 2019/04/14 2 months ago Simple, zero-dependency scheduling library for Go.
leprechaun 82 8 2018/04/08 4 months ago Job scheduler that supports webhooks, crons and classic scheduling.
clockwork 28 1 2018/04/23 7 months ago Simple and intuitive job scheduling library in Go.
cronticker 1 1 2020/11/28 4 months ago A ticker implementation to support cron schedules.

JSON

Libraries for working with JSON.

Go_repository Stars Watchers Created_at Latest_push Description
gjson 8296 150 2016/08/11 21 hours ago Get a JSON value with one line of code.
gojson 2362 46 2012/12/27 10 months ago Automatically generate Go (golang) struct definitions from example JSON.
fastjson 1195 27 2018/05/28 3 weeks ago Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection.
kazaam 189 22 2016/07/19 1 year ago API for arbitrary transformation of JSON documents.
gojq 169 5 2015/12/30 5 months ago JSON query in Golang.
jsondiff 116 2 2020/11/28 4 months ago JSON diff library for Go based on RFC6902 (JSON Patch).
jettison 105 6 2019/08/30 4 months ago Fast and flexible JSON encoder for Go.
jsongo 96 1 2015/08/07 4 years ago Fluent API to make it easier to create Json objects.
gjo 91 8 2019/02/23 3 weeks ago Small utility to create JSON objects.
jaydiff 85 2 2017/04/24 3 months ago JSON diff utility written in Go.
json2go 79 3 2017/06/10 1 week ago Advanced JSON to Go struct conversion. Provides package that can parse multiple JSON documents and create struct to fit them all.
jsonf 61 3 2015/05/25 5 months ago Console tool for highlighted formatting and struct query fetching JSON.
ajson 59 2 2019/03/07 10 months ago Abstract JSON for golang with JSONPath support.
mp 44 2 2014/06/15 5 years ago Simple cli email parser. It currently takes stdin and outputs JSON.
go-respond 41 1 2017/03/12 1 year ago Go package for handling common HTTP JSON responses.
go-jsonerror 10 1 2018/10/18 1 year ago Go-JsonError is ment to allow us to easily create json response errors that follow the JsonApi spec.
jsonapi-errors 9 1 2016/07/08 4 years ago Go bindings based on the JSON API errors reference.
jsonhal 9 2 2016/01/15 1 year ago Simple Go package to make custom structs marshal into HAL compatible JSON responses.
ej 7 2 2020/01/04 1 year ago Write and read JSON from different sources succinctly.
dynjson 6 1 2020/05/06 1 month ago Client-customizable JSON formats for dynamic APIs.
epoch 5 1 2019/12/15 1 month ago Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from build-in time.Time type in JSON.
mapslice-json 4 1 2020/02/19 1 year ago Go MapSlice for ordered marshal/ unmarshal of maps in JSON.
jzon 4 1 2019/11/12 1 month ago JSON library with standard compatible API/behavior.
jsonic 2 1 2021/01/09 3 months ago Utilities to handle and query JSON without defining structs in a type safe manner.

Logging

Libraries for generating and working with log files.

Go_repository Stars Watchers Created_at Latest_push Description
logrus 17814 308 2013/10/16 3 weeks ago Structured logger for Go.
zap 12550 250 2016/02/18 13 hours ago Fast, structured, leveled logging in Go.
zerolog 4678 55 2017/05/12 1 hour ago Zero-allocation JSON logger.
go-spew 4407 61 2013/01/09 5 months ago Implements a deep pretty printer for Go data structures to aid in debugging.
glog 2699 88 2013/07/16 2 weeks ago Leveled execution logs for Go.
lumberjack 2521 55 2014/06/14 2 months ago Simple rolling logger, implements io.WriteCloser.
tail 2066 98 2013/02/05 2 days ago Go package striving to emulate the features of the BSD tail program.
seelog 1537 90 2011/11/17 2 years ago Logging functionality with flexible dispatching, filtering, and formatting.
log 1128 35 2015/12/21 3 months ago Structured logging package for Go.
log15 1010 26 2014/05/20 6 months ago Simple, powerful logging for Go.
onelog 393 10 2018/05/06 2 years ago Onelog is a dead simple but very efficient JSON logger. It is the fastest JSON logger out there in all scenarios. Also, it is one of the logger with the lowest allocation.
log 367 16 2019/07/07 1 week ago Structured Logging Made Easy.
logxi 347 10 2015/03/01 1 year ago 12-factor app logger that is fast and makes you happy.
logutils 292 233 2013/10/09 11 months ago Utilities for slightly better logging in Go (Golang) extending the standard logger.
log 275 11 2016/02/07 1 year ago Simple, configurable and scalable Structured Logging for Go.
go-logger 263 7 2014/09/26 2 years ago Simple logger of Go Programs, with level handlers.
httpretty 224 5 2020/01/24 4 months ago Pretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest).
sqldb-logger 172 3 2019/11/02 1 month ago A logger for Go SQL database driver without modify existing *sql.DB stdlib usage.
rollingwriter 171 8 2017/02/12 7 months ago RollingWriter is an auto-rotate io.Writer implementation with multi policies to provide log file rotation.
logger 148 6 2014/09/30 6 months ago Minimalistic logging library for Go.
xlog 135 8 2015/10/22 2 months ago Structured logger for net/context aware HTTP handlers with flexible dispatching.
logur 122 5 2018/12/09 7 months ago An opinionated logger interface and collection of logging best practices with adapters and integrations for well-known libraries (logrus, go-kit log, zap, zerolog, etc).
ozzo-log 115 12 2015/10/22 4 months ago High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail).
glg 112 6 2017/06/21 4 days ago glg is simple and fast leveled logging library for Go.
logvoyage 88 5 2015/03/29 4 years ago Full-featured logging saas written in golang.
log 45 6 2014/04/19 5 years ago Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
go-cronowriter 40 1 2017/02/04 1 month ago Simple writer that rotate log files automatically based on current date and time, like cronolog.
gologger 39 6 2015/09/02 3 years ago Simple easy to use log lib for go, logs in Colored Console, Simple Console, File or Elasticsearch.
go-log 37 2 2014/05/02 3 years ago Log4j implementation in Go.
logex 37 8 2014/10/10 4 years ago Golang log lib, supports tracking and level, wrap by standard log lib.
go-log 28 6 2014/05/18 2 years ago Log lib supports level and multi handlers.
distillog 27 1 2015/10/12 2 years ago distilled levelled logging (think of it as stdlib + log levels).
journald 26 2 2017/08/23 2 months ago Go implementation of systemd Journal's native API for logging.
logrusly 26 4 2014/09/11 9 months ago logrus plug-in to send errors to a Loggly.
log 24 1 2017/10/28 3 years ago Structured log interface for Go cleanly separates logging facade from its implementation.
mlog 23 1 2014/10/20 2 years ago Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
gomol 17 2 2015/08/30 2 years ago Multiple-output, structured logging for Go with extensible logging outputs.
zkits-logger 14 1 2020/03/31 4 hours ago A powerful zero-dependency JSON logger.
glo 13 1 2019/01/19 2 years ago PHP Monolog inspired logging facility with identical severity levels.
logrusiowriter 12 94 2019/08/09 10 months ago io.Writer implementation using logrus logger.
go-log 11 2 2017/05/07 3 years ago Simple and configurable Logging in Go, with level, formatters and writers.
logmatic 10 2 2018/11/07 4 months ago Colorized logger for Golang with dynamic log level configuration.
logdump 9 2 2017/01/13 3 years ago Package for multi-level logging.
logmatic 9 2 2018/11/07 2 years ago Colorized logger for Golang with dynamic log level configuration.
logo 9 2 2017/02/07 4 months ago Golang logger to different configurable writers.
go-log 8 2 2019/10/01 10 months ago A logging library with strack traces, object dumping and optional timestamps.
log 8 1 2017/06/10 1 year ago An O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection).
xlog 6 1 2016/05/05 2 years ago Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format.
kemba 4 1 2020/07/13 1 week ago A tiny debug logging tool inspired by debug, great for CLI tools and applications.

Machine Learning

Libraries for Machine Learning.

Go_repository Stars Watchers Created_at Latest_push Description
golearn 7808 433 2013/12/26 2 days ago General Machine Learning library for Go.
gorgonia 4007 187 2016/09/14 3 weeks ago graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.
tfgo 1699 56 2017/05/23 3 months ago Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python.
gosseract 1442 47 2013/10/11 3 days ago Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
gorse 1205 2 2018/08/14 1 day ago An offline recommender system backend based on collaborative filtering written in Go.
goml 1186 75 2015/06/27 2 years ago On-line Machine Learning in Go.
eaopt 729 29 2016/01/31 1 month ago An evolutionary optimization library.
bayesian 703 34 2011/11/23 9 months ago Naive Bayesian Classification for Golang.
CloudForest 684 44 2012/10/22 5 months ago Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
gobrain 478 27 2014/04/29 5 months ago Neural Networks written in go.
ocrserver 363 14 2015/11/15 1 week ago A simple OCR API server, seriously easy to be deployed by Docker and Heroku.
onnx-go 318 12 2018/08/28 1 month ago Go Interface to Open Neural Network Exchange (ONNX).
go-deep 315 17 2017/12/09 1 month ago A feature-rich neural network library in Go.
regommend 292 16 2014/02/05 1 year ago Recommendation & collaborative filtering engine.
go-galib 183 15 2009/11/30 5 years ago Genetic Algorithms library written in Go / golang.
goptuna 176 8 2019/07/24 2 weeks ago Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.
goRecommend 172 10 2014/07/16 6 years ago Recommendation Algorithms library written in Go.
shield 140 11 2013/04/10 1 year ago Bayesian text classifier with flexible tokenizers and storage backends for Go.
goga 105 9 2015/10/20 4 years ago Genetic algorithm library for Go.
go-fann 103 8 2011/03/10 6 years ago Go bindings for Fast Artificial Neural Networks(FANN) library.
libsvm 67 11 2012/07/31 5 years ago libsvm golang version derived work based on LIBSVM 3.14.
gonet 66 5 2020/01/11 1 year ago Neural Network for Go.
goscore 64 7 2017/08/19 1 year ago Go Scoring API for PMML.
neural-go 61 3 2011/10/17 8 months ago Multilayer perceptron network implemented in Go, with training via backpropagation.
go-pr 58 7 2013/06/07 8 years ago Pattern recognition package in Go lang.
neat 58 13 2016/11/17 2 years ago Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
go-featureprocessing 53 1 2020/12/18 6 days ago Fast and convenient feature processing for low latency machine leraning in Go.
fonet 43 5 2017/10/03 1 year ago A Deep Neural Network library written in Go.
golinear 41 6 2013/04/05 2 years ago liblinear bindings for Go.
Varis 35 7 2017/10/10 2 years ago Golang Neural Network.
go-cluster 28 6 2017/10/04 2 years ago Go implementation of the k-modes and k-prototypes clustering algorithms.
godist 28 3 2014/09/05 6 years ago Various probability distributions, and associated methods.
evoli 15 5 2015/06/12 1 month ago Genetic Algorithm and Particle Swarm Optimization library.
probab 15 2 2015/09/14 5 years ago Probability distribution functions. Bayesian inference. Written in pure Go.
gomind 10 3 2017/10/19 2 years ago A simplistic Neural Network Library in Go.
randomForest 9 3 2018/10/25 4 months ago Easy to use Random Forest library for Go.

Messaging

Libraries that implement messaging systems.

Go_repository Stars Watchers Created_at Latest_push Description
sarama 7192 425 2013/07/05 6 days ago Go library for Apache Kafka.
gorush 5438 193 2016/03/22 1 day ago Push notification server using APNs2 and google GCM.
machinery 5180 151 2015/04/05 3 weeks ago Asynchronous task queue/job queue based on distributed message passing.
centrifugo 5026 193 2015/03/31 2 weeks ago Real-time messaging (Websockets or SockJS) server in Go.
go-socket.io 4049 129 2013/07/13 3 hours ago socket.io library for golang, a realtime application framework.
nats.go 3345 160 2012/08/15 17 hours ago Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library.
benthos 3074 84 2016/03/22 19 hours ago A message streaming bridge between a range of protocols.
confluent-kafka-go 2673 270 2016/07/12 2 days ago confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform.
apns2 2491 77 2016/01/05 3 months ago HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps.
mercure 2422 58 2018/07/14 6 days ago Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).
melody 2124 57 2015/05/13 1 year ago Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.
gopush-cluster 1975 231 2013/12/27 3 years ago gopush-cluster is a go push server cluster.
go-nsq 1896 67 2013/08/29 3 months ago the official Go package for NSQ.
mangos-v1 1532 83 2014/10/25 1 year ago Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability.
uniqush-push 1253 79 2011/08/29 1 year ago Redis backed unified push service for server-side notifications to mobile devices.
asynq 1160 30 2019/11/15 1 day ago A simple, reliable, and efficient distributed task queue for Go built on top of Redis.
Beaver 1082 27 2018/10/20 3 days ago A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
EventBus 912 27 2014/12/19 6 months ago The lightweight event bus with async compatibility.
zmq4 907 43 2013/10/18 1 month ago Go interface to ZeroMQ version 4. Also available for version 3 and version 2.
gollum 890 38 2015/06/20 1 year ago A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.
dbus 588 19 2014/03/27 5 days ago Native Go bindings for D-Bus.
golongpoll 551 22 2015/11/02 2 weeks ago HTTP longpoll server library that makes web pub-sub simple.
mangos 405 23 2018/10/12 1 month ago Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability.
emitter 401 10 2015/11/10 1 year ago Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
glue 369 17 2015/06/07 11 months ago Robust Go and Javascript Socket Library (Alternative to Socket.io).
pubsub 347 9 2012/04/01 10 months ago Simple pubsub package for go.
bus 203 5 2019/04/27 2 days ago Minimalist message bus implementation for internal communication.
rabtap 175 11 2017/11/11 1 month ago RabbitMQ swiss army knife cli app.
message-bus 174 7 2017/10/04 3 months ago messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
guble 146 13 2015/11/15 3 years ago Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.
oplog 106 91 2014/11/06 5 years ago Generic oplog/replication system for REST APIs.
hub 99 2 2018/04/13 6 months ago A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
rabbus 88 8 2017/05/07 1 year ago A tiny wrapper over amqp exchanges and queues.
drone-line 74 5 2016/09/13 4 weeks ago Sending Line notifications using a binary, docker or Drone CI.
nsq-event-bus 67 9 2017/01/15 3 years ago A tiny wrapper around NSQ topic and channel.
RapidMQ 61 5 2016/10/04 3 years ago RapidMQ is a lightweight and reliable library for managing of the local messages queue.
go-mq 60 6 2017/06/19 6 hours ago RabbitMQ client with declarative configuration.
redisqueue 55 2 2019/07/07 1 month ago redisqueue provides a producer and consumer of a queue that uses Redis streams.
go-notify 53 2 2015/03/01 5 months ago Native implementation of the freedesktop notification spec.
commander 53 1 2018/04/20 2 weeks ago A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
go-res 47 2 2018/07/15 3 weeks ago Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate.
commander 38 1 2018/04/20 1 year ago A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
event 37 4 2017/07/02 3 years ago Implementation of the pattern observer.
hare 25 1 2020/12/01 2 weeks ago A user friendly library for sending messages and listening to TCP sockets.
ami 17 1 2018/10/27 1 year ago Go client to reliable queues based on Redis Cluster Streams.
gosd 17 1 2020/05/17 5 months ago A library for scheduling when to dispatch a message to a channel.
go-vitotrol 16 7 2016/11/03 2 months ago Client library to Viessmann Vitotrol web service.
jazz 13 4 2018/10/22 2 years ago A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
rmqconn 13 1 2019/01/14 1 year ago RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
gaurun-client 9 1 2017/06/29 1 month ago Gaurun Client written in Go.

Microsoft Office

Go_repository Stars Watchers Created_at Latest_push Description
unioffice 2840 68 2017/08/29 2 weeks ago Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.

Microsoft Excel

Libraries for working with Microsoft Excel.

Go_repository Stars Watchers Created_at Latest_push Description
excelize 8676 197 2016/08/29 49 minutes ago Golang library for reading and writing Microsoft Excel™ (XLSX) files.
xlsx 4928 176 2011/06/28 5 days ago Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
xlsx 134 12 2017/08/26 6 months ago Fast and safe way to read/update your existing Microsoft Excel files in Go programs.
go-excel 117 3 2017/09/03 4 months ago A simple and light reader to read a relate-db-like excel as a table.
goxlsxwriter 15 2 2017/03/13 2 years ago Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files.

Miscellaneous

Dependency Injection

Libraries for working with dependency injection.

Go_repository Stars Watchers Created_at Latest_push Description
fx 1978 58 2016/10/27 2 days ago A dependency injection based application framework for Go (built on top of dig).
dig 1900 48 2017/03/21 6 days ago A reflection based dependency injection toolkit for Go.
container 180 5 2019/09/23 1 month ago A powerful IoC Container with fluent and easy-to-use interface.
dingo 101 23 2018/10/29 1 week ago A dependency injection toolkit for Go, based on Guice.
di 83 7 2020/02/03 1 week ago A dependency injection container for go programming language.
di 75 3 2020/06/11 1 day ago Spring-inspired Dependency Injection Container.
inject 53 1 2019/02/03 1 year ago A reflection based dependency injection container with simple interface.
alice 44 2 2017/04/08 4 years ago Additive dependency injection container for Golang.
linker 32 3 2018/12/04 10 months ago A reflection based dependency injection and inversion of control library with components lifecycle support.
wire 32 2 2018/07/05 1 year ago Strict Runtime Dependency Injection for Golang.
gocontainer 14 0 2019/06/06 1 year ago Simple Dependency Injection Container.

Project Layout

Unofficial set of patterns for structuring projects.

Go_repository Stars Watchers Created_at Latest_push Description
project-layout 23666 527 2017/09/09 1 day ago Set of common historical and emerging project layout patterns in the Go ecosystem.
go-restful-api 1038 52 2016/08/15 1 year ago An idiomatic Go RESTful API starter kit following SOLID principles and Clean Architecture with a common project layout.
modern-go-application 921 20 2018/09/14 3 months ago Go application boilerplate and example applying modern practices.
cookiecutter-golang 444 9 2016/12/18 3 months ago A Go application boilerplate template for quick starting projects following production best practices.
seed 154 4 2020/04/30 1 week ago Go application GitHub repository template.
scaffold 98 4 2018/12/11 2 years ago Scaffold generates a starter Go project layout. Lets you focus on business logic implemented.
go-sample 84 1 2019/01/24 2 years ago A sample layout for Go application projects with the real code.
go-todo-backend 69 4 2020/06/25 2 months ago Go Todo Backend example using modular project layout for product microservice.
gobase 7 2 2020/12/15 3 weeks ago A simple skeleton for golang application with basic setup for real golang application.

Strings

Libraries for working with strings.

Go_repository Stars Watchers Created_at Latest_push Description
xstrings 896 24 2015/01/06 4 months ago Collection of useful string functions ported from other languages.
strutil 120 2 2018/08/16 1 year ago String utilities.
stringy 55 2 2020/04/03 1 month ago String manipulation library to convert string to camel case, snake case, kebab case / slugify etc.
Stringy 30 1 2020/04/03 1 year ago String manipulation library to convert string to camel case, snake case, kebab case / slugify etc.

Uncategorized

These libraries were placed here because none of the other categories seemed to fit.

Go_repository Stars Watchers Created_at Latest_push Description
gopsutil 6260 202 2014/04/18 2 days ago Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
archiver 3201 52 2016/04/08 3 weeks ago Library and command for making and extracting .zip and .tar.gz archives.
gofakeit 1854 19 2015/04/24 1 day ago Random data generator written in go.
gosms 1330 57 2015/01/23 3 months ago Your own local SMS gateway in Go that can be used to send SMS.
gatus 1305 20 2019/09/04 5 hours ago Automated service health dashboard.
go-resiliency 1183 28 2014/11/29 6 months ago Resiliency patterns for golang.
base64Captcha 1087 47 2017/12/12 3 weeks ago Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.
go-commons-pool 951 50 2015/12/28 1 week ago Generic object pool for Golang.
llvm 694 32 2014/09/19 1 day ago Library for interacting with LLVM IR in pure Go.
shortid 671 10 2016/01/04 5 months ago Distributed generation of super short, unique, non-sequential, URL friendly IDs.
health 416 6 2016/03/08 1 year ago Easy to use, extensible health check library.
ghorg 414 11 2018/03/29 2 weeks ago Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, and Bitbucket.
go-conv 368 9 2016/10/11 4 years ago Package conv provides fast and intuitive conversions across Go types.
banner 347 6 2016/03/25 4 months ago Add beautiful banners into your Go applications.
gountries 309 10 2016/01/13 1 week ago Package that exposes country and subdivision data.
stateless 259 4 2019/09/11 3 weeks ago A fluent library for creating state machines.
ffmt 227 5 2015/02/14 1 month ago Beautify data display for Humans.
antch 205 15 2017/09/28 11 months ago A fast, powerful and extensible web crawling & scraping framework.
shoutrrr 205 8 2019/04/11 6 days ago Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others.
lk 203 7 2016/07/14 1 year ago A simple licensing library for golang.
battery 187 4 2016/03/12 4 weeks ago Cross-platform, normalized battery information library.
healthcheck 165 7 2017/08/18 1 year ago An opinionated and concurrent health-check HTTP handler for RESTful services.
bitio 150 8 2016/05/31 1 year ago Highly optimized bit-level Reader and Writer for Go.
stats 150 3 2015/09/14 4 years ago Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
go-unarr 135 6 2015/11/01 7 months ago Decompression library for RAR, TAR, ZIP and 7z archives.
turtle 121 2 2017/09/08 11 months ago Emojis for Go.
gommit 93 3 2016/08/30 2 weeks ago Analyze git commit messages to ensure they follow defined patterns.
gotoprom 89 97 2018/10/10 1 year ago Type-safe metrics builder wrapper library for the official Prometheus client.
indigo 84 1 2016/08/31 3 months ago Distributed unique ID generator of using Sonyflake and encoded by Base58.
captcha 77 5 2017/09/12 4 months ago Package captcha provides an easy to use, unopinionated API for captcha generation.
morse 67 3 2018/08/15 2 years ago Library to convert to and from morse code.
pdfgen 51 4 2015/11/30 3 years ago HTTP service to generate PDF from Json requests.
persian 51 4 2017/10/16 4 months ago Some utilities for Persian language in go.
xkg 50 2 2015/01/05 6 years ago X Keyboard Grabber.
browscap_go 37 6 2014/09/18 1 year ago GoLang Library for Browser Capabilities Project.
datacounter 36 1 2015/10/14 1 year ago Go counters for readers/writer/http.ResponseWriter.
faker 36 3 2020/07/22 3 weeks ago Random fake data and struct generator for Go.
autoflags 34 5 2014/05/15 1 week ago Go package to automatically define command line flags from struct fields.
sandid 30 1 2018/06/12 2 months ago Every grain of sand on earth has its own ID.
url-shortener 26 1 2018/06/04 2 years ago A modern, powerful, and robust URL shortener microservice with mysql support.
gosh 25 0 2018/05/25 4 months ago Provide Go Statistics Handler, Struct, Measure Method.
xdg 25 3 2013/12/15 2 years ago FreeDesktop.org (xdg) Specs implemented in Go.
metrics 19 1 2019/01/29 2 months ago Library for metrics instrumentation and Prometheus exposition.
shellwords 14 1 2017/09/28 3 years ago A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.
anagent 12 2 2017/12/29 2 years ago Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
avgRating 10 2 2017/08/05 3 years ago Calculate average score and rating based on Wilson Score Equation.
hostutils 9 1 2017/09/26 2 years ago A golang library for packing and unpacking FQDNs list.
numa 6 3 2018/12/10 4 months ago NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.

Natural Language Processing

Libraries for working with human languages.

Go_repository Stars Watchers Created_at Latest_push Description
prose 2731 60 2017/02/17 3 months ago Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
gse 1561 56 2017/06/23 6 days ago Go efficient text segmentation; support english, chinese, japanese and other.
gojieba 1490 67 2015/09/12 4 months ago This is a Go implementation of jieba which a Chinese word splitting algorithm.
when 1116 25 2016/12/27 2 months ago Natural EN and RU language date/time parser with pluggable rules.
go-pinyin 939 37 2014/11/09 4 hours ago CN Hanzi to Hanyu Pinyin converter.
spago 885 25 2020/01/05 54 minutes ago Self-contained Machine Learning and Natural Language Processing library in Go.
kagome 562 23 2014/06/26 8 hours ago JP morphological analyzer written in pure Go.
whatlanggo 488 15 2017/02/20 3 months ago Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
nlp 366 23 2017/01/25 3 years ago Extract values from strings and fill your structs with nlp.
nlp 308 24 2017/03/15 2 days ago Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
sentences 296 14 2015/08/07 2 years ago Sentence tokenizer: converts text into a list of sentences.
getlang 110 4 2018/03/01 4 months ago Fast natural language detection package.
go-nlp 89 6 2011/05/02 9 years ago Utilities for working with discrete probability distributions and other tools useful for doing NLP work.
go-unidecode 88 2 2016/07/08 1 week ago ASCII transliterations of Unicode text.
RAKE.Go 79 7 2016/12/17 1 year ago Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
gounidecode 73 5 2012/05/01 5 years ago Unicode transliterator (also known as unidecode) for Go.
textcat 65 6 2012/09/21 2 months ago Go package for n-gram based text categorization, with support for utf-8 and raw text.
go-stem 61 4 2011/09/23 2 years ago Implementation of the porter stemming algorithm.
MMSEGO 59 5 2012/04/18 9 years ago This is a GO implementation of MMSEG which a Chinese word splitting algorithm.
stemmer 49 4 2011/03/21 4 years ago Stemmer packages for Go programming language. Includes English and German stemmers.
go2vec 41 7 2015/01/27 2 years ago Reader and utility functions for word2vec embeddings.
porter2 40 2 2015/01/21 7 months ago Really fast Porter 2 stemmer.
petrovich 33 1 2016/12/26 2 months ago Petrovich is the library which inflects Russian names to given grammatical case.
snowball 27 1 2012/12/11 3 years ago Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.
address 27 2 2020/10/07 2 months ago Handles address representation, validation and formatting.
paicehusk 26 3 2012/09/29 7 years ago Golang implementation of the Paice/Husk Stemming Algorithm.
mystem 25 3 2016/08/30 4 years ago CGo bindings to Yandex.Mystem - russian morphology analyzer.
go-localize 22 2 2019/12/23 1 month ago Simple and easy to use i18n (Internationalization and localization) engine - used for translating locale strings.
iuliia-go 22 2 2020/04/27 11 months ago Transliterate Cyrillic → Latin in every possible way.
icu 19 0 2012/12/11 4 years ago Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
golibstemmer 18 2 2012/08/06 7 years ago Go bindings for the snowball libstemmer library including porter 2.
govader 15 1 2020/01/19 2 months ago Go implementation of VADER Sentiment Analysis.
shamoji 12 2 2017/07/23 3 months ago The shamoji is word filtering package written in Go.
gotokenizer 11 1 2018/10/11 2 years ago A tokenizer based on the dictionary and Bigram language models for Go. (Now only support chinese segmentation)
detectlanguage-go 10 2 2019/12/14 7 months ago Language Detection API Go Client. Supports batch requests, short phrase or single word language detection.
libtextcat 10 2 2012/12/10 8 years ago Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
transliterator 10 1 2020/04/17 1 year ago Provides one-way string transliteration with supporting of language-specific transliteration rules.
porter 8 1 2013/09/17 7 years ago This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
gosentiwordnet 6 1 2020/04/21 2 months ago Sentiment analyzer using sentiwordnet lexicon in Go.

Networking

Libraries for working with various layers of the network.

Go_repository Stars Watchers Created_at Latest_push Description
fasthttp 15057 403 2015/10/18 1 day ago Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
kcptun 12449 596 2016/02/26 1 month ago Extremely simple & fast udp tunnel based on KCP protocol.
webrtc 7106 240 2018/05/18 3 days ago A pure Go implementation of the WebRTC API.
dns 5552 173 2010/08/03 9 hours ago Go library for working with DNS.
quic-go 5259 201 2016/04/06 1 day ago An implementation of the QUIC protocol in pure Go.
gnet 4527 140 2019/02/24 1 day ago gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
gopacket 4143 142 2015/03/16 1 week ago Go library for packet processing with libpcap bindings.
httplab 3688 63 2017/02/08 1 year ago HTTPLabs let you inspect HTTP requests and forge responses.
kcp-go 2959 146 2015/06/16 1 week ago KCP - Fast and Reliable ARQ Protocol.
gobgp 2202 122 2014/09/14 3 days ago BGP implemented in the Go Programming Language.
ssh 2019 53 2016/10/03 1 month ago Higher-level API for building SSH servers (wraps crypto/ssh).
fortio 1902 41 2017/10/10 19 hours ago Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC.
water 1232 46 2013/03/25 3 weeks ago Simple TUN/TAP library.
go-getter 1152 222 2015/10/12 1 day ago Go library for downloading files or directories from various sources using a URL.
gev 1130 36 2019/09/01 5 days ago gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.
nff-go 1048 81 2017/03/29 3 weeks ago Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
sftp 991 55 2013/11/05 2 weeks ago Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
grab 840 17 2016/01/05 3 months ago Go package for managing file downloads.
ftp 797 25 2011/05/06 1 month ago Package ftp implements a FTP client as described in RFC 959.
mdns 770 225 2014/01/29 4 weeks ago Simple mDNS (Multicast DNS) client/server library in Golang.
gosnmp 723 49 2012/08/27 42 minutes ago Native Go library for performing SNMP actions.
vssh 712 22 2020/06/09 5 months ago Go library for building network and server automation over SSH protocol.
lhttp 614 58 2015/12/29 3 years ago Powerful websocket framework, build your IM server more easily.
cidranger 606 16 2017/08/21 1 month ago Fast IP to CIDR lookup for Go.
gosnmp 563 46 2012/08/27 7 months ago Native Go library for performing SNMP actions.
peerdiscovery 485 18 2018/04/22 21 hours ago Pure Go library for cross-platform local peer discovery using UDP multicast.
gotcp 481 40 2014/04/13 4 years ago Go package for quickly writing tcp applications.
stun 462 20 2016/04/24 1 month ago Go implementation of RFC 5389 STUN protocol.
go-stun 431 14 2013/08/17 1 month ago Go implementation of the STUN client (RFC 3489 and RFC 5389).
gopcap 417 23 2009/11/19 1 year ago Go wrapper for libpcap.
raw 390 13 2015/07/06 1 week ago Package raw enables reading and writing data at the device driver level for a network interface.
tcp_server 373 19 2014/10/13 1 month ago Go library for building tcp servers faster.
gmqtt 338 26 2018/09/16 1 day ago Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
gaio 334 13 2019/12/20 5 days ago High performance async-io networking for Golang in proactor mode.
winrm 299 19 2013/12/30 1 week ago Go WinRM client to remotely execute commands on Windows machines.
arp 256 10 2015/07/06 1 year ago Package arp implements the ARP protocol, as described in RFC 826.
buffstreams 244 14 2015/06/29 9 months ago Streaming protocolbuffer data over TCP made easy.
ethernet 222 13 2015/07/03 1 year ago Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
gnxi 176 32 2017/09/26 2 weeks ago A collection of tools for Network Management that use the gNMI and gNOI protocols.
jazigo 165 13 2016/06/07 1 year ago Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
utp 158 17 2015/03/20 3 months ago Go uTP micro transport protocol implementation.
canopus 144 14 2015/02/24 3 years ago CoAP Client/Server implementation (RFC 7252).
sslb 130 9 2015/10/18 1 year ago It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
xtcp 117 15 2016/03/31 1 year ago TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.
dhcp6 70 4 2015/05/22 2 years ago Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
ether 69 4 2014/05/21 5 years ago Cross-platform Go package for sending and receiving ethernet frames.
packet 56 4 2017/10/29 1 year ago Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
linkio 49 2 2014/12/24 3 years ago Network link speed simulation for Reader/Writer interfaces.
portproxy 44 0 2014/12/13 6 years ago Simple TCP proxy which adds CORS support to API's which don't support it.
go-powerdns 29 2 2018/06/21 1 month ago PowerDNS API bindings for Golang.
graval 26 8 2014/04/22 7 months ago Experimental FTP server framework.
publicip 22 2 2016/12/28 4 years ago Package publicip returns your public facing IPv4 address (internet egress).
panoptes-stream 22 10 2020/10/09 2 months ago A cloud native distributed streaming network telemetry (gNMI, Juniper JTI and Cisco MDT).
golibwireshark 19 2 2015/11/16 3 years ago Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
gohooks 12 1 2020/10/30 4 months ago GoHooks make it easy to send and consume secured web-hooks from a Go application. Inspired by Spatie's Laravel Webhook Client and Server.
goshark 11 1 2015/11/01 3 years ago Package goshark use tshark to decode IP packet and create data struct to analyse packet.
llb 11 1 2016/02/21 5 years ago It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.
httpproxy 9 1 2018/07/18 4 months ago HTTP proxy handler and dialer.
tspool 9 1 2018/10/27 2 years ago A TCP Library use worker pool to improve performance and protect your server.
gosocsvr 5 2 2019/11/12 1 year ago Socket server made simple.

HTTP Clients

Libraries for making HTTP requests.

Go_repository Stars Watchers Created_at Latest_push Description
resty 4223 84 2015/08/28 2 days ago Simple HTTP and REST client for Go inspired by Ruby rest-client.
heimdall 1842 48 2018/01/19 1 day ago An enchanced http client with retry and hystrix capabilities.
grequests 1769 34 2015/06/11 5 months ago A Go "clone" of the great and famous Requests library.
sling 1276 32 2015/04/02 6 days ago Sling is a Go HTTP client library for creating and sending API requests.
gentleman 895 20 2016/02/21 2 months ago Full-featured plugin-driven HTTP client library.
pester 549 6 2015/05/20 10 months ago Go HTTP client calls with retries, backoff, and concurrency.
request 115 9 2020/03/25 1 week ago HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.
sreq 50 0 2019/12/04 1 year ago A simple, user-friendly and concurrent safe HTTP request library for Go.
rq 38 3 2017/12/26 1 year ago A nicer interface for golang stdlib HTTP client.
go-http-client 24 1 2019/12/14 1 week ago Make http calls simply and easily.
httpretry 13 2 2020/02/05 1 year ago Enriches the default go HTTP client with retry functionality.

OpenGL

Libraries for using OpenGL in Go.

Go_repository Stars Watchers Created_at Latest_push Description
glfw 1097 40 2013/05/19 2 weeks ago Go bindings for GLFW 3.
gl 801 39 2015/02/22 1 week ago Go bindings for OpenGL (generated via glow).
mathgl 374 28 2013/02/13 7 months ago Pure Go math package specialized for 3D math, with inspiration from GLM.
gl 149 15 2015/05/18 4 months ago Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).
glfw 70 7 2014/12/27 1 year ago Go cross-platform glfw library for creating an OpenGL context and receiving events.
go-glmatrix 2 1 2020/07/02 3 months ago Go port of glMatrix library.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

Go_repository Stars Watchers Created_at Latest_push Description
gorm 23846 500 2013/10/25 2 hours ago The fantastic ORM library for Golang, aims to be developer friendly.
ent 7224 124 2019/06/12 1 day ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.
ent 6615 123 2019/06/12 3 months ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.
xorm 6186 262 2013/05/09 1 year ago Simple and powerful ORM for Go.
pg 4614 88 2013/04/24 2 weeks ago PostgreSQL ORM with focus on PostgreSQL specific features and performance.
sqlboiler 3922 80 2016/02/21 4 days ago ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
gorp 3495 113 2012/01/04 2 months ago Go Relational Persistence, ORM-ish library for Go.
ent 3067 65 2019/06/12 8 months ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.
db 2557 60 2013/10/23 1 month ago Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
gormt 1183 17 2019/05/05 4 weeks ago Mysql database to golang gorm struct.
reform 1129 25 2016/02/25 2 weeks ago Better ORM for Go, based on non-empty interfaces and code generation.
pop 1060 23 2018/02/07 21 hours ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
go-queryset 609 22 2017/09/03 2 months ago 100% type-safe ORM with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support based on GORM.
go-sqlbuilder 570 15 2017/12/27 1 month ago A flexible and powerful SQL string builder library plus a zero-config ORM.
qbs 550 45 2013/02/02 4 years ago Stands for Query By Struct. A Go ORM.
rel 349 8 2019/10/06 1 day ago Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API.
zoom 275 18 2013/07/17 1 year ago Blazing-fast datastore and querying engine built on Redis.
grimoire 151 6 2018/03/05 9 months ago Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
gosql 141 5 2020/04/27 5 months ago A easy ORM for mysql.
gorm 137 10 2013/10/25 8 months ago The fantastic ORM library for Golang, aims to be developer friendly.
go-store 101 9 2015/03/22 4 years ago Simple and fast Redis backed key-value store library for Go.
marlow 83 5 2017/09/15 8 months ago Generated ORM from project structs for compile time safety assurances.
go-firestorm 23 1 2018/12/04 2 weeks ago A simple ORM for Google/Firebase Cloud Firestore.
lore 7 1 2017/04/29 3 years ago Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
marlow 5 2 2020/08/11 8 months ago Generated ORM from project structs for compile time safety assurances.
rel 1 0 2019/10/06 7 months ago Golang SQL Repository Layer for Clean (Onion) Architecture.

Package Management

Unofficial libraries for package and dependency management.

Go_repository Stars Watchers Created_at Latest_push Description
dep 13182 267 2016/10/07 8 months ago Go dependency tool.
glide 8098 193 2014/07/09 2 months ago Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
godep 5624 147 2013/05/01 3 years ago dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
govendor 5012 98 2015/04/12 1 year ago Go Package Manager. Go vendor tool that works with the standard vendor file.
gopm 2493 85 2013/05/15 1 year ago Go Package Manager.
gom 1391 36 2013/09/11 1 year ago Go Manager - bundle for go.
gpm 1199 31 2013/09/05 3 years ago Barebones dependency manager for Go.
goop 779 37 2014/06/18 5 years ago Simple dependency manager for Go (golang), inspired by Bundler.
modgv 369 7 2020/09/12 7 months ago Converts 'go mod graph' output into Graphviz's DOT language.
nut 242 6 2015/01/23 5 years ago Vendor Go dependencies.
nut 241 6 2015/01/23 5 years ago Vendor Go dependencies.
johnny-deps 215 23 2013/07/19 4 months ago Minimal dependency version using Git.
gigo 199 5 2015/05/01 2 years ago PIP-like dependency tool for golang, with support for private repositories and hashes.
mvn-golang 125 11 2016/03/24 2 weeks ago plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
VenGO 120 9 2014/10/17 4 years ago create and manage exportable isolated go virtual environments.
gop 49 7 2017/02/18 2 years ago Build and manage your Go applications out of GOPATH.

Performance

Go_repository Stars Watchers Created_at Latest_push Description
jaeger 13443 339 2016/04/15 4 hours ago A distributed tracing system.
profile 1460 40 2014/10/22 1 week ago Simple profiling support package for Go.
pixie 1457 43 2020/02/27 12 hours ago No instrumentation tracing for Golang applications via eBPF.
statsviz 1289 21 2020/08/14 4 days ago Live visualization of your Go application runtime statistics.
tracer 43 3 2019/06/22 2 months ago Simple, lightweight tracing.

Query Language

Go_repository Stars Watchers Created_at Latest_push Description
graphql 7630 153 2015/07/19 1 month ago Implementation of GraphQL for Go.
graphql-go 3718 87 2016/10/18 1 week ago GraphQL server with a focus on ease of use.
gojsonq 1663 34 2018/05/19 1 month ago A simple Go package to Query over JSON Data.
dasel 893 5 2020/09/22 1 week ago Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.
jsonql 246 10 2015/12/29 5 months ago JSON query expression library in Golang.
rql 202 9 2018/06/05 1 week ago Resource Query Language for REST API.
graphql 52 11 2015/04/18 4 years ago graphql parser + utilities.
jsonslice 52 0 2018/05/02 7 months ago Jsonpath queries with advanced filters.
api-fu 30 3 2019/07/30 1 month ago Comprehensive GraphQL implementation.
straf 26 1 2019/08/16 1 year ago Easily Convert Golang structs to GraphQL objects.
rest-query-parser 17 2 2020/02/10 3 weeks ago Query Parser for REST API. Filtering, validations, both AND, OR operations are supported directly in the query.
jsonpath 5 1 2020/11/29 2 months ago A query library for retrieving part of JSON based on JSONPath syntax.
gws 4 1 2020/06/08 8 months ago Apollos' "GraphQL over Websocket" client and server implementation.

Resource Embedding

Go_repository Stars Watchers Created_at Latest_push Description
packr 3215 45 2017/03/15 4 months ago The simple and easy way to embed static files into Go binaries.
statik 3184 49 2014/02/04 6 months ago Embeds static files into a Go executable.
go.rice 2202 56 2013/10/23 2 months ago go.rice is a Go package that makes working with resources such as HTML, JS, CSS, images, and templates very easy.
vfsgen 930 21 2015/05/18 8 months ago Generates a vfsdata.go file that statically implements the given virtual filesystem.
esc 596 15 2014/01/26 1 year ago Embeds files into Go programs and provides http.FileSystem interfaces to them.
fileb0x 585 17 2016/01/23 2 months ago Simple tool to embed files in go with focus on "customization" and ease to use.
go-resources 172 7 2015/02/21 11 months ago Unfancy resources embedding with Go.
statics 62 3 2015/10/07 4 years ago Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
go-embed 28 3 2015/12/06 4 months ago Generates go code to embed resource files into your library or executable.
templify 26 3 2016/05/22 1 year ago Embed external template files into Go code to create single file binaries.
mule 9 2 2020/01/17 9 months ago Embed external resources like images, movies ... into Go source code to create single file binaries using go generate. Focussed on simplicity.

Science and Data Analysis

Libraries for scientific computing and data analyzing.

Go_repository Stars Watchers Created_at Latest_push Description
gonum 4860 118 2017/03/25 9 hours ago Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.
stats 1972 51 2014/12/16 2 weeks ago Statistics package with common functions missing from the Golang standard library.
plot 1885 61 2013/07/23 1 day ago gonum/plot provides an API for building and drawing plots in Go.
gosl 1574 72 2015/02/09 3 months ago Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.
streamtools 1310 72 2013/07/05 5 years ago general purpose, graphical tool for dealing with streams of data.
go-dsp 724 29 2011/11/02 3 years ago Digital Signal Processing for Go.
chart 672 45 2011/06/27 11 months ago Simple Chart Plotting library for Go. Supports many graphs types.
goraph 638 40 2014/02/27 3 years ago Pure Go graph theory library(data structure, algorith visualization).
dataframe-go 528 25 2018/10/01 3 weeks ago Dataframes for machine-learning and statistics (similar to pandas).
graph 443 22 2017/04/27 3 months ago Library of basic graph algorithms.
orb 392 22 2016/03/28 1 month ago 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.
ewma 333 25 2013/07/05 2 weeks ago Exponentially-weighted moving averages.
calendarheatmap 259 8 2020/07/01 3 weeks ago Calendar heatmap in plain Go inspired by Github contribution activity.
gohistogram 152 18 2013/07/02 4 months ago Approximate histograms for data streams.
TextRank 134 8 2018/01/09 2 weeks ago TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.
sparse 114 9 2017/05/16 1 month ago Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.
pagerank 69 8 2015/08/06 3 months ago Weighted PageRank algorithm implemented in Go.
geom 47 5 2011/06/07 3 years ago 2D geometry for golang.
evaler 44 5 2012/09/04 2 years ago Simple floating point arithmetic expression evaluator.
goent 25 1 2017/08/08 2 years ago GO Implementation of Entropy Measures.
triangolatte 20 2 2018/07/18 3 days ago 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.
decimal 20 2 2020/05/27 10 months ago Package decimal implements arbitrary-precision decimal floating-point arithmetic.
piecewiselinear 17 4 2018/10/21 5 months ago Tiny linear interpolation library.
GoStats 15 3 2018/07/22 2 years ago GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.
PiHex 14 3 2016/07/22 7 months ago Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.
ode 13 4 2016/11/11 4 years ago Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
assocentity 6 2 2018/12/21 6 months ago Package assocentity returns the average distance from words to a given entity.
go-gt 5 0 2015/09/14 5 years ago Graph theory algorithms written in "Go" language.
bradleyterry 4 2 2019/04/30 2 years ago Provides a Bradley-Terry Model for pairwise comparisons.
rootfinding 4 3 2018/10/30 1 year ago root-finding algorithms library for finding roots of quadratic functions.

Security

Libraries that are used to help make your application more secure.

Go_repository Stars Watchers Created_at Latest_push Description
lego 4611 99 2015/06/08 3 days ago Pure Go ACME client library and CLI tool (for use with Let's Encrypt).
cameradar 2561 123 2016/05/20 4 weeks ago Tool and library to remotely hack RTSP streams from surveillance cameras.
memguard 1895 47 2017/04/22 1 month ago A pure Go library for handling sensitive values in memory.
acmetool 1842 67 2015/11/15 1 month ago ACME (Let's Encrypt) client tool with automatic renewal.
secure 1657 37 2014/05/20 2 days ago HTTP middleware for Go that facilitates some quick security wins.
themis 1271 42 2015/05/06 2 hours ago high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps.
acra 749 39 2016/11/14 2 days ago Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.
nacl 507 13 2017/07/20 1 month ago Go implementation of the NaCL set of API's.
firewalld-rest 306 9 2020/06/12 8 months ago A rest application to dynamically update firewalld rules on a linux server.
badactor 297 8 2014/12/12 11 months ago In-memory, application-driven jailer built in the spirit of fail2ban.
ssh-vault 286 9 2016/09/29 1 year ago encrypt/decrypt using ssh keys.
optimus-go 271 5 2015/05/05 1 year ago ID hashing and Obfuscation using Knuth's Algorithm.
go-password-validator 268 9 2020/10/14 1 month ago Password validator based on raw cryptographic entropy values.
go-password-validator 259 8 2020/10/14 4 months ago Password validator based on raw cryptographic entropy values.
passlib 242 11 2014/12/21 1 month ago Futureproof password hashing library.
go-yara 207 19 2015/01/25 2 days ago Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)".
simple-scrypt 170 7 2015/04/14 1 month ago Scrypt package with a simple, obvious API and automatic cost calibration built-in.
argon2pw 85 4 2018/03/13 2 years ago Argon2 password hash generation with constant-time password comparison.
goSecretBoxPassword 42 2 2017/10/19 5 months ago A probably paranoid package for securely hashing and encrypting passwords.
certificates 20 0 2019/03/04 5 months ago An opinionated tool for generating tls certificates.
go-generate-password 18 2 2019/11/14 6 months ago Password generator that can be used on the cli or as a library.
secureio 15 2 2018/12/25 10 months ago An keyexchanging+authenticating+encrypting wrapper and multiplexer for io.ReadWriteCloser based on XChaCha20-poly1305, ECDH and ED25519.
goArgonPass 14 3 2018/05/30 5 months ago Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.
argon2-hashing 12 2 2019/01/02 1 year ago light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package.
sslmgr 10 2 2019/04/02 1 year ago SSL certificates made easy with a high level wrapper around acme/autocert.

Serialization

Libraries and tools for binary serialization.

Go_repository Stars Watchers Created_at Latest_push Description
go 9283 232 2016/11/30 1 week ago High-performance 100% compatible drop-in replacement of "encoding/json".
protobuf 7637 213 2014/11/23 1 month ago Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
protobuf 4579 97 2014/12/03 4 weeks ago Protocol Buffers for Go with Gadgets.
mapstructure 4460 65 2013/05/20 1 week ago Go library for decoding generic map values into native Go structures.
go 1536 52 2013/05/30 2 weeks ago High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.
colfer 603 34 2015/09/05 3 months ago Code generation for the Colfer binary format.
csvutil 527 7 2017/10/30 2 months ago High Performance, idiomatic CSV record encoding and decoding to native Go structures.
go-capnproto 278 11 2013/11/07 1 year ago Cap'n Proto library and parser for go.
cbor 269 6 2019/05/15 2 days ago Small, safe, and easy CBOR encoding and decoding library.
php_session_decoder 148 10 2012/12/23 2 years ago GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
structomap 122 7 2015/05/13 2 years ago Library to easily and dynamically generate maps from static structures.
bambam 62 4 2014/09/17 4 years ago generator for Cap'n Proto schemas from go.
asn1 47 9 2016/02/29 2 years ago Asn.1 BER and DER encoding library for golang.
binstruct 32 1 2018/10/23 1 year ago Golang binary decoder for mapping data into the structure.
fwencoder 14 1 2017/12/25 1 year ago Fixed width file parser (encoding and decoding library) for Go.
elastic 14 1 2020/02/25 1 year ago Convert slices, maps or any other unknown value across different types at run-time, no matter what.
pletter 13 6 2019/07/09 1 week ago A standard way to wrap a proto message for message brokers.
bel 12 2 2019/02/20 9 months ago Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
bel 8 1 2019/02/20 2 years ago Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
fixedwidth 5 1 2019/08/11 1 year ago Fixed-width text formatting (UTF-8 supported).
go-lctree 2 1 2020/05/04 11 months ago Provides a CLI and primitives to serialize and deserialize LeetCode binary trees.
unitpacking 1 1 2021/01/17 3 weeks ago Library to pack unit vectors into as fewest bytes as possible.

Server Applications

Go_repository Stars Watchers Created_at Latest_push Description
etcd 35829 1369 2013/07/06 1 hour ago Highly-available key value store for shared configuration and service discovery.
caddy 33354 769 2015/01/13 18 hours ago Caddy is an alternative, HTTP/2 web server that's easy to configure and use.
minio 27303 578 2015/01/14 47 minutes ago Minio is a distributed object storage server.
roadrunner 5557 146 2017/12/26 25 minutes ago High-performance PHP application server, load-balancer and process manager.
devd 3122 68 2015/09/27 2 months ago Local webserver for developers.
sftpgo 2528 56 2019/07/20 20 hours ago Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage.
algernon 1809 49 2015/03/10 3 days ago HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
flagr 1562 77 2017/10/03 4 days ago Flagr is an open-source feature flagging and A/B testing service.
fider 1549 32 2017/01/17 10 hours ago Fider is an open platform to collect and organize customer feedback.
flipt 1471 15 2016/11/05 18 hours ago A self contained feature flag solution written in Go and Vue.
trickster 1384 41 2018/03/29 2 weeks ago HTTP reverse proxy cache and time series accelerator.
discovery 1377 60 2018/04/20 3 weeks ago A registry for resilient mid-tier load balancing and failover.
trickster 1053 35 2018/03/29 1 year ago HTTP reverse proxy cache and time series accelerator.
jackal 941 41 2017/11/13 2 hours ago An XMPP server written in Go.
dudeldu 126 3 2016/09/07 1 year ago A simple SHOUTcast server.
lets-proxy2 53 4 2019/04/12 1 month ago Reverse proxy for handle https with issue certificates in fly from lets-encrypt.
go-feature-flag 50 0 2020/12/11 3 days ago A feature flag solution, with only a YAML file in the backend (S3, GitHub, HTTP, local file ...), no server to install, just add a file in a central system and refer to it.
psql-streamer 28 4 2019/04/28 1 year ago Stream database events from PostgreSQL to Kafka.
nginx-prometheus 21 1 2018/10/23 7 months ago Nginx log parser and exporter to Prometheus.
protoxy 15 2 2020/09/03 6 months ago A proxy server that converts JSON request bodies to Protocol Buffers.
simple-jwt-provider 15 2 2019/12/18 6 days ago Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
go-proxy-cache 8 1 2020/11/12 6 days ago Simple Reverse Proxy with Caching, written in Go, using Redis.
riemann-relay 0 1 2019/04/23 1 year ago Relay to load-balance Riemann events and/or convert them to Carbon.

Stream Processing

Libraries and tools for stream processing and reactive programming.

Go_repository Stars Watchers Created_at Latest_push Description
go-streams 632 19 2019/04/30 2 months ago Go stream processing library.
machine 80 4 2020/10/13 1 week ago Go library for writing and generating stream workers with built in metrics and traceability.
stream 32 2 2020/11/12 5 months ago Go Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...

Template Engines

Libraries and tools for templating and lexing.

Go_repository Stars Watchers Created_at Latest_push Description
gofpdf 3800 103 2015/03/13 1 year ago PDF document generator with high level support for text, drawing and images.
sprig 2313 29 2013/11/22 1 week ago Useful template functions for Go templates.
quicktemplate 2076 59 2016/03/06 1 month ago Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.
pongo2 1965 59 2013/08/23 1 month ago Django-like template-engine for Go.
hero 1457 44 2017/01/15 1 year ago Hero is a handy, fast and powerful go template engine.
mustache 1013 35 2009/12/30 4 months ago Go implementation of the Mustache template language.
amber 874 20 2012/10/31 7 months ago Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade.
ace 801 23 2014/07/13 2 years ago Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold.
jet 781 22 2016/03/31 2 months ago Jet template engine.
gorazor 778 58 2014/05/01 5 months ago Razor view engine for Golang.
ego 487 17 2014/02/23 2 months ago Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
fasttemplate 484 20 2015/08/19 4 months ago Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template.
raymond 423 11 2015/04/22 8 months ago Complete handlebars implementation in Go.
maroto 356 9 2019/05/20 3 weeks ago A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple.
goview 219 5 2019/04/14 4 months ago Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
soy 155 12 2013/12/15 3 months ago Closure templates (aka Soy templates) for Go, following the official spec.
liquid 120 6 2017/06/26 4 months ago Go implementation of Shopify Liquid templates.
kasia.go 72 2 2010/12/07 5 years ago Templating system for HTML and other text documents - go implementation.
velvet 71 5 2016/12/29 4 years ago Complete handlebars implementation in Go.
extemplate 33 4 2018/08/10 1 year ago Tiny wrapper around html/template to allow for easy file-based template inheritance.
gospin 26 3 2019/02/22 1 day ago Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations.
damsel 24 4 2012/05/02 5 years ago Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others.

Testing

Libraries for testing codebases and generating test data.

Testing Frameworks

Go_repository Stars Watchers Created_at Latest_push Description
testify 13236 178 2012/10/16 20 hours ago Sacred extension to the standard go testing package.
go-cmp 2271 28 2017/07/07 1 week ago Package for comparing Go values in tests.
httpexpect 1675 37 2016/04/29 1 month ago Concise, declarative, and easy to use end-to-end HTTP and REST API testing.
godog 1326 93 2015/06/10 6 days ago Cucumber or Behat like BDD framework for Go.
godog 895 30 2015/06/10 1 year ago Cucumber or Behat like BDD framework for Go.
goblin 784 16 2013/09/19 4 months ago Mocha like testing framework fo Go.
baloo 708 11 2016/05/29 2 years ago Expressive and versatile end-to-end HTTP API testing made easy.
testfixtures 665 5 2016/04/05 2 weeks ago A helper for Rails' like test fixtures to test database applications.
go-vcr 513 8 2015/12/14 1 month ago Record and replay your HTTP interactions for fast, deterministic and accurate tests.
gnomock 447 9 2020/01/31 7 hours ago integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks.
go-mutesting 393 8 2014/12/26 1 year ago Mutation testing for Go source code.
gofight 369 13 2016/03/29 1 week ago API Handler Testing for Golang Router framework.
goc 356 17 2020/05/07 2 days ago Goc is a comprehensive coverage testing system for The Go Programming Language.
frisby 265 8 2015/09/15 1 year ago REST API testing framework.
frisby 257 8 2015/09/15 1 year ago REST API testing framework.
gotest.tools 221 6 2017/08/08 1 month ago A collection of packages to augment the go testing package and support common patterns.
go-carpet 212 4 2016/02/28 2 days ago Tool for viewing test coverage in terminal.
charlatan 194 46 2017/10/06 1 year ago Tool to generate fake interface implementations for tests.
commander 185 7 2019/02/22 3 weeks ago Tool for testing cli applications on windows, linux and osx.
endly 184 16 2017/08/28 1 month ago Declarative end to end functional testing.
go-testdeep 168 2 2018/05/26 4 days ago Extremely flexible golang deep comparison, extends the go testing package.
cupaloy 159 2 2017/08/07 1 week ago Simple snapshot testing addon for your test framework.
commander 154 9 2019/02/22 10 months ago Tool for testing cli applications on windows, linux and osx.
dbcleaner 127 2 2017/01/17 1 year ago Clean database for testing purpose, inspired by database_cleaner in Ruby.
embedded-postgres 126 3 2019/11/16 2 weeks ago Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test.
gospec 114 4 2009/11/24 6 years ago BDD-style testing framework for the Go programming language.
wstest 84 2 2017/03/31 4 months ago Websocket client for unit-testing a websocket http.Handler.
gocrest 79 3 2017/12/23 4 months ago Composable hamcrest-like matchers for Go assertions.
testcase 65 5 2019/04/22 3 weeks ago Idiomatic testing framework for Behavior Driven Development.
jsonassert 61 0 2018/10/26 2 weeks ago Package for verifying that your JSON payloads are serialized correctly.
gospecify 53 6 2009/11/20 9 years ago This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
restit 53 7 2014/06/25 1 year ago Go micro framework to help writing RESTful API integration test.
gomatch 39 2 2019/01/27 3 months ago library created for testing JSON against patterns.
dsunit 38 10 2016/06/13 1 year ago Datastore testing for SQL, NoSQL, structured files.
covergates 38 4 2020/05/29 4 months ago Self-hosted code coverage report review and management service.
assert 32 2 2015/07/20 6 months ago Basic Assertion Library used along side native go testing, with building blocks for custom assertions.
go-hit 32 1 2019/06/04 2 weeks ago Hit is an http integration test framework written in golang.
hamcrest 26 3 2010/12/22 4 months ago fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
flute 15 0 2019/07/06 3 days ago HTTP client testing framework.
schema 15 1 2015/08/13 1 year ago Quick and easy expression matching for JSON schemas used in requests and responses.
badio 10 0 2016/02/11 5 years ago Extensions to Go's testing/iotest package.
biff 10 1 2018/03/28 8 months ago Bifurcation testing framework, BDD compatible.
testsql 10 2 2018/09/22 1 year ago Generate test data from SQL files before testing and clear it after finished.
gogiven 9 4 2017/12/31 3 years ago YATSPEC-like BDD testing framework for Go.
gosuite 9 1 2016/10/15 4 years ago Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7's Subtests.
trial 5 0 2015/06/18 1 year ago Quick and easy extendable assertions without introducing much boilerplate.
tt 5 1 2018/04/03 2 weeks ago Simple and colorful test tools.
stop-and-go 5 0 2020/11/06 3 months ago Testing helper for concurrency.

Mock

Go_repository Stars Watchers Created_at Latest_push Description
chromedp 6246 151 2017/01/24 1 day ago a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.
mock 5533 78 2015/06/12 2 weeks ago Mocking framework for the Go programming language.
go-fuzz 3974 90 2015/04/15 5 days ago Randomized testing system.
go-sqlmock 3482 36 2014/02/07 1 month ago Mock SQL driver for testing database interactions.
selenoid 1887 98 2016/08/22 1 week ago alternative Selenium hub server that launches browsers within containers.
hoverfly 1739 62 2015/11/30 2 days ago HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
rod 1529 28 2020/01/21 1 day ago A Devtools driver to make web automation and scraping easy.
gock 1212 18 2016/03/02 2 months ago Versatile HTTP mocking made easy.
httpmock 1059 9 2014/02/24 2 months ago Easy mocking of HTTP responses from external resources.
gofuzz 1039 28 2014/07/31 1 week ago Library for populating go objects with random values.
cdp 546 19 2017/03/12 1 month ago Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.
counterfeiter 528 9 2014/05/21 21 hours ago Tool for generating self-contained mock objects.
go-txdb 359 7 2015/07/08 4 weeks ago Single transaction based database driver mainly for testing purposes.
minimock 350 11 2016/08/03 3 months ago Mock generator for Go interfaces.
playwright-go 334 14 2020/08/16 2 days ago browser automation library to control Chromium, Firefox and WebKit with a single API.
rod 273 8 2020/01/21 10 months ago A chrome devtools controller that is easy and safe to use.
ggr 271 24 2016/06/16 4 hours ago a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs.
tavor 232 13 2014/05/18 2 years ago Generic fuzzing and delta-debugging framework.
govcr 96 2 2016/07/10 1 year ago HTTP mock for Golang: record and replay HTTP interactions for offline testing.
timex 54 81 2020/01/02 9 months ago A test-friendly replacement for the native time package.
mockhttp 22 2 2011/06/11 6 years ago Mock object for Go http.ResponseWriter.
go-localstack 12 0 2020/03/18 21 hours ago Tool for using localstack in AWS testing.
mockit 6 1 2020/01/01 3 weeks ago Allows functions and method easy mocking, without defining new types; it's similar to Mockito for Java.

Fail injection

Go_repository Stars Watchers Created_at Latest_push Description
failpoint 582 84 2019/04/02 1 month ago An implementation of failpoints for Golang.

Text Processing

Libraries for parsing and manipulating texts.

Specific Formats

Go_repository Stars Watchers Created_at Latest_push Description
colly 13813 317 2017/09/29 3 weeks ago Fast and Elegant Scraping Framework for Gophers.
goquery 10130 263 2012/08/29 3 weeks ago GoQuery brings a syntax and a set of features similar to jQuery to the Go language.
blackfriday 4711 92 2011/05/27 2 months ago Markdown processor in Go.
sh 3728 57 2016/01/16 1 week ago Shell parser and formatter.
toml 3457 87 2013/02/26 1 month ago TOML configuration format (encoder/decoder with reflection).
go-humanize 2637 34 2012/01/13 5 months ago Formatters for time, numbers, and memory size to human readable format.
bluemonday 1866 28 2013/11/20 1 week ago HTML Sanitizer.
gofeed 1623 43 2016/01/23 2 weeks ago Parse RSS and Atom feeds in Go.
inject 1320 46 2013/10/21 2 years ago Package inject provides a reflect based injector.
go-toml 1007 34 2013/02/24 1 day ago Go library for the TOML format with query support and handy cli tools.
commonregex 741 21 2017/03/23 1 year ago A collection of common regular expressions for Go.
slug 646 13 2014/03/31 2 months ago URL-friendly slugify with multiple languages support.
mxj 466 24 2014/02/03 2 months ago Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
dataflowkit 463 21 2017/02/09 11 months ago Web scraping Framework to turn websites into structured data.
gographviz 431 12 2015/03/14 3 days ago Parses the Graphviz DOT language.
htmlquery 358 11 2017/12/05 9 months ago An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.
go-runewidth 353 12 2013/06/21 1 month ago Functions to get fixed width of the character or string.
omniparser 338 8 2020/08/16 2 weeks ago A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema.
gotext 298 6 2016/06/19 3 days ago GNU gettext utilities for Go.
goq 194 7 2017/02/20 1 year ago Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery).
goribot 194 11 2019/09/08 9 months ago A simple golang spider/scraping framework,build a spider in 3 lines.
html-to-markdown 169 6 2018/05/15 3 days ago Convert HTML to Markdown. Even works with entire websites and can be extended through rules.
go-nmea 147 7 2015/07/22 8 months ago NMEA parser library for the Go language.
sdp 109 7 2016/05/13 1 year ago SDP: Session Description Protocol [RFC 4566].
go-zero-width 95 1 2018/06/18 9 months ago Zero-width character detection and removal for Go.
podcast 92 5 2017/02/02 6 months ago iTunes Compliant and RSS 2.
editorconfig-core-go 84 9 2016/07/05 1 month ago Editorconfig file parser and manipulator for Go.
align 68 5 2017/04/29 3 months ago A general purpose application that aligns text.
go-slugify 67 2 2016/07/16 1 year ago Make pretty slug with multiple languages support.
genex 60 3 2015/03/09 1 year ago Count and expand Regular Expressions into all matching Strings.
go-vcard 55 3 2017/03/21 1 month ago Parse and format vCard.
goregen 54 2 2014/12/27 1 year ago Library for generating random strings from regular expressions.
go-fixedwidth 53 3 2017/11/15 1 year ago Fixed-width text formatting (encoder/decoder with reflection).
guesslanguage 52 1 2014/12/16 3 years ago Functions to determine the natural language of a unicode text.
did 51 11 2018/11/02 4 months ago DID (Decentralized Identifiers) Parser and Stringer in Go.
allot 48 1 2016/10/16 3 weeks ago Placeholder and wildcard text parsing for CLI tools and bots.
pagser 35 1 2020/04/19 1 year ago Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler.
gonameparts 33 0 2015/05/17 1 year ago Parses human names into individual name parts.
slugify 27 2 2015/04/13 3 years ago Go slugify application that handles string.
codetree 17 2 2016/11/26 1 year ago Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure.
enca 11 1 2014/12/17 5 years ago Minimal cgo bindings for libenca.
syndfeed 7 1 2017/04/07 3 years ago A syndication feed for Atom 1.0 and RSS 2.0.
bbConvert 6 1 2016/04/15 4 years ago Converts bbCode to HTML that allows you to add support for custom bbCode tags.
doi 6 1 2017/08/02 3 years ago Document object identifier (doi) parser in Go.
ltsv 5 1 2019/05/12 1 year ago High performance LTSV (Labeled Tab Separated Value) reader for Go.
encoding 3 1 2018/04/06 1 year ago Package provides a generic interface to encoders and decodersa.

Utility

Go_repository Stars Watchers Created_at Latest_push Description
xurls 783 20 2015/01/12 1 month ago Extract urls from text.
gotabulate 264 9 2014/08/21 3 months ago Easily pretty-print your tabular data with Go.
radix 171 5 2017/06/09 3 years ago fast string sorting algorithm.
regroup 81 1 2020/09/08 1 month ago Match regex expression named groups into go struct using struct tags and automatic parsing.
parth 40 4 2015/04/06 2 years ago URL path segmentation parsing.
gofuckyourself 31 2 2018/09/09 4 months ago A sanitization-based swear filter for Go.
xj2go 20 2 2017/09/19 9 months ago Convert xml or json to go struct.
xj2go 19 2 2017/09/19 1 year ago Convert xml or json to go struct.
kace 16 2 2015/06/04 2 years ago Common case conversions covering common initialisms.
tagify 15 1 2018/03/20 1 week ago Produces a set of tags from given source.
TySug 9 1 2018/06/05 9 months ago Alternative suggestions with respect to keyboard layouts.
parseargs-go 8 0 2016/02/24 4 years ago string argument parser that understands quotes and backslashes.
textwrap 2 2 2019/07/26 1 year ago Implementation of textwrap module from Python.

Third-party APIs

Libraries for accessing third party APIs.

Go_repository Stars Watchers Created_at Latest_push Description
go-github 7450 218 2013/05/24 1 hour ago Go library for accessing the GitHub REST API v3.
aws-sdk-go 6901 271 2014/12/05 18 hours ago The official AWS SDK for the Go programming language.
google-api-go-client 2646 165 2014/11/24 4 hours ago Auto-generated Google APIs for Go.
google-cloud-go 2539 245 2014/05/09 19 minutes ago Google Cloud APIs Go Client Library.
discordgo 2013 57 2015/11/01 14 hours ago Go bindings for the Discord Chat API.
stripe-go 1353 40 2014/06/05 6 days ago Go client for the Stripe API.
minio-go 1281 46 2015/05/02 53 minutes ago Minio Go Library for Amazon S3 compatible cloud storage.
go-twitter 1211 33 2015/04/11 1 week ago Go client library for the Twitter v1.1 APIs.
anaconda 1088 21 2013/03/04 1 month ago Go client library for the Twitter 1.1 API.
facebook 967 119 2012/07/28 1 week ago Go Library that supports the Facebook Graph API.
githubv4 776 21 2017/05/27 1 month ago Go library for accessing the GitHub GraphQL API v4.
webhooks 618 16 2015/10/25 1 week ago Webhook receiver for GitHub and Bitbucket.
paypal 417 23 2015/10/14 1 week ago Wrapper for PayPal payment API.
geo-golang 400 13 2014/12/04 3 months ago Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
ethrpc 206 13 2017/01/24 8 months ago Go bindings for Ethereum JSON RPC API.
go-marathon 196 13 2015/02/11 7 months ago Go library for interacting with Mesosphere's Marathon PAAS.
trello 165 5 2016/09/24 2 weeks ago Go wrapper for the Trello API.
medium-sdk-go 130 131 2015/09/26 2 years ago Golang SDK for Medium's OAuth2 API.
gostorm 126 11 2013/07/22 3 years ago 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.
hipchat 112 7 2013/04/28 3 years ago A golang package to communicate with HipChat over XMPP.
go-trending 111 7 2015/07/04 2 weeks ago Go library for accessing trending repositories and developers at Github.
twitter-scraper 108 4 2018/11/29 2 weeks ago Scrape the Twitter Frontend API without authentication and limits.
hipchat 105 6 2012/10/20 5 years ago This project implements a golang client library for the Hipchat API.
wit-go 104 18 2018/08/20 2 weeks ago Go client for wit.ai HTTP API.
pushover 93 4 2015/02/19 3 days ago Go wrapper for the Pushover API.
cachet 88 7 2015/10/31 3 years ago Go client library for Cachet (open source status page system).
igdb 65 2 2017/08/24 1 month ago Go client for the Internet Game Database API.
gosip 60 4 2019/01/26 3 months ago Go client library SharePoint API.
go-circleci 57 3 2015/08/14 1 year ago Go client library for interacting with CircleCI's API.
clarifai-go 57 38 2015/09/28 3 years ago Go client library for interfacing with the Clarifai API.
megos 55 5 2015/10/02 3 years ago Client library for accessing an Apache Mesos cluster.
simples3 55 2 2018/12/06 3 months ago Simple no frills AWS S3 Library using REST with V4 Signing written in Go.
gogtrends 53 2 2018/12/27 3 days ago Google Trends Unofficial API.
gads 49 7 2014/01/20 1 year ago Google Adwords Unofficial API.
go-unsplash 49 1 2017/01/19 1 month ago Go client library for the Unsplash.com API.
go-amazon-product-advertising-api 48 1 2016/11/15 3 years ago Go Client Library for Amazon Product Advertising API.
ynab.go 46 2 2018/07/13 2 months ago Go wrapper for the YNAB API.
go-xkcd 45 3 2016/02/26 2 months ago Go client for the xkcd API.
uptimerobot 44 3 2018/05/29 4 months ago Go wrapper and command-line client for the Uptime Robot v2 API.
gomusicbrainz 43 6 2014/09/10 3 months ago Go MusicBrainz WS2 client library.
golang-tmdb 40 1 2019/01/11 2 weeks ago Golang wrapper for The Movie Database API v3.
fcm 39 4 2017/01/06 1 year ago Go library for Firebase Cloud Messaging.
mixpanel 38 3 2014/05/20 1 year ago Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.
golyrics 36 4 2016/11/18 2 years ago Golyrics is a Go library to fetch music lyrics data from the Wikia website.
go-spotify 36 2 2014/10/30 5 months ago Go Library to access Spotify WEB API.
translate 32 33 2015/07/13 5 years ago Go online translation package.
gami 30 4 2014/05/14 2 years ago Go library for Asterisk Manager Interface.
gcm 29 3 2015/11/09 5 years ago Go library for Google Cloud Messaging.
patreon-go 25 5 2017/08/06 1 year ago Go library for Patreon API.
airtable 25 1 2020/04/12 1 month ago Go client library for the Airtable API.
go-steam 24 11 2014/11/23 1 year ago Go Library to interact with Steam game servers.
go-postman-collection 22 2 2019/11/16 3 weeks ago Go module to work with Postman Collections (compatible with Insomnia).
go-myanimelist 21 1 2015/05/03 1 month ago Go client library for accessing the MyAnimeList API.
go-twitch 21 5 2016/06/28 3 years ago Go client for interacting with the Twitch v3 API.
lastpass-go 21 3 2019/07/11 6 days ago Go client library for the LastPass API.
go-shopify 21 1 2014/10/28 5 months ago Go Library to make CRUD request to the Shopify API.
brewerydb 17 3 2015/04/15 5 years ago Go library for accessing the BreweryDB API.
textbelt 17 2 2015/09/01 5 years ago Go client for the textbelt.com txt messaging API.
codeship-go 16 22 2017/09/08 6 months ago Go client library for interacting with Codeship's API v2.
google-play-scraper 13 1 2019/09/20 2 months ago Get data from Google Play Store.
coinpaprika-api-go-client 12 8 2018/09/25 7 months ago Go client library for interacting with Coinpaprika's API.
go-hacknews 12 2 2017/08/10 3 years ago Tiny Go client for HackerNews API.
go-google-analytics 12 2 2015/06/01 6 years ago Simple wrapper for easy google analytics reporting.
go-aws-news 12 3 2020/01/08 2 months ago Go application and library to fetch what's new from AWS.
smitego 10 0 2013/12/11 6 years ago Go package to wraps access to the Smite game API.
gopaapi5 9 3 2020/02/15 1 year ago Go Client Library for Amazon Product Advertising API 5.0.
device-check-go 9 1 2019/04/11 1 month ago Go client library for interacting with iOS DeviceCheck API v1.
go-here 8 0 2019/07/07 10 months ago Go client library around the HERE location based APIs.
go-sophos 8 2 2018/09/05 7 months ago Go client library for the Sophos UTM REST API with zero dependencies.
rrdaclient 8 2 2014/09/15 6 years ago Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.
slack 8 0 2015/01/24 6 months ago Slack API in Go.
go-google-email-audit-api 7 0 2016/10/24 4 years ago Go client library for Google G Suite Email Audit API.
go-sptrans 6 3 2017/09/11 7 months ago Go client library for the SPTrans Olho Vivo API.
gumblr 6 1 2015/07/09 4 years ago Go wrapper for the Tumblr v2 API.
go-zooz 6 14 2017/07/04 6 months ago Go client for the Zooz API.
go-chronos 4 9 2017/10/23 3 years ago Go library for interacting with the [Chronos](https://mesos.github.
libgoffi 3 11 2019/08/03 8 months ago Library adapter toolbox for native [libffi](http://sourceware.
kanka 3 3 2019/12/26 9 months ago Go client for the Kanka API.
rawg-sdk-go 2 1 2020/10/16 4 months ago Go library for the [RAWG Video Games Database](https://rawg.
playlyfe-go-sdk 1 5 2015/05/25 5 years ago The Playlyfe Rest API Go SDK.
tripadvisor-golang 1 2 2019/04/15 1 year ago Go wrapper for the TripAdvisor API.
vl-go 1 2 2019/02/09 1 year ago Go client library around the VerifID identity verification layer API.

Utilities

General utilities and tools to make your life easier.

Go_repository Stars Watchers Created_at Latest_push Description
fzf 36650 386 2013/10/23 1 week ago Command-line fuzzy finder written in Go.
hub 20957 484 2009/12/05 3 days ago wrap git commands with additional functionality to interact with github from the terminal.
delve 13355 387 2014/05/20 1 year ago Go debugger.
ctop 11539 164 2016/12/27 3 months ago Top-like interface (e.g. htop) for container metrics.
sqlx 10183 191 2013/01/28 2 days ago provides a set of extensions on top of the excellent built-in database/sql package.
wuzz 9603 170 2017/01/30 1 month ago Interactive cli tool for HTTP inspection.
goreleaser 8015 104 2016/12/21 3 hours ago Deliver Go binaries as fast and easily as possible.
usql 6440 117 2017/03/02 1 day ago usql is a universal command-line interface for SQL databases.
peco 6347 138 2014/06/06 1 week ago Simplistic interactive filtering tool.
godropbox 3939 245 2014/06/22 10 months ago Common libraries for writing Go services/applications from Dropbox.
hystrix-go 3151 93 2013/12/15 5 months ago Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.
goreporter 2863 100 2017/03/27 2 years ago Golang tool that does static analysis, unit testing, code review and generate code quality report.
minify 2667 53 2014/05/21 2 days ago Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.
panicparse 2568 38 2015/02/02 4 weeks ago Groups similar goroutines and colorizes stack dump.
go-funk 2540 35 2016/12/30 1 week ago Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...).
mc 1795 52 2015/01/16 9 hours ago Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.
storm 1712 42 2016/01/10 2 days ago Simple and powerful toolkit for BoltDB.
mergo 1531 23 2013/03/11 3 weeks ago Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
spinner 1475 17 2014/12/13 1 week ago Go package to easily provide a terminal spinner with options.
mole 1466 29 2018/10/04 1 week ago cli app to easily create ssh tunnels.
filetype 1310 29 2015/09/24 5 hours ago Small package to infer the file type checking the magic numbers signature.
boilr 1306 29 2015/12/19 2 months ago Blazingly fast CLI tool for creating projects from boilerplate templates.
jump 1062 18 2015/08/16 1 month ago Jump helps you navigate faster by learning your habits.
circuitbreaker 938 20 2014/07/17 1 year ago Circuit Breakers in Go.
gtm 864 28 2016/06/19 7 months ago Simple, seamless, lightweight time tracking for Git.
immortal 704 18 2016/06/30 10 months ago *nix cross-platform (OS agnostic) supervisor.
hostctl 654 10 2020/03/14 1 month ago A CLI tool to manage /etc/hosts with easy commands.
circuit 557 14 2017/12/23 1 month ago An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.
htcat 530 19 2013/08/05 2 years ago Parallel and Pipelined HTTP GET Utility.
mimetype 489 8 2018/07/02 3 days ago Package for MIME type detection based on magic numbers.
godaemon 469 31 2013/08/01 2 weeks ago Utility to write daemons.
go-dry 462 15 2014/02/28 3 months ago DRY (don't repeat yourself) package for Go.
ergo 461 6 2017/08/19 1 week ago The management of multiple local services running over different ports made easy.
koazee 452 12 2018/11/09 5 months ago Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.
gopencils 438 14 2014/06/23 2 years ago Small and simple package to easily consume REST APIs.
request 397 15 2014/12/21 1 year ago Go HTTP Requests for Humans™.
cli 395 9 2019/12/30 6 days ago A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command.
deepcopier 342 20 2015/07/24 1 year ago Simple struct copying for Go.
gubrak 336 6 2018/03/09 11 months ago Golang utility library with syntactic sugar. It's like lodash, but for golang.
go-rate 332 11 2014/08/25 8 months ago Timed rate limiter for Go.
clockwork 328 6 2014/09/09 7 months ago A simple fake clock for golang.
delve 314 8 2020/02/18 6 days ago Go debugger.
retry 301 6 2016/11/02 2 months ago The most advanced functional mechanism to perform actions repetitively until successful.
scany 265 6 2020/07/02 1 week ago Library for scanning data from a database into Go structs and more.
gohper 253 20 2015/03/23 3 years ago Various tools/modules help for development.
gohper 252 20 2015/03/23 3 years ago Various tools/modules help for development.
serve 244 7 2019/01/10 2 weeks ago A static http server anywhere you need.
go-trigger 213 12 2015/10/19 4 years ago Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.
util 206 12 2017/05/24 1 year ago Collection of useful utility functions. (strings, concurrency, manipulations, ...).
gotenv 197 3 2013/08/27 5 months ago Load environment variables from .env or any io.Reader in Go.
death 171 3 2015/03/09 2 weeks ago Managing go application shutdown with signals.
go-bind-plugin 168 4 2016/11/08 1 year ago go:generate tool for wrapping symbols exported by golang plugins (1.8 only).
rerun 161 7 2014/12/10 3 years ago Recompiling and rerunning go apps when source changes.
moldova 160 5 2016/01/30 3 years ago Utility for generating random data based on an input template.
toolbox 159 17 2016/06/13 1 week ago Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
go-sitemap-generator 156 6 2015/10/12 2 months ago XML Sitemap generator written in Go.
apm 149 19 2015/11/18 4 years ago Process manager for Golang applications with an HTTP API.
robustly 149 17 2013/07/08 2 weeks ago Runs functions resiliently, catching and restarting panics.
chyle 137 6 2016/11/17 2 weeks ago Changelog generator using a git repository with multiple configuration possibilities.
onecache 118 7 2017/04/14 11 months ago Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).
lrserver 117 5 2014/07/15 3 years ago LiveReload server for Go.
go-bsdiff 114 2 2019/02/23 2 years ago Pure Go bsdiff and bspatch libraries and CLI tools.
countries 89 4 2019/04/22 1 month ago Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standarts.
nostromo 87 4 2019/07/13 5 months ago CLI for building powerful aliases.
mssqlx 86 8 2016/12/26 1 month ago Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.
xferspdy 85 4 2015/05/22 1 month ago Xferspdy provides binary diff and patch library in golang.
goseaweedfs 83 8 2017/07/20 2 months ago SeaweedFS client library with almost full features.
pm 78 20 2013/11/17 4 months ago Process (i.e. goroutine) manager with an HTTP API.
go-health 77 3 2018/02/13 2 years ago Health package simplifies the way you add health check to your services.
go-pattern-match 77 2 2018/12/11 10 months ago Pattern matching libray.
repeat 76 5 2017/11/22 9 months ago Go implementation of different backoff strategies useful for retrying operations and heartbeating.
sorty 75 4 2019/02/18 6 days ago Fast Concurrent / Parallel Sorting.
netbug 69 1 2015/03/05 5 years ago Easy remote profiling of your services.
scan 68 1 2017/11/27 1 week ago Scan golang sql.Rows directly to structs, slices, or primitive types.
unis 67 4 2017/05/06 4 years ago Common Architecture™ for String Utilities in Go.
handy 64 8 2018/06/13 7 months ago Many utilities and helpers like string handlers/formatters and validators.
multitick 64 17 2013/12/10 2 weeks ago Multiplexor for aligned tickers.
mongo-go-pagination 62 1 2020/02/04 2 weeks ago Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines.
mimemagic 61 1 2018/10/11 1 month ago Pure Go ultra performant MIME sniffing library/utility.
cmd 59 5 2019/09/27 10 months ago Library for executing shell commands on osx, windows and linux.
go-astitodo 58 2 2016/10/17 8 months ago Parse TODOs in your GO code.
goreadability 58 6 2016/04/20 2 years ago Webpage summary extractor using Facebook Open Graph and arc90's readability.
minquery 58 2 2016/11/16 1 year ago MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).
golog 51 3 2016/01/09 2 years ago Easy and lightweight CLI tool to time track your tasks.
pgo 51 6 2018/12/26 1 week ago Convenient functions for PHP community.
copy-pasta 49 5 2017/01/28 10 months ago Universal multi-workstation clipboard that uses S3 like backend for the storage.
retry 47 1 2018/02/25 3 months ago Simple and easy retry mechanism package for Go.
filter 45 5 2018/09/26 1 month ago provide filtering, sanitizing, and conversion of Go data.
changie 45 2 2020/12/05 1 day ago Automated changelog tool for preparing releases with lots of customization options.
beyond 44 2 2019/10/18 1 year ago The Go tool that will drive you to the AOP world!
goback 44 1 2015/03/13 2 months ago Go simple exponential backoff package.
golarm 43 2 2015/08/14 5 years ago Fire alarms with system events.
intrinsic 42 4 2017/06/13 3 years ago Use x86 SIMD without writing any assembly code.
slice 42 1 2019/11/26 1 year ago Type-safe functions for common Go slice operations.
go-lock 42 0 2020/04/30 7 months ago go-lock is a lock library implementing read-write mutex and read-write trylock without starvation.
dbt 41 1 2017/11/30 2 months ago A framework for running self-updating signed binaries from a central, trusted repository.
gpath 40 3 2017/05/24 3 years ago Library to simplify access struct fields with Go's expression in reflection.
retry-go 40 2 2017/06/09 2 years ago Retrying made simple and easy for golang.
go-httpheader 34 3 2017/06/24 3 months ago Go library for encoding structs into Header fields.
myhttp 33 1 2017/09/13 3 years ago Simple API to make HTTP GET requests with timeout support.
rclient 32 3 2017/02/28 1 year ago Readable, flexible, simple-to-use client for REST APIs.
evaluator 31 2 2017/04/27 10 months ago Evaluate an expression dynamicly based on s-expression. It's simple and easy to extend.
gostrutils 31 3 2018/09/19 2 weeks ago Collections of string manipulation and conversion functions.
equalizer 30 1 2019/06/14 2 months ago Quota manager and rate limiter collection for Go.
limiters 28 3 2019/08/28 8 months ago Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks.
tome 27 1 2019/04/12 1 year ago Tome was designed to paginate simple RESTful APIs.
cmd 25 2 2019/09/27 1 year ago Library for executing shell commands on osx, windows and linux.
ugo 25 1 2016/02/17 4 years ago ugo is slice toolbox with concise syntax for Go.
generate 24 3 2015/11/15 4 years ago runs go generate recursively on a specified path or environment variable and can filter by regex.
slicer 23 1 2019/01/10 6 months ago Makes working with slices easier.
goplaceholder 22 2 2014/10/12 5 years ago a small golang lib to generate placeholder images.
rerate 19 4 2016/05/24 4 years ago Redis-based rate counter and rate limiter for Go.
shutdown 18 1 2018/11/17 2 years ago App shutdown hooks for os.Signal handling.
r 18 3 2020/02/20 1 year ago Python-like range() experience for Go.
ctxutil 17 1 2018/07/30 1 year ago A collection of utility functions for contexts.
ghokin 17 2 2018/08/03 2 weeks ago Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).
structs 17 3 2017/08/26 3 years ago Implement simple functions to manipulate structs.
backscanner 16 3 2017/10/18 1 year ago A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.
dlog 16 2 2016/07/04 3 years ago Compile-time controlled logger to make your release smaller without removing debug calls.
filler 16 1 2017/04/05 4 years ago small utility to fill structs using "fill" tag.
mimesniffer 15 1 2018/12/20 2 months ago A MIME type sniffer for Go.
okrun 15 3 2014/10/01 6 years ago go run error steamroller.
command 13 1 2015/08/24 5 years ago Command pattern for Go with thread safe serial and parallel dispatcher.
rest-go 13 3 2019/07/29 9 months ago A package that provide many helpful methods for working with rest api.
jsend 13 3 2020/01/14 5 months ago JSend's implementation writen in Go.
retry 11 0 2018/07/18 1 year ago A pretty simple library to ensure your work to be done.
go-convert 11 1 2019/06/07 1 day ago Package go-convert enbles you to convert a value into another type.
silk 9 1 2018/12/18 6 months ago Read silk netflow files.
go-countries 9 3 2020/10/27 4 months ago Lightweight lookup over ISO-3166 codes.
go-problemdetails 8 1 2019/05/16 1 year ago Go package for working with Problem Details.
ptr 7 1 2019/12/25 6 months ago Package that provide functions for simplified creation of pointers from constants of basic types.
retry 7 35 2018/06/15 1 year ago A simple but highly configurable retry package for Go.
sliceconv 7 1 2019/02/15 1 year ago Slice conversion between primitive types.
nfdump 7 1 2020/04/08 1 year ago Read nfdump netflow files.
statiks 7 0 2018/06/26 7 months ago Fast, zero-configuration, static HTTP filer server.
blank 6 2 2019/02/13 1 year ago Verify or remove blanks and whitespace from strings.
copy 6 2 2020/10/09 4 months ago Package for fast copying structs of different types.
go-safe 3 0 2019/10/29 2 hours ago Panic-safe sandbox.
lets-go 3 1 2020/02/19 7 months ago Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities.
lets-go 3 1 2020/02/19 2 weeks ago Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities.
olaf 2 1 2019/01/03 2 years ago Twitter Snowflake implemented in Go.
tik 2 1 2020/07/04 6 months ago Simple and easy timing wheel package for Go.
goctx 2 1 2020/11/14 5 months ago Get your context value with high performance.
compare 1 1 2020/03/13 1 year ago Enables more readable and easier comparison tasks.
bleep 1 1 2021/01/02 4 months ago Perform any number of actions on any set of OS signals in Go.

UUID

Libraries for working with UUIDs.

Go_repository Stars Watchers Created_at Latest_push Description
uuid 2634 49 2016/02/12 1 month ago Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
ulid 2236 43 2016/12/06 2 months ago Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier).
uuid 923 17 2018/07/13 1 month ago Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid.
wuid 414 16 2018/01/27 2 weeks ago An extremely fast unique number generator, 10-135 times faster than UUID.
sno 45 3 2019/05/26 2 weeks ago Compact, sortable and fast unique IDs with embedded metadata.
Goid 30 4 2017/05/19 2 years ago Generate and Parse RFC4122 compliant V4 UUIDs.
nanoid 30 1 2019/07/02 10 months ago A tiny and efficient Go unique string ID generator.
uuid 12 3 2016/02/03 1 year ago Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.
gouid 7 1 2020/10/08 4 months ago Generate cryptographically secure random string IDs with just one allocation.

Validation

Libraries for validation.

Go_repository Stars Watchers Created_at Latest_push Description
validator 7701 99 2015/02/12 1 day ago Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.
govalidator 4728 105 2014/06/20 1 week ago Validators and sanitizers for strings, numerics, slices and structs.
ozzo-validation 2038 30 2016/06/22 3 months ago Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags.
govalidator 987 23 2017/09/13 3 months ago Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.
validate 399 15 2018/07/16 3 weeks ago Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features.
checkdigit 77 0 2019/04/05 4 months ago Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.).
validate 59 7 2018/02/10 5 months ago This package provides a framework for writing validations for Go applications.
jio 57 2 2018/10/28 1 year ago jio is a json schema validator similar to joi.
terraform-validator 50 2 2019/05/29 7 months ago A norms and conventions validator for Terraform.
gody 49 0 2018/11/01 3 months ago 🎈 A lightweight struct validator for Go.
govalid 22 1 2019/02/17 6 months ago Fast, tag-based validation for structs.

Version Control

Libraries for version control.

Go_repository Stars Watchers Created_at Latest_push Description
go-git 5013 100 2015/10/22 1 year ago highly extensible Git implementation in pure Go.
go-git 2276 35 2019/12/19 20 hours ago highly extensible Git implementation in pure Go.
git2go 1622 52 2013/03/05 1 month ago Go bindings for libgit2.
hercules 1338 19 2016/12/12 2 weeks ago gaining advanced insights from Git repository history.
gh 75 6 2015/03/08 2 years ago Scriptable server and net/http middleware for GitHub Webhooks.
go-vcs 75 58 2013/06/02 1 month ago manipulate and inspect VCS repositories in Go.
hgo 13 3 2014/06/18 5 years ago Hgo is a collection of Go packages providing read-access to local Mercurial repositories.

Video

Libraries for manipulating video.

Go_repository Stars Watchers Created_at Latest_push Description
goav 1608 51 2015/05/21 6 days ago Comprehensive Go bindings for FFmpeg.
m3u8 819 37 2013/02/05 1 week ago Parser and generator library of M3U8 playlists for Apple HLS.
gmf 677 33 2013/04/03 1 month ago Go bindings for FFmpeg av* libraries.
go-astits 359 16 2017/07/04 3 weeks ago Parse and demux MPEG Transport Streams (.ts) natively in GO.
go-astisub 311 8 2016/12/16 4 weeks ago Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
libvlc-go 209 12 2015/01/06 1 month ago Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player).
gst 159 10 2011/07/26 4 months ago Go bindings for GStreamer.
go-m3u8 73 2 2018/11/06 1 year ago Parser and generator library for Apple m3u8 playlists.
v4l 56 5 2016/10/25 5 months ago Video capture library for Linux, written in Go.
libgosubs 13 2 2017/05/03 1 year ago Subtitle format support for go. Supports .srt, .ttml, and .ass.
go-mpd 8 1 2018/11/02 8 months ago Parser and generator library for MPEG-DASH manifest files.

Web Frameworks

Full stack web frameworks.

Go_repository Stars Watchers Created_at Latest_push Description
gin 47990 1351 2014/06/16 3 days ago Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.
echo 19791 539 2015/03/01 7 hours ago High performance, minimalist Go web framework.
fiber 13297 217 2020/01/16 11 hours ago An Express.js inspired web framework build on Fasthttp.
revel 12253 545 2011/12/09 2 months ago High-productivity web framework for the Go language.
goa 4241 167 2014/12/05 1 day ago Goa provides a holistic approach for developing remote APIs and microservices in Go.
go-json-rest 3467 160 2013/02/19 3 months ago Quick and easy way to setup a RESTful JSON API.
gizmo 3402 120 2015/12/15 6 hours ago Microservice toolkit used by the New York Times.
macaron 3155 147 2014/07/10 6 months ago Macaron is a high productive and modular design web framework in Go.
utron 2195 70 2015/09/16 2 years ago Lightweight MVC framework for Go(Golang).
go-tigertonic 999 46 2013/02/09 2 years ago Go framework for building JSON web services inspired by Dropwizard.
goyave 842 27 2019/10/21 2 weeks ago Feature-complete web framework aimed at clean code and fast development, with powerful built-in functionalities.
tango 836 76 2014/12/17 2 years ago Micro & pluggable web framework for Go.
goyave 807 24 2019/10/21 2 months ago Feature-complete web framework aimed at clean code and fast development, with powerful built-in functionalities.
gearbox 498 14 2020/04/25 1 week ago A web framework written in Go with a focus on high performance and memory optimization.
gongular 442 21 2016/06/22 10 months ago Fast Go web framework with input mapping/validation and (DI) Dependency Injection.
neo 410 34 2015/02/04 3 years ago Neo is minimal and fast Go Web Framework with extremely simple API.
air 404 19 2016/07/20 3 weeks ago An ideally refined web framework for Go.
aero 368 19 2016/11/09 1 year ago High-performance web framework for Go, reaches top scores in Lighthouse.
mango 353 22 2011/05/25 3 years ago Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
gondola 309 15 2014/07/25 2 years ago The web framework for writing faster sites, faster.
golf 248 17 2015/11/18 4 years ago Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library.
flamingo 208 23 2019/04/02 2 days ago Framework for pluggable web projects. Including a concept for modules and offering features for DI, Configareas, i18n, template engines, graphql, observability, security, events, routing & reverse routing etc.
gearbox 176 4 2020/04/25 11 months ago A web framework written in Go with a focus on high performance and memory optimization.
flamingo-commerce 172 21 2019/04/02 1 day ago Providing e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications.
webgo 169 9 2015/12/16 2 months ago A micro-framework to build web apps; with handler chaining, middleware and context injection. With standard library compliant HTTP handlers(i.e. http.HandlerFunc).
ginrpc 165 5 2019/06/22 2 months ago Gin parameter automatic binding tool,gin rpc tools.
hiboot 156 13 2018/03/16 4 days ago hiboot is a high performance web application framework with auto configuration and dependency injection support.
beego 152 6 2012/02/29 3 weeks ago beego is an open-source, high-performance web framework for the Go programming language.
uadmin 135 11 2018/10/05 1 week ago Fully featured web framework for Golang, inspired by Django.
go-rest 125 10 2012/07/13 4 years ago Small and evil REST framework for Go.
appy 86 2 2019/05/27 2 days ago An opinionated productive web framework that helps scaling business easier.
vox 75 2 2014/12/24 1 week ago A golang web framework for humans, inspired by Koa heavily.
microservice 74 9 2016/12/15 1 year ago The framework for the creation of microservices, written in Golang.
golax 73 7 2016/01/30 2 years ago A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more.
patron 72 14 2019/01/30 1 day ago Patron is a microservice framework following best cloud practices with a focus on productivity.
rux 61 3 2018/08/05 1 month ago Simple and fast web framework for build golang HTTP applications.
yarf 61 4 2015/09/02 2 years ago Fast micro-framework designed to build REST APIs and web services in a fast and simple way.
fireball 56 4 2016/07/20 2 years ago More "natural" feeling web framework.
goa 44 2 2019/07/26 1 year ago goa is just like koajs for golang, it is a flexible, light, high-performance and extensible web framework based on middleware.
api 31 6 2015/01/24 6 years ago REST framework for quickly writing resource based services.
rex 31 2 2014/10/16 3 years ago Rex is a library for modular development built upon gorilla/mux, fully compatible with net/http.
goweb 24 1 2019/05/07 3 months ago Web framework with routing, websockets, logging, middleware, static file server (optional gzip), and automatic TLS.
banjo 17 1 2017/12/09 3 years ago Very simple and fast web framework for Go.
banjo 17 1 2017/12/09 3 years ago Very simple and fast web framework for Go.

Middlewares

Actual middlewares

Go_repository Stars Watchers Created_at Latest_push Description
tollbooth 1942 50 2015/05/17 4 months ago Rate limit HTTP request handler.
cors 1824 31 2014/10/25 5 months ago Easily add CORS capabilities to your API.
limiter 1265 28 2015/10/02 2 weeks ago Dead simple rate limit middleware for Go.
go-server-timing 813 18 2018/02/12 6 months ago Add/parse Server-Timing header.
go-fault 391 107 2020/05/14 2 days ago Fault injection middleware for Go.
ln-paywall 110 5 2018/06/29 2 years ago Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin).
xff 80 2 2014/12/22 4 months ago Handle X-Forwarded-For header and friends.
formjson 36 2 2015/03/19 5 years ago Transparently handle JSON input as a standard form POST.
client-timing 19 1 2018/02/23 1 year ago An HTTP client for Server-Timing header.

Libraries for creating HTTP middlewares

Go_repository Stars Watchers Created_at Latest_push Description
negroni 6984 236 2014/05/18 3 months ago Idiomatic HTTP middleware for Golang.
alice 2259 49 2014/05/25 3 months ago Painless middleware chaining for Go.
render 1426 35 2014/06/10 2 hours ago Go package for easily rendering JSON, XML, and HTML template responses.
stats 579 16 2015/03/05 2 years ago Go middleware that stores various information about your web application.
interpose 292 12 2014/07/20 4 years ago Minimalist net/http middleware for golang.
renderer 221 7 2017/11/07 3 months ago Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go.
muxchain 209 5 2014/05/03 2 years ago Lightweight middleware for net/http.
rye 96 193 2016/10/06 2 years ago Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context.
gores 94 5 2015/12/25 4 months ago Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.
mediary 71 3 2020/03/23 10 months ago add interceptors to http.Client to allow dumping/shaping/tracing/... of requests/responses.
chain 63 7 2015/05/14 2 years ago Handler wrapper chaining with scoped data (net/context-based "middleware").
wrap 59 3 2014/02/16 2 years ago Small middlewares package for net/http.
catena 7 2 2015/07/30 2 years ago http.Handler wrapper catenation (same API as "chain").

Routers

Go_repository Stars Watchers Created_at Latest_push Description
mux 14329 310 2012/10/02 3 months ago Powerful URL router and dispatcher for golang.
httprouter 12696 321 2013/12/05 1 month ago High performance router. Use this and the standard http handlers to form a very high performance web framework.
chi 9393 187 2015/10/15 1 week ago Small, fast and expressive HTTP router built on net/context.
web 1441 60 2013/11/16 7 months ago Mux and middleware package in Go.
bone 1274 37 2014/11/19 2 years ago Lightning Fast HTTP Multiplexer.
fasthttprouter 873 34 2015/12/13 2 years ago High performance router forked from httprouter. The first router fit for fasthttp.
goji 858 42 2015/11/16 1 year ago Goji is a minimalistic and flexible HTTP request multiplexer with support for net/context.
gorouter 496 16 2018/01/29 1 year ago A simple and fast HTTP router for Go.
httptreemux 492 23 2014/05/14 1 month ago High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
ozzo-routing 404 29 2015/10/27 4 months ago An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.
lars 382 16 2015/12/24 2 years ago Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
siesta 350 29 2014/09/23 2 weeks ago Composable framework to write middleware and handlers.
vestigo 263 15 2015/09/22 7 months ago Performant, stand-alone, HTTP compliant URL Router for go web applications.
router 160 6 2017/05/25 1 year ago Lightning fast HTTP router fully compatible with the net/http.Handler interface.
alien 117 4 2016/01/30 2 years ago Lightweight and fast http router from outer space.
pure 116 6 2016/09/23 5 months ago Is a lightweight HTTP router that sticks to the std "net/http" implementation.
violetear 102 4 2015/06/19 1 year ago Go HTTP router.
Bxog 101 8 2016/05/19 11 months ago Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters.
gorouter 92 5 2016/07/14 2 days ago GoRouter is a Server/API micro framwework, HTTP request router, multiplexer, mux that provides request router with middleware supporting net/context.
xmux 89 6 2015/12/14 3 years ago High performance muxer based on httprouter with net/context support.
bellt 49 6 2019/02/21 10 months ago A simple Go HTTP router.
fastrouter 19 2 2017/11/01 3 years ago a fast, flexible HTTP router written in Go.
route 7 3 2019/07/06 1 year ago Simple yet powerful HTTP request multiplexer.

Windows

Go_repository Stars Watchers Created_at Latest_push Description
go-ole 739 41 2011/01/21 3 weeks ago Win32 OLE implementation for golang.
d3d9 119 7 2015/12/12 2 weeks ago Go bindings for Direct3D9.
gosddl 5 2 2018/12/04 2 years ago Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.

XML

Libraries and tools for manipulating XML.

Go_repository Stars Watchers Created_at Latest_push Description
zek 463 21 2017/11/23 6 months ago Generate a Go struct from XML.
xpath 393 9 2016/10/09 4 months ago XPath package for Go.
xquery 154 11 2016/10/09 3 years ago XQuery lets you extract data from HTML/XML documents using XPath expression.
xml2map 30 1 2018/08/06 2 months ago XML to MAP converter written Golang.
xmlwriter 19 2 2017/04/11 1 month ago Procedural XML generation API based on libxml2's xmlwriter module.
XML-Comp 15 1 2016/10/25 2 years ago Simple command line XML comparer that generates diffs of folders, files and tags.

WebAssembly

Go_repository Stars Watchers Created_at Latest_push Description
tinygo 7960 151 2018/06/07 2 hours ago Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.
dom 427 17 2018/06/30 1 year ago DOM library.
go-canvas 127 5 2019/05/05 5 months ago Library to use HTML5 Canvas, with all drawing within go code.
wasmbrowsertest 80 3 2018/07/14 2 months ago Run Go WASM tests in your browser.
webapi 79 6 2019/02/08 3 months ago Bindings for DOM and HTML generated from WebIDL.
vert 46 5 2018/03/25 1 month ago Interop between Go and JS values.

Files

File Handling

Libraries for handling files and file systems.

Go_repository Stars Watchers Created_at Latest_push Description
afero 3759 91 2014/10/28 2 days ago FileSystem Abstraction System for Go.
pdfcpu 2361 58 2017/06/18 5 days ago PDF processor.
notify 631 30 2014/09/08 3 months ago File system event notification library with simple API, similar to os/signal.
copy 306 7 2017/09/01 2 days ago Copy directory recursively.
bigfile 190 13 2019/07/15 1 year ago A file transfer system, support to manage files with http api, rpc call and ftp client.
afs 142 12 2019/08/19 1 week ago Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go.
vfs 101 22 2017/08/01 22 hours ago A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.
go-csv-tag 84 1 2017/06/18 7 months ago Load csv file using tag.
opc 66 3 2018/11/06 2 months ago Load Open Packaging Conventions (OPC) files for Go.
skywalker 64 4 2017/08/01 3 years ago Package to allow one to concurrently go through a filesystem with ease.
go-exiftool 60 4 2019/05/12 3 weeks ago Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).
tarfs 46 2 2017/03/10 1 year ago Implementation of the FileSystem interface for tar files.
checksum 32 2 2014/11/05 8 months ago Compute message digest, like MD5 and SHA256, for large files.
baraka 29 2 2020/07/12 2 weeks ago A library to process http file uploads easily.
go-gtfs 26 3 2017/07/09 7 months ago Load gtfs files in go.
flop 24 17 2019/03/01 3 months ago File operations library which aims to mirror feature parity with GNU cp.
gut 17 2 2019/10/05 5 months ago Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links.
parquet 15 5 2019/01/29 3 months ago Read and write parquet files.
go-decent-copy 14 3 2018/10/16 1 year ago Copy files for humans.
todotxt 7 1 2020/11/06 5 months ago Go library for Gina Trapani's todo.txt files, supports parsing and manipulating of task lists in the todo.txt format.

Build Automation

Libraries and tools helping with build automation.

Go_repository Stars Watchers Created_at Latest_push Description
realize 4016 74 2016/07/12 6 months ago Go build system with file watchers and live reload. Run, build and watch file changes with custom paths.
task 3361 56 2017/02/27 4 days ago simple "Make" alternative.
mmake 1564 28 2017/02/15 1 year ago Modern Make.
goyek 208 5 2020/10/11 10 hours ago Create build pipelines in Go.
taskctl 105 7 2019/11/12 2 weeks ago Concurrent task runner.
1build 92 7 2019/04/23 1 week ago Command line tool to frictionlessly manage project-specific commands.
taskflow 63 2 2020/10/11 1 week ago Create build pipelines in Go.
gaper 47 0 2018/06/16 1 year ago Builds and restarts a Go project when it crashes or some watched file changes.

Tools

Go software and plugins.

Code Analysis

Go_repository Stars Watchers Created_at Latest_push Description
lint 3883 104 2013/06/02 4 days ago Golint is a linter for Go source code.
errcheck 1683 25 2013/02/24 18 hours ago Errcheck is a program for checking for unchecked errors in Go programs.
gcvis 1012 36 2014/07/10 2 years ago Visualise Go program GC trace data in real time.
go-critic 923 20 2018/05/05 2 days ago source code linter that brings checks that are currently not implemented in other linters.
php-parser 800 26 2017/11/07 2 weeks ago A Parser for PHP written in Go.
goast-viewer 508 17 2014/06/30 1 year ago Web based Golang AST visualizer.
go-mod-outdated 507 6 2019/04/19 2 weeks ago An easy way to find outdated dependencies of your Go projects.
go-cleanarch 451 12 2017/04/12 2 months ago go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
goplantuml 394 11 2019/05/26 5 days ago Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.
unconvert 307 8 2016/02/19 11 months ago Remove unnecessary type conversions from Go source.
tickgit 252 7 2019/10/12 10 months ago CLI and go package for surfacing code comment TODOs (in any language) and applying a git blameto identify the author.
gostatus 246 7 2013/11/27 2 years ago Command line tool, shows the status of repositories that contain Go packages.
dupl 232 7 2015/05/20 4 months ago Tool for code clone detection.
golines 179 15 2019/10/01 2 weeks ago Formatter that automatically shortens long lines in Go code.
apicompat 173 8 2016/07/10 4 years ago Checks recent changes to a Go project for backwards incompatible changes.
checkstyle 113 13 2014/01/01 2 months ago checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments.
lint 66 6 2016/07/09 2 years ago Run linters as part of go test.
validate 60 6 2013/11/22 5 years ago Automatically validates struct fields with tags.
go-outdated 45 1 2015/06/29 2 years ago Console application that displays outdated packages.
blanket 14 2 2017/09/04 2 years ago tarp finds functions and methods without direct unit tests in Go source code.

Editor Plugins

Go_repository Stars Watchers Created_at Latest_push Description
vim-go 13391 283 2014/03/24 1 hour ago Go development plugin for Vim.
vscode-go 5978 226 2015/10/14 11 months ago Extension for Visual Studio Code (VS Code) which provides support for the Go language.
gocode 4916 192 2010/07/05 2 months ago Autocompletion daemon for the Go programming language.
GoSublime 3397 121 2011/08/27 9 months ago Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features.
vscode-go 1713 44 2020/03/06 19 hours ago Extension for Visual Studio Code (VS Code) which provides support for the Go language.
go-plus 1516 44 2014/03/13 1 week ago Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
go-mode.el 1165 54 2013/01/30 3 days ago Go mode for GNU/Emacs.
Watch 184 14 2013/08/08 3 years ago Runs a command in an acme win on file changes.
vim-compiler-go 88 5 2012/11/25 4 years ago Vim plugin to highlight syntax errors on save.
goimports-reviser 50 3 2020/04/08 1 week ago Formatting tool for imports.
go-language-server 33 4 2017/11/21 2 years ago A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
gounit-vim 20 2 2018/02/21 2 years ago Vim plugin for generating Go tests based on the function's or method's signature.
theia-go-extension 15 5 2017/11/30 2 years ago Go language support for the Theia IDE.

Go Generate Tools

Go_repository Stars Watchers Created_at Latest_push Description
gotests 3202 76 2016/01/19 1 month ago Generate Go tests from your source code.
genny 1495 28 2014/10/27 1 month ago Elegant generics for Go.
re2dfa 183 9 2015/06/20 2 years ago Transform regular expressions into finite state machines and output Go source code.
hasgo 89 5 2019/05/16 1 week ago Generate Haskell inspired functions for your slices.
xgen 83 10 2019/06/22 2 months ago XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.
gocontracts 69 7 2018/08/13 2 years ago brings design-by-contract to Go by synchronizing the code with the documentation.
gounit 51 5 2018/02/05 2 years ago Generate Go tests using your own templates.
generic 39 2 2016/06/15 3 months ago flexible data type for Go.

Go Tools

Go_repository Stars Watchers Created_at Latest_push Description
go-swagger 6379 123 2014/11/16 3 days ago Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
OctoLinker 4703 90 2013/12/27 2 days ago Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
go-callvis 3250 77 2016/09/03 2 months ago Visualize call graph of your Go program using dot format.
go-callvis 2408 70 2016/09/03 1 year ago Visualize call graph of your Go program using dot format.
depth 598 13 2017/03/04 1 year ago Visualize dependency trees of any package by analyzing imports.
richgo 564 4 2017/01/04 4 weeks ago Enrich go test outputs with text decorations.
rts 209 3 2016/04/04 10 months ago RTS: response to struct. Generates Go structs from server responses.
godbg 175 4 2019/01/23 2 years ago Implementation of Rusts dbg! macro for quick and easy debugging during development.
typex 131 3 2020/03/24 3 months ago Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.
colorgo 108 5 2013/02/14 9 months ago Wrapper around go command for colorized go build output.
gothanks 101 3 2019/11/10 2 months ago GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.
igo 43 2 2018/11/17 1 year ago Improved Go Syntax (transpiler)
go-james 41 2 2019/10/14 2 months ago Go project skeleton creator, builds and tests your projects without the manual setup.
go-pkg-complete 38 2 2015/05/22 3 years ago Bash completion for go and wgo.
generator-go-lang 23 13 2017/09/13 1 year ago A Yeoman generator to get new Go projects started.

Software Packages

Software written in Go.

DevOps Tools

Go_repository Stars Watchers Created_at Latest_push Description
kubernetes 77151 3261 2014/06/06 4 minutes ago Container Cluster Manager from Google.
moby 60210 3097 2013/01/18 11 hours ago Collaborative project for the container ecosystem to assemble container-based systems.
traefik 33681 700 2015/09/13 1 day ago Reverse proxy and load balancer with support for multiple backends.
traefik 30724 719 2015/09/13 8 months ago Reverse proxy and load balancer with support for multiple backends.
gitea 24768 479 2016/11/01 10 minutes ago Fork of Gogs, entirely community driven.
vegeta 17310 322 2013/08/13 1 week ago HTTP load testing tool and library. It's over 9000!
packer 12832 498 2013/03/23 42 minutes ago Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
hey 11092 173 2016/09/02 1 week ago Hey is a tiny program that sends some load to a web application.
webhook 6500 146 2015/01/12 2 weeks ago Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
gvm 6266 155 2011/12/03 2 weeks ago GVM provides an interface to manage Go versions.
gaia 4366 103 2017/12/28 3 weeks ago Build powerful pipelines in any programming language.
gox 4028 75 2013/11/17 2 months ago Dead simple, no frills Go cross compile tool.
bosun 3130 151 2013/11/15 7 hours ago Time Series Alerting Framework.
bombardier 2639 63 2016/05/29 2 weeks ago Fast cross-platform HTTP benchmarking tool.
pomerium 2490 29 2019/01/01 1 hour ago Pomerium is an identity-aware access proxy.
script 1785 32 2019/04/20 2 months ago Making it easy to write shell-like scripts in Go for DevOps and system administration tasks.
fac 1712 31 2017/12/29 1 year ago Command-line user interface to fix git merge conflicts.
goxc 1668 51 2013/02/11 1 year ago build tool for Go, with a focus on cross-compiling and packaging.
kala 1656 64 2015/03/19 1 month ago Simplistic, modern, and performant job scheduler.
statusok 1488 51 2015/08/26 3 months ago Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.
s3gof3r 1093 32 2013/08/02 3 weeks ago Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
go-selfupdate 831 28 2013/11/13 3 months ago Enable your Go applications to self update.
s5cmd 690 24 2016/11/16 3 weeks ago Blazing fast S3 and local filesystem execution tool.
skm 680 20 2017/10/11 1 week ago SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
scaleway-cli 669 34 2015/03/20 1 day ago Manage BareMetal Servers from Command Line (as easily as with Docker).
aurora 515 31 2016/10/09 6 months ago Cross-platform web-based Beanstalkd queue server console.
cassowary 503 5 2019/08/25 2 months ago Modern cross-platform HTTP load-testing tool written in Go.
govvv 479 10 2016/08/02 1 year ago “go build” wrapper to easily add version information into Go binaries.
utask 414 27 2019/11/05 2 days ago Automation engine that models and executes business processes declared in yaml.
gonative 328 8 2014/05/01 4 years ago Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
trubka 297 14 2019/07/05 5 months ago A CLI tool to manage and troubleshoot Apache Kafka clusters with the ability of generically publishing/consuming protocol buffer and plain text events to/from Kafka.
mora 285 24 2013/07/12 1 month ago REST server for accessing MongoDB documents and meta data.
lstags 281 12 2017/08/15 6 months ago Tool and API to sync Docker images across different registries.
pewpew 278 9 2016/10/12 3 months ago Flexible HTTP command line stress tester.
jenkins-cli 256 12 2019/06/21 3 days ago Jenkins CLI allows you manage your Jenkins as an easy way.
dogo 240 18 2014/11/19 2 years ago Monitoring changes in the source file and automatically compile and run (restart).
manssh 226 4 2017/10/08 2 years ago manssh is a command line tool for managing your ssh alias config easily.
godbg 224 18 2013/08/09 2 years ago Web-based gdb front-end application.
blast 198 5 2017/10/21 3 years ago A simple tool for API load testing and batch jobs.
easyssh-proxy 186 8 2017/03/03 2 months ago Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand.
gobrew 181 5 2013/11/13 11 months ago gobrew lets you easily switch between multiple versions of go.
ostent 171 7 2014/03/31 3 years ago collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
abbreviate 163 6 2018/11/23 6 months ago abbreviate is a tool turning long strings in to shorter ones with configurable seperaters, for example to embed branch names in to deployment stack IDs.
grapes 152 6 2016/09/01 4 months ago Lightweight tool designed to distribute commands over ssh with ease.
kcli 150 5 2017/03/25 1 year ago Command line tool for inspecting kafka topics/partitions/messages.
terraform-provider-openapi 145 10 2017/10/17 2 weeks ago Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.
winrm-cli 113 5 2016/05/23 1 year ago Cli tool to remotely execute commands on Windows machines.
dockerfile-generator 95 5 2019/08/14 1 year ago A go library and an executable that produces valid Dockerfiles using various input channels.
drone-scp 82 3 2016/10/16 7 months ago Copy files and artifacts via SSH using a binary, docker or Drone CI.
go-furnace 81 1 2016/10/09 1 year ago Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.
dropship 54 3 2015/09/03 2 years ago Tool for deploying code via cdn.
s3-proxy 43 2 2019/09/22 1 day ago S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth).
drone-jenkins 31 2 2016/10/15 7 months ago Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
rodent 31 2 2014/06/01 4 years ago Rodent helps you manage Go versions, projects and track dependencies.
awsenv 27 2 2015/08/05 2 years ago Small binary that loads Amazon (AWS) environment variables for a profile.
lwc 24 3 2018/04/22 1 year ago A live-updating version of the UNIX wc command.
depcharge 18 3 2018/07/25 1 year ago Helps orchestrating the execution of commands across the many dependencies in larger projects.
httpref 14 2 2020/01/10 3 months ago httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports.
sg 6 1 2015/08/19 4 years ago Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response.
aptly-fork 4 0 2019/07/04 1 year ago aptly is a Debian repository management tool.

Other Software

Go_repository Stars Watchers Created_at Latest_push Description
goreplay 14138 469 2013/05/30 1 week ago Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
croc 13272 210 2017/10/17 21 hours ago Easily and securely send files or folders from one computer to another.
restic 12677 227 2014/04/27 4 days ago De-duplicating backup program.
seaweedfs 11963 535 2014/07/14 9 hours ago Fast, Simple and Scalable Distributed File System with O(1) disk seek.
confd 7456 257 2013/10/01 5 months ago Manage local application configuration files using templates and data from etcd or consul.
comcast 6942 152 2014/11/12 1 year ago Simulate bad network connections.
liteide 6435 368 2012/11/19 2 months ago LiteIDE is a simple, open source, cross-platform Go IDE.
drive 5983 192 2014/11/03 3 months ago Google Drive client for the commandline.
toxiproxy 5441 299 2014/09/04 1 day ago Proxy to simulate network and system conditions for automated tests.
nes 4756 150 2015/03/02 3 months ago Nintendo Entertainment System (NES) emulator written in Go.
duplicacy 3676 92 2016/02/23 2 months ago A cross-platform network and cloud backup tool based on the idea of lock-free deduplication.
mylg 2469 113 2016/06/21 1 year ago Command Line Network Diagnostic tool written in Go.
scc 2437 24 2018/03/01 6 days ago Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.
goboy 2346 47 2017/08/20 9 months ago Nintendo Game Boy Color emulator written in Go.
sup 2250 73 2015/02/23 1 year ago Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
lgo 2161 49 2017/10/05 5 months ago Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.
circuit 1889 138 2014/04/10 1 year ago Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
snap 1792 145 2014/08/13 2 years ago Powerful telemetry framework.
borg 1509 40 2016/09/10 3 years ago Terminal based search engine for bash snippets.
community 1319 50 2016/04/29 1 month ago Modern wiki software that integrates data from SaaS tools.
Go-Package-Store 886 20 2014/01/24 1 year ago App that displays updates for the Go packages in your GOPATH.
peg 792 29 2010/04/25 6 months ago Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
vflow 792 86 2017/02/24 1 month ago High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
shell2http 756 25 2015/03/11 2 days ago Executing shell commands via http server (for prototyping or remote control).
leaps 701 28 2014/06/19 2 months ago Pair programming service using Operational Transforms.
gfile 614 12 2019/03/08 2 months ago Securely transfer files between two computers, without any third party, over WebRTC.
gebug 545 5 2020/07/20 1 hour ago A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.
guora 526 15 2020/08/13 5 months ago A self-hosted Quora like web application written in Go.
mockingjay-server 484 9 2015/04/04 3 months ago Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.
gocc 483 21 2015/06/05 3 weeks ago Gocc is a compiler kit for Go written in Go.
go-peerflix 424 19 2015/10/08 1 year ago Video streaming torrent client.
ipe 320 18 2015/01/13 1 month ago Open source Pusher server implementation compatible with Pusher client libraries written in GO.
IDE 312 18 2017/09/09 1 month ago Browser accessible IDE. Designed for Go with Go.
wellington 296 13 2014/12/08 6 months ago Sass project management tool, extends the language with sprite functions (like Compass).
cherry 239 12 2015/10/24 3 years ago Tiny webchat server in Go.
tcpprobe 213 8 2020/10/26 2 months ago TCP tool for network performance and path monitoring, including socket statistics.
woke 209 6 2020/08/31 1 week ago Detect non-inclusive language in your source code.
orange-cat 182 5 2014/11/01 2 years ago Markdown previewer written in Go.
orange-cat 182 5 2014/11/01 2 years ago Markdown previewer written in Go.
joincap 162 7 2018/05/31 1 month ago Command-line utility for merging multiple pcap files together.
orbit 151 9 2017/05/13 3 months ago A simple tool for running commands and generating files from templates.
vaku 109 3 2018/04/24 2 days ago CLI & API for folder-based functions in Vault like copy, move, and search.
dp 81 9 2018/12/12 1 day ago Through SDK for data exchange with blockchain, developers can get easy access to DAPP development.
boxed 74 3 2015/04/18 2 years ago Dropbox based blog engine.
naclpipe 21 6 2015/05/05 2 years ago Simple NaCL EC25519 based crypto pipe tool written in Go.
term-quiz 18 1 2017/12/26 2 years ago Quizzes for your terminal.
snitch 14 1 2017/04/06 2 years ago Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
GoDocTooltip 13 3 2016/01/21 3 months ago Chrome extension for Go Doc sites, which shows function description as tooltip at function list.

Resources

Where to discover new Go libraries.

Benchmarks

Go_repository Stars Watchers Created_at Latest_push Description
go-http-routing-benchmark 1492 59 2013/12/16 4 days ago Go HTTP request router benchmark and comparison.
go-web-framework-benchmark 1472 83 2016/04/06 3 days ago Go web framework benchmark.
go_serialization_benchmarks 1145 38 2013/01/18 2 weeks ago Benchmarks of Go serialization methods.
skynet 984 49 2016/02/14 3 months ago Skynet 1M threads microbenchmark.
speedtest-resize 209 7 2013/09/16 6 months ago Compare various Image resize algorithms for the Go language.
go-benchmarks 138 11 2016/02/25 5 years ago Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
gospeed 106 8 2011/05/23 2 months ago Go micro-benchmarks for calculating the speed of language constructs.
autobench 90 9 2013/03/28 6 years ago Framework to compare the performance between different Go versions.
golang-sql-benchmark 58 5 2014/09/24 3 years ago Collection of benchmarks for popular Go database/SQL utilities.
gocostmodel 57 6 2014/12/19 6 years ago Benchmarks of common basic operations for the Go language.
go-benchmark-app 21 1 2017/01/24 4 years ago Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
kvbench 20 1 2014/04/15 1 year ago Key/Value database benchmark.
go-json-benchmark 4 2 2019/11/10 7 months ago Go JSON benchmark.

Conferences

E-Books

Go_repository Stars Watchers Created_at Latest_push Description
GoBooks 9334 573 2015/05/05 1 day ago A curated list of Go books.
The-Golang-Standard-Library-by-Example 7755 594 2013/04/14 1 month ago Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。
gosuccinctly 18 3 2018/09/02 2 years ago in Persian.

Gophers

Go_repository Stars Watchers Created_at Latest_push Description
gophers 2437 97 2017/02/15 2 years ago Gopher artworks by Ashley McNamara.
gophers 2344 57 2015/06/03 10 months ago Free gophers.
free-gophers-pack 2222 57 2019/04/02 10 months ago Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.
gophericons 589 19 2015/08/22 3 years ago 34 gopher images for Go developers community
gopher-stickers 503 14 2014/11/09 1 year ago gopher stickers
gopherize.me 496 8 2017/01/25 8 months ago Gopherize yourself.
gopher-vector 379 13 2013/03/31 4 years ago Vector data of gopher
go-gopher 94 0 2018/03/28 1 week ago Gopher amigurumi toy pattern.
gopher-logos 84 8 2017/07/27 2 years ago adorable gopher logos.
gophers 54 2 2017/01/28 9 months ago random gopher graphics.
Go-gopher-Vector 39 1 2014/09/03 3 years ago Go gopher Vector Data [.ai, .svg].

Meetups

Add the group of your city/country here (send PR)

Twitter

Websites

Go_repository Stars Watchers Created_at Latest_push Description
awesome-awesomeness 27619 1738 2014/07/08 1 month ago List of other amazingly awesome lists.
awesome-remote-job 20344 1011 2015/01/02 1 week ago Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
golang-graphics 140 8 2014/03/24 5 years ago Collection of Go images, graphics, and art.
gocryforhelp 38 11 2016/05/09 3 years ago Collection of Go projects that needs help. Good place to start your open-source way in Go.

Tutorials

Go_repository Stars Watchers Created_at Latest_push Description
build-web-application-with-golang 37652 2486 2012/08/02 1 week ago Golang ebook intro how to build a web app with golang.
go-patterns 15136 606 2015/12/14 2 weeks ago Curated list of Go design patterns, recipes and idioms.
learn-go-with-tests 14256 310 2018/03/02 1 week ago Learn Go with test-driven development.
golang-cheat-sheet 5429 188 2014/02/13 3 weeks ago Go's reference card.
golang-for-nodejs-developers 2360 38 2019/01/03 3 weeks ago Examples of Golang compared to Node.js for learning.
working-with-go 1162 49 2014/05/04 1 year ago Intro to go for experienced programmers.
ethereum-development-with-go-book 798 45 2018/05/16 2 weeks ago A little e-book on Ethereum Development with Go.
goapp 245 9 2020/07/04 4 months ago An opinionated guideline to structure & develop a Go web application/service.
design-patterns 54 4 2020/09/24 6 months ago Collection of programming design patterns implemented in Go.

Style Guides

Go_repository Stars Watchers Created_at Latest_push Description
go-styleguide 1072 27 2017/07/29 3 months ago 🏆 Opinionated Styleguide for the Go language

该项目源码Awesome Go Analysis 更专业的go开源项目分析请移步 Awesome Go