Another curated list like awesome-go.
Not complete. Not authoritative. Not cupcake.
Send suggestions: @squarism :)
☆ = Github stars (in September 2014)
Postgres
github.com/lib/pq (886☆)
MySQL
github.com/go-sql-driver/mysql (927☆)
Sqlite
github.com/mattn/go-sqlite3 (481☆)
RethinkDB
github.com/dancannon/gorethink (217☆)
MongoDB
labix.org/v2/mgo
Memcached
github.com/bradfitz/gomemcache/memcache (325☆)
Redis
github.com/garyburd/redigo/redis (877☆)
Elastigo - A Go (golang) based Elasticsearch client library.
github.com/mattbaird/elastigo (311☆)
Bolt - A low-level key/value database for Go
github.com/boltdb/bolt (791☆)
Go-cache - An in-memory key:value store/cache (similar to Memcached), suitable for single-machine apps
github.com/pmylund/go-cache (171☆)
Doozer - A consistent distributed data store for small amounts of extremely important data.
github.com/ha/doozerd (2131☆)
etd - A highly-available key value store for shared configuration and service discovery
github.com/coreos/etcd (4225☆)
Cockroach - A Scalable, Geo-Replicated, Transactional Datastore
github.com/cockroachdb/cockroach (1507☆) † (TODO: needs rocksdb installed by hand)
Now - date math sugar now.EndOfWeek()
github.com/jinzhu/now (216☆)
Email - email for humans
github.com/jordan-wright/email (475☆)
Gift - image processing with no dependencies
github.com/disintegration/gift (468☆)
Hellabot - irc bot framework
github.com/whyrusleeping/hellabot (61☆)
Logrus - structured, pluggable logging for Go.
github.com/sirupsen/logrus (549☆)
Golearn - GoLearn is a 'batteries included' machine learning library for Go.
github.com/sjwhitworth/golearn (1367☆)
Shield - English text bayes classifier
github.com/eaigner/shield (44☆)
AMQP - rabbitmq client
github.com/streadway/amqp (391☆)
Go-workers - sidekiq compatible workers
github.com/jrallison/go-workers (264☆)
Libchan - like go channels over the network
github.com/docker/libchan (1345☆)
Gozmq - Go (golang) bindings for the ZeroMQ 4
github.com/pebbe/zmq4 (127☆)
Beanstalk - Go client for beanstalkd
github.com/kr/beanstalk (51☆)
nsq - A realtime distributed messaging platform
github.com/bitly/go-nsq (210☆)
I want to call this section DevOps but I won't. :)
Influxdb - Metrics! Influx->Graphana (UI) Like statsd+graphite.
github.com/influxdb/influxdb/client (2983☆)
Graphite-ng - Next generation graphite server
github.com/graphite-ng/graphite-ng (250☆)
Gorp - ORM-ish (go doesn't have objects really) library for Go
github.com/coopernurse/gorp (1116☆)
Gpm - minimalistic package manager for Go
github.com/pote/gpm (442☆) †
Mustache - The mustache template language in Go
github.com/hoisie/mustache (616☆)
Ginkgo - BDD testing
github.com/onsi/ginkgo (460)
GoConvey - a yummy Go testing tool for gophers. Works with go test.
github.com/smartystreets/goconvey (1103☆)
Gory - Factories for your Go structs. Think factory_girl.
github.com/modocache/gory (17☆)
Testify - A sacred extension to the standard go testing package (mocks)
github.com/stretchr/testify (704☆)
Looper - Like guard for go (or autotest)
github.com/nathany/looper (143☆)
Blackfriday - a markdown processor for Go
github.com/russross/blackfriday (911☆)
Toml - TOML parser
github.com/BurntSushi/toml (288☆)
YAML - yaml 1.2 parser
bitbucket.org/zombiezen/yaml (32 watchers)
Gokogiri - libxml nokogiri port
github.com/moovweb/gokogiri (287☆)
Gox - cross compiling made dead easy
github.com/mitchellh/gox (588☆)
Utils - general utils from the docker repo
github.com/dotcloud/docker/blob/master/utils (15k☆**) †
Gojson - gojson attempts to generate go struct definitions from json documents
github.com/ChimeraCoder/gojson (322☆)
Cobra - Command Line Options
github.com/spf13/cobra (484☆)
Dotenv - put app settings into .env file, deployment happiness
github.com/joho/godotenv (84☆)
Gopencils - Easily consume REST APIs with Go
github.com/bndr/gopencils (246☆)
go-spew - Implements a deep pretty printer for Go data structures to aid in debugging
github.com/davecgh/go-spew/spew (323☆)
goagain - Zero-downtime restarts in Go
github.com/rcrowley/goagain (996☆)
Termbox-go - cross Win/Linux TUI API to make terminal UIs
github.com/nsf/termbox-go (461☆)
Color - ANSI color library
github.com/fatih/color (138☆)
Go.auth - Authentication API for Go web applications.
github.com/bradrydzewski/go.auth (204☆)
Binding - Binds form and JSON data from net/http Request to struct.
github.com/mholt/binding (216☆)
Nosurf - A CSRF protection middleware for Go.
github.com/justinas/nosurf (273☆)
Martini - classy web framework (sinatra inspired)
github.com/go-martini/martini (5347☆)
Render - easy rendering serialized JSON, XML, and HTML template responses
github.com/martini-contrib/render (109☆)
Negroni - idiomatic http middleware
github.com/codegangsta/negroni (1363☆)
Gin - Gin is like Martini but really fast
github.com/gin-gonic/gin (1409☆)
Goji - Goji is a minimalistic web framework for Golang that's high in antioxidants
github.com/zenazn/goji (1564☆)
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 (1334☆) †
Vim-go - vim plugin
github.com/fatih/vim-go (1133☆) †
** docker has 13,000 stars but that's the whole project
† uninstallable viago get
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