* [termbox-go](https://github.com/nsf/termbox-go) - Termbox is a library for creating cross-platform text-based interfaces.
* [termbox-go](https://github.com/nsf/termbox-go) - Termbox is a library for creating cross-platform text-based interfaces.
* [termui](https://github.com/gizak/termui) - Go terminal dashboard based on [termbox-go](https://github.com/nsf/termbox-go) and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib).
* [termui](https://github.com/gizak/termui) - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib).
## Configuration
## Configuration
@ -138,9 +137,11 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs.
* [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs.
* [envconf](https://github.com/ian-kent/envconf) - Configuration from environment
* [envconf](https://github.com/ian-kent/envconf) - Configuration from environment
* [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy
* [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy
* [ini](https://github.com/go-ini/ini) - Go package for read and write INI files
* [mini](https://github.com/FogCreek/mini) - A golang package for parsing ini-style configuration files
* [mini](https://github.com/FogCreek/mini) - A golang package for parsing ini-style configuration files
* [viper](https://github.com/spf13/viper) - Go configuration with fangs
* [viper](https://github.com/spf13/viper) - Go configuration with fangs
## CSS Preprocessors
## CSS Preprocessors
*Libraries for preprocessing CSS files*
*Libraries for preprocessing CSS files*
@ -152,8 +153,8 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
*Generic datastructures and algorithms in Go.*
*Generic datastructures and algorithms in Go.*
* [bitset](https://github.com/willf/bitset) - Go package implementing bitsets.
* [bitset](https://github.com/willf/bitset) - Go package implementing bitsets.
* [bloom](https://github.com/dataence/bloom) - Bloom filters implemented in Go.
* [bloom](https://github.com/surge/bloom) - Bloom filters implemented in Go.
* [encoding](https://github.com/dataence/encoding) - Integer Compression Libraries for Go.
* [encoding](https://github.com/surge/encoding) - Integer Compression Libraries for Go.
* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go.
* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go.
* [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing
* [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing
* [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go
* [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go
@ -166,7 +167,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go.
* [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go.
* [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts.
* [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts.
* [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store.
* [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store.
* [forestdb](https://github.com/couchbaselabs/goforestdb) - Go bindings for ForestDB.
* [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB.
* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
* [goleveldb](https://github.com/syndtr/goleveldb) - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go.
* [goleveldb](https://github.com/syndtr/goleveldb) - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go.
* [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
* [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
@ -194,9 +195,10 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
## Database Drivers
## Database Drivers
*Libraries for connecting and operating databases. (see [Testing](#testing) for mock drivers)*
*Libraries for connecting and operating databases.*
* Relational Databases
* Relational Databases
* [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go
* [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql.
* [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql.
* [go-bqstreamer](https://github.com/rounds/go-bqstreamer) - BigQuery fast and concurrent stream insert.
* [go-bqstreamer](https://github.com/rounds/go-bqstreamer) - BigQuery fast and concurrent stream insert.
* [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft MSSQL driver prototype in go language.
* [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft MSSQL driver prototype in go language.
@ -209,7 +211,8 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* NoSQL Databases
* NoSQL Databases
* [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language.
* [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language.
* [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends.
* [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends.
* [go-couchbase](https://github.com/couchbaselabs/go-couchbase) - Couchbase client in Go
* [go-couchbase](https://github.com/couchbase/go-couchbase) - Couchbase client in Go
* [go-couchdb](https://github.com/fjl/go-couchdb) - Yet another CouchDB HTTP API wrapper for Go
* [gocql](http://gocql.github.io) - A Go language driver for Apache Cassandra.
* [gocql](http://gocql.github.io) - A Go language driver for Apache Cassandra.
* [gomemcache](https://github.com/bradfitz/gomemcache/) - memcache client library for the Go programming language.
* [gomemcache](https://github.com/bradfitz/gomemcache/) - memcache client library for the Go programming language.
* [gorethink](https://github.com/dancannon/gorethink) - Go language driver for RethinkDB
* [gorethink](https://github.com/dancannon/gorethink) - Go language driver for RethinkDB
@ -312,6 +315,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK
* [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK
* [go-qml](https://github.com/go-qml/qml) - QML support for the Go language
* [go-qml](https://github.com/go-qml/qml) - QML support for the Go language
* [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go.
* [gotk3](https://github.com/conformal/gotk3) - Go bindings for GTK3.
* [gotk3](https://github.com/conformal/gotk3) - Go bindings for GTK3.
* [gxui](https://github.com/google/gxui) - A Go cross platform UI library.
* [gxui](https://github.com/google/gxui) - A Go cross platform UI library.
* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go.
* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go.
@ -338,6 +342,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick's MagickWand C API.
* [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick's MagickWand C API.
* [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package.
* [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package.
* [img](https://github.com/hawx/img) - A selection of image manipulation tools.
* [img](https://github.com/hawx/img) - A selection of image manipulation tools.
* [picfit](https://github.com/thoas/picfit) - An image resizing server written in Go
* [resize](https://github.com/nfnt/resize) - Image resizing for the Go with common interpolation methods.
* [resize](https://github.com/nfnt/resize) - Image resizing for the Go with common interpolation methods.
* [rez](https://github.com/bamiaux/rez) - Image resizing in pure Go and SIMD.
* [rez](https://github.com/bamiaux/rez) - Image resizing in pure Go and SIMD.
* [smartcrop](https://github.com/muesli/smartcrop) - Finds good crops for arbitrary images and crop sizes
* [smartcrop](https://github.com/muesli/smartcrop) - Finds good crops for arbitrary images and crop sizes
@ -352,15 +357,12 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [go-log](https://github.com/siddontang/go-log) - Log lib supports level and multi handlers.
* [go-log](https://github.com/siddontang/go-log) - Log lib supports level and multi handlers.
* [go-log](https://github.com/ian-kent/go-log) - A log4j implementation in Go.
* [go-log](https://github.com/ian-kent/go-log) - A log4j implementation in Go.
* [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers.
* [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers.
* [gologex](https://github.com/chzyer/gologex) - An golang log lib, supports tracking and level, wrap by standard log lib
* [hiprus](https://github.com/nubo/hiprus) - [logrus](https://github.com/sirupsen/logrus) plug-in to send errors to a channel in [Hipchat](https://hipchat.com).
* [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas writen in golang.
* [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas writen in golang.
* [logrus](https://github.com/sirupsen/logrus) - Structured, pluggable logging for Go.
* [logex](https://github.com/go-logex/logex) - An golang log lib, supports tracking and level, wrap by standard log lib
* [logrusly](https://github.com/sebest/logrusly) - [logrus](https://github.com/sirupsen/logrus) plug-in to send errors to a [Loggly](https://www.loggly.com/).
* [logrusly](https://github.com/sebest/logrusly) - [logrus](https://github.com/sirupsen/logrus) plug-in to send errors to a [Loggly](https://www.loggly.com/).
* [logxi](https://github.com/mgutz/logxi) - A 12-factor app logger that is fast and makes you happy.
* [logxi](https://github.com/mgutz/logxi) - A 12-factor app logger that is fast and makes you happy.
* [lumberjack](https://github.com/natefinch/lumberjack) - Simple rolling logger, implements io.WriteCloser.
* [lumberjack](https://github.com/natefinch/lumberjack) - Simple rolling logger, implements io.WriteCloser.
* [seelog](https://github.com/cihub/seelog) - logging functionality with flexible dispatching, filtering, and formatting.
* [seelog](https://github.com/cihub/seelog) - logging functionality with flexible dispatching, filtering, and formatting.
* [slackrus](https://github.com/johntdyer/slackrus) - [logrus](https://github.com/sirupsen/logrus) plug-in to send errors to a channel in [Slack](https://slack.com).
* [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
* [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
* [tail](https://github.com/ActiveState/tail) - A Go package striving to emulate the features of the BSD tail program.
* [tail](https://github.com/ActiveState/tail) - A Go package striving to emulate the features of the BSD tail program.
@ -454,9 +456,8 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
*Libraries for using OpenGL in Go.*
*Libraries for using OpenGL in Go.*
* [gl](https://github.com/go-gl/gl) - Go bindings for OpenGL. Requires an external dependency GLEW.
* [gl](https://github.com/go-gl/gl) - Go bindings for OpenGL (generated via glow).
* [glfw3](https://github.com/go-gl/glfw3) - Go bindings for GLFW 3.
* [glfw](https://github.com/go-gl/glfw) - Go bindings for GLFW 3.
* [glow](https://github.com/go-gl/glow) - Go binding generator and bindings for OpenGL.
* [mathgl](https://github.com/go-gl/mathgl) - Pure Go math package specialized for 3D math, with inspiration from GLM.
* [mathgl](https://github.com/go-gl/mathgl) - Pure Go math package specialized for 3D math, with inspiration from GLM.
@ -519,7 +520,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [cbor](https://github.com/2tvenom/cbor) - Golang library for working with cbor binary format
* [cbor](https://github.com/2tvenom/cbor) - Golang library for working with cbor binary format
* [go-capnproto](https://github.com/glycerine/go-capnproto) - Cap'n Proto library and parser for go
* [go-capnproto](https://github.com/glycerine/go-capnproto) - Cap'n Proto library and parser for go
* [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go.
* [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go.
* [gogoprotobuf](https://github.com/gogo/protobuf) - Protocol Buffers for Go with Gadgets
* [gogoprotobuf](https://github.com/gogo/protobuf) - Protocol Buffers for Go with Gadgets
* [goprotobuf](https://github.com/golang/protobuf) - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
* [goprotobuf](https://github.com/golang/protobuf) - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
* [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures.
* [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures.
@ -569,7 +570,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects
* [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects
* [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) - Mock SQL driver for testing database interactions
* [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) - Mock SQL driver for testing database interactions
* [gomock](https://code.google.com/p/gomock/) - Mocking framework for the Go programming language.
* [gomock](https://code.google.com/p/gomock/) - Mocking framework for the Go programming language.
* [mockhttp.go](https://github.com/tv42/mockhttp.go) - Mock object for Go http.ResponseWriter
* [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter
* Fuzzing and delta-debugging/reducing/shrinking
* Fuzzing and delta-debugging/reducing/shrinking
* [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values
* [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values
@ -634,7 +635,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go.
* [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go.
* [delve](https://github.com/derekparker/delve) - Go debugger.
* [delve](https://github.com/derekparker/delve) - Go debugger.
* [fastlz](https://github.com/fromYukki/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang.
* [fastlz](https://github.com/fromYukki/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang.