From 43a3bd313b1d33d6b47e2d19531681abc1f2544b Mon Sep 17 00:00:00 2001 From: Andy Grunwald Date: Sun, 5 Jul 2015 17:48:02 +0200 Subject: [PATCH 001/254] Add "go-trending" - Go library for accessing trending repositories and developers at Github. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f941968..62471359 100644 --- a/README.md +++ b/README.md @@ -674,6 +674,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [github](https://github.com/google/go-github) - Go library for accessing the GitHub API. + * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [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. * [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library From 450ab5bd760d062c422ab645b1cd2340066fd7a7 Mon Sep 17 00:00:00 2001 From: Seif Lotfy Date: Tue, 18 Aug 2015 21:58:34 +0200 Subject: [PATCH 002/254] Add count-min-log A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using waaay less memory) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cee58e23..a5bf40d6 100644 --- a/README.md +++ b/README.md @@ -177,6 +177,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. * [bloom](https://github.com/surge/bloom) - Bloom filters implemented in Go. * [boomfilters](https://github.com/tylertreat/BoomFilters) - probabilistic data structures for processing continuous, unbounded streams +* [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). * [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. * [go-datastructures](https://github.com/Workiva/go-datastructures) - a collection of useful, performant, and thread-safe data structures From 781675954161c38b0c6325624b1b7b2eed5a0edc Mon Sep 17 00:00:00 2001 From: sadlil Date: Tue, 8 Sep 2015 23:20:20 +0600 Subject: [PATCH 003/254] Add Go logger lib with console, file or ES logging. --- README.md | 1 + README.md~ | 1046 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1047 insertions(+) create mode 100644 README.md~ diff --git a/README.md b/README.md index 006042bf..559f206f 100644 --- a/README.md +++ b/README.md @@ -404,6 +404,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for generating and working with log files.* * [glog](https://github.com/golang/glog) - Leveled execution logs for Go. +* [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. * [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-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. diff --git a/README.md~ b/README.md~ new file mode 100644 index 00000000..559f206f --- /dev/null +++ b/README.md~ @@ -0,0 +1,1046 @@ +# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) + + +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! + +[Join us on Slack](https://gophers.slack.com/messages/awesome/) to chat with other awesome-go maintainers! + +#### *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) + - [Audio & Music](#audiomusic) + - [Authentication & OAuth](#authentication--oauth) + - [Command Line](#command-line) + - [Configuration](#configuration) + - [Continuous Integration](#continuous-integration) + - [CSS Preprocessors](#css-preprocessors) + - [Data Structures](#data-structures) + - [Database](#database) + - [Database Drivers](#database-drivers) + - [Date & Time](#date--time) + - [Distributed Systems](#distributed-systems) + - [Email](#email) + - [Embeddable Scripting Languages](#embeddable-scripting-languages) + - [Financial](#financial) + - [Forms](#forms) + - [Game Development](#game-development) + - [Generation & Generics](#generation--generics) + - [GUI](#gui) + - [Hardware](#hardware) + - [Images](#images) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Miscellaneous](#miscellaneous) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [OpenGL](#opengl) + - [ORM](#orm) + - [Package Management](#package-management) + - [Resource Embedding](#resource-embedding) + - [Science and Data Analysis](#science-and-data-analysis) + - [Security](#security) + - [Serialization](#serialization) + - [Template Engines](#template-engines) + - [Testing](#testing) + - [Text Processing](#text-processing) + - [Third-party APIs](#third-party-apis) + - [Utilities](#utilities) + - [Validation](#validation) + - [Version Control](#version-control) + - [Video](#video) + - [Web Frameworks](#web-frameworks) + - [Middlewares](#middlewares) + - [Actual middlewares](#actual-middlewares) + - [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares) + - [Windows](#windows) + +- [Tools](#tools) + - [Code Analysis](#code-analysis) + - [Editor Plugins](#editor-plugins) + - [Go Tools](#go-tools) + - [Software Packages](#software-packages) + - [DevOps Tools](#devops-tools) + - [Other Software](#other-software) + +- [Server Applications](#server-applications) + +- [Resources](#resources) + - [Benchmarks](#benchmarks) + - [Conferences](#conferences) + - [E-Books](#e-books) + - [Twitter](#twitter) + - [Websites](#websites) + - [Tutorials](#tutorials) + + +## Audio/Music + +*Libraries for manipulating audio.* + +* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. +* [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. +* [portmidi](https://github.com/rakyll/portmidi) - Go bindings for PortMidi. +* [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). +* [waveform](https://github.com/mdlayher/waveform) - Go package capable of generating waveform images from audio streams. + + +## Authentication & OAuth + +*Libraries for implementing authentications schemes.* + +* [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.auth](https://github.com/bradrydzewski/go.auth) - Authentication API for Go web applications. +* [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. +* [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. +* [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). +* [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. +* [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. +* [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. +* [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. + + +## Command Line + + +### Standard CLI + +*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. +* [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. +* [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. +* [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. +* [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. +* [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. + + +### Advanced Console UIs + +*Libraries for building Console Applications and Console User Interfaces* + +* [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. +* [color](https://github.com/fatih/color) - Versatile package for colored terminal output. +* [go-colortext](https://github.com/daviddengcn/go-colortext) - Go library for color output in terminals. +* [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. +* [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 +* [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 + +*Libraries for configuration parsing* + +* [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with environment variables and flags parsing. +* [env](https://github.com/caarlos0/env) - Parse environment variables to Go structs (with defaults). +* [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs. +* [envconf](https://github.com/ian-kent/envconf) - Configuration from environment +* [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. +* [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 +* [viper](https://github.com/spf13/viper) - Go configuration with fangs + +## Continuous Integration + +*Tools for help with continuous integration* + +* [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. +* [overalls](https://github.com/bluesuncorp/overalls) - Multi-Package go project coverprofile for tools like goveralls + +## CSS Preprocessors + +*Libraries for preprocessing CSS files* + +* [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. + +## Data Structures + +*Generic datastructures and algorithms in Go.* + +* [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. +* [bloom](https://github.com/surge/bloom) - Bloom filters implemented in Go. +* [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. +* [encoding](https://github.com/surge/encoding) - Integer Compression Libraries for Go. +* [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. +* [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. +* [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing +* [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go +* [trie](https://github.com/derekparker/trie) - Trie implementation in Go +* [ttlcache](https://github.com/diegobernardes/ttlcache) - An in-memory LRU string-interface{} map with expiration for golang +* [willf/bloom](https://github.com/willf/bloom) - Go package implementing Bloom filters. + +## Database + +*Databases implemented in 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. +* [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. +* [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. +* [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. +* [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. +* [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. +* [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. +* [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics +* [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. +* [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. +* [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. +* [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. + +*Database tools.* + +* [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication. +* [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. +* [goose](https://bitbucket.org/liamstask/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. +* [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. +* [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. +* [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager & visualizer +* [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser +* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., +* [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. +* [vitess](https://github.com/youtube/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. + +*SQL query builder, libraries for building and using SQL.* + +* [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. +* [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. + + +## Database Drivers + +*Libraries for connecting and operating 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-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-oci8](https://github.com/mattn/go-oci8) - Oracle driver for go that using database/sql. + * [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. + * [gofreetds](https://github.com/minus5/gofreetds) Microsoft MSSQL driver. Go wrapper over [FreeTDS](http://www.freetds.org). + * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql. + +* NoSQL Databases + * [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. + * [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 + * [gocb](https://github.com/couchbaselabs/gocb) - Official Couchbase Go SDK + * [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. + * [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. + * [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. + * [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang + * [redigo](https://github.com/garyburd/redigo) - Redigo is a Go client for the Redis database. + * [redis](https://github.com/go-redis/redis) - Redis client for Golang + * [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go. + +* Search and Analytic Databases + * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. + * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Google Go. + * [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. +* [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. + + +## Distributed Systems + +*Packages that help with building Distributed Systems.* + +* [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer. +* [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. +* [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. +* [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. + * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. + +## Email + +*Libraries that implement email creation and sending* + +* [douceur](https://github.com/aymerick/douceur) - CSS inliner for your HTML emails. +* [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. +* [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. +* [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 +* [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine + + + +## Embeddable Scripting Languages + +*Embedding other languages inside your go code* + +* [agora](https://github.com/PuerkitoBio/agora) - Dynamically typed, embeddable programming language in Go +* [anko](https://github.com/mattn/anko) - Scriptable interpreter written in Go +* [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go +* [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go +* [go-lua](https://github.com/Shopify/go-lua) - A port of the Lua 5.2 VM to pure Go +* [go-python](https://github.com/sbinet/go-python) - naive go bindings to the CPython C-API +* [golua](https://github.com/aarzilli/golua) - Go bindings for Lua C API +* [gopher-lua](https://github.com/yuin/gopher-lua) - a Lua 5.1 VM and compiler written in Go +* [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 + + +## Financial + +*Packages for accounting and finance* + +* [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang +* [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers + + +## Forms + +*Libraries for working with forms.* + +* [bind](https://github.com/robfig/bind) - Bind form data to any Go values +* [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. +* [formam](https://github.com/monoculum/formam) - decode form's values into a struct. +* [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. +* [nosurf](https://github.com/justinas/nosurf) - A CSRF protection middleware for Go. + + +## Game Development + +*Awesome game development libraries.* + +* [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. +* [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. +* [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A* path finding algorithm +* [go-collada](https://github.com/GlenKelley/go-collada) - Go package for working with the Collada file format. +* [go-sdl2](https://github.com/veandco/go-sdl2) - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/). +* [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go +* [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang +* [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework + + +## Generation & Generics + +*Tools to enhance the language with features like generics via code generation* + +* [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. +* [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. +* [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. + + +## GUI + +*Libraries for building GUI Applications* + +* [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 +* [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. +* [gotk3](https://github.com/conformal/gotk3) - Go bindings for GTK3. +* [gxui](https://github.com/google/gxui) - A Go cross platform UI library. +* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. +* [walk](https://github.com/lxn/walk) - Windows application library kit for Go. + +## Hardware + +*Libraries, tools, and tutorials for interacting with hardware.* + +See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive list. + +## Images + +*Libraries for manipulating images.* + +* [bimg](https://github.com/h2non/bimg) - Small package for fast and efficient image processing using libvips +* [geopattern](https://github.com/pravj/geopattern) - Create beautiful generative image patterns from a string. +* [gift](https://github.com/disintegration/gift) - Package of image processing filters. +* [go-cairo](https://github.com/ungerik/go-cairo) - Go binding for the cairo graphics library. +* [go-gd](https://github.com/bolknote/go-gd) - Go binding for GD library +* [go-nude](https://github.com/koyachi/go-nude) - Nudity detection with Go. +* [go-opencv](https://github.com/lazywei/go-opencv) - Go bindings for OpenCV. +* [go-webcolors](https://github.com/jyotiska/go-webcolors) - Port of webcolors library from Python to Go. +* [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick's MagickWand C API. +* [imaginary](https://github.com/h2non/imaginary) - Fast and simple HTTP microservice for image resizing +* [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package. +* [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. +* [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 +* [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation. +* [tga](https://github.com/ftrvxmtrx/tga) - Package tga is a TARGA image format decoder/encoder. + +## Logging + +*Libraries for generating and working with log files.* + +* [glog](https://github.com/golang/glog) - Leveled execution logs for Go. +* [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. +* [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-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. +* [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. +* [logex](https://github.com/go-logex/logex) - An golang log lib, supports tracking and level, wrap by standard log lib +* [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/). +* [logutils](https://github.com/hashicorp/logutils) - Utilities for slightly better logging in Go (Golang) extending the standard logger. +* [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. +* [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. +* [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. + +## Machine Learning + +*Libraries for Machine Learning.* + +* [bayesian](https://github.com/jbrukh/bayesian) - Naive Bayesian Classification for Golang. +* [CloudForest](https://github.com/ryanbressler/CloudForest) - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go. +* [go-fann](https://github.com/white-pony/go-fann) - Go bindings for Fast Artificial Neural Networks(FANN) library. +* [go-galib](https://github.com/thoj/go-galib) - Genetic Algorithms library written in Go / golang +* [go-pr](https://github.com/daviddengcn/go-pr) - Pattern recognition package in Go lang. +* [gobrain](https://github.com/goml/gobrain) - Neural Networks written in go +* [godist](https://github.com/e-dard/godist) - Various probability distributions, and associated methods. +* [GoLearn](https://github.com/sjwhitworth/golearn) - General Machine Learning library for Go. +* [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go +* [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go +* [goRecommend](https://github.com/timkaye11/goRecommend) - Recommendation Algorithms library written in Go. +* [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. +* [mlgo](https://code.google.com/p/mlgo/) - This project aims to provide minimalistic machine learning algorithms in Go. +* [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. +* [probab](https://code.google.com/p/probab/) - Probability distribution functions. Bayesian inference. Written in pure Go. +* [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine +* [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go + + +## Messaging + +*Libraries that implement messaging systems* + +* [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. +* [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 +* [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. +* [NATS](https://github.com/apcera/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 +* [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. +* [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka. +* [Uniqush-Push](https://github.com/uniqush/uniqush-push) - A redis backed unified push service for server-side notifications to mobile devices. +* [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2). + + +## Miscellaneous + +*These libraries were placed here because none of the other categories seemed to fit* + +* [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. +* [browscap_go](https://github.com/fromYukki/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). +* [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser +* [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. +* [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). +* [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. +* [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. + +## Natural Language Processing + +*Libraries for working with human languages.* + +* [go-eco](https://code.google.com/p/go-eco/) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. +* [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. +* [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. +* [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 +* [gounidecode](https://github.com/fiam/gounidecode) - Unicode transliterator (also known as unidecode) for Go +* [icu](https://github.com/goodsign/icu) - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1. +* [libtextcat](https://github.com/goodsign/libtextcat) - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. +* [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 +* [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. +* [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/) +* [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. +* [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text + +## Networking + +*Libraries for working with various layers of the network* + +* [arp](https://github.com/mdlayher/arp) - Package arp implements the ARP protocol, as described in RFC 826. +* [buffstreams](https://github.com/stabbycutyou/buffstreams) - Streaming protocolbuffer data over TCP made easy +* [canopus](https://github.com/zubairhamed/canopus) - CoAP Client/Server implementation (RFC 7252) +* [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 +* [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. +* [ftp](https://github.com/jlaffaye/ftp) - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). +* [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389). +* [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 +* [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 +* [graval](https://github.com/koofr/graval) - An experimental FTP server framework. +* [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces +* [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang +* [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. +* [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. +* [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. +* [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. +* [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. + +## OpenGL + +*Libraries for using OpenGL in Go.* + +* [gl](https://github.com/go-gl/gl) - Go bindings for OpenGL (generated via glow). +* [glfw](https://github.com/go-gl/glfw) - Go bindings for GLFW 3. +* [goxjs/gl](https://github.com/goxjs/gl) - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android). +* [goxjs/glfw](https://github.com/goxjs/glfw) - Go cross-platform glfw library for creating an OpenGL context and receiving events. +* [mathgl](https://github.com/go-gl/mathgl) - Pure Go math package specialized for 3D math, with inspiration from GLM. + + +## ORM + +*Libraries that implement Object-Relational Mapping or datamapping techniques.* + +* [beego orm](https://github.com/astaxie/beego/tree/master/orm) - A powerful orm framework for go. +* [go-store](https://github.com/gosuri/go-store) - A simple and fast Redis backed key-value store library for Go. +* [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. +* [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. +* [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. +* [hood](https://github.com/eaigner/hood) - Database agnostic ORM for Go. +* [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. +* [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. +* [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. +* [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. + + +## Package Management + +*Libraries for package and dependency management.* + +* [gigo](https://github.com/LyricalSecurity/gigo) - PIP-like dependency tool for golang, with support for private repositories and hashes. +* [godep](https://github.com/tools/godep) - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. +* [gom](https://github.com/mattn/gom) - Go Manager - bundle for go. +* [goop](https://github.com/nitrous-io/goop) - A simple dependency manager for Go (golang), inspired by Bundler. +* [gopm](https://github.com/gpmgo/gopm) - Go Package Manager +* [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. +* [johnny-deps](https://github.com/VividCortex/johnny-deps) - Minimal dependency version using Git +* [nut](https://github.com/jingweno/nut) - Vendor Go dependencies +* [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments + + +## Resource Embedding + +* [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.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. +* [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. + + +## Science and Data Analysis + +*Libraries for scientific computing and data analyzing.* + +* [blas](https://github.com/ziutek/blas) - Implementation of BLAS (Basic Linear Algebra Subprograms) +* [chart](https://github.com/vdobler/chart) - Simple Chart Plotting library for Go. Supports many graphs types. +* [evaler](https://github.com/soniah/evaler) - A simple floating point arithmetic expression evaluator +* [ewma](https://github.com/VividCortex/ewma) - Exponentially-weighted moving averages +* [geom](https://github.com/skelterjohn/geom) - 2D geometry for golang +* [go-fn](https://code.google.com/p/go-fn/) - Mathematical functions written in Go language, that are not covered by math pkg +* [go-gt](https://code.google.com/p/go-gt/) - Graph theory algorithms written in "Go" language +* [go.matrix](https://github.com/skelterjohn/go.matrix) - linear algebra for go (has been stalled) +* [gocomplex](https://code.google.com/p/gocomplex/) - A complex number library for the Go programming language. +* [gofrac](https://github.com/anschelsc/gofrac) - A (goinstallable) fractions library for go with support for basic arithmetic. +* [gohistogram](https://github.com/VividCortex/gohistogram) - Approximate histograms for data streams +* [gonum/mat64](https://github.com/gonum/matrix) - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. +* [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. +* [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) +* [gostat](https://code.google.com/p/gostat/) - A statistics library for the go language +* [mudlark-go](https://code.google.com/p/mudlark-go-pkgs/) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. +* [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go +* [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. +* [vectormath](https://github.com/spate/vectormath) - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) + + +## Security + +*Libraries that are used to help make your application more secure.* + +* [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)" + +## Serialization + +*Libraries and tools for binary serialization* + +* [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 + * [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 +* [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. +* [php_session_decoder](https://github.com/yvasiyarov/php_session_decoder) - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions +* [structomap](https://github.com/tuvistavie/structomap) - Library to easily and dynamically generate maps from static structures. + + +## Server Applications + +* [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. +* [Caddy](https://github.com/mholt/caddy) - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. +* [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 +* [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. + + +## Template Engines + +*Libraries and tools for templating and lexing.* + +* [ace](https://github.com/yosssi/ace) - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold. +* [amber](https://github.com/eknkc/amber) - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade. +* [damsel](https://github.com/dskinner/damsel) - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. +* [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. +* [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. +* [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. +* [pongo2](https://github.com/flosch/pongo2) - A Django-like template-engine for Go. +* [raymond](https://github.com/aymerick/raymond) - A complete handlebars implementation in Go. +* [Razor](https://github.com/sipin/gorazor) - Razor view engine for Golang. +* [Soy](https://github.com/robfig/soy) - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/) + + +## Testing + +*Libraries for testing codebases and generating test data.* + +* Testing Frameworks + * [assert](https://github.com/bluesuncorp/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions + * [assert](https://github.com/bmizerany/assert) - Asserts to Go testing + * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them + * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go + * [go-mutesting](https://github.com/zimmski/go-mutesting) - Mutation testing for Go source code + * [goblin](https://github.com/franela/goblin) - Mocha like testing framework fo Go + * [gocheck](http://labix.org/gocheck) - A more advanced testing framework alternative to gotest. + * [GoConvey](https://github.com/smartystreets/goconvey/) - BDD-style framework with web UI and live reload + * [godog](https://github.com/DATA-DOG/godog) - Cucumber or Behat like BDD framework for Go. + * [GoSpec](https://github.com/orfjackal/gospec) - BDD-style testing framework for the Go programming language. + * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. + * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. + * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. + * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. + +* Mock + * [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-txdb](https://github.com/DATA-DOG/go-txdb) - Single transaction based database driver mainly for testing purposes. + * [gomock](https://github.com/golang/mock) - Mocking framework for the Go programming language. + * [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter + +* Fuzzing and delta-debugging/reducing/shrinking + * [go-fuzz](https://github.com/dvyukov/go-fuzz) - A randomized testing system + * [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values + * [gogenerate](https://github.com/arschles/gogenerate) - A Scalacheck-like library for Go + * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework + +## Text Processing + +*Libraries for parsing and manipulating texts.* + +* Specific Formats + * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go + * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. + * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer + * [enca](https://github.com/endeveit/enca) - Minimal cgo bindings for [libenca](http://cihar.com/software/enca/). + * [genex](https://github.com/alixaxel/genex) - Count and expand Regular Expressions into all matching Strings + * [go-humanize](https://github.com/dustin/go-humanize) - Formatters for time, numbers, and memory size to human readable format. + * [go-nmea](https://github.com/adrianmo/go-nmea) - NMEA parser library for the Go language. + * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. + * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. + * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. + * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. + * [gommon/gytes](https://github.com/labstack/gommon/tree/master/gytes) - Format bytes to string. + * [gonameparts](https://github.com/polera/gonameparts) - Parses human names into individual name parts + * [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. + * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. + * [guesslanguage](https://github.com/endeveit/guesslanguage) - Functions to determine the natural language of a unicode text. + * [mxj](https://github.com/clbanning/mxj) - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. + * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. + * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. + * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). +* Utility + * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. + * [xurls](https://github.com/mvdan/xurls) - Extract urls from text + + +## Third-party APIs + +*Libraries for accessing third party APIs.* + +* [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API +* [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. Caution: The SDK is currently in the process of being developed, and not everything may be working fully yet. +* [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB 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 +* [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. +* [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 +* [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. +* [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library +* [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go +* [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting +* [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library +* [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. +* [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. +* [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. +* [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. +* [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. +* [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. +* [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify 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. +* [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 +* [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 +* [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. + +## Utilities + +*General utilities and tools to make your life easier.* + +* [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. +* [fastlz](https://github.com/fromYukki/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. +* [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-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. +* [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. +* [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons +* [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) +* [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. +* [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. +* [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. +* [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. +* [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images +* [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. +* [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 +* [hystrix-go](https://github.com/afex/hystrix-go) - Imprements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. +* [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. +* [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go +* [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. +* [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers +* [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. +* [ngrok](https://github.com/inconshreveable/ngrok) - Introspected tunnels to localhost. +* [okrun](https://github.com/xta/okrun) - go run error steamroller +* [panicparse](https://github.com/maruel/panicparse) - Groups similar goroutines and colorizes stack dump. +* [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool +* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency +* [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API +* [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go +* [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. +* [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics +* [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. +* [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. +* [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. +* [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package +* [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. + + +## Validation + +*Libraries for validation.* + +* [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs +* [validator](https://github.com/bluesuncorp/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving + + +## Version Control + +*Libraries for version control.* + +* [gh](https://github.com/rjeczalik/gh) - Scriptable server and net/http middleware for GitHub Webhooks +* [git2go](https://github.com/libgit2/git2go) - Go bindings for libgit2. +* [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. +* [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. + + +## Video + +*Libraries for manipulating video.* + +* [aac/h264](https://github.com/nareix/codec) - Golang aac/h264 encoder and decoder. +* [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries. +* [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg. +* [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. + + +## Web Frameworks + +*Full stack web frameworks.* + +* [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. +* [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. +* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io) +* [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API +* [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's +* [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go +* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. +* [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. +* [Goji](https://github.com/zenazn/goji) - Goji is a minimalistic web framework for Golang that's high in antioxidants. +* [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 +* [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. +* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. +* [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. +* [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. +* [Martini](https://github.com/go-martini/martini) - Martini is a powerful package for quickly writing modular web applications/services in Golang. +* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. +* [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. +* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. +* [Resoursea](https://github.com/resoursea/api) - A REST framework for quickly writing resource based services. +* [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language. +* [rex](https://github.com/goanywhere/rex) - Rex is a library for modular development built upon gorilla/mux, fully compatible with `net/http`. +* [sawsij](http://sawsij.com/) - lightweight, open-source web framework for building high-performance, data-driven web applications. +* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers +* [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 +* [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for 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. +* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. + + +### Middlewares + +#### Actual middlewares + +* [CORS](https://github.com/rs/cors) - Easily add CORS capabilities to your API +* [formjson](https://github.com/rs/formjson) - Transparently handle JSON input as a standard form POST +* [Tollbooth](https://github.com/didip/tollbooth) - Rate limit HTTP request handler +* [XFF](https://github.com/sebest/xff) - Handle `X-Forwarded-For` header and friends + +#### Libraries for creating HTTP middlewares + +* [alice](https://github.com/justinas/alice) - Painless middleware chaining for Go. +* [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. +* [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang +* [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. +* [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. +* [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. +* [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. + +# Tools + +Go software and plugins. + + +## Code Analysis + +* [doc](http://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. +* [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. +* [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. +* [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. +* [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. +* [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 online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. +* [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. + + +## Editor Plugins + +* [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. +* [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting +* [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language +* [GoSublime](https://github.com/DisposaBoy/GoSublime) - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features. +* [velour](https://github.com/velour/velour) - An IRC client for the acme editor. +* [vim-compiler-go](https://github.com/rjohnsondev/vim-compiler-go) - A Vim plugin to highlight syntax errors on save. +* [vim-go](https://github.com/fatih/vim-go) - Go development plugin for Vim. +* [Watch](https://github.com/eaburns/Watch) - Runs a command in an acme win on file changes. + +## Go Tools + +* [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. + +## Software Packages + +Software written in Go. + + +### DevOps Tools + +* [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool +* [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile +* [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. +* [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). +* [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. +* [gaudi](http://gaudi.io/) - Gaudi automates the setup of isolated and decoupled dev environments. +* [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. +* [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. +* [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. +* [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. +* [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. +* [hk](https://github.com/heroku/hk) - Heroku command-line interface in Go. +* [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 +* [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. +* [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 +* [Wide](https://wide.b3log.org) - A Web-based IDE for Teams using Golang. + + +### Other Software +* [boxed](https://github.com/tejo/boxed) - Dropbox based blog engine +* [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. +* [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections +* [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. +* [Docker](http://www.docker.com/) - An open platform for distributed applications for developers and sysadmins. +* [fleet](https://github.com/coreos/fleet) - A Distributed init System. +* [Go Package Store](https://github.com/shurcooL/Go-Package-Store#go-package-store-) - An app that displays updates for the Go packages in your GOPATH. +* [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. +* [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. +* [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. +* [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. +* [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. +* [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. +* [plubi](https://github.com/norwack/plubi) - A Golang Plugin Based IRC Bot. +* [Postman](https://github.com/zachlatta/postman) - Command-line utility for batch-sending email. +* [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) +* [syncthing](http://www.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. +* [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. +* [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart) + + + + + + + +# Resources + +Where to discover new Go libraries. + + +## Benchmarks + +* [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions. +* [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. +* [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. +* [go_serialization_benchmarks](https://github.com/alecthomas/go_serialization_benchmarks) - Benchmarks of Go serialization methods. +* [gocostmodel](https://github.com/PuerkitoBio/gocostmodel) - Benchmarks of common basic operations for the Go language. +* [golang-micro-benchmarks](https://github.com/amscanne/golang-micro-benchmarks) - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. +* [golang-sql-benchmark](https://github.com/tyler-smith/golang-sql-benchmark) - A collection of benchmarks for popular Go database/SQL utilities. +* [kvbench](https://github.com/jimrobinson/kvbench) - Key/Value database benchmark. +* [speedtest-resize](https://github.com/fawick/speedtest-resize) - Compare various Image resize algorithms for the Go language. + + +## Conferences + +* [dotGo](http://www.dotgo.io) - Paris, France +* [GoCon](http://gocon.connpass.com/) - Tokyo, Japan +* [GolangUK](http://www.golanguk.com/) - London, UK +* [GopherChina](http://gopherchina.org) - Shanghai, China +* [GopherCon](http://www.gophercon.com/) - Denver, USA +* [GopherCon India](http://www.gophercon.in/) - Bengaluru, India +* [GothamGo](http://gothamgo.com/) - New York City, USA + +## E-Books + +* [A Go Developer's Notebook](https://leanpub.com/GoNotebook/read) +* [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/) +* [Building Web Apps With Go](http://codegangsta.gitbooks.io/building-web-apps-with-go/) +* [Go Bootcamp](http://golangbootcamp.com) +* [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books +* [Learning Go](http://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) +* [Network Programming With Go](http://jan.newmarch.name/go/) + + +## Twitter + +* [@golang](https://twitter.com/golang) +* [@golang_news](https://twitter.com/golang_news) +* [@golangweekly](https://twitter.com/golangweekly) + + +## Websites + +* [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote jobs. A lot of them is looking for Go hackers. +* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. +* [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 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. +* [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 +* [gowalker.org](https://gowalker.org) - Go Project API documentation. +* [r/Golang](http://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. + + +### Tutorials + +* [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go +* [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs +* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql +* [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers + + +## Windows + +* [go-ole](https://github.com/mattn/go-ole) - Win32 OLE implementation for golang From 5d6725d32c13b328c65972fa8da60e0794e055d6 Mon Sep 17 00:00:00 2001 From: sadlil Date: Tue, 8 Sep 2015 23:23:29 +0600 Subject: [PATCH 004/254] Add Go logger lib with console, file or ES logging. --- README.md~ | 1046 ---------------------------------------------------- 1 file changed, 1046 deletions(-) delete mode 100644 README.md~ diff --git a/README.md~ b/README.md~ deleted file mode 100644 index 559f206f..00000000 --- a/README.md~ +++ /dev/null @@ -1,1046 +0,0 @@ -# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) - - -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! - -[Join us on Slack](https://gophers.slack.com/messages/awesome/) to chat with other awesome-go maintainers! - -#### *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) - - [Audio & Music](#audiomusic) - - [Authentication & OAuth](#authentication--oauth) - - [Command Line](#command-line) - - [Configuration](#configuration) - - [Continuous Integration](#continuous-integration) - - [CSS Preprocessors](#css-preprocessors) - - [Data Structures](#data-structures) - - [Database](#database) - - [Database Drivers](#database-drivers) - - [Date & Time](#date--time) - - [Distributed Systems](#distributed-systems) - - [Email](#email) - - [Embeddable Scripting Languages](#embeddable-scripting-languages) - - [Financial](#financial) - - [Forms](#forms) - - [Game Development](#game-development) - - [Generation & Generics](#generation--generics) - - [GUI](#gui) - - [Hardware](#hardware) - - [Images](#images) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Miscellaneous](#miscellaneous) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [OpenGL](#opengl) - - [ORM](#orm) - - [Package Management](#package-management) - - [Resource Embedding](#resource-embedding) - - [Science and Data Analysis](#science-and-data-analysis) - - [Security](#security) - - [Serialization](#serialization) - - [Template Engines](#template-engines) - - [Testing](#testing) - - [Text Processing](#text-processing) - - [Third-party APIs](#third-party-apis) - - [Utilities](#utilities) - - [Validation](#validation) - - [Version Control](#version-control) - - [Video](#video) - - [Web Frameworks](#web-frameworks) - - [Middlewares](#middlewares) - - [Actual middlewares](#actual-middlewares) - - [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares) - - [Windows](#windows) - -- [Tools](#tools) - - [Code Analysis](#code-analysis) - - [Editor Plugins](#editor-plugins) - - [Go Tools](#go-tools) - - [Software Packages](#software-packages) - - [DevOps Tools](#devops-tools) - - [Other Software](#other-software) - -- [Server Applications](#server-applications) - -- [Resources](#resources) - - [Benchmarks](#benchmarks) - - [Conferences](#conferences) - - [E-Books](#e-books) - - [Twitter](#twitter) - - [Websites](#websites) - - [Tutorials](#tutorials) - - -## Audio/Music - -*Libraries for manipulating audio.* - -* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. -* [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. -* [portmidi](https://github.com/rakyll/portmidi) - Go bindings for PortMidi. -* [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). -* [waveform](https://github.com/mdlayher/waveform) - Go package capable of generating waveform images from audio streams. - - -## Authentication & OAuth - -*Libraries for implementing authentications schemes.* - -* [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.auth](https://github.com/bradrydzewski/go.auth) - Authentication API for Go web applications. -* [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. -* [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. -* [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). -* [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. -* [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. -* [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. -* [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. - - -## Command Line - - -### Standard CLI - -*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. -* [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. -* [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. -* [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. -* [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. -* [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. - - -### Advanced Console UIs - -*Libraries for building Console Applications and Console User Interfaces* - -* [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. -* [color](https://github.com/fatih/color) - Versatile package for colored terminal output. -* [go-colortext](https://github.com/daviddengcn/go-colortext) - Go library for color output in terminals. -* [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. -* [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 -* [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 - -*Libraries for configuration parsing* - -* [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with environment variables and flags parsing. -* [env](https://github.com/caarlos0/env) - Parse environment variables to Go structs (with defaults). -* [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs. -* [envconf](https://github.com/ian-kent/envconf) - Configuration from environment -* [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. -* [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 -* [viper](https://github.com/spf13/viper) - Go configuration with fangs - -## Continuous Integration - -*Tools for help with continuous integration* - -* [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. -* [overalls](https://github.com/bluesuncorp/overalls) - Multi-Package go project coverprofile for tools like goveralls - -## CSS Preprocessors - -*Libraries for preprocessing CSS files* - -* [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. - -## Data Structures - -*Generic datastructures and algorithms in Go.* - -* [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. -* [bloom](https://github.com/surge/bloom) - Bloom filters implemented in Go. -* [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. -* [encoding](https://github.com/surge/encoding) - Integer Compression Libraries for Go. -* [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. -* [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. -* [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing -* [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go -* [trie](https://github.com/derekparker/trie) - Trie implementation in Go -* [ttlcache](https://github.com/diegobernardes/ttlcache) - An in-memory LRU string-interface{} map with expiration for golang -* [willf/bloom](https://github.com/willf/bloom) - Go package implementing Bloom filters. - -## Database - -*Databases implemented in 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. -* [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. -* [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. -* [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. -* [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. -* [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. -* [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. -* [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics -* [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. -* [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. -* [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. -* [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. - -*Database tools.* - -* [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication. -* [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. -* [goose](https://bitbucket.org/liamstask/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. -* [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. -* [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. -* [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager & visualizer -* [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser -* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., -* [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. -* [vitess](https://github.com/youtube/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. - -*SQL query builder, libraries for building and using SQL.* - -* [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. -* [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. - - -## Database Drivers - -*Libraries for connecting and operating 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-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-oci8](https://github.com/mattn/go-oci8) - Oracle driver for go that using database/sql. - * [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. - * [gofreetds](https://github.com/minus5/gofreetds) Microsoft MSSQL driver. Go wrapper over [FreeTDS](http://www.freetds.org). - * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql. - -* NoSQL Databases - * [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. - * [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 - * [gocb](https://github.com/couchbaselabs/gocb) - Official Couchbase Go SDK - * [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. - * [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. - * [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. - * [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang - * [redigo](https://github.com/garyburd/redigo) - Redigo is a Go client for the Redis database. - * [redis](https://github.com/go-redis/redis) - Redis client for Golang - * [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go. - -* Search and Analytic Databases - * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. - * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Google Go. - * [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. -* [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. - - -## Distributed Systems - -*Packages that help with building Distributed Systems.* - -* [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer. -* [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. -* [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. -* [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. - * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. - -## Email - -*Libraries that implement email creation and sending* - -* [douceur](https://github.com/aymerick/douceur) - CSS inliner for your HTML emails. -* [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. -* [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. -* [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 -* [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine - - - -## Embeddable Scripting Languages - -*Embedding other languages inside your go code* - -* [agora](https://github.com/PuerkitoBio/agora) - Dynamically typed, embeddable programming language in Go -* [anko](https://github.com/mattn/anko) - Scriptable interpreter written in Go -* [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go -* [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go -* [go-lua](https://github.com/Shopify/go-lua) - A port of the Lua 5.2 VM to pure Go -* [go-python](https://github.com/sbinet/go-python) - naive go bindings to the CPython C-API -* [golua](https://github.com/aarzilli/golua) - Go bindings for Lua C API -* [gopher-lua](https://github.com/yuin/gopher-lua) - a Lua 5.1 VM and compiler written in Go -* [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 - - -## Financial - -*Packages for accounting and finance* - -* [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang -* [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers - - -## Forms - -*Libraries for working with forms.* - -* [bind](https://github.com/robfig/bind) - Bind form data to any Go values -* [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. -* [formam](https://github.com/monoculum/formam) - decode form's values into a struct. -* [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. -* [nosurf](https://github.com/justinas/nosurf) - A CSRF protection middleware for Go. - - -## Game Development - -*Awesome game development libraries.* - -* [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. -* [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. -* [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A* path finding algorithm -* [go-collada](https://github.com/GlenKelley/go-collada) - Go package for working with the Collada file format. -* [go-sdl2](https://github.com/veandco/go-sdl2) - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/). -* [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go -* [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang -* [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework - - -## Generation & Generics - -*Tools to enhance the language with features like generics via code generation* - -* [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. -* [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. -* [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. - - -## GUI - -*Libraries for building GUI Applications* - -* [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 -* [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. -* [gotk3](https://github.com/conformal/gotk3) - Go bindings for GTK3. -* [gxui](https://github.com/google/gxui) - A Go cross platform UI library. -* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. -* [walk](https://github.com/lxn/walk) - Windows application library kit for Go. - -## Hardware - -*Libraries, tools, and tutorials for interacting with hardware.* - -See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive list. - -## Images - -*Libraries for manipulating images.* - -* [bimg](https://github.com/h2non/bimg) - Small package for fast and efficient image processing using libvips -* [geopattern](https://github.com/pravj/geopattern) - Create beautiful generative image patterns from a string. -* [gift](https://github.com/disintegration/gift) - Package of image processing filters. -* [go-cairo](https://github.com/ungerik/go-cairo) - Go binding for the cairo graphics library. -* [go-gd](https://github.com/bolknote/go-gd) - Go binding for GD library -* [go-nude](https://github.com/koyachi/go-nude) - Nudity detection with Go. -* [go-opencv](https://github.com/lazywei/go-opencv) - Go bindings for OpenCV. -* [go-webcolors](https://github.com/jyotiska/go-webcolors) - Port of webcolors library from Python to Go. -* [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick's MagickWand C API. -* [imaginary](https://github.com/h2non/imaginary) - Fast and simple HTTP microservice for image resizing -* [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package. -* [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. -* [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 -* [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation. -* [tga](https://github.com/ftrvxmtrx/tga) - Package tga is a TARGA image format decoder/encoder. - -## Logging - -*Libraries for generating and working with log files.* - -* [glog](https://github.com/golang/glog) - Leveled execution logs for Go. -* [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. -* [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-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. -* [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. -* [logex](https://github.com/go-logex/logex) - An golang log lib, supports tracking and level, wrap by standard log lib -* [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/). -* [logutils](https://github.com/hashicorp/logutils) - Utilities for slightly better logging in Go (Golang) extending the standard logger. -* [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. -* [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. -* [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. - -## Machine Learning - -*Libraries for Machine Learning.* - -* [bayesian](https://github.com/jbrukh/bayesian) - Naive Bayesian Classification for Golang. -* [CloudForest](https://github.com/ryanbressler/CloudForest) - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go. -* [go-fann](https://github.com/white-pony/go-fann) - Go bindings for Fast Artificial Neural Networks(FANN) library. -* [go-galib](https://github.com/thoj/go-galib) - Genetic Algorithms library written in Go / golang -* [go-pr](https://github.com/daviddengcn/go-pr) - Pattern recognition package in Go lang. -* [gobrain](https://github.com/goml/gobrain) - Neural Networks written in go -* [godist](https://github.com/e-dard/godist) - Various probability distributions, and associated methods. -* [GoLearn](https://github.com/sjwhitworth/golearn) - General Machine Learning library for Go. -* [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go -* [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go -* [goRecommend](https://github.com/timkaye11/goRecommend) - Recommendation Algorithms library written in Go. -* [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. -* [mlgo](https://code.google.com/p/mlgo/) - This project aims to provide minimalistic machine learning algorithms in Go. -* [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. -* [probab](https://code.google.com/p/probab/) - Probability distribution functions. Bayesian inference. Written in pure Go. -* [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine -* [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go - - -## Messaging - -*Libraries that implement messaging systems* - -* [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. -* [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 -* [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. -* [NATS](https://github.com/apcera/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 -* [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. -* [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka. -* [Uniqush-Push](https://github.com/uniqush/uniqush-push) - A redis backed unified push service for server-side notifications to mobile devices. -* [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2). - - -## Miscellaneous - -*These libraries were placed here because none of the other categories seemed to fit* - -* [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. -* [browscap_go](https://github.com/fromYukki/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). -* [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser -* [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. -* [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). -* [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. -* [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. - -## Natural Language Processing - -*Libraries for working with human languages.* - -* [go-eco](https://code.google.com/p/go-eco/) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. -* [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. -* [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. -* [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 -* [gounidecode](https://github.com/fiam/gounidecode) - Unicode transliterator (also known as unidecode) for Go -* [icu](https://github.com/goodsign/icu) - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1. -* [libtextcat](https://github.com/goodsign/libtextcat) - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. -* [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 -* [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. -* [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/) -* [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. -* [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text - -## Networking - -*Libraries for working with various layers of the network* - -* [arp](https://github.com/mdlayher/arp) - Package arp implements the ARP protocol, as described in RFC 826. -* [buffstreams](https://github.com/stabbycutyou/buffstreams) - Streaming protocolbuffer data over TCP made easy -* [canopus](https://github.com/zubairhamed/canopus) - CoAP Client/Server implementation (RFC 7252) -* [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 -* [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. -* [ftp](https://github.com/jlaffaye/ftp) - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). -* [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389). -* [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 -* [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 -* [graval](https://github.com/koofr/graval) - An experimental FTP server framework. -* [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces -* [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang -* [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. -* [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. -* [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. -* [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. -* [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. - -## OpenGL - -*Libraries for using OpenGL in Go.* - -* [gl](https://github.com/go-gl/gl) - Go bindings for OpenGL (generated via glow). -* [glfw](https://github.com/go-gl/glfw) - Go bindings for GLFW 3. -* [goxjs/gl](https://github.com/goxjs/gl) - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android). -* [goxjs/glfw](https://github.com/goxjs/glfw) - Go cross-platform glfw library for creating an OpenGL context and receiving events. -* [mathgl](https://github.com/go-gl/mathgl) - Pure Go math package specialized for 3D math, with inspiration from GLM. - - -## ORM - -*Libraries that implement Object-Relational Mapping or datamapping techniques.* - -* [beego orm](https://github.com/astaxie/beego/tree/master/orm) - A powerful orm framework for go. -* [go-store](https://github.com/gosuri/go-store) - A simple and fast Redis backed key-value store library for Go. -* [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. -* [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. -* [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. -* [hood](https://github.com/eaigner/hood) - Database agnostic ORM for Go. -* [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. -* [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. -* [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. -* [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. - - -## Package Management - -*Libraries for package and dependency management.* - -* [gigo](https://github.com/LyricalSecurity/gigo) - PIP-like dependency tool for golang, with support for private repositories and hashes. -* [godep](https://github.com/tools/godep) - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. -* [gom](https://github.com/mattn/gom) - Go Manager - bundle for go. -* [goop](https://github.com/nitrous-io/goop) - A simple dependency manager for Go (golang), inspired by Bundler. -* [gopm](https://github.com/gpmgo/gopm) - Go Package Manager -* [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. -* [johnny-deps](https://github.com/VividCortex/johnny-deps) - Minimal dependency version using Git -* [nut](https://github.com/jingweno/nut) - Vendor Go dependencies -* [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments - - -## Resource Embedding - -* [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.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. -* [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. - - -## Science and Data Analysis - -*Libraries for scientific computing and data analyzing.* - -* [blas](https://github.com/ziutek/blas) - Implementation of BLAS (Basic Linear Algebra Subprograms) -* [chart](https://github.com/vdobler/chart) - Simple Chart Plotting library for Go. Supports many graphs types. -* [evaler](https://github.com/soniah/evaler) - A simple floating point arithmetic expression evaluator -* [ewma](https://github.com/VividCortex/ewma) - Exponentially-weighted moving averages -* [geom](https://github.com/skelterjohn/geom) - 2D geometry for golang -* [go-fn](https://code.google.com/p/go-fn/) - Mathematical functions written in Go language, that are not covered by math pkg -* [go-gt](https://code.google.com/p/go-gt/) - Graph theory algorithms written in "Go" language -* [go.matrix](https://github.com/skelterjohn/go.matrix) - linear algebra for go (has been stalled) -* [gocomplex](https://code.google.com/p/gocomplex/) - A complex number library for the Go programming language. -* [gofrac](https://github.com/anschelsc/gofrac) - A (goinstallable) fractions library for go with support for basic arithmetic. -* [gohistogram](https://github.com/VividCortex/gohistogram) - Approximate histograms for data streams -* [gonum/mat64](https://github.com/gonum/matrix) - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. -* [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. -* [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) -* [gostat](https://code.google.com/p/gostat/) - A statistics library for the go language -* [mudlark-go](https://code.google.com/p/mudlark-go-pkgs/) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. -* [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go -* [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. -* [vectormath](https://github.com/spate/vectormath) - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) - - -## Security - -*Libraries that are used to help make your application more secure.* - -* [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)" - -## Serialization - -*Libraries and tools for binary serialization* - -* [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 - * [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 -* [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. -* [php_session_decoder](https://github.com/yvasiyarov/php_session_decoder) - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions -* [structomap](https://github.com/tuvistavie/structomap) - Library to easily and dynamically generate maps from static structures. - - -## Server Applications - -* [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. -* [Caddy](https://github.com/mholt/caddy) - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. -* [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 -* [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. - - -## Template Engines - -*Libraries and tools for templating and lexing.* - -* [ace](https://github.com/yosssi/ace) - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold. -* [amber](https://github.com/eknkc/amber) - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade. -* [damsel](https://github.com/dskinner/damsel) - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. -* [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. -* [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. -* [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. -* [pongo2](https://github.com/flosch/pongo2) - A Django-like template-engine for Go. -* [raymond](https://github.com/aymerick/raymond) - A complete handlebars implementation in Go. -* [Razor](https://github.com/sipin/gorazor) - Razor view engine for Golang. -* [Soy](https://github.com/robfig/soy) - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/) - - -## Testing - -*Libraries for testing codebases and generating test data.* - -* Testing Frameworks - * [assert](https://github.com/bluesuncorp/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions - * [assert](https://github.com/bmizerany/assert) - Asserts to Go testing - * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them - * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go - * [go-mutesting](https://github.com/zimmski/go-mutesting) - Mutation testing for Go source code - * [goblin](https://github.com/franela/goblin) - Mocha like testing framework fo Go - * [gocheck](http://labix.org/gocheck) - A more advanced testing framework alternative to gotest. - * [GoConvey](https://github.com/smartystreets/goconvey/) - BDD-style framework with web UI and live reload - * [godog](https://github.com/DATA-DOG/godog) - Cucumber or Behat like BDD framework for Go. - * [GoSpec](https://github.com/orfjackal/gospec) - BDD-style testing framework for the Go programming language. - * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. - * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. - * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. - * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. - -* Mock - * [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-txdb](https://github.com/DATA-DOG/go-txdb) - Single transaction based database driver mainly for testing purposes. - * [gomock](https://github.com/golang/mock) - Mocking framework for the Go programming language. - * [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter - -* Fuzzing and delta-debugging/reducing/shrinking - * [go-fuzz](https://github.com/dvyukov/go-fuzz) - A randomized testing system - * [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values - * [gogenerate](https://github.com/arschles/gogenerate) - A Scalacheck-like library for Go - * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework - -## Text Processing - -*Libraries for parsing and manipulating texts.* - -* Specific Formats - * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go - * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. - * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer - * [enca](https://github.com/endeveit/enca) - Minimal cgo bindings for [libenca](http://cihar.com/software/enca/). - * [genex](https://github.com/alixaxel/genex) - Count and expand Regular Expressions into all matching Strings - * [go-humanize](https://github.com/dustin/go-humanize) - Formatters for time, numbers, and memory size to human readable format. - * [go-nmea](https://github.com/adrianmo/go-nmea) - NMEA parser library for the Go language. - * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. - * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. - * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. - * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. - * [gommon/gytes](https://github.com/labstack/gommon/tree/master/gytes) - Format bytes to string. - * [gonameparts](https://github.com/polera/gonameparts) - Parses human names into individual name parts - * [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. - * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. - * [guesslanguage](https://github.com/endeveit/guesslanguage) - Functions to determine the natural language of a unicode text. - * [mxj](https://github.com/clbanning/mxj) - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. - * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. - * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. - * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). -* Utility - * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. - * [xurls](https://github.com/mvdan/xurls) - Extract urls from text - - -## Third-party APIs - -*Libraries for accessing third party APIs.* - -* [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API -* [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. Caution: The SDK is currently in the process of being developed, and not everything may be working fully yet. -* [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB 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 -* [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. -* [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 -* [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. -* [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library -* [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go -* [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting -* [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library -* [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. -* [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. -* [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. -* [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. -* [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. -* [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. -* [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify 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. -* [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 -* [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 -* [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. - -## Utilities - -*General utilities and tools to make your life easier.* - -* [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. -* [fastlz](https://github.com/fromYukki/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. -* [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-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. -* [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. -* [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons -* [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) -* [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. -* [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. -* [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. -* [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. -* [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images -* [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. -* [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 -* [hystrix-go](https://github.com/afex/hystrix-go) - Imprements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. -* [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. -* [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go -* [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. -* [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers -* [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. -* [ngrok](https://github.com/inconshreveable/ngrok) - Introspected tunnels to localhost. -* [okrun](https://github.com/xta/okrun) - go run error steamroller -* [panicparse](https://github.com/maruel/panicparse) - Groups similar goroutines and colorizes stack dump. -* [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool -* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency -* [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API -* [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go -* [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. -* [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics -* [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. -* [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. -* [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. -* [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package -* [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. - - -## Validation - -*Libraries for validation.* - -* [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs -* [validator](https://github.com/bluesuncorp/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving - - -## Version Control - -*Libraries for version control.* - -* [gh](https://github.com/rjeczalik/gh) - Scriptable server and net/http middleware for GitHub Webhooks -* [git2go](https://github.com/libgit2/git2go) - Go bindings for libgit2. -* [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. -* [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. - - -## Video - -*Libraries for manipulating video.* - -* [aac/h264](https://github.com/nareix/codec) - Golang aac/h264 encoder and decoder. -* [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries. -* [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg. -* [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. - - -## Web Frameworks - -*Full stack web frameworks.* - -* [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. -* [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. -* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io) -* [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API -* [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's -* [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go -* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. -* [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. -* [Goji](https://github.com/zenazn/goji) - Goji is a minimalistic web framework for Golang that's high in antioxidants. -* [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 -* [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. -* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. -* [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. -* [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. -* [Martini](https://github.com/go-martini/martini) - Martini is a powerful package for quickly writing modular web applications/services in Golang. -* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. -* [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. -* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. -* [Resoursea](https://github.com/resoursea/api) - A REST framework for quickly writing resource based services. -* [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language. -* [rex](https://github.com/goanywhere/rex) - Rex is a library for modular development built upon gorilla/mux, fully compatible with `net/http`. -* [sawsij](http://sawsij.com/) - lightweight, open-source web framework for building high-performance, data-driven web applications. -* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers -* [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 -* [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for 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. -* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. - - -### Middlewares - -#### Actual middlewares - -* [CORS](https://github.com/rs/cors) - Easily add CORS capabilities to your API -* [formjson](https://github.com/rs/formjson) - Transparently handle JSON input as a standard form POST -* [Tollbooth](https://github.com/didip/tollbooth) - Rate limit HTTP request handler -* [XFF](https://github.com/sebest/xff) - Handle `X-Forwarded-For` header and friends - -#### Libraries for creating HTTP middlewares - -* [alice](https://github.com/justinas/alice) - Painless middleware chaining for Go. -* [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. -* [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang -* [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. -* [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. -* [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. -* [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. - -# Tools - -Go software and plugins. - - -## Code Analysis - -* [doc](http://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. -* [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. -* [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. -* [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. -* [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. -* [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 online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. -* [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. - - -## Editor Plugins - -* [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. -* [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting -* [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language -* [GoSublime](https://github.com/DisposaBoy/GoSublime) - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features. -* [velour](https://github.com/velour/velour) - An IRC client for the acme editor. -* [vim-compiler-go](https://github.com/rjohnsondev/vim-compiler-go) - A Vim plugin to highlight syntax errors on save. -* [vim-go](https://github.com/fatih/vim-go) - Go development plugin for Vim. -* [Watch](https://github.com/eaburns/Watch) - Runs a command in an acme win on file changes. - -## Go Tools - -* [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. - -## Software Packages - -Software written in Go. - - -### DevOps Tools - -* [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool -* [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile -* [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. -* [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). -* [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. -* [gaudi](http://gaudi.io/) - Gaudi automates the setup of isolated and decoupled dev environments. -* [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. -* [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. -* [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. -* [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. -* [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. -* [hk](https://github.com/heroku/hk) - Heroku command-line interface in Go. -* [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 -* [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. -* [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 -* [Wide](https://wide.b3log.org) - A Web-based IDE for Teams using Golang. - - -### Other Software -* [boxed](https://github.com/tejo/boxed) - Dropbox based blog engine -* [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. -* [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections -* [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. -* [Docker](http://www.docker.com/) - An open platform for distributed applications for developers and sysadmins. -* [fleet](https://github.com/coreos/fleet) - A Distributed init System. -* [Go Package Store](https://github.com/shurcooL/Go-Package-Store#go-package-store-) - An app that displays updates for the Go packages in your GOPATH. -* [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. -* [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. -* [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. -* [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. -* [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. -* [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. -* [plubi](https://github.com/norwack/plubi) - A Golang Plugin Based IRC Bot. -* [Postman](https://github.com/zachlatta/postman) - Command-line utility for batch-sending email. -* [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) -* [syncthing](http://www.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. -* [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. -* [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart) - - - - - - - -# Resources - -Where to discover new Go libraries. - - -## Benchmarks - -* [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions. -* [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. -* [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. -* [go_serialization_benchmarks](https://github.com/alecthomas/go_serialization_benchmarks) - Benchmarks of Go serialization methods. -* [gocostmodel](https://github.com/PuerkitoBio/gocostmodel) - Benchmarks of common basic operations for the Go language. -* [golang-micro-benchmarks](https://github.com/amscanne/golang-micro-benchmarks) - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. -* [golang-sql-benchmark](https://github.com/tyler-smith/golang-sql-benchmark) - A collection of benchmarks for popular Go database/SQL utilities. -* [kvbench](https://github.com/jimrobinson/kvbench) - Key/Value database benchmark. -* [speedtest-resize](https://github.com/fawick/speedtest-resize) - Compare various Image resize algorithms for the Go language. - - -## Conferences - -* [dotGo](http://www.dotgo.io) - Paris, France -* [GoCon](http://gocon.connpass.com/) - Tokyo, Japan -* [GolangUK](http://www.golanguk.com/) - London, UK -* [GopherChina](http://gopherchina.org) - Shanghai, China -* [GopherCon](http://www.gophercon.com/) - Denver, USA -* [GopherCon India](http://www.gophercon.in/) - Bengaluru, India -* [GothamGo](http://gothamgo.com/) - New York City, USA - -## E-Books - -* [A Go Developer's Notebook](https://leanpub.com/GoNotebook/read) -* [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/) -* [Building Web Apps With Go](http://codegangsta.gitbooks.io/building-web-apps-with-go/) -* [Go Bootcamp](http://golangbootcamp.com) -* [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books -* [Learning Go](http://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) -* [Network Programming With Go](http://jan.newmarch.name/go/) - - -## Twitter - -* [@golang](https://twitter.com/golang) -* [@golang_news](https://twitter.com/golang_news) -* [@golangweekly](https://twitter.com/golangweekly) - - -## Websites - -* [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote jobs. A lot of them is looking for Go hackers. -* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. -* [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 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. -* [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 -* [gowalker.org](https://gowalker.org) - Go Project API documentation. -* [r/Golang](http://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. - - -### Tutorials - -* [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go -* [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs -* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql -* [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers - - -## Windows - -* [go-ole](https://github.com/mattn/go-ole) - Win32 OLE implementation for golang From be8a5d67cc242c764584bf64fda33bfa94ed61af Mon Sep 17 00:00:00 2001 From: sadlil Date: Tue, 8 Sep 2015 23:37:12 +0600 Subject: [PATCH 005/254] Add Go logger lib with console, file or ES logging. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 559f206f..9aece3d2 100644 --- a/README.md +++ b/README.md @@ -404,10 +404,10 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for generating and working with log files.* * [glog](https://github.com/golang/glog) - Leveled execution logs for Go. -* [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. * [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-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. +* [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. * [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. * [logex](https://github.com/go-logex/logex) - An golang log lib, supports tracking and level, wrap by standard log lib * [logrus](https://github.com/Sirupsen/logrus) - a structured logger for Go. From 99bef80c13f3f79d819d1a84d119b7f7350c9ca2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Ram=C3=B3n?= Date: Fri, 18 Sep 2015 00:39:20 -0500 Subject: [PATCH 006/254] Adding query language section, add graphql-go. --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 006042bf..8193874f 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Networking](#networking) - [OpenGL](#opengl) - [ORM](#orm) + - [Query Language](#query-language) - [Package Management](#package-management) - [Resource Embedding](#resource-embedding) - [Science and Data Analysis](#science-and-data-analysis) @@ -545,6 +546,10 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. * [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. +## Query Language + +* [graphql-go](https://github.com/chris-ramon/graphql-go) - An implementation of GraphQL for Go. + ## Package Management From df9a402364302e1a1e145b3d485469269f8dcab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Ram=C3=B3n?= Date: Fri, 18 Sep 2015 00:46:40 -0500 Subject: [PATCH 007/254] alphabetic order --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8193874f..4e246968 100644 --- a/README.md +++ b/README.md @@ -44,8 +44,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Networking](#networking) - [OpenGL](#opengl) - [ORM](#orm) - - [Query Language](#query-language) - [Package Management](#package-management) + - [Query Language](#query-language) - [Resource Embedding](#resource-embedding) - [Science and Data Analysis](#science-and-data-analysis) - [Security](#security) @@ -546,10 +546,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. * [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. -## Query Language - -* [graphql-go](https://github.com/chris-ramon/graphql-go) - An implementation of GraphQL for Go. - ## Package Management @@ -566,6 +562,11 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments +## Query Language + +* [graphql-go](https://github.com/chris-ramon/graphql-go) - An implementation of GraphQL for Go. + + ## Resource Embedding * [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code. From dc8232fe33785f9bdf3cabbffd84b4ebe6d0c170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20Ram=C3=B3n?= Date: Tue, 22 Sep 2015 21:38:54 -0500 Subject: [PATCH 008/254] Add two libs to Query Language section. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4e246968..e87be61e 100644 --- a/README.md +++ b/README.md @@ -564,9 +564,12 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis ## Query Language +* [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. +* [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go. * [graphql-go](https://github.com/chris-ramon/graphql-go) - An implementation of GraphQL for Go. + ## Resource Embedding * [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code. From 91ad2fd274ffbc431f980082d367a7477d9a68d2 Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Thu, 24 Sep 2015 08:03:59 -0400 Subject: [PATCH 009/254] Update repo links to a few packages I recently migrated some code from one organization to another and am just updating the links to point directly to the new location: Repos affected: * https://github.com/go-playground/validator * https://github.com/go-playground/assert * https://github.com/go-playground/overalls --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 33b03e61..54ee1478 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Tools for help with continuous integration* * [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. -* [overalls](https://github.com/bluesuncorp/overalls) - Multi-Package go project coverprofile for tools like goveralls +* [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls ## CSS Preprocessors @@ -648,7 +648,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for testing codebases and generating test data.* * Testing Frameworks - * [assert](https://github.com/bluesuncorp/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions + * [assert](https://github.com/go-playground/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions * [assert](https://github.com/bmizerany/assert) - Asserts to Go testing * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework @@ -799,7 +799,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for validation.* * [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs -* [validator](https://github.com/bluesuncorp/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving +* [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving ## Version Control From 4ae08cb9c5b4ab68eb070f0948240ca73dc3dbaf Mon Sep 17 00:00:00 2001 From: Kiril Minkov Date: Fri, 25 Sep 2015 14:08:24 +0100 Subject: [PATCH 010/254] Adding go-geoindex --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d073d468..fae95312 100644 --- a/README.md +++ b/README.md @@ -187,6 +187,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [trie](https://github.com/derekparker/trie) - Trie implementation in Go * [ttlcache](https://github.com/diegobernardes/ttlcache) - An in-memory LRU string-interface{} map with expiration for golang * [willf/bloom](https://github.com/willf/bloom) - Go package implementing Bloom filters. +* [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. ## Database From 1527d5eb5093fbf264017eac6c8154293dbf84d3 Mon Sep 17 00:00:00 2001 From: Kiril Minkov Date: Wed, 30 Sep 2015 14:45:35 +0100 Subject: [PATCH 011/254] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fae95312..300c6839 100644 --- a/README.md +++ b/README.md @@ -180,6 +180,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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. * [go-datastructures](https://github.com/Workiva/go-datastructures) - a collection of useful, performant, and thread-safe data structures +* [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. * [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. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing @@ -187,7 +188,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [trie](https://github.com/derekparker/trie) - Trie implementation in Go * [ttlcache](https://github.com/diegobernardes/ttlcache) - An in-memory LRU string-interface{} map with expiration for golang * [willf/bloom](https://github.com/willf/bloom) - Go package implementing Bloom filters. -* [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. ## Database From 317c9d4d26c78023fba60e6b7c15a66110a84012 Mon Sep 17 00:00:00 2001 From: Norwack Date: Thu, 1 Oct 2015 12:17:28 +0200 Subject: [PATCH 012/254] remove unmaintained package --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index f9e45e61..dacf2a1f 100644 --- a/README.md +++ b/README.md @@ -972,7 +972,6 @@ Software 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. * [peg](https://github.com/pointlander/peg) - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. -* [plubi](https://github.com/norwack/plubi) - A Golang Plugin Based IRC Bot. * [Postman](https://github.com/zachlatta/postman) - Command-line utility for batch-sending email. * [restic](https://github.com/restic/restic) - De-duplicating backup program. * [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Fast, Simple and Scalable Distributed File System with O(1) disk seek. From 98d410a58b541887ec36a79f0eee97ca3164a28f Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 3 Oct 2015 10:41:21 -0500 Subject: [PATCH 013/254] Add pgx to database driver list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..abe500f4 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,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-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). + * [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. * NoSQL Databases From 334904077b0552e8b9a278c9a51ee502cb118d97 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Mon, 5 Oct 2015 18:00:23 +0300 Subject: [PATCH 014/254] Added github.com/valyala/fasttemplate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..de3f3216 100644 --- a/README.md +++ b/README.md @@ -636,6 +636,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [amber](https://github.com/eknkc/amber) - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade. * [damsel](https://github.com/dskinner/damsel) - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. * [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. +* [fasttemplate](https://github.com/valyala/fasttemplate) - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](http://golang.org/pkg/text/template/). * [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. * [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. * [pongo2](https://github.com/flosch/pongo2) - A Django-like template-engine for Go. From f4f1a81f20d3616d366308a24dc708efba369ede Mon Sep 17 00:00:00 2001 From: Gilles Fabio Date: Wed, 7 Oct 2015 10:49:13 +0200 Subject: [PATCH 015/254] Add Limiter and Deepcopier packages. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index dacf2a1f..51a44012 100644 --- a/README.md +++ b/README.md @@ -751,6 +751,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *General utilities and tools to make your life easier.* * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. +* [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go * [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. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. @@ -870,6 +871,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [CORS](https://github.com/rs/cors) - Easily add CORS capabilities to your API * [formjson](https://github.com/rs/formjson) - Transparently handle JSON input as a standard form POST +* [Limiter](https://github.com/ulule/limiter) - Dead simple rate limit middleware for Go * [Tollbooth](https://github.com/didip/tollbooth) - Rate limit HTTP request handler * [XFF](https://github.com/sebest/xff) - Handle `X-Forwarded-For` header and friends From 5517cf83ca05fd487d3f8ace2ceab70f39adb580 Mon Sep 17 00:00:00 2001 From: Francois Date: Thu, 8 Oct 2015 13:31:04 +0200 Subject: [PATCH 016/254] Adding rerun --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..69c94432 100644 --- a/README.md +++ b/README.md @@ -788,6 +788,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. +* [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. From a76cc8be11bfabe3fab59fa3678906f534610502 Mon Sep 17 00:00:00 2001 From: jawher Date: Thu, 8 Oct 2015 21:37:22 +0200 Subject: [PATCH 017/254] Add mow.cli --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..160333c6 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. * [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. * [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. +* [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. * [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. * [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. From 234c7d4ad376a63847a0b5f05fa02142e6a6c25d Mon Sep 17 00:00:00 2001 From: Vinicius Souza Date: Fri, 9 Oct 2015 10:46:25 -0300 Subject: [PATCH 018/254] Add Medium SDK for Medium's OAuth2 API --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..bfd982ca 100644 --- a/README.md +++ b/README.md @@ -731,6 +731,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. * [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. +* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. * [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. From a4770c2e9483a8a3fafb7293b75214c5e1c5481e Mon Sep 17 00:00:00 2001 From: Pavel Paulau Date: Tue, 13 Oct 2015 23:08:28 -0700 Subject: [PATCH 019/254] Add Prometheus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..6ad298b6 100644 --- a/README.md +++ b/README.md @@ -206,6 +206,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics * [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. +* [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. From 921f3ec381352ad23f424b4f28f155b8627d7644 Mon Sep 17 00:00:00 2001 From: Tobias Schmid Date: Wed, 14 Oct 2015 10:15:11 +0200 Subject: [PATCH 020/254] Add cockroach to databases --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dacf2a1f..4a8deb54 100644 --- a/README.md +++ b/README.md @@ -196,6 +196,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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. +* [cockroach](https://github.com/cockroachdb/cockroach) - A Scalable, Geo-Replicated, Transactional Datastore * [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. * [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. * [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. From 737c5d65c70313c65609ecc645b5a14f5986e2df Mon Sep 17 00:00:00 2001 From: Fabien Herfray Date: Wed, 14 Oct 2015 12:21:09 +0200 Subject: [PATCH 021/254] Arangolite ArangoDB driver added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..b94bbab9 100644 --- a/README.md +++ b/README.md @@ -249,6 +249,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * NoSQL Databases * [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language. + * [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB. * [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends. * [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 From 4b99d0e6eb2e030dbd99a80e3f31e7bf264723ba Mon Sep 17 00:00:00 2001 From: Tobias Schmid Date: Wed, 14 Oct 2015 13:08:03 +0200 Subject: [PATCH 022/254] Add bosun --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..949aad99 100644 --- a/README.md +++ b/README.md @@ -934,6 +934,7 @@ Software written in Go. * [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool * [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile * [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. +* [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. * [gaudi](http://gaudi.io/) - Gaudi automates the setup of isolated and decoupled dev environments. From b5843f3fed754df5e181a97ebac0e95f9f0a195d Mon Sep 17 00:00:00 2001 From: miolini Date: Wed, 14 Oct 2015 23:11:42 +0300 Subject: [PATCH 023/254] Add project Datacounter. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..f76e2370 100644 --- a/README.md +++ b/README.md @@ -471,6 +471,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [browscap_go](https://github.com/fromYukki/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). +* [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS From 518f61cb3c3eef5344e41033bbbdb8d646e62344 Mon Sep 17 00:00:00 2001 From: AJ Bourg Date: Wed, 14 Oct 2015 14:24:31 -0600 Subject: [PATCH 024/254] Update README.md Gaudi is being discontinued: http://marmelab.com/blog/2014/11/06/retiring-gaudi.html --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a19b782c..77001234 100644 --- a/README.md +++ b/README.md @@ -936,7 +936,6 @@ Software written in Go. * [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. -* [gaudi](http://gaudi.io/) - Gaudi automates the setup of isolated and decoupled dev environments. * [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. * [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. From 3afde332e331c3222834050d5851079a3216f52b Mon Sep 17 00:00:00 2001 From: Montana Flynn Date: Thu, 15 Oct 2015 13:04:18 -0700 Subject: [PATCH 025/254] Add stats package --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..818eb0a5 100644 --- a/README.md +++ b/README.md @@ -596,6 +596,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gostat](https://code.google.com/p/gostat/) - A statistics library for the go language * [mudlark-go](https://code.google.com/p/mudlark-go-pkgs/) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go +* [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions missing from the Golang standard library. * [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. * [vectormath](https://github.com/spate/vectormath) - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) From 22c3a67f251ace74c7ff951640d088eee93f5d2a Mon Sep 17 00:00:00 2001 From: Sam Couch Date: Thu, 15 Oct 2015 23:53:44 -0400 Subject: [PATCH 026/254] Add clarifai client library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..49d57ee0 100644 --- a/README.md +++ b/README.md @@ -719,6 +719,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API * [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. Caution: The SDK is currently in the process of being developed, and not everything may be working fully yet. * [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. +* [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai 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 * [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. From 576f117248369721a3c79d5bdfa2eaece8d81ae4 Mon Sep 17 00:00:00 2001 From: oskca Date: Fri, 16 Oct 2015 13:38:00 +0800 Subject: [PATCH 027/254] add Go bindings for Sciter for cross platform GUI sciter is a cross platform GUI toolkit which is easy to deploy to Linux,Windows and OSX. Though not open sourced, but the sicter libraries are free to use for commercial or non-commercial applications. I created this package with cgo, and hope it a good choice for Golang GUI programming. :) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..03c7f027 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gxui](https://github.com/google/gxui) - A Go cross platform UI library. * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go. +* [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. ## Hardware From 9000dc530f098405b5d48d9c86e92d003ffd57c9 Mon Sep 17 00:00:00 2001 From: oskca Date: Fri, 16 Oct 2015 13:40:55 +0800 Subject: [PATCH 028/254] update the items orders --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 03c7f027..b41d5031 100644 --- a/README.md +++ b/README.md @@ -371,9 +371,10 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/conformal/gotk3) - Go bindings for GTK3. * [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. * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go. -* [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. + ## Hardware From 455acffee34d928f96c452caea647299cfcfbe0e Mon Sep 17 00:00:00 2001 From: Stefan von Cavallar Date: Fri, 16 Oct 2015 18:31:50 +1100 Subject: [PATCH 029/254] Added "celeriac" library to Distributed/Grid Computing. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..1c951a86 100644 --- a/README.md +++ b/README.md @@ -282,6 +282,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Packages that help with building Distributed Systems.* +* [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. * [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. From 9e2c9630a1c9fb4a175a95a6815ab24d560fd341 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 16 Oct 2015 16:07:18 +0800 Subject: [PATCH 030/254] add gcfg in Configuration --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a19b782c..09e25514 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs. * [envconf](https://github.com/ian-kent/envconf) - Configuration from environment * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. +* [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections * [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 From 559833e65fcc16309cad1f063dbdbaf3a9b9f44b Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 16 Oct 2015 16:14:32 +0800 Subject: [PATCH 031/254] Add httptreemux to Web Frameworks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 09e25514..2e894f2f 100644 --- a/README.md +++ b/README.md @@ -847,6 +847,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. +* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go.Inspiration from httprouter * [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [Martini](https://github.com/go-martini/martini) - Martini is a powerful package for quickly writing modular web applications/services in Golang. From a16e35d4cfa5de0c22db1702c1fa07cb7aed67b2 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 16 Oct 2015 16:22:38 +0800 Subject: [PATCH 032/254] add migrate to Database tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e894f2f..05f6f0c4 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. * [goose](https://bitbucket.org/liamstask/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. +* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. * [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. * [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager & visualizer * [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser From 376fffc900ffec7b58a2813a3c59e587fb1a6254 Mon Sep 17 00:00:00 2001 From: jerome-laforge Date: Sat, 17 Oct 2015 15:09:37 +0200 Subject: [PATCH 033/254] Add log15 into Logging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 77001234..a9adf631 100644 --- a/README.md +++ b/README.md @@ -412,6 +412,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [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 * [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. * [logrus](https://github.com/Sirupsen/logrus) - a structured logger for Go. From 99ae2b043c46a25b2a4ec7c3eac83e26eb742253 Mon Sep 17 00:00:00 2001 From: Swapnil Agarwal Date: Sun, 18 Oct 2015 16:43:07 +0530 Subject: [PATCH 034/254] Fix typo --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 54847d5d..31c03e69 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -34,7 +34,7 @@ To be on the list, project repositories should adhere to these quality standards ## Reporting issues -Please open an issue if you would like ot discuss anything that could be improved or have suggestions for making the list a more valuable resource. We realize sometimes packages fall into abandonment or have breaking builds for extended periods of time, so if you see that, feel free to change its listing or let us know. We also realize that sometimes projects are just going through transitions or are more experimental in nature. These can still be cool, but we can indicate them as transitory or experimental. +Please open an issue if you would like to discuss anything that could be improved or have suggestions for making the list a more valuable resource. We realize sometimes packages fall into abandonment or have breaking builds for extended periods of time, so if you see that, feel free to change its listing or let us know. We also realize that sometimes projects are just going through transitions or are more experimental in nature. These can still be cool, but we can indicate them as transitory or experimental. Removal changes will not be applied until they have been pending for a minimum of 1 week (7 days). This grace window benefits projects that may be going through a temporary transition but are otherwise worthy of being on the list. From ff675e7fda416ef3e43a90c6aceb9de7fd68f5a6 Mon Sep 17 00:00:00 2001 From: Swapnil Agarwal Date: Mon, 19 Oct 2015 09:06:01 +0530 Subject: [PATCH 035/254] Add termloop under Game Development --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9adf631..8f5389b0 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go * [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang * [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework +* [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox ## Generation & Generics From 88496ee0b4ed385e7abd3a8d66270dd26d814332 Mon Sep 17 00:00:00 2001 From: Bruno Medeiros Date: Tue, 20 Oct 2015 17:41:26 +0100 Subject: [PATCH 036/254] Add Goclipse entry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8f5389b0..5191e22f 100644 --- a/README.md +++ b/README.md @@ -914,6 +914,7 @@ Go software and plugins. * [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. * [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting +* [Goclipse](https://github.com/GoClipse/goclipse) - An Eclipse plugin for Go. * [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language * [GoSublime](https://github.com/DisposaBoy/GoSublime) - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features. * [velour](https://github.com/velour/velour) - An IRC client for the acme editor. From 58e8a621213eaf7b8319a5d4ce708fe05a4f0350 Mon Sep 17 00:00:00 2001 From: Alex Palaistras Date: Thu, 22 Oct 2015 16:32:21 +0100 Subject: [PATCH 037/254] Add link for `go-php` in `Embeddable Scripting Languages` section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5191e22f..09e176d1 100644 --- a/README.md +++ b/README.md @@ -313,6 +313,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go * [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go * [go-lua](https://github.com/Shopify/go-lua) - A port of the Lua 5.2 VM to pure Go +* [go-php](https://github.com/deuill/go-php) - PHP bindings for Go * [go-python](https://github.com/sbinet/go-python) - naive go bindings to the CPython C-API * [golua](https://github.com/aarzilli/golua) - Go bindings for Lua C API * [gopher-lua](https://github.com/yuin/gopher-lua) - a Lua 5.1 VM and compiler written in Go From b1e27914309eef7e6aad42b5162492e46ef0d372 Mon Sep 17 00:00:00 2001 From: Mike Hix Date: Fri, 23 Oct 2015 11:41:35 -0700 Subject: [PATCH 038/254] Add go-dsp library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 09e176d1..0d44c2b9 100644 --- a/README.md +++ b/README.md @@ -587,6 +587,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [evaler](https://github.com/soniah/evaler) - A simple floating point arithmetic expression evaluator * [ewma](https://github.com/VividCortex/ewma) - Exponentially-weighted moving averages * [geom](https://github.com/skelterjohn/geom) - 2D geometry for golang +* [go-dsp](https://github.com/mjibson/go-dsp) - Digital Signal Processing for Go * [go-fn](https://code.google.com/p/go-fn/) - Mathematical functions written in Go language, that are not covered by math pkg * [go-gt](https://code.google.com/p/go-gt/) - Graph theory algorithms written in "Go" language * [go.matrix](https://github.com/skelterjohn/go.matrix) - linear algebra for go (has been stalled) From c385bb46668f87bf3d91048e3188c739cb4359c6 Mon Sep 17 00:00:00 2001 From: Swapnil Agarwal Date: Thu, 22 Oct 2015 17:24:04 +0530 Subject: [PATCH 039/254] Add slack invite link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5191e22f..18fdd1db 100644 --- a/README.md +++ b/README.md @@ -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! -[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/messages/awesome/) 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!* From f415ab0530398e9374f5c4a6b58db864e4dbd2f2 Mon Sep 17 00:00:00 2001 From: Tom Date: Sat, 24 Oct 2015 13:32:53 +0100 Subject: [PATCH 040/254] README.md: add github.com/tomcraven/goga genetic algorithm machine learning library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3ab6d49..3c34cd5f 100644 --- a/README.md +++ b/README.md @@ -443,6 +443,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-pr](https://github.com/daviddengcn/go-pr) - Pattern recognition package in Go lang. * [gobrain](https://github.com/goml/gobrain) - Neural Networks written in go * [godist](https://github.com/e-dard/godist) - Various probability distributions, and associated methods. +* [goga](https://github.com/tomcraven/goga) - Genetic algorithm library for Go. * [GoLearn](https://github.com/sjwhitworth/golearn) - General Machine Learning library for Go. * [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go * [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go From 4da4b179c57fff843d35ee0e160c6b739b9df602 Mon Sep 17 00:00:00 2001 From: Ugorji Nwoke Date: Sat, 24 Oct 2015 11:26:46 -0400 Subject: [PATCH 041/254] go-codec de-facto library for cbor, msgpack, json --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3ab6d49..53f4acac 100644 --- a/README.md +++ b/README.md @@ -620,9 +620,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries and tools for binary serialization* -* [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 * [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go. +* [go-codec](https://github.com/ugorji/go) - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support * [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. * [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures. From 0edb29955d929cb418409b7adb5da47b8fc415da Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 24 Oct 2015 09:46:47 -0700 Subject: [PATCH 042/254] Update README.md --- README.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d3ab6d49..8a4f042c 100644 --- a/README.md +++ b/README.md @@ -284,14 +284,18 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Packages that help with building Distributed Systems.* -* [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. -* [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. -* [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. -* [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. - * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. +* Distributed Systems + * [glow](https://github.com/chrislusf/glow) - An easy-to-use distributed computation system written in Go, an alternative to Hadoop Map Reduce, Spark, Flint, etc. + +* Libraries + * [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. + * [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. + * [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. + * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. + * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. ## Email From eaeed47e7e212deb0e20c17678284a220eac93a6 Mon Sep 17 00:00:00 2001 From: Sioro Neoku Date: Sun, 25 Oct 2015 16:46:05 +0100 Subject: [PATCH 043/254] Add go-peerflix --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d2fc6c8..368d23a1 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [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 From 3d0eec51b7f5a49acbcb73f4a010594fff66572f Mon Sep 17 00:00:00 2001 From: Eduardo Nunes Pereira Date: Mon, 26 Oct 2015 22:20:08 -0200 Subject: [PATCH 044/254] Added SSLB --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d2fc6c8..dbe17859 100644 --- a/README.md +++ b/README.md @@ -533,6 +533,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. +* [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. ## OpenGL From 38fcbfc6aaf523094524c04f7f272e172270713d Mon Sep 17 00:00:00 2001 From: Rodrigo Muniz Date: Tue, 27 Oct 2015 08:57:09 -0200 Subject: [PATCH 045/254] LiteIDE included --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d2fc6c8..d6599dcb 100644 --- a/README.md +++ b/README.md @@ -983,6 +983,7 @@ Software written in Go. * [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. * [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. * [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. From aac1f00b38a2922950b752fbc04822b6ebbdbd2b Mon Sep 17 00:00:00 2001 From: Pekka Enberg Date: Tue, 27 Oct 2015 15:40:22 +0200 Subject: [PATCH 046/254] Update gotk3 URL The upstream project has not been active for over a year. Update the URL to point to an active fork. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4d2fc6c8..744328bc 100644 --- a/README.md +++ b/README.md @@ -375,7 +375,7 @@ 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-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/gotk3/gotk3) - Go bindings for GTK3. * [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. * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. From 03dc2d958d7b90e22276575dc5cce598425eba9c Mon Sep 17 00:00:00 2001 From: AJ Bourg Date: Tue, 27 Oct 2015 12:01:17 -0600 Subject: [PATCH 047/254] Add go-getter to the network section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d2785c9..22a1cbca 100644 --- a/README.md +++ b/README.md @@ -521,6 +521,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [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). * [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 From 52322145f3bdc939f61d58089d0f1e1c37a5fa4d Mon Sep 17 00:00:00 2001 From: Derek Tracy Date: Tue, 27 Oct 2015 14:33:03 -0400 Subject: [PATCH 048/254] add gb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d2785c9..34454f16 100644 --- a/README.md +++ b/README.md @@ -937,6 +937,7 @@ Go software and plugins. ## Go Tools * [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. ## Software Packages From 8febb3aa77d8e8149cf961f424ffb570e6e24c80 Mon Sep 17 00:00:00 2001 From: AJ Bourg Date: Tue, 27 Oct 2015 13:09:36 -0600 Subject: [PATCH 049/254] Add s3gof3r to list of devops tools. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4d2785c9..393f7ba2 100644 --- a/README.md +++ b/README.md @@ -965,6 +965,7 @@ Software written in Go. * [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. * [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! * [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. From 83ce6de0bf1d2f81bfbd3d127c15d567add696fe Mon Sep 17 00:00:00 2001 From: Kazi Sadlil Rhythom Date: Wed, 28 Oct 2015 13:26:42 +0600 Subject: [PATCH 050/254] added go trigger in utilities. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f9b44af..80bfa9c3 100644 --- a/README.md +++ b/README.md @@ -787,6 +787,7 @@ 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. * [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 +* [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. * [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. * [hystrix-go](https://github.com/afex/hystrix-go) - Imprements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. From e759f2c5f921549b86c4c4b0881c3d8ec5e4f1dd Mon Sep 17 00:00:00 2001 From: Kazi Sadlil Rhythom Date: Wed, 28 Oct 2015 13:30:18 +0600 Subject: [PATCH 051/254] position updated. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 80bfa9c3..96d255e6 100644 --- a/README.md +++ b/README.md @@ -774,6 +774,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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-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. * [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. * [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons @@ -787,7 +788,6 @@ 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. * [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 -* [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. * [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. * [hystrix-go](https://github.com/afex/hystrix-go) - Imprements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. From 42f1d57a9159a94edbf35d8ae407987d6337a661 Mon Sep 17 00:00:00 2001 From: Nathan Osman Date: Wed, 28 Oct 2015 22:57:09 -0700 Subject: [PATCH 052/254] Added Hectane to the Email section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9586889..ef5d60b3 100644 --- a/README.md +++ b/README.md @@ -304,6 +304,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. * [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. +* [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 * [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 From d5b793368dc85b08ede74488372c2fbce8fde3d1 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 30 Oct 2015 19:12:33 +0100 Subject: [PATCH 053/254] Add hsync --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9586889..b1bfdcdd 100644 --- a/README.md +++ b/README.md @@ -986,6 +986,7 @@ Software 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. * [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 * [Juju](https://juju.ubuntu.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. From 4890e10ef753c27daf91d2e3843f991d7bd15791 Mon Sep 17 00:00:00 2001 From: chrislusf Date: Sat, 31 Oct 2015 10:19:56 -0700 Subject: [PATCH 054/254] Revert "Update README.md" This reverts commit 0edb29955d929cb418409b7adb5da47b8fc415da. --- README.md | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 8a4f042c..d3ab6d49 100644 --- a/README.md +++ b/README.md @@ -284,18 +284,14 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Packages that help with building Distributed Systems.* -* Distributed Systems - * [glow](https://github.com/chrislusf/glow) - An easy-to-use distributed computation system written in Go, an alternative to Hadoop Map Reduce, Spark, Flint, etc. - -* Libraries - * [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. - * [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. - * [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. - * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. - * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. +* [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. +* [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. +* [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. +* [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. + * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. ## Email From e3f0d2490001225f643346d597a360c7b41ed4b2 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 31 Oct 2015 11:28:00 -0700 Subject: [PATCH 055/254] add "glow" for distributed computing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d3ab6d49..cdfdd482 100644 --- a/README.md +++ b/README.md @@ -286,6 +286,7 @@ 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 * [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. * [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. From 2e5cd523a63abe9b2901089d3f22a95dd19cc608 Mon Sep 17 00:00:00 2001 From: sunwxg Date: Sun, 1 Nov 2015 20:58:59 +0800 Subject: [PATCH 056/254] Add goshark --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9586889..44f321c0 100644 --- a/README.md +++ b/README.md @@ -536,6 +536,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. +* [goshark](https://github.com/sunwxg/goshark) - Package goshark use tshark to decode IP packet and create data struct to analyse packet. ## OpenGL From b20ca49c890536dbe89bded96a6e424b7b7e4a9d Mon Sep 17 00:00:00 2001 From: sunwxg Date: Sun, 1 Nov 2015 21:33:17 +0800 Subject: [PATCH 057/254] Add goshark sorted alphabetically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 44f321c0..00454f26 100644 --- a/README.md +++ b/README.md @@ -526,6 +526,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389). * [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 +* [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 * [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. @@ -536,7 +537,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. -* [goshark](https://github.com/sunwxg/goshark) - Package goshark use tshark to decode IP packet and create data struct to analyse packet. ## OpenGL From 687aae808a0a2c247bdcf12b7162e25fecb0d932 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Mon, 2 Nov 2015 01:33:16 -0800 Subject: [PATCH 058/254] Add gologin package to auth & oauth section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9f9b44af..8d6840ce 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,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-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. +* [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. * [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. From dc0f5f68524c127aca4105b30caf1549e7704b10 Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Mon, 2 Nov 2015 10:42:54 -0500 Subject: [PATCH 059/254] Add webhooks library * Add Github Webhook library, more service to come i.e. BitBucket.. https://github.com/go-playground/webhooks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f1460dce..cddae0f2 100644 --- a/README.md +++ b/README.md @@ -834,6 +834,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [git2go](https://github.com/libgit2/git2go) - Go bindings for libgit2. * [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. * [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. +* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub.. more services to come ## Video From a136aeb29fffcb0fd854ba4b8eef86e740e69567 Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Mon, 2 Nov 2015 12:44:09 -0500 Subject: [PATCH 060/254] moving from version control section to 3rd party API --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cddae0f2..8b31eae0 100644 --- a/README.md +++ b/README.md @@ -766,6 +766,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [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 @@ -834,7 +835,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [git2go](https://github.com/libgit2/git2go) - Go bindings for libgit2. * [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. * [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. -* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub.. more services to come ## Video From 7195e9b03012081d8a75008c13c68b3d9a345d04 Mon Sep 17 00:00:00 2001 From: Drew Wells Date: Sun, 9 Aug 2015 08:50:26 -0500 Subject: [PATCH 061/254] add wellington and low level libsass wrapper Adds the go-libsass lib for writing your own Sass tooling. The default implementation, wellington, implements a tool for working on Sass projects. Wellington adds the same spriting functions as available in Compass. Signed-off-by: Drew Wells --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f1460dce..0895d913 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,7 @@ 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 * [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 @@ -1008,6 +1009,7 @@ Software written in Go. * [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. * [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) From a129095a0f8c4eca255f6e1dc43be38de0b707b0 Mon Sep 17 00:00:00 2001 From: Arinde Eniola Date: Wed, 4 Nov 2015 11:36:06 +0100 Subject: [PATCH 062/254] add Go compilers to awesome go's sections --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index a03a2b7c..90a5dbe6 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Forms](#forms) - [Game Development](#game-development) - [Generation & Generics](#generation--generics) + - [Go Compilers](#go-compilers) - [GUI](#gui) - [Hardware](#hardware) - [Images](#images) @@ -374,6 +375,15 @@ 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. +## 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. + + ## GUI *Libraries for building GUI Applications* From 1d578394cf16193cbfd8f0847057a6b91f416040 Mon Sep 17 00:00:00 2001 From: Alvaro Viebrantz Date: Thu, 5 Nov 2015 11:36:11 -0300 Subject: [PATCH 063/254] Add dat library for postgres database access --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a03a2b7c..ca8a4f6c 100644 --- a/README.md +++ b/README.md @@ -230,6 +230,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *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. * [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. From 75b3cae1ea461aac6caf4f52bc7db135dfae4178 Mon Sep 17 00:00:00 2001 From: Bam Azizi Date: Fri, 6 Nov 2015 14:19:56 -0500 Subject: [PATCH 064/254] add JobRunner cron scheduler --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3cc1e73f..50fff321 100644 --- a/README.md +++ b/README.md @@ -809,6 +809,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [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. * [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 From 11437fc405c4f83f9953adad6df9d4a103ed816d Mon Sep 17 00:00:00 2001 From: Wesley Hill Date: Tue, 10 Nov 2015 03:06:02 +0000 Subject: [PATCH 065/254] Replace outdated Snapchat library with an updated one. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3cc1e73f..2dc786ae 100644 --- a/README.md +++ b/README.md @@ -770,7 +770,7 @@ 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. * [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. -* [snapchat](https://github.com/jamieomatthews/gosnap) - Go wrapper for the snapchat API +* [snapchat](https://github.com/neuegram/ghost) - Go Library for the Snapchat 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. * [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API From 65176d44fe5c9a695157303eb37fe6be6069f99b Mon Sep 17 00:00:00 2001 From: Wesley Hill Date: Tue, 10 Nov 2015 10:38:05 +0000 Subject: [PATCH 066/254] Renamed 'snapchat' to 'ghost' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2dc786ae..45287ce4 100644 --- a/README.md +++ b/README.md @@ -754,6 +754,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API * [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. +* [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. * [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. @@ -770,7 +771,6 @@ 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. * [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. -* [snapchat](https://github.com/neuegram/ghost) - Go Library for the Snapchat 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. * [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API From d016aca89b54d2b44dcee3b717e9e5f4afaaf101 Mon Sep 17 00:00:00 2001 From: J Cuga Date: Fri, 13 Nov 2015 11:13:17 -0500 Subject: [PATCH 067/254] Added golongpoll for web pub-sub vialongpolling --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f74fe139..d91671cd 100644 --- a/README.md +++ b/README.md @@ -876,6 +876,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 * [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. +* [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 * [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. From b040ea05fe7d353c90e12c57be91d10a41bdf24a Mon Sep 17 00:00:00 2001 From: ReadmeCritic Date: Fri, 13 Nov 2015 12:31:47 -0800 Subject: [PATCH 068/254] Update redirects in Readme --- README.md | 58 +++++++++++++++++++++++++++---------------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index f74fe139..2b357f60 100644 --- a/README.md +++ b/README.md @@ -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! -[Join us on Slack](https://gophers.slack.com/messages/awesome/) to chat with other awesome-go maintainers! ([Request an invite](https://bit.ly/go-slack-signup), then join the #awesome channel.) +[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!* @@ -89,7 +89,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. * [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. * [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). @@ -121,7 +121,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *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. * [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. * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser @@ -142,7 +142,7 @@ 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. * [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. -* [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). @@ -181,10 +181,10 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Generic datastructures and algorithms in Go.* * [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 * [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 * [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. @@ -235,7 +235,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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. * [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 @@ -264,7 +264,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. * [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 - * [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-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang. * [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang @@ -439,7 +439,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. * [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 -* [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. * [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. @@ -448,7 +448,7 @@ 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. * [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. -* [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. ## Machine Learning @@ -481,10 +481,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. * [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-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. * [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 * [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. * [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka. @@ -520,7 +520,7 @@ 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. * [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. -* [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/) * [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. @@ -753,7 +753,7 @@ 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 * [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API * [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. * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS @@ -929,7 +929,7 @@ Go software and plugins. ## 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. * [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. @@ -977,7 +977,7 @@ Software written in Go. * [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. * [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. * [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. @@ -990,7 +990,7 @@ Software written in Go. * [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! * [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 @@ -1006,7 +1006,7 @@ Software written in Go. * [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 -* [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. * [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. @@ -1017,10 +1017,10 @@ Software written in Go. * [restic](https://github.com/restic/restic) - De-duplicating backup program. * [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) -* [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. * [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) * [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass) @@ -1050,9 +1050,9 @@ Where to discover new Go libraries. ## Conferences -* [dotGo](http://www.dotgo.io) - Paris, France +* [dotGo](http://www.dotgo.eu) - Paris, France * [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 * [GopherCon](http://www.gophercon.com/) - Denver, USA * [GopherCon India](http://www.gophercon.in/) - Bengaluru, India @@ -1062,12 +1062,12 @@ Where to discover new Go libraries. * [A Go Developer's Notebook](https://leanpub.com/GoNotebook/read) * [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/) -* [Building Web Apps With Go](http://codegangsta.gitbooks.io/building-web-apps-with-go/) +* [Build Web Application with Golang](https://www.gitbook.com/book/astaxie/build-web-application-with-golang/details) +* [Building Web Apps With Go](https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details) * [Go Bootcamp](http://golangbootcamp.com) * [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books -* [Learning Go](http://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) -* [Network Programming With Go](http://jan.newmarch.name/go/) +* [Learning Go](https://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) +* [Network Programming With Go](https://jan.newmarch.name/go/) ## Twitter @@ -1084,11 +1084,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. * [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 -* [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-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list * [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. @@ -1102,4 +1102,4 @@ Where to discover new Go libraries. ## 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 From fb8f879475aab0cbd602cc4c09359779dfd045b7 Mon Sep 17 00:00:00 2001 From: sunwxg Date: Mon, 16 Nov 2015 15:56:23 +0800 Subject: [PATCH 069/254] add golibwireshark package --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 00454f26..89f23aab 100644 --- a/README.md +++ b/README.md @@ -524,6 +524,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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). +* [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 * [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. From fd68be7e9d9fbe41e0292a8d1ea666b08b3ea677 Mon Sep 17 00:00:00 2001 From: Olivier Poitrey Date: Wed, 11 Nov 2015 22:39:21 -0800 Subject: [PATCH 070/254] Add xlog in logging section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6fcebe5b..deea2d12 100644 --- a/README.md +++ b/README.md @@ -449,6 +449,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [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 From fdfa2870add626d71226e6b1d040b2d714606960 Mon Sep 17 00:00:00 2001 From: Greg Osuri Date: Mon, 16 Nov 2015 11:33:20 -0800 Subject: [PATCH 071/254] Added uitable to Advanced Console UIs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index deea2d12..e32ff33c 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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/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). +* [uitable](https://github.com/gosuri/uitable) - A library to improve readability in terminal apps using tabular data. ## Configuration From 1728681eda1734e332bcbcd9c3ff411227bea6a4 Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Tue, 17 Nov 2015 17:45:41 -0500 Subject: [PATCH 072/254] Add Category Goroutines + add some packages Added the following: * [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. * [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks. * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [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... --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index deea2d12..e21a2475 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Game Development](#game-development) - [Generation & Generics](#generation--generics) - [Go Compilers](#go-compilers) + - [Goroutines](#goroutines) - [GUI](#gui) - [Hardware](#hardware) - [Images](#images) @@ -385,6 +386,15 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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 *Libraries for building GUI Applications* @@ -504,6 +514,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 * [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. +* [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 * [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages. @@ -603,6 +614,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-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. +* [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. @@ -790,6 +802,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [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-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. From 23b92bb499924bdc8e056e7ca02b5fd6fb39707c Mon Sep 17 00:00:00 2001 From: Ilya Kowalewski Date: Wed, 18 Nov 2015 18:23:41 +0200 Subject: [PATCH 073/254] Added some public libraries of mine https://github.com/tucnak/climax https://github.com/tucnak/store --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index deea2d12..fa16c41c 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for building standard or basic Command Line applications* * [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 * [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 @@ -159,6 +160,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 * [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 +* [store](https://github.com/tucnak/store) - A lightweight configuration manager for Go * [viper](https://github.com/spf13/viper) - Go configuration with fangs ## Continuous Integration From cf3c86b22837153383e8ac7a362314d22a84c491 Mon Sep 17 00:00:00 2001 From: Jianwei Han Date: Thu, 19 Nov 2015 12:03:27 +0800 Subject: [PATCH 074/254] Add goreturns to code analysis section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index deea2d12..fbf8bf82 100644 --- a/README.md +++ b/README.md @@ -942,6 +942,7 @@ Go software and plugins. * [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 online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. +* [goreturns](https://github.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. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From 2662efbe5c162ae8d9db189a8da2c3b3944d169c Mon Sep 17 00:00:00 2001 From: Jianwei Han Date: Thu, 19 Nov 2015 14:42:19 +0800 Subject: [PATCH 075/254] Fix goreturns URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fbf8bf82..63575ecb 100644 --- a/README.md +++ b/README.md @@ -942,7 +942,7 @@ Go software and plugins. * [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 online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. -* [goreturns](https://github.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. +* [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. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From b518045bec160d02d708ef84ec9065bcaff2ac0c Mon Sep 17 00:00:00 2001 From: Hugo Landau Date: Thu, 19 Nov 2015 16:26:29 +0000 Subject: [PATCH 076/254] Add hlandau/passlib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63575ecb..26109dc4 100644 --- a/README.md +++ b/README.md @@ -639,6 +639,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 * [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 From 87f112c7ef2d527077b54c5085c7227b784442d7 Mon Sep 17 00:00:00 2001 From: AJ Bahnken Date: Thu, 19 Nov 2015 09:46:12 -0800 Subject: [PATCH 077/254] Added Kala to Other Software --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63575ecb..c20377bc 100644 --- a/README.md +++ b/README.md @@ -987,6 +987,7 @@ Software written in Go. * [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. * [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. * [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. From 9a3a0a23ba259f2f1c63f52e15f0c94f526170c1 Mon Sep 17 00:00:00 2001 From: Tatsuo Ikeda Date: Fri, 20 Nov 2015 02:57:33 +0900 Subject: [PATCH 078/254] Added go-sitemap-generator --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63575ecb..d034c7b5 100644 --- a/README.md +++ b/README.md @@ -828,6 +828,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. +* [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package From 23823a977d08ae4af1b3493bddd3fa5fa1bff68f Mon Sep 17 00:00:00 2001 From: Arthur White Date: Fri, 20 Nov 2015 15:48:07 +0100 Subject: [PATCH 079/254] Add Volatile --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63575ecb..65208e73 100644 --- a/README.md +++ b/README.md @@ -899,6 +899,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. * [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. +* [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. * [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. From 44d559f25e9bdcf0fcd599bc0633f721cf23190d Mon Sep 17 00:00:00 2001 From: Levi Gross Date: Sat, 21 Nov 2015 22:35:53 -0500 Subject: [PATCH 080/254] Adding grequests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding grequests – An elegant and simple `net/http` wrapper that follows Python's requests library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e238c9e9..5f8be2a7 100644 --- a/README.md +++ b/README.md @@ -825,6 +825,7 @@ 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. * [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 +* [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 * [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. From 0a23ca7b14d79a602918f9e3355150cf60719e71 Mon Sep 17 00:00:00 2001 From: Tatsuo Ikeda Date: Mon, 23 Nov 2015 02:36:10 +0900 Subject: [PATCH 081/254] Fix additional package sorted alphabetically. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d034c7b5..95428411 100644 --- a/README.md +++ b/README.md @@ -794,6 +794,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go +* [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in 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. * [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. @@ -828,7 +829,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. -* [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package From a51a3d4f9f91d1f42f3e5dad4832cbc1937daa1c Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Sun, 22 Nov 2015 20:55:21 -0800 Subject: [PATCH 082/254] Add trayhost package to GUI section. Package trayhost is a cross-platform Go library to place an icon in the host operating system's taskbar. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f8be2a7..c090f939 100644 --- a/README.md +++ b/README.md @@ -408,6 +408,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [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. +* [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. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go. From 157c52966957b90aeab1da59beb83a5048b7a73f Mon Sep 17 00:00:00 2001 From: Peter Kieltyka Date: Mon, 23 Nov 2015 09:42:09 -0500 Subject: [PATCH 083/254] Add chi project to Web Frameworks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f8be2a7..958a73a9 100644 --- a/README.md +++ b/README.md @@ -886,6 +886,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. * [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. * [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) From 2ac4fef32b52319d674866950f82d59dfeab1547 Mon Sep 17 00:00:00 2001 From: Louis Maddox Date: Mon, 23 Nov 2015 17:01:16 +0000 Subject: [PATCH 084/254] Add valyala/fasthttp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f8be2a7..5aedfce7 100644 --- a/README.md +++ b/README.md @@ -551,6 +551,7 @@ 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. * [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. +* [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). * [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). From 1706b36fa3c5fd95e97d5e929302276605ab8ea8 Mon Sep 17 00:00:00 2001 From: Eric Bower Date: Tue, 24 Nov 2015 14:35:11 -0500 Subject: [PATCH 085/254] sentences package --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f8be2a7..081c5d92 100644 --- a/README.md +++ b/README.md @@ -536,6 +536,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer. +* [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences. * [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/) * [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. From 8c1335c0d31176d404b90e61da47d1a0ef3a6689 Mon Sep 17 00:00:00 2001 From: Greg Osuri Date: Tue, 24 Nov 2015 16:35:06 -0800 Subject: [PATCH 086/254] Added uiprogress to Advanced Console UIs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f8be2a7..b71a7455 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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/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). +* [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. From d4f8e9046540f333b8335a42798504aa15f4d1f4 Mon Sep 17 00:00:00 2001 From: Alex Banks Date: Tue, 24 Nov 2015 20:27:44 -0800 Subject: [PATCH 087/254] Added The Go Programming Language by Donovan and Kernighan. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5f8be2a7..f6430df6 100644 --- a/README.md +++ b/README.md @@ -1092,7 +1092,7 @@ Where to discover new Go libraries. * [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books * [Learning Go](https://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) * [Network Programming With Go](https://jan.newmarch.name/go/) - +* [The Go Programming Language](http://www.gopl.io/) ## Twitter From 511767f5c3ff96809fa7a8819168039921da87ff Mon Sep 17 00:00:00 2001 From: Eric Bower Date: Fri, 27 Nov 2015 03:33:08 -0500 Subject: [PATCH 088/254] apparently alaphetical order is beyond my capabilities --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 081c5d92..5a8b41d9 100644 --- a/README.md +++ b/README.md @@ -536,8 +536,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer. -* [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences. * [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/). * [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 From c6ea2379a0bd26c446d6da494e966b2adeb2e49e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Chris=20K=C3=BChl?= Date: Fri, 27 Nov 2015 17:31:04 +0100 Subject: [PATCH 089/254] Add rkt - An App Container runtime --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6430df6..d5a226d1 100644 --- a/README.md +++ b/README.md @@ -1039,6 +1039,7 @@ Software written in Go. * [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. * [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. * [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control) * [syncthing](https://syncthing.net/) - An open, decentralized file synchronization tool and protocol. From 09a16a2a82c8bf29d41ef9d12d5a56a89e1528d2 Mon Sep 17 00:00:00 2001 From: Gleb Sinyavsky Date: Sun, 29 Nov 2015 13:31:14 +0300 Subject: [PATCH 090/254] Update README.md telegram-bot-api add --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 554134c4..35252984 100644 --- a/README.md +++ b/README.md @@ -794,6 +794,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [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) * [translate](https://github.com/poorny/translate) - Go online translation package * [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. From 82ca4f561e1702de255149dbe233f36752b29a55 Mon Sep 17 00:00:00 2001 From: 1175498437 <1175498437@users.noreply.github.com> Date: Mon, 30 Nov 2015 09:41:39 +0800 Subject: [PATCH 091/254] add redeo project --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ddaf4e6e..0d5272fe 100644 --- a/README.md +++ b/README.md @@ -276,6 +276,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [redigo](https://github.com/garyburd/redigo) - Redigo is a Go client for the Redis database. * [redis](https://github.com/go-redis/redis) - Redis client for Golang * [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go. + * [redis](https://github.com/bsm/redeo) - Redis-protocol compatible TCP servers/services. * Search and Analytic Databases * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. From f557e617c904d77d4dad07e3d5b9129069cace36 Mon Sep 17 00:00:00 2001 From: Eduardo Nunes Pereira Date: Mon, 30 Nov 2015 18:08:17 -0200 Subject: [PATCH 092/254] Added Stack Up https://github.com/pressly/sup * Fix SSLB Alphabetical --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d388bd3c..4f217768 100644 --- a/README.md +++ b/README.md @@ -570,9 +570,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. * [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. +* [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. -* [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. ## OpenGL @@ -1049,6 +1049,7 @@ Software written in Go. * [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. * [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control) +* [Stack Up](https://github.com/pressly/sup) - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. * [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. * [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. From 5ae89fc052a42f9dacdbd101a6be1f38c3d0910b Mon Sep 17 00:00:00 2001 From: Harrison Shoebridge Date: Tue, 1 Dec 2015 17:53:41 +1100 Subject: [PATCH 093/254] Add configure --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4f217768..819f5bd7 100644 --- a/README.md +++ b/README.md @@ -155,6 +155,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for configuration parsing* * [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with environment variables and flags parsing. +* [configure](https://github.com/paked/configure) - Provides configuration through multiple sources, including JSON, flags and environment variables. * [env](https://github.com/caarlos0/env) - Parse environment variables to Go structs (with defaults). * [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs. * [envconf](https://github.com/ian-kent/envconf) - Configuration from environment From d6221d4a018aac0ca13c8565a4e99574ca2f229b Mon Sep 17 00:00:00 2001 From: Harrison Shoebridge Date: Tue, 1 Dec 2015 17:56:00 +1100 Subject: [PATCH 094/254] Add engi --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4f217768..7d10c726 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Awesome game development libraries.* +* [engi](https://github.com/paked/engi) - A cross-platform game engine following the Entity Component System design pattern * [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. * [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. * [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A* path finding algorithm From e4b453b4fcccaafe3347f18f76c71c4632431161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Tue, 1 Dec 2015 15:44:37 +0100 Subject: [PATCH 095/254] Add github.com/feyeleanor/GoSpeed to benchmarks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84f1f0cb..aa1c8d02 100644 --- a/README.md +++ b/README.md @@ -1079,6 +1079,7 @@ Where to discover new Go libraries. * [gocostmodel](https://github.com/PuerkitoBio/gocostmodel) - Benchmarks of common basic operations for the Go language. * [golang-micro-benchmarks](https://github.com/amscanne/golang-micro-benchmarks) - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. * [golang-sql-benchmark](https://github.com/tyler-smith/golang-sql-benchmark) - A collection of benchmarks for popular Go database/SQL utilities. +* [gospeed](https://github.com/feyeleanor/GoSpeed) - Go micro-benchmarks for calculating the speed of language constructs. * [kvbench](https://github.com/jimrobinson/kvbench) - Key/Value database benchmark. * [speedtest-resize](https://github.com/fawick/speedtest-resize) - Compare various Image resize algorithms for the Go language. From 1e0254ed96cc11cdb515f8228a9afbf66c5203a0 Mon Sep 17 00:00:00 2001 From: Adriano Orioli Date: Tue, 1 Dec 2015 17:14:17 +0100 Subject: [PATCH 096/254] add gcm to Third-party APIs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ddaf4e6e..d4f7f57d 100644 --- a/README.md +++ b/README.md @@ -775,6 +775,7 @@ 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 * [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API * [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. +* [gcm](https://github.com/Aorioli/gcm) - Go library for Google Cloud Messaging * [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. From 311ef754ff30190b42d6334467bf1f2a3d7cf714 Mon Sep 17 00:00:00 2001 From: Matt Holt Date: Wed, 2 Dec 2015 22:57:06 -0700 Subject: [PATCH 097/254] Add lego ACME client library and CLI tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84f1f0cb..59130219 100644 --- a/README.md +++ b/README.md @@ -661,6 +661,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 * [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)" +* [lego](https://github.com/xenolf/lego) - Pure Go ACME client library and CLI tool (for use with Let's Encrypt) * [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library. ## Serialization From bd25c126f546feaf7d52cb8a3fad6b35e3d18161 Mon Sep 17 00:00:00 2001 From: Christopher McKenzie Date: Wed, 2 Dec 2015 22:55:28 -0800 Subject: [PATCH 098/254] Add Dropship --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59130219..a051de58 100644 --- a/README.md +++ b/README.md @@ -1005,6 +1005,7 @@ Software written in Go. * [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile * [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). +* [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. * [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. * [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update. From 88bc5174d6657402f761ee797a7ceac555b65b3f Mon Sep 17 00:00:00 2001 From: Patrick D Date: Thu, 3 Dec 2015 12:37:49 +0100 Subject: [PATCH 099/254] add devd - a local webserver for developers --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59130219..340be57e 100644 --- a/README.md +++ b/README.md @@ -682,6 +682,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. * [Caddy](https://github.com/mholt/caddy) - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. +* [devd](https://github.com/cortesi/devd) - A local webserver for developers * [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 * [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. From d8ae9bc793b28e250a3772a7b72756f579012876 Mon Sep 17 00:00:00 2001 From: Sajjad Hasehmian Date: Fri, 4 Dec 2015 13:12:00 +0330 Subject: [PATCH 100/254] add systray to gui section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 59130219..8411e672 100644 --- a/README.md +++ b/README.md @@ -411,6 +411,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [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. +* [systray](https://github.com/getlantern/systray) - Cross platfrom Go library to place an icon and menu in the notification area * [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. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go. From 29f2663dea6ee6baa9da83f96ef76d9c8d02617c Mon Sep 17 00:00:00 2001 From: Tony Pierce Date: Fri, 4 Dec 2015 17:47:32 -0800 Subject: [PATCH 101/254] Removed gxui from GUI section. Library is not being maintained (according to github page) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 59130219..ec0a1531 100644 --- a/README.md +++ b/README.md @@ -409,7 +409,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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/gotk3/gotk3) - Go bindings for GTK3. -* [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. * [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. From 9e51c2d66c8b469acd749b39522d8346c928c216 Mon Sep 17 00:00:00 2001 From: Greg Osuri Date: Sun, 6 Dec 2015 12:12:12 -0800 Subject: [PATCH 102/254] Added uilive to Advanced Console UIs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1379fcd9..7dd6efc4 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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/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). +* [uilive](https://github.com/gosuri/uilive) - A library for updating terminal output in realtime. * [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. From 4915b2972149b2024cc4a35d454b0ca6b7e95f9f Mon Sep 17 00:00:00 2001 From: George Lestaris Date: Mon, 7 Dec 2015 19:09:33 +0000 Subject: [PATCH 103/254] Add gomega - an rspec-like assertion library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1379fcd9..9e187ab2 100644 --- a/README.md +++ b/README.md @@ -719,6 +719,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gocheck](http://labix.org/gocheck) - A more advanced testing framework alternative to gotest. * [GoConvey](https://github.com/smartystreets/goconvey/) - BDD-style framework with web UI and live reload * [godog](https://github.com/DATA-DOG/godog) - Cucumber or Behat like BDD framework for Go. + * [gomega](http://onsi.github.io/gomega/) - Rspec like matcher/assertion library. * [GoSpec](https://github.com/orfjackal/gospec) - BDD-style testing framework for the Go programming language. * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. From 19b2c2228d4a5704cd7ab6b17ef907348cd1df77 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Wed, 9 Dec 2015 02:06:56 -0800 Subject: [PATCH 104/254] Remove Martini. According to https://github.com/go-martini/martini/commit/15a47622d6a9b3e6a1eaca2681e4850f612471ea: > The martini framework is no longer maintained. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9e187ab2..01a503f7 100644 --- a/README.md +++ b/README.md @@ -917,7 +917,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go.Inspiration from httprouter * [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. -* [Martini](https://github.com/go-martini/martini) - Martini is a powerful package for quickly writing modular web applications/services in Golang. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. From aa74b9c0c071d899a7d58643a939301f8c6090d2 Mon Sep 17 00:00:00 2001 From: Patrick D Date: Wed, 9 Dec 2015 19:57:46 +0100 Subject: [PATCH 105/254] add snap - a powerful telemetry framework added it to 'other software' , but i don't know if this is the correct place/section for snap - other suggesstions are welcome --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e9af99ee..4dc0aea8 100644 --- a/README.md +++ b/README.md @@ -1060,6 +1060,7 @@ Software written in Go. * [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. * [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control) +* [snap](github.com/intelsdi-x/snap) - A powerful telemetry framework * [Stack Up](https://github.com/pressly/sup) - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. * [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. From 41eba9cacabe712c8acbaadd0aabe79a410de622 Mon Sep 17 00:00:00 2001 From: Patrick D Date: Wed, 9 Dec 2015 21:35:24 +0100 Subject: [PATCH 106/254] fixed broken link to snap --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4dc0aea8..42c655bb 100644 --- a/README.md +++ b/README.md @@ -1060,7 +1060,7 @@ Software written in Go. * [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. * [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control) -* [snap](github.com/intelsdi-x/snap) - A powerful telemetry framework +* [snap](https://github.com/intelsdi-x/snap) - A powerful telemetry framework * [Stack Up](https://github.com/pressly/sup) - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. * [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. From 4d7bb537cfd8058eb751512d9525eaf89f837435 Mon Sep 17 00:00:00 2001 From: Yann Coleu Date: Thu, 10 Dec 2015 11:19:54 +0100 Subject: [PATCH 107/254] Add consul tool, official website --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27bb5629..8bddec75 100644 --- a/README.md +++ b/README.md @@ -696,6 +696,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. * [Caddy](https://github.com/mholt/caddy) - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. +* [consul](https://www.consul.io/) - Consul is a tool for service discovery, monitoring and configuration. * [devd](https://github.com/cortesi/devd) - A local webserver for developers * [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 From e774a5bc6e205d9dfb3f2275ad68a7ceba569974 Mon Sep 17 00:00:00 2001 From: Patrick D Date: Fri, 11 Dec 2015 20:23:33 +0100 Subject: [PATCH 108/254] add drone (https://drone.io) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8bddec75..14c6f68d 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Tools for help with continuous integration* +* [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go * [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. * [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls From f94b21827bf37dffe718a08b08dee0167b78932e Mon Sep 17 00:00:00 2001 From: Patrick D Date: Fri, 11 Dec 2015 20:28:19 +0100 Subject: [PATCH 109/254] creat new section in continuous integration continuous integration section had one subsection: tools for help with continuous integration, but drone.io doesn't fit in so i created the subsection for complete ci platforms which are implemented in Go --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 14c6f68d..79e45559 100644 --- a/README.md +++ b/README.md @@ -172,9 +172,12 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Continuous Integration -*Tools for help with continuous integration* +*Continuous integrations platforms implemented in Go* * [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go + +*Tools for help with continuous integration* + * [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. * [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls From 6329d06cb9f74acd8de60b9d10bf240045b34048 Mon Sep 17 00:00:00 2001 From: Patrick D Date: Fri, 11 Dec 2015 20:30:06 +0100 Subject: [PATCH 110/254] fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 79e45559..842fc34a 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Continuous Integration -*Continuous integrations platforms implemented in Go* +*Continuous integration platforms implemented in Go* * [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go From 93da008505922104a95ffc53e1ced08888dbccb0 Mon Sep 17 00:00:00 2001 From: Patrick D Date: Sat, 12 Dec 2015 13:44:04 +0100 Subject: [PATCH 111/254] delete second continuous integration section --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 842fc34a..14c6f68d 100644 --- a/README.md +++ b/README.md @@ -172,12 +172,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Continuous Integration -*Continuous integration platforms implemented in Go* - -* [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go - *Tools for help with continuous integration* +* [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go * [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. * [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls From 5c886c011eb68cedbbf4bbbe65116ffec27c0107 Mon Sep 17 00:00:00 2001 From: crast Date: Sat, 12 Dec 2015 17:51:02 -0700 Subject: [PATCH 112/254] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 14c6f68d..24810c29 100644 --- a/README.md +++ b/README.md @@ -269,6 +269,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language. * [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB. * [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends. + * [dynago](https://github.com/underarmour/dynago) - Dynago is a principle of least surprise client for DynamoDB * [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 * [gocb](https://github.com/couchbase/gocb) - Official Couchbase Go SDK From 5ad0cb8733bf221d9192a43df8f0c5c56f51fbcd Mon Sep 17 00:00:00 2001 From: Nicolas Kaiser Date: Sun, 13 Dec 2015 19:06:40 +0100 Subject: [PATCH 113/254] Fix typos --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 24810c29..8564cec7 100644 --- a/README.md +++ b/README.md @@ -417,7 +417,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. -* [systray](https://github.com/getlantern/systray) - Cross platfrom Go library to place an icon and menu in the notification area +* [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area * [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. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go. @@ -546,7 +546,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [libtextcat](https://github.com/goodsign/libtextcat) - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. * [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 -* [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 straightforward port of Martin Porter's C implementation of the Porter stemming algorithm. * [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/) * [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences. @@ -827,7 +827,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [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 +* [webhooks](https://github.com/go-playground/webhooks) - Webhook receiver for GitHub.. more services to come ## Utilities @@ -843,7 +843,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in 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-trigger](https://github.com/sadlil/go-trigger) - Go-lang global event triggerer, Register Events with an 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. * [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. * [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons @@ -860,7 +860,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [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) - Implements 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. * [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. @@ -952,7 +952,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. -* [Zerver](https://github.com/cosiner/zerver) - Zerver is a expressive, modular, feature completed RESTful framework. +* [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. * [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. From b4d2f4c6eea2105d1118f47da4e6aeff753192cd Mon Sep 17 00:00:00 2001 From: Breno Martinusso Date: Mon, 14 Dec 2015 16:04:23 -0200 Subject: [PATCH 114/254] Add go-chat-bot --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8564cec7..b5fa4228 100644 --- a/README.md +++ b/README.md @@ -524,6 +524,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [browscap_go](https://github.com/fromYukki/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). +* [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS @@ -812,7 +813,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. * [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. -* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API +* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. * [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. From 68896c27a96fc2c695d70d380c177e6589421c9a Mon Sep 17 00:00:00 2001 From: Trey Bastian Date: Thu, 17 Dec 2015 08:48:57 +0000 Subject: [PATCH 115/254] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8564cec7..6a1ae6d4 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. * [color](https://github.com/fatih/color) - Versatile package for colored terminal output. +* [colourize](https://github.com/TreyBastian/colourize) - Go library for ANSI colour text in terminals. * [go-colortext](https://github.com/daviddengcn/go-colortext) - Go library for color output in terminals. * [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. From ba1d6fb715b889ecc2cc608dde1275f24864ae86 Mon Sep 17 00:00:00 2001 From: Seth Goings Date: Tue, 8 Dec 2015 21:57:12 -0700 Subject: [PATCH 116/254] add glide --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8564cec7..f7a707e8 100644 --- a/README.md +++ b/README.md @@ -617,6 +617,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for package and dependency management.* * [gigo](https://github.com/LyricalSecurity/gigo) - PIP-like dependency tool for golang, with support for private repositories and hashes. +* [glide](https://github.com/Masterminds/glide) - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip. * [godep](https://github.com/tools/godep) - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. * [gom](https://github.com/mattn/gom) - Go Manager - bundle for go. * [goop](https://github.com/nitrous-io/goop) - A simple dependency manager for Go (golang), inspired by Bundler. From 3161a08a0d229078089319340dad1b749e2305bc Mon Sep 17 00:00:00 2001 From: Tamer TAS Date: Sat, 19 Dec 2015 19:18:18 +0200 Subject: [PATCH 117/254] Include boilr Adds [boilr](https://github.com/tmrts/boilr) to the list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8564cec7..72e86bff 100644 --- a/README.md +++ b/README.md @@ -833,6 +833,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *General utilities and tools to make your life easier.* +* [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. * [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. * [fastlz](https://github.com/fromYukki/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. From f863b94bc789e0ca4dcdec8fa38cb0e5907de344 Mon Sep 17 00:00:00 2001 From: Olivier Poitrey Date: Sun, 20 Dec 2015 09:51:38 -0800 Subject: [PATCH 118/254] Add xmux --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8564cec7..d7053b50 100644 --- a/README.md +++ b/README.md @@ -952,6 +952,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. +* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. * [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. From dc180486c4290be08e1616c5dd345573a4313b27 Mon Sep 17 00:00:00 2001 From: Robin Mattheussen Date: Mon, 21 Dec 2015 18:33:39 +0100 Subject: [PATCH 119/254] Added go-kit, goa and gizmo --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index bc8e2063..7301b687 100644 --- a/README.md +++ b/README.md @@ -927,11 +927,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [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. +* [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. * [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io) * [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API +* [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. * [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's * [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go * [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. +* [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis * [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. * [Goji](https://github.com/zenazn/goji) - Goji is a minimalistic web framework for Golang that's high in antioxidants. From 6ef4514dbf758b605e9d789155baedff92b1049c Mon Sep 17 00:00:00 2001 From: pyros2097 Date: Mon, 21 Dec 2015 23:51:47 +0530 Subject: [PATCH 120/254] Add go-embed in resource embedding section --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7301b687..66e11776 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Go Tools](#go-tools) - [Software Packages](#software-packages) - [DevOps Tools](#devops-tools) - - [Other Software](#other-software) + - [Other Software](#other-software)re - [Server Applications](#server-applications) @@ -641,12 +641,12 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis ## Resource Embedding * [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code. +* [go-embed](https://github.com/pyros2097/go-embed) - Generates go code to embed resource files into your library or executable * [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. * [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. - ## Science and Data Analysis *Libraries for scientific computing and data analyzing.* From e23e3656f2f7be8febfdfbb1289a38f714756f8e Mon Sep 17 00:00:00 2001 From: pyros2097 Date: Mon, 21 Dec 2015 23:59:58 +0530 Subject: [PATCH 121/254] fix typo --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 66e11776..730398ac 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Go Tools](#go-tools) - [Software Packages](#software-packages) - [DevOps Tools](#devops-tools) - - [Other Software](#other-software)re + - [Other Software](#other-software) - [Server Applications](#server-applications) @@ -647,6 +647,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. + ## Science and Data Analysis *Libraries for scientific computing and data analyzing.* From c72615786da209044753f403d0a7e367bd26362a Mon Sep 17 00:00:00 2001 From: Gleb Sinyavsky Date: Tue, 22 Dec 2015 14:24:53 +0300 Subject: [PATCH 122/254] Margelet and go_mediainfo added --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7301b687..a1cbde32 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for manipulating audio.* -* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. +* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder.\ +* [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [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. @@ -530,6 +531,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [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. +* [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. * [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 From 10fccf062eaf75a6b7e2f9ae874ae1819877c363 Mon Sep 17 00:00:00 2001 From: Gleb Sinyavsky Date: Tue, 22 Dec 2015 14:25:57 +0300 Subject: [PATCH 123/254] Typo fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1cbde32..bd6f3294 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for manipulating audio.* -* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder.\ +* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [PortAudio](https://github.com/gordonklaus/portaudio) - Go bindings for the PortAudio audio I/O library. From 5eb557e1c99f27e8f7704986edda242e9e5ca0e6 Mon Sep 17 00:00:00 2001 From: Gleb Sinyavsky Date: Tue, 22 Dec 2015 14:46:10 +0300 Subject: [PATCH 124/254] Sorting fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd6f3294..f94a3fe9 100644 --- a/README.md +++ b/README.md @@ -90,8 +90,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for manipulating audio.* * [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. -* [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. +* [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [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. * [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib. From ecb8f0ba161553682056524d3db17b94c73a5db5 Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Tue, 22 Dec 2015 08:45:34 -0500 Subject: [PATCH 125/254] added ozzo-dbx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7301b687..73b88648 100644 --- a/README.md +++ b/README.md @@ -245,6 +245,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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. * [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library. +* [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. * [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. From 0e4fa4add46aafd6e813f8eac7c2637ecb4476fd Mon Sep 17 00:00:00 2001 From: MateusDantas Date: Tue, 22 Dec 2015 15:59:48 -0200 Subject: [PATCH 126/254] Adding APM (Aguia Process Manager) to awesome-go README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7301b687..50cda54d 100644 --- a/README.md +++ b/README.md @@ -836,6 +836,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *General utilities and tools to make your life easier.* +* [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go From 94409db3b9e8f9ea6edc5ecab132f3c0f7b857ad Mon Sep 17 00:00:00 2001 From: Matt Silverlock Date: Wed, 23 Dec 2015 18:12:24 +0800 Subject: [PATCH 127/254] Added gorilla/csrf, Goji v2 & simple-scrypt --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7301b687..4977055d 100644 --- a/README.md +++ b/README.md @@ -362,6 +362,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. * [formam](https://github.com/monoculum/formam) - decode form's values into a struct. * [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. +* [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. * [nosurf](https://github.com/justinas/nosurf) - A CSRF protection middleware for Go. @@ -682,6 +683,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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)" * [lego](https://github.com/xenolf/lego) - Pure Go ACME client library and CLI tool (for use with Let's Encrypt) * [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library. +* [simple-scrypt](https://github.com/elithrar/simple-scrypt) - an scrypt package with a simple, obvious API and automatic cost calibration built-in. ## Serialization @@ -937,7 +939,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis * [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. -* [Goji](https://github.com/zenazn/goji) - Goji is a minimalistic web framework for Golang that's high in antioxidants. +* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. * [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 * [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go From e2f1a4d28f2956e26410fa6bc1eafe181b280c7c Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Wed, 23 Dec 2015 22:40:01 +0900 Subject: [PATCH 128/254] Add fzf --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7301b687..748fb331 100644 --- a/README.md +++ b/README.md @@ -842,6 +842,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. +* [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [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-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications From d749582e883358498ce6bf31df64466924474116 Mon Sep 17 00:00:00 2001 From: Serhii Herasymov Date: Thu, 24 Dec 2015 01:54:59 +0200 Subject: [PATCH 129/254] Goweek added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7301b687..5a01cac3 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for working with dates and times.* +* [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. * [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. From 3e461e887c878acb7dc0a05ca392c6c2941a9e06 Mon Sep 17 00:00:00 2001 From: Asim Date: Fri, 25 Dec 2015 11:44:16 +0000 Subject: [PATCH 130/254] Add micro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7509b1db..0b61f640 100644 --- a/README.md +++ b/README.md @@ -952,6 +952,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. +* [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and platform. * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. * [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. From 650c7fdb275f6c026a928e2528b2788d3e613987 Mon Sep 17 00:00:00 2001 From: Seif Lotfy Date: Sat, 26 Dec 2015 02:30:43 +0100 Subject: [PATCH 131/254] Add Skizze Add Skizze - A probabilistic data-structures service and storage. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7509b1db..9ecfac0f 100644 --- a/README.md +++ b/README.md @@ -291,6 +291,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Google Go. * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library. * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch. + * [skizze](https://github.com/seiflotfy/skizze) - A probabilistic data-structures service and storage. ## Date & Time From 9bc139b90766d68cecef5eda2a03dc37c883ce43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sun, 27 Dec 2015 13:18:17 +0100 Subject: [PATCH 132/254] Add interfacer to code analysis --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0a4ea798..507fca5d 100644 --- a/README.md +++ b/README.md @@ -1014,6 +1014,7 @@ Go software and plugins. * [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. +* [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From 41d833d1eddfde62466f8e2b3a9b18e07eb6ac12 Mon Sep 17 00:00:00 2001 From: Hugo Landau Date: Sun, 27 Dec 2015 16:01:54 +0000 Subject: [PATCH 133/254] Add acmetool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 507fca5d..cdb76cb8 100644 --- a/README.md +++ b/README.md @@ -682,6 +682,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that are used to help make your application more secure.* +* [acmetool](https://github.com/hlandau/acme) — ACME (Let's Encrypt) client tool with automatic renewal. * [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)" * [lego](https://github.com/xenolf/lego) - Pure Go ACME client library and CLI tool (for use with Let's Encrypt) From 6cabad3acc7459626d62f303b6e450f516fa7b8c Mon Sep 17 00:00:00 2001 From: Andrey Sinitsyn Date: Tue, 29 Dec 2015 09:59:50 +0700 Subject: [PATCH 134/254] Library for PayPal API --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cdb76cb8..8697e7e6 100644 --- a/README.md +++ b/README.md @@ -823,6 +823,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. +* [paypal] (https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API * [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. * [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. * [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify API. From 99fb5bcee032088f49bfcfef0121832e45bdf322 Mon Sep 17 00:00:00 2001 From: Maksym Shcheglov Date: Wed, 30 Dec 2015 13:08:26 +0100 Subject: [PATCH 135/254] Add docopt.go --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8697e7e6..9dd0eb45 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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 * [codegangsta/cli](https://github.com/codegangsta/cli) - A small package for building command line apps in Go. +* [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser * [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. * [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. From 42c2d6f8197acad6762e5d0ce6f614cfd27cfeca Mon Sep 17 00:00:00 2001 From: "M. Yilmaz SUSLU" Date: Wed, 30 Dec 2015 14:25:02 +0200 Subject: [PATCH 136/254] Remove unmaintained repository - hood --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 8697e7e6..998257cb 100644 --- a/README.md +++ b/README.md @@ -610,7 +610,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. * [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. * [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. -* [hood](https://github.com/eaigner/hood) - Database agnostic ORM for Go. * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. * [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. From a9fec74739501ea7ae648f2e0f5cc61717ac2724 Mon Sep 17 00:00:00 2001 From: Maksim N Date: Wed, 30 Dec 2015 16:26:05 +0100 Subject: [PATCH 137/254] Update README.md Fix broken links --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8697e7e6..49747275 100644 --- a/README.md +++ b/README.md @@ -526,7 +526,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *These libraries were placed here because none of the other categories seemed to fit* * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. -* [browscap_go](https://github.com/fromYukki/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). +* [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. @@ -848,7 +848,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go * [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/digitalcrab/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. * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. From 5c9fbb7ce971ed1205b138c0e8cc05631b8271f9 Mon Sep 17 00:00:00 2001 From: elgris Date: Sat, 26 Dec 2015 08:22:58 +0300 Subject: [PATCH 138/254] adds another SQL query builder called 'sqrl' --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7509b1db..979ac12b 100644 --- a/README.md +++ b/README.md @@ -247,6 +247,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library. * [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. * [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. +* [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. From 7b7c9b5f06448ee2ff6953f239c95aba5ebdfeba Mon Sep 17 00:00:00 2001 From: pyros2097 Date: Thu, 31 Dec 2015 11:28:14 +0530 Subject: [PATCH 139/254] Add Playlyfe to Third Party API's --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8697e7e6..96d77f9a 100644 --- a/README.md +++ b/README.md @@ -824,6 +824,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [paypal] (https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API +* [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - The Playlyfe Rest API Go SDK * [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. * [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. * [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify API. From 7a38e5938ce90dc50e1ee66b1606bf5237e8a717 Mon Sep 17 00:00:00 2001 From: Asim Date: Thu, 31 Dec 2015 14:37:55 +0000 Subject: [PATCH 140/254] Micro should be under distributed systems --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8697e7e6..d047484e 100644 --- a/README.md +++ b/README.md @@ -311,6 +311,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [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. * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. +* [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. @@ -956,7 +957,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. -* [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and platform. * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. * [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. From 2688d000eef6db57d18bf74684e9cdcab9b42cb8 Mon Sep 17 00:00:00 2001 From: olebedev Date: Mon, 4 Jan 2016 19:08:14 +0500 Subject: [PATCH 141/254] Add event emitter > Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. See: https://github.com/olebedev/emitter --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c5b2eee..49343266 100644 --- a/README.md +++ b/README.md @@ -511,6 +511,7 @@ 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. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. +* [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [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. From f5eaca300282f235cd36aa767b1ecb365b47f109 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vytautas=20=C5=A0altenis?= Date: Mon, 4 Jan 2016 21:11:28 +0200 Subject: [PATCH 142/254] Add go-i18n, a localization package and tool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c5b2eee..4b7ce0fd 100644 --- a/README.md +++ b/README.md @@ -545,6 +545,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for working with human languages.* * [go-eco](https://code.google.com/p/go-eco/) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. +* [go-i18n](https://github.com/nicksnyder/go-i18n/) - A package and an accompanying tool to work with localized text. * [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. * [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. * [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 From 9269ab750d5b787733cb8e9f2388321b6b97544e Mon Sep 17 00:00:00 2001 From: olebedev Date: Wed, 6 Jan 2016 21:33:26 +0500 Subject: [PATCH 143/254] Fix order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49343266..c8787abf 100644 --- a/README.md +++ b/README.md @@ -510,8 +510,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that implement messaging systems* * [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. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. +* [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-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. From f998f2504de5352f859fb045e4c1941986a44843 Mon Sep 17 00:00:00 2001 From: Lee Benson Date: Thu, 7 Jan 2016 11:09:47 +0000 Subject: [PATCH 144/254] adds conform - adds [conform](http://github.com/leebenson/conform) to the "Forms" section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c5b2eee..8c57a084 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [bind](https://github.com/robfig/bind) - Bind form data to any Go values * [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. +* [conform](github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. * [formam](https://github.com/monoculum/formam) - decode form's values into a struct. * [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. * [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. From 76dff3191a91a9687000d111a7c7680ae38ec1e3 Mon Sep 17 00:00:00 2001 From: Lee Benson Date: Thu, 7 Jan 2016 11:10:34 +0000 Subject: [PATCH 145/254] Update README.md - fixes HTTPS in conform link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c57a084..248d2e2c 100644 --- a/README.md +++ b/README.md @@ -364,7 +364,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [bind](https://github.com/robfig/bind) - Bind form data to any Go values * [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. -* [conform](github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. +* [conform](https://github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. * [formam](https://github.com/monoculum/formam) - decode form's values into a struct. * [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. * [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. From d2671aff193823638facd7e63007b54eb8e769ea Mon Sep 17 00:00:00 2001 From: Oleg Sklyar Date: Fri, 8 Jan 2016 23:46:40 +0100 Subject: [PATCH 146/254] Added go-longpoll and go-shortid --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7c5b2eee..a2f913e9 100644 --- a/README.md +++ b/README.md @@ -511,6 +511,7 @@ 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. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. +* [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [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. @@ -532,6 +533,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. +* [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [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. From 60d0f26e38e2f5c12518947c107a63fe0d37e3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20de=20Kok?= Date: Sat, 9 Jan 2016 13:16:36 +0100 Subject: [PATCH 147/254] Add dpar and go2vec. Add two project to the Natural Language Processing section: * dpar, a transition-based dependency parser. * go2vec, a reader for word2vec embeddings. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 7c5b2eee..c6e2b5b9 100644 --- a/README.md +++ b/README.md @@ -544,9 +544,11 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for working with human languages.* +* [dpar](https://github.com/danieldk/dpar/) - Transition-based statistical dependency parser. * [go-eco](https://code.google.com/p/go-eco/) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. * [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. * [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. +* [go2vec](https://github.com/danieldk/go2vec) - Reader and utility functions for word2vec embeddings. * [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 * [gounidecode](https://github.com/fiam/gounidecode) - Unicode transliterator (also known as unidecode) for Go * [icu](https://github.com/goodsign/icu) - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1. From 2c1ded9ff1563bd7a9149835777177721aa48199 Mon Sep 17 00:00:00 2001 From: Oleg Sklyar Date: Sun, 10 Jan 2016 16:46:14 +0100 Subject: [PATCH 148/254] Adding go-log-interface: a generic interface for leveled logging --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a2f913e9..a33e0737 100644 --- a/README.md +++ b/README.md @@ -464,6 +464,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [glog](https://github.com/golang/glog) - Leveled execution logs for Go. * [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-interface](https://github.com/ventu-io/go-log-interface) - A generic leveled log interface to adopt any logging framework and a default facade for Go stdlib log.Logger. * [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. * [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. * [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. From 0e5ae99ec30e6443a8348ac4c1c7277f1324285a Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Sun, 10 Jan 2016 13:47:40 -0200 Subject: [PATCH 149/254] added goreportcard on Quality standard --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 31c03e69..bb2429b9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ Please contribute links to packages/projects you have used or are familiar with. ## Quality standard -To be on the list, project repositories should adhere to these quality standards: +To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report//): - Code functions as documented and expected - Generally useful to the wider community of Go programmers From f2ac557406179fe9fd946d91b4b822b5c095ff63 Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Sun, 10 Jan 2016 13:48:32 -0200 Subject: [PATCH 150/254] fix typo --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bb2429b9..0ba6ffa6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ Please contribute links to packages/projects you have used or are familiar with. ## Quality standard -To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report//): +To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report/**github_user**/**github_user**): - Code functions as documented and expected - Generally useful to the wider community of Go programmers From 269eaa515244ec7061e8551f91829f6913644df1 Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Sun, 10 Jan 2016 14:46:58 -0200 Subject: [PATCH 151/254] document rules of creating category --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0ba6ffa6..d949637c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,6 +14,7 @@ To set this list apart from and compliment the excellent [Go wiki Projects page] - The link should be the name of the package or project - Descriptions should be clear, concise, and non-promotional - Descriptions should follow the link, on the same line +- Needs bibliotica 3 (minimum) to create a new category. Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. From 9d89330b5101d103967c8c576f9885ebe46c8757 Mon Sep 17 00:00:00 2001 From: Miguel Loureiro Date: Mon, 11 Jan 2016 01:30:37 +0000 Subject: [PATCH 152/254] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d949637c..110e8efe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,7 @@ Please contribute links to packages/projects you have used or are familiar with. ## Quality standard -To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report/**github_user**/**github_user**): +To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report/**github_user**/**github_repo**): - Code functions as documented and expected - Generally useful to the wider community of Go programmers From 75d8fa0fa95dbccd54d6897aca38346580d75b81 Mon Sep 17 00:00:00 2001 From: Miguel Loureiro Date: Mon, 11 Jan 2016 01:34:13 +0000 Subject: [PATCH 153/254] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3cf0dba8..62982c34 100644 --- a/README.md +++ b/README.md @@ -875,6 +875,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. * [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. * [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. +* [golog](https://github.com/mlimaloureiro/golog) - Easy and lightweight CLI tool to time track your tasks. * [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. * [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images * [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. From 8f21af3e96b8719d7d3cf1b64a6f9d6977c912a7 Mon Sep 17 00:00:00 2001 From: Gilberto Conti Date: Mon, 11 Jan 2016 15:47:24 +0100 Subject: [PATCH 154/254] add mqttPaho --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 62982c34..a0d624e7 100644 --- a/README.md +++ b/README.md @@ -591,6 +591,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang +* [mqttPaho](https://eclipse.org/paho/clients/golang/) - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets. * [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. * [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. From c7875bdabed30827edcd07a9032ecb714a83c6b0 Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Mon, 11 Jan 2016 15:17:01 -0500 Subject: [PATCH 155/254] Update web hook library description add Bitbucket support to web hooks library description. https://github.com/go-playground/webhooks --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 62982c34..4befc6d1 100644 --- a/README.md +++ b/README.md @@ -847,7 +847,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. -* [webhooks](https://github.com/go-playground/webhooks) - Webhook receiver for GitHub.. more services to come +* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub and Bitbucket ## Utilities From e17ef17fc0b3626b66c73eb21057cad9dd6e9966 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Mon, 11 Jan 2016 16:36:25 -0800 Subject: [PATCH 156/254] Add minio project S3 library, client and server. --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4befc6d1..f23ed138 100644 --- a/README.md +++ b/README.md @@ -719,6 +719,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [consul](https://www.consul.io/) - Consul is a tool for service discovery, monitoring and configuration. * [devd](https://github.com/cortesi/devd) - A local webserver for developers * [etcd](https://github.com/coreos/etcd) - A highly-available key value store for shared configuration and service discovery. +* [minio](https://github.com/minio/minio) - Minio is a cloud storage server for Micro Services. +* [minio-xl](https://github.com/minio/minio-xl) - Minio XL is a cloud storage server for Petascale Storage. * [nsq](http://nsq.io/) - A realtime distributed messaging platform * [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. @@ -831,8 +833,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API +* [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. -* [paypal] (https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API +* [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API * [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - The Playlyfe Rest API Go SDK * [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. * [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. @@ -890,6 +893,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go +* [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. * [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. * [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers * [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. From b20f63719be092d808a7d7ce5a91a5e57b7e7be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Dymi=C5=84ski?= Date: Tue, 12 Jan 2016 09:51:57 +0100 Subject: [PATCH 157/254] Add GopherCon Dubai to conferences list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4befc6d1..4a38a0a2 100644 --- a/README.md +++ b/README.md @@ -1149,6 +1149,7 @@ Where to discover new Go libraries. * [GolangUK](http://golanguk.com/) - London, UK * [GopherChina](http://gopherchina.org) - Shanghai, China * [GopherCon](http://www.gophercon.com/) - Denver, USA +* [GopherCon Dubai](http://www.gophercon.ae/) - Dubai, UAE * [GopherCon India](http://www.gophercon.in/) - Bengaluru, India * [GothamGo](http://gothamgo.com/) - New York City, USA From 97adcba288544145af3781c0af5501ac77eca32a Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Wed, 13 Jan 2016 03:54:04 -0200 Subject: [PATCH 158/254] added gitter.im/avelino/awesome-go badges --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index e8ef0033..fed8249d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) A curated list of awesome Go frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python). @@ -8,8 +8,6 @@ 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! -[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!* From 6dc69eeb90c59f1116b49c6d7f506fee35939384 Mon Sep 17 00:00:00 2001 From: Claudemiro Date: Fri, 15 Jan 2016 19:26:00 -0200 Subject: [PATCH 159/254] Added Ipe - An open source Pusher server implementation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a1083970..6f484f31 100644 --- a/README.md +++ b/README.md @@ -1102,6 +1102,7 @@ Software written in Go. * [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 +* [ipe](https://github.com/dimiro1/ipe) - An open source Pusher server implementation compatible with Pusher client libraries written in GO. * [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. * [LiteIDE](https://github.com/visualfc/liteide) LiteIDE is a simple, open source, cross-platform Go IDE. From d5d0801eeb777bd119c4ec08863e4021b266bc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20M=C3=BCller?= Date: Fri, 15 Jan 2016 23:51:30 +0100 Subject: [PATCH 160/254] added apex/log logging lib --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a1083970..36d865ce 100644 --- a/README.md +++ b/README.md @@ -468,6 +468,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-log-interface](https://github.com/ventu-io/go-log-interface) - A generic leveled log interface to adopt any logging framework and a default facade for Go stdlib log.Logger. * [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. * [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. +* [log](https://github.com/apex/log) - Structured logging package for Go. * [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 * [logex](https://github.com/chzyer/logex) - An golang log lib, supports tracking and level, wrap by standard log lib From 4c11694878a3ad636070eb31fe9e055b8625abe3 Mon Sep 17 00:00:00 2001 From: Jason Del Ponte Date: Fri, 15 Jan 2016 20:44:00 -0800 Subject: [PATCH 161/254] Update README.md's aws-sdk-go comment Updated the AWS SDK for Go's comment line to reflect that it is now officially launched and ready for production use. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1083970..db18f8c5 100644 --- a/README.md +++ b/README.md @@ -815,7 +815,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for accessing third party APIs.* * [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API -* [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. Caution: The SDK is currently in the process of being developed, and not everything may be working fully yet. +* [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. * [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. * [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai API. * [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API From 9da10bdb205a32b47db995c501b6d730f11e1389 Mon Sep 17 00:00:00 2001 From: pyros2097 Date: Sat, 16 Jan 2016 14:02:57 +0530 Subject: [PATCH 162/254] Add goqt to the gui section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db18f8c5..addd40ad 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,7 @@ 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-qml](https://github.com/go-qml/qml) - QML support for the Go language +* [goqt](https://github.com/visualfc/goqt) - Golang bindings to the Qt cross-platform application framework. * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. From dfcab6ae874fdc7cfe10308cc1c3a9a55f43c45a Mon Sep 17 00:00:00 2001 From: Elgs Qian Chen Date: Sun, 17 Jan 2016 09:02:59 -0800 Subject: [PATCH 163/254] Added jsonql in Query Language and gojq in Utilities --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e398edec..bafd43e5 100644 --- a/README.md +++ b/README.md @@ -651,7 +651,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. * [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go. * [graphql-go](https://github.com/chris-ramon/graphql-go) - An implementation of GraphQL for Go. - +* [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. ## Resource Embedding @@ -881,6 +881,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) * [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. * [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. +* [gojq](https://github.com/elgs/gojq) - JSON query in Golang. * [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. * [golog](https://github.com/mlimaloureiro/golog) - Easy and lightweight CLI tool to time track your tasks. * [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. From 9b309031bd0bbd5502571fb7207a6c0639aac46f Mon Sep 17 00:00:00 2001 From: Rafal Jeczalik Date: Mon, 18 Jan 2016 12:53:41 +0100 Subject: [PATCH 164/254] add interfaces to the generation section --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bafd43e5..fef90285 100644 --- a/README.md +++ b/README.md @@ -378,7 +378,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [engi](https://github.com/paked/engi) - A cross-platform game engine following the Entity Component System design pattern * [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. * [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. -* [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A* path finding algorithm +* [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A\* path finding algorithm * [go-collada](https://github.com/GlenKelley/go-collada) - Go package for working with the Collada file format. * [go-sdl2](https://github.com/veandco/go-sdl2) - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/). * [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go @@ -393,6 +393,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. +* [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From 84672185171a3407e1662d82da58b30289bebb07 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Mon, 18 Jan 2016 09:25:37 -0800 Subject: [PATCH 165/254] Added go-resty library reference under Utilities. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e398edec..fc127bd9 100644 --- a/README.md +++ b/README.md @@ -909,6 +909,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. +* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client * [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. From 10437ed7876c1597e5db74e2c80fdea7ec96e7b5 Mon Sep 17 00:00:00 2001 From: Jesse Donat Date: Tue, 19 Jan 2016 23:09:19 -0600 Subject: [PATCH 166/254] Adds mpo 3d image decode --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fef90285..b3f4d9ca 100644 --- a/README.md +++ b/README.md @@ -453,6 +453,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [imaginary](https://github.com/h2non/imaginary) - Fast and simple HTTP microservice for image resizing * [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package. * [img](https://github.com/hawx/img) - A selection of image manipulation tools. +* [mpo](https://github.com/donatj/mpo) - A decoder and conversion tool for MPO 3D Photos. * [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. * [rez](https://github.com/bamiaux/rez) - Image resizing in pure Go and SIMD. From 510c9f02fd5524f0281c4d59a22ee324a4e4b2ea Mon Sep 17 00:00:00 2001 From: jolestar Date: Thu, 21 Jan 2016 00:55:37 +0800 Subject: [PATCH 167/254] add go-commons-pool --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3f4d9ca..929586df 100644 --- a/README.md +++ b/README.md @@ -539,6 +539,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. +* [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). From 5766c41b34d4950f873ab96510504681bf4b148e Mon Sep 17 00:00:00 2001 From: Burcu Dogan Date: Wed, 20 Jan 2016 17:00:00 -0800 Subject: [PATCH 168/254] Add tcolgate/mp3. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3f4d9ca..ce69aa36 100644 --- a/README.md +++ b/README.md @@ -90,6 +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. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. +* [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. * [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. * [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib. From 3e9c8dd66c200504191e0875acd4ceeb48c0f977 Mon Sep 17 00:00:00 2001 From: Bruce Date: Fri, 22 Jan 2016 19:19:03 -0600 Subject: [PATCH 169/254] Update README.md Adding discordgo, Go bindings for the Discord Chat API --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ce69aa36..7b0c2f7a 100644 --- a/README.md +++ b/README.md @@ -823,6 +823,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. * [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. * [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai API. +* [discordgo](https://github.com/bwmarrin/discordgo) - Go bindings for the Discord Chat 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 * [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. From d48bb52ca1187179ba2f4269302f9bef2bcaf611 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Fri, 22 Jan 2016 17:54:38 -0800 Subject: [PATCH 170/254] alphabetical order is corrected --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fc127bd9..54959588 100644 --- a/README.md +++ b/README.md @@ -909,8 +909,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. -* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client * [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes +* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. From 61c7284643afcaf38803f06ecc48caf37363ec09 Mon Sep 17 00:00:00 2001 From: longbai Date: Sun, 24 Jan 2016 11:56:16 +0800 Subject: [PATCH 171/254] add checkstyle --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a7d9c5d7..26def0ad 100644 --- a/README.md +++ b/README.md @@ -1043,7 +1043,7 @@ Go software and plugins. * [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. * [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. - +* [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by [java checkstyle](https://github.com/checkstyle/checkstyle), [golint] (https://github.com/golang/lint). The style refered to some points in [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments). ## Editor Plugins From 5e09bfa72296dff4cf89f992abf6fdf997ee235b Mon Sep 17 00:00:00 2001 From: longbai Date: Sun, 24 Jan 2016 11:57:57 +0800 Subject: [PATCH 172/254] add checkstyle for go --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 26def0ad..ecb2cdf1 100644 --- a/README.md +++ b/README.md @@ -1035,6 +1035,7 @@ Go software and plugins. * [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time. * [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. * [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. +* [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by [java checkstyle](https://github.com/checkstyle/checkstyle), [golint] (https://github.com/golang/lint). The style refered to some points in [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments). * [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. * [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. @@ -1043,7 +1044,7 @@ Go software and plugins. * [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. * [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. -* [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by [java checkstyle](https://github.com/checkstyle/checkstyle), [golint] (https://github.com/golang/lint). The style refered to some points in [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments). + ## Editor Plugins From b5d5d675d317e5b47420aea7361f81e2c3967f14 Mon Sep 17 00:00:00 2001 From: longbai Date: Sun, 24 Jan 2016 14:30:30 +0800 Subject: [PATCH 173/254] reorder item --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ecb2cdf1..702261f0 100644 --- a/README.md +++ b/README.md @@ -1034,8 +1034,8 @@ Go software and plugins. * [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. * [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. +* [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments. * [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. -* [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by [java checkstyle](https://github.com/checkstyle/checkstyle), [golint] (https://github.com/golang/lint). The style refered to some points in [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments). * [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. * [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. From a89cd3d20a287dc1766e22907b3807aa72c749f6 Mon Sep 17 00:00:00 2001 From: Faraz Fazli Date: Mon, 25 Jan 2016 16:25:04 -0500 Subject: [PATCH 174/254] Add kubernetes Kubernetes is a Container Cluster Manager from Google. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7d9c5d7..4e236596 100644 --- a/README.md +++ b/README.md @@ -1088,6 +1088,7 @@ Software written in Go. * [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. * [kala](https://github.com/ajvb/kala) - Simplistic, modern, and performant job scheduler. +* [kubernetes](https://github.com/kubernetes/kubernetes) - Container Cluster Manager from Google. * [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 * [Packer](https://github.com/mitchellh/packer) - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. From e7a6a608c659b798cc724da68af68202fbef156d Mon Sep 17 00:00:00 2001 From: butaixianran Date: Wed, 27 Jan 2016 18:06:32 +0800 Subject: [PATCH 175/254] Update README.md add GoDocTooltip to Other Software --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b3b47de2..6a99ee2f 100644 --- a/README.md +++ b/README.md @@ -1109,6 +1109,7 @@ Software written in Go. * [fleet](https://github.com/coreos/fleet) - A Distributed init System. * [Go Package Store](https://github.com/shurcooL/Go-Package-Store#go-package-store-) - An app that displays updates for the Go packages in your GOPATH. * [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go. +* [GoDocTooltip](https://github.com/diankong/GoDocTooltip) - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. * [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. * [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer From c08129aa60c9a196e2adcb1a8386b0551e7bc7af Mon Sep 17 00:00:00 2001 From: Charney Kaye Date: Thu, 28 Jan 2016 10:23:12 -0500 Subject: [PATCH 176/254] Added go-atomix to Audio & Music section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a99ee2f..ffb2ac24 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for manipulating audio.* * [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. +* [go-atomix](https://github.com/outrightmental/go-atomix) - Sequence-based Go-native audio mixer for Music apps. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. From 03f0af00421fc4bdf63582f82565c71ed8b3deb5 Mon Sep 17 00:00:00 2001 From: UnnoTed Date: Fri, 29 Jan 2016 00:18:01 -0300 Subject: [PATCH 177/254] added fileb0x to Resource Embedding --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ffb2ac24..e4b1e0a6 100644 --- a/README.md +++ b/README.md @@ -661,6 +661,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis ## Resource Embedding +* [fileb0x](https://github.com/UnnoTed/fileb0x) - Simple tool to embed files in go with focus on "customization" and ease to use. * [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code. * [go-embed](https://github.com/pyros2097/go-embed) - Generates go code to embed resource files into your library or executable * [go-resources](https://github.com/omeid/go-resources) - Unfancy resources embedding with Go. From f275ae6c45d82fa519b36f89f879ed3ee65ff35a Mon Sep 17 00:00:00 2001 From: hit9 Date: Sun, 31 Jan 2016 12:04:40 +0800 Subject: [PATCH 178/254] Add banshee to devops --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4b1e0a6..bd9e652c 100644 --- a/README.md +++ b/README.md @@ -1075,6 +1075,7 @@ Software written in Go. * [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool * [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile +* [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. * [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. * [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). From 5a77762581061d77819aa12b45a0c4ed148c4ab6 Mon Sep 17 00:00:00 2001 From: Navid Date: Sun, 31 Jan 2016 22:41:26 +0330 Subject: [PATCH 179/254] Add go-persian-calendar to Date & Time `go-persian-calendar` was appended to `Date & Time` libraries --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4b1e0a6..e034bf30 100644 --- a/README.md +++ b/README.md @@ -304,6 +304,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. * [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. +* [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). ## Distributed Systems From 5a072ed9bedef2a832fdf720e7b7e4f1b79a26d2 Mon Sep 17 00:00:00 2001 From: Navid Date: Sun, 31 Jan 2016 22:45:33 +0330 Subject: [PATCH 180/254] Sort alphabetically --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e034bf30..076b792d 100644 --- a/README.md +++ b/README.md @@ -301,10 +301,10 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for working with dates and times.* +* [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. * [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. -* [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). ## Distributed Systems From 38b11563c3803c4b7a7d2be908baa8153ccd780b Mon Sep 17 00:00:00 2001 From: Michael Martinez Date: Sun, 31 Jan 2016 16:39:31 -0700 Subject: [PATCH 181/254] changed macaron to proper repo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e4b1e0a6..12543ce4 100644 --- a/README.md +++ b/README.md @@ -981,7 +981,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go.Inspiration from httprouter -* [Macaron](https://github.com/Unknwon/macaron) - Macaron is a high productive and modular design web framework in Go. +* [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. From 82466869c9bfe1bfdb87ee7d94b4f70837ec3b70 Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Sun, 31 Jan 2016 22:21:34 -0500 Subject: [PATCH 182/254] added ozzo-routing --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4b1e0a6..32d5fd43 100644 --- a/README.md +++ b/README.md @@ -986,6 +986,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. +* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application. * [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. * [Resoursea](https://github.com/resoursea/api) - A REST framework for quickly writing resource based services. * [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language. From 47e5afdd5688738db0f024958ac4d36cba260dfd Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Sun, 31 Jan 2016 22:27:26 -0500 Subject: [PATCH 183/254] added ozzo-log --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4b1e0a6..3f53163c 100644 --- a/README.md +++ b/README.md @@ -485,6 +485,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. +* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). * [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. * [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. From bb6b85d0964166d25ec49ae1f0ceabf66e46e5da Mon Sep 17 00:00:00 2001 From: Quentin Perez Date: Mon, 1 Feb 2016 11:11:16 +0100 Subject: [PATCH 184/254] Add Scaleway-cli to DevOps tools --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4b1e0a6..cbb31962 100644 --- a/README.md +++ b/README.md @@ -1097,6 +1097,7 @@ Software written in Go. * [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. * [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. +* [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). * [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 * [Wide](https://wide.b3log.org/login) - A Web-based IDE for Teams using Golang. From 697f4bd5c46d2a70ae2646a92f5135344e8c3777 Mon Sep 17 00:00:00 2001 From: Nick Klauer Date: Mon, 1 Feb 2016 18:41:45 -0600 Subject: [PATCH 185/254] Add Go Forum I use it, thought it might be pretty awesome to add another resource to discuss Go. https://forum.golangbridge.org/t/welcome-to-the-go-forum/8 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d9555e37..55d4af0d 100644 --- a/README.md +++ b/README.md @@ -1204,6 +1204,7 @@ Where to discover new Go libraries. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. * [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 Forum](https://forum.golangbridge.org) - Forum to discuss Go * [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki * [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 From cda82d345671c89b2d022f99d4ad55e77dd45b30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Tue, 2 Feb 2016 11:21:29 +0100 Subject: [PATCH 186/254] Add go-outdated Fix #468 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 55d4af0d..554e3209 100644 --- a/README.md +++ b/README.md @@ -1040,6 +1040,7 @@ Go software and plugins. * [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time. * [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. * [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments. +* [go-outdated](https://github.com/firstrow/go-outdated) - Console application that displays outdated packages. * [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. * [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) - Tool to fix (add, remove) your Go imports automatically. From 1a77d0289f7877257e8e8b0aa5228f093793043c Mon Sep 17 00:00:00 2001 From: mewmew Date: Tue, 2 Feb 2016 14:11:30 +0100 Subject: [PATCH 187/254] Add FLAC decoder. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7d9c5d7..cf7142b4 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for manipulating audio.* * [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. +* [flac](https://github.com/mewkiz/flac) - A native Go FLAC decoder. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. From 4f72a56cdc7717b8c0da0fed8b65d38c9dede999 Mon Sep 17 00:00:00 2001 From: mewmew Date: Tue, 2 Feb 2016 14:17:04 +0100 Subject: [PATCH 188/254] Add FLAC decoding. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 554e3209..52496c4c 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for manipulating audio.* * [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. +* [flac](https://github.com/mewkiz/flac) - A native Go FLAC decoder. * [go-atomix](https://github.com/outrightmental/go-atomix) - Sequence-based Go-native audio mixer for Music apps. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. From 0ad149821cceb0cf298325c68ad439b0d4062104 Mon Sep 17 00:00:00 2001 From: Zhuang Sirui Date: Wed, 3 Feb 2016 00:52:09 +0800 Subject: [PATCH 189/254] Add binpacker to Data Structures --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 554e3209..8ec7c66e 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Generic datastructures and algorithms in Go.* +* [binpacker](https://github.com/zhuangsirui/binpacker) - Binary packer and unpacker helps user build custom binary stream. * [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. * [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 From fe2772eb026455ef2f37d6b97f4925211eb82a5d Mon Sep 17 00:00:00 2001 From: Max Halford Date: Tue, 2 Feb 2016 22:05:24 +0100 Subject: [PATCH 190/254] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 554e3209..097216d2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) g [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) A curated list of awesome Go frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python). @@ -514,6 +514,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [probab](https://code.google.com/p/probab/) - Probability distribution functions. Bayesian inference. Written in pure Go. * [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine * [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go +* [gago](https://github.com/MaxHalford/gago) - Multi-population, flexible, parallel genetic algorithm. ## Messaging From 4868536f6d2fdf8ae8c556fc30f0fd5d0e705bab Mon Sep 17 00:00:00 2001 From: Max Halford Date: Tue, 2 Feb 2016 22:06:15 +0100 Subject: [PATCH 191/254] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 097216d2..a9e5111d 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) g [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) A curated list of awesome Go frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python). From 94c59bd24b717bab4cf606f276929aac831f8ba0 Mon Sep 17 00:00:00 2001 From: Bent Cardan Date: Wed, 3 Feb 2016 02:10:47 -0800 Subject: [PATCH 192/254] nanomsg scalability protocols in go --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 554e3209..70bcbbbd 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. +* [mangos](https://github.com/go-mangos/mangos) - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. * [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 * [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. From 831838e78c3550a3c1907ff2bc0b183497711714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dario=20Casta=C3=B1=C3=A9?= Date: Thu, 4 Feb 2016 16:31:18 +0100 Subject: [PATCH 193/254] Add Mergo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 554e3209..d3310d46 100644 --- a/README.md +++ b/README.md @@ -908,6 +908,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. +* [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. * [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. * [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers * [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. From 55230a2722ea82c2bb50667e1409905db60d5480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=88r=20Karlsson?= Date: Fri, 5 Feb 2016 11:08:12 +0100 Subject: [PATCH 194/254] Added github.com/pariz/gountries to Miscellaneous --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 092fb1a2..4ab999ef 100644 --- a/README.md +++ b/README.md @@ -487,7 +487,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. -* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). +* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). * [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. * [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. @@ -549,6 +549,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS +* [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. * [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. From d7a2ca85306a3ee21458b0de05b61b07da19618c Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Mon, 8 Feb 2016 19:59:44 +1100 Subject: [PATCH 195/254] update description of geo-golang geo-golang supports Mapbox now. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 35c7f086..e4e79c67 100644 --- a/README.md +++ b/README.md @@ -835,7 +835,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API * [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. * [gcm](https://github.com/Aorioli/gcm) - Go library for Google Cloud Messaging -* [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. +* [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), [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx), and [Mapbox](https://www.mapbox.com/developers/api/geocoding/) 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. * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS From df2551464599c7a685071eddf58e65e5f029425f Mon Sep 17 00:00:00 2001 From: Ryan Armstrong Date: Wed, 10 Feb 2016 15:14:20 +0800 Subject: [PATCH 196/254] Added grab --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e4e79c67..bafcf600 100644 --- a/README.md +++ b/README.md @@ -601,6 +601,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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 * [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly writing tcp applications +* [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang From f6ec926e84643863d307d692dcff2c695c0b0dcc Mon Sep 17 00:00:00 2001 From: Francois Date: Wed, 10 Feb 2016 10:38:56 +0200 Subject: [PATCH 197/254] Add the golang G+ community --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index e4e79c67..b9e44624 100644 --- a/README.md +++ b/README.md @@ -78,6 +78,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Benchmarks](#benchmarks) - [Conferences](#conferences) - [E-Books](#e-books) + - [Social](#social) - [Twitter](#twitter) - [Websites](#websites) - [Tutorials](#tutorials) @@ -1195,6 +1196,10 @@ Where to discover new Go libraries. * [Network Programming With Go](https://jan.newmarch.name/go/) * [The Go Programming Language](http://www.gopl.io/) +## Social + +* [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts. + ## Twitter * [@golang](https://twitter.com/golang) From e79a7f10545363f9e480bf72aa6d86b1d0c85fc3 Mon Sep 17 00:00:00 2001 From: Vishal Rana Date: Wed, 10 Feb 2016 07:52:45 -0800 Subject: [PATCH 198/254] Updated echo and gommon/bytes Signed-off-by: Vishal Rana --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1b492dcd..40bc8fcd 100644 --- a/README.md +++ b/README.md @@ -488,7 +488,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. -* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). +* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). * [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. * [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. @@ -808,7 +808,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. - * [gommon/gytes](https://github.com/labstack/gommon/tree/master/gytes) - Format bytes to string. + * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) - Format bytes to string. * [gonameparts](https://github.com/polera/gonameparts) - Parses human names into individual name parts * [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. @@ -969,7 +969,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. * [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 and unfancy micro web framework for 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. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. * [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io) From c1bf0014c8b574cab4b7e8544c242891e09bcb00 Mon Sep 17 00:00:00 2001 From: Alexandr Emelin Date: Thu, 11 Feb 2016 10:14:56 +0300 Subject: [PATCH 199/254] Add Centrifugo Real-time messaging (Websockets or SockJS) server in Go --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7a0594f7..fc4997d2 100644 --- a/README.md +++ b/README.md @@ -522,6 +522,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that implement messaging systems* +* [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go. * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. From d830c5830c1ac1e7785e366b2fa1bae9734095c4 Mon Sep 17 00:00:00 2001 From: Marin Atanasov Nikolov Date: Thu, 11 Feb 2016 14:18:45 +0200 Subject: [PATCH 200/254] Add go-vcr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0f007adf..fa6dcb9b 100644 --- a/README.md +++ b/README.md @@ -771,6 +771,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go * [go-mutesting](https://github.com/zimmski/go-mutesting) - Mutation testing for Go source code + * [go-vcr](https://github.com/dnaeon/go-vcr) - Record and replay your HTTP interactions for fast, deterministic and accurate tests * [goblin](https://github.com/franela/goblin) - Mocha like testing framework fo Go * [gocheck](http://labix.org/gocheck) - A more advanced testing framework alternative to gotest. * [GoConvey](https://github.com/smartystreets/goconvey/) - BDD-style framework with web UI and live reload From 2890c0e1b13190c5b0a4d7d88861b5c1f482bced Mon Sep 17 00:00:00 2001 From: Ryan Armstrong Date: Sat, 13 Feb 2016 23:19:17 +0800 Subject: [PATCH 201/254] Added BadIO --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa6dcb9b..03013b78 100644 --- a/README.md +++ b/README.md @@ -767,6 +767,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * Testing Frameworks * [assert](https://github.com/go-playground/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions * [assert](https://github.com/bmizerany/assert) - Asserts to Go testing + * [badio](https://github.com/cavaliercoder/badio) - Extensions to Go's `testing/iotest` package * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go From 5eec57b9eddfcb1f8834a3aa2eb671090438cb3b Mon Sep 17 00:00:00 2001 From: Manish R Jain Date: Mon, 15 Feb 2016 10:41:58 +1100 Subject: [PATCH 202/254] Add DGraph to Go Databases --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa6dcb9b..5e0c4ddb 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts. * [cockroach](https://github.com/cockroachdb/cockroach) - A Scalable, Geo-Replicated, Transactional Datastore * [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. +* [dgraph](https://github.com/dgraph-io/dgraph) - Scalable, Distributed, Low Latency, High Throughput Graph Database. * [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. * [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. * [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. From e10211228cadd7e9dde589730590561095c8cb67 Mon Sep 17 00:00:00 2001 From: StabbyCutyou Date: Tue, 16 Feb 2016 14:24:14 -0500 Subject: [PATCH 203/254] Adding a link to Moldova, a utility for generating random data based on an input template --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa6dcb9b..36d566ec 100644 --- a/README.md +++ b/README.md @@ -917,6 +917,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. * [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. +* [moldova](https://github.com/StabbyCutyou/moldova) - A utility for generating random data based on an input template. * [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. * [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers * [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. From 3d734614137188cff0e8f2f7dee201c2256001a5 Mon Sep 17 00:00:00 2001 From: Charney Kaye Date: Tue, 16 Feb 2016 22:15:57 -0800 Subject: [PATCH 204/254] go-atomix was renamed to ontomix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa6dcb9b..b87c4981 100644 --- a/README.md +++ b/README.md @@ -89,10 +89,10 @@ 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/mewkiz/flac) - A native Go FLAC decoder. -* [go-atomix](https://github.com/outrightmental/go-atomix) - Sequence-based Go-native audio mixer for Music apps. * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. +* [ontomix](https://github.com/outrightmental/ontomix) - Sequence-based Go-native audio mixer for Music apps. * [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. * [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib. From db02a7c1b708efa62d01019b172fb1fcfdd2357a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Fri, 19 Feb 2016 11:52:47 +0100 Subject: [PATCH 205/254] add: skynet to benchmarks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a58f2182..799f7398 100644 --- a/README.md +++ b/README.md @@ -1176,6 +1176,7 @@ Where to discover new Go libraries. * [golang-sql-benchmark](https://github.com/tyler-smith/golang-sql-benchmark) - A collection of benchmarks for popular Go database/SQL utilities. * [gospeed](https://github.com/feyeleanor/GoSpeed) - Go micro-benchmarks for calculating the speed of language constructs. * [kvbench](https://github.com/jimrobinson/kvbench) - Key/Value database benchmark. +* [skynet](https://github.com/atemerev/skynet) - Skynet 1M threads microbenchmark. * [speedtest-resize](https://github.com/fawick/speedtest-resize) - Compare various Image resize algorithms for the Go language. From e17d2d6bab7946462ec7e00b1811a9cdefc0f3a1 Mon Sep 17 00:00:00 2001 From: Shawn Ding Date: Fri, 19 Feb 2016 18:27:28 -0500 Subject: [PATCH 206/254] Added Golf to Go web frameworks. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 799f7398..72bc7fdf 100644 --- a/README.md +++ b/README.md @@ -987,6 +987,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 * [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. * [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. +* [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. * [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 * [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go From a9e66454ed539eeed5d40d27f7b0e5e8ad30d88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Sun, 21 Feb 2016 19:40:46 +0100 Subject: [PATCH 207/254] update: probab, go-eco and go-gt google code to github links Related #328 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 799f7398..ad3ea41a 100644 --- a/README.md +++ b/README.md @@ -515,7 +515,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. * [mlgo](https://code.google.com/p/mlgo/) - This project aims to provide minimalistic machine learning algorithms in Go. * [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. -* [probab](https://code.google.com/p/probab/) - Probability distribution functions. Bayesian inference. Written in pure Go. +* [probab](https://github.com/ThePaw/probab) - Probability distribution functions. Bayesian inference. Written in pure Go. * [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine * [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go @@ -567,7 +567,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for working with human languages.* * [dpar](https://github.com/danieldk/dpar/) - Transition-based statistical dependency parser. -* [go-eco](https://code.google.com/p/go-eco/) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. +* [go-eco](https://github.com/ThePaw/go-eco) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. * [go-i18n](https://github.com/nicksnyder/go-i18n/) - A package and an accompanying tool to work with localized text. * [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. * [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. @@ -691,7 +691,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [geom](https://github.com/skelterjohn/geom) - 2D geometry for golang * [go-dsp](https://github.com/mjibson/go-dsp) - Digital Signal Processing for Go * [go-fn](https://code.google.com/p/go-fn/) - Mathematical functions written in Go language, that are not covered by math pkg -* [go-gt](https://code.google.com/p/go-gt/) - Graph theory algorithms written in "Go" language +* [go-gt](https://github.com/ThePaw/go-gt) - Graph theory algorithms written in "Go" language * [go.matrix](https://github.com/skelterjohn/go.matrix) - linear algebra for go (has been stalled) * [gocomplex](https://code.google.com/p/gocomplex/) - A complex number library for the Go programming language. * [gofrac](https://github.com/anschelsc/gofrac) - A (goinstallable) fractions library for go with support for basic arithmetic. From cdbbad63013741d772c634e03c550c98049a6645 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Sun, 21 Feb 2016 20:03:55 +0100 Subject: [PATCH 208/254] update: mlgo, gocomplex, gostat and go-fn google code to github links Related #328 --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ad3ea41a..60e6241d 100644 --- a/README.md +++ b/README.md @@ -513,7 +513,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go * [goRecommend](https://github.com/timkaye11/goRecommend) - Recommendation Algorithms library written in Go. * [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. -* [mlgo](https://code.google.com/p/mlgo/) - This project aims to provide minimalistic machine learning algorithms in Go. +* [mlgo](https://github.com/NullHypothesis/mlgo) - This project aims to provide minimalistic machine learning algorithms in Go. * [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. * [probab](https://github.com/ThePaw/probab) - Probability distribution functions. Bayesian inference. Written in pure Go. * [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine @@ -690,16 +690,16 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [ewma](https://github.com/VividCortex/ewma) - Exponentially-weighted moving averages * [geom](https://github.com/skelterjohn/geom) - 2D geometry for golang * [go-dsp](https://github.com/mjibson/go-dsp) - Digital Signal Processing for Go -* [go-fn](https://code.google.com/p/go-fn/) - Mathematical functions written in Go language, that are not covered by math pkg +* [go-fn](https://github.com/ematvey/go-fn) - Mathematical functions written in Go language, that are not covered by math pkg * [go-gt](https://github.com/ThePaw/go-gt) - Graph theory algorithms written in "Go" language * [go.matrix](https://github.com/skelterjohn/go.matrix) - linear algebra for go (has been stalled) -* [gocomplex](https://code.google.com/p/gocomplex/) - A complex number library for the Go programming language. +* [gocomplex](https://github.com/varver/gocomplex) - A complex number library for the Go programming language. * [gofrac](https://github.com/anschelsc/gofrac) - A (goinstallable) fractions library for go with support for basic arithmetic. * [gohistogram](https://github.com/VividCortex/gohistogram) - Approximate histograms for data streams * [gonum/mat64](https://github.com/gonum/matrix) - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. * [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. * [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) -* [gostat](https://code.google.com/p/gostat/) - A statistics library for the go language +* [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language * [mudlark-go](https://code.google.com/p/mudlark-go-pkgs/) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go * [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions missing from the Golang standard library. From 28287e2cf85309932fa8f715052c3ecd48c6f494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Sun, 21 Feb 2016 20:09:26 +0100 Subject: [PATCH 209/254] update: mudlark-go-pkgs google code to github links Fix #328 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 60e6241d..cf3fe835 100644 --- a/README.md +++ b/README.md @@ -700,7 +700,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. * [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) * [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language -* [mudlark-go](https://code.google.com/p/mudlark-go-pkgs/) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. +* [mudlark-go](https://github.com/pwil3058/mudlark-go-pkgs) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go * [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions missing from the Golang standard library. * [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. From bf8419c48b43813c38ec293c6c5fdaf479e218cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Sun, 21 Feb 2016 20:29:13 +0100 Subject: [PATCH 210/254] add: abutil to general utilities Fix #561 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cf3fe835..bcb4614d 100644 --- a/README.md +++ b/README.md @@ -878,6 +878,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *General utilities and tools to make your life easier.* +* [abutil](https://github.com/bahlo/abutil) - A collection of often-used Golang helpers. * [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. From e033a9f9aa01ae06ef60a8eb346a683844a2bd35 Mon Sep 17 00:00:00 2001 From: Francois Date: Mon, 22 Feb 2016 03:19:46 +0200 Subject: [PATCH 211/254] Move G+ link to Websites category --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index b9e44624..8ec41c62 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Benchmarks](#benchmarks) - [Conferences](#conferences) - [E-Books](#e-books) - - [Social](#social) - [Twitter](#twitter) - [Websites](#websites) - [Tutorials](#tutorials) @@ -1196,10 +1195,6 @@ Where to discover new Go libraries. * [Network Programming With Go](https://jan.newmarch.name/go/) * [The Go Programming Language](http://www.gopl.io/) -## Social - -* [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts. - ## Twitter * [@golang](https://twitter.com/golang) @@ -1218,6 +1213,7 @@ Where to discover new Go libraries. * [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-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list +* [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts. * [gowalker.org](https://gowalker.org) - Go Project API documentation. * [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. From f25f4cfafc7498429e295da9dd58acd7fac5936c Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Sun, 21 Feb 2016 12:24:02 -0800 Subject: [PATCH 212/254] Add go-twitter to third-party APIs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bcb4614d..1a247c4c 100644 --- a/README.md +++ b/README.md @@ -846,6 +846,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS +* [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. * [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library * [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go From 60f803acd4abe1bba594e851e97d53bcc4697a18 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Mon, 22 Feb 2016 01:47:14 -0800 Subject: [PATCH 213/254] Remove minio-xl no longer valid, merged with 'minio' project. --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 890383d6..22e68d42 100644 --- a/README.md +++ b/README.md @@ -739,8 +739,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [consul](https://www.consul.io/) - Consul is a tool for service discovery, monitoring and configuration. * [devd](https://github.com/cortesi/devd) - A local webserver for developers * [etcd](https://github.com/coreos/etcd) - A highly-available key value store for shared configuration and service discovery. -* [minio](https://github.com/minio/minio) - Minio is a cloud storage server for Micro Services. -* [minio-xl](https://github.com/minio/minio-xl) - Minio XL is a cloud storage server for Petascale Storage. +* [minio](https://github.com/minio/minio) - Minio is a distributed object storage server. * [nsq](http://nsq.io/) - A realtime distributed messaging platform * [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. From 50a811464eebc012766ab23dcc4c06f911fb38a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Mon, 22 Feb 2016 21:04:03 +0100 Subject: [PATCH 214/254] add: toto in Other Software Fix #797 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 22e68d42..c99a7ab4 100644 --- a/README.md +++ b/README.md @@ -1150,6 +1150,7 @@ Software written in Go. * [Stack Up](https://github.com/pressly/sup) - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. * [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. +* [toto](https://github.com/blogcin/ToTo) - A simple proxy server written in Go language, can be used together with browser. * [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. * [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) From 556f233f71512a2e86b4a30be61f2eba136198ce Mon Sep 17 00:00:00 2001 From: kirillDanshin Date: Tue, 23 Feb 2016 11:45:14 +0300 Subject: [PATCH 215/254] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c99a7ab4..9810232b 100644 --- a/README.md +++ b/README.md @@ -617,6 +617,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. +* [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. ## OpenGL From 3f8b9d9d4f1c9700fd5c9b468fd4e9b6edf910ab Mon Sep 17 00:00:00 2001 From: kirillDanshin Date: Tue, 23 Feb 2016 11:47:59 +0300 Subject: [PATCH 216/254] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9810232b..6ecedb6f 100644 --- a/README.md +++ b/README.md @@ -609,6 +609,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces +* [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang * [mqttPaho](https://eclipse.org/paho/clients/golang/) - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets. * [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. @@ -617,7 +618,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. -* [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. + ## OpenGL From 907deb3c87eef5812e4096f8d4def5a0ede1b646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tarc=C3=ADsio=20Gruppi?= Date: Tue, 23 Feb 2016 23:33:35 -0300 Subject: [PATCH 217/254] Added github.com/nproc/parseargs-go --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 22e68d42..c9109cc6 100644 --- a/README.md +++ b/README.md @@ -824,6 +824,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * Utility * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. * [kace](https://github.com/codemodus/kace) - Common case conversions covering common initialisms. + * [parseargs-go](https://github.com/nproc/parseargs-go) - A string argument parser that understands quotes and backslashes * [parth](https://github.com/codemodus/parth) - URL path segmentation parsing. * [xurls](https://github.com/mvdan/xurls) - Extract urls from text From 10523c785c4f1592f1d428bba4f0cb5e0fa52e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tarc=C3=ADsio=20Gruppi?= Date: Wed, 24 Feb 2016 07:57:06 -0300 Subject: [PATCH 218/254] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8365fb5b..15b7b8da 100644 --- a/README.md +++ b/README.md @@ -559,6 +559,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. * [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... +* [werr](https://github.com/txgruppi/werr) - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. * [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. From da265b20b614177d8ff09227256d01a7b07c6f77 Mon Sep 17 00:00:00 2001 From: Charney Kaye Date: Wed, 24 Feb 2016 23:38:19 -0500 Subject: [PATCH 219/254] ontomix moved to its own github.com/go-ontomix - now gopkg.in/ontomix.v0 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8365fb5b..6c92910c 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. -* [ontomix](https://github.com/outrightmental/ontomix) - Sequence-based Go-native audio mixer for Music apps. +* [ontomix](https://github.com/go-ontomix/ontomix) - Sequence-based Go-native audio mixer for Music apps. * [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. * [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib. From 11f523f09db1f5e4001bcc87a6bb63b3bfe8c975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Thu, 25 Feb 2016 17:22:39 +0100 Subject: [PATCH 220/254] add: go-benchmarks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c92910c..c0912280 100644 --- a/README.md +++ b/README.md @@ -1171,6 +1171,7 @@ Where to discover new Go libraries. ## Benchmarks * [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions. +* [go-benchmarks](https://github.com/tylertreat/go-benchmarks) - A few miscellaneous Go microbenchmarks. Compare some language features to alternative aproaches. * [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. * [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. * [go_serialization_benchmarks](https://github.com/alecthomas/go_serialization_benchmarks) - Benchmarks of Go serialization methods. From 1bc4f3ca1dd88c32687375a731e8ca0caaa556ee Mon Sep 17 00:00:00 2001 From: Philip O Toole Date: Thu, 25 Feb 2016 13:11:46 -0500 Subject: [PATCH 221/254] Add rqlite, replicated SQLite using Raft consensus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0912280..2d2a312c 100644 --- a/README.md +++ b/README.md @@ -229,6 +229,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. +* [rqlite](https://github.com/otoolep/rqlite) - Replicated SQLite, using Raft consensus. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. From 3ded65afdc5df11a3edb7b2f55d46eb4d8319694 Mon Sep 17 00:00:00 2001 From: Tomas Aparicio Date: Thu, 25 Feb 2016 19:46:33 +0000 Subject: [PATCH 222/254] feat: add gentleman package --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0912280..9ffba223 100644 --- a/README.md +++ b/README.md @@ -889,6 +889,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. +* [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [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-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. From 44fc66650c1507904a5f59cef07f5770d641c47f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tarc=C3=ADsio=20Gruppi?= Date: Thu, 25 Feb 2016 19:21:24 -0300 Subject: [PATCH 223/254] Added github.com/txgruppi/command --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0912280..2fa4e462 100644 --- a/README.md +++ b/README.md @@ -882,6 +882,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [abutil](https://github.com/bahlo/abutil) - A collection of often-used Golang helpers. * [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. +* [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go * [delve](https://github.com/derekparker/delve) - Go debugger. From 31fb4261bd61df4915fc20ec4c2b26cbc571877a Mon Sep 17 00:00:00 2001 From: pyros2097 Date: Fri, 26 Feb 2016 13:31:16 +0530 Subject: [PATCH 224/254] Add github.com/vrecan/death --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index caba66ac..9830c474 100644 --- a/README.md +++ b/README.md @@ -884,6 +884,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. +* [Death](https://github.com/vrecan/death) - Managing go application shutdown with signals. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go * [delve](https://github.com/derekparker/delve) - Go debugger. * [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. From d4bae3461be347ef593fd79ca888ee68a05b3e73 Mon Sep 17 00:00:00 2001 From: wangshijin Date: Sun, 28 Feb 2016 17:58:20 +0800 Subject: [PATCH 225/254] add command-line package mkideal/cli --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index caba66ac..f43b6f45 100644 --- a/README.md +++ b/README.md @@ -137,6 +137,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. * [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. * [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. +* [mkideal/cli] (https://github.com/mkideal/cli) - A feature-rich and easy to use command-line package based on golang tag ### Advanced Console UIs From d1621aaaf2acff40f7ba8491bc424697c8bf2611 Mon Sep 17 00:00:00 2001 From: wangshijin Date: Sun, 28 Feb 2016 18:08:00 +0800 Subject: [PATCH 226/254] fix order of command-line package cli --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f43b6f45..f528a2f6 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for building standard or basic Command Line applications* +* [cli] (https://github.com/mkideal/cli) - A feature-rich and easy to use command-line package based on golang tag * [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 @@ -137,7 +138,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. * [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. * [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. -* [mkideal/cli] (https://github.com/mkideal/cli) - A feature-rich and easy to use command-line package based on golang tag ### Advanced Console UIs From 24cc86c54a30a28a0690b819c28b4fecfb806546 Mon Sep 17 00:00:00 2001 From: Nishanth Shanmugham Date: Tue, 1 Mar 2016 22:53:06 -0600 Subject: [PATCH 227/254] Add xkcd API --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1110f8db..ddba5394 100644 --- a/README.md +++ b/README.md @@ -850,6 +850,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. +* [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. * [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library * [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go From 7864c7cc8c490b49a454a90af226e045599c56a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Wed, 2 Mar 2016 09:44:25 +0100 Subject: [PATCH 228/254] Remove doc Fix #575 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 1110f8db..cbcbdd73 100644 --- a/README.md +++ b/README.md @@ -1051,7 +1051,6 @@ Go software and plugins. ## Code Analysis -* [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. * [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. From 26b21046d2777397217ac053287b0d503de59c3c Mon Sep 17 00:00:00 2001 From: Max Halford Date: Wed, 2 Mar 2016 15:11:02 +0100 Subject: [PATCH 229/254] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a9e5111d..6a4e0c39 100644 --- a/README.md +++ b/README.md @@ -498,6 +498,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [bayesian](https://github.com/jbrukh/bayesian) - Naive Bayesian Classification for Golang. * [CloudForest](https://github.com/ryanbressler/CloudForest) - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go. +* [gago](https://github.com/MaxHalford/gago) - Multi-population, flexible, parallel genetic algorithm. * [go-fann](https://github.com/white-pony/go-fann) - Go bindings for Fast Artificial Neural Networks(FANN) library. * [go-galib](https://github.com/thoj/go-galib) - Genetic Algorithms library written in Go / golang * [go-pr](https://github.com/daviddengcn/go-pr) - Pattern recognition package in Go lang. @@ -514,7 +515,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [probab](https://code.google.com/p/probab/) - Probability distribution functions. Bayesian inference. Written in pure Go. * [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine * [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go -* [gago](https://github.com/MaxHalford/gago) - Multi-population, flexible, parallel genetic algorithm. ## Messaging From e1a3cf6d6c6aba42eae05bd1f3700b0bb590c2db Mon Sep 17 00:00:00 2001 From: Marcelo Cerri Date: Wed, 2 Mar 2016 13:02:12 -0300 Subject: [PATCH 230/254] Add ASN.1 alternative library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84ea7d8f..bcda028a 100644 --- a/README.md +++ b/README.md @@ -725,6 +725,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries and tools for binary serialization* +* [asn1](https://github.com/PromonLogicalis/asn1) - Asn.1 BER and DER encoding library for golang * [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. * [go-codec](https://github.com/ugorji/go) - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support From 9852a9957fd5633e33ed939ae183db1ef5d455c7 Mon Sep 17 00:00:00 2001 From: rafael-santiago Date: Wed, 2 Mar 2016 17:29:48 -0300 Subject: [PATCH 231/254] Add github.com/rafael-santiago/cherry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1110f8db..dc18984d 100644 --- a/README.md +++ b/README.md @@ -527,6 +527,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that implement messaging systems* * [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go. +* [Cherry](https://github.com/rafael-santiago/cherry) - A tiny webchat server in Go. * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. From bbdc9d7a512d53bb16d10b8b66195277e8fda7ee Mon Sep 17 00:00:00 2001 From: Sergey Mudrik Date: Thu, 3 Mar 2016 22:19:51 +0200 Subject: [PATCH 232/254] Added go-carpet, tool for viewing test coverage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 84ea7d8f..03de5882 100644 --- a/README.md +++ b/README.md @@ -774,6 +774,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go + * [go-carpet](https://github.com/msoap/go-carpet) - Tool for viewing test coverage in terminal * [go-mutesting](https://github.com/zimmski/go-mutesting) - Mutation testing for Go source code * [go-vcr](https://github.com/dnaeon/go-vcr) - Record and replay your HTTP interactions for fast, deterministic and accurate tests * [goblin](https://github.com/franela/goblin) - Mocha like testing framework fo Go From c61848c4fc70755e8a2a563f288f99a98ffc2c53 Mon Sep 17 00:00:00 2001 From: Tomas Aparicio Date: Fri, 4 Mar 2016 00:44:08 +0100 Subject: [PATCH 233/254] feat(add): mock package --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c0912280..c1d4bbab 100644 --- a/README.md +++ b/README.md @@ -787,6 +787,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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-txdb](https://github.com/DATA-DOG/go-txdb) - Single transaction based database driver mainly for testing purposes. + * [gock](https://github.com/h2non/gock) - Versatile HTTP mocking made easy. * [gomock](https://github.com/golang/mock) - Mocking framework for the Go programming language. * [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter From d9359f5170063a04c173035a18d8b246ba542aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Fri, 4 Mar 2016 19:47:21 +0100 Subject: [PATCH 234/254] add: textbelt api library fix #563 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f69da20..eb0cb126 100644 --- a/README.md +++ b/README.md @@ -878,6 +878,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client. +* [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. * [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 * [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. From 1891e0fe6b5411717bc1c4e7adee9cb5a2f985d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Fri, 4 Mar 2016 20:12:53 +0100 Subject: [PATCH 235/254] update: goose to maintained fork fix #607 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c684d90a..38244f71 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication. * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. -* [goose](https://bitbucket.org/liamstask/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. +* [goose](https://github.com/CloudCom/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. * [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. * [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. From 6c9f348b38653f2721034969e625872b5a01d3bb Mon Sep 17 00:00:00 2001 From: rafael-santiago Date: Sat, 5 Mar 2016 20:16:17 -0300 Subject: [PATCH 236/254] Moving github.com/rafael-santiago/cherry to "Other Software" section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dc18984d..bb32be61 100644 --- a/README.md +++ b/README.md @@ -527,7 +527,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that implement messaging systems* * [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go. -* [Cherry](https://github.com/rafael-santiago/cherry) - A tiny webchat server in Go. * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. @@ -1128,6 +1127,7 @@ Software written in Go. ### Other Software * [boxed](https://github.com/tejo/boxed) - Dropbox based blog engine +* [Cherry](https://github.com/rafael-santiago/cherry) - A tiny webchat server in Go. * [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. * [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections * [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. From 1e1d5d0c1c1293e987c2c737873fd0cfec3e0361 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Sun, 6 Mar 2016 08:53:30 +0300 Subject: [PATCH 237/254] add kirilldanshin/nulltime --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2fa2ec6a..63184371 100644 --- a/README.md +++ b/README.md @@ -309,6 +309,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. +* [NullTime](https://github.com/kirillDanshin/nulltime) - Nullable time.Time * [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. From db1d9791318507fbaed075285c107b8180e75476 Mon Sep 17 00:00:00 2001 From: Alexey Derbyshev Date: Mon, 7 Mar 2016 05:42:45 +0300 Subject: [PATCH 238/254] add alxrm/ugo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fe9375e8..f3e99d30 100644 --- a/README.md +++ b/README.md @@ -952,6 +952,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package +* [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. From da63591956db0bda0cde38c2fb9f1a0b1af58678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Mon, 7 Mar 2016 11:33:46 +0100 Subject: [PATCH 239/254] Create PULL_REQUEST_TEMPLATE.md Mention #855 --- .github/PULL_REQUEST_TEMPLATE.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..64e96057 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,9 @@ +Please check if what you want to add to `awesome-go` list meets +[quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) +before sending pull request. Thanks! + +Link to [godoc.org](https://godoc.org/): + +Link to [goreportcard.com](https://goreportcard.com/): + +Link to [gocover.io](https://gocover.io/): From bfafc9f8fcb6459d888c49cb6ca7bf2869e763c0 Mon Sep 17 00:00:00 2001 From: Ali Date: Mon, 7 Mar 2016 14:00:54 +0200 Subject: [PATCH 240/254] added alioygur/gores --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8141dc29..7bcad35f 100644 --- a/README.md +++ b/README.md @@ -1050,6 +1050,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [catena](https://github.com/codemodus/catena) - http.Handler wrapper catenation (same API as "chain"). * [chain](https://github.com/codemodus/chain) - Handler wrapper chaining with scoped data (net/context-based "middleware"). * [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. +* [gores](https://github.com/alioygur/gores) - GO package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs * [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang * [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. * [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. From 0214aa04d3c840932420e55b90a33f770ce9a2f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Tue, 8 Mar 2016 08:31:12 +0100 Subject: [PATCH 241/254] put text in PULL_REQUEST_TEMPLATE in one line --- .github/PULL_REQUEST_TEMPLATE.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 64e96057..35176031 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,6 +1,4 @@ -Please check if what you want to add to `awesome-go` list meets -[quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) -before sending pull request. Thanks! +Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! Link to [godoc.org](https://godoc.org/): From 82c9e9762b946f4b7dc7e24638b91a8573f7da71 Mon Sep 17 00:00:00 2001 From: Ali Date: Tue, 8 Mar 2016 12:35:57 +0200 Subject: [PATCH 242/254] converted GO to Go --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ad16b90b..a1647585 100644 --- a/README.md +++ b/README.md @@ -1051,7 +1051,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [catena](https://github.com/codemodus/catena) - http.Handler wrapper catenation (same API as "chain"). * [chain](https://github.com/codemodus/chain) - Handler wrapper chaining with scoped data (net/context-based "middleware"). * [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. -* [gores](https://github.com/alioygur/gores) - GO package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs +* [gores](https://github.com/alioygur/gores) - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs * [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang * [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. * [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. From 4c580136e202e9bbe10c68cb21f5fec8a857432d Mon Sep 17 00:00:00 2001 From: Kenneth Shaw Date: Thu, 10 Mar 2016 08:52:20 +0700 Subject: [PATCH 243/254] Adding xo to Database section of README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d4080a77..7491e6c2 100644 --- a/README.md +++ b/README.md @@ -258,6 +258,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. * [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. +* [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. ## Database Drivers From 78e3907cde92c17459ff33cf964945c6d1b43796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Thu, 10 Mar 2016 09:14:39 +0100 Subject: [PATCH 244/254] Small fixes to README --- README.md | 130 +++++++++++++++++++++++++++--------------------------- 1 file changed, 65 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index 02a8c16f..8c9c1c29 100644 --- a/README.md +++ b/README.md @@ -859,19 +859,19 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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), [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx), and [Mapbox](https://www.mapbox.com/developers/api/geocoding/) 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. - * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. -* [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS +* [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. +* [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. * [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. -* [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library -* [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go -* [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting -* [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library +* [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library. +* [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go. +* [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting. +* [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library. * [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. * [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. -* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API +* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API. * [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API @@ -888,9 +888,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client. * [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. * [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. -* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub and Bitbucket +* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub and Bitbucket. ## Utilities @@ -901,7 +901,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. * [Death](https://github.com/vrecan/death) - Managing go application shutdown with signals. -* [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go +* [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go. * [delve](https://github.com/derekparker/delve) - Go debugger. * [fastlz](https://github.com/digitalcrab/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. @@ -909,14 +909,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [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-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-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. * [go-trigger](https://github.com/sadlil/go-trigger) - Go-lang global event triggerer, Register Events with an 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. * [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. * [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) * [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. * [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. @@ -924,7 +924,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. * [golog](https://github.com/mlimaloureiro/golog) - Easy and lightweight CLI tool to time track your tasks. * [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. -* [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images +* [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images. * [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. * [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. @@ -941,24 +941,24 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. * [moldova](https://github.com/StabbyCutyou/moldova) - A utility for generating random data based on an input template. * [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. -* [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers +* [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers. * [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. * [ngrok](https://github.com/inconshreveable/ngrok) - Introspected tunnels to localhost. -* [okrun](https://github.com/xta/okrun) - go run error steamroller +* [okrun](https://github.com/xta/okrun) - go run error steamroller. * [panicparse](https://github.com/maruel/panicparse) - Groups similar goroutines and colorizes stack dump. -* [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool -* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency -* [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API -* [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go +* [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool. +* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. +* [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. +* [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. -* [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes -* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client -* [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics +* [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes. +* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client. +* [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics. * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. -* [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package -* [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go +* [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package. +* [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. @@ -966,15 +966,15 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for validation.* -* [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs -* [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving +* [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs. +* [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. ## Version Control *Libraries for version control.* -* [gh](https://github.com/rjeczalik/gh) - Scriptable server and net/http middleware for GitHub Webhooks +* [gh](https://github.com/rjeczalik/gh) - Scriptable server and net/http middleware for GitHub Webhooks. * [git2go](https://github.com/libgit2/git2go) - Go bindings for libgit2. * [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. * [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. @@ -1000,14 +1000,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for 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. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. -* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io) -* [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API +* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). +* [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API. * [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. -* [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's -* [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go +* [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's. +* [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go. * [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. -* [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis -* [Goat](https://github.com/bahlo/goat) - A minimalistic REST API server in Go +* [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis. +* [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. * [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. * [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. @@ -1016,7 +1016,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. -* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go.Inspiration from httprouter +* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. * [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. @@ -1043,11 +1043,11 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis #### Actual middlewares -* [CORS](https://github.com/rs/cors) - Easily add CORS capabilities to your API -* [formjson](https://github.com/rs/formjson) - Transparently handle JSON input as a standard form POST -* [Limiter](https://github.com/ulule/limiter) - Dead simple rate limit middleware for Go -* [Tollbooth](https://github.com/didip/tollbooth) - Rate limit HTTP request handler -* [XFF](https://github.com/sebest/xff) - Handle `X-Forwarded-For` header and friends +* [CORS](https://github.com/rs/cors) - Easily add CORS capabilities to your API. +* [formjson](https://github.com/rs/formjson) - Transparently handle JSON input as a standard form POST. +* [Limiter](https://github.com/ulule/limiter) - Dead simple rate limit middleware for Go. +* [Tollbooth](https://github.com/didip/tollbooth) - Rate limit HTTP request handler. +* [XFF](https://github.com/sebest/xff) - Handle `X-Forwarded-For` header and friends. #### Libraries for creating HTTP middlewares @@ -1055,8 +1055,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [catena](https://github.com/codemodus/catena) - http.Handler wrapper catenation (same API as "chain"). * [chain](https://github.com/codemodus/chain) - Handler wrapper chaining with scoped data (net/context-based "middleware"). * [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. -* [gores](https://github.com/alioygur/gores) - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs -* [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang +* [gores](https://github.com/alioygur/gores) - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs. +* [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang. * [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. * [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. * [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. @@ -1091,7 +1091,7 @@ Go software and plugins. * [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. * [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting * [Goclipse](https://github.com/GoClipse/goclipse) - An Eclipse plugin for Go. -* [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language +* [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language. * [GoSublime](https://github.com/DisposaBoy/GoSublime) - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features. * [velour](https://github.com/velour/velour) - An IRC client for the acme editor. * [vim-compiler-go](https://github.com/rjohnsondev/vim-compiler-go) - A Vim plugin to highlight syntax errors on save. @@ -1111,11 +1111,11 @@ Software written in Go. ### DevOps Tools -* [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool -* [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile +* [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool. +* [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile. * [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. * [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. -* [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework +* [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. @@ -1132,13 +1132,13 @@ Software written in Go. * [kala](https://github.com/ajvb/kala) - Simplistic, modern, and performant job scheduler. * [kubernetes](https://github.com/kubernetes/kubernetes) - Container Cluster Manager from Google. * [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. * [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. * [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). * [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/login) - A Web-based IDE for Teams using Golang. @@ -1146,7 +1146,7 @@ Software written in Go. * [boxed](https://github.com/tejo/boxed) - Dropbox based blog engine * [Cherry](https://github.com/rafael-santiago/cherry) - A tiny webchat server in Go. * [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. -* [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections +* [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections. * [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. * [Docker](http://www.docker.com/) - An open platform for distributed applications for developers and sysadmins. * [fleet](https://github.com/coreos/fleet) - A Distributed init System. @@ -1155,8 +1155,8 @@ Software written in Go. * [GoDocTooltip](https://github.com/diankong/GoDocTooltip) - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. * [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. -* [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer -* [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine +* [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer. +* [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine. * [ipe](https://github.com/dimiro1/ipe) - An open source Pusher server implementation compatible with Pusher client libraries written in GO. * [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. @@ -1169,16 +1169,16 @@ Software written in Go. * [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. -* [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control) -* [snap](https://github.com/intelsdi-x/snap) - A powerful telemetry framework +* [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control). +* [snap](https://github.com/intelsdi-x/snap) - A powerful telemetry framework. * [Stack Up](https://github.com/pressly/sup) - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. * [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. * [toto](https://github.com/blogcin/ToTo) - A simple proxy server written in Go language, can be used together with browser. * [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. * [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) -* [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass) +* [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). @@ -1242,12 +1242,12 @@ Where to discover new Go libraries. * [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote jobs. A lot of them is looking for Go hackers. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. * [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 Forum](https://forum.golangbridge.org) - Forum to discuss Go -* [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki +* [Go Blog](http://blog.golang.org) - The official Go blog. +* [Go Forum](https://forum.golangbridge.org) - Forum to discuss Go. +* [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki. * [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-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list +* [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. * [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts. * [gowalker.org](https://gowalker.org) - Go Project API documentation. * [r/Golang](https://www.reddit.com/r/golang) - News about Go. @@ -1256,12 +1256,12 @@ Where to discover new Go libraries. ### Tutorials -* [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go -* [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs -* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql -* [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers +* [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go. +* [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. +* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. +* [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. ## Windows -* [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang +* [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang. From 85c109faa8d034a3511b8062eec80e6e98344e29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Thu, 10 Mar 2016 09:17:44 +0100 Subject: [PATCH 245/254] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8c9c1c29..8efa5378 100644 --- a/README.md +++ b/README.md @@ -859,8 +859,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [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), [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx), and [Mapbox](https://www.mapbox.com/developers/api/geocoding/) 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. -* [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. +* [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. * [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. From f12e6787afc7540e8698c32660d2459746c13beb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Thu, 10 Mar 2016 09:25:25 +0100 Subject: [PATCH 246/254] Update PULL_REQUEST_TEMPLATE.md --- .github/PULL_REQUEST_TEMPLATE.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 35176031..452dd04a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,7 +1,6 @@ Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! -Link to [godoc.org](https://godoc.org/): - -Link to [goreportcard.com](https://goreportcard.com/): - -Link to [gocover.io](https://gocover.io/): +Please provide package links to: +- godoc.org: +- goreportcard.com: +- gocover.io: From 406b7cae9e0e331847bb7be253c2af2bc58849cf Mon Sep 17 00:00:00 2001 From: Claudemiro Date: Sat, 12 Mar 2016 11:13:09 -0300 Subject: [PATCH 247/254] [Miscellaneous] Added health check library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37439ff9..17d42b0e 100644 --- a/README.md +++ b/README.md @@ -554,6 +554,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. +* [health](https://github.com/dimiro1/health) - A Easy to use, extensible health check library * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. From 1c18d26574641936dc6b84622908b0fac54a6bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Sun, 13 Mar 2016 20:53:05 +0100 Subject: [PATCH 248/254] fix: ordering of `health` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17d42b0e..08d539f0 100644 --- a/README.md +++ b/README.md @@ -554,7 +554,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. -* [health](https://github.com/dimiro1/health) - A Easy to use, extensible health check library * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. @@ -562,6 +561,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. +* [health](https://github.com/dimiro1/health) - A Easy to use, extensible health check library. * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. * [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. From 55099aca4c684ed79c14d7058aee1bd111b33560 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Sat, 12 Mar 2016 17:47:27 -0300 Subject: [PATCH 249/254] Add testfixtures --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37439ff9..a2c9a0f8 100644 --- a/README.md +++ b/README.md @@ -794,6 +794,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. + * [testfixtures](https://github.com/go-testfixtures/testfixtures) - A helper for Rails' like test fixtures to test database applications. * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. * Mock From 86714b03c0329a8d0f04c91977098ef225c9616f Mon Sep 17 00:00:00 2001 From: Makis Maropoulos Date: Tue, 15 Mar 2016 19:07:19 +0200 Subject: [PATCH 250/254] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08d539f0..e3ccacde 100644 --- a/README.md +++ b/README.md @@ -1019,6 +1019,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. +* [Iris](https://kataras.github.io/iris) - A very minimal but flexible and high-performance golang web application framework, providing a robust set of features for building web applications. * [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. From bf2c6ef0a4196446f67692cfe9943bd42a625c9d Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Wed, 16 Mar 2016 09:02:47 +0200 Subject: [PATCH 251/254] Added quicktemplate --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 08d539f0..5cd9b18b 100644 --- a/README.md +++ b/README.md @@ -767,6 +767,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. * [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. * [pongo2](https://github.com/flosch/pongo2) - A Django-like template-engine for Go. +* [quicktemplate](https://github.com/valyala/quicktemplate) - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it. * [raymond](https://github.com/aymerick/raymond) - A complete handlebars implementation in Go. * [Razor](https://github.com/sipin/gorazor) - Razor view engine for Golang. * [Soy](https://github.com/robfig/soy) - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/) From ea40e2886eb1983c4f1e62b6d8a20faf5e2142da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Wed, 16 Mar 2016 21:27:24 +0100 Subject: [PATCH 252/254] rm: beedb Fix #608 --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index c273660e..f19c05f0 100644 --- a/README.md +++ b/README.md @@ -643,8 +643,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that implement Object-Relational Mapping or datamapping techniques.* -* [beedb](https://github.com/astaxie/beedb) - A go ORM,support database/sql interface,pq/mysql/sqlite -* [beego orm](https://github.com/astaxie/beego/tree/master/orm) - A powerful orm framework for go. +* [beego orm](https://github.com/astaxie/beego/tree/master/orm) - A powerful orm framework for go. Support: pq/mysql/sqlite3. * [go-store](https://github.com/gosuri/go-store) - A simple and fast Redis backed key-value store library for Go. * [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. * [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. From 2e0690be21d30fa6281115e0871794e7ce6460d1 Mon Sep 17 00:00:00 2001 From: Julien Feltesse Date: Sun, 20 Mar 2016 10:38:49 +0900 Subject: [PATCH 253/254] remove defunct go-log-interface --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6c167172..22928af9 100644 --- a/README.md +++ b/README.md @@ -481,7 +481,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [glog](https://github.com/golang/glog) - Leveled execution logs for Go. * [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-interface](https://github.com/ventu-io/go-log-interface) - A generic leveled log interface to adopt any logging framework and a default facade for Go stdlib log.Logger. * [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. * [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. * [log](https://github.com/apex/log) - Structured logging package for Go. From a214a28b9a4674051808b77f2f221aaa2a378dd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dobros=C5=82aw=20=C5=BBybort?= Date: Mon, 21 Mar 2016 14:19:07 +0100 Subject: [PATCH 254/254] change: CloudCom/goose to steinbacher/goose Fix #607 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 22928af9..2e271b6d 100644 --- a/README.md +++ b/README.md @@ -239,7 +239,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication. * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. -* [goose](https://github.com/CloudCom/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. +* [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. * [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. * [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication.