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