Another curated list like awesome-go.
Not complete. Not authoritative. Not cupcake.
Send suggestions: @squarism :)
☆ = Github stars (in November 2016)
Postgres
github.com/lib/pq (2395☆)
MySQL
github.com/go-sql-driver/mysql (2868☆)
Sqlite
github.com/mattn/go-sqlite3 (1463☆)
RethinkDB
github.com/dancannon/gorethink (1067☆)
MongoDB
gopkg.in/mgo.v2
Memcached
github.com/bradfitz/gomemcache (679☆)
Redis
github.com/garyburd/redigo (2587☆)
Elastigo - A Go (golang) based Elasticsearch client library.
github.com/mattbaird/elastigo (809☆)
Bolt - A low-level key/value database for Go
github.com/boltdb/bolt (5054☆)
Go-cache - An in-memory key:value store/cache (similar to Memcached), suitable for single-machine apps
github.com/patrickmn/go-cache (658☆)
Doozer - A consistent distributed data store for small amounts of extremely important data.
github.com/ha/doozerd (2781☆)
etd - A highly-available key value store for shared configuration and service discovery
github.com/coreos/etcd (11316☆)
Now - date math sugar now.EndOfWeek()
github.com/jinzhu/now (717☆)
go-spew - Implements a deep pretty printer for Go data structures to aid in debugging
go get -u github.com/davecgh/go-spew/spew (1094☆) †
delve - Debugger
github.com/derekparker/delve (4479☆)
Email - email for humans
github.com/jordan-wright/email (721☆)
Gift - image processing with no dependencies
github.com/disintegration/gift (826☆)
Hellabot - irc bot framework
github.com/whyrusleeping/hellabot (87☆)
Logrus - structured, pluggable logging for Go.
github.com/sirupsen/logrus (3498☆)
Golearn - GoLearn is a 'batteries included' machine learning library for Go.
github.com/sjwhitworth/golearn (3431☆)
Shield - English text bayes classifier
github.com/eaigner/shield (88☆)
AMQP - rabbitmq client
github.com/streadway/amqp (1002☆)
Go-workers - sidekiq compatible workers
github.com/jrallison/go-workers (782☆)
Libchan - like go channels over the network
github.com/docker/libchan (2090☆)
Gozmq - Go (golang) bindings for the ZeroMQ 4
github.com/pebbe/zmq4 (447☆)
Gnatsd - High Performance Golang Server for NATS, the cloud native messaging system.
github.com/nats-io/gnatsd (2491☆)
I want to call this section DevOps but I won't. :)
Influxdb - Metrics! Influx->Graphana (UI) Like statsd+graphite.
github.com/influxdata/influxdb (9143☆)
statsd - Statsd server in go.
github.com/quipo/statsd (112☆)
Gorp - ORM-ish (go doesn't have objects really) library for Go
github.com/go-gorp/gorp (2255☆)
Gpm - minimalistic package manager for Go
github.com/pote/gpm (805☆) †
go/codec - collection of serialization libraries including msgpack
github.com/ugorji/go (677☆)
Mustache - The mustache template language in Go
github.com/hoisie/mustache (809☆)
Ginkgo - BDD testing
github.com/onsi/ginkgo (1220☆)
GoConvey - a yummy Go testing tool for gophers. Works with go test.
github.com/smartystreets/goconvey (2449☆)
Gory - Factories for your Go structs. Think factory_girl.
github.com/modocache/gory (67☆)
Testify - A sacred extension to the standard go testing package (mocks)
github.com/stretchr/testify (2386☆)
Looper - Like guard for go (or autotest)
github.com/nathany/looper (289☆)
Blackfriday - a markdown processor for Go
github.com/russross/blackfriday (2092☆)
Toml - TOML parser
github.com/BurntSushi/toml (1078☆)
YAML - yaml 1.2 parser
bitbucket.org/zombiezen/yaml (30 watchers)
Gokogiri - libxml nokogiri port
github.com/moovweb/gokogiri (465☆)
Gojson - gojson attempts to generate go struct definitions from json documents
github.com/ChimeraCoder/gojson (1174)
Cobra - Command Line Options
github.com/spf13/cobra (2924☆)
Viper - Configuration library for 12 factor apps
github.com/spf13/viper (2194☆)
Gopencils - Easily consume REST APIs with Go
github.com/bndr/gopencils (363☆)
goagain - Zero-downtime restarts in Go
github.com/rcrowley/goagain (1518☆)
Termbox-go - cross Win/Linux TUI API to make terminal UIs
github.com/nsf/termbox-go (1702☆)
Color - ANSI color library
github.com/fatih/color (1212☆)
Go.auth - Authentication API for Go web applications.
github.com/bradrydzewski/go.auth (332☆)
Binding - Binds form and JSON data from net/http Request to struct.
github.com/mholt/binding (529☆)
Nosurf - A CSRF protection middleware for Go.
github.com/justinas/nosurf (690☆)
Martini - classy web framework (sinatra inspired)
github.com/go-martini/martini (8835☆)
Render - easy rendering serialized JSON, XML, and HTML template responses
github.com/martini-contrib/render (234☆)
Negroni - idiomatic http middleware
github.com/urfave/negroni (4108☆)
Gin - Gin is like Martini but really fast
github.com/gin-gonic/gin (7981☆)
Goji - Goji is a minimalistic web framework for Golang that's high in antioxidants
github.com/zenazn/goji (3181☆)
fasthttp - Http client and server tools beyond net/http
github.com/valyala/fasthttp (3492☆)
you would probably not install these like libraries
GoSublime - Sublime Text 2 plugin. Does code completion and fixes imports (among other things)
github.com/DisposaBoy/GoSublime (2426☆) †
Vim-go - vim plugin
github.com/fatih/vim-go (5665☆) †
† uninstallable via
go get, skipped by below install script
for library in `curl -s \
https://gist.github.com/squarism/914b26e316a2cb204188 \
| grep -v † | grep -E "^<code>.*</code>" | sed -e 's/<[^>]*>//g' | awk '{print $1}'`
do go get -u $library
echo '-->' $library done.
done
# some above are not golang repos or have special installation paths
brew install gpm
go get github.com/dotcloud/docker/utils
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
Please consider adding:
https://bitbucket.org/joexdobs/meta-data-server - 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.
https://bitbucket.org/joexdobs/ml-classifier-gesture-recognition - General purpose machine learning classifier written in GO