Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1 | # Indexes and search engines |
| 2 | |
| 3 | These sites provide indexes and search engines for Go packages: |
| 4 | |
| 5 | * [godoc.org](http://godoc.org/) |
| 6 | * [go-search](http://go-search.org/) |
| 7 | * [gowalker](http://gowalker.org/) |
| 8 | * [Sourcegraph](https://sourcegraph.com/) |
| 9 | |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 10 | ## Dead projects |
| 11 | |
nathany | ed6b8a0 | 2014-12-10 22:48:52 -0800 | [diff] [blame] | 12 | If you find a project in this list that is dead or broken, please either mark it as such or mention it in the #go-nuts IRC channel. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 13 | |
| 14 | # Table of Contents |
Sven Taute | 94ed7f6 | 2015-02-08 15:45:48 +0100 | [diff] [blame] | 15 | * [Astronomy](#astronomy) |
| 16 | * [Build Tools](#build-tools) |
| 17 | * [Caching](#caching) |
| 18 | * [Cloud Computing](#cloud-computing) |
| 19 | * [Command-line Option Parsers](#command-line-option-parsers) |
| 20 | * [Command-line Tools](#command-line-tools) |
| 21 | * [Compression](#compression) |
| 22 | * [Configuration File Parsers](#configuration-file-parsers) |
| 23 | * [Console User Interface](#console-user-interface) |
| 24 | * [Cryptography](#cryptography) |
| 25 | * [Data Processing](#data-processing) |
| 26 | * [Data Structures](#data-structures) |
| 27 | * [Databases and Storage](#databases-and-storage) |
| 28 | * [Development Tools](#development-tools) |
| 29 | * [Distributed/Grid Computing](#distributedgrid-computing) |
| 30 | * [Documentation](#documentation) |
| 31 | * [Editors](#editors) |
| 32 | * [Error handling](#error-handling) |
| 33 | * [Encodings and Character Sets](#encodings-and-character-sets) |
| 34 | * [Games](#games) |
| 35 | * [GIS](#gis) |
| 36 | * [Go Implementations](#go-implementations) |
| 37 | * [Graphics and Audio](#graphics-and-audio) |
| 38 | * [GUIs and Widget Toolkits](#guis-and-widget-toolkits) |
| 39 | * [Hardware](#hardware) |
| 40 | * [Language and Linguistics](#language-and-linguistics) |
| 41 | * [Logging](#logging) |
| 42 | * [Machine Learning](#machine-learning) |
| 43 | * [Mathematics](#mathematics) |
| 44 | * [Misc](#misc) |
| 45 | * [Music](#music) |
| 46 | * [Networking](#networking) |
| 47 | * [Operating System Interfaces](#operating-system-interfaces) |
| 48 | * [Other Random Toys, Experiments and Example Code](#other-random-toys-experiments-and-example-code) |
| 49 | * [P2P and File Sharing](#p2p-and-file-sharing) |
| 50 | * [Programming](#programming) |
| 51 | * [Scanner and Parser Generators](#scanner-and-parser-generators) |
Dmitry Savintsev | 5f7b888 | 2015-02-25 10:41:26 +0100 | [diff] [blame] | 52 | * [Security](#security) |
Sven Taute | 94ed7f6 | 2015-02-08 15:45:48 +0100 | [diff] [blame] | 53 | * [Simulation Modeling](#simulation-modeling) |
| 54 | * [Sorting](#sorting) |
| 55 | * [Source Code Management](#source-code-management) |
| 56 | * [Strings and Text](#strings-and-text) |
| 57 | * [Testing](#testing) |
| 58 | * [Virtual Machines and Languages](#virtual-machines-and-languages) |
| 59 | * [Web Applications](#web-applications) |
| 60 | * [Web Libraries](#web-libraries) |
| 61 | * [Windows](#windows) |
| 62 | * [Unix](#unix) |
| 63 | * [Unsorted](#unsorted-please-help) |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 64 | |
| 65 | ## Astronomy |
| 66 | |
| 67 | * [gonova](https://github.com/pebbe/gonova) - A wrapper for libnova -- Celestial Mechanics, Astrometry and Astrodynamics Library |
| 68 | * [meeus](https://github.com/soniakeys/meeus) - Implementation of "Astronomical Algorithms" by Jean Meeus |
| 69 | * [novas](https://github.com/pebbe/novas) - Interface to the Naval Observatory Vector Astrometry Software (NOVAS) |
| 70 | * [go-fits](https://github.com/siravan/fits) - FITS (Flexible Image Transport System) format image and data reader |
| 71 | |
| 72 | ## Build Tools |
| 73 | |
| 74 | * [colorgo](https://github.com/songgao/colorgo) - Colorize go build output |
Dave Day | 0d6986a | 2014-12-10 15:02:18 +1100 | [diff] [blame] | 75 | * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart) |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 76 | * [fileembed-go](https://bitbucket.org/rj/fileembed-go/) - This is a command-line utility to take a number of source files, and embed them into a Go package |
| 77 | * [gb](http://github.com/skelterjohn/go-gb) - A(nother) build tool for go, with an emphasis on multi-package projects |
| 78 | * [GG](http://www.manatlan.com/page/gg) - A build tool for Go in Go |
| 79 | * [go-pkg-config](https://github.com/psilva261/go-pkg-config) - lightweight clone of pkg-config |
| 80 | * [godag](http://code.google.com/p/godag/) - A frontend to the Go compiler collection |
| 81 | * [goenv](https://bitbucket.org/ymotongpoo/goenv) - goenv provides Go version and Go workspace management tools |
| 82 | * [goscons](https://github.com/alberts/goscons) - Another set of SCons builders for Go |
| 83 | * [gotgo](https://github.com/droundy/gotgo) - An experimental preprocessor to implement 'generics' |
Andrew Carter | b16e1c9 | 2015-01-07 12:53:43 -0800 | [diff] [blame] | 84 | * [gows](https://github.com/ascarter/gows) - Go workspace manager |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 85 | * [goxc](https://github.com/laher/goxc) - A build tool with a focus on cross-compiling, packaging, versioning and distribution |
| 86 | * [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions |
| 87 | * [SCons Go Tools](https://launchpad.net/sconsgo) - A collection of builders that makes it easy to compile Go projects in SCons |
| 88 | |
| 89 | ## Caching |
| 90 | |
| 91 | * [cache2go](https://github.com/muesli/cache2go) - A caching library with expiration capabilities and access counters |
| 92 | * [go-cache](http://patrickmylund.com/projects/go-cache/) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications |
| 93 | * [gomemcache](https://github.com/kklis/gomemcache) - a memcached client |
| 94 | * [gomemcached](https://github.com/dustin/gomemcached) - A memcached server in go |
| 95 | * [groupcache](https://github.com/golang/groupcache) - Caching and cache-filling library, intended as a replacement for memcached in many cases |
| 96 | * [libmemcache](https://github.com/valyala/ybc/tree/master/libs/go/memcache) - Fast client and server libraries speaking memcache protocol |
| 97 | * [memcache](https://github.com/smallfish/memcache) - go memcached client, forked from YouTube Vitess |
| 98 | * [memcached](https://github.com/valyala/ybc/tree/master/apps/go/memcached) - Fast memcache server, which supports persistence and cache sizes exceeding available RAM |
| 99 | * [memcached-bench](https://github.com/valyala/ybc/tree/master/apps/go/memcached-bench) - Benchmark tool for memcache servers |
| 100 | * [YBC bindings](https://github.com/valyala/ybc/tree/master/bindings/go/ybc) - Bindings for YBC library providing API for fast in-process blob cache |
| 101 | * [go-slab](https://github.com/couchbaselabs/go-slab) - Slab allocator for go. |
| 102 | |
| 103 | ## Cloud Computing |
| 104 | |
| 105 | * [Docker](http://docker.io) - The Linux container runtime. Developed by dotCloud. |
| 106 | * [gocircuit](http://gocircuit.org) - A distributed operating system that sits on top of the traditional OS on multiple machines in a datacenter deployment. It provides a clean and uniform abstraction for treating an entire hardware cluster as a single, monolithic compute resource. Developed by Tumblr. |
| 107 | * [gosync](https://github.com/brettweavnet/gosync) - A package for syncing data to and from S3. |
| 108 | * [juju](https://juju.ubuntu.com) - Orchestration tool (deployment, configuration and lifecycle management), developed by Canonical. |
| 109 | * [ShipBuilder](http://shipbuilder.io) - ShipBuilder is a minimalist open source platform as a service, developed by Jay Taylor. |
| 110 | * [Tsuru](http://www.tsuru.io/) - Tsuru is an open source polyglot cloud computing platform as a service (PaaS), developed by Globo.com. |
| 111 | * [swift](https://github.com/ncw/swift) - Go language interface to Swift / Openstack Object Storage / Rackspace cloud files |
| 112 | |
| 113 | ## Command-line Option Parsers |
| 114 | |
| 115 | * [argcfg](http://code.google.com/p/goargcfg/) - Use reflection to populate fields in a struct from command line arguments |
| 116 | * [cobra](http://github.com/spf13/cobra) - A commander for modern go CLI interactions supporting commands & POSIX/GNU flags |
| 117 | * [command](https://github.com/rakyll/command) - Add subcommands to your CLI, provides help and usage guide. |
| 118 | * [getopt](https://github.com/timtadh/getopt) - Yet Another getopt Library for Go. This one is like Python's. |
| 119 | * [getopt](http://code.google.com/p/getopt) - full featured traditional (BSD/POSIX getopt) option parsing in Go style |
| 120 | * [gnuflag](https://launchpad.net/gnuflag) - GNU-compatible flag parsing; substantially compatible with flag. |
| 121 | * [go-flags](https://github.com/jessevdk/go-flags) - command line option parser for go |
| 122 | * [go-options](https://github.com/gaal/go-options) - A command line parsing library for Go |
| 123 | * [goopt](https://github.com/droundy/goopt) - a getopt clone to parse command-line flags |
| 124 | * [options](https://github.com/fd/options/) - Self documenting CLI options parser |
| 125 | * [opts.go](http://opts-go.googlecode.com/) - lightweight POSIX- and GNU- style option parsing |
| 126 | * [pflag](https://github.com/ogier/pflag) - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. |
| 127 | * [subcommands](https://github.com/maruel/subcommands) - A concurrent, unit tested, subcommand library |
| 128 | * [go-commander](https://code.google.com/p/go-commander) - Simplify the creation of command line interfaces for Go, with commands and sub-commands, with argument checks and contextual usage help. Forked from the "go" tool code. |
| 129 | * [uggo](https://github.com/laher/uggo) - Yet another option parser offering gnu-like option parsing. This one wraps (embeds) flagset. It also offers rudimentary pipe-detection (commands like ls behave differently when being piped to). |
| 130 | |
| 131 | ## Command-line Tools |
| 132 | |
Sven Taute | 3bd7a10 | 2015-02-08 15:41:53 +0100 | [diff] [blame] | 133 | * [coshell](https://github.com/gdm85/coshell) - A drop-in replacement for GNU 'parallel'. |
| 134 | * [DevTodo2](https://github.com/alecthomas/devtodo2) - A small command-line per-project task list manager. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 135 | * [gich](http://bitbucket.org/jpoirier/gich) - A cross platform which utility written in Go |
| 136 | * [gocreate](https://bitbucket.org/llg/gocreate/) - Command line utility that create files from templates. |
| 137 | * [gojson](https://github.com/ChimeraCoder/gojson) - Command-line tool for manipulating JSON for use in developing Go code. |
Sven Taute | 3bd7a10 | 2015-02-08 15:41:53 +0100 | [diff] [blame] | 138 | * [GoPasswordCreator](https://github.com/d3xter/GoPasswordCreator) - A small tool, which creates random passwords |
| 139 | * [gssh](https://github.com/syamp/gssh) - A simple command line utility to run ssh concurrently across many hosts |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 140 | * [jsonpp](http://jmhodges.github.com/jsonpp/) - A fast command line JSON pretty printer. |
| 141 | * [passhash](https://github.com/gebi/passhash) - Command-line utility to create secure password hashes |
seanpont | 02f6ff0 | 2014-12-14 19:49:30 -0800 | [diff] [blame] | 142 | * [passman](https://github.com/seanpont/passman) - A command-line password manager |
Sven Taute | 3bd7a10 | 2015-02-08 15:41:53 +0100 | [diff] [blame] | 143 | * [pwdgen](https://github.com/chai2010/pwdgen/) - A small tool, which generate human password, written in Go. |
dreamersdw | f98316d | 2015-01-14 17:50:04 +0800 | [diff] [blame] | 144 | * [redis-view](https://github.com/dreamersdw/redis-view) A tree like tool help you explore data structures in your redis server |
Sven Taute | 3bd7a10 | 2015-02-08 15:41:53 +0100 | [diff] [blame] | 145 | * [sift](https://github.com/svent/sift) - A fast and powerful open source alternative to grep |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 146 | * [tecla](https://github.com/michaelmacinnis/tecla) - Command-line editing library |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 147 | |
| 148 | ## Compression |
| 149 | |
| 150 | * [dgolzo](https://github.com/dgryski/dgolzo) - LZO bindings |
| 151 | * [dictzip](https://github.com/pebbe/dictzip) - A reader and writer for files in the random access ` dictzip ` format |
| 152 | * [fast-archiver](https://github.com/replicon/fast-archiver) - Alternative archiving tool with fast performance for huge numbers of small files |
| 153 | * [gbacomp](https://github.com/salviati/gbacomp) - A Go library to (de)compress data compatible with GBA BIOS |
| 154 | * [go-lz4](https://github.com/bkaradzic/go-lz4) - Port of LZ4 lossless compression algorithm to Go. |
| 155 | * [go-lzss](https://github.com/salviati/go-lzss) - Implementation of LZSS compression algorithm in Go |
| 156 | * [go-sevenzip](https://github.com/salviati/go-sevenzip) - Package sevenzip implements access to 7-zip archives (wraps C interface of LZMA SDK) |
| 157 | * [go-zip](https://github.com/hailiang/go-zip) - A wrapper around C library libzip, providing ability to modify existing ZIP archives. |
| 158 | * [lzma](http://code.google.com/p/lzma/) - compress/lzma package for Go |
| 159 | * [snappy-go](http://code.google.com/p/snappy-go/) - Google's Snappy compression algorithm in Go |
| 160 | * [yenc](https://github.com/chrisfarms/yenc) - yenc decoder package |
| 161 | * [zappy](https://github.com/cznic/zappy) - Package zappy implements the zappy block-based compression format. It aims for a combination of good speed and reasonable compression. |
| 162 | |
| 163 | ## Configuration File Parsers |
| 164 | |
| 165 | * [flagfile](https://github.com/spacemonkeygo/flagfile) - Adds parsing and serialization support to the standard library flag package (adds a --flagfile option) |
| 166 | * [gcfg](http://code.google.com/p/gcfg/) - read INI-style configuration files into Go structs; supports user-defined types and subsections |
| 167 | * [globalconf](https://github.com/rakyll/globalconf) - Effortlessly persist to and read flag values from an ini config file |
| 168 | * [goconf](http://code.google.com/p/goconf/) - a configuration file parser |
Kailash Nadh | a94017b | 2015-01-17 00:59:05 +0530 | [diff] [blame] | 169 | * [jsonconfig](https://github.com/knadh/jsonconfig) - a JSON configuration file parser with comments support |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 170 | * [viper](http://github.com/spf13/viper) - a complete configuration solution supporting YAML, TOML & JSON and integration with command line flags |
| 171 | * [toml](http://github.com/mojombo/toml) : |
| 172 | * [go-toml](http://github.com/pelletier/go-toml) - Go library for the TOML language |
| 173 | * [go-toml-config](http://github.com/stvp/go-toml-config) - TOML-based config for Go |
| 174 | * [tom-toml](https://github.com/achun/tom-toml) - TOML parser for Go, support comments/formatter/apply. |
| 175 | * [toml](http://github.com/BurntSushi/toml) - TOML parser for Go with reflection |
| 176 | * [toml-go](http://github.com/laurent22/toml-go) - An easy-to-use Go parser for the Toml format |
| 177 | * [gp-config](https://github.com/cbonello/gp-config) - Subset of TOML syntax with basic and reflection APIs |
| 178 | * yaml : |
| 179 | * [yaml](http://github.com/go-yaml/yaml) - YAML support for the Go language, by Canonical |
| 180 | * [goyaml](http://goyaml.googlecode.com/) - A port of LibYAML to Go |
| 181 | |
| 182 | ## Console User Interface |
| 183 | |
| 184 | * [ansi](https://github.com/mgutz/ansi) - Easily create ansi escape code strings and closures to fomat, color console output |
| 185 | * [go-ansiout](https://github.com/tlorens/go-ansiout) - Another ANSI escape code sequence tool for use with command-line applications. |
| 186 | * [ansiterm](https://github.com/hotei/ansiterm) - pkg to drive text-only consoles that respond to ANSI escape sequences |
| 187 | * [gnureadline](https://code.google.com/p/go-gnureadline) - GNU Readline bindings |
| 188 | * [go.linenoise](https://github.com/GeertJohan/go.linenoise) - Linenoise bindings (simple and easy readline with prompt, optional history, optional tab completion) |
| 189 | * [go-stfl](https://github.com/akrennmair/go-stfl) - a thin wrapper around STFL, an ncurses-based widget toolkit |
| 190 | * [gockel](https://github.com/akrennmair/gockel) - a Twitter client for text terminals |
Roi Martin | df79498 | 2015-02-25 00:31:55 +0100 | [diff] [blame] | 191 | * [gocui](https://github.com/jroimartin/gocui) - Minimalist library aimed at creating Console User Interfaces |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 192 | * [gocurse](https://github.com/jabb/gocurse) - Go bindings for NCurses |
| 193 | * [gocurses](https://github.com/tncardoso/gocurses) - NCurses wrapper |
| 194 | * [goncurses](http://code.google.com/p/goncurses/) - An ncurses library, including the form, menu and panel extensions |
| 195 | * [gopass](https://code.google.com/p/gopass/) - Allows typing of passwords without echoing to screen |
| 196 | * [go-ibgetkey](https://github.com/tlorens/go-ibgetkey) - "hot key" type user input package for use in processing keystrokes in command-line applications. |
| 197 | * [igo](https://bitbucket.org/binet/igo) - A simple interactive Go interpreter built on exp/eval with some readline refinements |
| 198 | * [oh](https://github.com/michaelmacinnis/oh) - A Unix shell written in Go |
| 199 | * [pty](https://github.com/kr/pty) - obtain pseudo-terminal devices |
| 200 | * [go-pullbarz](https://github.com/tlorens/go-pullbarz) - Fancy "light bar" menus like in Lotus 123 from the DOS days. Dependent on go-ibgetkey and go-ansiout. |
| 201 | * [termbox-go](https://github.com/nsf/termbox-go) - A minimalist alternative to ncurses to build terminal-based user interfaces |
| 202 | * [termios](http://bitbucket.org/taruti/termios) - Terminal support |
| 203 | * [termon](http://termon.googlecode.com/) - Easy terminal-control-interface for Go. |
| 204 | * [go.sgr](https://github.com/foize/go.sgr) - Terminal/console colors and text decoration (bold,underlined,etc). |
| 205 | * [go-web-shell](https://github.com/matiasinsaurralde/go-web-shell) - Remote web shell, implements a net/http server. |
| 206 | |
| 207 | ## Cryptography |
| 208 | |
| 209 | * [BLAKE2b](https://github.com/dchest/blake2b) - Go implementation of BLAKE2b hash function |
| 210 | * [cryptoPadding](https://github.com/apexskier/cryptoPadding) - Block padding schemes implemented in Go |
| 211 | * [dkeyczar](https://github.com/dgryski/dkeyczar) - Go port of Google'e Keyczar cryptography library |
| 212 | * [dkrcrypt](https://github.com/dgryski/dkrcrypt) - Korean block ciphers: SEED and HIGHT |
| 213 | * [dskipjack](https://github.com/dgryski/dskipjack) - Go implementation of the SKIPJACK encryption algorithm |
| 214 | * [go-ed25519](https://github.com/tendermint/go-ed25519) - CGO bindings for Floodberry's ed25519-donna. Fast batch verification. |
| 215 | * [go-hc128](https://github.com/tomfitzhenry/go-hc128) - Go implementation of HC-128, an eSTREAM stream cipher |
| 216 | * [GoSkein](https://github.com/wernerd/Skein3Fish/tree/master/go) - Implementation of Skein hash and Threefisch crypto for Go |
| 217 | * [keccak](https://github.com/ebfe/keccak) - A keccak (SHA-3) implementation |
| 218 | * [ketama.go](https://github.com/mncaudill/ketama.go) - libketama-style consistent hashing |
| 219 | * [kindi](https://github.com/uwedeportivo/Kindi) - encryption command line tool |
| 220 | * [openssl](https://github.com/spacemonkeygo/openssl) - openssl bindings for go |
andrewclausen | 4596309 | 2015-01-03 06:41:27 -0800 | [diff] [blame] | 221 | * [otrcat](https://github.com/andrewclausen/otrcat) - a general purpose command-line tool for communicating using the Off-The-Record protocol |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 222 | * [scrypt](https://code.google.com/p/go/source/browse?repo=crypto#hg%2Fscrypt) - Go implementation of Colin Percival's scrypt key derivation function |
| 223 | * [simpleaes](https://github.com/tadzik/simpleaes) - AES encryption made easy |
| 224 | * [SRP](https://code.google.com/p/go-srp/) - SRP: Secure Remote Password - Implementation in go |
| 225 | * [ssh.go](http://bitbucket.org/taruti/ssh.go) - SSH2 Client library |
| 226 | * [siphash](https://github.com/dchest/siphash) - SipHash: a fast short-input pseudorandom function |
| 227 | * [tiger](https://github.com/cxmcc/tiger) - Tiger cryptographic hashing algorithm |
| 228 | * [whirlpool](https://github.com/jzelinskie/whirlpool) - whirlpool cryptographic hashing algorithm |
| 229 | * [cryptogo](https://github.com/vgorin/cryptogo) - some useful cryptography-related functions, including paddings (PKCS7, X.923), PBE with random salt and IV |
| 230 | * [go-cs](https://github.com/akosela/go-cs) - concurrent ssh client. |
| 231 | |
| 232 | ## Data Processing |
| 233 | |
| 234 | * [Heka](https://github.com/mozilla-services/heka) - Real time data and log file processing engine. |
| 235 | * [gostatsd](https://github.com/kisielk/gostatsd) - Statsd server and library. |
| 236 | * [proto](https://github.com/eblume/proto) - Map/Reduce/Filter etc. for Go using channels as result streams. |
| 237 | * [regommend](https://github.com/muesli/regommend) - Recommendation engine. |
| 238 | * [rrd](https://github.com/ziutek/rrd) - Bindings for rrdtool. |
| 239 | |
| 240 | ## Data Structures |
| 241 | |
| 242 | #### Lists |
| 243 | |
| 244 | * [GoArrayList](https://github.com/PhilStephens/GoArrayList) - GoArrayList is a Go language substitute for the Java class ArrayList, with very nearly all features. |
| 245 | * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. |
| 246 | * [itreap](https://github.com/glenn-brown/itreap) - An immutable ordered list, internally a treap. |
| 247 | * [ListDict](https://bitbucket.org/matrixik/listdict/) - Python List and Dict for Go |
| 248 | * [skip](https://github.com/glenn-brown/skiplist) - A fast position-addressable ordered map and multimap. |
| 249 | * [skiplist](https://github.com/huandu/skiplist) - A skip list implementation. Highly customizable and easy to use. |
| 250 | * [Skiplist](https://github.com/glenn-brown/skiplist) - A fast indexable ordered multimap. |
| 251 | |
| 252 | #### Queues |
| 253 | |
| 254 | * [fifo\_queue](https://github.com/yasushi-saito/fifo_queue) - Simple FIFO queue |
| 255 | * [go-priority-queue](https://code.google.com/p/go-priority-queue/) - An easy to use heap implementation with a conventional priority queue interface. |
| 256 | * [go.fifo](https://github.com/foize/go.fifo) - Simple auto-resizing thread-safe fifo queue. |
| 257 | * [gopqueue](https://github.com/nu7hatch/gopqueue) - Priority queue at top of container/heap |
| 258 | * [gringo](https://github.com/textnode/gringo) - A minimalist queue implemented using a stripped-down lock-free ringbuffer |
| 259 | * [figo](https://github.com/jasocox/figo) - A simple fifo queue with an optional thread-safe version. |
| 260 | * [queued](https://github.com/timtadh/queued) - A simple network queue daemon |
| 261 | |
| 262 | #### Graphs |
| 263 | * [goraph](https://github.com/gyuho/goraph) - Graph Visualization, Algorithms |
Thomas Cyron | 4399252 | 2015-01-26 15:10:35 +0100 | [diff] [blame] | 264 | * [graphs](https://github.com/thcyron/graphs) - Implementation of various tree, graph and network algorithms |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 265 | |
| 266 | #### Sets |
| 267 | * https://github.com/deckarep/golang-set - A full thread-safe and unsafe set implementation for Go. |
Gavrie Philipson | a86babb | 2015-01-25 17:01:25 +0200 | [diff] [blame] | 268 | * https://github.com/fatih/set - Set data structure for Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 269 | |
| 270 | #### Trees |
| 271 | |
| 272 | * [b](https://github.com/cznic/b) - Package b implements B+trees with delayed page split/concat and O(1) enumeration. Easy production of source code for B+trees specialized for user defined key and value types is supported by a simple text replace. |
| 273 | * [btree](https://bitbucket.org/santucco/btree) - Package btree implements persistent B-trees with fixed size keys, http://en.wikipedia.org/wiki/Btree |
| 274 | * [btree](https://github.com/google/btree) - In-memory (not persistent) B-tree implementation, similar API to GoLLRB |
| 275 | * [go-avltree](https://code.google.com/p/go-avltree/) - AVL tree (Adel'son-Vel'skii & Landis) with indexing added |
| 276 | * [go-darts](https://github.com/awsong/go-darts) - Double-ARray Trie System for Go |
| 277 | * [go-stree](https://github.com/toberndo/go-stree) - A segment tree implementation for range queries on intervals |
| 278 | * [GoLLRB](https://github.com/petar/GoLLRB) - A Left-Leaning Red-Black (LLRB) implementation of 2-3 balanced binary search trees in Google Go |
| 279 | * [rbtree](https://github.com/yasushi-saito/rbtree) - Yet another red-black tree implementation, with a C++ STL-like API |
| 280 | * [rtreego](https://github.com/dhconnelly/rtreego) - an R-Tree library |
| 281 | * [gotree](https://github.com/gyuho/gotree) - Tree Visualization, Algorithms |
| 282 | * [gtreap](https://github.com/steveyen/gtreap) - Persistent treap implementation. |
liangx8 | 03ba730 | 2014-12-16 05:39:28 -0800 | [diff] [blame] | 283 | * [go-btree](https://github.com/liangx8/tree.git) - Simple balance tree implementation |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 284 | |
| 285 | #### Other |
| 286 | |
| 287 | * [asyncwr](https://github.com/yorhel/asyncwr) - Asynchronous, non-blocking, wrapper for io.Writer |
| 288 | * [bigendian](https://bitbucket.org/taruti/bigendian) - binary parsing and printing |
| 289 | * [collections](https://github.com/cosn/collections) - Several common data structures |
| 290 | * [data-structures](https://github.com/timtadh/data-structures) - A collection of data-structures (AVL Tree, B+Tree, Ternary Search Trie, Hash Table (Separate Chaining), Linear Hash Table) |
| 291 | * [deepcopy](http://bitbucket.org/taruti/deepcopy) - Make deep copies of data structures |
| 292 | * [dgobloom](https://github.com/dgryski/dgobloom) - A Bloom Filter implementation |
| 293 | * [epochdate](https://github.com/extemporalgenome/epochdate) - Compact dates stored as days since the Unix epoch |
| 294 | * [fsm](https://github.com/looplab/fsm) - Minimalistic state machine for use instead of booleans |
| 295 | * [go-algs/ed](https://github.com/daviddengcn/go-algs) - Generalized edit-distance implementation |
| 296 | * [go-algs/maxflow](https://github.com/daviddengcn/go-algs) - An energy minimization tool using max-flow algorithm. |
| 297 | * [go-extractor](https://github.com/salviati/go-extractor) - Go wrapper for GNU libextractor |
| 298 | * [go-maps](https://github.com/serge-hulne/go-maps) - Go maps generalized to interfaces |
| 299 | * [gohash](http://code.google.com/p/gohash/) - A simple linked-list hashtable that implements sets and maps |
| 300 | * [Gokogiri](https://github.com/moovweb/gokogiri) - A lightweight libxml wrapper library |
| 301 | * [GoNetCDF](https://bitbucket.org/ctessum/gonetcdf) - A wrapper for the NetCDF file format library |
| 302 | * [goop](https://github.com/losalamos/goop) - Dynamic object-oriented programming support for Go |
| 303 | * [goset](https://github.com/fatih/goset) - A simple, thread safe Set implementation |
| 304 | * [gotoc](https://github.com/dsymonds/gotoc) - A protocol buffer compiler written in Go |
gima | beb49b7 | 2015-01-16 00:38:46 +0200 | [diff] [blame] | 305 | * [govalid](https://github.com/gima/govalid) - Data validation library |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 306 | * [goxml](https://github.com/jbussdieker/golibxml) - A thin wrapper around libxml2 |
| 307 | * [hyperloglog](https://github.com/clarkduvall/hyperloglog) - An implementation of the HyperLogLog and HyperLogLog++ algorithms for estimating cardinality of sets using constant memory. |
| 308 | * [itertools](https://github.com/xchapter7x/goutil) - Provides generic iteratable generator function along with functionality similar to the itertools python package. |
| 309 | * [jsonv](https://github.com/gima/jsonv) - A JSON validator |
| 310 | * [libgob](http://code.google.com/p/libgob/) - A low level library for generating gobs from other languages |
| 311 | * [Picugen](http://patrickmylund.com/projects/picugen/) - A general-purpose hash/checksum digest generator. |
| 312 | * [ps](https://github.com/mndrix/ps) - Persistent data structures |
| 313 | * [tribool](https://github.com/saschpe/tribool) - Ternary (tree-valued) logic for Go |
| 314 | * [Tuple](https://bitbucket.org/gotamer/tuple) - Tuple is a go type that will hold mixed types / values |
| 315 | * [vcard](https://bitbucket.org/llg/vcard) - Reading and writing vcard file in go. Implementation of RFC 2425 (A MIME Content-Type for Directory Information) and RFC 2426 (vCard MIME Directory Profile). |
nathany | ed6b8a0 | 2014-12-10 22:48:52 -0800 | [diff] [blame] | 316 | * [x2j](https://github.com/clbanning/x2j) - Unmarshal XML doc into `map[string]interface{}` or JSON |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 317 | * [xlsx](https://github.com/tealeg/xlsx) - A library to help with extracting data from Microsoft Office Excel XLSX files. |
| 318 | |
| 319 | ## Databases and Storage |
| 320 | |
nathany | ed6b8a0 | 2014-12-10 22:48:52 -0800 | [diff] [blame] | 321 | See also [[SQLDrivers page|SQLDrivers]]. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 322 | |
| 323 | #### MongoDB |
| 324 | |
| 325 | * [mgo](http://labix.org/mgo) - Rich MongoDB driver for Go |
| 326 | |
| 327 | #### MySQL |
| 328 | |
| 329 | * [Go-MySQL-Driver](https://github.com/go-sql-driver/mysql) - A lightweight and fast MySQL-Driver for Go's database/sql package |
| 330 | * [MyMySQL](https://github.com/ziutek/mymysql) - MySQL Client API written entirely in Go. |
| 331 | * [vitess](http://code.google.com/p/vitess/) - Scaling MySQL databases for the web |
| 332 | |
| 333 | #### ODBC |
| 334 | |
| 335 | * [go-odbc](https://github.com/weigj/go-odbc) - ODBC Driver for Go |
| 336 | * [odbc3-go](https://bitbucket.org/rj/odbc3-go/) - This package is wrapper around ODBC (version 3). |
| 337 | |
| 338 | #### PostgreSQL |
| 339 | |
| 340 | * [go-libpq](https://github.com/jgallagher/go-libpq) - cgo-based Postgres driver for Go's database/sql package |
| 341 | * [go-pgsql](https://github.com/lxn/go-pgsql) - A PostgreSQL client library for Go |
| 342 | * [pgsql.go](https://github.com/jbarham/pgsql.go) - PostgreSQL high-level client library wrapper |
| 343 | * [pgx](https://github.com/JackC/pgx) - Go PostgreSQL driver that is compatible with database/sql and has native interface for more performance and features |
| 344 | * [pq](https://github.com/lib/pq) - Pure Go PostgreSQL driver for database/sql |
| 345 | |
| 346 | #### QL |
| 347 | |
| 348 | * [ql](https://github.com/cznic/ql) - A pure Go embedded (S)QL database. |
| 349 | |
| 350 | #### Redis |
| 351 | |
| 352 | * [Go-Redis](https://github.com/alphazero/Go-Redis) - Client and Connectors for Redis key-value store |
| 353 | * [godis](https://github.com/simonz05/godis) - Simple client for Redis |
| 354 | * [Tideland CGL Redis](http://code.google.com/p/tcgl/) - Powerful Redis client with pub/sub support. |
| 355 | * [Redigo](https://github.com/garyburd/redigo) - Go client for Redis. |
| 356 | * [redis](https://github.com/vmihailenco/redis) - Redis client for Go |
| 357 | * [go-redis](https://github.com/fiorix/go-redis) - Redis client built on the skeleton of gomemcache |
| 358 | |
| 359 | #### [RethinkDB](http://www.rethinkdb.com/) |
| 360 | |
| 361 | * [rethinkgo](https://github.com/christopherhesse/rethinkgo) - Basic Go driver for RethinkDB |
| 362 | |
| 363 | #### SQLite |
| 364 | |
| 365 | * [mattn's go-sqlite3](https://github.com/mattn/go-sqlite3) - sqlite3 driver conforming to the built-in database/sql interface |
| 366 | * [gosqlite](http://code.google.com/p/gosqlite/) - a trivial SQLite binding for Go. |
| 367 | * [gosqlite (forked)](https://github.com/gwenn/gosqlite) - A fork of gosqlite |
| 368 | * [gosqlite3](https://github.com/kuroneko/gosqlite3) - Go Interface for SQLite3 |
| 369 | * [go-sqlite](https://github.com/mxk/go-sqlite) - A database/sql driver and standalone sqlite3 interface |
| 370 | |
| 371 | #### ORM |
| 372 | * [beedb](https://github.com/astaxie/beedb) - beedb is an ORM for Go. It lets you map Go structs to tables in a database |
| 373 | * [gorm](https://github.com/jinzhu/gorm) - An ORM library for Go, aims for developer friendly |
| 374 | * [gorp](https://github.com/coopernurse/gorp) - SQL mapper for Go |
| 375 | * [hood](https://github.com/eaigner/hood) - Database agnostic ORM for Go. Supports Postgres and MySQL. |
| 376 | * [qbs](https://github.com/coocood/qbs) - Query By Struct. Supports MySQL, PosgreSQL and SQLite3. |
Lunny Xiao | b6258bf | 2015-01-06 15:28:30 +0800 | [diff] [blame] | 377 | * [xorm](https://github.com/go-xorm/xorm) - Simple and Powerful ORM for Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 378 | * [go-modeldb](https://github.com/jaekwon/go-modeldb) - A simple wrapper around sql.DB for struct support. |
| 379 | |
| 380 | #### Multiple wrappers |
| 381 | |
| 382 | * [gosexy/db](http://gosexy.org/db) - an abstraction of wrappers for popular third party SQL and No-SQL database drivers. |
| 383 | |
| 384 | #### Key-Value-Stores |
| 385 | |
Sokolov Yura | a37e50a | 2015-01-18 11:24:14 +0300 | [diff] [blame] | 386 | * [bolt](https://github.com/boltdb/bolt) - Persistent key/value store inspired by LMDB. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 387 | * [dbm](https://github.com/cznic/exp/tree/master/dbm) - Package dbm (WIP) implements a simple database engine, a hybrid of a hierarchical and/or a key-value one. |
| 388 | * [Diskv](https://github.com/peterbourgon/diskv) - Home-grown, disk-backed key-value store |
| 389 | * [etcd](https://github.com/coreos/etcd) - Highly-available key value store for shared configuration and service discovery |
| 390 | * [gocask](http://code.google.com/p/gocask/) - Key-value store inspired by Riak Bitcask. Can be used as pure go implementation of dbm and other kv-stores. |
| 391 | * [kv](http://github.com/cznic/kv) - Yet another key/value persistent store. Atomic operations, two phase commit, automatic crash recovery, ... |
| 392 | * [leveldb-go](http://code.google.com/p/leveldb-go/) - This is an implementation of the LevelDB key/value database. |
Sokolov Yura | a37e50a | 2015-01-18 11:24:14 +0300 | [diff] [blame] | 393 | * [goleveldb](https://github.com/syndtr/goleveldb) - Another implementation of LevelDB key/value in pure Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 394 | * [levigo](https://github.com/jmhodges/levigo) - levigo provides the ability to create and access LevelDB databases. |
| 395 | * [persival](https://github.com/nu7hatch/persival) - Programatic, persistent, pseudo key-value storage |
| 396 | * [gkvlite](https://github.com/steveyen/gkvlite) - Pure go, simple, ordered, atomic key-value persistence based on append-only file format. |
| 397 | |
| 398 | #### NoSQL |
| 399 | |
| 400 | * [tiedot](https://github.com/HouzuoGuo/tiedot) - A NoSQL document database engine using JSON for documents and queries; it can be embedded into your program, or run a stand-alone server using HTTP for an API. |
| 401 | * [ledisdb](https://github.com/siddontang/ledisdb) - A high performance NoSQL like Redis. |
Lunny Xiao | b6258bf | 2015-01-06 15:28:30 +0800 | [diff] [blame] | 402 | * [nodb](https://github.com/lunny/nodb) - A pure Go embed Nosql database with kv, list, hash, zset, bitmap, set. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 403 | |
| 404 | #### Other |
| 405 | |
| 406 | * [cabinet](https://bitbucket.org/ww/cabinet) - Kyoto Cabinet bindings for go |
| 407 | * [cass](https://github.com/araddon/cass) - Cassandra Client Lib |
| 408 | * [cdb.go](https://github.com/jbarham/cdb.go) - Create and read cdb ("constant database") files |
| 409 | * [CodeSearch](http://code.google.com/p/codesearch/) - Index and perform regex searches over large bodies of source code |
| 410 | * [couch-go](http://couch-go.googlecode.com) - newer maintained CouchDB database binding |
| 411 | * [couchgo](https://github.com/lancecarlson/couchgo) - The most feature complete CouchDB Adapter for Go. Modeled after couch.js. |
| 412 | * [dbxml](https://github.com/pebbe/dbxml) - A basic interface to Oracle Berkeley DB XML |
| 413 | * [Event Horizon](https://github.com/looplab/eventhorizon) - Toolkit for Command Query Responsibility Segregation and Event Sourcing (CQRS/ES) |
| 414 | * [go-db-oracle](https://code.google.com/p/go-db-oracle/) - GO interface to Oracle DB |
| 415 | * [go-notify](https://github.com/lenormf/go-notify) - GO bindings for the libnotify |
| 416 | * [go-rexster-client](https://github.com/sqs/go-rexster-client) - Go client for the [Rexster graph server](https://github.com/tinkerpop/rexster/wiki) (part of the [TinkerPop](http://www.tinkerpop.com/) suite of graph DB tools) |
| 417 | * [go-sphinx](https://github.com/yunge/gosphinx) - A sphinx client package for Go, for full text search. |
| 418 | * [go-wikiparse](https://github.com/dustin/go-wikiparse) - mediawiki dump parser for working with wikipedia data |
| 419 | * [gographite](https://github.com/amir/gographite) - statsd server in go (for feeding data to graphite) |
| 420 | * [gokabinet](https://github.com/fsouza/gokabinet) - Go bindings for Kyoto Cabinet DBM implementation |
| 421 | * [goprotodb](http://launchpad.net/goprotodb) - A binding to Berkeley DB storing records encoded as Protocol Buffers. |
| 422 | * [goriak](https://bitbucket.org/lateefj/goriak/overview) - Database driver for riak database (project homepage is now on bitbucket.org) |
| 423 | * [goriakpbc](https://github.com/tpjg/goriakpbc) - Riak driver using Riak's protobuf interface |
| 424 | * [gotyrant](https://github.com/patrickxb/gotyrant) - A Go wrapper for tokyo tyrant |
| 425 | * [hdfs](https://github.com/zyxar/hdfs) - go bindings for libhdfs |
| 426 | * [JGDB](http://www.robotamer.com/html/GoTamer/JGDB.html) - JGDB stands for Json Git Database |
| 427 | * [mig](https://github.com/jagregory/mig) - Simple SQL-based database migrations |
| 428 | * [mongofixtures](https://github.com/OwlyCode/mongofixtures) - A Go quick and dirty utility for cleaning MongoDB collections and loading fixtures into them. |
| 429 | * [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in Go |
| 430 | * [neoism](https://github.com/jmcvetta/neoism) - Neo4j graph database client, including Cypher and Transactions support. |
| 431 | * [Optimus Cache Prime](http://patrickmylund.com/projects/ocp/) - Smart cache preloader for websites with XML sitemaps. |
| 432 | * [riako](https://github.com/jkassemi/riako) - High level utility methods for interacting with Riak databases |
| 433 | * [Weed File System](http://code.google.com/p/weed-fs/) - fast distributed key-file store |
| 434 | * [whisper-go](https://github.com/kisielk/whisper-go) - library for working with whisper databases |
| 435 | * [squirrel](https://github.com/lann/squirrel) - Fluent SQL generation for Go |
Thomas Cyron | a95a30b | 2015-02-13 19:31:31 +0100 | [diff] [blame] | 436 | * [sqlbuilder](https://github.com/thcyron/sqlbuilder) - SQL query builder with row mapping |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 437 | |
| 438 | ## Development Tools |
| 439 | |
| 440 | * [cwrap](https://github.com/hailiang/cwrap) - Go wrapper (binding) generator for C libraries. |
| 441 | * [demand](https://github.com/tv42/demand) - Download, build, cache and run a Go app easily. |
| 442 | * [godev](https://github.com/kdar/godev) - Recompiles and runs your Go code on source change. Also watches all your imports for changes. |
| 443 | * [GoWatch](https://bitbucket.org/gotamer/gowatch) - GoWatch watches your dev folder for modified files, and if a file changes it restarts the process. |
| 444 | * [glib](https://github.com/ziutek/glib) - Bindings for GLib type system |
| 445 | * [gocog](https://github.com/natefinch/gocog) - A code generator that can generate code using any language |
| 446 | * [godiff](https://github.com/spcau/godiff) - diff file comparison tool with colour html output |
| 447 | * [syntaxhighlighter](https://github.com/sourcegraph/syntaxhighlight) - language-independent code syntax highlighting library |
| 448 | * [gonew](https://github.com/bmatsuo/gonew) - A tool to create new Go projects |
| 449 | * [go-play](https://code.google.com/p/go-play) - A HTML5 web interface for experimenting with Go code. Like http://golang.org/doc/play but runs on your computer |
| 450 | * [gorun](https://wiki.ubuntu.com/gorun) - Enables Go source files to be used as scripts. |
| 451 | * [go-spew](https://github.com/davecgh/go-spew) - Implements a deep pretty printer for Go data structures to aid in debugging |
| 452 | * [goven](https://github.com/kr/goven) - Easily copy code from another project into yours |
| 453 | * [gowatcher](https://github.com/nickjj/gowatcher) - Reload a specified go program automatically by monitoring a directory. |
| 454 | * [goweb](https://bitbucket.org/santucco/goweb) - Literate programming tools for Go based on CWEB by Donald Knuth and Silvio Levy. |
| 455 | * [hopwatch](https://github.com/emicklei/hopwatch) - simple debugger for Go |
| 456 | * [hsandbox](http://labix.org/hsandbox) - Tool for quick experimentation with Go snippets |
| 457 | * [Livedev](https://github.com/qrtz/livedev) - Livedev is a development proxy server that enables live code reloading. |
| 458 | * [liccor](https://github.com/gtalent/liccor) - A tool for updating license headers in Go source files |
| 459 | * [liteide](http://code.google.com/p/golangide/) - An go auto build tools and qt-based ide for Go |
Ashley Wilson | 96ad57c | 2015-02-19 18:00:43 +1000 | [diff] [blame] | 460 | * [nvm-windows](https://github.com/coreybutler/nvm-windows) - Node.js version manager for Windows |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 461 | * [rerun](https://github.com/skelterjohn/rerun) - Rerun watches your binary and all its dependencies so it can rebuild and relaunch when the source changes. |
| 462 | * [trace](https://bitbucket.org/santucco/trace) - A simple debug tracing |
| 463 | * [godepgraph](https://github.com/kisielk/godepgraph) - Create a dependency graph for a go package |
| 464 | * [toggle](https://github.com/xchapter7x/toggle) - A feature toggle library with built in support for environment variable backed toggling. pluggable backing engine support. |
| 465 | |
| 466 | ### Emacs Tags |
| 467 | |
| 468 | * [egotags](http://bitbucket.org/scriptdevil/egotags/) - ETags generator |
| 469 | * [tago](https://github.com/AlexCombas/Tago) - Emacs TAGS generator for Go source |
| 470 | * [tago1](https://github.com/willoch/tago) - etags generator for go that builds with go 1 |
| 471 | |
| 472 | ## Distributed/Grid Computing |
| 473 | |
| 474 | * [donut](https://github.com/dforsyth/donut) - A library for building clustered services in Go |
| 475 | * [locker](https://github.com/jagregory/locker) - A distributed lock service built on top of [etcd](https://github.com/coreos/etcd). |
| 476 | * [Skynet](https://github.com/bketelsen/skynet) - Skynet is distributed mesh of processes designed for highly scalable API type service provision. |
| 477 | |
| 478 | ## Documentation |
| 479 | |
| 480 | * [GoDoc.org](http://godoc.org/) - GoDoc.org generates documentation on the fly from source on Bitbucket, Github, Google Project Hosting and Launchpad. |
| 481 | * [Mango](http://code.google.com/p/mango-doc/) - Automatically generate unix man pages from Go sources |
| 482 | * [godocdown](https://github.com/robertkrimen/godocdown) - Format package documentation (godoc) as GitHub friendly Markdown |
chai2010 | 319bb7c | 2015-02-27 15:18:21 +0800 | [diff] [blame] | 483 | * [golangdoc](https://github.com/golang-china/golangdoc) - Godoc for Golang, support translate. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 484 | * [redoc](https://github.com/simonz05/redoc) - Commands documentation for Redis |
| 485 | * [sphinxcontrib-golangdomain](http://pypi.python.org/pypi/sphinxcontrib-golangdomain) - Sphinx domain for Go |
| 486 | * [test2doc](https://code.google.com/p/test2doc/) - Generate documentation for your go units from your unit tests. |
gima | 1c71778 | 2015-01-22 17:59:33 +0200 | [diff] [blame] | 487 | * [examplgen](https://github.com/gima/examplgen) - Insert code from .go files to documents (examples to project's readme, for instance). |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 488 | |
| 489 | ## Editors |
| 490 | |
pebbe | e9ac359 | 2014-12-25 09:15:43 -0800 | [diff] [blame] | 491 | * [Conception](https://github.com/shurcooL/Conception) - Conception is an experimental research project, meant to become a modern IDE/Language package. [demo video](http://youtu.be/DNJ7HqlV55k) |
| 492 | * [Go conTEXT](http://www.tc33.org/go/go-programming-highlighter-for-context-editor/) - Highlighter plugin |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 493 | * [go-gedit](http://code.google.com/p/go-gedit3-plugin/) - Google Go language plugin for gedit |
Andrew Carter | b16e1c9 | 2015-01-07 12:53:43 -0800 | [diff] [blame] | 494 | * [Go.bbpackage](https://github.com/ascarter/Go.bbpackage) - BBEdit package for Go development |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 495 | * [goclipse](http://code.google.com/p/goclipse/) - An Eclipse-based IDE for Go. |
| 496 | * [godev](https://github.com/sirnewton01/godev) - Web-based IDE for the Go language |
pebbe | e9ac359 | 2014-12-25 09:15:43 -0800 | [diff] [blame] | 497 | * [godit](https://github.com/nsf/godit) - A microemacs-like text editor written in Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 498 | * [gofinder](https://github.com/mpl/gofinder) - (code) search tool for acme |
| 499 | * [golab](https://github.com/mb0/lab) - go local application builder - a web-based Go ide |
pebbe | e9ac359 | 2014-12-25 09:15:43 -0800 | [diff] [blame] | 500 | * [Google Go for Idea](http://plugins.intellij.net/plugin/?idea&id=5047) - Google Go language plugin for Intellij IDEA |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 501 | * [tabby](https://github.com/mikhailt/tabby) - Source code editor |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 502 | * [ViGo](https://github.com/kisielk/vigo) - A vim-like text editor. |
pebbe | e9ac359 | 2014-12-25 09:15:43 -0800 | [diff] [blame] | 503 | * [Wide](https://github.com/b3log/wide) - A Web-based IDE for Teams using Golang. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 504 | |
| 505 | ## Error handling |
| 506 | |
| 507 | * [Space Monkey errors](https://github.com/spacemonkeygo/errors) - Go's missing errors library - stack capture, error hierarchies, error tags |
| 508 | * [errgo](https://github.com/juju/errgo) - Error tracing and annotation. |
| 509 | * [errors](https://github.com/juju/errors) - The juju/errors package provides an easy way to annotate errors without losing the original error context, and get a stack trace back out of the error for the locations that were recorded. |
anlhord | b08328e | 2015-01-04 22:30:10 +0100 | [diff] [blame] | 510 | * [goerr](https://github.com/goerr/goerr) - Allows to make a separate(modular) and reusable error handlers. Exception-like panic() recover() mechanism using Return(error) and catching err := OR1(..) |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 511 | |
| 512 | ## Encodings and Character Sets |
| 513 | |
| 514 | * [form](https://github.com/ajg/form) - Complete bidirectional HTML form encoder & decoder (x-www-form-urlencoded) for arbitrary data (package encoding compatible) |
| 515 | * [Mahonia](http://code.google.com/p/mahonia/source/browse/) - Character-set conversion library in Go |
| 516 | * [base58](https://github.com/tv42/base58) - Human input-friendly base58 encoding |
| 517 | * [bencode-go](http://code.google.com/p/bencode-go/) - Encodeing and decoding the bencode format used by the BitTorrent peer-to-peer file sharing protocol |
| 518 | * [bsonrpc](https://github.com/skelterjohn/bsonrpc) - BSON codec for net/rpc |
| 519 | * [chardet](https://github.com/saintfish/chardet) - Charset detection library ported from ICU |
| 520 | * [charmap](https://github.com/disintegration/charmap) - Character encodings in Go |
| 521 | * [go-charset](http://code.google.com/p/go-charset/) - Conversion between character sets. Native Go. |
| 522 | * [go-simplejson](https://github.com/bitly/go-simplejson) - a Go package to interact with arbitrary JSON |
| 523 | * [go-xdr](https://github.com/davecgh/go-xdr) - Pure Go implementation of the data representation portion of the External Data Representation (XDR) standard protocol as specified in RFC 4506 (obsoletes RFC 1832 and RFC 1014). |
| 524 | * [gopack](https://github.com/joshlf13/gopack) - Bit-packing for Go |
| 525 | * [gobson](http://labix.org/gobson) - BSON (de)serializer |
| 526 | * [iconv-go](https://github.com/djimenez/iconv-go) - iconv wrapper with Reader and Writer |
| 527 | * [mimemagic](https://bitbucket.org/taruti/mimemagic) - Detect mime-types automatically based on file contents with no external dependencies |
| 528 | * [go-msgpack](https://github.com/ugorji/go-msgpack) - Comprehensive MsgPack library for Go, with pack/unpack and net/rpc codec support (DEPRECATED in favor of [codec](https://github.com/ugorji/go/tree/master/codec#readme) ) |
| 529 | * [codec-msgpack-binc](https://github.com/ugorji/go/tree/master/codec#readme) High Performance and Feature-Rich Idiomatic Go Library providing encode/decode support for multiple binary serialization formats: [msgpack](http://www.msgpack.org) |
| 530 | * [msgpack](https://github.com/vmihailenco/msgpack) - Msgpack format implementation for Go |
| 531 | * [msgpack-json](https://github.com/tv42/msgpack-json) - Command-line utilities to convert between msgpack and json |
| 532 | * [storable](https://github.com/kdar/storable) - Write perl storable data |
| 533 | * [TNetstring](https://github.com/edsrzf/tnetstring-go) - tnetstrings (tagged Netstrings) |
| 534 | * [nnz](https://sourcegraph.com/github.com/sourcegraph/go-nnz) - String and Int primitives that serialize to JSON and SQL null |
| 535 | * [magicmime](https://github.com/rakyll/magicmime) -- Mime-type detection with Go bindings for libmagic |
| 536 | |
| 537 | ## Games |
| 538 | |
| 539 | * [bloxorz](https://github.com/YouriAckx/bloxorz) - Solver for bloxorz basic levels |
| 540 | * [ChessBuddy](https://github.com/tux21b/ChessBuddy) - Play chess with Go, HTML5, WebSockets and random strangers! |
| 541 | * [Fergulator](https://github.com/scottferg/Fergulator) - An NES emulator, using SDL and OpenGL |
| 542 | * [Gongo](https://github.com/skybrian/Gongo) - A program written in Go that plays Go |
| 543 | * [Ludo Game](http://ludo.abiosoft.net) - Ludo Board game powered by Go on Appengine |
| 544 | * [godoku](http://code.google.com/p/kylelemons/source/browse?repo=godoku) - Go Sudoku Solver - example of "share by communicating" |
| 545 | * [gospeccy](https://github.com/remogatto/gospeccy) - A ZX Spectrum 48k Emulator |
| 546 | * [Bampf](https://github.com/gazed/bampf) - Arcade style game based on the Vu 3D engine. |
| 547 | * [FlappyBird](https://github.com/himanshushekhar/golang-flappybirdclone) - A simple flappy bird clone written in golang. |
LaurenceGA | 729f38a | 2015-02-18 00:28:49 +1300 | [diff] [blame] | 548 | * [Pong](https://github.com/LaurenceGA/Pong) - A simple Pong clone written in golang |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 549 | |
| 550 | ## GIS |
| 551 | |
| 552 | * [go-gdal](https://code.google.com/p/go-gdal/) - Go bindings for GDAL |
| 553 | * [go-liblas](https://code.google.com/p/go-liblas/) - Go bindings for libLAS |
| 554 | * [go-proj-4](https://github.com/pebbe/go-proj-4) - An interface to the Cartographic Projections Library PROJ.4 |
| 555 | * [gogeos](http://paulsmith.github.io/gogeos/) - Go library for spatial data operations and geometric algorithms |
| 556 | * [lvd.go](http://code.google.com/p/lvd.go) - dense set, byte trie, reed solomon encoding, wgs84 geodesics |
| 557 | * [polyline](https://github.com/twpayne/gopolyline) - Google Maps polyline encoding and decoding |
| 558 | * [geom](https://github.com/twpayne/gogeom) - Open Geo Consortium-style geometries with native Go GeoJSON, WKB, and WKT encoding and decoding (work-in-progress) |
| 559 | * [go.geo](https://github.com/paulmach/go.geo) - Geometry/geography library targeted at online mapping |
| 560 | * [go.geojson](https://github.com/paulmach/go.geojson) - Marshalling and Unmarshalling of GeoJSON objects |
| 561 | |
| 562 | ## Go Implementations |
| 563 | |
| 564 | * [Express Go](http://www.unicorn-enterprises.com/express_go.html) - Interpreted Go implementation for Windows |
| 565 | * [llgo](https://github.com/axw/llgo) - LLVM-based Go compiler, written in Go (work-in-progress) |
| 566 | |
| 567 | ## Graphics and Audio |
| 568 | |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 569 | * [allegro 5](https://github.com/tapir/allegro5) - Go Bindings for Allegro 5 library |
| 570 | * [allergro](https://github.com/lasarux/go-spanish/tree/master/allegro) - basic wrapper for the Allegro library |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 571 | * [AnsiGo](https://github.com/fcambus/ansigo) - Simple ANSi to PNG converter written in pure Go |
| 572 | * [Arclight](http://www.angryredplanet.com/exh/arclight/) - Arclight is a tool for rendering images |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 573 | * [baukasten](https://github.com/Agon/baukasten) - A modular game library. |
chai2010 | cbaa9bd | 2015-02-24 08:51:21 +0800 | [diff] [blame] | 574 | * [bpg](https://github.com/chai2010/bpg) - BPG decoder for Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 575 | * [blend](https://github.com/Phrozen/blend) - Image processing library and rendering toolkit for Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 576 | * [chart](https://github.com/vdobler/chart) - Library to generate common chart (pie, bar, strip, scatter, hstogram) in different output formats. |
| 577 | * [draw2d](http://code.google.com/p/draw2d) - This package provide an API to draw 2d geometrical form on images. This library is largely inspired by postscript, cairo, HTML5 canvas. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 578 | * [egl](http://godoc.org/github.com/mortdeus/egles/egl) - egl bindings |
| 579 | * [es2](http://godoc.org/github.com/mortdeus/egles/es2) - es2 bindings |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 580 | * [freetype-go](http://code.google.com/p/freetype-go/) - a Go implementation of FreeType |
| 581 | * [glfw 3](https://github.com/go-gl/glfw3) - Go bindings for GLFW 3 library |
| 582 | * [glfw](https://github.com/go-gl/glfw) - bindings to the multi-platform library for opening a window, creating an OpenGL context and managing input |
| 583 | * [glh](https://github.com/go-gl/glh) - OpenGL helper functions to manage text, textures, framebuffers and more |
| 584 | * [gl](https://github.com/go-gl/gl) - OpenGL bindings using glew |
| 585 | * [glu](https://github.com/go-gl/glu) - bindings to the OpenGL Utility Library |
| 586 | * [gmask](https://github.com/fggp/gmask) - Go adaptation of the Cmask utility for Csound |
| 587 | * [gocairo](http://bitbucket.org/dethe/gocairo/) - Go wrapper for cairo graphics library |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 588 | * [go-cairo](https://github.com/ungerik/go-cairo) - Go wrapper for the cairo graphics library |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 589 | * [gocl](https://github.com/rainliu/gocl) - Go OpenCL (gocl) binding |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 590 | * [go-csnd6](https://github.com/fggp/go-csnd6) - Go binding to the Csound6 API |
| 591 | * [go-csperfthread](https://github.com/fggp/go-csperfthread) - Go binding to the CsoundPerformanceThread helper class of the Csound6 API |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 592 | * [goexif](https://github.com/rwcarlsen/goexif) - Retrieve EXIF metadata from image files |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 593 | * [go-gd](https://github.com/bolknote/go-gd) - Go bingings for GD |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 594 | * [GoGL](https://github.com/chsc/GoGL) - OpenGL binding generator |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 595 | * [go-gnuplot](https://bitbucket.org/binet/go-gnuplot) - go bindings for GNUPlot |
| 596 | * [go-gtk3](https://github.com/norisatir/go-gtk3) - gtk3 bindings for go |
| 597 | * [go-heatmap](https://github.com/dustin/go-heatmap) - A toolkit for making heatmaps |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 598 | * [GoHM](https://github.com/rainliu/GoHM) - H.265/HEVC HM Video Codec in Go |
| 599 | * [goHorde](http://code.google.com/p/gohorde/) - Go Bindings for the Horde3d Rendering engine. |
| 600 | * [GoMacDraw](https://github.com/skelterjohn/gmd) - A mac implementation of go.wde |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 601 | * [go-openal](https://github.com/phf/go-openal) - Experimental OpenAL bindings for Go |
| 602 | * [go-opencl](https://github.com/tones111/go-opencl) - A go wrapper to the OpenCL heterogeneous parallel programming library |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 603 | * [Go-OpenGL](https://github.com/banthar/Go-OpenGL) - Go bindings for OpenGL |
| 604 | * [Goop](https://github.com/peterbourgon/goop) - Audio synthesizer engine |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 605 | * [goray](http://goray.sourceforge.net/) - Raytracer written in Go, based on Yafaray |
| 606 | * [gosc](https://bitbucket.org/liamstask/gosc) - Pure Go OSC (Open Sound Control) library |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 607 | * [go-taglib](https://github.com/wtolson/go-taglib) - Go wrapper for TagLib, an audio meta-data parser |
| 608 | * [go-tmx](https://github.com/salviati/go-tmx) - A Go library that reads Tiled's TMX files |
| 609 | * [GoVisa](https://github.com/rainliu/GoVisa) - H265/HEVC Bitstream Analyzer in Go |
| 610 | * [go-vlc](https://github.com/jteeuwen/go-vlc) - Go bindings for libVLC |
| 611 | * [go.wde](https://github.com/skelterjohn/go.wde) - A windowing/drawing/event interface |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 612 | * [goxscr](http://goxscr.googlecode.com) - Go rewrites of xscreensaver ports |
| 613 | * [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer |
| 614 | * [hgui](https://github.com/zozor/hgui) - Gui toolkit based on http and gtk-webkit. |
| 615 | * [imaging](https://github.com/disintegration/imaging) - Package imaging provides basic image manipulation functions (resize, rotate, flip, crop, etc.) as well as simplified image loading and saving. |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 616 | * [netpbm](https://github.com/spakin/netpbm) - Read and write Netpbm images from Go programs |
| 617 | * [opencv](https://github.com/chai2010/opencv/) - Go bindings for OpenCV |
| 618 | * [Plotinum](https://code.google.com/p/plotinum) - An API for creating plots |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 619 | * [portaudio](http://code.google.com/p/portaudio-go/) - A Go binding to PortAudio |
| 620 | * [pulsego](https://github.com/moriyoshi/pulsego/) - Go binding for PulseAudio |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 621 | * [pulse-simple](https://github.com/mesilliac/pulse-simple/) - Go bindings for PulseAudio's Simple API, for easy audio capture and playback. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 622 | * [resize](https://github.com/nfnt/resize) - Image resizing with different interpolations. |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 623 | * [smartcrop](https://github.com/muesli/smartcrop) - Content aware image cropping |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 624 | * [starfish](https://github.com/gtalent/starfish) - A simple Go graphics and user input library, built on SDL |
| 625 | * [stl](https://github.com/hschendel/stl) - library for reading, writing, and manipulating Stereolithography (.stl) files used in 3D printing |
| 626 | * [svgo](https://github.com/ajstarks/svgo) - a library for creating and outputting SVG |
| 627 | * [tga](https://github.com/ftrvxmtrx/tga) - TARGA image format encoding/decoding library |
chai2010 | cbaa9bd | 2015-02-24 08:51:21 +0800 | [diff] [blame] | 628 | * [tiff](https://github.com/chai2010/tiff) - Rich TIFF/BigTIFF/GeoTIFF decoder/encoder for Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 629 | * [videoinput](https://github.com/chai2010/videoinput) - Go bindings for VideoInput (Windows). |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 630 | * [vu](https://github.com/gazed/vu) - Virtual Universe. A skeleton 3D engine. |
chai2010 | cbaa9bd | 2015-02-24 08:51:21 +0800 | [diff] [blame] | 631 | * [webp](https://github.com/chai2010/webp) - WebP decoder and encoder for Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 632 | * [window](https://github.com/jbrukh/window) - Optimized moving window for real-time data |
| 633 | * [wingo](https://github.com/BurntSushi/wingo) - A fully-featured window manager written in Go. |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 634 | * [Winhello](https://github.com/MalcolmJSmith/Winhello) - An example Windows GUI hello world application |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 635 | * [wxGo](https://github.com/JeroenD/wxGo) - Go Wrapper for the wxWidgets GUI |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 636 | * [xgb](https://github.com/BurntSushi/xgb) - A fork of the x-go-binding featuring support for thread safety and all X extensions. |
| 637 | * [xgbutil](https://github.com/BurntSushi/xgbutil/) - A utility library to make use of the X Go Binding easier. (Implements EWMH and ICCCM specs, key binding support, etc.) |
Scott Pakin | e1ee8b3 | 2015-02-07 11:05:06 -0700 | [diff] [blame] | 638 | * [x-go-binding](http://code.google.com/p/x-go-binding/) - bindings for the X windowing system |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 639 | |
| 640 | ## GUIs and Widget Toolkits |
| 641 | |
| 642 | * [go-fltk](https://github.com/zot/go-fltk) - FLTK2 GUI toolkit bindings for Go |
| 643 | * [go-gtk](https://github.com/mattn/go-gtk) - Bindings for GTK |
whit3 | cbc3a93 | 2015-02-27 16:38:31 +0100 | [diff] [blame^] | 644 | * [go-qt5](https://github.com/salviati/go-qt5) - QT5 bindings for go |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 645 | * [go.uik](https://github.com/skelterjohn/go.uik) - A UI kit for Go, in Go. (project is closed) |
| 646 | * [GoQuick](https://gitorious.org/goquick) - Go and Qt Quick experimentation |
| 647 | * [gothic](https://github.com/nsf/gothic) - Tcl/Tk Go bindings |
| 648 | * [gotk3](https://github.com/conformal/gotk3) - Go bindings for GTK3, requires GTK version 3.8 |
| 649 | * [go-webkit2](https://sourcegraph.com/github.com/sourcegraph/go-webkit2) - Go bindings for the WebKitGTK+ v2 API (w/headless browser & JavaScript support) |
| 650 | * [Gowut](https://sites.google.com/site/gowebuitoolkit/) - Gowut (Go Web UI Toolkit) is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go, no platform dependent native code is linked or called. |
| 651 | * [iup](https://github.com/grd/iup) - Bindings for [IUP](http://www.tecgraf.puc-rio.br/iup) |
| 652 | * [mdtwm](https://github.com/ziutek/mdtwm) - Tiling window manager for X |
| 653 | * [qml](https://github.com/niemeyer/qml) - QML support for the Go language |
whit3 | cbc3a93 | 2015-02-27 16:38:31 +0100 | [diff] [blame^] | 654 | * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 655 | |
| 656 | ## Hardware |
| 657 | |
| 658 | * [go.hid](https://github.com/GeertJohan/go.hid) - Provides communication with USB Human Interface Devices. |
| 659 | * [hwio](https://github.com/mrmorphic/hwio) - Hardware I/O library for SoC boards including BeagleBone Black and Raspberry Pi. |
| 660 | * [gortlsdr](https://github.com/jpoirier/gortlsdr) - A librtlsdr wrapper, which turns certain USB DVB-T dongles into a low-cost, general purpose software-defined radio receiver. |
| 661 | |
| 662 | ## Language and Linguistics |
| 663 | |
| 664 | * [alpinocorpus-go](https://github.com/rug-compling/alpinocorpus-go) - A reader and a writer for Alpino corpora. |
| 665 | * [go-aspell](https://github.com/trustmaster/go-aspell) - GNU Aspell spell checking library bindings for Go. |
| 666 | * [go-language](https://github.com/matiasinsaurralde/go-language) - A simple language detector using letter frequency data. |
| 667 | * [go.stringmetrics](https://github.com/robyoung/go.stringmetrics) - String distance metrics implemented in Go |
| 668 | * [inflect](https://bitbucket.org/pkg/inflect) - Word inflection library (similar to Ruby ActiveSupport::Inflector). Singularize(), Pluralize(), Underscore() etc. |
| 669 | * [libtextcat](https://github.com/pebbe/libtextcat) - A Go wrapper for libtextcat. |
| 670 | * [textcat](https://github.com/pebbe/textcat) - N-gram based text categorization, with support for utf-8 and raw text |
| 671 | * [sego](https://github.com/huichen/sego) - Chinese language segmenter. |
| 672 | * [goling](https://github.com/gyuho/goling) - String Similarity(Cosine Similarity, Levenshtein Distance), Spell Check, Segmentation |
| 673 | * [gobay](https://github.com/gyuho/gobay) - Naive Bayesian Classifier (Sentiment Analysis) |
| 674 | * [gocha](https://github.com/gyuho/gocha) - CHILDES data analyzing tool |
| 675 | * [gomata](https://github.com/gyuho/gomata) - Automata Theory, Computational Linguistics |
| 676 | |
| 677 | |
| 678 | ## Logging |
| 679 | |
| 680 | * [glog](https://github.com/golang/glog) - Leveled execution logs for Go |
| 681 | * [go-logging](https://github.com/op/go-logging) - Supports different logging backends like syslog, file and memory. Multiple backends can be utilized with different log levels per backend and logger. |
| 682 | * [factorlog](https://github.com/kdar/factorlog) - Really fast, featureful logging infrastructure (supports colors, verbosity, and many formats) |
| 683 | * [jWalterWeatherman](https://github.com/spf13/jwalterweatherman) - Seamless terminal printing and file logging that’s as easy to use as fmt.Println |
| 684 | * [seelog](https://github.com/cihub/seelog) - Flexible dispatching, filtering, and formatting |
| 685 | * [spacelog](https://github.com/spacemonkeygo/spacelog) - Hierarchical, leveled, and structured logging library for Go |
| 686 | * [timber](https://github.com/ngmoco/timber) - Configurable Logger for Go |
| 687 | * [log4go](http://log4go.googlecode.com/) - Go logging package akin to log4j |
| 688 | * [syslog](https://github.com/ziutek/syslog) - With this package you can create your own syslog server with your own handlers for different kind of syslog messages |
| 689 | * [graylog-golang](https://github.com/robertkowalski/graylog-golang) - graylog-golang is a full implementation for sending messages in GELF (Graylog Extended Log Format) from Google Go (Golang) to Graylog |
| 690 | * [rfw](https://github.com/mipearson/rfw) - Rotating file writer - a 'logrotate'-aware file output for use with loggers |
| 691 | * [sd](https://github.com/aletheia7/sd) - Writes to the systemd journal, supports user defined systemd journal fields |
| 692 | |
| 693 | ## Machine Learning |
| 694 | * [go-pr](https://github.com/daviddengcn/go-pr) - Gaussian classifier. |
| 695 | * [go\_ml](https://github.com/alonsovidales/go_ml) - Linear Regression, Logistic Regression, Neural Networks, Collaborative Filtering, Gaussian Multivariate Distribution. |
| 696 | * [bayesian](https://github.com/jbrukh/bayesian) - A naive bayes classifier. |
| 697 | * [go-galib](https://github.com/thoj/go-galib) - Genetic algorithms. |
| 698 | * [go-porterstemmer](https://github.com/reiver/go-porterstemmer) - An efficient native Go clean room implementation of the Porter Stemming algorithm. |
| 699 | * [paicehusk](https://github.com/Rookii/paicehusk) - Go implementation of the Paice/Husk Stemmer |
| 700 | * [snowball](https://bitbucket.org/tebeka/snowball) - Snowball stemmer |
| 701 | * https://github.com/daviddengcn/go-algs/tree/master/maxflow Maxflow (graph-cuts) energy minimization library. |
| 702 | |
| 703 | |
| 704 | ## Mathematics |
| 705 | |
| 706 | * [Cvx](https://github.com/hrautila/cvx) - Convex optimization package, port of CVXOPT python package |
| 707 | * [go\_matrix\_cuda](https://godoc.org/github.com/alonsovidales/go_matrix_cuda) - GPU-Accelerated Linear Algebra Libraries based in CUDA |
| 708 | * [Units](https://github.com/smyrman/units) - Implements types, units, converter functions and some mathematics for some common physical types. lib |
| 709 | * [bayesian](https://github.com/jbrukh/bayesian) - Naive Bayesian Classification for Go |
| 710 | * [blas](https://github.com/ziutek/blas) - Go implementation of BLAS (Basic Linear Algebra Subprograms) |
| 711 | * [cartconvert](https://github.com/the42/cartconvert) - cartography functions for the Go programming language |
| 712 | * [dice](https://github.com/tonio-ramirez/dice) - Dice rolling library |
| 713 | * [evaler](https://github.com/soniah/evaler) - A simple floating point arithmetic expression evaluator |
| 714 | * [fixed](https://github.com/klkblake/fixed) - A fixed point (Q32.32 format) math library. |
| 715 | * [geom](https://github.com/skelterjohn/geom) - 2d geometry. |
| 716 | * [go.mahalanobis](https://github.com/ant0ine/go.mahalanobis) - Naive implementation of the Mahalanobis distance using go.matrix |
| 717 | * [go-fftw](https://github.com/runningwild/go-fftw) - Go bindings for FFTW - The Fastest Fourier Transform in the West |
| 718 | * [go-fn](https://code.google.com/p/go-fn/) - Special functions that would not fit in "math" pkg |
| 719 | * [go-gt](https://code.google.com/p/go-gt/) - Graph theory algorithms |
| 720 | * [go-humanize](https://github.com/dustin/go-humanize) - Formatting numbers for humans. |
| 721 | * [go-lm](https://github.com/awblocker/go-lm) - Linear models in Go. Provides WLS and regression with t residuals via a cgo -> BLAS/LAPACK interface. |
| 722 | * [go-symexpr](https://github.com/verdverm/go-symexpr) - Symbolic math as an AST with derivatives, simplification, and non-linear regression |
| 723 | * [go.matrix](https://github.com/skelterjohn/go.matrix) - a linear algebra package |
| 724 | * [gochipmunk](https://github.com/paulcoyle/gochipmunk) - Go bindings to the Chipmunk Physics library. |
| 725 | * [gocomplex](http://code.google.com/p/gocomplex/) - a complex number library |
| 726 | * [godec](http://code.google.com/p/godec/) - multi-precision decimal arithmetic |
| 727 | * [gographviz](http://code.google.com/p/gographviz) - Graphviz DOT language parser for Go |
| 728 | * [gomat](http://code.google.com/p/gomat/) - lightweight FAST matrix and vector math |
| 729 | * [gsl](https://bitbucket.org/mingzhi/gsl) - GNU Scientific Library bindings |
| 730 | * [mathutil](https://github.com/cznic/mathutil) - Package mathutil provides utilities supplementing the standard 'math' and 'rand' packages. |
| 731 | * [mt19937\_64](https://github.com/farces/mt19937_64) - Mersenne Twister int64 random source |
| 732 | * [polyclip.go](https://github.com/akavel/polyclip.go) - Go implementation of algorithm for Boolean operations on 2D polygons |
| 733 | * [pso-go](https://github.com/tenntenn/pso-go) - A library of PSO (Particle Swarm Optimization) for Go. |
| 734 | * [rand](https://bitbucket.org/MaVo159/rand) - 64-bit version of the math/rand package with Mersenne twister support. |
| 735 | * [statistics](https://github.com/grd/stat) - GNU GSL Statistics (GPLv3) |
| 736 | * [vector](https://github.com/proxypoke/vector) - A small vector lib. |
| 737 | * [goris](https://github.com/gyuho/goris) - Timeseries database. |
| 738 | * [gofd](https://bitbucket.org/gofd/gofd) - concurrent finite domain constraint solver. |
| 739 | |
| 740 | ## Misc |
| 741 | |
| 742 | * [GCSE](http://go-search.org/) - Go code search engine. [source](https://github.com/daviddengcn/gcse) |
| 743 | * [CGRates](https://github.com/rif/cgrates) - Rating system designed to be used in telecom carriers world |
| 744 | * [Go-PhysicsFS](https://github.com/DeedleFake/Go-PhysicsFS) - Go bindings for the PhysicsFS archive-access abstraction library. |
| 745 | * [go.pipeline](https://github.com/songgao/go.pipeline) - Library that emulates Unix pipelines |
| 746 | * [GoFlow](https://github.com/trustmaster/goflow) - Flow-based and dataflow programming library for Go |
| 747 | * [GoLCS](https://github.com/makokaka/goalgo/tree/master/algo) - Solve Longest Common Sequence problem in go |
| 748 | * [Gotgo](https://github.com/droundy/gotgo) - A Go preprocessor that provides an implementation of generics |
| 749 | * [Hranoprovod](https://github.com/aquilax/hranoprovod-go) - Command-line calorie tracking |
| 750 | * [Space Monkey Monitor](https://github.com/spacemonkeygo/monitor) - A flexible process data collection, monitoring, and instrumentation library for Go |
| 751 | * [Tideland CGL Monitoring](http://code.google.com/p/tcgl/) - Flexible monitoring of your application |
| 752 | * [atexit](https://bitbucket.org/tebeka/atexit) - Simple atexit library |
| 753 | * [bÃogo](http://code.google.com/p/biogo/) - Basic bioinformatics functions for the Go language. |
| 754 | * [cast](https://github.com/spf13/cast) - Safe and easy casting from one type to another in Go |
| 755 | * [cpu](https://github.com/jpoirier/cpu) - A Go package that reports processor topology |
| 756 | * [cron](https://github.com/robfig/cron) - A library for running jobs (funcs) on a cron-formatted schedule |
| 757 | * [dbus-go](http://code.google.com/p/dbus-go/) - D-Bus Go library |
| 758 | * [desktop](https://bitbucket.org/tebeka/desktop) - Open file/uri with default application (cross platform) |
| 759 | * [devboard](https://launchpad.net/devboard) - Kanban board application based on Simple-Khanban |
| 760 | * [dump](http://code.google.com/p/golang/source/browse/src/pkg/dump/) - An utility that dumps Go variables, similar to PHP's var\_dump |
| 761 | * [env](https://github.com/darkhelmet/env) - Easily pull environment variables with defaults |
| 762 | * [epub](https://gitorious.org/go-pkg/epub) - Bindings for libepub to read epub content. |
| 763 | * [faker](https://github.com/manveru/faker) - Generate fake data, names, text, addresses, etc. |
| 764 | * [fsnotify](https://github.com/howeyc/fsnotify) - File system notifications for Go |
| 765 | * [functional](https://github.com/tcard/functional) - Functional programming library including a lazy list implementation and some of the most usual functions. |
| 766 | * [go-amiando](https://github.com/ungerik/go-amiando) - Wrapper for the Amiando event management API |
| 767 | * [go-bit](http://code.google.com/p/go-bit/) - An efficient and comprehensive bitset implementation with utility bit functions. |
Chih-Min Chao | fceb722 | 2015-02-23 22:50:12 +0800 | [diff] [blame] | 768 | * [go-bitops](https://github.com/cmchao/go-bitops) - common bit operations for 32/64 bit integer |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 769 | * [go-business-creditcard](https://github.com/dsparling/go-business-creditcard) - Validate/generate credit card checksums/names. |
| 770 | * [gochem](http://github.com/rmera/gochem) - A computational chemistry/biochemistry library. |
| 771 | * [go-ean](https://github.com/nicholassm/go-ean) - A minimal utility library for validating EAN-8 and EAN-13 and calculating checksums. |
| 772 | * [go-eco](https://code.google.com/p/go-eco/) - Functions for use in ecology |
| 773 | * [go-erx](https://github.com/StepLg/go-erx) - Extended error reporting library |
| 774 | * [go-fann](https://github.com/white-pony/go-fann) - Go bindings for FANN, library for artificial neural networks |
| 775 | * [go-idn](http://code.google.com/p/go-idn/) - a project to bring IDN support to Go, feature compatible with libidn |
| 776 | * [go-metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library |
| 777 | * [go-osx-plist](https://github.com/kballard/go-osx-plist) - CoreFoundation Property List support for Go |
| 778 | * [go-papi](https://github.com/losalamos/go-papi) - Go interface to the PAPI performance API |
| 779 | * [go-pkg-mpd](https://github.com/jteeuwen/go-pkg-mpd) - A library to access the MPD music daemon |
| 780 | * [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 browser and exposes some simpel single/multi-node search functions |
| 781 | * [go-qrand](https://github.com/salviati/go-qrand) - Go client for quantum random bit generator service at random.irb.hr |
| 782 | * [go-semvar](http://code.google.com/p/go-semver/) - Semantic versions (see http:/semver.org) |
| 783 | * [go-taskstats](https://github.com/salviati/go-taskstats) - Go interface for Linux taskstats |
| 784 | * [go-translate](https://github.com/mattn/go-translate) - Google Language Translate library |
| 785 | * [go-uuid](https://code.google.com/p/go-uuid/) - Universal Unique IDentifier generator and parser |
| 786 | * [go.dbus](https://github.com/guelfey/go.dbus) - Native Go library for D-Bus |
| 787 | * [go.pcsclite](https://github.com/ebfe/go.pcsclite) - Go wrapper for pcsc-lite |
| 788 | * [goNI488](https://github.com/jpoirier/goNI488) - A Go wrapper around National Instruments NI488.2 General Purpose Interface Bus (GPIB) driver. |
| 789 | * [goPromise](https://github.com/anschelsc/goPromise/) - Scheme-like delayed evaluation for Go |
| 790 | * [goST](https://bitbucket.org/pseudomind/gost) - A steam properties (steam table) library written for Go. This was designed as a native go equivalent to XSteam. |
| 791 | * [gocsv](http://code.google.com/p/gocsv) - Library for CSV parsing and emitting |
| 792 | * [goga](https://github.com/rrs/goga) - A genetic algorithm framework |
| 793 | * [gogobject](https://github.com/nsf/gogobject) - GObject-introspection based bindings generator |
| 794 | * [golife](https://github.com/r2p2/golife) - Implementation of Game of Life for command line |
| 795 | * [go-magic](https://code.google.com/p/go-magic/) - A Go wrapper for libmagic |
| 796 | * [go-magic](https://github.com/kwilczynski/go-magic) - Simple interface to libmagic for Go Programming Language |
| 797 | * [gomusicbrainz](https://github.com/michiwend/gomusicbrainz) - MusicBrainz WS2 client library |
| 798 | * [gommap](https://launchpad.net/gommap) - gommap enables Go programs to directly work with memory mapped files and devices in a very efficient way |
| 799 | * [goneuro](https://github.com/jbrukh/goneuro) - Go driver for NeuroSky devices. |
| 800 | * [goplan9](http://code.google.com/p/goplan9/) - libraries for interacting with Plan 9 |
| 801 | * [goraphing](http://code.google.com/p/goraphing/) - A tool to generate a simple graph data structures from JSON data files |
| 802 | * [go-ses](https://github.com/sourcegraph/go-ses) - Amazon AWS Simple Email Service (SES) API client |
| 803 | * [go-systemd](https://github.com/3M3RY/go-systemd) - Utility functions for interacting with the systemd init system |
| 804 | * [twitterfetcher](https://bitbucket.org/georgebaev/twitterfetcher) - A tool to make Twitter API requests using the [Application-only authentication](https://dev.twitter.com/docs/auth/application-only-auth) |
| 805 | * [gouuid](https://github.com/nu7hatch/gouuid) - Pure Go UUID v3, 4 and 5 generator compatible with RFC4122 |
| 806 | * [Prometheus Instrumentation/Metrics Client](https://github.com/prometheus/client_golang) - This is a whitebox instrumentation framework for servers written in Go. It exposes programmatically-generated metrics automatically for use in the Prometheus time series collection and post-processing environment. |
| 807 | * [lineup](https://github.com/jdp/lineup) - A minimalistic message queue server |
| 808 | * [mimemail](https://github.com/chrneumann/mimemail.git) - Construct plain text MIME messages for use with net/smtp. |
| 809 | * [mitigation](https://github.com/sarnowski/mitigation) - Package mitigation provides the possibility to prevent damage caused by bugs or exploits. |
| 810 | * [nma.go](https://github.com/dustin/nma.go) - A NotifyMyAndroid client for go. |
| 811 | * [passwd](https://github.com/willdonnelly/passwd) - A parser for the /etc/passwd file |
| 812 | * [pool](https://github.com/stefantalpalaru/pool) - A generic worker pool |
| 813 | * [primegen.go](https://github.com/jbarham/primegen.go) - Sieve of Atkin prime number generator |
| 814 | * [procfile](https://github.com/hecticjeff/procfile) - A Procfile parser |
| 815 | * [randat](https://github.com/extemporalgenome/randat) - Devel tool for generating random bytestrings and encoding files in code-friendly forms |
| 816 | * [replaykit](https://github.com/dustin/replaykit) - A library for replaying time series data. |
| 817 | * [selenium](https://bitbucket.org/tebeka/selenium/src) - Selenium client |
| 818 | * [go-selenium](https://github.com/sourcegraph/go-selenium) - Selenium WebDriver client for Go |
| 819 | * [serial](https://github.com/ziutek/serial) - Serial ports API (pure Go) |
mikepb | f9c27ca | 2014-12-14 11:38:51 -0800 | [diff] [blame] | 820 | * [go-serial](https://github.com/mikepb/go-serial) - Go binding to libserialport for serial port functionality (cgo). |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 821 | * [sio](https://github.com/schleibinger/sio) - Package sio lets you access old serial junk. It's a go-gettable fork and modification of dustin's rs232 package. |
| 822 | * [symutils](https://github.com/salviati/symutils) - Various tools and libraries to handle symbolic links |
| 823 | * [udis86](https://github.com/jroimartin/udis86) - Go bindings for libudis86 |
| 824 | * [xplor](http://bitbucket.org/mpl/xplor) - Files tree browser for p9p acme |
| 825 | * [yubigo](https://github.com/GeertJohan/yubigo) - Yubikey OTP validation and auhtentication API client. |
| 826 | * [go-villa](https://github.com/daviddengcn/go-villa) - Some miscellaneous wrapper and small algorithms.(wrappers to slices, priority queues, path related apis, a string set type) |
Manan Patel | 2c0c101 | 2015-02-25 16:15:22 -0800 | [diff] [blame] | 827 | * [btcrpcclient](https://github.com/btcsuite/btcrpcclient) - A Websocket-enabled Bitcoin JSON-RPC client. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 828 | * [Breaker](https://github.com/matttproud/golang_circuitbreaker) - Breaker enables graceful degraded mode operations by means of wrapping unreliable interservice interface points with circuit breaker primitives. |
| 829 | * [Wukong](https://github.com/huichen/wukong) - A highly extensible full-text search engine written in Go. |
| 830 | * [gotenv](https://github.com/subosito/gotenv) - Loads environment variables from ` .env ` file |
| 831 | * [daemonigo](https://github.com/tyranron/daemonigo) - A simple library to daemonize Go applications. |
| 832 | * [go-eventsocket](https://github.com/fiorix/go-eventsocket) - An event socket client/server library for the [FreeSWITCH](https://freeswitch.org) telephony platform. |
asaskevich | c3a9ab5 | 2014-12-22 06:12:09 -0800 | [diff] [blame] | 833 | * [EventBus](https://github.com/asaskevich/EventBus) - Lightweight event bus with async compatibility for Go . |
Vladislav Supalov | 36dd1fa | 2015-01-23 13:56:11 +0100 | [diff] [blame] | 834 | * [Vboxgo](https://github.com/th4t/vboxgo) - user-like access to VirtualBox VMs from Go. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 835 | |
| 836 | |
| 837 | ## Music |
| 838 | |
| 839 | * [go-libshout](https://github.com/systemfreund/go-libshout) - Go bindings for libshout |
| 840 | * [gompd](http://code.google.com/p/gompd/) - A client interface for the MPD (Music Player Daemon) |
| 841 | * [portmidi](https://github.com/rakyll/portmidi) - Go bindings for libportmidi |
| 842 | * [launchpad](https://github.com/rakyll/launchpad) - A Go client for Novation Launchpad |
| 843 | * [go-csnd6](https://github.com/fggp/go-csnd6) - Go binding to the Csound6 API |
| 844 | * [go-csperfthread](https://github.com/fggp/go-csperfthread) - Go binding to the CsoundPerformanceThread helper class of the Csound6 API |
| 845 | * [gmask](https://github.com/fggp/gmask) - Go adaptation of the Cmask utility for Csound |
| 846 | |
| 847 | ## Networking |
| 848 | |
| 849 | * [Go Ajax](https://github.com/jeffreybolle/goajax) - Go Ajax is a JSON-RPC implementation designed to create AJAX powered websites. |
| 850 | * [GoSIPs](https://github.com/rainliu/gosips) - SIP (Session Initiation Protocol) Stack in Go |
| 851 | * [GoRTP](https://github.com/wernerd/GoRTP) - RTP / RTCP stack implementation for Go |
| 852 | * [QRP](https://github.com/liamzebedee/go-qrp) - QRP is a simple packet-based RPC protocol designed as a simple alternative to Go's rpc, that can run over UDP |
| 853 | * [Rsync](https://github.com/julian-gutierrez-o/rsync) - Rsync algorithm as a Go library |
| 854 | * [Tonika](http://5ttt.org) - Secure social networking platform |
| 855 | * [Uniqush](http://uniqush.org/) - A free and open source software which provides a unified push service for server-side notification to apps on mobile devices. |
| 856 | * [createsend-go](https://sourcegraph.com/github.com/sourcegraph/createsend-go/tree) - API client for [Monitor http://www.campaignmonitor.com](wiki/Campaign) (email campaign service) |
| 857 | * [VDED](https://github.com/jbuchbinder/vded) - Vector Delta Engine Daemon - track deltas in ever-increasing values (written in Go) |
| 858 | * [circle](https://github.com/losalamos/circle/) - Go interface to the [libcircle](http://hpc.github.io/libcircle/) distributed-queue API |
| 859 | * [dmrgo](https://github.com/dgryski/dmrgo) - Library for with Hadoop Streaming map/reduce |
| 860 | * [doozerconfig](https://github.com/srid/doozerconfig) - Go package for managing json-encoded configuration in Doozer |
| 861 | * [doozerd](https://github.com/ha/doozerd) - A consistent distributed data store |
| 862 | * [eventsource](https://github.com/antage/eventsource) - Server-sent events for net/http server. |
| 863 | * [gearman-go](https://bitbucket.org/mikespook/gearman-go) - A native implementation for Gearman API with Go. |
| 864 | * [glibvnc](https://github.com/LukeMauldin/glibvnc) - Go wrapper using CGO for the libvnc library. |
| 865 | * [gmail](https://github.com/SlyMarbo/gmail) - Simple library for sending emails from a Gmail account, for people not interested in dealing with protocol details. |
| 866 | * [go-curl](https://github.com/andelf/go-curl) - libcurl bingding that supports go func callbacks |
| 867 | * [go-dbus](https://github.com/norisatir/go-dbus) - A library to connect to the D-bus messaging system |
| 868 | * [go-icap](http://code.google.com/p/go-icap/) - ICAP (Internet Content Adaptation Protocol) server library |
| 869 | * [go-imap](https://github.com/martine/go-imap) - IMAP client library |
| 870 | * [go-mail](https://github.com/ungerik/go-mail) - Email utilities including RFC822 messages and Google Mail defaults. |
| 871 | * [nagiosplugin](https://github.com/fractalcat/nagiosplugin) - package for writing Nagios/monitoring plugins |
| 872 | * [go-nntp](https://github.com/dustin/go-nntp) - An NNTP client and server library for go |
| 873 | * [go-router](http://code.google.com/p/go-router/) - implementation of remote channel communication |
| 874 | * [go-rpcgen](https://github.com/kylelemons/go-rpcgen) - ProtoBuf RPC binding generator for net/rpc and AppEngine |
| 875 | * [go-socket.io](https://github.com/madari/go-socket.io) - A Socket.IO backend implementation written in Go |
| 876 | * [gosocks](https://github.com/hailiang/gosocks) - A SOCKS (SOCKS4, SOCKS4A and SOCKS5) proxy client library in Go. |
| 877 | * [go9](http://code.google.com/p/go9) - an implementation of the 9P distributed file system protocol |
| 878 | * [go9p](http://code.google.com/p/go9p/) - 9p protocol implementation in Go |
| 879 | * [goagain](https://github.com/rcrowley/goagain) - zero-downtime restarts in Go |
| 880 | * [gobeanstalk](https://github.com/iwanbk/gobeanstalk) - Go Beanstalkd client library |
| 881 | * [gogammu](https://github.com/ziutek/gogammu) - Library for sending and receiving SMS |
| 882 | * [gonetbench](https://github.com/nu7hatch/gonetbench) - Simple TCP benchmarking tool |
| 883 | * [gonetcheck](https://github.com/bjdean/gonetcheck) - package for checking general internet access |
| 884 | * [gopacket](http://code.google.com/p/gopacket) - Packet encoding/decoding, pcap/pfring/afpacket support, TCP assembly, and more! |
| 885 | * [gopcap](https://github.com/akrennmair/gopcap) - A simple wrapper around libpcap |
| 886 | * [goprotobuf](http://code.google.com/p/goprotobuf/) - the Go implementation of Google's Protocol Buffers |
| 887 | * [gogoprotobuf](http://code.google.com/p/gogoprotobuf/) - another Go implementation of Protocol Buffers, but with extensions and code generation plugins. |
| 888 | * [golang\_protobuf\_extensions](https://github.com/matttproud/golang_protobuf_extensions) - Protocol Buffer extensions to support streaming message encoding and decoding. |
| 889 | * [goq](https://github.com/anandkunal/goq) - A persistent message queue written in Go. |
| 890 | * [goradius](https://github.com/kirves/goradius) - A Radius client written in Go |
| 891 | * [gosndfile](https://github.com/mkb218/gosndfile) - Go binding for libsndfile |
| 892 | * [gosnmp](https://github.com/soniah/gosnmp) - an SNMP library written in GoLang. |
| 893 | * [gozmq](https://github.com/alecthomas/gozmq) - Go Bindings for 0mq (zeromq/zmq) |
| 894 | * [handlersocket-go](https://github.com/bketelsen/handlersocket-go) - Go native library to connect to HandlerSocket interface of InnoDB tables |
| 895 | * [Hprose](https://github.com/hprose/hprose-go) - Hprose is a High Performance Remote Object Service Engine. |
| 896 | * [go-imap](https://github.com/mxk/go-imap) - Implementation of IMAP4rev1 client, as described in RFC 3501 |
| 897 | * [Inbucket](http://jhillyerd.github.io/inbucket/) - Inbucket is an email testing service; it will accept messages for any email address and make them available to view via a web interface. |
| 898 | * [ipaddr](https://github.com/mikioh/ipaddr) - basic functions for the manipulation of IP address prefixes and subsequent addresses as described in RFC 4632 and RFC 4291. |
| 899 | * [ipaddress](https://github.com/llimllib/ipaddress) - Convenient ip address functions: ip -> int, int -> ip, and IPNet broadcast address |
| 900 | * [iris](http://iris.karalabe.com) - Peer-to-peer messaging for back-end decentralization. |
| 901 | * [iris-go](https://github.com/karalabe/iris-go) - Go binding for the Iris decentralized messaging framework. |
| 902 | * [kafka.go](https://github.com/jdamick/kafka.go) - Producer & Consumer for the Kafka messaging system |
| 903 | * [ldap](https://github.com/mmitton/ldap) - Basic LDAP v3 functionality for the GO programming language. |
| 904 | * [mbxchan](https://bitbucket.org/levarnon/mbx) - An easy communication between distributed Go applications using standard Go channels and remote procedure calls. |
| 905 | * [NATS](https://github.com/apcera/nats) - NATS distributed messaging system client for Go |
| 906 | * [netsnail](https://github.com/purex01/netsnail) - A low-bandwidth simulator |
| 907 | * [npipe](https://github.com/natefinch/npipe) - a pure Go wrapper for Windows named pipes |
| 908 | * [netutils](https://github.com/timtadh/netutils) - Simple interface for turning TCP Sockets into channels. |
| 909 | * [opendap](https://github.com/mqu/openldap) - Go wrapper for Openldap |
| 910 | * [protorpc](https://github.com/chai2010/protorpc/) - Google Protocol Buffers RPC for Go and C++ |
| 911 | * [remotize](https://github.com/josvazg/remotize) - A remotize package and command that helps remotizing methods without having to chaneg their signatures for rpc |
| 912 | * [replican-sync](https://github.com/cmars/replican-sync) - An rsync algorithm implementation in Go |
| 913 | * [rs232](https://github.com/dustin/rs232.go) - Serial interface for those of us who still have modems (or arduinos) |
| 914 | * [rss](https://github.com/SlyMarbo/rss) - RSS parsing library. |
| 915 | * [seamless](https://bitbucket.org/tebeka/seamless) - Reverse TCP Proxy with HTTP management API |
| 916 | * [spdy](https://github.com/SlyMarbo/spdy) - SPDY library, wired into net/http, currently supporting servers only. |
| 917 | * [statsd-go](https://github.com/jbuchbinder/statsd-go) - Statsd implementation in Go, forked from gographite, which submits to Ganglia |
| 918 | * [stompngo](https://github.com/gmallard/stompngo) - A Stomp 1.1 Compliant Client |
| 919 | * [stompngo\_examples](https://github.com/gmallard/stompngo_examples) - Examples for stompngo. |
| 920 | * [telnet](https://github.com/ziutek/telnet) - A simple interface for interacting with Telnet connection |
| 921 | * [tcp\_fallback](https://github.com/Memset/tcp_fallback) - A TCP proxy implementing a simple fallback mechanism. |
| 922 | * [tcpmeter](https://code.google.com/p/tcpmeter) - A TCP throughput measuring tool |
| 923 | * [tcp](https://github.com/mikioh/tcp) - TCP-level socket options that allow manipulation of TCP connection facilities. |
| 924 | * [traceroute](https://github.com/aeden/traceroute) - A traceroute implementation |
| 925 | * [uritemplates](https://github.com/jtacoma/uritemplates) - A level 4 implementation of URI Templates (RFC 6570) |
| 926 | * [sockjs-go](https://github.com/fzzy/sockjs-go) - Implements server side counterpart for the SockJS-client browser library. |
| 927 | * [websocketd](https://github.com/joewalnes/websocketd) - HTTP server that converts STDIN/STDOUT program into WebSockets service. Also handles HTML and CGI. |
| 928 | * [zmq2](https://github.com/pebbe/zmq2) - A Go interface to ZeroMQ (zmq, 0MQ) version 2. |
| 929 | * [zmq3](https://github.com/pebbe/zmq3) - A Go interface to ZeroMQ (zmq, 0MQ) version 3. |
| 930 | * [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ (zmq, 0MQ) version 4. |
| 931 | * [Grumble](https://github.com/mkrautz/grumble) - Mumble (VoIP) server implementation |
| 932 | * [go-sslterminator](https://github.com/cmpxchg16/go-sslterminator) - SSL terminator proxy |
| 933 | * [gobench](https://github.com/cmpxchg16/gobench) - HTTP/HTTPS load test and benchmark tool |
| 934 | * [Gorilla WebSocket](https://github.com/gorilla/websocket) - WebSocket protocol implementation |
| 935 | * [apiproxy](https://sourcegraph.com/github.com/sourcegraph/apiproxy/tree) - proxy for HTTP/REST APIs with configurable cache timeouts |
| 936 | * [httpfstream](https://sourcegraph.com/github.com/sourcegraph/httpfstream/tree) - streaming append and follow of HTTP resources (using WebSockets) |
| 937 | * [goproxy](https://github.com/elazarl/goproxy) - a programmable HTTP proxy. |
| 938 | * [zero-downtime-daemon](https://bitbucket.org/PinIdea/zero-downtime-daemon) - Configurable zero downtime daemon (Hot Update) framework for any kind of TCP,HTTP,FCGI services |
| 939 | * [boom](https://github.com/rakyll/boom) - HTTP(s) benchmarking tool, Apache Benchmark replacement |
| 940 | * [gbench](https://github.com/sasanrose/gbench) - HTTP(s) Load Testing And Benchmarking Tool inspired by Apache Benchmark and Siege. |
| 941 | * [go-flowrate](https://github.com/mxk/go-flowrate) - Data transfer rate control (monitoring and limiting) |
| 942 | * [go-diameter](https://github.com/fiorix/go-diameter) - Diameter stack and Base Protocol (RFC 6733) |
| 943 | * [SOCKS5 Server](https://code.google.com/p/go-socks5) - Scalable SOCKS5 server with Access Control Lists |
| 944 | |
| 945 | #### DNS |
| 946 | * [dns](https://github.com/miekg/dns) - A DNS library in Go |
| 947 | * [dyndnscd](https://github.com/akrennmair/dyndnscd) - a configurable dyndns client |
| 948 | * [GeoDNS](https://github.com/abh/geodns) - geo-aware authoritative DNS server |
| 949 | * [grong](https://github.com/bortzmeyer/grong) - Small authoritative DNS name server |
| 950 | * [mdns](https://github.com/davecheney/mdns/) - Multicast DNS library for Go |
| 951 | * [bitz](https://github.com/nictuku/bitz) - BitMessage client node and library |
| 952 | * [dnsimple](https://github.com/pearkes/dnsimple) - an interface to the DNSimple API |
| 953 | |
| 954 | #### FTP |
| 955 | * [ftp](https://bitbucket.org/zombiezen/ftp/) - Package ftp provides a minimal FTP client as defined in RFC 959 |
| 956 | * [ftp4go](http://code.google.com/p/ftp4go/) - An FTP client for Go, started as a port of the standard Python FTP client library |
| 957 | * [goftp](https://github.com/jlaffaye/) - A FTP client library |
| 958 | * [ftps](https://github.com/webguerilla/ftps) - An implementation of the FTPS protocol |
| 959 | |
| 960 | #### Instant Messaging |
| 961 | |
| 962 | * [GoTY](http://logik.li/projects/goty) - "Go Troll Yourself", minimalist client IRC library |
| 963 | * [go-irc](https://github.com/husio/go-irc) - Simple IRC client library |
| 964 | * [go-xmpp](https://github.com/mattn/go-xmpp) - XMPP client library |
| 965 | * [gobir](http://code.google.com/p/kylelemons/source/browse?repo=gobir) - Extensible IRC bot with channel administration, seen support, and go documentation querying |
| 966 | * [goexmpp](http://code.google.com/p/goexmpp/) - XMPP client implementation |
| 967 | * [goirc](https://github.com/fluffle/goirc/) - event-based stateful IRC client framework |
| 968 | * [gorobot](https://github.com/aimxhaisse/gorobot) - a modular IRC bot |
| 969 | * [irc.go](http://code.google.com/p/go-bot/source/browse/irc.go) - Go IRC bot framework |
| 970 | * [ircflu](https://github.com/muesli/ircflu) - IRC bot with support for commands, scripting and web-hooks |
andrewclausen | 63bda90 | 2015-01-03 08:48:06 -0800 | [diff] [blame] | 971 | * [xmpp-client](https://github.com/agl/xmpp-client) - an XMPP client with OTR (off-the-record) support |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 972 | |
| 973 | ## Operating System Interfaces |
| 974 | |
| 975 | * [Go-fuse](https://github.com/hanwen/go-fuse) - Library to write FUSE filesystems in Go |
| 976 | * [Go FUSE file system library](http://bazil.org/fuse/) - From-scratch implementation of the kernel-userspace communication protocol based on Russ Cox'. |
| 977 | * [go-osx-xattr](https://github.com/bitcartel/go-osx-xattr) - Package xattr wraps OS X functions to manipulate the extended attributes of a file, directory and symbolic link. |
| 978 | * https://bitbucket.org/kardianos/service/overview - Service will install / un-install, start / stop, and run a program as a service (daemon) on Windows/Linux and OSX. |
| 979 | * https://github.com/measure/os - Metrics library for operating system measurements (Linux/MacOSX) |
| 980 | |
| 981 | ## Other Random Toys, Experiments and Example Code |
| 982 | |
| 983 | * [go-crazy](https://github.com/droundy/go-crazy) - An experimental source-to-source compiler for go |
| 984 | * [go-gtk-demo](https://github.com/pebbe/go-gtk-demo) - A demonstration of how to use GTK+ with Go. |
| 985 | * [go-hashmap](https://github.com/phf/go-hashmap) - A hash table in pure go as an experiment in Go performance |
| 986 | * [goconc](http://code.google.com/p/goconc/) - A collection of useful concurrency idioms and functions for Go, compiled |
| 987 | * [goplay](https://github.com/timtadh/goplay) - A bunch of random small programs in Go |
| 988 | * [lifegame-on-golang](https://github.com/horiuchi/lifegame-on-golang) - Game of Life in Go |
| 989 | * [linear](https://github.com/tychofreeman/Linear) - Playing around with the linear algebra |
| 990 | * [project euler in go](https://github.com/yyyc514/project_euler_in_go) - Solutions to Project Euler in Go also |
| 991 | * [shadergo](https://github.com/gyuque/shadergo) - shader test using Go |
| 992 | * [travisci-golang-example](https://github.com/atotto/travisci-golang-example) - Travis-CI example for Go |
| 993 | * [gosequence](https://github.com/gyuho/gosequence) - Slice, Map tricks, Stack, Queue |
| 994 | * [goroup](https://github.com/gyuho/goroup) - Set Theory |
| 995 | |
| 996 | ## P2P and File Sharing |
| 997 | |
| 998 | * [Taipei-Torrent](https://github.com/jackpal/Taipei-Torrent) - A BitTorrent client |
| 999 | * [ed2kcrawler](https://github.com/kevinwatt/ed2kcrawler) - eDonkey2000 link crawler |
| 1000 | * [gobit](https://github.com/jessta/gobit) - Bittorrent Client in Go |
| 1001 | * [gop2p](https://github.com/nacmartin/gop2p) - A simple p2p app to learn Go |
| 1002 | * [wgo](https://github.com/royger/wgo) - A simple BitTorrent client based in part on the Taipei-Torrent and gobit code |
| 1003 | * [DHT](https://github.com/nictuku/dht) - Kademlia DHT node used by Taipei-Torrent, compatible with BitTorrent |
| 1004 | |
| 1005 | ## Programming |
| 1006 | |
| 1007 | * [go-clang](http://bitbucket.org/binet/go-clang) - cgo bindings to the C-API of libclang |
| 1008 | * [go-galib](https://github.com/thoj/go-galib) - a library of Genetic Algorithms |
| 1009 | * [go-intset](https://github.com/phf/go-intset) - a library to work with bounded sets of integers, including multiple alternative implementations |
| 1010 | * [go-parse](https://github.com/vito/go-parse) - a Parsec-like parsing library |
| 1011 | * [godeferred](https://github.com/mattn/godeferred) - port of jsdeferred: http://cho45.stfuawsc.com/jsdeferred/ |
| 1012 | * [Shuffle](https://github.com/earthboundkid/shuffle) - Implementation of the Fisher–Yates shuffle (or Knuth shuffle) in Go. |
| 1013 | |
| 1014 | ## Scanner and Parser Generators |
| 1015 | |
| 1016 | * [ebnf2y](http://github.com/cznic/ebnf2y) - Utility for converting EBNF grammars into yacc compatible skeleton .y files. |
| 1017 | * [fsm](http://github.com/cznic/fsm) - FSM (NFA, DFA) utilities. |
| 1018 | * [gocc](http://code.google.com/p/gocc/) - Go Compiler Compiler |
| 1019 | * [golex](http://github.com/cznic/golex) - Lex/flex like fast (DFA) scanners generator. |
| 1020 | * [gopp](http://github.com/skelterjohn/gopp) - Go Parser Parser |
| 1021 | * [goyacc](http://github.com/cznic/goyacc) - Goyacc is a version of yacc generating Go parsers. |
| 1022 | * [Ragel](http://www.complang.org/ragel/) - State Machine Compiler |
cznic | c4025d2 | 2015-02-18 11:38:41 +0100 | [diff] [blame] | 1023 | * [y](http://github.com/cznic/y) - Package y converts .y (yacc) source files to data suitable for a parser generator. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1024 | |
Dmitry Savintsev | 5f7b888 | 2015-02-25 10:41:26 +0100 | [diff] [blame] | 1025 | ## Security |
| 1026 | |
Dmitry Savintsev | 16451a7 | 2015-02-25 11:26:02 +0100 | [diff] [blame] | 1027 | * [hyperfox](https://github.com/xiam/hyperfox) - a security tool for proxying and recording HTTP and HTTPs communications on a LAN |
| 1028 | * [webseclab](https://github.com/yahoo/webseclab) - a sample set of web security test cases and a toolkit to construct new ones |
Dmitry Savintsev | 5f7b888 | 2015-02-25 10:41:26 +0100 | [diff] [blame] | 1029 | |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1030 | ## Simulation Modeling |
| 1031 | |
| 1032 | * [godes](https://github.com/agoussia/godes) - Library for building discrete event simulation models |
| 1033 | |
| 1034 | ## Sorting |
| 1035 | |
| 1036 | * [funnelsort](https://github.com/eikeon/funnelsort) - Lazy funnel sort -- a cache-oblivious sorting algorithm |
| 1037 | * [Sortutil](http://patrickmylund.com/projects/sortutil/) - Nested, case-insensitive, and reverse sorting for Go. |
| 1038 | * [sortutil](https://github.com/cznic/sortutil) - Utilities supplemental to the Go standard "sort" package |
| 1039 | * [tarjan](http://github.com/looplab/tarjan) - Graph loop detection function based on Tarjan's algorithm |
| 1040 | * [timsort](https://github.com/psilva261/timsort) - Fast, stable sort, uses external comparator or sort.Interface |
| 1041 | |
| 1042 | ## Source Code Management |
| 1043 | |
| 1044 | * [go-deps](https://github.com/sourcegraph/go-deps) - Analyzes and recursively installs Go package deps (library functionality similar to ` go get `) |
| 1045 | * [go-pkgs](https://github.com/sourcegraph/go-pkgs) - Finds all matching packages in all of the GOPATH trees (library functionality similar to ` go list all `) |
| 1046 | * [hggofmt](http://bitbucket.org/ede/hggofmt/) - A Mercurial/hg extension with a hook to |
| 1047 | * [nut](https://github.com/AlekSi/nut) - Nut is a tool to manage versioned Go source code packages, called "nuts". |
| 1048 | * [vcstool](https://github.com/wjwwood/vcstool) - VCS abstraction tool |
| 1049 | * [go-diff](https://github.com/daviddengcn/go-diff) - A diff command for go languange showing semantic differences of two go source files. |
| 1050 | * [go-vcs](https://github.com/sourcegraph/go-vcs) - clone and check out revs of VCS repositories (git and hg support) |
| 1051 | * [go-vcsurl](https://github.com/sourcegraph/go-vcsurl) - Lenient VCS repository URL parsing library |
| 1052 | * [gogitver](https://github.com/aletheia7/gogitver) - Embeds a git tag (version string) into your application |
| 1053 | |
| 1054 | ## Strings and Text |
| 1055 | |
| 1056 | * [Black Friday](https://github.com/russross/blackfriday) - A markdown processor |
| 1057 | * [NTemplate](https://github.com/yohcop/ntemplate.go) - Nested Templates |
| 1058 | * [binarydist](https://github.com/kr/binarydist/) - Binary diff and patch |
| 1059 | * [columnize](https://code.google.com/p/go-columnize/) - format slice or array into aligned columns |
| 1060 | * [csvutil](https://github.com/bmatsuo/csvutil) - A heavy duty CSV reading and writing library. |
| 1061 | * [dgohash](https://github.com/dgryski/dgohash) - Collection of string hashing functions, including Murmur3 and others |
| 1062 | * [gettext](https://github.com/gosexy/gettext) - Feature complete, cgo |
| 1063 | * [gettext-go](https://github.com/chai2010/gettext-go/) - GNU's gettext support, written in pure Go |
| 1064 | * [go-guess](https://github.com/salviati/go-guess) - Go wrapper for libguess |
| 1065 | * [go-migemo](https://github.com/mattn/go-migemo) - migemo extension for go (Japanese incremental text search) |
| 1066 | * [goini](https://github.com/glacjay/goini) - A go library to parse INI files. |
| 1067 | * [golorem](https://github.com/drhodes/golorem) - lorem ipsum generator |
Zach Klippenstein | f05046a | 2015-01-08 21:48:08 -0800 | [diff] [blame] | 1068 | * [goregen](https://github.com/zach-klippenstein/goregen) - A Go library for generating random strings from regular expressions. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1069 | * [gosphinx](https://github.com/kpumuk/gosphinx) - A Go client interface to the Sphinx standalone full-text search engine |
| 1070 | * [gpKMP](https://github.com/paddie/goKMP) - String-matching in Go using the Knuth–Morris–Pratt algorithm |
| 1071 | * [hangul](https://github.com/suapapa/go_hangul) - Handy tools to manipulate Korean character. |
| 1072 | * [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents |
| 1073 | * [kview](https://github.com/ziutek/kview) - Simple wrapper for kasia.go templates. It helps to modularize content of a website |
| 1074 | * [mail.go](https://bitbucket.org/taruti/mail.go) - Parse email messages |
| 1075 | * [peg](https://github.com/badgerodon/peg) - Parsing Expression Grammer Parser |
| 1076 | * [polyglot](https://github.com/lxn/polyglot) - String translation utilities for Go |
| 1077 | * [pretty.go](https://github.com/kr/pretty.go) - Pretty-printing for go values |
| 1078 | * [rubex](https://github.com/moovweb/rubex) - A simple regular expression library that supports Ruby's regex syntax. It is faster than Regexp. |
| 1079 | * [scanner](http://code.google.com/p/golang/source/browse/src/pkg/scanner) - A text scanner that parses primitive types, analogous to Java's |
| 1080 | * [segment](https://github.com/llimllib/segment) - An implementation of Norvig's recursive word segmentation algorithm |
| 1081 | * [strogonoff](https://github.com/jbochi/strogonoff) - Stenography with Go |
| 1082 | * [strftime](https://bitbucket.org/tebeka/strftime) - strftime implementation |
| 1083 | * [strutil](https://github.com/cznic/strutil) - Package strutil collects utils supplemental to the standard strings package. |
| 1084 | * [text](https://github.com/kr/text) - Text paragraph wrapping and formatting |
| 1085 | * [go-colortext](https://github.com/daviddengcn/go-colortext) - Change the color of the text and background in the console, working both in Windows and other systems. |
| 1086 | * [goskirt](https://github.com/madari/goskirt) - Upskirt markdown library bindings for Go |
| 1087 | * [go-ngram](https://github.com/Lazin/go-ngram) N-gram index for Go |
| 1088 | * [govalidator](https://github.com/asaskevich/govalidator) - Package of string validators and sanitizers |
xojoc | e8a92f3 | 2015-02-24 01:08:20 +0100 | [diff] [blame] | 1089 | * [useragent](https://github.com/xojoc/useragent) - User agent string parser |
| 1090 | * [logparse](https://github.com/xojoc/logparse) - Parser for most common log formats |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1091 | |
| 1092 | ## Testing |
| 1093 | |
| 1094 | * [assert](https://github.com/chai2010/assert) - Assert for go test. |
seanpont | 6866222 | 2014-12-14 19:58:15 -0800 | [diff] [blame] | 1095 | * [assert](https://github.com/seanpont/assert) - JUnit-like asserts with excellent error messages |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1096 | * [downtest](https://github.com/jmcvetta/downtest) - Automatically run tests for all known downstream consumers of a Go package. |
| 1097 | * [go2xunit](https://bitbucket.org/tebeka/go2xunit) - Convert "go test -v" output to xunit XML output |
| 1098 | * [goautotest](https://github.com/ryanslade/goautotest) - Automatically run unit tests when code changes are made |
Michael Whatcott | 57b284a | 2015-02-26 23:41:51 -0700 | [diff] [blame] | 1099 | * [goblin](https://github.com/franela/goblin) - Minimal and Beautiful Go testing framework |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1100 | * [GoConvey](http://goconvey.co) - Browser-based reporting, uses ` go test `, supports traditional Go tests, clean DSL |
| 1101 | * [gocov](https://github.com/axw/gocov) - Code coverage testing/analysis tool |
| 1102 | * [ginkgo](https://github.com/onsi/ginkgo) - BDD Testing Framework for Go. |
| 1103 | * [Gocheck](http://labix.org/gocheck) - Rich test framework with suites, fixtures, assertions, good error reporting, etc |
| 1104 | * [gomega](https://github.com/onsi/gomega) - Ginkgo's Preferred Matcher Library. |
| 1105 | * [gomock](http://code.google.com/p/gomock/) - a mocking framework for Go. |
| 1106 | * [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained and type-safe mocks. |
| 1107 | * [GoSpec](https://github.com/orfjackal/gospec) - a BDD framework |
| 1108 | * [gospecify](https://github.com/stesla/gospecify) - another BDD framework |
| 1109 | * [go-stat](https://github.com/mreiferson/go-stat) - performant instrumentation/profiling for Go |
| 1110 | * [go-tap](https://github.com/Merovius/go-tap) - TAP (Test Anything Protocol) parser in Go |
Michael Whatcott | 25f0459 | 2015-02-26 23:40:14 -0700 | [diff] [blame] | 1111 | * [gounit](https://github.com/mdwhatcott/gounit) - xunit for Go |
cznic | c4025d2 | 2015-02-18 11:38:41 +0100 | [diff] [blame] | 1112 | * [GSpec](https://github.com/hailiang/gspec) - _Expressive, reliable, concurrent and extensible_ Go test framework that makes it productive to organize and verify the mind model of software. |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1113 | * [Nitro](https://github.com/spf13/nitro) - A quick and simple profiler For Go |
| 1114 | * [testflight](https://github.com/drewolson/testflight) - Painless http testing in Go |
| 1115 | * [terst](https://github.com/robertkrimen/terst) - A terse, easy-to-use testing library for Go |
| 1116 | * [Testify](https://github.com/stretchrcom/testify) - A set of packages that provide many tools for testifying that your code will behave as you intend. |
| 1117 | * [Tideland CGL Asserts](http://code.google.com/p/tcgl/) - Make asserts during testing and inside of your applications |
| 1118 | * [go-assert](http://github.com/daviddengcn/go-assert) - Testing utils for Go. |
| 1119 | * [test2doc](https://code.google.com/p/test2doc/) - Generate documentation for your go units from your unit tests. |
| 1120 | |
| 1121 | ## Virtual Machines and Languages |
| 1122 | |
| 1123 | * [Gelo](http://code.google.com/p/gelo/) - Extensible, embeddable interpreter |
| 1124 | * [GoForth](https://github.com/ArtemTitoulenko/GoForth) - A simple Forth parser |
| 1125 | * [GoLightly](https://github.com/feyeleanor/GoLightly) - A flexible and lightweight virtual machine with runtime-configurable instruction set |
| 1126 | * [Golog](https://github.com/mndrix/golog) - Prolog interpreter in Go |
| 1127 | * [Minima](https://github.com/opesun/minima) - A language implemented in Go. |
| 1128 | * [RubyGoLightly](https://github.com/feyeleanor/RubyGoLightly) - An experimental port of TinyRb to Go |
| 1129 | * [forego](https://github.com/unixdj/forego) - Forth virtual machine |
| 1130 | * [go-python](https://github.com/sbinet/go-python) - go bindings for CPython C-API |
| 1131 | * [GoEmPHP](https://github.com/mikespook/goemphp) - This package is built for Embedding PHP into Go. |
| 1132 | * [goenv](https://github.com/smyrman/goenv) - Create an isolated environment where you install Go packages, binaries, or even C libraries. Very similar to virtualenv for Python. |
| 1133 | * [golemon](https://github.com/nsf/golemon) - A port of the Lemon parser-generator |
| 1134 | * [goll1e](https://github.com/realistschuckle/goll1e) - An LL(1) parser generator for the Go programming language. |
| 1135 | * [golua](https://github.com/afitz/golua) - Go wrapper for LUA's C API |
| 1136 | * [golua-fork](https://github.com/xenith-studios/golua) - A fork of GoLua that works on current releases of Go |
| 1137 | * [gotcl](http://code.google.com/p/gotcl/) - Tcl interpreter in Go |
| 1138 | * [meme](http://bitbucket.org/anacrolix/meme) - Scheme interpreter in Go |
| 1139 | * [ngaro](http://www.anarchyinthetubes.com/hg/go/ngaro) - A ngaro virtual machine to run retroForth images |
| 1140 | * [otto](https://github.com/robertkrimen/otto) - A JavaScript parser and interpreter written natively in Go |
| 1141 | * [monkey](https://github.com/realint/monkey) - Embed SpiderMonkey, the Mozilla JavaScript engine, in your Go program. |
Ivan Fraixedes | fffe8f1 | 2015-02-26 10:11:34 +0000 | [diff] [blame] | 1142 | * [go-v8](https://github.com/lazytiger/go-v8) - V8 JavaScript engine bindings for Go |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1143 | * [gomruby](https://github.com/AlekSi/gomruby) - mruby (mini Ruby) bindings for Go |
| 1144 | * [LispEx](https://github.com/kedebug/LispEx) - A dialect of Lisp extended to support for concurrent programming, written in Go. |
| 1145 | |
| 1146 | |
| 1147 | ## Web Applications |
| 1148 | |
| 1149 | * [Digestw](https://github.com/mocchira/digestw) - A Web Application - Twitter's Timeline Digest |
| 1150 | * [GoURLShortener](https://github.com/NickPresta/GoURLShortener) - A frontend for the http://is.gd/ URL shortener |
| 1151 | * [Hugo](https://github.com/spf13/hugo) - A fast and flexible static site generator implemented in Go |
| 1152 | * [Já Vai Tarde](https://github.com/nictuku/javaitarde) - Unfollows monitoring for Twitter |
| 1153 | * [fourohfourfound](https://github.com/whee/fourohfourfound/) - A fallback HTTP server that may redirect requests with runtime configurable redirections |
| 1154 | * [goals-calendar](https://github.com/nono/goals-calendar) - A web-based Seinfeld calendar implemented in Go |
| 1155 | * [goblog](https://github.com/begoon/begoon.github.com) - A static blog engine |
| 1156 | * [go\_spider](https://github.com/hu17889/go_spider) - A flexible ,modularization and concurrent web crawler framework. |
| 1157 | * [gocrawl](https://github.com/PuerkitoBio/gocrawl) - A polite, slim and concurrent web crawler. |
| 1158 | * [goflash](https://sourceforge.net/p/goflash/home/Home/) - Flash player implementation in Go language |
| 1159 | * [gogallery](http://code.google.com/p/gogallery/) - simple web server with an emphasis on easily browsing images |
| 1160 | * [goof](https://github.com/stone/goof) - A simple http server to exchange files over http (upload/download) |
| 1161 | * [gopages](http://code.google.com/p/gopages/) - A php-like web framework that allows embedding Go code in web pages |
biorisk | 1b8b1f9 | 2015-02-09 18:07:22 -0600 | [diff] [blame] | 1162 | * [httpfolder](https://github.com/biorisk/httpfolder) - A http server to exchange files over http with basic authentication (upload/download) |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1163 | * [kurz.go](https://github.com/fs111/kurz.go) - a url shortener based on web.go and redis |
| 1164 | * [Monsti](https://github.com/chrneumann/monsti) - Resource friendly flat file CMS for private and small business sites. |
| 1165 | * [now.go](https://github.com/alloy-d/now.go) - A simple HTTP-based to-do queue. |
| 1166 | * [sf\_server](http://code.google.com/p/rflk/source/browse/#svn%2Ftrunk%2Fsw%2FGo%2Fsend_file_go) - a tiny send file server and client |
| 1167 | * [webtf](http://code.google.com/p/webtf/) - Web app to graphical visualization of twitter timelines using the HTML5 |
| 1168 | * [rabbitmq-http](https://github.com/smallfish/rabbitmq-http) - REST API for RabbitMQ |
| 1169 | * [freegeoip](https://github.com/fiorix/freegeoip) - IP geolocation web service (web server of freegeoip.net) |
| 1170 | * [websiteskeleton](https://github.com/jadekler/git-go-websiteskeleton) - Simple net/http website skeleton |
| 1171 | |
| 1172 | ## Web Libraries |
| 1173 | |
| 1174 | #### Authentication |
| 1175 | |
| 1176 | * [GOAuth](https://github.com/hokapoka/goauth) - OAuth Consumer |
| 1177 | * [goauth](https://github.com/alloy-d/goauth) - A library for header-based OAuth over HTTP or HTTPS. |
| 1178 | * [Go-OAuth](https://github.com/garyburd/go-oauth) - OAuth 1.0 client |
| 1179 | * [OAuth Consumer](https://github.com/mrjones/oauth) - OAuth 1.0 consumer implementation |
| 1180 | * [authcookie](https://github.com/dchest/authcookie) - Package authcookie implements creation and verification of signed authentication cookies. |
| 1181 | * [totp](https://github.com/balasanjay/totp) - Time-Based One-Time Password Algorithm, specified in RFC 6238, works with Google Authenticator |
Dave Day | 0d6986a | 2014-12-10 15:02:18 +1100 | [diff] [blame] | 1182 | * [otp](http://tristanwietsma.github.io/otp/) - HOTP and TOTP library with command line replacement for Google Authenticator |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1183 | * [dgoogauth](https://github.com/dgryski/dgoogauth) - Go port of Google's Authenticator library for one-time passwords |
| 1184 | * [go-http-auth](https://github.com/abbot/go-http-auth) - HTTP Basic and HTTP Digest authentication |
| 1185 | * [httpauth](https://github.com/apexskier/httpauth) - HTTP session (cookie) based authentication and authorization |
| 1186 | * [httpauth-go](https://bitbucket.org/rj/httpauth-go) - Package httpauth provides utilities to support HTTP authentication policies. Support for both the basic authentication scheme and the digest authentication scheme are provided. |
| 1187 | * [oauth1a](https://github.com/kurrik/oauth1a) - OAuth 1.0 client library |
| 1188 | |
| 1189 | #### DOM handling |
| 1190 | |
| 1191 | * [Cascadia](http://code.google.com/p/cascadia) - CSS selector library |
| 1192 | * [GoQuery](https://github.com/PuerkitoBio/goquery) - jQuery-like DOM manipulation library, using Go's experimental HTML package. |
| 1193 | * [html-query](https://github.com/hailiang/html-query) - A fluent and functional approach to querying HTML. |
| 1194 | * [HTML Transform](http://code.google.com/p/go-html-transform/) - A CSS selector based html scraping and transformation library |
| 1195 | |
| 1196 | #### Frameworks and Toolkits |
| 1197 | * [arasu](https://github.com/arasuresearch/arasu) - A Lightning Fast Web Framework written on Go & Dart |
| 1198 | * [app.go](https://github.com/georgenava/appgo) - Web framework for google app engine |
| 1199 | * [Beego](http://beego.me/) - Beego is an open source version of the scalable, non-blocking web framework. |
| 1200 | * [browserspeak](https://github.com/xyproto/browserspeak) - Generate HTML templates, CSS or SVG without writing < or > |
| 1201 | * [falcore](https://github.com/fitstar/falcore) - Modular HTTP server framework |
| 1202 | * [fcgi\_client](https://bitbucket.org/PinIdea/fcgi_client) - Go fastcgi client with fcgi params support |
| 1203 | * [forgery](http://goforgery.appspot.com/) - A clone of the superb Node.js web framework Express. |
| 1204 | * [GEP](https://geps.daviddengcn.com/) - A simple web framework similar to JSP. Writing dynamic pages knowing only Go and HTML(or Markdown) |
| 1205 | * [Go-Blog](https://github.com/matt-west/go-blog) - Blog framework written in Go |
| 1206 | * [go-fastweb](http://code.google.com/p/go-fastweb/) - aims to be a simple, small and clean MVC framework for go |
| 1207 | * [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go |
| 1208 | * [go-restful](https://github.com/emicklei/go-restful) - lean package for building REST-style Web Services |
| 1209 | * [go-start](https://github.com/ungerik/go-start) - A high level web-framework for Go |
| 1210 | * [go-urlshortener](https://github.com/mattn/go-urlshortener) - interface to google's urlshorten API |
| 1211 | * [go-webproject](http://go-webproject.appspot.com) - Modular web application framework and app server |
| 1212 | * [goku](https://github.com/QLeelulu/goku) - a Web Mvc Framework for Go, mostly like ASP.NET MVC. |
| 1213 | * [Golanger](https://github.com/golangers/framework) - Golanger Web Framework is a lightweight framework for writing web applications in Go. |
| 1214 | * [Goldorak.Go](https://github.com/nono/Goldorak.Go) - a web miniframework built using mustache.go, web.go and Go-Redis |
| 1215 | * [GoRest](http://code.google.com/p/gorest/) - An extensive configuration(tags) based RESTful style web-services framework. |
| 1216 | * [gorilla](https://github.com/gorilla) - Gorilla web toolkit |
| 1217 | * [GoSrv](https://github.com/jcasts/gosrv) - A Go HTTP server that provides simple command line functionality, config loading, request logging, graceful connection shutdown, and daemonization. |
| 1218 | * [goweb](https://github.com/stretchrcom/goweb) - Lightweight RESTful web framework for Go providing Ruby on Rails style routing |
| 1219 | * [Gowut](http://code.google.com/p/gowut) - Go Web UI Toolkit is a full-featured, easy to use, platform independent Web UI Toolkit written in pure Go. |
| 1220 | * [HttpRouter](https://github.com/julienschmidt/httprouter) - A high performance HTTP request router that scales well |
| 1221 | * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. |
| 1222 | * [Martini](https://github.com/codegangsta/martini) - Martini is a popular, lightweight, extensible package for writing modular web apps/services in Go |
| 1223 | * [Revel](http://robfig.github.com/revel/) - High productivity web framework modeled on Play! Framework |
| 1224 | * [restclient](https://github.com/jmcvetta/restclient) - Client library for interacting with RESTful APIs. |
| 1225 | * [Tideland CGL Web](http://code.google.com/p/tcgl/) - Package for RESTful web applications |
| 1226 | * [Tiger Tonic](https://github.com/rcrowley/go-tigertonic) - framework for building JSON web services inspired by Dropwizard |
| 1227 | * [trinity](https://github.com/cihub/trinity) - MVC framework |
| 1228 | * [sawsij](https://bitbucket.org/jaybill/sawsij/src) - Provides a small, opinionated web framework. |
| 1229 | * [web.go](https://github.com/hoisie/web) - a simple framework to write webapps |
| 1230 | * [wfdr](https://github.com/crazy2be/wfdr) - Simple web framework designed for and written in go. Works with other languages as well, but not as well. |
| 1231 | * [xweb](https://github.com/go-xweb/xweb) - A web framework for Go. Just like Struts for Java. |
Lunny Xiao | 9516857 | 2015-01-19 10:16:08 +0800 | [diff] [blame] | 1232 | * [Tango](https://github.com/lunny/tango) - Micro-kernel & pluggable web framework for Go |
Andrew Gerrand | 5bc444d | 2014-12-10 11:35:11 +1100 | [diff] [blame] | 1233 | |
| 1234 | #### HTML forms |
| 1235 | |
| 1236 | * [Go-FORM-it](https://github.com/kirves/go-form-it) - Go library for easy and highly-customizable forms creation and template rendering. |
| 1237 | * [gforms](https://github.com/vmihailenco/gforms) - HTML forms for Go |
| 1238 | * [GoForms](https://github.com/absoludity/goforms) - Form data validation, cleaning and error reporting - a la django.forms |
| 1239 | * [htmlfiller](https://github.com/griffy/htmlfiller) - Fills in html forms with default values and errors a la Ian Bicking's htmlfill for Python |
| 1240 | * [MonstiForm](https://github.com/monsti/form) - HTML form generator and validator library |
| 1241 | * [xsrftoken](http://code.google.com/p/xsrftoken) - A package for generating and validating tokens used in preventing XSRF attacks |
| 1242 | * [revel-csrf](https://github.com/cbonello/revel-csrf) - Cross-Site Request Forgery (CSRF) attacks prevention for the Revel framework |
| 1243 | |
| 1244 | #### Public API Wrappers |
| 1245 | |
| 1246 | * [adn](https://github.com/whee/adn/) - Interface to the App.net API |
| 1247 | * [anaconda](https://github.com/ChimeraCoder/anaconda) - Client library for the Twitter 1.1 API |
| 1248 | * [ddg](https://github.com/whee/ddg) - DuckDuckGo API interface |
| 1249 | * [gobo](https://github.com/huichen/gobo) - Client library for Sina Weibo |
| 1250 | * [gocaptcha](https://github.com/GeertJohan/gocaptcha) - gocaptcha provides easy access to the reCaptcha API in go |
| 1251 | * [go-dealmap](https://github.com/ancientlore/go-dealmap) - Go library for accessing TheDealMap's API |
| 1252 | * [go-dropbox](https://github.com/nickoneill/go-dropbox) - API library for dropbox |
| 1253 | * [facebook](https://github.com/huandu/facebook) - Up-to-date facebook graph API client. Handy and flexible |
| 1254 | * [firebase](https://github.com/cosn/firebase) - Client library for the Firebase REST API |
| 1255 | * [go-facebook](https://github.com/Agon/go-facebook) - Go implementations of facebook APIs |
| 1256 | * [go-flickr](https://github.com/mncaudill/go-flickr) - A wrapper for Flickr's API |
| 1257 | * [go-gravatar](https://github.com/ungerik/go-gravatar) - Wrapper for the Gravatar API |
| 1258 | * [go-libGeoIP](https://github.com/nranchev/go-libGeoIP) - GO Lib GeoIP API for Maxmind |
| 1259 | * [gominatim](https://github.com/grindhold/gominatim) - Go library to access nominatim geocoding services |
| 1260 | * [gomojo](https://github.com/dotmanish/gomojo) - Instamojo API wrapper |
| 1261 | * [gomwapi](https://github.com/kracekumar/go-mwapi) - Access mediawiki contents like wikipedia, wiktionary in golang |
| 1262 | * [googtrans](https://github.com/bthomson/googtrans) - unofficial go bindings for Google Translate API v2 |
| 1263 | * [go-recaptcha](https://github.com/dpapathanasiou/go-recaptcha) - Handles reCaptcha form submissions in Go |
| 1264 | * [gorecurly](https://github.com/mbeale/gorecurly) - A Client app to use with Recurly's api |
| 1265 | * [go.strava](https://github.com/strava/go.strava) - Official client library for the Strava V3 API |
| 1266 | * [go.stripe](https://github.com/bradrydzewski/go.stripe) - a simple credit card processing library for Go using the Stripe API |
| 1267 | * [Gotank](https://github.com/searchify/gotank) - Searchify's Go client for the IndexTank full-text search API |
| 1268 | * [go-tripit](https://github.com/ancientlore/go-tripit) - Go API library for the TripIt web services |
| 1269 | * [GoTwilio](https://github.com/sfreiberg/gotwilio) - Twilio library for Go (golang). Very basic at the moment |
| 1270 | * [gravatar](https://github.com/ftrvxmtrx/gravatar) - Gravatar image/profile API library |
| 1271 | * [justintv](https://github.com/Agon/justintv) - Justin.tv REST API with oauth |
| 1272 | * [postmark](https://github.com/gcmurphy/postmark) - Access postmark API from Go |
| 1273 | * [reddit.go](https://github.com/tadzik/reddit.go) - Client library for Reddit API |
| 1274 | * [shorturl](https://github.com/subosito/shorturl) - Generic implementation for interacting with various URL shortening services |
| 1275 | * [Stack on Go](https://github.com/laktek/Stack-on-Go) - Go wrapper for Stack Exchange API |
| 1276 | * [stripe](https://github.com/stripe/stripe-go) - Official Stripe client library |
| 1277 | * [twilio](https://github.com/subosito/twilio) - Simple Twilio API wrapper |
| 1278 | * [twittergo](https://github.com/kurrik/twittergo) - Client library for Twitter's API |
| 1279 | |
| 1280 | #### Other |
| 1281 | |
| 1282 | * [adhoc-http](https://github.com/tv42/adhoc-httpd) - Quick & dirty HTTP static file server |
| 1283 | * [assets](https://github.com/mostafah/assets) - Helps prepares CSS and JS files for development and production of Go web apps. |
| 1284 | * [bwl](https://github.com/bobappleyard/bwl) - a set of libraries to help build web sites |
| 1285 | * [captcha](https://github.com/dchest/captcha) - Image and audio captcha generator and server |
| 1286 | * [gaerecords](https://github.com/matryer/gae-records) - Lightweight wrapper around appengine/datastore providing Active Record and DBO style management of data |
| 1287 | * [get2ch-go](https://github.com/tanaton/get2ch-go) - a library to access the 2channel Japanese web bulletin board |
| 1288 | * [go-gzip-file-server](https://github.com/joaodasilva/go-gzip-file-server) - A net.http.Handler similar to FileServer that serves gzipped content |
| 1289 | * [go-httpclient](https://github.com/mreiferson/go-httpclient) - a Go HTTP client with timeouts |
| 1290 | * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - a packages that reads RSS and Atom feeds |
| 1291 | * [go-rss](https://github.com/ungerik/go-rss) - Simple RSS parser, tested with Wordpress feeds. |
| 1292 | * [go-twitter](https://github.com/jb55/go-twitter) - another Twitter client |
| 1293 | * [go-twitter-oauth](https://github.com/montsamu/go-twitter-oauth) - a simple Twitter client (supports OAuth) |
| 1294 | * [gohaml](https://github.com/realistschuckle/gohaml) - An implementation of the popular XHTML Abstraction Markup Language using the Go language. |
| 1295 | * [gojwt](https://github.com/mzgoddard/gojwt) - Json Web Tokens for Go |
| 1296 | * [goreman](https://github.com/mattn/goreman) - foreman clone |
| 1297 | * [goroute](https://github.com/johncylee/goroute) - A very simple URL router based on named submatches of regular expression that works well with http.Handler . |
| 1298 | * [gorouter](https://github.com/rsentry/gorouter) - Simple router for go to process url variables |
| 1299 | * [goscribble](https://github.com/amir/goscribble) - An MPD Audioscrobble |
| 1300 | * [grender](https://github.com/peterbourgon/grender) - Go static site generator |
| 1301 | * [halgo](https://github.com/jagregory/halgo) - [HAL](http://stateless.co/hal_specification.html)-compliant API client and serialisation library. |
| 1302 | * [http-gonsole](https://github.com/mattn/http-gonsole) - Speak HTTP like a local. (the simple, intuitive HTTP console, golang version) |
| 1303 | * [httprpc](https://github.com/kdar/httprpc) - HTTP RPC codecs (json2, soap, rest) |
| 1304 | * [HypeCMS](https://github.com/opesun/hypecms) - A flexible CMS built with Go and MongoDb. |
| 1305 | * [Kontl](https://github.com/geovedi/kontl) - A client for kon.tl's URL shortening service |
| 1306 | * [mustache.go](https://github.com/hoisie/mustache.go) - an implementation of the Mustache template language |
| 1307 | * [muxer](http://code.google.com/p/go-muxer/) - Simple muxer for a Go app without regexp |
| 1308 | * [Optimus Sitemap Generator](http://patrickmylund.com/projects/osg/) - A universal XML sitemap generator |
| 1309 | * [passwordreset](https://github.com/dchest/passwordreset) - Creation and verification of secure tokens useful for implementation of "reset forgotten password" feature in web applications. |
| 1310 | * [pat](https://github.com/bmizerany/pat) - A Sinatra style pattern muxer |
| 1311 | * [persona](https://github.com/areed/persona) - remote verification API for persona |
| 1312 | * [plex](https://bitbucket.org/agallego/plex) - simple, small, light, regexp http muxer with chaining |
| 1313 | * [purell](https://github.com/PuerkitoBio/purell) - tiny Go library to normalize URLs |
| 1314 | * [pusher.go](https://github.com/madari/pusher.go) - HTTP Server Push module for the standard http package |
| 1315 | * [rest.go (forked)](https://github.com/Kissaki/rest.go) - forked rest.go for improvements and REST consistency |
| 1316 | * [rest2go](https://github.com/Kissaki/rest2go) - Based on rest.go, forked for improvements and REST consistency |
| 1317 | * [robotstxt](https://github.com/temoto/robotstxt-go) - The robots.txt exclusion protocol implementation. Allows to parse and query robots.txt file. |
| 1318 | * [seshcookie](https://github.com/bpowers/seshcookie) - A web session library inspired by Beaker |
| 1319 | * [user\_agent](https://github.com/mssola/user_agent) - An HTTP User-Agent parser |
| 1320 | * [webdriver](https://bitbucket.org/tebeka/selenium/src) - WebDriver (Selenium) client |
| 1321 | * [webtestutil](https://github.com/chlu/webtestutil) - Web and HTTP functional testing utilities. Includes Gorilla testing support. |
| 1322 | * [gorefit](http://code.google.com/p/gorefit/) - A library for theming existing websites |
| 1323 | * [GoRequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features such as proxy, timeout, and etc. ( inspired by nodejs SuperAgent ) |
| 1324 | |
| 1325 | ## Windows |
| 1326 | |
| 1327 | * [Windows Command Line Shutdow](http://software-download.name/2012/windows-command-line-shutdown/) - A tool to shutdown Windows Computer from Command Prompt |
| 1328 | * [gform](https://github.com/AllenDang/gform) - An easy to use Windows GUI toolkit for Go |
| 1329 | * [go-Windows-begin](https://github.com/yoffset/absolute-Windows---Go-Language-beginner) - for the absolute Windows-Go beginner |
| 1330 | * [go-ole](https://github.com/mattn/go-ole/) - win32 ole implementation for golang |
| 1331 | * [w32](https://github.com/AllenDang/w32) - Windows API wrapper for Go. |
| 1332 | * [walk](https://github.com/lxn/walk) - "Windows Application Library Kit" for the Go Programming Language |
| 1333 | |
| 1334 | ## Unix |
| 1335 | * [unixsums](https://github.com/cxmcc/unixsums) - Legacy Unix checksums: cksum, sum |
| 1336 | * [inspect](https://github.com/measure/inspect) - Linux and MacOSX systems monitoring and diagnostics |
| 1337 | |
| 1338 | ## Unsorted; please help! |
| 1339 | |
| 1340 | The following entries have not been filed. Please help by putting these in relevant categories. |
| 1341 | |
| 1342 | * [Twackup](https://github.com/tv42/twackup) - Backs up your tweets into local files |
| 1343 | * [domainerator](https://github.com/hgfischer/domainerator) - Command line tool to combine wordlist and suffixes/TLDs into domain names and check if they are registered or not |
| 1344 | * [ebml-go](http://code.google.com/p/ebml-go/) - EBML decoder |
| 1345 | * [gmail2go](https://github.com/rif/gmail2go) - Simple gmail multiple accounts cli mail checker |
| 1346 | * [go-bindata](https://github.com/jteeuwen/go-bindata) - Converts any file into manageable Go source code for embedding binary data into a Go program. |
| 1347 | * [go-cron](https://github.com/rk/go-cron) - A small cron job system to handle scheduled tasks, such as optimizing databases or kicking idle users from chat. The cron.go project was renamed to this for ` go get ` compatibility. |
| 1348 | * [go-gmetric](https://github.com/jbuchbinder/go-gmetric) - Ganglia gmetric protocol support |
| 1349 | * [go-nat-pmp](http://code.google.com/p/go-nat-pmp/) - A client for the NAT-PMP protocol used in Apple and open-source routers |
| 1350 | * [go-webfinger](https://github.com/ant0ine/go-webfinger) - Simple Client Implementation of WebFinger |
| 1351 | * [go.psl](https://github.com/ebfe/go.psl) - Go regdom-libs/public suffix list |
| 1352 | * [goconsistenthash](https://github.com/caglar10ur/goconsistenthash) - Consistent hashing library (based on http://www.lexemetech.com/2007/11/consistent-hashing.html) |
| 1353 | * [godebiancontrol](https://github.com/mstap/godebiancontrol) - Golang debian control file parser |
| 1354 | * [gographviz](http://code.google.com/p/gographviz) - Graphviz DOT language parser for golang |
| 1355 | * [golor](https://github.com/hantuo/golor) - golor is a command line tool for golang source code coloring |
| 1356 | * [gopcapreader](http://code.google.com/p/gopcapreader) - Presents realtime pcap data as io.Reader objects |
| 1357 | * [gostax](https://github.com/maxymania/gostax) - A Streaming API for XML (StAX) in go |
| 1358 | * [httptail](https://github.com/smallfish/httptail) - tools push stdout/stderr to http chunked |
| 1359 | * [humanize](https://bitbucket.org/dchapes/humanize) - formats large numbers into human readable small numbers |
| 1360 | * [humanize-bytes](https://github.com/tv42/humanize-bytes) - Command-line utilities to convert "MiB" etc to raw numbers, and back |
| 1361 | * [img-LinuxFr.org](https://github.com/nono/img-LinuxFr.org) - A reverse-proxy cache for external images used on LinuxFr.org |
| 1362 | * [netstat-nat](https://github.com/dominikh/netstat-nat) - Display NAT entries on Linux systems |
| 1363 | * [seed](https://github.com/tv42/seed) - Easily seed PRNGs with some entropy |
| 1364 | * [spellabc](https://github.com/elasticdog/spellabc) - Package spellabc implements spelling alphabet code word encoding. |
| 1365 | * [stressdisk](https://github.com/ncw/stressdisk) - Stress test your disks / memory cards / USB sticks before trusting your valuable data to them |
| 1366 | * [validation](https://github.com/kdar/validation) - Simple independent struct/key-value validation |