Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Eduardo Nunes Pereira 2015-11-30 18:01:53 -02:00
commit 2384aa602e

122
README.md
View File

@ -8,7 +8,7 @@ A curated list of awesome Go frameworks, libraries and software. Inspired by [aw
Please take a quick gander at the [contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md) first. Thanks to all [contributors](https://github.com/avelino/awesome-go/graphs/contributors); you rock! Please take a quick gander at the [contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md) first. Thanks to all [contributors](https://github.com/avelino/awesome-go/graphs/contributors); you rock!
[Join us on Slack](https://gophers.slack.com/messages/awesome/) to chat with other awesome-go maintainers! [Join us on Slack](https://gophers.slack.com/?redir=%2Fmessages%2Fawesome%2F) to chat with other awesome-go maintainers! ([Request an invite](https://bit.ly/go-slack-signup), then join the #awesome channel.)
#### *If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!* #### *If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!*
@ -33,6 +33,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
- [Forms](#forms) - [Forms](#forms)
- [Game Development](#game-development) - [Game Development](#game-development)
- [Generation & Generics](#generation--generics) - [Generation & Generics](#generation--generics)
- [Go Compilers](#go-compilers)
- [Goroutines](#goroutines)
- [GUI](#gui) - [GUI](#gui)
- [Hardware](#hardware) - [Hardware](#hardware)
- [Images](#images) - [Images](#images)
@ -88,7 +90,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. * [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder.
* [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go.
* [PortAudio](https://code.google.com/p/portaudio-go/) - Go bindings for the PortAudio audio I/O library. * [PortAudio](https://github.com/gordonklaus/portaudio) - Go bindings for the PortAudio audio I/O library.
* [portmidi](https://github.com/rakyll/portmidi) - Go bindings for PortMidi. * [portmidi](https://github.com/rakyll/portmidi) - Go bindings for PortMidi.
* [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib. * [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib.
* [vorbis](https://github.com/mccoyst/vorbis) - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). * [vorbis](https://github.com/mccoyst/vorbis) - A "native" Go Vorbis decoder (uses CGO, but has no dependencies).
@ -102,6 +104,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library. * [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library.
* [go-jose](https://github.com/square/go-jose) - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. * [go-jose](https://github.com/square/go-jose) - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
* [go.auth](https://github.com/bradrydzewski/go.auth) - Authentication API for Go web applications. * [go.auth](https://github.com/bradrydzewski/go.auth) - Authentication API for Go web applications.
* [gologin](https://github.com/dghubble/gologin) - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
* [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang. * [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang.
* [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. * [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box.
* [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. * [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware.
@ -119,7 +122,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
*Libraries for building standard or basic Command Line applications* *Libraries for building standard or basic Command Line applications*
* [cli-init](https://github.com/tcnksm/cli-init) - The easy way to start building Golang command line application. * [cli-init](https://github.com/tcnksm/gcli) - The easy way to start building Golang command line application.
* [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command
* [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions * [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions
* [codegangsta/cli](https://github.com/codegangsta/cli) - A small package for building command line apps in Go. * [codegangsta/cli](https://github.com/codegangsta/cli) - A small package for building command line apps in Go.
* [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser
@ -140,8 +144,10 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [gocui](https://github.com/jroimartin/gocui) - Minimalist Go library aimed at creating Console User Interfaces. * [gocui](https://github.com/jroimartin/gocui) - Minimalist Go library aimed at creating Console User Interfaces.
* [gommon/color](https://github.com/labstack/gommon/tree/master/color) - Style terminal text. * [gommon/color](https://github.com/labstack/gommon/tree/master/color) - Style terminal text.
* [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.
* [termtables](https://github.com/apcera/termtables) - A Go port of the Ruby library [terminal-tables](https://github.com/visionmedia/terminal-table) for simple ASCII table generation as well as providing markdown and HTML output * [termtables](https://github.com/apcera/termtables) - A Go port of the Ruby library [terminal-tables](https://github.com/tj/terminal-table) for simple ASCII table generation as well as providing markdown and HTML output
* [termui](https://github.com/gizak/termui) - Go terminal dashboard based on **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).
* [uiprogress](https://github.com/gosuri/uiprogress) - A flexible library to render progress bars in terminal applications.
* [uitable](https://github.com/gosuri/uitable) - A library to improve readability in terminal apps using tabular data.
## Configuration ## Configuration
@ -157,6 +163,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [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 * [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
* [store](https://github.com/tucnak/store) - A lightweight configuration manager for Go
* [viper](https://github.com/spf13/viper) - Go configuration with fangs * [viper](https://github.com/spf13/viper) - Go configuration with fangs
## Continuous Integration ## Continuous Integration
@ -172,16 +179,17 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [c6](https://github.com/c9s/c6) - High performance SASS compatible-implementation compiler written in Go * [c6](https://github.com/c9s/c6) - High performance SASS compatible-implementation compiler written in Go
* [gcss](https://github.com/yosssi/gcss) - Pure Go CSS Preprocessor. * [gcss](https://github.com/yosssi/gcss) - Pure Go CSS Preprocessor.
* [go-libsass](https://github.com/wellington/go-libsass) - Go wrapper to the 100% Sass compatible libsass project.
## Data Structures ## Data Structures
*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/surge/bloom) - Bloom filters implemented in Go. * [bloom](https://github.com/zhenjl/bloom) - Bloom filters implemented in Go.
* [boomfilters](https://github.com/tylertreat/BoomFilters) - probabilistic data structures for processing continuous, unbounded streams * [boomfilters](https://github.com/tylertreat/BoomFilters) - probabilistic data structures for processing continuous, unbounded streams
* [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
* [encoding](https://github.com/surge/encoding) - Integer Compression Libraries for Go. * [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go.
* [go-datastructures](https://github.com/Workiva/go-datastructures) - a collection of useful, performant, and thread-safe data structures * [go-datastructures](https://github.com/Workiva/go-datastructures) - a collection of useful, performant, and thread-safe data structures
* [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.
* [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go.
@ -228,10 +236,11 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
*SQL query builder, libraries for building and using SQL.* *SQL query builder, libraries for building and using SQL.*
* [dat](https://github.com/mgutz/dat) - Go Postgres Data Access Toolkit
* [Dotsql](https://github.com/gchaincl/dotsql) - Go library that helps you keep sql files in one place and use it with ease. * [Dotsql](https://github.com/gchaincl/dotsql) - Go library that helps you keep sql files in one place and use it with ease.
* [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library. * [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library.
* [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. * [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs.
* [Squirrel](https://github.com/lann/squirrel) - Go library that helps you build SQL queries. * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries.
## Database Drivers ## Database Drivers
@ -247,6 +256,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - MySQL driver for Go. * [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - MySQL driver for Go.
* [go-sqlite3](https://github.com/mattn/go-sqlite3) - SQLite3 driver for go that using database/sql. * [go-sqlite3](https://github.com/mattn/go-sqlite3) - SQLite3 driver for go that using database/sql.
* [gofreetds](https://github.com/minus5/gofreetds) Microsoft MSSQL driver. Go wrapper over [FreeTDS](http://www.freetds.org). * [gofreetds](https://github.com/minus5/gofreetds) Microsoft MSSQL driver. Go wrapper over [FreeTDS](http://www.freetds.org).
* [pgx](https://github.com/jackc/pgx) - PostgreSQL driver supporting features beyond those exposed by database/sql.
* [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql. * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql.
* NoSQL Databases * NoSQL Databases
@ -259,7 +269,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [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
* [mgo](http://godoc.org/labix.org/v2/mgo) - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms. * [mgo](https://godoc.org/labix.org/v2/mgo) - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
* [neo4j](https://github.com/cihangir/neo4j) - Neo4j Rest API Bindings for Golang * [neo4j](https://github.com/cihangir/neo4j) - Neo4j Rest API Bindings for Golang
* [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang. * [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang.
* [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang * [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang
@ -287,12 +297,14 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [celeriac](https://github.com/svcavallar/celeriac.v1) - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go * [celeriac](https://github.com/svcavallar/celeriac.v1) - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go
* [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer. * [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer.
* [glow](https://github.com/chrislusf/glow) - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
* [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function. * [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function.
* [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. * [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load.
* [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC.
* [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp.
* [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package.
* [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation.
* [go-peerflix](https://github.com/Sioro-Neoku/go-peerflix) - Video streaming torrent client.
## Email ## Email
@ -302,6 +314,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go. * [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go.
* [go-dkim](https://github.com/toorop/go-dkim) - A DKIM library, to sign & verify email. * [go-dkim](https://github.com/toorop/go-dkim) - A DKIM library, to sign & verify email.
* [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. * [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails.
* [Hectane](https://github.com/hectane/hectane) - Lightweight SMTP client providing an HTTP API
* [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface * [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface
* [SendGrid](https://github.com/sendgrid/sendgrid-go) - SendGrid's Go library for sending email * [SendGrid](https://github.com/sendgrid/sendgrid-go) - SendGrid's Go library for sending email
* [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine * [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine
@ -368,6 +381,24 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection.
## Go Compilers
*Tools for compiling Go to other languages*
* [gopherjs](https://github.com/gopherjs/gopherjs) - A compiler from Go to JavaScript.
* [llgo](https://github.com/go-llvm/llgo) - LLVM-based compiler for Go.
* [tardisgo](https://github.com/tardisgo/tardisgo) - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
## Goroutines
*Tools for managing and working with Goroutines*
* [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool.
* [pool](https://github.com/go-playground/pool) - Go consumer goroutine pool for easy goroutine handling + time saving.
* [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang.
## GUI ## GUI
*Libraries for building GUI Applications* *Libraries for building GUI Applications*
@ -375,9 +406,10 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a
* [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. * [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/gotk3/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.
* [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development.
* [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar.
* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go.
* [walk](https://github.com/lxn/walk) - Windows application library kit for Go. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go.
@ -422,7 +454,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. * [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang.
* [log15](https://github.com/inconshreveable/log15) - Simple, powerful logging for Go * [log15](https://github.com/inconshreveable/log15) - Simple, powerful logging for Go
* [logex](https://github.com/chzyer/logex) - An golang log lib, supports tracking and level, wrap by standard log lib * [logex](https://github.com/chzyer/logex) - An golang log lib, supports tracking and level, wrap by standard log lib
* [logger](http://github.com/azer/logger) - Minimalistic logging library for Go. * [logger](https://github.com/azer/logger) - Minimalistic logging library for Go.
* [logrus](https://github.com/Sirupsen/logrus) - a structured logger for Go. * [logrus](https://github.com/Sirupsen/logrus) - a structured logger for Go.
* [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/).
* [logutils](https://github.com/hashicorp/logutils) - Utilities for slightly better logging in Go (Golang) extending the standard logger. * [logutils](https://github.com/hashicorp/logutils) - Utilities for slightly better logging in Go (Golang) extending the standard logger.
@ -431,7 +463,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. * [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
* [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.
* [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/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program.
* [xlog](https://github.com/rs/xlog) - A structured logger for `net/context` aware HTTP handlers with flexible dispatching.
## Machine Learning ## Machine Learning
@ -464,10 +497,10 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus.
* [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility.
* [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec.
* [go-nsq](https://github.com/bitly/go-nsq) - the official Go package for NSQ * [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ
* [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster. * [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster.
* [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. * [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing.
* [NATS](https://github.com/apcera/nats) - A lightweight and highly performant publish-subscribe and distributed queueing messaging system. * [NATS](https://github.com/nats-io/nats) - A lightweight and highly performant publish-subscribe and distributed queueing messaging system.
* [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs * [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs
* [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. * [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go.
* [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka. * [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka.
@ -486,6 +519,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS
* [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library.
* [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal.
* [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
* [xkg](https://github.com/go-xkg/xkg) - X Keyboard Grabber * [xkg](https://github.com/go-xkg/xkg) - X Keyboard Grabber
* [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages. * [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages.
@ -503,8 +537,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [MMSEGO](https://github.com/awsong/MMSEGO) - This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm. * [MMSEGO](https://github.com/awsong/MMSEGO) - This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm.
* [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm * [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm
* [porter](https://github.com/a2800276/porter) - This is a fairly straighforward port of Martin Porter's C implementation of the Porter stemming algorithm. * [porter](https://github.com/a2800276/porter) - This is a fairly straighforward port of Martin Porter's C implementation of the Porter stemming algorithm.
* [porter2](https://github.com/surge/porter2) - Really fast Porter 2 stemmer. * [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer.
* [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/) * [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/)
* [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences.
* [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/). * [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/).
* [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English and German stemmers. * [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English and German stemmers.
* [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text * [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text
@ -519,10 +554,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [dhcp6](https://github.com/mdlayher/dhcp6) - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. * [dhcp6](https://github.com/mdlayher/dhcp6) - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
* [dns](https://github.com/miekg/dns) - Go library for working with DNS * [dns](https://github.com/miekg/dns) - Go library for working with DNS
* [ethernet](https://github.com/mdlayher/ethernet) - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. * [ethernet](https://github.com/mdlayher/ethernet) - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
* [fasthttp](https://github.com/valyala/fasthttp) - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http
* [ftp](https://github.com/jlaffaye/ftp) - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). * [ftp](https://github.com/jlaffaye/ftp) - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959).
* [go-getter](https://github.com/hashicorp/go-getter) - A Go library for downloading files or directories from various sources using a URL.
* [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389). * [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389).
* [golibwireshark](https://github.com/sunwxg/golibwireshark) - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
* [gopacket](https://github.com/google/gopacket) - A Go library for packet processing with libpcap bindings * [gopacket](https://github.com/google/gopacket) - A Go library for packet processing with libpcap bindings
* [gopcap](https://github.com/akrennmair/gopcap) - A Go wrapper for libpcap * [gopcap](https://github.com/akrennmair/gopcap) - A Go wrapper for libpcap
* [goshark](https://github.com/sunwxg/goshark) - Package goshark use tshark to decode IP packet and create data struct to analyse packet.
* [gosnmp](https://github.com/soniah/gosnmp) - Native Go library for performing SNMP actions * [gosnmp](https://github.com/soniah/gosnmp) - Native Go library for performing SNMP actions
* [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly writing tcp applications * [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly writing tcp applications
* [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [graval](https://github.com/koofr/graval) - An experimental FTP server framework.
@ -583,6 +622,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code. * [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code.
* [go-resources](https://github.com/omeid/go-resources) - Unfancy resources embedding with Go. * [go-resources](https://github.com/omeid/go-resources) - Unfancy resources embedding with Go.
* [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy. * [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy.
* [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
* [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. * [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem.
@ -619,6 +659,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [BadActor](https://github.com/jaredfolkins/badactor) - An in-memory, application-driven jailer built in the spirit of fail2ban * [BadActor](https://github.com/jaredfolkins/badactor) - An in-memory, application-driven jailer built in the spirit of fail2ban
* [go-yara](https://github.com/hillu/go-yara) - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)" * [go-yara](https://github.com/hillu/go-yara) - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)"
* [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library.
## Serialization ## Serialization
@ -735,7 +776,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API * [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API
* [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API * [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API
* [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. * [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface.
* [geo-golang](https://github.com/codingsince1985/geo-golang) - Go Library to access [Google Maps](https://developers.google.com/maps/documentation/geocoding/), [MapQuest](http://open.mapquestapi.com/geocoding/), [Nominatim](http://open.mapquestapi.com/nominatim/), [OpenCage](http://geocoder.opencagedata.com/api.html), [HERE](https://developer.here.com/rest-apis/documentation/geocoder) and [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx) geocoding / reverse geocoding APIs. * [geo-golang](https://github.com/codingsince1985/geo-golang) - Go Library to access [Google Maps](https://developers.google.com/maps/documentation/geocoding/intro), [MapQuest](http://open.mapquestapi.com/geocoding/), [Nominatim](http://open.mapquestapi.com/nominatim/), [OpenCage](http://geocoder.opencagedata.com/api.html), [HERE](https://developer.here.com/rest-apis/documentation/geocoder) and [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx) geocoding / reverse geocoding APIs.
* [ghost](https://github.com/neuegram/ghost) - Go Library for accessing the Snapchat API.
* [github](https://github.com/google/go-github) - Go library for accessing the GitHub API. * [github](https://github.com/google/go-github) - Go library for accessing the GitHub API.
* [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS
* [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages.
@ -752,14 +794,15 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify API. * [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify API.
* [slack](https://github.com/nlopes/slack) - Slack API in Go. * [slack](https://github.com/nlopes/slack) - Slack API in Go.
* [smite](https://github.com/sergiotapia/smitego) - Go package to wraps access to the Smite game API. * [smite](https://github.com/sergiotapia/smitego) - Go package to wraps access to the Smite game API.
* [snapchat](https://github.com/jamieomatthews/gosnap) - Go wrapper for the snapchat API
* [spotify](https://github.com/rapito/go-spotify) - Go Library to access Spotify WEB API. * [spotify](https://github.com/rapito/go-spotify) - Go Library to access Spotify WEB API.
* [steam](https://github.com/sostronk/go-steam) - Go Library to interact with Steam game servers. * [steam](https://github.com/sostronk/go-steam) - Go Library to interact with Steam game servers.
* [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API * [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API
* [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go. * [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go.
* [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client.
* [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org) * [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org)
* [translate](https://github.com/poorny/translate) - Go online translation package * [translate](https://github.com/poorny/translate) - Go online translation package
* [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. * [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API.
* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub.. more services to come
## Utilities ## Utilities
@ -769,10 +812,12 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [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.
* [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature.
* [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex.
* [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.
* [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications
* [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go.
* [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go * [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go
* [go-trigger](https://github.com/sadlil/go-trigger) - Go-lang global event triggerer, Register Events with a id and trigger the event from anywhere from your project.
* [go-underscore](https://github.com/tobyhede/go-underscore) - A useful collection of helpfully functional Go collection utilities. * [go-underscore](https://github.com/tobyhede/go-underscore) - A useful collection of helpfully functional Go collection utilities.
* [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. * [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package.
* [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons * [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons
@ -786,9 +831,11 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [goreq](https://github.com/smallnest/goreq) - An enhanced simplified HTTP client based on gorequest. * [goreq](https://github.com/smallnest/goreq) - An enhanced simplified HTTP client based on gorequest.
* [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go. * [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go.
* [gotenv](https://github.com/subosito/gotenv) - Load environment variables from `.env` or any `io.Reader` in Go * [gotenv](https://github.com/subosito/gotenv) - Load environment variables from `.env` or any `io.Reader` in Go
* [grequests](https://github.com/levigross/grequests) - An elegant and simple `net/http` wrapper that follows Python's requests library
* [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility * [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility
* [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. * [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries.
* [hystrix-go](https://github.com/afex/hystrix-go) - Imprements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. * [hystrix-go](https://github.com/afex/hystrix-go) - Imprements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.
* [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in.
* [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON. * [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON.
* [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. * [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects.
* [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go
@ -845,6 +892,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language. * [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language.
* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer.
* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context.
* [Echo](https://github.com/labstack/echo) - A fast HTTP router (zero memory allocation) and micro web framework in Go. * [Echo](https://github.com/labstack/echo) - A fast HTTP router (zero memory allocation) and micro web framework in Go.
* [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.
* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io) * [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io)
@ -855,6 +903,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [Goat](https://github.com/bahlo/goat) - A minimalistic REST API server in Go * [Goat](https://github.com/bahlo/goat) - A minimalistic REST API server in Go
* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. * [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go.
* [Goji](https://github.com/zenazn/goji) - Goji is a minimalistic web framework for Golang that's high in antioxidants. * [Goji](https://github.com/zenazn/goji) - Goji is a minimalistic web framework for Golang that's high in antioxidants.
* [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple.
* [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster * [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster
* [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go * [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go
* [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. * [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language.
@ -875,6 +924,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis
* [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go. * [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go.
* [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard * [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard
* [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go. * [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go.
* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code.
* [web.go](https://github.com/hoisie/web) - A simple framework to write webapps in Go. * [web.go](https://github.com/hoisie/web) - A simple framework to write webapps in Go.
* [Zerver](https://github.com/cosiner/zerver) - Zerver is a expressive, modular, feature completed RESTful framework. * [Zerver](https://github.com/cosiner/zerver) - Zerver is a expressive, modular, feature completed RESTful framework.
* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. * [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go.
@ -908,7 +958,7 @@ Go software and plugins.
## Code Analysis ## Code Analysis
* [doc](http://godoc.org/robpike.io/cmd/doc) - Go documentation tool that produces an alternative doc format. * [doc](https://godoc.org/robpike.io/cmd/doc) - Go documentation tool that produces an alternative doc format.
* [dupl](https://github.com/mibk/dupl) - A tool for code clone detection. * [dupl](https://github.com/mibk/dupl) - A tool for code clone detection.
* [errcheck](https://github.com/kisielk/errcheck) - Errcheck is a program for checking for unchecked errors in Go programs. * [errcheck](https://github.com/kisielk/errcheck) - Errcheck is a program for checking for unchecked errors in Go programs.
* [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time. * [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time.
@ -918,6 +968,7 @@ Go software and plugins.
* [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) - Tool to fix (add, remove) your Go imports automatically. * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) - Tool to fix (add, remove) your Go imports automatically.
* [GoLint](https://github.com/golang/lint) - Golint is a linter for Go source code. * [GoLint](https://github.com/golang/lint) - Golint is a linter for Go source code.
* [Golint online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. * [Golint online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
* [goreturns](https://sourcegraph.com/sqs/goreturns) - Adds zero-value return statements to match the func return types.
* [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. * [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages.
* [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags.
@ -937,6 +988,7 @@ Go software and plugins.
## Go Tools ## Go Tools
* [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. * [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output.
* [gb](https://getgb.io/) - An easy to use project based build tool for the Go programming language.
* [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo. * [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo.
## Software Packages ## Software Packages
@ -955,19 +1007,21 @@ Software written in Go.
* [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update. * [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update.
* [gobrew](https://github.com/cryptojuice/gobrew) - gobrew lets you easily switch between multiple versions of go. * [gobrew](https://github.com/cryptojuice/gobrew) - gobrew lets you easily switch between multiple versions of go.
* [godbg](https://github.com/sirnewton01/godbg) - Web-based gdb front-end application. * [godbg](https://github.com/sirnewton01/godbg) - Web-based gdb front-end application.
* [Gogs](http://gogs.io/) - A Self Hosted Git Service in the Go Programming Language. * [Gogs](https://gogs.io/) - A Self Hosted Git Service in the Go Programming Language.
* [gonative](https://github.com/inconshreveable/gonative) - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. * [gonative](https://github.com/inconshreveable/gonative) - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
* [gox](https://github.com/mitchellh/gox) - A dead simple, no frills Go cross compile tool. * [gox](https://github.com/mitchellh/gox) - A dead simple, no frills Go cross compile tool.
* [goxc](https://github.com/laher/goxc) - build tool for Go, with a focus on cross-compiling and packaging. * [goxc](https://github.com/laher/goxc) - build tool for Go, with a focus on cross-compiling and packaging.
* [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions. * [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions.
* [hk](https://github.com/heroku/hk) - Heroku command-line interface in Go. * [hk](https://github.com/heroku/hk) - Heroku command-line interface in Go.
* [kala](https://github.com/ajvb/kala) - Simplistic, modern, and performant job scheduler.
* [Mora](https://github.com/emicklei/mora) - REST server for accessing MongoDB documents and meta data. * [Mora](https://github.com/emicklei/mora) - REST server for accessing MongoDB documents and meta data.
* [ostent](https://github.com/ostrost/ostent) - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB * [ostent](https://github.com/ostrost/ostent) - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB
* [Packer](https://github.com/mitchellh/packer) - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. * [Packer](https://github.com/mitchellh/packer) - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
* [Rodent](https://github.com/alouche/rodent) - Rodent helps you manage Go versions, projects and track dependencies. * [Rodent](https://github.com/alouche/rodent) - Rodent helps you manage Go versions, projects and track dependencies.
* [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
* [Vegeta] (https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! * [Vegeta] (https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000!
* [webhook](https://github.com/adnanh/webhook) - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server * [webhook](https://github.com/adnanh/webhook) - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server
* [Wide](https://wide.b3log.org) - A Web-based IDE for Teams using Golang. * [Wide](https://wide.b3log.org/login) - A Web-based IDE for Teams using Golang.
### Other Software ### Other Software
@ -981,22 +1035,26 @@ Software written in Go.
* [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go. * [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go.
* [Gor](https://github.com/buger/gor) - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. * [Gor](https://github.com/buger/gor) - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
* [heka](https://github.com/mozilla-services/heka) - universal tool for data processing from Mozilla. Large collection of built-in plugins. Extendable via Go and Lua plugin API. * [heka](https://github.com/mozilla-services/heka) - universal tool for data processing from Mozilla. Large collection of built-in plugins. Extendable via Go and Lua plugin API.
* [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer
* [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine * [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine
* [Juju](https://juju.ubuntu.com/) - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more. * [Juju](https://jujucharms.com/) - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
* [limetext](http://limetext.org/) Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text. * [limetext](http://limetext.org/) Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
* [LiteIDE](https://github.com/visualfc/liteide) LiteIDE is a simple, open source, cross-platform Go IDE.
* [naclpipe](https://github.com/unix4fun/naclpipe) - A simple NaCL EC25519 based crypto pipe tool written in Go. * [naclpipe](https://github.com/unix4fun/naclpipe) - A simple NaCL EC25519 based crypto pipe tool written in Go.
* [nes](https://github.com/fogleman/nes) - A Nintendo Entertainment System (NES) emulator written in Go. * [nes](https://github.com/fogleman/nes) - A Nintendo Entertainment System (NES) emulator written in Go.
* [orange-cat](https://github.com/noraesae/orange-cat) - A Markdown previewer written in Go. * [orange-cat](https://github.com/noraesae/orange-cat) - A Markdown previewer written in Go.
* [peg](https://github.com/pointlander/peg) - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. * [peg](https://github.com/pointlander/peg) - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
* [Postman](https://github.com/zachlatta/postman) - Command-line utility for batch-sending email. * [Postman](https://github.com/zachlatta/postman) - Command-line utility for batch-sending email.
* [restic](https://github.com/restic/restic) - De-duplicating backup program. * [restic](https://github.com/restic/restic) - De-duplicating backup program.
* [rkt](https://github.com/coreos/rkt) - An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
* [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Fast, Simple and Scalable Distributed File System with O(1) disk seek. * [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Fast, Simple and Scalable Distributed File System with O(1) disk seek.
* [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control) * [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control)
* [syncthing](http://www.syncthing.net/) - An open, decentralized file synchronization tool and protocol. * [syncthing](https://syncthing.net/) - An open, decentralized file synchronization tool and protocol.
* [Tenyks](https://github.com/kyleterry/tenyks) - Service oriented IRC bot using Redis and JSON for messaging. * [Tenyks](https://github.com/kyleterry/tenyks) - Service oriented IRC bot using Redis and JSON for messaging.
* [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. * [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests.
* [tsuru](http://www.tsuru.io/) - An extensible and open source Platform as a Service software. * [tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software.
* [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart) * [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart)
* [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass)
@ -1024,9 +1082,9 @@ Where to discover new Go libraries.
## Conferences ## Conferences
* [dotGo](http://www.dotgo.io) - Paris, France * [dotGo](http://www.dotgo.eu) - Paris, France
* [GoCon](http://gocon.connpass.com/) - Tokyo, Japan * [GoCon](http://gocon.connpass.com/) - Tokyo, Japan
* [GolangUK](http://www.golanguk.com/) - London, UK * [GolangUK](http://golanguk.com/) - London, UK
* [GopherChina](http://gopherchina.org) - Shanghai, China * [GopherChina](http://gopherchina.org) - Shanghai, China
* [GopherCon](http://www.gophercon.com/) - Denver, USA * [GopherCon](http://www.gophercon.com/) - Denver, USA
* [GopherCon India](http://www.gophercon.in/) - Bengaluru, India * [GopherCon India](http://www.gophercon.in/) - Bengaluru, India
@ -1036,13 +1094,13 @@ Where to discover new Go libraries.
* [A Go Developer's Notebook](https://leanpub.com/GoNotebook/read) * [A Go Developer's Notebook](https://leanpub.com/GoNotebook/read)
* [An Introduction to Programming in Go](http://www.golang-book.com/) * [An Introduction to Programming in Go](http://www.golang-book.com/)
* [Build Web Application with Golang](http://astaxie.gitbooks.io/build-web-application-with-golang/) * [Build Web Application with Golang](https://www.gitbook.com/book/astaxie/build-web-application-with-golang/details)
* [Building Web Apps With Go](http://codegangsta.gitbooks.io/building-web-apps-with-go/) * [Building Web Apps With Go](https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details)
* [Go Bootcamp](http://golangbootcamp.com) * [Go Bootcamp](http://golangbootcamp.com)
* [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books * [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books
* [Learning Go](http://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) * [Learning Go](https://www.miek.nl/downloads/Go/Learning-Go-latest.pdf)
* [Network Programming With Go](http://jan.newmarch.name/go/) * [Network Programming With Go](https://jan.newmarch.name/go/)
* [The Go Programming Language](http://www.gopl.io/)
## Twitter ## Twitter
@ -1058,11 +1116,11 @@ Where to discover new Go libraries.
* [Flipboard - Go Magazine](https://flipboard.com/section/the-golang-magazine-bVP7nS) - A collection of Go articles and tutorials. * [Flipboard - Go Magazine](https://flipboard.com/section/the-golang-magazine-bVP7nS) - A collection of Go articles and tutorials.
* [Go Blog](http://blog.golang.org) - The official Go blog * [Go Blog](http://blog.golang.org) - The official Go blog
* [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki * [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki
* [godoc.org](http://godoc.org/) - Documentation for open source Go packages. * [godoc.org](https://godoc.org/) - Documentation for open source Go packages.
* [golang-graphics](https://github.com/mholt/golang-graphics) - A collection of Go images, graphics, and art * [golang-graphics](https://github.com/mholt/golang-graphics) - A collection of Go images, graphics, and art
* [golang-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list * [golang-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list
* [gowalker.org](https://gowalker.org) - Go Project API documentation. * [gowalker.org](https://gowalker.org) - Go Project API documentation.
* [r/Golang](http://www.reddit.com/r/golang) - News about Go. * [r/Golang](https://www.reddit.com/r/golang) - News about Go.
* [Trending Go repositories on GitHub today](https://github.com/trending?l=go) - Good place to find new Go libraries. * [Trending Go repositories on GitHub today](https://github.com/trending?l=go) - Good place to find new Go libraries.
@ -1076,4 +1134,4 @@ Where to discover new Go libraries.
## Windows ## Windows
* [go-ole](https://github.com/mattn/go-ole) - Win32 OLE implementation for golang * [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang