Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Happy Time Golang Libraries

Happy Time Go Libraries.

Another curated list like awesome-go.
Not complete. Not authoritative. Not cupcake.
Send suggestions: @squarism :)
☆ = Github stars (in November 2016)

Adapters and Drivers

Postgres (2395☆)

MySQL (2868☆)

Sqlite (1463☆)

RethinkDB (1067☆)


Memcached (679☆)

Redis (2587☆)

Elastigo - A Go (golang) based Elasticsearch client library. (809☆)

Databases in Go

Bolt - A low-level key/value database for Go (5054☆)

Go-cache - An in-memory key:value store/cache (similar to Memcached), suitable for single-machine apps (658☆)

Doozer - A consistent distributed data store for small amounts of extremely important data. (2781☆)

etd - A highly-available key value store for shared configuration and service discovery (11316☆)


Now - date math sugar now.EndOfWeek() (717☆)


go-spew - Implements a deep pretty printer for Go data structures to aid in debugging
go get -u (1094☆) †

delve - Debugger (4479☆)


Email - email for humans (721☆)

Image Processing

Gift - image processing with no dependencies (826☆)


Hellabot - irc bot framework (87☆)


Logrus - structured, pluggable logging for Go. (3498☆)

Machine Learning

Golearn - GoLearn is a 'batteries included' machine learning library for Go. (3431☆)

Shield - English text bayes classifier (88☆)


AMQP - rabbitmq client (1002☆)

Go-workers - sidekiq compatible workers (782☆)

Libchan - like go channels over the network (2090☆)

Gozmq - Go (golang) bindings for the ZeroMQ 4 (447☆)

Gnatsd - High Performance Golang Server for NATS, the cloud native messaging system. (2491☆)


I want to call this section DevOps but I won't. :)

Influxdb - Metrics! Influx->Graphana (UI) Like statsd+graphite. (9143☆)

statsd - Statsd server in go. (112☆)


Gorp - ORM-ish (go doesn't have objects really) library for Go (2255☆)

Package Management

Gpm - minimalistic package manager for Go (805☆) †


go/codec - collection of serialization libraries including msgpack (677☆)


Mustache - The mustache template language in Go (809☆)


Ginkgo - BDD testing (1220☆)

GoConvey - a yummy Go testing tool for gophers. Works with go test. (2449☆)

Gory - Factories for your Go structs. Think factory_girl. (67☆)

Testify - A sacred extension to the standard go testing package (mocks) (2386☆)

Looper - Like guard for go (or autotest) (289☆)


Blackfriday - a markdown processor for Go (2092☆)

Toml - TOML parser (1078☆)

YAML - yaml 1.2 parser (30 watchers)

Gokogiri - libxml nokogiri port (465☆)

Utilities and Miscellaneous

Gojson - gojson attempts to generate go struct definitions from json documents (1174)

Cobra - Command Line Options (2924☆)

Viper - Configuration library for 12 factor apps (2194☆)

Gopencils - Easily consume REST APIs with Go (363☆)

goagain - Zero-downtime restarts in Go (1518☆)

Text User Interfaces

Termbox-go - cross Win/Linux TUI API to make terminal UIs (1702☆)

Color - ANSI color library (1212☆)


Go.auth - Authentication API for Go web applications. (332☆)

Binding - Binds form and JSON data from net/http Request to struct. (529☆)

Nosurf - A CSRF protection middleware for Go. (690☆)

Martini - classy web framework (sinatra inspired) (8835☆)

Render - easy rendering serialized JSON, XML, and HTML template responses (234☆)

Negroni - idiomatic http middleware (4108☆)

Gin - Gin is like Martini but really fast (7981☆)

Goji - Goji is a minimalistic web framework for Golang that's high in antioxidants (3181☆)

fasthttp - Http client and server tools beyond net/http (3492☆)

Editors and tools

you would probably not install these like libraries

GoSublime - Sublime Text 2 plugin. Does code completion and fixes imports (among other things) (2426☆) †

Vim-go - vim plugin (5665☆) †

† uninstallable via go get, skipped by below install script

Quick install script

for library in `curl -s \ \
| grep -v † | grep -E "^<code>.*</code>" | sed -e 's/<[^>]*>//g' | awk '{print $1}'`
do go get -u $library
  echo '-->' $library done.

# some above are not golang repos or have special installation paths
brew install gpm
go get

Many of these require dependencies, like yum, rpm, apt-get or brew install fun times.

TODO: list out all the depenencies for like one platform (mac) as a hint.

brew install zmq hg gflagsl

If you don't have go this do this in homebrew:

brew install go --cross-compile-common

This comment has been minimized.

Copy link

joeatbayes commented Nov 4, 2017

Please consider adding: - HTTP based Key / Value meta data service. Designed to manage Terabytes of data in forward propagated caches too large to use pure in-memory cache systems. - General purpose machine learning classifier written in GO

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.