Awesome Go

Build Status Awesome Slack Widget Netlify Status

patreon avelino financial support to Awesome Go

A curated list of awesome Go frameworks, libraries and software. Inspired by awesome-python.

Contributing

Please take a quick gander at the contribution guidelines first. Thanks to all contributors; you rock!

If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!

Contents

Audio and Music

Libraries for manipulating audio.

Stars Forks Issues Last Commit Name Desc
17 4 0 2018-03-22 EasyMIDI EasyMidi is a simple and reliable library for working with standard midi file (SMF).
81 9 2 2017-10-03 flac No-frills native Go FLAC decoder that decodes FLAC files into byte slices.
94 17 9 2019-02-22 flac Native Go FLAC encoder/decoder with support for FLAC streams.
51 6 4 2018-02-20 gaad Native Go AAC bitstream parser.
88 20 7 2018-06-20 go-sox libsox bindings for go.
23 8 2 2015-12-24 go_mediainfo libmediainfo bindings for go.
8 1 0 2018-06-03 gosamplerate libsamplerate bindings for go.
93 18 5 2019-02-08 id3v2 Fast and stable ID3 parsing and writing library for Go.
56 8 0 2019-02-02 malgo Mini audio library.
21 6 0 2019-03-19 minimp3 Lightweight MP3 decoder library.
89 16 11 2017-06-24 mix Sequence-based Go-native audio mixer for music apps.
84 9 0 2017-04-26 mp3 Native Go MP3 decoder.
241 21 6 2018-06-12 music-theory Music theory models in Go.
271 44 4 2018-08-19 PortAudio Go bindings for the PortAudio audio I/O library.
190 41 11 2017-07-16 portmidi Go bindings for PortMidi.
64 17 4 2018-07-18 taglib Go bindings for taglib.
22 5 4 2017-10-14 vorbis “Native” Go Vorbis decoder (uses CGO, but has no dependencies).
232 21 3 2016-07-07 waveform Go package capable of generating waveform images from audio streams.

Authentication and OAuth

Libraries for implementing authentications schemes.

Stars Forks Issues Last Commit Name Desc
1773 112 13 2019-03-15 authboss Modular authentication system for the web. It tries to remove as much boilerplate and “hard things” as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time.
52 9 1 2018-08-08 branca Golang implementation of Branca Tokens.
3974 411 12 2019-03-25 casbin Authorization library that supports access control models like ACL, RBAC, ABAC.
2 1 0 2017-10-09 cookiestxt provides parser of cookies.txt file format.
1026 209 18 2019-02-27 go-jose Fairly complete implementation of the JOSE working group’s JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
1146 160 14 2019-02-21 go-oauth2-server Standalone, specification-compliant, OAuth2 server written in Golang.
975 58 0 2019-03-05 gologin chainable handlers for login with OAuth1 and OAuth2 authentication providers.
844 119 2 2019-03-20 gorbac provides a lightweight role-based access control (RBAC) implementation in Golang.
2099 245 28 2019-03-26 goth provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
167 18 3 2016-06-01 httpauth HTTP Authentication middleware.
60 14 8 2018-11-08 jwt Clean and easy to use implementation of JSON Web Tokens (JWT).
51 2 0 2019-03-24 jwt Lightweight JSON Web Token (JWT) library.
144 22 0 2019-01-30 jwt-auth JWT middleware for Golang http servers with many configuration options.
5141 498 76 2019-02-21 jwt-go Golang implementation of JSON Web Tokens (JWT).
743 75 18 2019-03-02 loginsrv JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
2152 494 64 2019-03-19 oauth2 Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
1510 317 51 2018-10-16 osin Golang OAuth2 server library.
201 9 0 2018-11-08 paseto Golang implementation of Platform-Agnostic Security Tokens (PASETO).
305 27 1 2019-03-19 permissions2 Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
20 0 0 2018-08-29 rbac Minimalistic RBAC package for Go applications.
26 3 2 2018-08-31 securecookie Efficient secure cookie encoding/decoding.
82 7 5 2018-09-10 session Go session management for web servers (including support for Google App Engine - GAE).
7 0 0 2018-11-09 sessiongate-go Go session management using the SessionGate Redis module.
41 2 1 2017-11-28 sessions Dead simple, highly performant, highly customizable sessions service for go http servers.
8 1 1 2019-01-28 signedvalue Signed and timestamped strings compatible with Tornado’s create_signed_value, decode_signed_value, and therefore set_secure_cookie and get_secure_cookie.

Bot Building

Libraries for building and working with bots.

Stars Forks Issues Last Commit Name Desc
420 114 8 2019-02-19 go-chat-bot IRC, Slack & Telegram bot written in Go.
114 5 1 2019-03-10 go-sarah Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
80 3 2 2018-06-25 go-tgbot Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
160 38 11 2019-02-11 Golang CryptoTrading Bot A golang implementation of a console-based trading bot for cryptocurrency exchanges.
19 2 1 2019-03-06 govkbot Simple Go VK bot library.
92 9 1 2018-09-04 hanu Framework for writing Slack bots.
102 29 26 2019-03-25 Kelp official trading and market-making bot for the Stellar DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.
51 9 0 2016-09-18 margelet Framework for building Telegram bots.
9 2 0 2018-02-15 micha Go Library for Telegram bot api.
272 33 5 2019-03-14 slacker Easy to use framework to create Slack bots.
185 25 9 2019-03-23 tbot Telegram bot server with API similar to net/http.
842 131 33 2019-03-26 telebot Telegram bot framework written in Go.
1417 249 18 2019-03-21 telegram-bot-api Simple and clean Telegram bot client.
166 15 13 2017-03-05 Tenyks Service oriented IRC bot using Redis and JSON for messaging.

Command Line

Standard CLI

Libraries for building standard or basic Command Line applications.

Stars Forks Issues Last Commit Name Desc
77 11 8 2019-03-09 argparse Command line argument parser inspired by Python’s argparse module.
11 1 1 2019-01-15 argv Go library to split command line string as arguments array using the bash syntax.
437 34 4 2019-03-12 cli Feature-rich and easy to use command-line package based on golang struct tags.
43 3 1 2018-07-05 cli Simple and complete API for building command line interfaces in Go.
858 72 19 2017-11-20 cli-init The easy way to start building Golang command line applications.
160 16 6 2019-01-16 climax Alternative CLI with “human face”, in spirit of Go command.
11144 972 202 2019-03-21 cobra Commander for modern Go CLI interactions.
74 4 2 2019-03-01 commandeer Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.
552 35 6 2019-03-08 complete Write bash completions in Go + Go command bash completion.
1099 90 23 2018-09-24 docopt.go Command-line arguments parser that will make you smile.
36 2 0 2018-10-16 env Tag-based environment configuration for structs.
93 5 2 2019-03-13 flag Simple but powerful command line option parsing library for Go supporting subcommand.
418 11 5 2019-03-20 flaggy A robust and idiomatic flags package with excellent subcommand support.
28 0 0 2018-11-01 flagvar A collection of flag argument types for Go’s standard flag package.
579 36 3 2019-03-20 go-arg Struct-based argument parsing in Go.
11 4 1 2019-02-26 go-commander Go library to simplify CLI workflow.
1326 173 25 2019-03-09 go-flags go command line option parser.
5 0 0 2019-03-02 go-getoptions Go option parser inspired on the flexibility of Perl’s GetOpt::Long.
28 2 2 2018-09-05 gocmd Go library for building command line applications.
N/A N/A N/A N/A hiboot cli cli application framework with auto configuration and dependency injection.
2346 178 26 2019-03-25 kingpin Command line and flag parser supporting sub commands.
544 70 4 2019-03-05 liner Go readline-like library for command-line interfaces.
940 76 9 2018-11-25 mitchellh/cli Go library for implementing command-line interfaces.
596 44 13 2019-02-26 mow.cli Go library for building CLI applications with sophisticated flag and argument parsing and validation.
640 152 33 2019-03-14 pflag Drop-in replacement for Go’s flag package, implementing POSIX/GNU-style –flags.
1316 130 62 2019-03-16 readline Pure golang implementation that provides most features in GNU-Readline under MIT license.
3 1 0 2018-11-21 sand Simple API for creating interpreters and so much more.
74 9 4 2019-02-02 sflags Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries.
26 2 0 2019-03-02 strumt Library to create prompt chain.
96 11 3 2019-02-18 ukautz/clif Small command line interface framework.
10290 857 150 2019-03-21 urfave/cli Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).
31 4 0 2017-07-20 wlog Simple logging interface that supports cross-platform color and concurrency.
71 10 1 2019-02-21 wmenu Easy to use menu structure for cli applications that prompts users to make choices.

Advanced Console UIs

Libraries for building Console Applications and Console User Interfaces.

Stars Forks Issues Last Commit Name Desc
1037 29 0 2019-01-12 asciigraph Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
448 17 1 2019-03-26 aurora ANSI terminal colors that supports fmt.Printf/Sprintf.
57 6 0 2018-12-07 cfmt Contextual fmt inspired by bootstrap color classes.
289 14 2 2016-06-26 chalk Intuitive package for prettifying terminal/console output.
2887 302 0 2018-10-10 color Versatile package for colored terminal output.
15 2 0 2016-05-10 colourize Go library for ANSI colour text in terminals.
7 0 0 2018-10-31 ctc The non-invasive cross-platform terminal color library does not need to modify the Print method.
8 1 0 2017-09-25 go-ataman Go library for rendering ANSI colored text templates in terminals.
342 47 5 2019-02-22 go-colorable Colorable writer for windows.
192 14 4 2018-04-09 go-colortext Go library for color output in terminals.
306 39 1 2019-03-12 go-isatty isatty for golang.
2110 92 25 2019-02-23 go-prompt Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.
4029 239 55 2019-03-14 gocui Minimalist Go library aimed at creating Console User Interfaces.
N/A N/A N/A N/A gommon/color Style terminal text.
135 14 0 2019-03-10 gookit/color Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.
434 35 0 2019-03-19 mpb Multi progress bar for terminal applications.
497 24 3 2019-03-07 progressbar Basic thread-safe progress bar that works in every OS.
130 7 0 2019-02-22 simpletable Simple tables in terminal with Go.
232 6 2 2019-03-13 tabby A tiny library for super simple Golang tables.
25 1 0 2018-05-14 tabular Print ASCII tables from command line utilities without the need to pass large sets of data to the API.
3324 272 50 2019-03-25 termbox-go Termbox is a library for creating cross-platform text-based interfaces.
108 4 33 2019-03-21 termdash Go terminal dashboard based on termbox-go and inspired by termui.
205 16 7 2017-10-30 termtables Go port of the Ruby library terminal-tables for simple ASCII table generation as well as providing markdown and HTML output.
8450 504 32 2019-03-19 termui Go terminal dashboard based on termbox-go and inspired by blessed-contrib.
729 37 14 2018-12-04 uilive Library for updating terminal output in realtime.
1232 73 21 2018-10-12 uiprogress Flexible library to render progress bars in terminal applications.
467 19 2 2017-08-23 uitable Library to improve readability in terminal apps using tabular data.

Configuration

Libraries for configuration parsing.

Stars Forks Issues Last Commit Name Desc
196 34 4 2018-09-10 config JSON or YAML configuration wrapper with environment variables and flags parsing.
45 8 2 2019-02-18 configure Provides configuration through multiple sources, including JSON, flags and environment variables.
215 17 11 2019-03-06 confita Load configuration in cascade from multiple backends into a struct.
5 1 0 2019-02-09 conflate Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema.
733 68 4 2019-03-17 env Parse environment variables to Go structs (with defaults).
89 6 0 2017-06-19 envcfg Un-marshaling environment variables to Go structs.
7 2 0 2014-10-26 envconf Configuration from environment.
139 12 0 2018-12-28 envconfig Read your configuration from environment variables.
92 0 0 2019-03-12 envh Helpers to manage environment variables.
107 29 4 2018-05-17 gcfg read INI-style configuration files into Go structs; supports user-defined types and subsections.
23 1 1 2019-03-03 go-up A simple configuration library with recursive placeholders resolution and no magic.
96 16 5 2019-03-07 goConfig Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
1819 102 16 2019-02-26 godotenv Go port of Ruby’s dotenv library (Loads environment variables from .env).
57 7 0 2017-05-02 gofigure Go application configuration made easy.
N/A N/A N/A N/A gone/jconf Modular JSON configuration. Keep you config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.
51 7 0 2019-03-10 gookit/config application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.
165 17 2 2019-02-09 hjson Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.
22 3 0 2017-04-03 ingo Flags persisted in an ini-like config file.
1367 192 7 2019-02-17 ini Go package to read and write INI files.
194 9 0 2017-08-11 joshbetz/config Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
2163 196 31 2019-02-17 kelseyhightower/envconfig Go library for managing configuration data from environment variables.
19 5 1 2018-12-26 mini Golang package for parsing ini-style configuration files.
3 0 1 2018-10-31 sprbox Build-environment aware toolbox factory and agnostic config parser (YAML, TOML, JSON and Environment vars).
240 13 2 2017-09-05 store Lightweight configuration manager for Go.
7908 765 328 2019-03-26 viper Go configuration with fangs.
23 1 0 2019-03-12 xdg Cross platform package that follows the XDG Standard.

Continuous Integration

Tools for help with continuous integration.

Stars Forks Issues Last Commit Name Desc
17591 1736 90 2019-03-23 drone Drone is a Continuous Integration platform built on Docker, written in Go.
33 3 3 2019-03-24 duci A simple ci server no needs domain specific languages.
22 3 0 2019-03-08 gomason Test, Build, Sign, and Publish your go binaries from a clean workspace.
539 93 22 2019-03-25 goveralls Go integration for Coveralls.io continuous code coverage tracking system.
94 26 2 2018-08-25 overalls Multi-Package go project coverprofile for tools like goveralls.
11 2 0 2017-11-19 roveralls Recursive coverage testing tool.

CSS Preprocessors

Libraries for preprocessing CSS files.

Stars Forks Issues Last Commit Name Desc
410 27 8 2014-10-12 gcss Pure Go CSS Preprocessor.
118 22 10 2019-02-12 go-libsass Go wrapper to the 100% Sass compatible libsass project.

Data Structures

Generic datastructures and algorithms in Go.

Stars Forks Issues Last Commit Name Desc
164 26 0 2019-01-08 algorithms Algorithms and data structures.CLRS study.
110 18 1 2018-06-16 binpacker Binary packer and unpacker helps user build custom binary stream.
28 7 0 2018-03-13 bit Golang set data structure with bonus bit-twiddling functions.
445 85 2 2019-02-28 bitset Go package implementing bitsets.
125 10 1 2018-04-16 bloom Bloom filters implemented in Go.
12 4 0 2017-06-19 bloom Golang Bloom filter implementation.
1090 69 7 2018-10-28 boomfilters Probabilistic data structures for processing continuous, unbounded streams.
20 3 0 2017-11-17 concurrent-writer Highly concurrent drop-in replacement for bufio.Writer.
61 10 4 2019-02-12 conjungo A small, powerful and flexible merge library.
40 3 0 2017-02-12 count-min-log Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
452 30 6 2019-03-02 cuckoofilter Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
1 0 0 2019-02-13 deque A highly optimized double-ended queue.
38 6 0 2019-01-30 deque Fast ring-buffer deque (double-ended queue).
92 9 1 2017-12-23 encoding Integer Compression Libraries for Go.
65 10 3 2018-12-06 go-adaptive-radix-tree Go implementation of Adaptive Radix Tree.
4834 539 13 2019-03-06 go-datastructures Collection of useful, performant, and thread-safe data structures.
9 2 0 2017-09-25 go-ef A Go implementation of the Elias-Fano encoding.
302 35 3 2018-02-20 go-geoindex In-memory geo index.
24 6 0 2019-03-24 go-mcache Fast in-memory key:value store/cache library. Pointer caches.
94 2 0 2018-06-17 go-rquad Region quadtrees with efficient point location and neighbour finding.
3 1 0 2019-01-30 goconcurrentqueue Concurrent FIFO queue.
5450 578 16 2019-03-03 gods Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.
1002 104 6 2018-09-27 golang-set Thread-Safe and Non-Thread-Safe high-performance sets for Go.
14 3 0 2017-08-25 goset A useful Set collection implementation for Go.
183 44 3 2017-02-24 goskiplist Skip list implementation in Go.
754 85 35 2019-03-13 gota Implementation of dataframes, series, and data wrangling methods for Go.
5 1 0 2019-03-08 hide ID type with marshalling to/from hash to prevent sending IDs to clients.
171 25 2 2018-11-22 hilbert Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
635 36 1 2019-03-16 hyperloglog HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
26 1 0 2019-02-22 levenshtein Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
42 3 0 2019-02-27 levenshtein Implementation to calculate levenshtein distance in Go.
271 18 5 2017-03-07 mafsa MA-FSA implementation with Minimal Perfect Hashing.
127 28 0 2019-03-07 merkletree Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures.
5 1 0 2018-05-19 mspm Multi-String Pattern Matching Algorithm for information retrieval.
3 0 0 2019-03-18 null Nullable Go types that can be marshalled/unmarshalled to/from JSON.
10 0 0 2018-08-31 pipeline An implementation of pipelines with fan-in and fan-out.
85 4 0 2019-02-19 ring Go implementation of a high performance, thread safe bloom filter.
578 62 47 2019-03-12 roaring Go package implementing compressed bitsets.
5 2 0 2018-10-09 set Simple set data structure implementation in Go using LinkedHashMap.
83 8 0 2018-12-08 skiplist Very fast Go Skiplist implementation.
59 13 1 2014-11-21 skiplist Skiplist implementation in Go.
0 0 0 2019-02-20 timedmap Map with expiring key-value pairs.
379 59 9 2019-03-22 trie Trie implementation in Go.
83 12 1 2019-02-25 ttlcache In-memory LRU string-interface{} map with expiration for golang.
595 94 5 2019-02-28 willf/bloom Go package implementing Bloom filters.

Database

Databases implemented in Go.

Stars Forks Issues Last Commit Name Desc
5501 384 53 2019-03-25 badger Fast key-value store in Go.
1963 162 13 2019-02-18 BigCache Efficient key/value cache for gigabytes of data.
9573 979 84 2018-03-02 bolt Low-level key/value database for Go.
2301 165 4 2019-03-14 buntdb Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
838 304 10 2019-03-04 cache2go In-memory key:value cache which supports automatic invalidation based on timeouts.
25 3 2 2018-01-22 clusteredBigCache BigCache with clustering support and individual item expiration.
15691 1705 2411 2019-03-26 cockroach Scalable, Geo-Replicated, Transactional Datastore.
39 3 0 2017-10-25 couchcache RESTful caching micro-service backed by Couchbase server.
652 54 17 2019-03-26 CovenantSQL CovenantSQL is a SQL database on blockchain.
9118 628 125 2019-03-26 dgraph Scalable, Distributed, Low Latency, High Throughput Graph Database.
700 63 6 2019-03-21 diskv Home-grown disk-backed key-value store.
524 22 2 2019-03-13 eliasdb Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
378 17 3 2019-03-20 fastcache fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
711 90 14 2019-03-01 GCache Cache library with support for expirable Cache, LFU, LRU and ARC.
2498 370 30 2019-02-27 go-cache In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
2878 412 40 2019-03-19 goleveldb Implementation of the LevelDB key/value database in Go.
6 1 0 2018-01-10 gorocksdb Gorocksdb is a wrapper for RocksDB written in Go.
7266 852 14 2019-02-13 groupcache Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
15866 2277 1487 2019-03-26 influxdb Scalable datastore for metrics, events, and real-time analytics.
2914 338 105 2019-03-26 ledisdb Ledisdb is a high performance NoSQL like Redis based on LevelDB.
357 75 3 2019-02-28 levigo Levigo is a Go wrapper for LevelDB.
689 34 43 2019-03-22 moss Moss is a simple LSM key-value storage engine written in 100% Go.
739 44 3 2019-03-15 nutsdb Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.
167 17 9 2018-04-07 piladb Lightweight RESTful database engine based on stack data structures.
22861 3145 345 2019-03-26 prometheus Monitoring system and time series database.
185 9 0 2019-02-27 pudge Fast and simple key/value store written using Go’s standard library.
4300 235 58 2019-02-26 rqlite The lightweight, distributed, relational database built on SQLite.
35 4 1 2019-03-09 Scribble Tiny flat file JSON store.
74 6 0 2018-12-24 slowpoke Key-value store with persistence.
13 1 0 2018-02-14 tempdb Key-value store for temporary items.
17873 2580 816 2019-03-26 tidb TiDB is a distributed SQL database. Inspired by the design of Google F1.
2314 225 21 2019-01-25 tiedot Your NoSQL database powered by Golang.
125 13 1 2019-03-07 Vasto A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.

Database schema migration.

Stars Forks Issues Last Commit Name Desc
78 10 2 2018-11-27 darwin Database schema evolution library for Go.
17 7 0 2018-11-01 go-fixtures Django style fixtures for Golang’s excellent built-in database/sql library.
20 5 0 2018-12-22 go-pg-migrations A Go package to help write migrations with go-pg/pg.
24 1 4 2019-03-22 gondolier Database migration library using struct decorators.
105 16 5 2016-09-24 goose Database migration tool. You can manage your database’s evolution by creating incremental SQL or Go scripts.
265 29 6 2019-02-03 gormigrate Database schema migration helper for Gorm ORM.
1833 188 39 2019-03-21 migrate Database migrations. CLI and Golang library.
24 4 30 2018-12-20 pravasan Simple Migration tool - currently for MySQL but planning to soon support Postgres, SQLite, MongoDB, etc.
N/A N/A N/A N/A soda Database migration, creation, ORM, etc… for MySQL, PostgreSQL, and SQLite.
1269 122 48 2019-03-13 sql-migrate Database migration tool. Allows embedding migrations into the application using go-bindata.

Database tools.

Stars Forks Issues Last Commit Name Desc
249 27 3 2019-03-08 chproxy HTTP proxy for ClickHouse database.
108 20 2 2019-03-05 clickhouse-bulk Collects small insterts and sends big requests to ClickHouse servers.
28 2 9 2019-02-02 dbbench Database benchmarking tool with support for several databases and scripts.
1610 391 70 2019-03-12 go-mysql Go toolset to handle MySQL protocol and replication.
2081 412 152 2019-03-03 go-mysql-elasticsearch Sync your MySQL data into Elasticsearch automatically.
4260 859 89 2019-02-19 kingshard kingshard is a high performance proxy for MySQL powered by Golang.
132 39 3 2018-10-05 myreplication MySql binary log replication listener. Supports statement and row based replication.
43 4 1 2019-01-18 octillery Go package for sharding databases ( Supports every ORM or raw SQL ).
2668 377 176 2019-03-26 orchestrator MySQL replication topology manager & visualizer.
5792 409 34 2019-02-26 pgweb Web-based PostgreSQL database browser.
23 1 0 2017-12-19 prep Use prepared SQL statements without changing your code.
1974 104 64 2019-03-20 pREST Serve a RESTful API from any PostgreSQL database.
10 0 0 2017-11-08 rwdb rwdb provides read replica capability for multiple database servers setup.
7691 989 299 2019-03-25 vitess vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.

SQL query builder, libraries for building and using SQL.

Stars Forks Issues Last Commit Name Desc
411 32 4 2018-10-22 Dotsql Go library that helps you keep sql files in one place and use them with ease.
601 71 3 2019-03-08 gendry Non-invasive SQL builder and powerful data binder.
49 26 0 2019-01-30 godbal Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.
496 54 26 2019-02-13 goqu Idiomatic SQL builder and query library.
74 2 0 2018-07-01 igor Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
0 1 0 2019-02-15 ormlite Lightweight package containing some ORM-like features and helpers for sqlite databases.
410 42 25 2018-08-23 ozzo-dbx Powerful data retrieval methods as well as DB-agnostic query building capabilities.
142 12 6 2018-04-03 scaneo Generate Go code to convert database rows into arbitrary structs.
149 16 6 2019-01-29 sqrl SQL query builder, fork of Squirrel with improved performance.
N/A N/A N/A N/A Squalus Thin layer over the Go SQL package that makes it easier to perform queries.
1979 176 46 2019-03-19 Squirrel Go library that helps you build SQL queries.
1981 174 71 2019-03-20 xo Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.

Database Drivers

Libraries for connecting and operating databases.

Stars Forks Issues Last Commit Name Desc
27 8 0 2019-01-07 avatica Apache Avatica/Phoenix SQL driver for database/sql.
11 4 0 2019-03-07 bgc Datastore Connectivity for BigQuery for go.
100 29 9 2019-03-10 firebirdsql Firebird RDBMS SQL driver for Go.
85 25 10 2019-02-26 go-adodb Microsoft ActiveX Object DataBase driver for go that uses database/sql.
920 228 57 2019-03-19 go-mssqldb Microsoft MSSQL driver for Go.
366 173 9 2019-03-20 go-oci8 Oracle driver for go that uses database/sql.
7190 1344 63 2019-03-20 go-sql-driver/mysql MySQL driver for Go.
3123 618 43 2019-03-17 go-sqlite3 SQLite3 driver for go that uses database/sql.
86 38 14 2019-02-19 gofreetds Microsoft MSSQL driver. Go wrapper over FreeTDS.
185 30 17 2019-03-24 goracle Oracle driver for Go, using the ODPI-C driver.
1677 215 91 2019-03-25 pgx PostgreSQL driver supporting features beyond those exposed by database/sql.
4754 618 215 2019-03-26 pq Pure Go Postgres driver for database/sql.
Stars Forks Issues Last Commit Name Desc
291 121 10 2019-03-20 aerospike-client-go Aerospike client in Go language.
63 17 4 2017-09-10 arangolite Lightweight golang driver for ArangoDB.
4 1 0 2019-03-25 asc Datastore Connectivity for Aerospike for go.
63 14 2 2017-08-07 dynago Dynago is a principle of least surprise client for DynamoDB.
29 4 7 2016-12-15 forestdb Go bindings for ForestDB.
286 85 37 2019-03-12 go-couchbase Couchbase client in Go.
51 36 17 2018-09-05 go-couchdb Yet another CouchDB HTTP API wrapper for Go.
27 15 7 2019-03-21 go-pilosa Go client library for Pilosa.
68 7 1 2019-01-27 go-rejson Golang client for redislabs’ ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.
284 74 1 2019-03-26 gocb Official Couchbase Go SDK.
N/A N/A N/A N/A gocql Go language driver for Apache Cassandra.
4 1 0 2019-02-08 godscache A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.
1022 290 39 2019-03-21 gomemcache memcache client library for the Go programming language.
1428 152 14 2019-01-21 gorethink Go language driver for RethinkDB.
24 3 2 2018-12-27 goriak Go language driver for Riak KV.
1468 161 39 2019-03-14 mgo MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms.
2276 233 7 2019-03-26 mongo-go-driver Official MongoDB driver for the Go language.
24 4 8 2015-04-02 neo4j Neo4j Rest API Bindings for Golang.
72 13 0 2018-06-20 Neo4j-GO Neo4j REST Client in golang.
350 52 17 2019-02-19 neoism Neo4j client for Golang.
5663 842 13 2019-03-25 redigo Redigo is a Go client for the Redis database.
5311 726 23 2019-03-25 redis Redis client for Golang.
241 18 0 2018-11-29 redis Redis-protocol compatible TCP servers/services.
9 2 0 2018-06-07 xredis Typesafe, customizable, clean & easy to use Redis client.
Stars Forks Issues Last Commit Name Desc
5076 407 154 2019-03-26 bleve Modern text indexing library for go.
3593 680 37 2019-03-16 elastic Elasticsearch client for Go.
310 63 3 2019-03-21 elasticsql Convert sql to elasticsearch dsl in Go.
938 253 78 2019-02-05 elastigo Elasticsearch client library.
24 9 2 2017-03-03 goes Library to interact with Elasticsearch.
4368 269 29 2019-03-07 riot Go Open Source, Distributed, Simple and efficient Search Engine.
59 7 0 2016-05-09 skizze probabilistic data-structures service and storage.
Stars Forks Issues Last Commit Name Desc
103 3 0 2018-05-20 cachego Golang Cache component for multiple drivers.
12319 1094 81 2019-02-21 cayley Graph database with support for multiple backends.
9 4 0 2019-03-23 dsc Datastore connectivity for SQL, NoSQL, structured files.
55 6 15 2019-03-23 gokv Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)

Date and Time

Libraries for working with dates and times.

Stars Forks Issues Last Commit Name Desc
312 25 6 2019-01-16 carbon Simple Time extension with a lot of util methods, ported from PHP Carbon library.
24 6 0 2019-03-20 date Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.
815 42 12 2019-03-25 dateparse Parse date’s without knowing format in advance.
210 20 1 2018-09-03 durafmt Time duration formatting library for Go.
18 3 1 2019-02-14 feiertage Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving…
49 9 0 2019-03-15 go-persian-calendar The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
10 2 0 2017-11-21 go-sunrise Calculate the sunrise and sunset times for a given location.
18 6 0 2017-01-03 goweek Library for working with week entity in golang.
62 2 0 2018-12-21 iso8601 Efficiently parse ISO8601 date-times without regex.
9 1 0 2019-02-23 kair Date and Time - Golang Formatting Library.
2016 119 7 2019-02-17 now Now is a time toolkit for golang.
9 2 0 2017-03-22 NullTime Nullable time.Time.
5 0 0 2018-02-21 strftime C99-compatible strftime formatter.
60 7 3 2019-03-19 timespan For interacting with intervals of time, defined as a start time and a duration.
156 9 1 2019-02-03 timeutil Useful extensions (Timedelta, Strftime, …) to the golang’s time package.
7 1 1 2017-08-30 tuesday Ruby-compatible Strftime function.

Distributed Systems

Packages that help with building Distributed Systems.

Stars Forks Issues Last Commit Name Desc
47 5 1 2018-12-08 celeriac Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
159 18 0 2019-03-12 consistent Consistent hashing with bounded loads.
278 36 9 2018-10-14 digota grpc ecommerce microservice.
29 6 0 2019-01-02 doublejump A revamped Google’s jump consistent hash.
23 16 1 2018-05-14 drmaa Job submission library for cluster schedulers based on the DRMAA standard.
N/A N/A N/A N/A dynamolock DynamoDB-backed distributed locking implementation.
7 0 0 2019-02-21 dynatomic A library for using DynamoDB as an atomic counter.
1696 160 29 2019-03-17 emitter-io High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.
11 1 0 2019-03-06 flowgraph flow-based programming package.
1869 165 25 2019-03-11 gleam Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go’s high concurrency with Luajit’s high performance, runs standalone or distributed.
2374 190 9 2018-11-02 glow Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
443 24 0 2018-12-04 go-health Library for enabling asynchronous dependency health checks in your service.
235 20 1 2018-02-12 go-jump Port of Google’s “Jump” Consistent Hash function.
13027 1360 63 2019-03-23 go-kit Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
525 67 13 2017-04-07 gorpc Simple, fast and scalable RPC library for high load.
7773 1544 112 2019-03-26 grpc-go The Go language implementation of gRPC. HTTP/2 based RPC.
935 164 17 2018-05-17 hprose Very newbility RPC Library, support 25+ languages now.
7572 716 289 2019-03-26 jaeger A distributed tracing system.
107 8 4 2019-03-14 jsonrpc The jsonrpc package helps implement of JSON-RPC 2.0.
82 29 0 2018-12-01 jsonrpc JSON-RPC 2.0 HTTP client implementation.
1365 119 13 2019-03-25 KrakenD Ultra performant API Gateway framework with middlewares.
5773 466 3 2019-03-22 micro Pluggable microservice toolkit and distributed systems platform.
5404 579 45 2019-03-26 NATS Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
1 0 0 2019-02-21 outboxer Outboxer is a go library that implements the outbox pattern.
N/A N/A N/A N/A pglock PostgreSQL-backed distributed locking implementation.
2551 318 83 2019-03-19 raft Golang implementation of the Raft consensus protocol, by HashiCorp.
N/A N/A N/A N/A raft Go implementation of the Raft consensus protocol, by CoreOS.
110 31 1 2018-11-29 redis-lock Simplified distributed locking implementation using Redis.
535 41 27 2019-02-19 ringpop-go Scalable, fault-tolerant application-layer sharding for Go applications.
3325 569 12 2019-03-26 rpcx Distributed pluggable RPC service framework like alibaba Dubbo.
292 17 0 2018-03-21 sleuth Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).
2775 763 463 2019-03-26 tendermint High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols.
2642 309 33 2019-03-22 torrent BitTorrent client package.
103 23 1 2019-03-19 dht BitTorrent Kademlia DHT implementation.
358 55 8 2019-02-23 go-peerflix Video streaming torrent client.

Email

Libraries and tools that implement email creation and sending.

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A chasquid SMTP server written in Go.
147 27 8 2018-03-22 douceur CSS inliner for your HTML emails.
1015 130 25 2019-03-12 email A robust and flexible email library for Go.
46 18 4 2019-03-25 go-dkim DKIM library, to sign & verify email.
639 94 30 2019-03-19 go-imap IMAP library for clients and servers.
79 25 7 2019-03-23 go-message Streaming library for the Internet Message Format and mail messages.
2161 280 59 2019-02-13 Gomail Gomail is a very simple and powerful package to send emails.
162 20 12 2018-04-14 Hectane Lightweight SMTP client providing an HTTP API.
1497 100 16 2019-02-26 hermes Golang package that generates clean, responsive HTML e-mails.
4626 297 101 2019-03-01 MailHog Email and SMTP testing with web and API interface.
476 194 103 2019-03-03 SendGrid SendGrid’s Go library for sending email.
49 8 3 2018-06-12 smtp SMTP server protocol state machine.

Embeddable Scripting Languages

Embedding other languages inside your go code.

Stars Forks Issues Last Commit Name Desc
317 31 20 2015-01-25 agora Dynamically typed, embeddable programming language in Go.
850 75 15 2019-03-22 anko Scriptable interpreter written in Go.
25 4 1 2018-07-29 binder Go to Lua binding library, based on gopher-lua.
317 22 8 2019-01-19 expr an engine that can evaluate expressions.
12 0 0 2019-03-21 gentee Embeddable scripting programming language.
415 32 2 2017-08-25 gisp Simple LISP in Go.
634 71 6 2019-03-17 go-duktape Duktape JavaScript engine bindings for Go.
1559 112 31 2018-11-06 go-lua Port of the Lua 5.2 VM to pure Go.
616 81 17 2018-10-07 go-php PHP bindings for Go.
818 90 18 2019-03-26 go-python naive go bindings to the CPython C-API.
424 122 6 2018-08-22 golua Go bindings for Lua C API.
2700 284 35 2019-03-25 gopher-lua Lua 5.1 VM and compiler written in Go.
95 10 1 2019-03-18 gval A highly customizable expression language written in Go.
16 1 1 2018-06-03 ngaro Embeddable Ngaro VM implementation enabling scripting in Retro.
4446 397 103 2019-02-25 otto JavaScript interpreter written in Go.
25 2 2 2014-12-07 purl Perl 5.18.2 embedded in Go.
1122 46 23 2019-03-25 tengo Bytecode compiled script language for Go.

Error Handling

Libraries for handling errors.

Stars Forks Issues Last Commit Name Desc
4246 284 31 2019-02-27 errors Package that provides simple error handling primitives.
514 9 1 2019-03-06 errorx A feature rich error package with stack traces, composition of errors and more.
647 43 6 2018-12-14 go-multierror Go (golang) package for representing a list of errors as a single error.
431 5 0 2019-03-15 tracerr Golang errors with stack trace and source fragments.
10 3 0 2016-03-10 werr Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called.

Files

Libraries for handling files and file systems.

Stars Forks Issues Last Commit Name Desc
1981 199 66 2019-03-26 afero FileSystem Abstraction System for Go.
40 11 0 2018-10-15 go-csv-tag Load csv file using tag.
11 1 2 2018-10-18 go-decent-copy Copy files for humans.
13 7 0 2019-01-10 go-gtfs Load gtfs files in go.
460 62 33 2019-02-19 notify File system event notification library with simple API, similar to os/signal.
51 1 0 2019-02-26 opc Load Open Packaging Conventions (OPC) files for Go.
819 57 10 2019-03-25 pdfcpu PDF processor.
42 6 1 2017-08-04 skywalker Package to allow one to concurrently go through a filesystem with ease.
31 4 0 2017-04-02 tarfs Implementation of the FileSystem interface for tar files.
8 2 3 2019-03-19 vfs A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.

Financial

Packages for accounting and finance.

Stars Forks Issues Last Commit Name Desc
452 29 3 2019-01-31 accounting money and currency formatting for golang.
1369 209 58 2019-03-21 decimal Arbitrary-precision fixed-point decimal numbers.
538 47 4 2018-03-09 go-finance Comprehensive financial markets data in Go.
34 5 0 2018-05-05 go-finance Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
560 35 4 2019-03-19 go-money Implementation of Fowler’s Money pattern.
54 7 0 2019-03-06 ofxgo Query OFX servers and/or parse the responses (with example command-line client).
31 9 0 2019-03-13 orderbook Matching Engine for Limit Order Book in Golang.
111 15 2 2019-03-08 techan Technical analysis library with advanced market analysis and trading strategies.
47 6 0 2018-09-05 transaction Embedded transactional database of accounts, running in multithreaded mode.
56 5 3 2018-09-10 vat VAT number validation & EU VAT rates.

Forms

Libraries for working with forms.

Stars Forks Issues Last Commit Name Desc
23 3 0 2014-08-16 bind Bind form data to any Go values.
736 65 8 2018-03-28 binding Binds form and JSON data from net/http Request to struct.
164 17 0 2018-06-15 conform Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
331 21 5 2019-02-03 form Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
111 11 1 2019-03-07 formam decode form’s values into a struct.
97 9 2 2017-07-02 forms Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
376 61 1 2018-12-20 gorilla/csrf CSRF protection for Go web applications & services.
932 69 8 2019-01-18 nosurf CSRF protection middleware for Go.

Functional

Packages to support functional programming in Go.

Stars Forks Issues Last Commit Name Desc
75 6 0 2018-07-19 fpGo Monad, Functional Programming features for Golang.
20 2 0 2019-03-12 fuego Functional Experiment in Go.
1021 54 4 2019-02-14 go-underscore Useful collection of helpfully functional Go collection utilities.

Game Development

Awesome game development libraries.

Stars Forks Issues Last Commit Name Desc
408 30 81 2018-06-24 Azul3D 3D game engine written in Go.
1587 105 145 2019-03-24 Ebiten dead simple 2D game library in Go.
960 88 35 2019-03-26 engo Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
629 60 39 2019-03-24 g3n Go 3D Game Engine.
303 26 4 2013-09-03 GarageEngine 2d game engine written in Go working on OpenGL.
77 8 3 2015-09-24 glop Glop (Game Library Of Power) is a fairly simple cross-platform game library.
310 29 0 2018-03-26 go-astar Go implementation of the A* path finding algorithm.
12 2 1 2013-09-26 go-collada Go package for working with the Collada file format.
1065 136 29 2019-03-21 go-sdl2 Go bindings for the Simple DirectMedia Layer.
156 28 1 2019-03-19 go3d Performance oriented 2D/3D math package for Go.
1010 291 0 2017-05-12 gonet Game server skeleton implemented with golang.
974 184 12 2019-01-01 goworld Scalable game server engine, featuring space-entity framework and hot-swapping.
2762 770 10 2018-12-28 Leaf Lightweight game server framework.
867 122 3 2019-01-26 nano Lightweight, facility, high performance golang based game server framework.
584 30 17 2019-03-26 Oak Pure Go game engine.
231 33 5 2019-03-21 Pitaya Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
2155 120 27 2019-03-26 Pixel Hand-crafted 2D game library in Go.
347 33 17 2018-11-17 raylib-go Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.
982 60 6 2019-03-02 termloop Terminal-based game engine for Go, built on top of Termbox.

Generation and Generics

Tools to enhance the language with features like generics via code generation.

Stars Forks Issues Last Commit Name Desc
40 8 1 2017-10-12 efaceconv Code generation tool for high performance conversion from interface{} to immutable type without allocations.
985 67 29 2018-06-11 gen Code generation tool for ‘generics’-like functionality.
69 6 1 2019-03-19 go-enum Code generation for enums from code comments.
1680 117 1 2018-11-09 go-linq .NET LINQ-like query methods for Go.
675 22 15 2019-02-24 goderive Derives functions from input types.
19 1 0 2019-03-15 gotype Golang source code parsing, usage like reflect package.
210 11 1 2019-02-26 GoWrap Generate decorators for Go interfaces using simple templates.
165 10 1 2018-12-21 interfaces Command line tool for generating interface definitions.
1160 51 5 2019-01-30 jennifer Generate arbitrary Go code without templates.
79 10 1 2017-09-05 pkgreflect Go preprocessor for package scoped reflection.

Geographic

Geographic tools and servers

Stars Forks Issues Last Commit Name Desc
95 5 0 2016-06-21 geocache In-memory cache that is suitable for geolocation based applications.
20 3 2 2018-11-24 geoserver geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
11 4 0 2018-10-30 gismanager Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.
43 6 0 2018-12-14 osm Library for reading, writing and working with OpenStreetMap data and APIs.
11 0 1 2018-10-14 pbf OpenStreetMap PBF golang encoder/decoder.
812 88 1 2019-02-21 S2 geometry S2 geometry library in Go.
6052 318 80 2019-03-19 Tile38 Geolocation DB with spatial index and realtime geofencing.

Go Compilers

Tools for compiling Go to other languages.

Stars Forks Issues Last Commit Name Desc
116 15 38 2019-03-26 c4go Transpile C code to Go code.
9 1 2 2018-12-21 f4go Transpile FORTRAN 77 code to Go code.
8074 372 218 2019-03-10 gopherjs Compiler from Go to JavaScript.
959 80 22 2015-01-05 llgo LLVM-based compiler for Go.
387 22 3 2016-11-19 tardisgo Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.

Goroutines

Tools for managing and working with Goroutines.

Stars Forks Issues Last Commit Name Desc
1429 189 3 2019-02-24 ants A high-performance goroutine pool for golang.
6 1 0 2018-11-02 artifex Simple in-memory job queue for Golang using worker-based dispatching.
15 4 0 2018-09-18 async A safe way to execute functions asynchronously, recovering them in case of panic.
13 0 0 2019-03-24 breaker 🚧 Flexible mechanism to make your code breakable.
23 1 0 2018-10-27 cyclicbarrier CyclicBarrier for golang.
165 8 0 2018-01-26 go-floc Orchestrate goroutines with ease.
96 12 0 2017-09-19 go-flow Control goroutines execution order.
4 1 0 2018-05-29 go-trylock TryLock support on read-write lock for Golang.
61 6 1 2018-08-01 GoSlaves Simple and Asynchronous Goroutine pool library.
2149 192 21 2019-02-05 goworker goworker is a Go-based background worker.
48 1 0 2019-03-04 gpool manages a resizeable pool of context-aware goroutines to bound concurrency.
466 64 2 2019-01-27 grpool Lightweight Goroutine pool.
N/A N/A N/A N/A oversight Oversight is a complete implementation of the Erlang supervision trees.
24 1 0 2018-01-01 parallel-fn Run functions in parallel.
454 45 1 2016-08-23 pool Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
67 7 5 2019-03-24 semaphore Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
64 4 0 2019-01-10 semaphore Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).
5 0 0 2018-09-28 stl Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.
15 3 0 2019-03-11 threadpool Golang threadpool implementation.
1170 104 0 2018-11-08 tunny Goroutine pool for golang.
35 5 0 2019-02-05 worker-pool goworker is a Go simple async worker pool.
83 17 0 2018-12-30 workerpool Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.

GUI

Libraries for building GUI Applications.

Toolkits

Stars Forks Issues Last Commit Name Desc
2775 111 2 2019-03-21 app Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
3792 107 43 2019-03-26 fyne Cross platform native GUIs designed for Go, rendered using EFL. Supports: Linux, macOS, Windows.
2403 149 16 2019-01-11 go-astilectron Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron).
N/A N/A N/A N/A go-gtk Go bindings for GTK.
1320 155 35 2018-10-31 go-sciter Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.
641 111 40 2019-03-17 gotk3 Go bindings for GTK3.
178 25 0 2018-10-25 gowd Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
5356 369 109 2019-03-22 qt Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
6540 570 89 2019-02-06 ui Platform-native GUI library for Go. Cross platform.
3321 507 188 2019-03-26 walk Windows application library kit for Go.
4035 266 127 2019-03-03 webview Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).

Interaction

Stars Forks Issues Last Commit Name Desc
482 34 5 2018-02-01 gosx-notifier OSX Desktop Notifications library for Go.
4025 344 31 2019-03-21 robotgo Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
653 94 33 2019-02-16 systray Cross platform Go library to place an icon and menu in the notification area.
148 12 6 2018-10-20 trayhost Cross-platform Go library to place an icon in the host operating system’s taskbar.

Hardware

Libraries, tools, and tutorials for interacting with hardware.

See go-hardware for a comprehensive list.

Images

Libraries for manipulating images.

Stars Forks Issues Last Commit Name Desc
1938 93 8 2019-03-11 bild Collection of image processing algorithms in pure Go.
711 155 81 2019-03-21 bimg Small package for fast and efficient image processing using libvips.
21 5 0 2019-03-21 cameron An avatar generator for Go.
988 48 3 2019-01-08 geopattern Create beautiful generative image patterns from a string.
1731 125 12 2019-03-09 gg 2D rendering in pure Go.
1165 81 0 2019-03-22 gift Package of image processing filters.
85 22 1 2018-09-10 go-cairo Go binding for the cairo graphics library.
48 12 0 2018-05-07 go-gd Go binding for GD library.
274 31 2 2018-11-22 go-nude Nudity detection with Go.
1036 168 40 2019-01-15 go-opencv Go bindings for OpenCV.
24 3 0 2015-08-21 go-webcolors Port of webcolors library from Python to Go.
2068 290 76 2019-03-22 gocv Go package for computer vision using OpenCV 3.3+.
175 16 3 2019-03-19 goimagehash Go Perceptual image hashing package.
285 12 6 2018-04-13 govatar Library and CMD tool for generating funny avatars.
245 18 2 2018-11-07 image2ascii Convert image to ASCII.
897 114 14 2019-01-15 imagick Go binding to ImageMagick’s MagickWand C API.
2356 242 47 2019-03-25 imaginary Fast and simple HTTP microservice for image resizing.
2234 212 0 2019-03-08 imaging Simple Go image processing package.
128 7 1 2015-05-01 img Selection of image manipulation tools.
2396 84 11 2018-02-23 ln 3D line art rendering in Go.
45 5 2 2019-02-25 mergi Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
347 12 7 2019-03-26 mort Storage and image processing server written in Go.
6 1 1 2019-01-26 mpo Decoder and conversion tool for MPO 3D Photos.
975 85 18 2019-01-29 picfit An image resizing server written in Go.
1720 85 5 2019-03-21 pt Path tracing engine written in Go.
2037 192 6 2018-02-21 resize Image resizing for Go with common interpolation methods.
157 11 2 2017-07-31 rez Image resizing in pure Go and SIMD.
1207 72 6 2018-10-30 smartcrop Finds good crops for arbitrary images and crop sizes.
14 4 0 2018-10-18 steganography Pure Go Library for LSB steganography.
398 24 0 2019-02-12 stegify Go tool for LSB steganography, capable of hiding any file within an image.
1237 100 8 2018-10-06 svgo Go Language Library for SVG generation.
22 10 1 2015-05-24 tga Package tga is a TARGA image format decoder/encoder.

IoT (Internet of Things)

Libraries for programming devices of the IoT.

Stars Forks Issues Last Commit Name Desc
156 16 7 2019-02-28 connectordb Open-Source Platform for Quantified Self & IoT.
223 16 9 2016-07-10 devices Suite of libraries for IoT devices, experimental for x/exp/io.
31 7 9 2017-04-12 eywa Project Eywa is essentially a connection manager that keeps track of connected devices.
986 144 114 2019-03-14 flogo Project Flogo is an Open Source Framework for IoT Edge Apps & Integration.
776 197 45 2018-11-23 gatt Gatt is a Go package for building Bluetooth Low Energy peripherals.
5278 659 99 2019-03-17 gobot Gobot is a framework for robotics, physical computing, and the Internet of Things.
88 6 1 2019-02-26 huego An extensive Philips Hue client library for Go.
31 2 0 2018-04-17 iot IoT is a simple framework for implementing a Google IoT Core device.
426 154 52 2019-03-22 mainflux Industrial IoT Messaging and Device Management Server.
N/A N/A N/A N/A periph Peripherals I/O to interface with low-level board facilities.
166 24 38 2017-12-31 sensorbee Lightweight stream processing engine for IoT.

Job Scheduler

Libraries for scheduling jobs.

Stars Forks Issues Last Commit Name Desc
56 2 0 2017-04-15 clockwerk Go package to schedule periodic jobs using a simple, fluent syntax.
57 8 2 2019-02-13 clockwork Simple and intuitive job scheduling library in Go.
170 10 0 2015-05-15 go-cron Simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.
554 27 5 2019-02-24 gron Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.
522 34 0 2016-10-19 JobRunner Smart and featureful cron job scheduler with job queuing and live monitoring built in.
443 33 18 2018-06-16 jobs Persistent and flexible background jobs library.
28 6 9 2019-03-25 leprechaun Job scheduler that supports webhooks, crons and classic scheduling.
269 38 6 2018-06-13 scheduler Cronjobs scheduling made easy.

JSON

Libraries for working with JSON.

Stars Forks Issues Last Commit Name Desc
53 5 0 2019-03-06 gjo Small utility to create JSON objects.
4187 269 8 2019-02-17 GJSON Get a JSON value with one line of code.
17 3 0 2018-10-30 go-respond Go package for handling common HTTP JSON responses.
132 13 1 2018-05-30 gojq JSON query in Golang.
1939 130 37 2019-02-13 gojson Automatically generate Go (golang) struct definitions from example JSON.
35 3 0 2019-03-07 JayDiff JSON diff utility written in Go.
N/A N/A N/A N/A JSON-to-Go Convert JSON to Go struct.
5 1 0 2016-11-17 jsonapi-errors Go bindings based on the JSON API errors reference.
54 7 0 2016-07-08 jsonf Console tool for highlighted formatting and struct query fetching JSON.
86 8 1 2016-12-15 jsongo Fluent API to make it easier to create Json objects.
8 4 0 2018-11-01 jsonhal Simple Go package to make custom structs marshal into HAL compatible JSON responses.
109 27 12 2018-08-29 kazaam API for arbitrary transformation of JSON documents.
31 2 1 2016-05-11 mp Simple cli email parser. It currently takes stdin and outputs JSON.

Logging

Libraries for generating and working with log files.

Stars Forks Issues Last Commit Name Desc
15 5 0 2018-07-26 distillog distilled levelled logging (think of it as stdlib + log levels).
36 8 1 2019-03-26 glg glg is simple and fast leveled logging library for Go.
4 0 0 2019-01-23 glo PHP Monolog inspired logging facility with identical severity levels.
2157 514 2 2019-03-06 glog Leveled execution logs for Go.
17 1 0 2019-03-04 go-cronowriter Simple writer that rotate log files automatically based on current date and time, like cronolog.
8 3 0 2018-05-19 go-log Simple and configurable Logging in Go, with level, formatters and writers.
22 11 1 2019-02-21 go-log Log lib supports level and multi handlers.
33 14 3 2018-03-31 go-log Log4j implementation in Go.
221 36 3 2018-09-29 go-logger Simple logger of Go Programs, with level handlers.
38 7 2 2018-01-31 gologger Simple easy to use log lib for go, logs in Colored Console, Simple Console, File or Elasticsearch.
13 0 3 2019-03-14 gomol Multiple-output, structured logging for Go with extensible logging outputs.
N/A N/A N/A N/A gone/log Fast, extendable, full-featured, std-lib source compatible log library.
17 0 0 2018-12-25 journald Go implementation of systemd Journal’s native API for logging.
678 60 23 2018-10-11 log Structured logging package for Go.
259 20 0 2019-03-11 log Simple, configurable and scalable Structured Logging for Go.
21 1 0 2017-12-04 log Structured log interface for Go cleanly separates logging facade from its implementation.
83 9 9 2017-05-24 log-voyage Full-featured logging saas written in golang.
849 102 36 2019-03-21 log15 Simple, powerful logging for Go.
7 1 0 2018-04-02 logdump Package for multi-level logging.
32 6 1 2017-03-29 logex Golang log lib, supports tracking and level, wrap by standard log lib.
131 13 0 2018-09-23 logger Minimalistic logging library for Go.
4 0 0 2019-01-13 logmatic Colorized logger for Golang with dynamic log level configuration.
4 1 0 2017-10-19 logo Golang logger to different configurable writers.
10319 1244 137 2019-03-26 logrus Structured logger for Go.
25 11 2 2018-03-15 logrusly logrus plug-in to send errors to a Loggly.
240 26 0 2018-08-28 logutils Utilities for slightly better logging in Go (Golang) extending the standard logger.
327 33 23 2017-12-23 logxi 12-factor app logger that is fast and makes you happy.
1214 163 24 2019-03-15 lumberjack Simple rolling logger, implements io.WriteCloser.
16 10 0 2018-08-05 mlog Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
313 12 0 2019-03-06 onelog Onelog is a dead simple but very efficient JSON logger. It is the fastest JSON logger out there in all scenario. Also, it is one of the logger with the lowest allocation.
103 24 8 2018-04-06 ozzo-log High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail).
1281 215 37 2019-03-04 seelog Logging functionality with flexible dispatching, filtering, and formatting.
3029 182 34 2019-01-31 spew Implements a deep pretty printer for Go data structures to aid in debugging.
44 4 1 2015-09-15 stdlog Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
1375 284 45 2019-02-27 tail Go package striving to emulate the features of the BSD tail program.
6 1 0 2019-01-15 xlog Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format.
126 8 2 2018-03-19 xlog Structured logger for net/context aware HTTP handlers with flexible dispatching.
6304 471 66 2019-03-26 zap Fast, structured, leveled logging in Go.
1820 130 18 2019-03-23 zerolog Zero-allocation JSON logger.

Machine Learning

Libraries for Machine Learning.

Stars Forks Issues Last Commit Name Desc
602 100 7 2019-03-20 bayesian Naive Bayesian Classification for Golang.
627 78 34 2018-11-20 CloudForest Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
589 48 0 2019-03-24 eaopt An evolutionary optimization library.
5 2 20 2019-01-28 evoli Genetic Algorithm and Particle Swarm Optimization library.
26 6 0 2018-04-10 fonet A Deep Neural Network library written in Go.
18 3 0 2018-08-06 go-cluster Go implementation of the k-modes and k-prototypes clustering algorithms.
202 14 1 2018-09-14 go-deep A feature-rich neural network library in Go.
98 21 2 2015-02-03 go-fann Go bindings for Fast Artificial Neural Networks(FANN) library.
164 40 0 2015-12-28 go-galib Genetic Algorithms library written in Go / golang.
56 11 0 2013-06-08 go-pr Pattern recognition package in Go lang.
338 46 5 2019-03-25 gobrain Neural Networks written in go.
22 4 0 2015-05-11 godist Various probability distributions, and associated methods.
74 8 0 2017-01-16 goga Genetic algorithm library for Go.
6372 867 52 2019-03-23 GoLearn General Machine Learning library for Go.
38 10 0 2018-08-29 golinear liblinear bindings for Go.
5 1 6 2018-07-31 GoMind A simplistic Neural Network Library in Go.
969 85 5 2016-10-30 goml On-line Machine Learning in Go.
138 15 1 2014-07-29 goRecommend Recommendation Algorithms library written in Go.
2478 235 62 2019-03-19 gorgonia graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.
361 38 2 2019-03-26 gorse A High Performance Recommender System Package based on Collaborative Filtering for Go.
27 12 3 2018-09-05 goscore Go Scoring API for PMML.
762 102 8 2019-03-22 gosseract Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
59 8 1 2016-05-09 libsvm libsvm golang version derived work based on LIBSVM 3.14.
4 1 0 2015-12-07 mlgo This project aims to provide minimalistic machine learning algorithms in Go.
52 10 4 2018-07-04 neat Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
60 10 1 2014-04-02 neural-go Multilayer perceptron network implemented in Go, with training via backpropagation.
180 36 0 2019-03-21 ocrserver A simple OCR API server, seriously easy to be deployed by Docker and Heroku.
9 4 3 2015-09-14 probab Probability distribution functions. Bayesian inference. Written in pure Go.
236 21 0 2018-11-14 regommend Recommendation & collaborative filtering engine.
119 23 5 2016-03-16 shield Bayesian text classifier with flexible tokenizers and storage backends for Go.
1093 69 2 2019-03-10 tfgo Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python.
22 4 0 2018-08-02 Varis Golang Neural Network.

Messaging

Libraries that implement messaging systems.

Stars Forks Issues Last Commit Name Desc
1961 204 16 2019-03-16 APNs2 HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps.
1750 82 14 2019-03-21 Benthos A message streaming bridge between a range of protocols.
3400 292 7 2019-03-23 Centrifugo Real-time messaging (Websockets or SockJS) server in Go.
328 85 29 2019-03-26 dbus Native Go bindings for D-Bus.
57 11 2 2018-11-11 drone-line Sending Line notifications using a binary, docker or Drone CI.
290 26 2 2019-01-10 emitter Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
22 4 0 2018-02-19 event Implementation of the pattern observer.
495 60 10 2019-03-22 EventBus The lightweight event bus with async compatibility.
7 1 1 2018-07-23 gaurun-client Gaurun Client written in Go.
297 19 5 2017-10-18 Glue Robust Go and Javascript Socket Library (Alternative to Socket.io).
44 9 1 2019-02-09 go-notify Native implementation of the freedesktop notification spec.
1346 268 13 2019-03-14 go-nsq the official Go package for NSQ.
2665 426 21 2019-03-17 go-socket.io socket.io library for golang, a realtime application framework.
11 0 1 2018-11-02 go-vitotrol Client library to Viessmann Vitotrol web service.
718 58 21 2019-02-05 Gollum A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.
402 32 3 2019-02-18 golongpoll HTTP longpoll server library that makes web pub-sub simple.
35 5 0 2014-12-21 goose Server Sent Events in Go.
1779 523 4 2017-06-07 gopush-cluster gopush-cluster is a go push server cluster.
3347 334 30 2019-03-20 gorush Push notification server using APNs2 and google GCM.
133 15 5 2017-10-31 guble Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.
20 1 0 2018-05-01 hub A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
6 0 0 2019-03-21 jazz A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
3020 376 55 2019-03-20 machinery Asynchronous task queue/job queue based on distributed message passing.
1522 135 7 2019-03-12 mangos Pure go implementation of the Nanomsg (“Scalable Protocols”) with transport interoperability.
1350 146 12 2018-10-30 melody Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.
1186 49 14 2019-03-26 Mercure Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).
34 4 1 2019-02-05 messagebus messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
2172 290 20 2019-03-25 NATS Go Client Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library.
47 9 2 2018-02-15 nsq-event-bus A tiny wrapper around NSQ topic and channel.
94 10 2 2015-11-07 oplog Generic oplog/replication system for REST APIs.
251 38 1 2019-02-11 pubsub Simple pubsub package for go.
57 15 5 2019-01-30 rabbus A tiny wrapper over amqp exchanges and queues.
58 3 0 2019-03-18 rabtap RabbitMQ swiss army knife cli app.
51 7 1 2017-12-07 RapidMQ RapidMQ is a lightweight and reliable library for managing of the local messages queue.
0 0 0 2019-03-07 rmqconn RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
4038 727 98 2019-03-25 sarama Go library for Apache Kafka.
1066 172 54 2019-03-26 Uniqush-Push Redis backed unified push service for server-side notifications to mobile devices.
735 109 27 2019-01-13 zmq4 Go interface to ZeroMQ version 4. Also available for version 3 and version 2.

Microsoft Office

Microsoft Excel

Libraries for working with Microsoft Excel.

Stars Forks Issues Last Commit Name Desc
3467 366 68 2019-03-26 excelize Golang library for reading and writing Microsoft Excel™ (XLSX) files.
34 5 0 2018-12-22 go-excel A simple and light reader to read a relate-db-like excel as a table.
11 0 1 2018-07-31 goxlsxwriter Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files.
3064 532 109 2019-02-22 xlsx Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
37 3 1 2019-01-16 xlsx Fast and safe way to read/update your existing Microsoft Excel files in Go programs.

Miscellaneous

Dependency Injection

Libraries for working with dependency injection.

Stars Forks Issues Last Commit Name Desc
31 4 0 2017-04-26 alice Additive dependency injection container for Golang.
653 45 11 2019-03-25 dig A reflection based dependency injection toolkit for Go.
534 62 12 2019-03-08 fx A dependency injection based application framework for Go (built on top of dig).
13 2 0 2019-01-28 wire Strict Runtime Dependency Injection for Golang.

Strings

Libraries for working with strings.

Stars Forks Issues Last Commit Name Desc
49 4 0 2018-09-05 strutil String utilities.
559 38 0 2018-09-06 xstrings Collection of useful string functions ported from other languages.

These libraries were placed here because none of the other categories seemed to fit.

Stars Forks Issues Last Commit Name Desc
9 1 0 2018-08-12 anagent Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
125 30 1 2018-07-28 antch A fast, powerful and extensible web crawling & scraping framework.
2133 178 21 2019-03-07 archiver Library and command for making and extracting .zip and .tar.gz archives.
22 1 0 2019-01-18 autoflags Go package to automatically define command line flags from struct fields.
8 1 0 2017-08-05 avgRating Calculate average score and rating based on Wilson Score Equation.
206 10 0 2016-11-08 banner Add beautiful banners into your Go applications.
508 105 1 2019-03-15 base64Captcha Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.
123 11 6 2019-02-28 battery Cross-platform, normalized battery information library.
82 10 1 2018-02-21 bitio Highly optimized bit-level Reader and Writer for Go.
27 17 6 2019-01-24 browscap_go GoLang Library for Browser Capabilities Project.
37 6 0 2019-02-28 captcha Package captcha provides an easy to use, unopinionated API for captcha generation.
336 11 0 2017-05-24 conv Package conv provides fast and intuitive conversions across Go types.
26 4 1 2018-04-10 datacounter Go counters for readers/writer/http.ResponseWriter.
112 11 0 2018-12-03 ffmt Beautify data display for Humans.
19 8 6 2018-12-08 ghorg Clone all repos from a GitHub org into a single directory.
598 80 5 2018-08-30 go-commons-pool Generic object pool for Golang.
N/A N/A N/A N/A go-openapi Collection of packages to parse and utilize open-api schemas.
774 64 0 2019-02-08 go-resiliency Resiliency patterns for golang.
62 11 3 2019-02-03 go-unarr Decompression library for RAR, TAR, ZIP and 7z archives.
339 28 0 2019-01-25 gofakeit Random data generator written in go.
61 1 0 2019-03-14 gommit Analyze git commit messages to ensure they follow defined patterns.
3491 657 75 2019-03-26 gopsutil Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
13 1 0 2019-01-28 gosh Provide Go Statistics Handler, Struct, Measure Method.
1201 113 4 2017-07-07 gosms Your own local SMS gateway in Go that can be used to send SMS.
196 20 7 2018-11-27 gountries Package that exposes country and subdivision data.
346 31 2 2018-07-24 health Easy to use, extensible health check library.
65 18 1 2019-03-19 healthcheck An opinionated and concurrent health-check HTTP handler for RESTful services.
7 2 0 2019-01-06 hostutils A golang library for packing and unpacking FQDNs list.
48 7 0 2018-10-18 indigo Distributed unique ID generator of using Sonyflake and encoded by Base58.
97 16 1 2019-01-30 lk A simple licensing library for golang.
368 30 17 2019-03-26 llvm Library for interacting with LLVM IR in pure Go.
48 7 5 2019-02-23 morse Library to convert to and from morse code.
23 2 0 2018-02-19 pdfgen HTTP service to generate PDF from Json requests.
30 3 0 2018-08-05 persian Some utilities for Persian language in go.
7 0 0 2019-03-21 sandid Every grain of sand on earth has its own ID.
5 1 0 2017-10-03 shellwords A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.
410 31 1 2017-10-29 shortid Distributed generation of super short, unique, non-sequential, URL friendly IDs.
115 14 1 2016-09-07 stats Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc…
70 7 2 2018-01-16 turtle Emojis for Go.
12 2 0 2018-06-09 url-shortener A modern, powerful, and robust URL shortener microservice with mysql support.
N/A N/A N/A N/A VarHandler Generate boilerplate http input and output handling.
15 6 1 2018-11-25 xdg FreeDesktop.org (xdg) Specs implemented in Go.
36 6 1 2015-01-08 xkg X Keyboard Grabber.

Natural Language Processing

Libraries for working with human languages.

Stars Forks Issues Last Commit Name Desc
58 7 4 2019-01-06 getlang Fast natural language detection package.
4 2 1 2015-09-14 go-eco Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models.
874 102 9 2019-01-06 go-i18n Package and an accompanying tool to work with localized text.
21 3 0 2016-10-05 go-mystem CGo bindings to Yandex.Mystem - russian morphology analyzer.
78 10 0 2011-11-15 go-nlp Utilities for working with discrete probability distributions and other tools useful for doing NLP work.
460 89 9 2018-08-17 go-pinyin CN Hanzi to Hanyu Pinyin converter.
51 14 1 2018-06-16 go-stem Implementation of the porter stemming algorithm.
45 9 1 2016-11-07 go-unidecode ASCII transliterations of Unicode text.
30 3 0 2018-08-30 go2vec Reader and utility functions for word2vec embeddings.
735 128 27 2018-10-05 gojieba This is a Go implementation of jieba which a Chinese word splitting algorithm.
15 4 0 2014-06-17 golibstemmer Go bindings for the snowball libstemmer library including porter 2.
4 1 0 2019-01-23 gotokenizer A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
63 16 1 2015-09-23 gounidecode Unicode transliterator (also known as unidecode) for Go.
957 69 3 2019-03-23 gse Go efficient text segmentation; support english, chinese, japanese and other.
18 3 2 2017-03-29 icu Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
358 25 2 2019-02-16 kagome JP morphological analyzer written in pure Go.
10 6 0 2012-12-27 libtextcat Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
58 12 0 2012-04-18 MMSEGO This is a GO implementation of MMSEG which a Chinese word splitting algorithm.
350 23 4 2017-09-18 nlp Extract values from strings and fill your structs with nlp.
191 21 2 2019-03-01 nlp Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
24 5 2 2013-12-16 paicehusk Golang implementation of the Paice/Husk Stemming Algorithm.
20 1 0 2018-12-11 petrovich Petrovich is the library which inflects Russian names to given grammatical case.
8 0 0 2013-10-03 porter This is a fairly straightforward port of Martin Porter’s C implementation of the Porter stemming algorithm.
33 2 0 2015-08-29 porter2 Really fast Porter 2 stemmer.
1943 88 11 2019-02-04 prose Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more.
39 6 2 2018-12-07 RAKE.go Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
45 6 3 2016-09-15 segment Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29
253 20 2 2019-02-07 sentences Sentence tokenizer: converts text into a list of sentences.
10 0 0 2019-01-07 shamoji The shamoji is word filtering package written in Go.
23 1 1 2017-06-27 snowball Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.
44 2 0 2016-12-07 stemmer Stemmer packages for Go programming language. Includes English and German stemmers.
60 8 0 2018-07-28 textcat Go package for n-gram based text categorization, with support for utf-8 and raw text.
322 25 5 2019-03-06 whatlanggo Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
912 42 11 2019-03-25 when Natural EN and RU language date/time parser with pluggable rules.

Networking

Libraries for working with various layers of the network.

Stars Forks Issues Last Commit Name Desc
175 31 0 2019-03-13 arp Package arp implements the ARP protocol, as described in RFC 826.
219 25 4 2017-06-02 buffstreams Streaming protocolbuffer data over TCP made easy.
127 39 42 2018-03-25 canopus CoAP Client/Server implementation (RFC 7252).
352 24 3 2019-01-18 cidranger Fast IP to CIDR lookup for Go.
55 19 2 2019-03-11 dhcp6 Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
3502 601 26 2019-03-24 dns Go library for working with DNS.
58 2 0 2016-04-05 ether Cross-platform Go package for sending and receiving ethernet frames.
170 19 0 2019-03-13 ethernet Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
8323 746 23 2019-03-21 fasthttp Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
668 50 56 2019-03-17 fortio Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC.
447 178 22 2019-03-24 ftp Package ftp implements a FTP client as described in RFC 959.
45 1 0 2018-12-29 gmqtt Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
85 35 11 2019-03-04 gNxI A collection of tools for Network Management that use the gNMI and gNOI protocols.
636 72 49 2019-03-12 go-getter Go library for downloading files or directories from various sources using a URL.
298 47 6 2018-07-26 go-stun Go implementation of the STUN client (RFC 3489 and RFC 5389).
1570 314 57 2019-03-26 gobgp BGP implemented in the Go Programming Language.
14 3 0 2017-10-24 golibwireshark Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
2576 499 65 2019-03-16 gopacket Go library for packet processing with libpcap bindings.
338 122 7 2017-01-24 gopcap Go wrapper for libpcap.
8 2 0 2017-10-24 goshark Package goshark use tshark to decode IP packet and create data struct to analyse packet.
400 134 9 2019-03-14 gosnmp Native Go library for performing SNMP actions.
390 143 6 2017-04-18 gotcp Go package for quickly writing tcp applications.
480 62 18 2019-03-22 grab Go package for managing file downloads.
23 5 0 2018-06-06 graval Experimental FTP server framework.
3313 109 11 2018-10-22 HTTPLab HTTPLabs let you inspect HTTP requests and forge responses.
108 10 3 2018-08-30 jazigo Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
1952 361 3 2019-03-22 kcp-go KCP - Fast and Reliable ARQ Protocol.
9943 1929 9 2019-03-25 kcptun Extremely simple & fast udp tunnel based on KCP protocol.
479 97 4 2018-04-08 lhttp Powerful websocket framework, build your IM server more easily.
40 4 0 2017-08-07 linkio Network link speed simulation for Reader/Writer interfaces.
7 0 0 2016-04-04 llb It’s a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.
505 106 31 2019-01-23 mdns Simple mDNS (Multicast DNS) client/server library in Golang.
N/A N/A N/A N/A mqttPaho The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.
586 68 22 2019-03-25 NFF-Go Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
12 4 0 2019-03-17 packet Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
341 17 1 2019-02-21 peerdiscovery Pure Go library for cross-platform local peer discovery using UDP multicast.
40 10 0 2014-12-13 portproxy Simple TCP proxy which adds CORS support to API’s which don’t support it.
17 2 0 2016-12-29 publicip Package publicip returns your public facing IPv4 address (internet egress).
2519 287 71 2019-03-25 quic-go An implementation of the QUIC protocol in pure Go.
259 40 9 2019-03-15 raw Package raw enables reading and writing data at the device driver level for a network interface.
661 204 14 2019-02-05 sftp Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
994 112 17 2019-03-08 ssh Higher-level API for building SSH servers (wraps crypto/ssh).
110 21 9 2018-03-09 sslb It’s a Super Simples Load Balancer, just a little project to achieve some kind of performance.
198 19 4 2019-03-08 stun Go implementation of RFC 5389 STUN protocol.
252 92 2 2019-03-22 tcp_server Go library for building tcp servers faster.
5 1 0 2018-10-29 tspool A TCP Library use worker pool to improve performance and protect your server.
147 25 3 2018-02-19 utp Go uTP micro transport protocol implementation.
767 124 13 2019-03-14 water Simple TUN/TAP library.
1373 148 52 2019-03-26 webrtc A pure Go implementation of the WebRTC API.
196 62 15 2019-03-08 winrm Go WinRM client to remotely execute commands on Windows machines.
70 14 2 2019-01-25 xtcp TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol.

HTTP Clients

Libraries for making HTTP requests.

Stars Forks Issues Last Commit Name Desc
613 27 11 2019-01-27 gentleman Full-featured plugin-driven HTTP client library.
94 33 2 2018-07-27 goreq Enhanced simplified HTTP client based on gorequest.
1311 64 20 2019-02-14 grequests A Go “clone” of the great and famous Requests library.
903 68 10 2019-03-25 heimdall An enchanced http client with retry and hystrix capabilities.
304 31 3 2019-01-27 pester Go HTTP client calls with retries, backoff, and concurrency.
25 2 1 2018-10-20 rq A nicer interface for golang stdlib HTTP client.
806 74 1 2019-03-05 sling Sling is a Go HTTP client library for creating and sending API requests.

OpenGL

Libraries for using OpenGL in Go.

Stars Forks Issues Last Commit Name Desc
596 41 13 2019-03-20 gl Go bindings for OpenGL (generated via glow).
626 82 11 2019-02-17 glfw Go bindings for GLFW 3.
129 10 8 2018-11-04 goxjs/gl Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).
59 11 8 2018-11-04 goxjs/glfw Go cross-platform glfw library for creating an OpenGL context and receiving events.
273 39 12 2019-03-01 mathgl Pure Go math package specialized for 3D math, with inspiration from GLM.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A beego orm Powerful orm framework for go. Support: pq/mysql/sqlite3.
2505 191 27 2019-03-25 go-pg PostgreSQL ORM with focus on PostgreSQL specific features and performance.
413 32 8 2019-03-16 go-queryset 100% type-safe ORM with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support based on GORM.
105 17 0 2019-03-21 go-sqlbuilder A flexible and powerful SQL string builder library plus a zero-config ORM.
92 8 0 2017-02-23 go-store Simple and fast Redis backed key-value store library for Go.
62 7 1 2017-08-20 gomodel Lightweight, fast, orm-like library helps interactive with database.
12713 1431 364 2019-03-23 GORM The fantastic ORM library for Golang, aims to be developer friendly.
2988 341 113 2018-11-12 gorp Go Relational Persistence, ORM-ish library for Go.
105 11 0 2019-03-25 grimoire Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
4 1 0 2017-10-21 lore Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
53 4 3 2019-03-07 Marlow Generated ORM from project structs for compile time safety assurances.
592 148 61 2019-03-20 pop/soda Database migration, creation, ORM, etc… for MySQL, PostgreSQL, and SQLite.
526 103 9 2017-04-18 QBS Stands for Query By Struct. A Go ORM.
756 40 64 2019-03-20 reform Better ORM for Go, based on non-empty interfaces and code generation.
1979 188 39 2019-03-25 SQLBoiler ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
1678 132 73 2019-01-26 upper.io/db Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
4554 582 255 2019-03-14 Xorm Simple and powerful ORM for Go.
231 18 2 2018-06-16 Zoom Blazing-fast datastore and querying engine built on Redis.

Package Management

Official tooling for package management

Stars Forks Issues Last Commit Name Desc
11781 958 452 2019-03-22 dep Go dependency tool.
N/A N/A N/A N/A vgo Versioned Go.

Unofficial libraries for package and dependency management.

Stars Forks Issues Last Commit Name Desc
196 13 5 2018-12-01 gigo PIP-like dependency tool for golang, with support for private repositories and hashes.
7540 500 417 2019-02-21 glide Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
5608 477 79 2018-04-12 godep dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
1347 99 14 2018-05-21 gom Go Manager - bundle for go.
774 45 30 2015-12-02 goop Simple dependency manager for Go (golang), inspired by Bundler.
50 6 10 2019-03-22 gop Build and manage your Go applications out of GOPATH.
2185 180 46 2019-02-26 gopm Go Package Manager.
4411 344 119 2018-11-23 govendor Go Package Manager. Go vendor tool that works with the standard vendor file.
1202 51 14 2017-09-28 gpm Barebones dependency manager for Go.
213 6 3 2014-09-16 johnny-deps Minimal dependency version using Git.
77 13 0 2019-03-16 mvn-golang plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
248 11 14 2015-06-25 nut Vendor Go dependencies.
115 9 3 2016-07-14 VenGO create and manage exportable isolated go virtual environments.

Query Language

Stars Forks Issues Last Commit Name Desc
747 41 5 2019-02-20 gojsonq A simple Go package to Query over JSON Data.
50 6 2 2017-06-02 graphql graphql parser + utilities.
2480 239 88 2019-02-25 graphql GraphQL server with a focus on ease of use.
4547 408 113 2019-03-23 graphql-go Implementation of GraphQL for Go.
196 23 2 2018-11-06 jsonql JSON query expression library in Golang.
16 0 0 2019-03-01 jsonslice Jsonpath queries with advanced filters.
88 5 6 2019-03-04 rql Resource Query Language for REST API.

Resource Embedding

Stars Forks Issues Last Commit Name Desc
415 52 6 2019-02-11 esc Embeds files into Go programs and provides http.FileSystem interfaces to them.
394 39 5 2019-01-08 fileb0x Simple tool to embed files in go with focus on “customization” and ease to use.
13 2 0 2016-06-02 go-embed Generates go code to embed resource files into your library or executable.
148 14 0 2019-03-24 go-resources Unfancy resources embedding with Go.
1523 92 19 2019-03-21 go.rice go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy.
1748 84 17 2019-03-22 packr The simple and easy way to embed static files into Go binaries.
51 4 0 2016-10-05 statics Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
1835 108 14 2019-03-24 statik Embeds static files into a Go executable.
15 3 0 2019-01-14 templify Embed external template files into Go code to create single file binaries.
508 48 17 2019-02-14 vfsgen Generates a vfsdata.go file that statically implements the given virtual filesystem.

Science and Data Analysis

Libraries for scientific computing and data analyzing.

Stars Forks Issues Last Commit Name Desc
550 86 5 2019-02-18 chart Simple Chart Plotting library for Go. Supports many graphs types.
36 5 4 2018-11-05 dataframe-go Dataframes for Go for machine-learning and statistics (similar to pandas).
38 11 1 2018-07-27 evaler Simple floating point arithmetic expression evaluator.
256 19 2 2018-02-13 ewma Exponentially-weighted moving averages.
40 15 1 2018-01-03 geom 2D geometry for golang.
606 55 6 2018-05-08 go-dsp Digital Signal Processing for Go.
11 2 5 2015-04-28 go-fn Mathematical functions written in Go language, that are not covered by math pkg.
5 0 2 2015-09-14 go-gt Graph theory algorithms written in “Go” language.
5 1 0 2015-06-25 gocomplex Complex number library for the Go programming language.
12 2 0 2018-12-20 goent GO Implementation of Entropy Measures.
121 24 2 2018-03-27 gohistogram Approximate histograms for data streams.
2506 181 167 2019-03-26 gonum Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.
1086 108 75 2019-03-12 gonum/plot gonum/plot provides an API for building and drawing plots in Go.
579 71 5 2017-10-01 goraph Pure Go graph theory library(data structure, algorith visualization).
1244 96 0 2019-02-27 gosl Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.
9 0 0 2019-01-14 GoStats GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.
194 8 0 2017-12-08 graph Library of basic graph algorithms.
9 0 1 2017-03-18 ode Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
125 16 7 2019-03-09 orb 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.
42 9 1 2016-03-06 pagerank Weighted PageRank algorithm implemented in Go.
5 0 0 2018-11-14 piecewiselinear Tiny linear interpolation library.
6 1 0 2017-10-02 PiHex Implementation of the “Bailey-Borwein-Plouffe” algorithm for the hexadecimal number Pi.
3 0 0 2019-01-06 rootfinding root-finding algorithms library for finding roots of quadratic functions.
55 7 1 2019-03-09 sparse Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.
1262 86 8 2019-01-28 stats Statistics package with common functions missing from the Golang standard library.
1314 111 49 2015-07-17 streamtools general purpose, graphical tool for dealing with streams of data.
60 9 3 2018-09-05 TextRank TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.
7 1 0 2018-08-20 triangolatte 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.

Security

Libraries that are used to help make your application more secure.

Stars Forks Issues Last Commit Name Desc
1664 89 58 2018-08-10 acmetool ACME (Let’s Encrypt) client tool with automatic renewal.
382 33 6 2019-03-26 acra Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.
68 5 0 2018-09-05 argon2pw Argon2 password hash generation with constant-time password comparison.
N/A N/A N/A N/A autocert Auto provision Let’s Encrypt certificates and start a TLS server.
237 8 0 2017-06-05 BadActor In-memory, application-driven jailer built in the spirit of fail2ban.
1639 220 2 2019-03-10 Cameradar Tool and library to remotely hack RTSP streams from surveillance cameras.
125 43 7 2019-03-14 go-yara Go Bindings for YARA, the “pattern matching swiss knife for malware researchers (and everyone else)”.
8 3 0 2019-03-12 goArgonPass Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.
25 7 0 2019-02-14 goSecretBoxPassword A probably paranoid package for securely hashing and encrypting passwords.
4 1 0 2019-01-06 jwc JSON Web Cryptography library.
3223 421 75 2019-03-26 lego Pure Go ACME client library and CLI tool (for use with Let’s Encrypt).
912 36 2 2019-03-22 memguard A pure Go library for handling sensitive values in memory.
445 19 1 2019-01-02 nacl Go implementation of the NaCL set of API’s.
215 21 3 2019-01-04 passlib Futureproof password hashing library.
1130 75 2 2019-03-26 secure HTTP middleware for Go that facilitates some quick security wins.
148 16 1 2018-06-06 simple-scrypt Scrypt package with a simple, obvious API and automatic cost calibration built-in.
189 15 8 2018-12-14 ssh-vault encrypt/decrypt using ssh keys.

Serialization

Libraries and tools for binary serialization.

Stars Forks Issues Last Commit Name Desc
38 13 6 2019-03-12 asn1 Asn.1 BER and DER encoding library for golang.
61 8 3 2016-10-07 bambam generator for Cap’n Proto schemas from go.
1 0 0 2019-02-26 bel Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
444 33 10 2018-09-06 colfer Code generation for the Colfer binary format.
272 16 0 2019-03-10 csvutil High Performance, idiomatic CSV record encoding and decoding to native Go structures.
6 1 0 2018-01-14 fwencoder Fixed width file parser (encoding and decoding library) for Go.
270 20 0 2019-01-18 go-capnproto Cap’n Proto library and parser for go.
1133 176 1 2019-03-20 go-codec High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.
2483 336 105 2019-03-24 gogoprotobuf Protocol Buffers for Go with Gadgets.
4354 927 75 2019-03-26 goprotobuf Go support, in the form of a library and protocol compiler plugin, for Google’s protocol buffers.
4592 406 33 2019-03-12 jsoniter High-performance 100% compatible drop-in replacement of “encoding/json”.
2097 241 41 2019-03-26 mapstructure Go library for decoding generic map values into native Go structures.
115 35 3 2018-11-02 php_session_decoder GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
84 9 0 2015-06-04 structomap Library to easily and dynamically generate maps from static structures.

Server Applications

Stars Forks Issues Last Commit Name Desc
540 37 4 2019-03-22 algernon HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
21147 1656 156 2019-03-19 Caddy Caddy is an alternative, HTTP/2 web server that’s easy to configure and use.
N/A N/A N/A N/A consul Consul is a tool for service discovery, monitoring and configuration.
2737 116 13 2019-02-05 devd Local webserver for developers.
384 49 0 2019-03-13 discovery A registry for resilient mid-tier load balancing and failover.
23725 4763 374 2019-03-26 etcd Highly-available key value store for shared configuration and service discovery.
690 83 29 2019-03-25 Fider Fider is an open platform to collect and organize customer feedback.
592 50 20 2019-03-26 Flagr Flagr is an open-source feature flagging and A/B testing service.
330 16 5 2019-03-24 flipt A self contained feature flag solution written in Go and Vue.js
643 46 9 2019-03-17 jackal An XMPP server written in Go.
15246 1410 143 2019-03-26 minio Minio is a distributed object storage server.
4 1 0 2019-01-25 nginx-prometheus Nginx log parser and exporter to Prometheus.
N/A N/A N/A N/A nsq A realtime distributed messaging platform.
2745 97 24 2019-03-21 RoadRunner High-performance PHP application server, load-balancer and process manager.
N/A N/A N/A N/A yakvs Small, networked, in-memory key-value store.

Template Engines

Libraries and tools for templating and lexing.

Stars Forks Issues Last Commit Name Desc
751 34 29 2018-06-17 ace Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold.
805 52 21 2018-08-24 amber Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade.
20 3 1 2016-04-07 damsel Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others.
402 30 10 2019-01-09 ego Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
9 2 1 2018-08-18 extemplate Tiny wrapper around html/template to allow for easy file-based template inheritance.
257 37 8 2019-03-15 fasttemplate Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template.
2784 242 40 2019-03-26 gofpdf PDF document generator with high level support for text, drawing and images.
1144 73 20 2018-10-20 hero Hero is a handy, fast and powerful go template engine.
551 44 22 2019-03-20 jet Jet template engine.
70 5 2 2015-08-31 kasia.go Templating system for HTML and other text documents - go implementation.
78 9 8 2018-10-26 liquid Go implementation of Shopify Liquid templates.
958 153 32 2018-05-26 mustache Go implementation of the Mustache template language.
1405 139 45 2019-02-18 pongo2 Django-like template-engine for Go.
1264 71 13 2019-01-31 quicktemplate Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.
316 40 10 2019-02-02 raymond Complete handlebars implementation in Go.
649 78 11 2018-09-11 Razor Razor view engine for Golang.
140 31 5 2019-03-19 Soy Closure templates (aka Soy templates) for Go, following the official spec.
63 5 2 2017-03-20 velvet Complete handlebars implementation in Go.

Testing

Libraries for testing codebases and generating test data.

Stars Forks Issues Last Commit Name Desc
12 2 0 2016-02-05 assert Basic Assertion Library used along side native go testing, with building blocks for custom assertions.
7 1 0 2016-02-13 badio Extensions to Go’s testing/iotest package.
608 23 7 2019-01-09 baloo Expressive and versatile end-to-end HTTP API testing made easy.
5 0 0 2018-05-23 biff Bifurcation testing framework, BDD compatible.
24 4 0 2016-10-21 bro Watch files in directory and run tests for them.
185 6 2 2018-09-25 charlatan Tool to generate fake interface implementations for tests.
68 7 6 2019-03-24 cupaloy Simple snapshot testing addon for your test framework.
63 8 1 2019-03-11 dbcleaner Clean database for testing purpose, inspired by database_cleaner in Ruby.
22 3 0 2019-03-20 dsunit Datastore testing for SQL, NoSQL, structured files.
74 10 0 2019-03-25 endly Declarative end to end functional testing.
241 20 11 2018-03-12 frisby REST API testing framework.
N/A N/A N/A N/A ginkgo BDD Testing Framework for Go.
192 6 2 2019-03-17 go-carpet Tool for viewing test coverage in terminal.
833 57 12 2019-03-12 go-cmp Package for comparing Go values in tests.
228 16 19 2018-11-24 go-mutesting Mutation testing for Go source code.
43 1 4 2019-03-17 go-testdeep Extremely flexible golang deep comparison, extends the go testing package.
277 25 5 2018-12-20 go-vcr Record and replay your HTTP interactions for fast, deterministic and accurate tests.
594 49 11 2018-10-03 goblin Mocha like testing framework fo Go.
N/A N/A N/A N/A gocheck More advanced testing framework alternative to gotest.
4339 328 119 2019-03-12 GoConvey BDD-style framework with web UI and live reload.
8 0 0 2018-02-03 gocrest Composable hamcrest-like matchers for Go assertions.
601 59 19 2019-03-26 godog Cucumber or Behat like BDD framework for Go.
235 14 4 2019-01-29 gofight API Handler Testing for Golang Router framework.
7 2 4 2018-03-01 gogiven YATSPEC-like BDD testing framework for Go.
27 0 0 2019-01-27 gomatch library created for testing JSON against patterns.
N/A N/A N/A N/A gomega Rspec like matcher/assertion library.
110 15 3 2014-07-31 GoSpec BDD-style testing framework for the Go programming language.
50 5 1 2011-10-18 gospecify This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
8 2 1 2016-10-18 gosuite Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7’s Subtests.
87 19 9 2019-03-23 gotest.tools A collection of packages to augment the go testing package and support common patterns.
26 3 2 2011-02-14 Hamcrest fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
1048 62 12 2018-08-03 httpexpect Concise, declarative, and easy to use end-to-end HTTP and REST API testing.
19 2 1 2019-02-08 jsonassert Package for verifying that your JSON payloads are serialized correctly.
49 1 4 2017-01-17 restit Go micro framework to help writing RESTful API integration test.
268 21 7 2018-12-15 testfixtures A helper for Rails’ like test fixtures to test database applications.
7044 642 170 2019-03-22 Testify Sacred extension to the standard go testing package.
6 0 3 2018-10-11 testsql Generate test data from SQL files before testing and clear it after finished.
3 0 0 2019-03-11 Tt Simple and colorful test tools.
56 7 1 2018-02-17 wstest Websocket client for unit-testing a websocket http.Handler.
Stars Forks Issues Last Commit Name Desc
323 46 8 2019-03-26 counterfeiter Tool for generating self-contained mock objects.
1366 148 15 2019-03-22 go-sqlmock Mock SQL driver for testing database interactions.
127 9 0 2019-02-12 go-txdb Single transaction based database driver mainly for testing purposes.
692 35 11 2019-03-19 gock Versatile HTTP mocking made easy.
2254 234 67 2019-03-25 gomock Mocking framework for the Go programming language.
68 9 0 2019-03-03 govcr HTTP mock for Golang: record and replay HTTP interactions for offline testing.
1331 122 27 2019-03-25 hoverfly HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
451 61 5 2019-03-26 httpmock Easy mocking of HTTP responses from external resources.
167 14 1 2019-02-27 minimock Mock generator for Go interfaces.
22 5 0 2014-10-29 mockhttp Mock object for Go http.ResponseWriter.
Stars Forks Issues Last Commit Name Desc
2616 145 34 2019-03-21 go-fuzz Randomized testing system.
480 47 7 2018-02-05 gofuzz Library for populating go objects with random values.
203 9 53 2018-10-31 Tavor Generic fuzzing and delta-debugging framework.
Stars Forks Issues Last Commit Name Desc
285 18 9 2019-03-22 cdp Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.
2862 235 24 2019-03-22 chromedp a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.
192 36 12 2019-03-21 ggr a lightweight server that routes and proxies Selenium Wedriver requests to multiple Selenium hubs.
981 120 52 2019-03-26 selenoid alternative Selenium hub server that launches browsers within containers.

Text Processing

Libraries for parsing and manipulating texts.

Stars Forks Issues Last Commit Name Desc
46 3 0 2017-09-10 align A general purpose application that aligns text.
33 4 1 2018-11-26 allot Placeholder and wildcard text parsing for CLI tools and bots.
5 1 0 2016-09-14 bbConvert Converts bbCode to HTML that allows you to add support for custom bbCode tags.
3622 461 153 2019-03-19 blackfriday Markdown processor in Go.
1125 83 12 2019-03-14 bluemonday HTML Sanitizer.
7203 545 37 2019-03-18 colly Fast and Elegant Scraping Framework for Gophers.
533 33 0 2018-12-08 commonregex A collection of common regular expressions for Go.
240 29 0 2019-03-26 dataflowkit Web scraping Framework to turn websites into structured data.
17 2 4 2018-11-26 did DID (Decentralized Identifiers) Parser and Stringer in Go.
4 0 0 2017-08-21 doi Document object identifier (doi) parser in Go.
33 14 2 2018-11-20 editorconfig-core-go Editorconfig file parser and manipulator for Go.
5 2 0 2016-03-15 enca Minimal cgo bindings for libenca.
3 1 1 2018-09-25 encdec Package provides a generic interface to encoders and decodersa.
48 4 0 2016-03-13 genex Count and expand Regular Expressions into all matching Strings.
102 19 10 2018-10-02 github_flavored_markdown GitHub Flavored Markdown renderer (using blackfriday) with fenced code block highlighting, clickable header anchor links.
15 7 3 2018-08-10 go-fixedwidth Fixed-width text formatting (encoder/decoder with reflection).
1748 130 18 2019-01-09 go-humanize Formatters for time, numbers, and memory size to human readable format.
79 27 3 2019-03-21 go-nmea NMEA parser library for the Go language.
189 31 1 2018-12-18 go-runewidth Functions to get fixed width of the character or string.
25 3 1 2016-08-13 go-slugify Make pretty slug with multiple languages support.
20 9 2 2019-01-05 go-vcard Parse and format vCard.
41 2 0 2018-12-17 go-zero-width Zero-width character detection and removal for Go.
1015 86 24 2019-02-14 gofeed Parse RSS and Atom feeds in Go.
253 37 10 2019-02-21 gographviz Parses the Graphviz DOT language.
N/A N/A N/A N/A gommon/bytes Format bytes to string.
28 1 1 2017-05-26 gonameparts Parses human names into individual name parts.
131 9 1 2018-05-24 goq Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery).
6959 599 5 2019-01-09 GoQuery GoQuery brings a syntax and a set of features similar to jQuery to the Go language.
33 2 2 2016-03-03 goregen Library for generating random strings from regular expressions.
216 20 2 2019-03-06 gotext GNU gettext utilities for Go.
41 2 1 2017-11-08 guesslanguage Functions to determine the natural language of a unicode text.
90 16 3 2019-02-07 htmlquery An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.
1100 82 9 2019-01-14 inject Package inject provides a reflect based injector.
316 65 0 2019-03-07 mxj Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
54 13 2 2019-03-22 sdp SDP: Session Description Protocol [RFC 4566].
1743 74 24 2019-03-26 sh Shell parser and formatter.
332 39 2 2019-01-24 slug URL-friendly slugify with multiple languages support.
24 2 0 2018-05-01 Slugify Go slugify application that handles string.
4 1 0 2018-03-13 syndfeed A syndication feed for Atom 1.0 and RSS 2.0.
2507 312 53 2019-03-12 toml TOML configuration format (encoder/decoder with reflection).
Stars Forks Issues Last Commit Name Desc
12 1 0 2018-11-18 gofuckyourself A sanitization-based swear filter for Go.
193 14 2 2017-03-15 gotabulate Easily pretty-print your tabular data with Go.
10 1 0 2018-08-26 kace Common case conversions covering common initialisms.
4 1 1 2017-01-24 parseargs-go string argument parser that understands quotes and backslashes.
30 3 0 2019-02-01 parth URL path segmentation parsing.
60 2 0 2018-03-08 radix fast string sorting algorithm.
3 1 1 2019-03-19 TySug Alternative suggestions with respect to keyboard layouts.
16 3 0 2018-12-23 xj2go Convert xml or json to go struct.
414 45 0 2019-03-10 xurls Extract urls from text.

Third-party APIs

Libraries for accessing third party APIs.

Stars Forks Issues Last Commit Name Desc
38 14 4 2018-04-05 amazon-product-advertising-api Go Client Library for Amazon Product Advertising API.
963 243 66 2019-03-17 anaconda Go client library for the Twitter 1.1 API.
4620 1112 136 2019-03-24 aws-sdk-go The official AWS SDK for the Go programming language.
15 0 5 2015-06-18 brewerydb Go library for accessing the BreweryDB API.
63 7 0 2018-04-04 cachet Go client library for Cachet (open source status page system).
36 29 4 2019-01-15 circleci Go client library for interacting with CircleCI’s API.
57 12 8 2017-08-28 clarifai Go client library for interfacing with the Clarifai API.
14 3 0 2019-02-01 codeship-go Go client library for interacting with Codeship’s API v2.
8 3 1 2019-03-22 coinpaprika-go Go client library for interacting with Coinpaprika’s API.
823 186 56 2019-03-04 discordgo Go bindings for the Discord Chat API.
156 60 9 2019-03-05 ethrpc Go bindings for Ethereum JSON RPC API.
729 236 0 2018-12-25 facebook Go Library that supports the Facebook Graph API.
32 11 0 2019-03-08 fcm Go library for Firebase Cloud Messaging.
42 40 8 2019-03-26 gads Google Adwords Unofficial API.
26 18 1 2018-06-26 gami Go library for Asterisk Manager Interface.
29 3 0 2015-12-04 gcm Go library for Google Cloud Messaging.
285 26 3 2019-03-19 geo-golang Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
4419 1021 71 2019-03-21 github Go library for accessing the GitHub REST API v3.
419 22 10 2019-01-31 githubql Go library for accessing the GitHub GraphQL API v4.
3 2 0 2018-01-23 go-chronos Go library for interacting with the Chronos Job Scheduler
9 0 0 2017-08-15 go-hacknews Tiny Go client for HackerNews API.
12 1 0 2018-09-22 go-imgur Go client library for imgur
423 166 16 2019-03-20 go-jira Go client library for Atlassian JIRA
185 122 27 2019-03-01 go-marathon Go library for interacting with Mesosphere’s Marathon PAAS.
16 2 0 2017-03-11 go-myanimelist Go client library for accessing the MyAnimeList API.
4 0 0 2018-09-10 go-sophos Go client library for the Sophos UTM REST API with zero dependencies.
8 0 0 2017-09-26 go-sptrans Go client library for the SPTrans Olho Vivo API.
N/A N/A N/A N/A go-telegraph Telegraph publishing platform API client.
95 11 1 2018-11-04 go-trending Go library for accessing trending repositories and developers at Github.
16 3 5 2017-08-23 go-twitch Go client for interacting with the Twitch v3 API.
634 127 10 2019-03-05 go-twitter Go client library for the Twitter v1.1 APIs.
19 5 7 2018-07-15 go-unsplash Go client library for the Unsplash.com API.
37 2 2 2016-05-31 go-xkcd Go client for the xkcd API.
28 1 0 2018-06-30 golyrics Golyrics is a Go library to fetch music lyrics data from the Wikia website.
34 10 4 2018-10-12 GoMusicBrainz Go MusicBrainz WS2 client library.
1770 464 24 2019-03-26 google Auto-generated Google APIs for Go.
12 2 0 2015-06-09 google-analytics Simple wrapper for easy google analytics reporting.
1581 507 92 2019-03-26 google-cloud Google Cloud APIs Go Client Library.
6 4 0 2016-10-26 google-email-audit-api Go client library for Google G Suite Email Audit API.
118 21 4 2017-10-09 gostorm GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells.
109 19 0 2016-03-24 hipchat This project implements a golang client library for the Hipchat API.
112 42 3 2017-06-12 hipchat (xmpp) A golang package to communicate with HipChat over XMPP.
50 3 2 2019-03-05 igdb Go client for the Internet Game Database API.
108 18 5 2018-10-26 Medium Golang SDK for Medium’s OAuth2 API.
57 10 0 2018-04-24 megos Client library for accessing an Apache Mesos cluster.
639 215 9 2019-03-26 minio-go Minio Go Library for Amazon S3 compatible cloud storage.
28 12 0 2018-09-25 mixpanel Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.
15 5 0 2019-01-05 patreon-go Go library for Patreon API.
275 77 4 2019-03-26 paypal Wrapper for PayPal payment API.
1 0 0 2016-03-06 playlyfe The Playlyfe Rest API Go SDK.
53 6 0 2019-02-17 pushover Go wrapper for the Pushover API.
8 0 0 2014-09-19 rrdaclient Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.
19 5 2 2017-12-22 shopify Go Library to make CRUD request to the Shopify API.
9 2 0 2019-01-25 simples3 Simple no frills AWS S3 Library using REST with V4 Signing written in Go.
2157 492 46 2019-03-23 slack Slack API in Go.
9 0 0 2014-07-18 smite Go package to wraps access to the Smite game API.
16 1 0 2017-10-31 spotify Go Library to access Spotify WEB API.
13 3 0 2018-03-13 steam Go Library to interact with Steam game servers.
859 239 4 2019-03-23 stripe Go client for the Stripe API.
12 0 0 2015-09-04 textbelt Go client for the textbelt.com txt messaging API.
11 1 0 2015-11-03 TheMovieDb Simple golang package to communicate with themoviedb.org.
26 4 0 2016-02-28 translate Go online translation package.
92 38 5 2019-03-22 Trello Go wrapper for the Trello API.
6 5 0 2016-10-30 tumblr Go wrapper for the Tumblr v2 API.
28 3 2 2018-12-08 uptimerobot Go wrapper and command-line client for the Uptime Robot v2 API.
284 67 12 2019-03-26 webhooks Webhook receiver for GitHub and Bitbucket.
31 3 0 2019-01-27 wit-go Go client for wit.ai HTTP API.
7 4 0 2019-02-21 ynab Go wrapper for the YNAB API.
5 4 0 2018-11-27 zooz Go client for the Zooz API.

Utilities

General utilities and tools to make your life easier.

Stars Forks Issues Last Commit Name Desc
50 4 0 2015-09-02 abutil Collection of often-used Golang helpers.
120 39 8 2016-11-24 apm Process manager for Golang applications with an HTTP API.
7 2 0 2018-10-12 backscanner A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.
1 0 0 2019-03-05 blank Verify or remove blanks and whitespace from strings.
865 60 37 2018-07-24 boilr Blazingly fast CLI tool for creating projects from boilerplate templates.
103 5 0 2019-03-12 chyle Changelog generator using a git repository with multiple configuration possibilities.
264 10 8 2019-03-01 circuit An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.
734 77 17 2019-01-30 circuitbreaker Circuit Breakers in Go.
200 29 8 2019-01-14 clockwork A simple fake clock for golang.
9 2 0 2016-04-20 command Command pattern for Go with thread safe serial and parallel dispatcher.
35 4 10 2018-08-26 copy-pasta Universal multi-workstation clipboard that uses S3 like backend for the storage.
8215 301 37 2019-03-07 ctop Top-like interface (e.g. htop) for container metrics.
1 1 0 2019-03-09 ctxutil A collection of utility functions for contexts.
122 13 0 2018-10-22 Death Managing go application shutdown with signals.
189 28 2 2017-11-07 Deepcopier Simple struct copying for Go.
10881 955 111 2019-03-26 delve Go debugger.
15 1 0 2017-07-28 dlog Compile-time controlled logger to make your release smaller without removing debug calls.
283 31 20 2018-11-29 ergo The management of multiple local services running over different ports made easy.
14 0 0 2018-01-29 evaluator Evaluate an expression dynamicly based on s-expression. It’s simple and easy to extend.
11 3 0 2015-02-10 fastlz Wrap over FastLz (free, open-source, portable real-time compression library) for GoLang.
862 69 18 2019-02-26 filetype Small package to infer the file type checking the magic numbers signature.
14 2 0 2017-04-10 filler small utility to fill structs using “fill” tag.
10 0 0 2018-12-19 filter provide filtering, sanitizing, and conversion of Go data.
20438 782 123 2019-03-26 fzf Command-line fuzzy finder written in Go.
34 2 5 2019-01-19 gaper Builds and restarts a Go project when it crashes or some watched file changes.
17 4 0 2017-01-10 generate runs go generate recursively on a specified path or environment variable and can filter by regex.
8 0 0 2019-03-25 ghokin Parallelized formatter with no external dependencies for gherkin (cucumber, behat…).
680 37 37 2018-07-05 git-time-metric Simple, seamless, lightweight time tracking for Git.
44 5 1 2018-09-21 go-astitodo Parse TODOs in your GO code.
157 5 0 2017-08-27 go-bind-plugin go:generate tool for wrapping symbols exported by golang plugins (1.8 only).
67 2 0 2019-03-21 go-bsdiff Pure Go bsdiff and bspatch libraries and CLI tools.
418 30 0 2018-04-11 go-dry DRY (don’t repeat yourself) package for Go.
753 51 12 2019-03-22 go-funk Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, …).
60 3 1 2018-06-13 go-health Health package simplifies the way you add health check to your services.
14 3 0 2018-11-03 go-httpheader Go library for encoding structs into Header fields.
278 19 1 2018-04-08 go-rate Timed rate limiter for Go.
100 29 9 2019-03-26 go-sitemap-generator XML Sitemap generator written in Go.
3557 188 11 2018-11-07 go-torch Stochastic flame graph profiler for Go programs.
168 27 1 2017-03-28 go-trigger Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.
39 4 5 2018-02-08 goback Go simple exponential backoff package.
389 37 6 2019-03-21 godaemon Utility to write daemons.
3658 351 1 2019-03-19 godropbox Common libraries for writing Go services/applications from Dropbox.
248 45 0 2017-08-12 gohper Various tools/modules help for development.
33 3 0 2015-08-24 golarm Fire alarms with system events.
42 11 14 2019-01-22 golog Easy and lightweight CLI tool to time track your tasks.
419 33 7 2019-02-18 gopencils Small and simple package to easily consume REST APIs.
21 5 1 2016-01-17 goplaceholder a small golang lib to generate placeholder images.
3887 247 16 2019-03-24 goreleaser Deliver Go binaries as fast and easily as possible.
2353 170 21 2018-10-27 goreporter Golang tool that does static analysis, unit testing, code review and generate code quality report.
19 7 0 2019-02-07 goseaweedfs SeaweedFS client library with almost full features.
12 2 0 2019-01-07 gostrutils Collections of string manipulation and conversion functions.
126 13 1 2018-06-06 gotenv Load environment variables from .env or any io.Reader in Go.
25 0 0 2017-06-04 gpath Library to simplify access struct fields with Go’s expression in reflection.
106 8 0 2019-03-15 gubrak Golang utility library with syntactic sugar. It’s like lodash, but for golang.
40 6 0 2019-03-08 handy Many utilities and helpers like string handlers/formatters and validators.
473 24 6 2019-02-26 htcat Parallel and Pipelined HTTP GET Utility.
15124 1543 186 2019-03-23 hub wrap git commands with additional functionality to interact with github from the terminal.
1697 193 38 2018-11-11 hystrix-go Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.
588 28 2 2019-03-08 immortal *nix cross-platform (OS agnostic) supervisor.
37 1 1 2017-06-23 intrinsic Use x86 SIMD without writing any assembly code.
595 27 1 2019-03-19 jump Jump helps you navigate faster by learning your habits.
237 12 7 2019-03-05 koazee Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.
98 9 0 2017-11-29 lrserver LiveReload server for Go.
961 163 37 2019-03-26 mc Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.
730 121 18 2019-03-14 mergo Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
39 5 1 2018-12-13 mimemagic Pure Go ultra performant MIME sniffing library/utility.
4 2 0 2019-03-21 mimesniffer A MIME type sniffer for Go.
66 9 3 2019-03-20 mimetype Package for MIME type detection based on magic numbers.
1713 106 16 2019-03-15 minify Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.
48 16 1 2018-10-20 minquery MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).
1439 34 12 2018-01-31 mmake Modern Make.
148 3 0 2017-09-04 moldova Utility for generating random data based on an input template.
1245 61 13 2019-03-09 mole cli app to easily create ssh tunnels.
53 3 0 2019-03-26 mssqlx Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.
58 1 1 2016-08-22 multitick Multiplexor for aligned tickers.
30 8 1 2018-05-06 myhttp Simple API to make HTTP GET requests with timeout support.
64 3 0 2015-10-29 netbug Easy remote profiling of your services.
13 2 0 2014-10-06 okrun go run error steamroller.
1 0 0 2019-01-08 olaf Twitter Snowflake implemented in Go.
87 6 0 2019-03-01 onecache Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).
1836 53 8 2018-08-06 panicparse Groups similar goroutines and colorizes stack dump.
5228 174 29 2019-03-15 peco Simplistic interactive filtering tool.
18 4 4 2019-03-25 pgo Convenient functions for PHP community.
67 5 2 2018-12-11 pm Process (i.e. goroutine) manager with an HTTP API.
896 60 3 2019-03-23 profile Simple profiling support package for Go.
24 2 2 2018-08-29 rclient Readable, flexible, simple-to-use client for REST APIs.
2900 134 51 2019-01-22 realize Go build system with file watchers and live reload. Run, build and watch file changes with custom paths.
53 2 0 2019-01-12 repeat Go implementation of different backoff strategies useful for retrying operations and heartbeating.
339 31 6 2018-06-14 request Go HTTP Requests for Humans™.
12 3 1 2017-03-28 rerate Redis-based rate counter and rate limiter for Go.
151 9 2 2018-03-22 rerun Recompiling and rerunning go apps when source changes.
1627 155 3 2019-03-24 resty Simple HTTP and REST client for Go inspired by Ruby rest-client.
105 6 0 2019-03-24 retry The most advanced functional mechanism to perform actions repetitively until successful.
2 0 0 2018-10-24 retry A simple but highly configurable retry package for Go.
33 3 0 2018-03-22 retry Simple and easy retry mechanism package for Go.
8 0 0 2018-08-27 retry A pretty simple library to ensure your work to be done.
24 4 2 2018-10-25 retry-go Retrying made simple and easy for golang.
131 6 1 2018-03-23 robustly Runs functions resiliently, catching and restarting panics.
182 8 0 2019-01-29 serve A static http server anywhere you need.
4 0 0 2019-01-31 silk Read silk netflow files.
2 0 2 2019-03-03 sliceconv Slice conversion between primitive types.
2 0 0 2019-03-02 slicer Makes working with slices easier.
690 49 7 2019-03-19 spinner Go package to easily provide a terminal spinner with options.
5913 500 157 2019-03-24 sqlx provides a set of extensions on top of the excellent built-in database/sql package.
2 0 0 2018-11-17 sslice Create a slice which is always sorted.
1273 80 48 2019-03-26 Storm Simple and powerful toolkit for BoltDB.
12 1 0 2017-10-23 structs Implement simple functions to manipulate structs.
1734 77 30 2019-03-23 Task simple “Make” alternative.
70 8 0 2019-03-21 toolbox Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
19 4 0 2016-06-30 ugo ugo is slice toolbox with concise syntax for Go.
68 3 2 2017-05-09 UNIS Common Architecture™ for String Utilities in Go.
4561 149 23 2019-03-16 usql usql is a universal command-line interface for SQL databases.
112 17 0 2018-06-07 util Collection of useful utility functions. (strings, concurrency, manipulations, …).
8012 275 29 2018-12-07 wuzz Interactive cli tool for HTTP inspection.
65 5 3 2016-08-20 xferspdy Xferspdy provides binary diff and patch library in golang.

UUID

Libraries for working with UUIDs.

Stars Forks Issues Last Commit Name Desc
19 1 0 2019-02-18 goid Generate and Parse RFC4122 compliant V4 UUIDs.
10 2 0 2019-02-22 uuid Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.
460 34 5 2019-03-23 uuid Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid.
243 22 0 2018-06-29 wuid An extremely fast unique number generator, 10-135 times faster than UUID.

Validation

Libraries for validation.

Stars Forks Issues Last Commit Name Desc
3236 339 90 2019-03-19 govalidator Validators and sanitizers for strings, numerics, slices and structs.
585 47 10 2019-03-20 govalidator Validate Golang request data with simple rules. Highly inspired by Laravel’s request validation.
14 3 0 2019-01-04 jio jio is a json schema validator similar to joi.
924 60 10 2018-11-16 ozzo-validation Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags.
46 15 0 2019-03-18 validate Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features.
13 12 2 2019-03-01 validate This package provides a framework for writing validations for Go applications.
2855 246 46 2019-03-25 validator Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.

Version Control

Libraries for version control.

Stars Forks Issues Last Commit Name Desc
67 10 2 2018-10-28 gh Scriptable server and net/http middleware for GitHub Webhooks.
1293 221 54 2019-03-22 git2go Go bindings for libgit2.
3693 376 134 2019-03-26 go-git highly extensible Git implementation in pure Go.
66 18 21 2019-01-29 go-vcs manipulate and inspect VCS repositories in Go.
12 2 0 2015-08-25 hgo Hgo is a collection of Go packages providing read-access to local Mercurial repositories.

Video

Libraries for manipulating video.

Stars Forks Issues Last Commit Name Desc
469 104 29 2019-03-22 gmf Go bindings for FFmpeg av* libraries.
152 21 2 2019-03-14 go-astisub Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
231 15 0 2019-01-11 go-astits Parse and demux MPEG Transport Streams (.ts) natively in GO.
29 4 0 2018-11-08 go-m3u8 Parser and generator library for Apple m3u8 playlists.
641 132 26 2019-03-15 goav Comphrensive Go bindings for FFmpeg.
147 33 9 2018-07-25 gst Go bindings for GStreamer.
11 2 0 2018-12-04 libgosubs Subtitle format support for go. Supports .srt, .ttml, and .ass.
51 17 4 2019-03-19 libvlc-go Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player).
24 7 0 2018-05-20 v4l Video capture library for Linux, written in Go.

Web Frameworks

Full stack web frameworks.

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A aah Scalable, performant, rapid development Web framework for Go.
96 4 0 2019-03-17 Aero High-performance web framework for Go, reaches top scores in Lighthouse.
280 19 2 2019-03-24 Air An ideally refined web framework for Go.
5 3 1 2018-01-31 Banjo Very simple and fast web framework for Go.
19456 3997 586 2019-03-26 Beego beego is an open-source, high-performance web framework for the Go programming language.
N/A N/A N/A N/A Buffalo Bringing the productivity of Rails to Go!
13255 1201 40 2019-03-22 Echo High performance, minimalist Go web framework.
49 4 0 2018-10-03 Fireball More “natural” feeling web framework.
151 36 0 2017-03-19 Gem Simple and fast web framework, friendly to REST API.
25502 2981 167 2019-03-26 Gin Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.
2596 168 16 2019-03-16 Gizmo Microservice toolkit used by the New York Times.
3269 361 46 2019-02-19 go-json-rest Quick and easy way to setup a RESTful JSON API.
111 10 2 2017-01-20 go-rest Small and evil REST framework for Go.
3321 366 17 2019-03-26 goa Framework for developing microservices based on the design of Ruby’s Praxis.
66 4 6 2018-06-03 Golax A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more.
229 21 5 2017-02-24 Golf Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library.
312 21 9 2019-02-19 Gondola The web framework for writing faster sites, faster.
411 15 6 2019-02-19 gongular Fast Go web framework with input mapping/validation and (DI) Dependency Injection.
63 13 2 2019-03-26 hiboot hiboot is a high performance web application framework with auto configuration and dependency injection support.
2699 243 12 2019-03-13 Macaron Macaron is a high productive and modular design web framework in Go.
334 36 9 2017-10-17 mango Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
51 8 0 2017-12-27 Microservice The framework for the creation of microservices, written in Golang.
388 39 6 2017-12-30 neo Neo is minimal and fast Go Web Framework with extremely simple API.
17 2 0 2019-02-22 nio Modern, minimal and productive Go HTTP framework.
29 2 0 2015-02-01 Resoursea REST framework for quickly writing resource based services.
N/A N/A N/A N/A REST Layer Framework to build REST/GraphQL API on top of databases with mostly configuration over code.
10868 1306 65 2019-03-10 Revel High-productivity web framework for the Go language.
25 0 0 2017-12-22 rex Rex is a library for modular development built upon gorilla/mux, fully compatible with net/http.
2 1 0 2016-06-09 sawsij lightweight, open-source web framework for building high-performance, data-driven web applications.
785 103 9 2019-03-22 tango Micro & pluggable web framework for Go.
993 77 28 2018-07-24 tigertonic Go framework for building JSON web services inspired by Dropwizard.
513 27 0 2015-11-26 traffic Sinatra inspired regexp/pattern mux and web framework for Go.
36 8 8 2018-12-23 uAdmin Fully featured web framework for Golang, inspired by Django.
2126 142 9 2018-10-28 utron Lightweight MVC framework for Go(Golang).
17 3 8 2018-12-07 vox A golang web framework for humans, inspired by Koa heavily.
65 6 1 2019-01-12 WebGo A micro-framework to build web apps; with handler chaining, middleware and context injection. With standard library compliant HTTP handlers(i.e. http.HandlerFunc).
47 3 1 2019-03-07 YARF Fast micro-framework designed to build REST APIs and web services in a fast and simple way.
N/A N/A N/A N/A Zerver Zerver is an expressive, modular, feature completed RESTful framework.

Middlewares

Actual middlewares

Stars Forks Issues Last Commit Name Desc
10 2 0 2019-02-27 client-timing An HTTP client for Server-Timing header.
1071 96 8 2019-02-18 CORS Easily add CORS capabilities to your API.
30 0 0 2015-12-17 formjson Transparently handle JSON input as a standard form POST.
733 20 1 2018-08-24 go-server-timing Add/parse Server-Timing header.
504 58 4 2019-01-17 Limiter Dead simple rate limit middleware for Go.
81 3 17 2019-02-24 ln-paywall Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin)
1104 109 11 2018-12-04 Tollbooth Rate limit HTTP request handler.
71 13 3 2016-09-10 XFF Handle X-Forwarded-For header and friends.

Libraries for creating HTTP middlewares

Stars Forks Issues Last Commit Name Desc
1747 113 7 2018-11-11 alice Painless middleware chaining for Go.
7 0 0 2018-08-25 catena http.Handler wrapper catenation (same API as “chain”).
63 3 0 2018-08-25 chain Handler wrapper chaining with scoped data (net/context-based “middleware”).
55 5 0 2018-08-15 go-wrap Small middlewares package for net/http.
79 1 0 2018-10-12 gores Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.
288 17 1 2016-12-06 interpose Minimalist net/http middleware for golang.
206 12 0 2019-03-19 muxchain Lightweight middleware for net/http.
6128 502 9 2019-02-18 negroni Idiomatic HTTP middleware for Golang.
1209 105 0 2019-03-25 render Go package for easily rendering JSON, XML, and HTML template responses.
147 10 0 2019-03-11 renderer Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go.
91 10 0 2018-10-04 rye Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context.
523 38 8 2019-02-18 stats Go middleware that stores various information about your web application.

Routers

Stars Forks Issues Last Commit Name Desc
101 9 1 2019-03-23 alien Lightweight and fast http router from outer space.
24 1 0 2019-03-23 bellt A simple Go HTTP router.
1193 77 5 2019-02-01 Bone Lightning Fast HTTP Multiplexer.
91 5 0 2018-12-27 Bxog Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters.
5264 358 25 2019-03-18 chi Small, fast and expressive HTTP router built on net/context.
669 88 10 2019-01-09 fasthttprouter High performance router forked from httprouter. The first router fit for fasthttp.
18 3 0 2017-11-03 FastRouter a fast, flexible HTTP router written in Go.
1370 105 22 2019-02-07 gocraft/web Mux and middleware package in Go.
725 58 5 2019-02-18 Goji Goji is a minimalistic and flexible HTTP request multiplexer with support for net/context.
39 4 2 2019-02-05 GoRouter GoRouter is a Server/API micro framwework, HTTP request router, multiplexer, mux that provides request router with middleware supporting net/context.
155 11 0 2018-03-27 gowww/router Lightning fast HTTP router fully compatible with the net/http.Handler interface.
8870 874 61 2019-02-06 httprouter High performance router. Use this and the standard http handlers to form a very high performance web framework.
375 36 1 2018-12-18 httptreemux High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
375 19 1 2017-10-31 lars Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
8434 968 13 2019-03-21 mux Powerful URL router and dispatcher for golang.
338 50 12 2018-11-26 ozzo-routing An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.
75 7 3 2017-12-20 pure Is a lightweight HTTP router that sticks to the std “net/http” implementation.
348 15 0 2018-12-17 Siesta Composable framework to write middleware and handlers.
247 28 15 2019-01-10 vestigo Performant, stand-alone, HTTP compliant URL Router for go web applications.
92 7 1 2018-09-12 violetear Go HTTP router.
87 8 2 2017-06-09 xmux High performance muxer based on httprouter with net/context support.
406 52 4 2019-03-12 xujiajun/gorouter A simple and fast HTTP router for Go.

Windows

Stars Forks Issues Last Commit Name Desc
80 4 0 2018-12-28 d3d9 Go bindings for Direct3D9.
494 94 43 2019-03-05 go-ole Win32 OLE implementation for golang.

XML

Libraries and tools for manipulating XML.

Stars Forks Issues Last Commit Name Desc
15 8 8 2018-07-19 XML-Comp Simple command line XML comparer that generates diffs of folders, files and tags.
6 1 0 2019-01-09 xmlwriter Procedural XML generation API based on libxml2’s xmlwriter module.
127 21 4 2019-03-21 xpath XPath package for Go.
142 25 0 2018-05-15 xquery XQuery lets you extract data from HTML/XML documents using XPath expression.
15 4 0 2019-01-09 xml2map XML to MAP converter written Golang.

Tools

Go software and plugins.

Code Analysis

Stars Forks Issues Last Commit Name Desc
160 1 6 2017-02-05 apicompat Checks recent changes to a Go project for backwards incompatible changes.
150 10 1 2018-10-11 dupl Tool for code clone detection.
1250 93 15 2019-01-03 errcheck Errcheck is a program for checking for unchecked errors in Go programs.
883 54 10 2019-03-13 gcvis Visualise Go program GC trace data in real time.
3556 277 63 2019-03-07 Go Metalinter Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form.
93 13 5 2019-03-06 go-checkstyle checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments.
247 21 0 2018-05-14 go-cleanarch go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
498 44 85 2019-03-23 go-critic source code linter that brings checks that are currently not implemented in other linters.
45 2 0 2019-01-15 go-outdated Console application that displays outdated packages.
339 29 1 2017-12-06 goast-viewer Web based Golang AST visualizer.
N/A N/A N/A N/A GoCover.io GoCover.io offers the code coverage of any golang package as a service.
N/A N/A N/A N/A goimports Tool to fix (add, remove) your Go imports automatically.
N/A N/A N/A N/A GolangCI GolangCI is an automated Golang code review service for GitHub pull requests. Service is open source and it’s free for open source projects.
2937 382 80 2019-03-13 GoLint Golint is a linter for Go source code.
N/A N/A N/A N/A Golint online Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package.
N/A N/A N/A N/A goreturns Adds zero-value return statements to match the func return types.
N/A N/A N/A N/A gosimple gosimple is a linter for Go source code that specialises on simplifying code.
234 11 1 2019-02-03 gostatus Command line tool, shows the status of repositories that contain Go packages.
61 7 1 2018-10-28 lint Run linters as part of go test.
588 26 14 2019-03-26 php-parser A Parser for PHP written in Go.
N/A N/A N/A N/A staticcheck staticcheck is go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.
14 1 1 2018-07-22 tarp tarp finds functions and methods without direct unit tests in Go source code.
245 16 4 2019-03-25 unconvert Remove unnecessary type conversions from Go source.
N/A N/A N/A N/A unused unused checks Go code for unused constants, variables, functions and types.
62 12 1 2016-03-28 validate Automatically validates struct fields with tags.

Editor Plugins

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A Go plugin for JetBrains IDEs Go plugin for JetBrains IDEs.
27 8 3 2019-03-25 go-language-server A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
894 160 59 2019-02-01 go-mode Go mode for GNU/Emacs.
1460 129 55 2019-03-18 go-plus Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
4623 606 68 2019-03-02 gocode Autocompletion daemon for the Go programming language.
3158 282 69 2019-02-22 GoSublime Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features.
16 0 0 2018-10-29 gounit-vim Vim plugin for generating Go tests based on the function’s or method’s signature.
11 2 4 2019-03-14 theia-go-extension Go language support for the Theia IDE.
16 4 8 2018-10-24 velour IRC client for the acme editor.
78 18 0 2016-06-28 vim-compiler-go Vim plugin to highlight syntax errors on save.
10073 1039 34 2019-03-24 vim-go Go development plugin for Vim.
4629 551 181 2019-03-26 vscode-go Extension for Visual Studio Code (VS Code) which provides support for the Go language.
157 26 7 2018-03-25 Watch Runs a command in an acme win on file changes.

Go Generate Tools

Stars Forks Issues Last Commit Name Desc
25 2 0 2018-08-20 generic flexible data type for Go.
834 70 14 2019-02-28 genny Elegant generics for Go.
47 2 2 2019-01-26 gocontracts brings design-by-contract to Go by synchronizing the code with the documentation.
108 7 0 2014-09-29 gonerics Idiomatic Generics in Go.
1907 123 28 2019-03-01 gotests Generate Go tests from your source code.
23 4 0 2018-08-17 gounit Generate Go tests using your own templates.
164 10 4 2018-09-11 re2dfa Transform regular expressions into finite state machines and output Go source code.
N/A N/A N/A N/A TOML-to-Go Translates TOML into a Go type in the browser instantly.

Go Tools

Stars Forks Issues Last Commit Name Desc
95 8 1 2016-10-28 colorgo Wrapper around go command for colorized go build output.
317 17 4 2019-03-02 depth Visualize dependency trees of any package by analyzing imports.
N/A N/A N/A N/A gb An easy to use project based build tool for the Go programming language.
10 2 0 2018-01-18 generator-go-lang A Yeoman generator to get new Go projects started.
1726 91 12 2019-01-14 go-callvis Visualize call graph of your Go program using dot format.
37 6 0 2017-11-17 go-pkg-complete Bash completion for go and wgo.
3387 574 312 2019-03-24 go-swagger Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
150 6 3 2019-01-26 godbg Implementation of Rusts dbg! macro for quick and easy debugging during development.
3394 229 37 2019-03-17 OctoLinker Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
349 5 2 2019-03-09 richgo Enrich go test outputs with text decorations.
183 7 0 2016-12-06 rts RTS: response to struct. Generates Go structs from server responses.

Software Packages

Software written in Go.

DevOps Tools

Stars Forks Issues Last Commit Name Desc
1682 222 170 2019-01-25 aptly aptly is a Debian repository management tool.
366 55 3 2019-03-17 aurora Cross-platform web-based Beanstalkd queue server console.
18 4 0 2018-07-17 awsenv Small binary that loads Amazon (AWS) environment variables for a profile.
1045 121 18 2018-10-25 Banshee Anomalies detection system for periodic metrics.
165 4 0 2018-03-01 Blast A simple tool for API load testing and batch jobs.
1488 90 6 2019-03-25 bombardier Fast cross-platform HTTP benchmarking tool.
2799 472 410 2019-03-22 bosun Time Series Alerting Framework.
8 2 1 2018-11-23 DepCharge Helps orchestrating the execution of commands across the many dependencies in larger projects.
207 32 5 2019-03-15 dogo Monitoring changes in the source file and automatically compile and run (restart).
21 6 4 2019-03-04 drone-jenkins Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
50 11 6 2019-03-11 drone-scp Copy files and artifacts via SSH using a binary, docker or Drone CI.
43 7 10 2018-07-25 Dropship Tool for deploying code via cdn.
86 17 2 2019-03-07 easyssh-proxy Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand.
1547 33 5 2018-09-08 fac Command-line user interface to fix git merge conflicts.
3559 141 24 2019-03-26 gaia Build powerful pipelines in any programming language.
12988 1396 921 2019-03-26 Gitea Fork of Gogs, entirely community driven.
N/A N/A N/A N/A gitea-github-migrator Migrate all your GitHub repositories, issues, milestones and labels to your Gitea instance.
55 18 7 2019-03-10 go-furnace Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.
632 65 8 2016-12-16 go-selfupdate Enable your Go applications to self update.
173 17 5 2017-04-17 gobrew gobrew lets you easily switch between multiple versions of go.
217 22 4 2018-07-09 godbg Web-based gdb front-end application.
N/A N/A N/A N/A Gogs A Self Hosted Git Service in the Go Programming Language.
305 28 7 2016-07-21 gonative Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
344 18 0 2018-04-10 govvv “go build” wrapper to easily add version information into Go binaries.
3148 236 47 2019-03-12 gox Dead simple, no frills Go cross compile tool.
1607 71 10 2018-06-16 goxc build tool for Go, with a focus on cross-compiling and packaging.
119 6 1 2019-02-03 grapes Lightweight tool designed to distribute commands over ssh with ease.
4193 258 126 2018-12-31 GVM GVM provides an interface to manage Go versions.
5203 397 66 2019-02-07 Hey Hey is a tiny program that sends some load to a web application.
1306 118 17 2019-02-11 kala Simplistic, modern, and performant job scheduler.
59 5 1 2019-03-11 kcli Command line tool for inspecting kafka topics/partitions/messages.
50129 17304 3149 2019-03-26 kubernetes Container Cluster Manager from Google.
212 12 12 2019-01-13 lstags Tool and API to sync Docker images across different registries.
7 2 0 2018-07-01 lwc A live-updating version of the UNIX wc command.
190 19 2 2018-06-21 manssh manssh is a command line tool for managing your ssh alias config easily.
52631 15233 3617 2019-03-26 Moby Collaborative project for the container ecosystem to assemble container-based systems.
260 51 10 2017-01-09 Mora REST server for accessing MongoDB documents and meta data.
160 12 0 2018-04-03 ostent collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
8706 2382 368 2019-03-26 Packer Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
191 14 0 2018-10-26 Pewpew Flexible HTTP command line stress tester.
205 6 13 2019-03-26 Pomerium Pomerium is an identity-aware access proxy.
30 1 6 2017-04-22 Rodent Rodent helps you manage Go versions, projects and track dependencies.
974 140 45 2018-12-31 s3gof3r Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
498 71 60 2019-03-04 Scaleway-cli Manage BareMetal Servers from Command Line (as easily as with Docker).
5 0 2 2016-10-28 sg Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response.
503 28 2 2019-02-27 skm SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
1076 120 31 2019-01-25 StatusOK Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.
21347 2178 402 2019-03-26 traefik Reverse proxy and load balancer with support for multiple backends.
10996 685 16 2019-03-25 Vegeta HTTP load testing tool and library. It’s over 9000!
3683 315 50 2019-03-01 webhook Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
N/A N/A N/A N/A Wide Web-based IDE for Teams using Golang.
57 8 0 2019-01-28 winrm-cli Cli tool to remotely execute commands on Windows machines.

Other Software

Stars Forks Issues Last Commit Name Desc
1404 49 11 2018-02-07 borg Terminal based search engine for bash snippets.
72 7 0 2018-08-09 boxed Dropbox based blog engine.
185 24 0 2017-06-24 Cherry Tiny webchat server in Go.
1751 149 9 2016-11-21 Circuit Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
5995 266 17 2018-10-20 Comcast Simulate bad network connections.
5999 991 107 2019-03-19 confd Manage local application configuration files using templates and data from etcd or consul.
83 9 3 2018-11-18 DDNS Personal DDNS client with Digital Ocean Networking DNS as backend.
N/A N/A N/A N/A Docker Open platform for distributed applications for developers and sysadmins.
645 68 20 2019-03-26 Documize Modern wiki software that integrates data from SaaS tools.
4771 339 237 2019-03-13 drive Google Drive client for the commandline.
2566 177 272 2019-03-13 Duplicacy A cross-platform network and cloud backup tool based on the idea of lock-free deduplication.
878 30 11 2018-12-17 Go Package Store App that displays updates for the Go packages in your GOPATH.
2009 77 7 2019-02-06 GoBoy Nintendo Game Boy Color emulator written in Go.
317 19 21 2019-03-10 gocc Gocc is a compiler kit for Go written in Go.
359 66 5 2019-02-27 GoDNS A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
12 1 0 2016-01-29 GoDocTooltip Chrome extension for Go Doc sites, which shows function description as tooltip at function list.
N/A N/A N/A N/A GoLand Full featured cross-platform Go IDE.
10593 1001 120 2019-03-10 Gor Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
N/A N/A N/A N/A hugo Fast and Modern Static Website Engine.
244 9 0 2018-12-23 ide Browser accessible IDE. Designed for Go with Go.
256 43 3 2018-12-19 ipe Open source Pusher server implementation compatible with Pusher client libraries written in GO.
117 9 1 2019-03-17 joincap Command-line utility for merging multiple pcap files together.
N/A N/A N/A N/A Juju Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.
633 43 12 2019-03-03 Leaps Pair programming service using Operational Transforms.
1644 59 19 2019-03-22 lgo Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.
N/A N/A N/A N/A limetext Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.
5191 692 267 2019-03-25 LiteIDE LiteIDE is a simple, open source, cross-platform Go IDE.
396 46 1 2018-11-08 mockingjay Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.
2146 181 13 2018-10-28 myLG Command Line Network Diagnostic tool written in Go.
20 0 0 2018-11-18 naclpipe Simple NaCL EC25519 based crypto pipe tool written in Go.
3978 323 7 2019-01-14 nes Nintendo Entertainment System (NES) emulator written in Go.
174 9 2 2019-01-14 orange-cat Markdown previewer written in Go.
126 8 0 2018-06-17 Orbit A simple tool for running commands and generating files from templates.
557 74 20 2019-03-04 peg Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
2226 329 4 2019-03-26 Pipe A small and beautiful blogging platform.
6356 467 312 2019-03-26 restic De-duplicating backup program.
8517 813 497 2019-03-10 rkt App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM.
677 28 8 2019-03-25 scc Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.
7508 1012 19 2019-03-26 Seaweed File System Fast, Simple and Scalable Distributed File System with O(1) disk seek.
339 42 1 2019-03-02 shell2http Executing shell commands via http server (for prototyping or remote control).
1790 281 149 2018-12-20 snap Powerful telemetry framework.
15 1 5 2018-07-23 Snitch Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
1910 111 40 2018-12-13 Stack Up Stack Up, a super simple deployment tool - just Unix - think of it like ‘make’ for a network of servers.
N/A N/A N/A N/A syncthing Open, decentralized file synchronization tool and protocol.
17 3 0 2018-10-24 term-quiz Quizzes for your terminal.
3573 196 51 2019-02-25 toxiproxy Proxy to simulate network and system conditions for automated tests.
N/A N/A N/A N/A tsuru Extensible and open source Platform as a Service software.
539 112 26 2019-03-11 vFlow High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
287 18 26 2018-10-27 wellington Sass project management tool, extends the language with sprite functions (like Compass).

Resources

Where to discover new Go libraries.

Benchmarks

Stars Forks Issues Last Commit Name Desc
89 25 2 2014-07-28 autobench Framework to compare the performance between different Go versions.
19 2 0 2017-03-17 go-benchmark-app Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
112 16 0 2016-02-25 go-benchmarks Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
1216 159 27 2019-03-07 go-http-routing-benchmark Go HTTP request router benchmark and comparison.
909 110 0 2019-01-10 go-web-framework-benchmark Go web framework benchmark.
787 73 3 2019-01-14 go_serialization_benchmarks Benchmarks of Go serialization methods.
51 2 0 2015-01-04 gocostmodel Benchmarks of common basic operations for the Go language.
16 1 0 2019-03-02 golang-micro-benchmarks Tiny collection of Go micro benchmarks. The intent is to compare some language features to others.
48 7 2 2018-03-22 golang-sql-benchmark Collection of benchmarks for popular Go database/SQL utilities.
89 6 1 2018-09-24 gospeed Go micro-benchmarks for calculating the speed of language constructs.
14 1 0 2014-04-20 kvbench Key/Value database benchmark.
889 126 29 2018-10-18 skynet Skynet 1M threads microbenchmark.
163 13 1 2017-03-13 speedtest-resize Compare various Image resize algorithms for the Go language.

Conferences

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A Capital Go Washington, D.C., USA.
N/A N/A N/A N/A dotGo Paris, France.
N/A N/A N/A N/A GoCon Tokyo, Japan.
N/A N/A N/A N/A GoDays Berlin, Germany.
N/A N/A N/A N/A GoLab Florence, Italy.
N/A N/A N/A N/A GolangUK London, UK.
N/A N/A N/A N/A GopherChina Shanghai, China.
N/A N/A N/A N/A GopherCon Denver, USA.
N/A N/A N/A N/A GopherCon Brazil Florianópolis, BR.
N/A N/A N/A N/A GopherCon Europe Reykjavik, Iceland.
N/A N/A N/A N/A GopherCon India Pune, India.
N/A N/A N/A N/A GopherCon Israel Tel Aviv, Israel.
N/A N/A N/A N/A GopherCon Russia Moscow, Russia.
N/A N/A N/A N/A GopherCon Singapore Mapletree Business City, Singapore.
N/A N/A N/A N/A GopherCon Vietnam Ho Chi Minh City, Vietnam.
N/A N/A N/A N/A GothamGo New York City, USA.
N/A N/A N/A N/A GoWayFest Minsk, Belarus.

E-Books

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A A Go Developer’s Notebook A Go Developer’s Notebook
N/A N/A N/A N/A An Introduction to Programming in Go An Introduction to Programming in Go
N/A N/A N/A N/A Build Web Application with Golang Build Web Application with Golang
N/A N/A N/A N/A Building Web Apps With Go Building Web Apps With Go
N/A N/A N/A N/A Go 101 A book focusing on Go syntax/semantics and all kinds of details.
N/A N/A N/A N/A Go Bootcamp Go Bootcamp
6198 803 8 2019-03-11 GoBooks A curated list of Go books.
N/A N/A N/A N/A Learning Go Learning Go
N/A N/A N/A N/A Network Programming With Go Network Programming With Go
N/A N/A N/A N/A The Go Programming Language The Go Programming Language
2241 200 8 2019-03-19 Web Application with Go the Anti-Textbook Web Application with Go the Anti-Textbook
N/A N/A N/A N/A Writing A Compiler In Go Writing A Compiler In Go
N/A N/A N/A N/A Writing An Interpreter In Go Writing An Interpreter In Go

Gophers

Stars Forks Issues Last Commit Name Desc
30 2 0 2018-03-04 Go-gopher-Vector Go gopher Vector Data [.ai, .svg].
59 3 0 2018-06-26 gopher-logos adorable gopher logos.
412 23 6 2016-08-23 gopher-stickers gopher-stickers
329 36 0 2016-07-27 gopher-vector gopher-vector
554 22 2 2018-03-23 gophericons gophericons
281 29 18 2018-10-20 gopherize.me Gopherize yourself.
1652 75 14 2019-02-28 gophers Gopher artworks by Ashley McNamara.
1448 60 2 2019-03-17 gophers Free gophers.
48 2 2 2017-03-18 gophers random gopher graphics.
36 1 0 2019-03-20 gophers Gopher amigurumi toy pattern.

Meetups

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A Brisbane Gophers Brisbane Gophers
N/A N/A N/A N/A Go Language NYC Go Language NYC
N/A N/A N/A N/A Go London User Group Go London User Group
N/A N/A N/A N/A Go Toronto Go Toronto
N/A N/A N/A N/A Go User Group Atlanta Go User Group Atlanta
N/A N/A N/A N/A GoBridge, San Francisco, CA GoBridge, San Francisco, CA
N/A N/A N/A N/A GoJakarta GoJakarta
N/A N/A N/A N/A Golang Amsterdam Golang Amsterdam
N/A N/A N/A N/A Golang Argentina Golang Argentina
N/A N/A N/A N/A Golang Baltimore, MD Golang Baltimore, MD
N/A N/A N/A N/A Golang Bangalore Golang Bangalore
N/A N/A N/A N/A Golang Belo Horizonte - Brazil Brazil](https://www.meetup.com/go-belo-horizonte/)
N/A N/A N/A N/A Golang Boston Golang Boston
N/A N/A N/A N/A Golang Bulgaria Golang Bulgaria
N/A N/A N/A N/A Golang Cardiff, UK Golang Cardiff, UK
N/A N/A N/A N/A Golang Copenhagen Golang Copenhagen
N/A N/A N/A N/A Golang DC, Arlington, VA Golang DC, Arlington, VA
N/A N/A N/A N/A Golang Dorset, UK Golang Dorset, UK
N/A N/A N/A N/A Golang Hamburg - Germany Germany](https://www.meetup.com/Go-User-Group-Hamburg/)
N/A N/A N/A N/A Golang Israel Golang Israel
N/A N/A N/A N/A Golang Joinville - Brazil Brazil](https://www.meetup.com/Joinville-Go-Meetup/)
N/A N/A N/A N/A Golang Lima - Peru Peru](https://www.meetup.com/Golang-Peru/)
N/A N/A N/A N/A Golang Lyon Golang Lyon
N/A N/A N/A N/A Golang Marseille Golang Marseille
N/A N/A N/A N/A Golang Melbourne Golang Melbourne
N/A N/A N/A N/A Golang Mountain View Golang Mountain View
N/A N/A N/A N/A Golang New York Golang New York
N/A N/A N/A N/A Golang Paris Golang Paris
N/A N/A N/A N/A Golang Pune Golang Pune
N/A N/A N/A N/A Golang Singapore Golang Singapore
N/A N/A N/A N/A Golang Stockholm Golang Stockholm
N/A N/A N/A N/A Golang Sydney, AU Golang Sydney, AU
N/A N/A N/A N/A Golang São Paulo - Brazil Brazil](https://www.meetup.com/golangbr/)
N/A N/A N/A N/A Golang Taipei Golang Taipei
N/A N/A N/A N/A Golang Vancouver, BC Golang Vancouver, BC
N/A N/A N/A N/A Golang Казань Golang Казань
N/A N/A N/A N/A Golang Москва Golang Москва
N/A N/A N/A N/A Golang Питер Golang Питер
N/A N/A N/A N/A Istanbul Golang Istanbul Golang
N/A N/A N/A N/A Seattle Go Programmers Seattle Go Programmers
N/A N/A N/A N/A Ukrainian Golang User Groups Ukrainian Golang User Groups
N/A N/A N/A N/A Utah Go User Group Utah Go User Group
N/A N/A N/A N/A Women Who Go - San Francisco, CA San Francisco, CA](https://www.meetup.com/Women-Who-Go/)

*Add the group of your city/country here (send PR)*

Twitter

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A @golang @golang
N/A N/A N/A N/A @golang_news @golang_news
N/A N/A N/A N/A @golangch @golangch
N/A N/A N/A N/A @golangflow @golangflow
N/A N/A N/A N/A @golangweekly @golangweekly

Websites

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A Awesome Go @LibHunt Your go-to Go Toolbox.
13719 1373 6 2019-03-06 Awesome Remote Job Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
23912 3001 6 2019-02-28 awesome-awesomeness List of other amazingly awesome lists.
N/A N/A N/A N/A CodinGame Learn Go by solving interactive tasks using small games as practical examples.
N/A N/A N/A N/A Go Blog The official Go blog.
N/A N/A N/A N/A Go Challenge Learn Go by solving problems and getting feedback from Go experts.
N/A N/A N/A N/A Go Community on Hashnode Community of Gophers on Hashnode.
N/A N/A N/A N/A Go Forum Forum to discuss Go.
N/A N/A N/A N/A Go In 5 Minutes 5 minute screencasts focused on getting one thing done.
N/A N/A N/A N/A Go Projects List of projects on the Go community wiki.
N/A N/A N/A N/A Go Report Card A report card for your Go package.
32 0 0 2017-09-23 gocryforhelp Collection of Go projects that needs help. Good place to start your open-source way in Go.
N/A N/A N/A N/A godoc.org Documentation for open source Go packages.
N/A N/A N/A N/A Golang Flow Post Updates, News, Packages and more.
N/A N/A N/A N/A Golang News Links and news about Go programming.
141 10 1 2015-08-24 golang-graphics Collection of Go images, graphics, and art.
N/A N/A N/A N/A golang-nuts Go mailing list.
N/A N/A N/A N/A Google Plus Community The Google+ community for #golang enthusiasts.
N/A N/A N/A N/A Gopher Community Chat Join Our New Slack Community For Gophers (Understand how it came).
N/A N/A N/A N/A Gophercises Free coding exercises for budding gophers.
N/A N/A N/A N/A gowalker.org Go Project API documentation.
N/A N/A N/A N/A justforfunc Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy @francesc.
N/A N/A N/A N/A r/Golang News about Go.
N/A N/A N/A N/A Trending Go repositories on GitHub today Good place to find new Go libraries.
N/A N/A N/A N/A TutorialEdge - Golang Golang](https://tutorialedge.net/course/golang/)

Tutorials

Stars Forks Issues Last Commit Name Desc
N/A N/A N/A N/A 50 Shades of Go Traps, Gotchas, and Common Mistakes for New Golang Devs.
N/A N/A N/A N/A A Tour of Go Interactive tour of Go.
28759 8011 99 2019-03-22 Build web application with Golang Golang ebook intro how to build a web app with golang.
N/A N/A N/A N/A Building Go Web Applications and Microservices Using Gin Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.
N/A N/A N/A N/A Canceling MySQL How to cancel MySQL queries.
376 86 0 2019-03-01 Ethereum Development with Go A little e-book on Ethereum Development with Go.
N/A N/A N/A N/A Games With Go A video series teaching programming and game development.
N/A N/A N/A N/A Go By Example Hands-on introduction to Go using annotated example programs.
3836 505 11 2019-02-18 Go Cheat Sheet Go’s reference card.
N/A N/A N/A N/A Go database/sql tutorial Introduction to database/sql.
N/A N/A N/A N/A Go Playground for iOS Interactively edit & play Go snippets on your mobile device.
N/A N/A N/A N/A Go WebAssembly Tutorial - Building a Simple Calculator Building a Simple Calculator](https://tutorialedge.net/golang/go-webassembly-tutorial/)
442 29 0 2019-03-03 Golang for Node.js Developers Examples of Golang compared to Node.js for learning.
N/A N/A N/A N/A Golangbot Tutorials to get started with programming in Go.
N/A N/A N/A N/A Hackr.io Learn Go from the best online golang tutorials submitted & voted by the golang programming community.
N/A N/A N/A N/A How to Use Godog for Behavior-driven Development in Go Get started with Godog — a Behavior-driven development framework for building and testing Go applications.
3208 325 11 2019-03-16 Learn Go with TDD Learn Go with test-driven development.
N/A N/A N/A N/A package main YouTube channel about Programming in Go.
N/A N/A N/A N/A The world’s easiest introduction to WebAssembly with Golang The world’s easiest introduction to WebAssembly with Golang
1090 182 1 2019-02-13 Working with Go Intro to go for experienced programmers.
N/A N/A N/A N/A Your basic Go Huge collection of tutorials and how to’s.