A curated list of awesome Go frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python).
### Contributing
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!
@ -10,6 +11,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
#### *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!*
### Contents
- [Awesome Go](#awesome-go)
@ -62,6 +64,8 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
- [DevOps Tools](#devops-tools)
- [Other Software](#other-software)
- [Server Applications](#server-applications)
- [Resources](#resources)
- [Benchmarks](#benchmarks)
- [Conferences](#conferences)
@ -69,7 +73,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
- [Twitter](#twitter)
- [Websites](#websites)
- [Tutorials](#tutorials)
- [Windows](#windows)
## Audio/Music
@ -85,7 +89,6 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [waveform](https://github.com/mdlayher/waveform) - Go package capable of generating waveform images from audio streams.
## Authentication & OAuth
*Libraries for implementing authentications schemes.*
@ -122,6 +125,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
## Command Line
### Standard CLI
*Libraries for building standard or basic Command Line applications*
@ -129,6 +133,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [cli](https://github.com/codegangsta/cli) - A small package for building command line apps in Go.
* [cli-init](https://github.com/tcnksm/cli-init) - The easy way to start building Golang command line application.
### Advanced Console UIs
*Libraries for building Console Applications and Console User Interfaces*
@ -181,6 +186,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library.
* [Squirrel](https://github.com/lann/squirrel) - Go library that helps you build SQL queries.
## Database Drivers
*Libraries for connecting and operating databases. (see [Testing](#testing) for mock drivers)*
@ -215,12 +221,14 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library.
* [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch.
## Date & Time
*Libraries for working with dates and times.*
* [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang.
## Distributed Systems
*Packages that help with building Distributed Systems.*
@ -238,6 +246,7 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface
* [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine
## Embeddable Scripting Languages
*Embedding other languages inside your go code*
@ -251,12 +260,14 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [otto](https://github.com/robertkrimen/otto) - A JavaScript interpreter written in Go
* [purl](https://github.com/ian-kent/purl) - Perl 5.18.2 embedded in Go
@ -267,7 +278,6 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [nosurf](https://github.com/justinas/nosurf) - A CSRF protection middleware for Go.
## Game Development
*Awesome game development libraries.*
@ -500,6 +510,13 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
* [php_session_decoder](https://github.com/yvasiyarov/php_session_decoder) - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions
## Server Applications
* [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
* [etcd](https://github.com/coreos/etcd) - A highly-available key value store for shared configuration and service discovery.
* [nsq](http://nsq.io/) - A realtime distributed messaging platform
## Template Engines
*Libraries and tools for templating and lexing.*
@ -700,8 +717,6 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno
# Tools
Go software and plugins.
@ -786,17 +801,6 @@ Software written in Go.
* [websysd](http://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart)
### Server Applications
* [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
* [etcd](https://github.com/coreos/etcd) - A highly-available key value store for shared configuration and service discovery.
* [nsq](http://nsq.io/) - A realtime distributed messaging platform
@ -807,6 +811,7 @@ Software written in Go.
Where to discover new Go libraries.
## Benchmarks
* [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions.
@ -819,12 +824,14 @@ Where to discover new Go libraries.