Giter Club home page Giter Club logo

awesome-go-info's Introduction

Awesome Go Info

go语言开源项目列表,项目分类及GitHub上的开源项目数据完全来自于 awesome-goREADME.md 文件,通过调用GitHub的API获取仓库信息,展示项目的star数、watch数等,方便查看go语言开源项目的一些相关信息。

该文件仅包含 awesome-go 仓库中 README.md 文件中列出的在GitHub上开源的优秀项目,不罗列其它golang相关的网站 该文件中的GitHub仓库信息数据会在每天凌晨1点左右更新,当前数据更新于2021-12-20 00:39:56

⬆ back to top

Awesome Go

⬆ back to top

Audio and Music

Libraries for manipulating audio.

Go_repository Stars Watchers Created_at Latest_push Description
oto 919 10 2017/05/04 1 month ago A low-level library to play sound on multiple platforms.
portaudio 487 12 2015/09/16 1 year ago Go bindings for the PortAudio audio I/O library.
music-theory 374 20 2016/03/17 1 year ago Music theory models in Go.
portmidi 262 11 2013/11/10 1 year ago Go bindings for PortMidi.
id3v2 225 7 2016/05/15 2 days ago ID3 decoding and encoding library for Go.
GoAudio 188 6 2020/07/05 3 weeks ago Native Go Audio Processing Library.
flac 184 11 2012/11/01 6 days ago Native Go FLAC encoder/decoder with support for FLAC streams.
malgo 159 5 2017/11/09 2 months ago Mini audio library.
mix 145 3 2016/01/03 1 year ago Sequence-based Go-native audio mixer for music apps.
gaad 92 11 2016/07/11 2 months ago Native Go AAC bitstream parser.
minimp3 68 4 2018/01/26 8 months ago Lightweight MP3 decoder library.
vorbis 28 3 2013/07/12 2 years ago "Native" Go Vorbis decoder (uses CGO, but has no dependencies).
gosamplerate 13 1 2016/11/20 1 year ago libsamplerate bindings for go.
⬆ back to top

Authentication and OAuth

Libraries for implementing authentications schemes.

Go_repository Stars Watchers Created_at Latest_push Description
casbin 10878 224 2017/04/08 58 minutes ago Authorization library that supports access control models like ACL, RBAC, ABAC.
oauth2 3941 101 2014/04/14 2 days ago Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support.
goth 3448 58 2014/10/14 3 weeks ago provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
authboss 2954 56 2015/01/03 4 months ago 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.
go-jose 1849 58 2014/11/14 1 month ago Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
go-oauth2-server 1843 86 2015/11/01 11 months ago Standalone, specification-compliant, OAuth2 server written in Golang.
loginsrv 1835 55 2016/11/11 9 months ago JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam.
osin 1709 71 2013/09/10 1 month ago Golang OAuth2 server library.
gologin 1460 27 2015/06/23 4 days ago chainable handlers for login with OAuth1 and OAuth2 authentication providers.
gorbac 1232 62 2013/12/26 7 months ago provides a lightweight role-based access control (RBAC) implementation in Golang.
scs 986 27 2016/08/08 1 week ago Session Manager for HTTP servers.
paseto 561 23 2018/01/23 2 months ago Golang implementation of Platform-Agnostic Security Tokens (PASETO).
permissions2 441 14 2014/11/19 4 months ago Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt.
go-guardian 324 5 2020/05/14 1 day ago Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token and Certificate based authentication.
jwt 305 12 2019/07/20 6 days ago Safe, simple and fast JSON Web Tokens for Go.
jwt 275 13 2018/03/21 1 month ago Lightweight JSON Web Token (JWT) library.
jeff 234 4 2018/08/02 5 months ago Simple, flexible, secure and idiomatic web session management with pluggable backends.
httpauth 213 8 2014/05/26 2 months ago HTTP Authentication middleware.
jwt-auth 211 12 2016/07/05 4 months ago JWT middleware for Golang http servers with many configuration options.
branca 165 8 2018/01/09 1 year ago Golang implementation of Branca Tokens.
sessionup 113 7 2019/07/23 3 months ago Simple, yet effective HTTP session management and identification package.
otpgen 110 2 2021/06/01 4 months ago Library to generate TOTP/HOTP codes.
session 105 7 2016/02/08 4 months ago Go session management for web servers (including support for Google App Engine - GAE).
jwt 94 9 2016/06/05 1 year ago Clean and easy to use implementation of JSON Web Tokens (JWT).
sjwt 94 1 2019/06/20 2 years ago Simple jwt generator and parser.
rbac 88 3 2018/08/02 3 years ago Minimalistic RBAC package for Go applications.
sessions 61 3 2017/04/29 1 year ago Dead simple, highly performant, highly customizable sessions service for go http servers.
securecookie 54 5 2017/09/03 2 months ago Efficient secure cookie encoding/decoding.
go-email-normalizer 34 1 2020/08/21 3 months ago Golang library for providing a canonical representation of email address.
otpgo 26 3 2020/08/19 9 months ago Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
scope 17 1 2019/09/23 6 months ago Easily Manage OAuth2 Scopes In Go.
sessiongate-go 9 2 2017/10/20 3 years ago Go session management using the SessionGate Redis module.
cookiestxt 8 1 2017/10/09 9 months ago provides parser of cookies.txt file format.
⬆ back to top

Blockchain

Tools for building blockchains.

Go_repository Stars Watchers Created_at Latest_push Description
go-ethereum 34179 2133 2013/12/26 1 day ago Official Go implementation of the Ethereum protocol.
tendermint 4492 259 2014/05/14 11 hours ago 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.
cosmos-sdk 3143 206 2016/02/06 46 minutes ago A Framework for Building Public Blockchains in the Cosmos Ecosystem.
gossamer 294 17 2019/01/28 1 day ago A Go implementation of the Polkadot Host.
⬆ back to top

Bot Building

Libraries for building and working with bots.

Go_repository Stars Watchers Created_at Latest_push Description
telegram-bot-api 3275 77 2015/06/25 18 hours ago Simple and clean Telegram bot client.
olivia 3114 83 2018/06/05 1 day ago A chatbot built with an artificial neural network.
telebot 2230 54 2015/06/25 2 days ago Telegram bot framework written in Go.
kelp 814 53 2018/08/08 3 weeks ago 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.
bot 711 47 2015/09/22 1 year ago IRC, Slack & Telegram bot written in Go.
golang-crypto-trading-bot 658 37 2017/05/14 6 months ago A golang implementation of a console-based trading bot for cryptocurrency exchanges.
slacker 573 15 2017/05/20 4 days ago Easy to use framework to create Slack bots.
tbot 321 10 2015/09/11 9 months ago Telegram bot server with API similar to net/http.
go-sarah 212 7 2016/11/06 1 month ago Framework to build bot for desired chat services including LINE, Slack, Gitter and more.
go-twitch-irc 208 10 2017/03/23 2 hours ago Library to write bots for twitch.
tenyks 171 14 2012/08/26 2 years ago Service oriented IRC bot using Redis and JSON for messaging.
hanu 134 7 2016/09/16 6 months ago Framework for writing Slack bots.
go-tgbot 111 9 2016/12/11 3 years ago Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware.
slack-bot 68 4 2019/07/19 2 days ago Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github...
margelet 66 4 2015/11/21 5 years ago Framework for building Telegram bots.
ephemeral-roles 51 5 2017/12/19 1 week ago A Discord bot for managing ephemeral roles based upon voice channel member presence.
slackscot 48 2 2015/10/22 3 weeks ago Another framework for building Slack bots.
echotron 39 5 2019/07/22 1 week ago Concurrent library for Telegram Bots written in pure Go.
govkbot 37 3 2016/07/11 4 months ago Simple Go VK bot library.
larry 29 1 2020/11/16 1 month ago Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go.
micha 17 4 2016/04/14 6 months ago Go Library for Telegram bot api.
teleterm 5 1 2020/12/31 1 month ago Telegram Bot Exec Terminal Command.
⬆ back to top

Build Automation

Libraries and tools helping with build automation.

Go_repository Stars Watchers Created_at Latest_push Description
task 4282 60 2017/02/27 4 days ago simple "Make" alternative.
realize 4162 72 2016/07/12 7 months ago Go build system with file watchers and live reload. Run, build and watch file changes with custom paths.
mmake 1593 29 2017/02/15 1 year ago Modern Make.
goyek 269 5 2020/10/11 2 weeks ago Create build pipelines in Go.
taskctl 145 7 2019/11/12 7 months ago Concurrent task runner.
1build 118 8 2019/04/23 3 days ago Command line tool to frictionlessly manage project-specific commands.
gaper 50 0 2018/06/16 1 day ago Builds and restarts a Go project when it crashes or some watched file changes.
anko 19 3 2021/03/02 8 months ago Simple application watcher for multiple programming languages.
⬆ back to top

CSS Preprocessors

Libraries for preprocessing CSS files.

Go_repository Stars Watchers Created_at Latest_push Description
gcss 445 16 2014/09/04 7 years ago Pure Go CSS Preprocessor.
go-libsass 182 8 2015/04/19 1 year ago Go wrapper to the 100% Sass compatible libsass project.
⬆ back to top

Command Line

⬆ back to top

Configuration

Libraries for configuration parsing.

Go_repository Stars Watchers Created_at Latest_push Description
viper 17685 241 2014/04/02 3 days ago Go configuration with fangs.
godotenv 4388 41 2013/07/30 2 months ago Go port of Ruby's dotenv library (Loads environment variables from .env).
envconfig 3906 39 2013/11/06 1 week ago Go library for managing configuration data from environment variables.
ini 2770 76 2014/12/18 2 weeks ago Go package to read and write INI files.
env 2164 22 2015/07/28 2 weeks ago Parse environment variables to Go structs (with defaults).
kong 743 15 2018/04/10 6 days ago Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (succesor to kingpin).
koanf 672 13 2019/06/18 2 weeks ago Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.
konfig 616 14 2019/01/18 1 year ago Composable, observable and performant config handling for Go for the distributed processing era.
confita 419 23 2017/12/21 4 months ago Load configuration in cascade from multiple backends into a struct.
cleanenv 417 6 2019/07/12 1 week ago Minimalistic configuration reader (from files, ENV, and wherever you want).
aconfig 322 5 2020/06/26 1 month ago Simple, useful and opinionated config loader.
config 309 13 2018/07/07 1 month ago application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.
config 285 2 2019/04/02 1 month ago Cloud native application configuration. Bind ENV to structs in only two lines.
store 256 5 2015/10/03 4 years ago Lightweight configuration manager for Go.
hjson-go 247 9 2016/08/05 3 weeks ago Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.
config 241 8 2014/04/21 1 week ago JSON or YAML configuration wrapper with environment variables and flags parsing.
config 226 5 2019/10/15 2 weeks ago A lightweight yet powerful config package for Go projects.
envconfig 218 6 2015/04/21 1 month ago Read your configuration from environment variables.
config 209 2 2017/04/02 1 month ago Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
fig 182 5 2020/01/16 1 week ago Tiny library for reading configuration from a file and from environment variables (with validation & defaults).
xdg 157 4 2014/08/22 1 month ago Go implementation of the XDG Base Directory Specification and XDG user directories.
gcfg 155 8 2015/08/17 5 months ago read INI-style configuration files into Go structs; supports user-defined types and subsections.
goconfig 150 13 2016/12/18 1 month ago Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
envh 95 4 2017/01/12 7 months ago Helpers to manage environment variables.
envcfg 94 1 2014/11/29 4 years ago Un-marshaling environment variables to Go structs.
harvester 93 12 2019/04/09 2 weeks ago Harvester, a easy to use static and dynamic configuration package supportig seeding, env vars and Consul integration.
onion 92 6 2015/07/22 3 months ago Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP.
configuro 79 4 2020/04/09 9 months ago opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications.
xdg 65 3 2017/07/20 1 year ago Cross platform package that follows the XDG Standard.
gofigure 60 5 2014/11/25 2 years ago Go application configuration made easy.
configure 54 4 2015/06/14 2 years ago Provides configuration through multiple sources, including JSON, flags and environment variables.
configuration 43 2 2019/11/27 1 month ago Library for initializing configuration structs from env variables, files, flags and 'default' tag.
go-aws-ssm 43 28 2019/01/24 9 months ago Go package that fetches parameters from AWS System Manager - Parameter Store.
uconfig 40 2 2017/05/11 2 weeks ago Lightweight, zero-dependency, and extendable configuration management.
hocon 37 1 2020/03/01 3 weeks ago Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files.
go-up 35 1 2018/02/18 1 year ago A simple configuration library with recursive placeholders resolution and no magic.
ingo 34 1 2016/02/07 4 years ago Flags persisted in an ini-like config file.
mini 28 1 2015/04/29 3 years ago Golang package for parsing ini-style configuration files.
genv 25 2 2019/07/15 2 years ago Read environment variables easily with dotenv support.
conflate 21 0 2018/02/01 1 year ago 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.
go-ssm-config 10 1 2019/12/02 1 year ago Go utility for loading configuration parameters from AWS SSM (Parameter Store).
envconf 9 1 2014/10/26 7 years ago Configuration from environment.
ini 8 1 2021/08/13 2 weeks ago INI Parser & Write Library, Unmarshal to Struct,Marshal to Json,Write File,watch file.
env 7 0 2019/07/24 3 weeks ago Simple useful package for read environment variables.
go-ini 5 1 2019/09/11 8 months ago A Go package that marshals and unmarshals INI-files.
swap 4 2 2020/04/12 1 month ago Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).
typenv 4 1 2020/06/30 1 year ago Minimalistic, zero dependency, typed environment variables library.
go-conf 2 1 2021/01/27 2 months ago Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters.
gonfig 2 1 2021/01/21 4 months ago Tag-based configuration parser which loads values from different providers into typesafe struct.
⬆ back to top

Continuous Integration

Tools for help with continuous integration.

Go_repository Stars Watchers Created_at Latest_push Description
drone 24288 558 2014/02/07 3 hours ago Drone is a Continuous Integration platform built on Docker, written in Go.
cds 3677 86 2016/10/11 1 day ago Enterprise-Grade CI/CD and DevOps Automation Open Source Platform.
goveralls 705 13 2013/04/17 2 months ago Go integration for Coveralls.io continuous code coverage tracking system.
gotestfmt 175 3 2021/04/29 1 week ago go test output for humans.
overalls 107 4 2015/07/30 1 year ago Multi-Package go project coverprofile for tools like goveralls.
duci 69 3 2018/04/01 4 days ago A simple ci server no needs domain specific languages.
gomason 51 1 2017/11/18 5 months ago Test, Build, Sign, and Publish your go binaries from a clean workspace.
roveralls 15 2 2016/06/26 4 years ago Recursive coverage testing tool.
⬆ back to top

Data Structures

Generic datastructures and algorithms in Go.

Go_repository Stars Watchers Created_at Latest_push Description
gods 10884 345 2015/03/04 1 month ago Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.
go-datastructures 6299 327 2014/10/29 7 months ago Collection of useful, performant, and thread-safe data structures.
golang-set 2167 44 2013/07/03 1 day ago Thread-Safe and Non-Thread-Safe high-performance sets for Go.
gota 1897 77 2016/02/06 3 weeks ago Implementation of dataframes, series, and data wrangling methods for Go.
roaring 1422 40 2014/07/10 2 days ago Go package implementing compressed bitsets.
BoomFilters 1394 39 2015/02/06 9 months ago Probabilistic data structures for processing continuous, unbounded streams.
bloom 1387 36 2011/05/21 2 months ago Go package implementing Bloom filters.
gocache 1021 19 2019/10/05 1 month ago A complete Go cache library with mutiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.
cuckoofilter 851 19 2015/06/28 4 months ago Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
bitset 764 30 2011/05/11 3 months ago Go package implementing bitsets.
hyperloglog 761 17 2017/06/18 1 month ago HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
algorithms 592 19 2018/01/31 9 months ago Algorithms and data structures.CLRS study.
trie 561 22 2014/03/06 1 year ago Trie implementation in Go.
gostl 350 10 2019/10/12 2 months ago Data structure and algorithm library for go, designed to provide functions similar to C++ STL.
go-geoindex 332 65 2015/01/22 3 years ago In-memory geo index.
ttlcache 316 14 2014/12/13 20 hours ago In-memory string-interface{} cache with various time-based expiration options and callbacks.
merkletree 298 8 2017/04/12 2 years ago Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures.
go-edlib 293 10 2020/08/18 1 week ago Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode.
deque 265 7 2018/04/24 1 week ago Fast ring-buffer deque (double-ended queue).
hilbert 239 22 2015/08/06 3 years ago Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
goskiplist 230 16 2012/05/09 2 years ago Skip list implementation in Go.
go-adaptive-radix-tree 217 8 2016/04/01 1 year ago Go implementation of Adaptive Radix Tree.
cuckoo-filter 187 5 2021/02/19 2 months ago Cuckoo filter: a comprehensive cuckoo filter, which is configurable and space optimized compared with other implements, and all features mentioned in original paper is available.
skiplist 181 6 2018/06/23 1 month ago Very fast Go Skiplist implementation.
binpacker 179 13 2016/02/02 2 months ago Binary packer and unpacker helps user build custom binary stream.
levenshtein 166 4 2014/07/30 7 months ago Implementation to calculate levenshtein distance in Go.
goconcurrentqueue 154 3 2019/01/10 1 year ago Concurrent FIFO queue.
bloom 144 8 2013/09/03 3 years ago Bloom filters implemented in Go.
iter 139 5 2019/10/20 2 years ago Go implementation of C++ STL iterators and algorithms.
ring 121 1 2019/01/27 1 year ago Go implementation of a high performance, thread safe bloom filter.
go-rquad 118 4 2016/09/12 1 year ago Region quadtrees with efficient point location and neighbour finding.
encoding 110 7 2013/09/20 4 years ago Integer Compression Libraries for Go.
bit 107 8 2017/05/03 3 years ago Golang set data structure with bonus bit-twiddling functions.
remember-go 107 5 2019/04/04 8 months ago A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory).
bitmap 105 4 2021/05/28 1 week ago Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go.
conjungo 99 111 2016/12/29 1 year ago A small, powerful and flexible merge library.
skiplist 75 7 2014/11/18 7 years ago Skiplist implementation in Go.
go-mcache 74 4 2018/04/14 1 year ago Fast in-memory key:value store/cache library. Pointer caches.
bloom 63 3 2017/05/06 4 years ago Golang Bloom filter implementation.
levenshtein 59 2 2016/04/08 1 year ago Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
count-min-log 53 2 2015/08/16 4 years ago Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
crunch 47 6 2019/02/27 4 months ago Go package implementing buffers for handling various datatypes easily.
nan 45 3 2020/05/05 2 months ago Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers.
goset 43 1 2017/08/25 1 year ago A useful Set collection implementation for Go.
hide 40 4 2019/01/16 1 month ago ID type with marshalling to/from hash to prevent sending IDs to clients.
pipeline 38 2 2018/04/25 1 month ago An implementation of pipelines with fan-in and fan-out.
concurrent-writer 36 5 2017/09/18 4 years ago Highly concurrent drop-in replacement for bufio.Writer.
deque 35 4 2019/02/01 7 months ago A highly optimized double-ended queue.
timedmap 35 2 2019/01/30 4 weeks ago Map with expiring key-value pairs.
typ 29 2 2019/03/03 2 months ago Null Types, Safe primitive type conversion and fetching value from complex structures.
null 23 3 2018/07/04 1 month ago Nullable Go types that can be marshalled/unmarshalled to/from JSON.
dict 22 2 2019/04/23 1 year ago Python-like dictionaries (dict) for Go.
cmap 20 2 2019/11/26 1 year ago a thread-safe concurrent map for go, support using interface{} as key and auto scale up shards.
go-ef 18 2 2017/09/22 4 years ago A Go implementation of the Elias-Fano encoding.
mspm 16 3 2018/05/17 3 years ago Multi-String Pattern Matching Algorithm for information retrieval.
ptrie 16 8 2019/05/20 1 year ago An implementation of prefix tree.
set 16 21 2018/07/20 2 months ago Simple set data structure implementation in Go using LinkedHashMap.
fsm 12 1 2021/10/11 2 months ago Finite-State Machine package.
ordered-concurrently 12 1 2021/02/28 3 weeks ago Go module that processes work concurrently and returns output in a channel in the order of input.
parapipe 12 1 2021/04/09 6 months ago FIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results.
treap 12 3 2018/09/16 2 years ago Persistent, fast ordered map using tree heaps.
gofal 9 2 2019/08/05 2 years ago fractional api for Go.
bloomfilter 6 1 2021/01/01 5 months ago Yet another Bloomfilter implementation in Go, compatible with Java's Guava library.
gdcache 6 1 2021/07/20 2 months ago A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache.
goterator 6 1 2020/08/12 1 year ago Iterator implementation to provide map and reduce functionalities.
parsefields 6 1 2019/04/12 2 years ago Tools for parse JSON-like logs for collecting unique fields and events.
slices 5 3 2020/07/02 1 year ago Functions that operate on slices; like package strings but adapted to work with slices.
dsu 4 1 2021/04/27 5 months ago Disjoint Set data structure implementation in Go.
merkle 1 2 2018/10/13 4 months ago Space-efficient computation of Merkle root hashes and inclusion proofs.
⬆ back to top

Database

SQL query builder, libraries for building and using SQL.

Go_repository Stars Watchers Created_at Latest_push Description
prometheus 40112 1140 2012/11/24 9 hours ago Monitoring system and time series database.
tidb 29879 1319 2015/09/06 38 minutes ago TiDB is a distributed SQL database. Inspired by the design of Google F1.
cockroach 22702 726 2014/02/06 1 hour ago Scalable, Geo-Replicated, Transactional Datastore.
influxdb 22578 753 2013/09/26 2 days ago Scalable datastore for metrics, events, and real-time analytics.
dgraph 17129 376 2015/08/25 4 days ago Scalable, Distributed, Low Latency, High Throughput Graph Database.
vitess 13064 515 2013/06/27 22 hours ago vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
groupcache 10976 499 2013/07/22 7 months ago Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
badger 10129 243 2017/01/26 3 days ago Fast key-value store in Go.
rqlite 9148 218 2014/08/23 2 days ago The lightweight, distributed, relational database built on SQLite.
milvus 9021 187 2019/09/16 2 hours ago Milvus is a vector database for embedding management, analytics and search.
migrate 7710 78 2018/01/19 1 day ago Database migrations. CLI and Golang library.
pgweb 7114 147 2014/10/09 1 week ago Web-based PostgreSQL database browser.
kingshard 5888 406 2015/07/04 6 months ago kingshard is a high performance proxy for MySQL powered by Golang.
go-cache 5678 114 2012/01/02 5 days ago In-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.
VictoriaMetrics 5559 106 2018/09/30 1 day ago fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.
bigcache 5305 115 2016/03/23 2 weeks ago Efficient key/value cache for gigabytes of data.
bbolt 5016 119 2017/06/17 3 weeks ago An embedded key/value database for Go.
goleveldb 4784 180 2013/01/23 3 days ago Implementation of the LevelDB key/value database in Go.
squirrel 4406 50 2014/01/18 2 weeks ago Go library that helps you build SQL queries.
orchestrator 4343 265 2016/11/30 1 week ago MySQL replication topology manager & visualizer.
dtm 4064 91 2021/05/16 39 minutes ago A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages.
ledisdb 3770 185 2014/04/30 9 months ago Ledisdb is a high performance NoSQL like Redis based on LevelDB.
immudb 3680 63 2019/11/07 1 day ago immudb is a lightweight, high-speed immutable database for systems and applications written in Go.
go-mysql-elasticsearch 3660 180 2015/01/15 10 months ago Sync your MySQL data into Elasticsearch automatically.
buntdb 3583 98 2016/07/19 1 week ago Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
go-mysql 3367 159 2014/02/21 2 days ago Go toolset to handle MySQL protocol and replication.
prest 3023 82 2016/11/22 1 day ago Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new.
xo 2973 69 2016/02/05 3 weeks ago Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.
tiedot 2642 159 2013/05/26 3 months ago Your NoSQL database powered by Golang.
sql-migrate 2333 34 2014/09/09 1 month ago Database migration tool. Allows embedding migrations into the application using go-bindata.
rosedb 2126 27 2020/12/06 9 hours ago An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset.
goose 2112 46 2016/02/25 1 hour ago Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
nutsdb 1827 49 2018/12/07 6 days ago 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.
gcache 1786 44 2015/01/24 4 months ago Cache library with support for expirable Cache, LFU, LRU and ARC.
cache2go 1654 68 2013/11/11 3 weeks ago In-memory key:value cache which supports automatic invalidation based on timeouts.
godis 1562 25 2019/06/01 1 month ago A Golang implemented high-performance Redis server and cluster.
goqu 1344 36 2015/02/21 2 hours ago Idiomatic SQL builder and query library.
gendry 1322 65 2017/12/01 1 month ago Non-invasive SQL builder and powerful data binder.
fastcache 1305 30 2018/11/22 2 weeks ago fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
CovenantSQL 1256 72 2018/04/11 3 months ago CovenantSQL is a SQL database on blockchain.
diskv 1120 40 2012/03/21 1 month ago Home-grown disk-backed key-value store.
skeema 962 30 2016/10/31 3 days ago Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.
databunker 933 27 2019/12/08 2 hours ago Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.
eliasdb 861 25 2016/08/13 7 months ago Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
moss 845 76 2016/02/06 2 days ago Moss is a simple LSM key-value storage engine written in 100% Go.
pogreb 836 26 2018/01/06 3 months ago Embedded key-value store for read-heavy workloads.
column 834 13 2021/05/26 4 days ago High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions.
chproxy 767 32 2017/09/18 1 month ago HTTP proxy for ClickHouse database.
goavro 764 23 2015/02/23 2 months ago A Go package that encodes and decodes Avro data.
gormigrate 704 7 2016/08/31 2 weeks ago Database schema migration helper for Gorm ORM.
dotsql 605 24 2014/11/20 4 months ago Go library that helps you keep sql files in one place and use them with ease.
pg_timetable 593 16 2018/12/19 3 days ago Advanced scheduling for PostgreSQL.
jet 574 14 2019/03/02 40 minutes ago Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure.
ozzo-dbx 545 28 2015/12/10 2 weeks ago Powerful data retrieval methods as well as DB-agnostic query building capabilities.
levigo 402 23 2012/01/17 4 days ago Levigo is a Go wrapper for LevelDB.
clickhouse-bulk 326 7 2017/04/29 2 months ago Collects small insterts and sends big requests to ClickHouse servers.
dbq 324 9 2019/07/11 9 months ago Zero boilerplate database operations for Go.
pudge 304 11 2018/11/20 5 months ago Fast and simple key/value store written using Go's standard library.
sqrl 236 10 2014/06/25 1 month ago SQL query builder, fork of Squirrel with improved performance.
vasto 228 19 2018/01/16 2 years ago A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.
kivik 217 5 2017/02/09 6 months ago Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases.
piladb 192 12 2015/09/08 1 year ago Lightweight RESTful database engine based on stack data structures.
sqlingo 190 13 2018/11/18 1 week ago A lightweight DSL to build SQL in Go.
myreplication 176 21 2015/02/04 3 years ago MySql binary log replication listener. Supports statement and row based replication.
octillery 148 19 2018/11/26 6 months ago Go package for sharding databases ( Supports every ORM or raw SQL ).
go-structured-query 145 1 2020/05/30 1 month ago Type-safe SQL builder and struct mapper for Go.
golang-scribble 141 5 2018/06/21 2 years ago Tiny flat file JSON store.
darwin 124 4 2016/04/05 9 months ago Database schema evolution library for Go.
migrator 116 5 2019/02/04 1 year ago Dead simple Go database migration library.
slowpoke 98 8 2018/02/19 2 years ago Key-value store with persistence.
cache 95 3 2019/05/11 1 year ago In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.
igor 84 7 2016/03/10 1 year ago Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
go-pg-migrations 81 1 2018/08/11 3 months ago A Go package to help write migrations with go-pg/pg.
unitdb 80 8 2019/08/29 1 month ago Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application.
bcache 74 4 2018/12/26 2 years ago Eventually consistent distributed in-memory cache Go library.
dbbench 62 4 2018/11/24 5 days ago Database benchmarking tool with support for several databases and scripts.
couchcache 53 4 2015/04/05 2 months ago RESTful caching micro-service backed by Couchbase server.
godbal 52 4 2018/02/28 2 years ago Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.
hare 47 6 2016/10/05 9 months ago A simple database management system that stores each table as a text file of line-delimited JSON.
datagen 44 1 2019/04/18 1 year ago A fast data generator that's multi-table aware and supports multi-row DML.
clusteredBigCache 39 6 2017/12/18 3 years ago BigCache with clustering support and individual item expiration.
buildsqlx 38 1 2019/08/18 7 months ago Go database query builder library for PostgreSQL.
sqlf 34 4 2019/07/20 2 weeks ago Fast SQL query builder.
prep 30 3 2017/12/11 4 years ago Use prepared SQL statements without changing your code.
coffer 28 5 2019/05/13 2 months ago Simple ACID key-value database that supports transactions.
sqlize 27 1 2020/09/08 2 days ago Database migration generator. Allows generate sql migration from model and existing sql by differ them.
go-fixtures 26 1 2015/12/24 2 years ago Django style fixtures for Golang's excellent built-in database/sql library.
bqb 26 1 2021/07/31 1 week ago Lightweight and easy to learn query builder.
avro 25 3 2019/04/07 1 year ago Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.
pravasan 25 7 2015/01/03 3 years ago Simple Migration tool - currently for MySQL but planning to soon support Postgres, SQLite, MongoDB, etc.
qry 19 3 2019/08/20 2 months ago Tool that generates constants from files with raw SQL queries.
gosql 17 1 2020/01/08 1 year ago SQL Query builder with better null values support.
tempdb 15 3 2017/03/17 3 years ago Key-value store for temporary items.
rwdb 13 2 2017/10/04 4 years ago rwdb provides read replica capability for multiple database servers setup.
migrator 12 2 2020/06/27 7 months ago MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code.
mpath-go 10 4 2020/01/09 1 year ago MPTT (Modified Preorder Tree Traversal) package for SQL records - materialized path realisation.
schema 8 3 2019/09/24 1 week ago Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.
go-pg-migrate 6 1 2021/01/16 2 weeks ago CLI-friendly package for go-pg migrations management.
ttlcache 3 1 2021/01/06 9 months ago In-memory key value storage with TTL for each record.
ormlite 1 2 2018/06/28 11 months ago Lightweight package containing some ORM-like features and helpers for sqlite databases.
⬆ back to top

Database Drivers

Libraries for connecting and operating databases. ⬆ back to top

NoSQL Databases

Go_repository Stars Watchers Created_at Latest_push Description
cayley 14022 601 2014/06/05 1 month ago Graph database with support for multiple backends.
redis 13115 246 2012/07/25 2 days ago Redis client for Golang.
redigo 8784 292 2012/04/14 2 weeks ago Redigo is a Go client for the Redis database.
bleve 8078 250 2014/04/17 2 days ago Modern text indexing library for go.
elastic 6433 175 2012/12/06 2 days ago Elasticsearch client for Go.
mongo-go-driver 6335 130 2017/02/08 1 day ago Official MongoDB driver for the Go language.
riot 6026 201 2017/06/21 1 year ago Go Open Source, Distributed, Simple and efficient Search Engine.
go-elasticsearch 3817 323 2017/03/27 2 days ago Official Elasticsearch client for Go.
mgo 1927 63 2017/04/13 1 month ago (unmaintained) 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.
rethinkdb-go 1582 49 2013/09/12 2 months ago Go language driver for RethinkDB.
elastigo 946 47 2012/10/12 2 years ago Elasticsearch client library.
elasticsql 836 33 2016/08/24 1 month ago Convert sql to elasticsearch dsl in Go.
qmgo 751 20 2020/08/04 2 weeks ago The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo.
mgm 426 16 2019/12/27 5 days ago MongoDB model-based ODM for Go (based on official MongoDB driver).
redeo 409 26 2014/03/06 1 year ago Redis-protocol compatible TCP servers/services.
neoism 382 24 2012/07/12 1 year ago Neo4j client for Golang.
gokv 382 10 2018/10/08 3 months ago Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more).
aerospike-client-go 371 42 2014/07/26 1 week ago Aerospike client in Go language.
gocb 328 67 2015/01/15 4 days ago Official Couchbase Go SDK.
go-couchbase 312 25 2012/01/19 1 month ago Couchbase client in Go.
go-rejson 208 7 2018/04/23 8 months ago Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.
cachego 159 7 2016/10/05 2 months ago Golang Cache component for multiple drivers.
godis 98 10 2019/06/14 1 year ago redis client implement by golang, inspired by jedis.
skizze 80 6 2016/01/17 5 years ago probabilistic data-structures service and storage.
Neo4j-GO 77 7 2011/06/04 3 years ago Neo4j REST Client in golang.
arangolite 69 6 2015/10/04 9 months ago Lightweight golang driver for ArangoDB.
go-pilosa 50 20 2016/09/30 1 year ago Go client library for Pilosa.
goforestdb 32 39 2014/05/14 5 years ago Go bindings for ForestDB.
neo4j 27 4 2013/05/18 6 years ago Neo4j Rest API Bindings for Golang.
goriak 25 4 2016/10/05 3 months ago Go language driver for Riak KV.
goes 25 34 2015/12/28 1 year ago Library to interact with Elasticsearch.
dsc 23 16 2016/06/13 1 year ago Datastore connectivity for SQL, NoSQL, structured files.
xredis 16 2 2017/06/14 2 years ago Typesafe, customizable, clean & easy to use Redis client.
godscache 9 3 2018/05/08 2 years ago A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.
asc 6 11 2016/06/13 2 years ago Datastore Connectivity for Aerospike for go.
gocosmos 5 2 2020/12/06 5 months ago REST client and standard database/sql driver for Azure Cosmos DB.
⬆ back to top

Relational Databases

Go_repository Stars Watchers Created_at Latest_push Description
mysql 11735 407 2012/12/09 1 day ago MySQL driver for Go.
pq 6948 150 2012/03/12 3 weeks ago Pure Go Postgres driver for database/sql.
go-sqlite3 5313 148 2011/11/11 2 days ago SQLite3 driver for go that uses database/sql.
pgx 4848 87 2013/03/30 1 week ago PostgreSQL driver supporting features beyond those exposed by database/sql.
go-mssqldb 1485 67 2013/12/16 4 days ago Microsoft MSSQL driver for Go.
go-oci8 574 40 2012/02/29 1 month ago Oracle driver for go that uses database/sql.
sqlhooks 498 6 2016/04/20 1 month ago Attach hooks to any database/sql driver.
godror 308 22 2019/11/21 2 days ago Oracle driver for Go, using the ODPI-C driver.
firebirdsql 162 18 2013/08/27 6 days ago Firebird RDBMS SQL driver for Go.
go-adodb 124 12 2011/11/14 1 year ago Microsoft ActiveX Object DataBase driver for go that uses database/sql.
gofreetds 105 23 2012/12/06 1 year ago Microsoft MSSQL driver. Go wrapper over FreeTDS.
sqinn-go 87 1 2020/06/06 6 months ago SQLite with pure Go.
calcite-avatica-go 85 26 2017/08/08 1 year ago Apache Avatica/Phoenix SQL driver for database/sql.
bgc 15 11 2016/06/13 1 year ago Datastore Connectivity for BigQuery for go.
pig 4 1 2021/04/15 8 months ago Simple pgx wrapper to execute and scan query results easily.
⬆ back to top

Date and Time

Libraries for working with dates and times.

Go_repository Stars Watchers Created_at Latest_push Description
now 3506 66 2013/11/18 6 days ago Now is a time toolkit for golang.
dateparse 1587 22 2014/04/21 1 month ago Parse date's without knowing format in advance.
carbon 1523 12 2020/09/07 1 month ago A simple, semantic and developer-friendly golang package for datetime.
carbon 658 43 2016/08/03 1 month ago Simple Time extension with a lot of util methods, ported from PHP Carbon library.
durafmt 408 6 2016/05/20 6 months ago Time duration formatting library for Go.
timeutil 184 8 2015/08/02 2 years ago Useful extensions (Timedelta, Strftime, ...) to the golang's time package.
gostradamus 159 5 2020/04/07 3 weeks ago A Go package for working with dates.
go-persian-calendar 112 5 2016/01/31 4 weeks ago The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
iso8601 96 4 2017/04/25 5 months ago Efficiently parse ISO8601 date-times without regex.
date 84 3 2015/11/23 2 days ago Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.
timespan 75 6 2014/10/07 2 years ago For interacting with intervals of time, defined as a start time and a duration.
feiertage 40 3 2015/11/04 4 months ago Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...
go-sunrise 39 5 2017/06/15 6 months ago Calculate the sunrise and sunset times for a given location.
go-str2duration 33 3 2020/02/02 1 year ago Convert string to duration. Support time.Duration returned string and more.
kair 21 2 2018/10/03 1 year ago Date and Time - Golang Formatting Library.
cronrange 13 2 2019/11/10 4 months ago Parses Cron-style time range expressions, checks if the given time is within any ranges.
nulltime 11 2 2016/03/06 4 years ago Nullable time.Time.
tuesday 9 3 2017/08/10 6 months ago Ruby-compatible Strftime function.
go-week 7 5 2018/02/23 1 month ago An efficient package to work with ISO8601 week dates.
strftime 7 2 2018/02/10 3 years ago C99-compatible strftime formatter.
⬆ back to top

Distributed Systems

Packages that help with building Distributed Systems.

Go_repository Stars Watchers Created_at Latest_push Description
kit 21923 692 2015/02/03 3 weeks ago Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
go-micro 17355 509 2015/01/13 2 days ago A distributed systems development framework.
kratos 15844 415 2019/01/10 1 day ago A modular-designed and easy-to-use microservices framework in Go.
grpc-go 15043 480 2014/12/08 1 day ago The Go language implementation of gRPC. HTTP/2 based RPC.
go-zero 13158 236 2020/08/07 1 hour ago A web and rpc framework. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
micro 10777 335 2015/01/16 3 days ago A distributed systems runtime for the cloud and beyond.
nats-server 10223 376 2012/10/29 2 days ago Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
rpcx 6517 348 2016/05/18 2 days ago Distributed pluggable RPC service framework like alibaba Dubbo.
raft 5474 366 2013/11/05 1 week ago Golang implementation of the Raft consensus protocol, by HashiCorp.
lura 4752 124 2016/11/04 3 days ago Ultra performant API Gateway framework with middlewares.
torrent 4138 130 2015/01/08 2 days ago BitTorrent client package.
dragonboat 3983 144 2018/12/23 1 month ago A feature complete and high performance multi-group Raft library in Go.
emitter 3130 103 2016/10/29 5 months ago High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.
glow 3017 144 2015/06/14 3 years ago Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
gleam 2949 149 2016/08/26 7 months ago 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.
liftbridge 2175 67 2017/10/13 1 week ago Lightweight, fault-tolerant message streams for NATS.
hprose-golang 1191 91 2014/02/14 2 weeks ago Very newbility RPC Library, support 25+ languages now.
ringpop-go 711 2457 2015/06/05 9 months ago Scalable, fault-tolerant application-layer sharding for Go applications.
rain 659 17 2014/05/21 1 week ago BitTorrent client and library.
gorpc 648 24 2014/11/20 2 years ago Simple, fast and scalable RPC library for high load.
go-health 610 120 2017/11/29 1 year ago Library for enabling asynchronous dependency health checks in your service.
redislock 557 9 2019/06/24 2 months ago Simplified distributed locking implementation using Redis.
go-sundheit 441 10 2019/04/08 4 months ago A library built to provide support for defining async service health checks for golang services.
consistent 434 14 2018/03/25 6 months ago Consistent hashing with bounded loads.
arpc 432 19 2020/05/19 2 days ago More effective network communication, support two-way-calling, notify, broadcast.
digota 420 29 2017/08/14 10 months ago grpc ecommerce microservice.
sleuth 338 10 2016/04/23 3 years ago Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).
go-jump 335 16 2014/06/15 2 months ago Port of Google's "Jump" Consistent Hash function.
dht 217 11 2016/12/14 1 week ago BitTorrent Kademlia DHT implementation.
jsonrpc 196 9 2016/11/10 3 months ago JSON-RPC 2.0 HTTP client implementation.
jsonrpc 156 5 2016/10/28 2 months ago The jsonrpc package helps implement of JSON-RPC 2.0.
go-doudou 108 6 2021/02/24 38 minutes ago A gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. Built-in go-doudou cli focusing on low-code and rapid dev can power up your productivity.
celeriac.v1 68 4 2015/10/10 1 year ago Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
doublejump 67 5 2018/06/26 4 months ago A revamped Google's jump consistent hash.
semaphore 64 14 2020/02/05 6 months ago A straightforward (micro) service orchestrator.
outboxer 60 0 2019/02/01 6 days ago Outboxer is a go library that implements the outbox pattern.
flowgraph 42 1 2018/08/29 7 months ago flow-based programming package.
drmaa 36 3 2013/03/17 1 year ago Job submission library for cluster schedulers based on the DRMAA standard.
go-mysql-lock 36 1 2020/06/06 4 months ago MySQL based distributed lock.
go-pdu 31 5 2018/10/08 1 month ago A decentralized identity-based social network.
micro 14 3 2020/05/03 1 month ago A Go distributed systems development framework.
dynatomic 13 0 2019/02/08 1 year ago A library for using DynamoDB as an atomic counter.
consistenthash 9 1 2020/04/22 1 year ago Consistent hashing with configurable replicas.
failured 2 1 2021/07/26 4 months ago adaptive accrual failure detector for distributed systems.
⬆ back to top

Dynamic DNS

Tools for updating dynamic DNS records.

Go_repository Stars Watchers Created_at Latest_push Description
godns 929 33 2014/05/11 2 weeks ago A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
ddns 199 8 2017/03/13 2 months ago Personal DDNS client with Digital Ocean Networking DNS as backend.
⬆ back to top

Email

Libraries and tools that implement email creation and sending.

Go_repository Stars Watchers Created_at Latest_push Description
MailHog 9401 145 2014/04/16 1 week ago Email and SMTP testing with web and API interface.
hermes 2377 28 2017/03/25 2 weeks ago Golang package that generates clean, responsive HTML e-mails.
email 1886 50 2013/12/12 2 days ago A robust and flexible email library for Go.
go-imap 1413 45 2016/04/26 2 months ago IMAP library for clients and servers.
sendgrid-go 778 197 2013/09/12 3 days ago SendGrid's Go library for sending email.
mailgun-go 569 72 2014/02/28 4 days ago Go library for sending mail with the Mailgun API.
email-verifier 342 22 2020/12/18 2 weeks ago A Go library for email verification without sending any emails.
go-simple-mail 233 4 2019/09/15 6 days ago Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send.
go-message 230 14 2016/12/31 3 weeks ago Streaming library for the Internet Message Format and mail messages.
hectane 212 14 2015/08/28 1 year ago Lightweight SMTP client providing an HTTP API.
douceur 203 3 2015/04/09 6 months ago CSS inliner for your HTML emails.
mailchain 96 8 2019/04/11 6 hours ago Send encrypted emails to blockchain addresses written in Go.
go-premailer 77 2 2015/02/16 9 months ago Inline styling for HTML mail in Go.
go-dkim 73 3 2015/04/29 1 year ago DKIM library, to sign & verify email.
smtp 66 9 2014/12/24 2 months ago SMTP server protocol state machine.
go-smtp-mock 20 2 2021/08/31 1 day ago Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment.
go-email-validator 17 4 2020/12/10 1 week ago Modular email validator for syntax, disposable, smtp, etc... checking.
⬆ back to top

Embeddable Scripting Languages

Embedding other languages inside your go code.

Go_repository Stars Watchers Created_at Latest_push Description
gopher-lua 4464 150 2015/02/15 3 weeks ago Lua 5.1 VM and compiler written in Go.
goja 2561 65 2016/11/04 2 days ago ECMAScript 5.1(+) implementation in Go.
tengo 2528 55 2019/01/09 5 days ago Bytecode compiled script language for Go.
go-lua 2214 368 2013/12/20 3 weeks ago Port of the Lua 5.2 VM to pure Go.
expr 2123 46 2018/07/14 3 days ago Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing.
go-python 1331 44 2012/07/09 8 months ago naive go bindings to the CPython C-API.
anko 1193 47 2014/03/28 2 weeks ago Scriptable interpreter written in Go.
cel-go 993 30 2018/03/09 2 days ago Fast, portable, non-Turing complete expression evaluation with gradual typing.
go-php 830 43 2015/09/17 3 weeks ago PHP bindings for Go.
core 823 17 2018/12/26 2 hours ago Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more.
go-duktape 779 27 2015/01/08 2 months ago Duktape JavaScript engine bindings for Go.
golua 572 35 2010/12/06 1 month ago Go bindings for Lua C API.
gisp 474 22 2014/01/11 4 years ago Simple LISP in Go.
gval 413 16 2017/09/27 2 weeks ago A highly customizable expression language written in Go.
gentee 84 3 2018/01/14 1 week ago Embeddable scripting programming language.
binder 54 2 2017/04/02 3 years ago Go to Lua binding library, based on gopher-lua.
purl 34 3 2014/11/29 7 years ago Perl 5.18.2 embedded in Go.
ngaro 20 2 2016/08/09 3 years ago Embeddable Ngaro VM implementation enabling scripting in Retro.
ecal 16 2 2020/11/30 7 months ago A simple embeddable scripting language which supports concurrent event processing.
⬆ back to top

Error Handling

Libraries for handling errors.

Go_repository Stars Watchers Created_at Latest_push Description
errors 7525 111 2015/12/27 1 month ago Package that provides simple error handling primitives.
go-multierror 1450 247 2014/12/15 1 month ago Go (golang) package for representing a list of errors as a single error.
eris 888 11 2019/09/07 4 months ago A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors.
errorx 790 78 2018/08/17 8 months ago A feature rich error package with stack traces, composition of errors and more.
tracerr 695 11 2019/02/06 2 years ago Golang errors with stack trace and source fragments.
errlog 399 5 2019/02/16 1 year ago Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.
emperror 235 4 2017/06/13 1 year ago Error handling tools and best practices for Go libraries and applications.
errors 105 4 2019/07/09 9 months ago Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives.
errors 25 2 2020/07/17 6 days ago Drop-in replacement for builting Go errors. This is a minimal error handling package with custom error types, user friendly messages, Unwrap & Is. With very easy to use and straightforward helper functions.
falcon 7 2 2019/09/09 2 years ago A Simple Yet Highly Powerful Package For Error Handling.
errors 3 2 2019/07/26 2 years ago Simple golang error handling with classification primitives.
errors 3 1 2020/01/08 1 year ago The most simple error wrapper with awesome performance and minimal memory overhead.
⬆ back to top

File Handling

Libraries for handling files and file systems.

Go_repository Stars Watchers Created_at Latest_push Description
afero 4111 88 2014/10/28 1 month ago FileSystem Abstraction System for Go.
pdfcpu 2852 65 2017/06/18 5 days ago PDF processor.
gdu 1453 18 2018/02/24 1 week ago Disk usage analyzer with console interface.
notify 702 30 2014/09/08 4 months ago File system event notification library with simple API, similar to os/signal.
copy 364 7 2017/09/01 4 days ago Copy directory recursively.
bigfile 212 16 2019/07/15 1 year ago A file transfer system, support to manage files with http api, rpc call and ftp client.
afs 163 12 2019/08/19 1 month ago Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go.
vfs 143 23 2017/08/01 1 week ago A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.
go-csv-tag 95 0 2017/06/18 1 month ago Load csv file using tag.
go-exiftool 92 4 2019/05/12 4 months ago Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).
opc 68 3 2018/11/06 9 months ago Load Open Packaging Conventions (OPC) files for Go.
skywalker 65 4 2017/08/01 3 months ago Package to allow one to concurrently go through a filesystem with ease.
checksum 48 3 2014/11/05 2 weeks ago Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files.
tarfs 48 2 2017/03/10 1 year ago Implementation of the FileSystem interface for tar files.
parquet 41 7 2019/01/29 2 months ago Read and write parquet files.
baraka 34 2 2020/07/12 3 months ago A library to process http file uploads easily.
go-gtfs 30 2 2017/07/09 1 year ago Load gtfs files in go.
flop 29 18 2019/03/01 1 week ago File operations library which aims to mirror feature parity with GNU cp.
gut 19 3 2019/10/05 1 year ago Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links.
go-decent-copy 14 3 2018/10/16 1 year ago Copy files for humans.
todotxt 10 2 2020/11/06 1 year ago Go library for Gina Trapani's todo.txt files, supports parsing and manipulating of task lists in the todo.txt format.
higgs 6 1 2020/12/13 8 months ago A tiny cross-platform Go library to hide/unhide files and directories.
pathtype 6 1 2021/08/03 4 months ago Treat paths as their own type instead of using strings.
⬆ back to top

Financial

Packages for accounting and finance.

Go_repository Stars Watchers Created_at Latest_push Description
ticker 3982 63 2021/01/24 1 hour ago Terminal stock watcher and stock position tracker.
decimal 3588 63 2015/02/25 6 days ago Arbitrary-precision fixed-point decimal numbers.
go-money 1030 14 2017/03/20 2 weeks ago Implementation of Fowler's Money pattern.
accounting 693 14 2015/08/10 2 months ago money and currency formatting for golang.
techan 569 47 2017/03/08 1 month ago Technical analysis library with advanced market analysis and trading strategies.
go-finance 537 27 2016/02/28 3 years ago Comprehensive financial markets data in Go.
ach 274 19 2016/12/14 4 days ago A reader, writer, and valdiator for Automated Clearing House (ACH) files.
currency 267 6 2020/04/16 3 weeks ago Handles currency amounts, provides currency information and formatting.
orderbook 232 20 2018/04/24 7 months ago Matching Engine for Limit Order Book in Golang.
go-finance 119 8 2017/06/01 2 weeks ago Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
transaction 98 9 2017/10/11 5 months ago Embedded transactional database of accounts, running in multithreaded mode.
ofxgo 94 10 2015/11/08 2 months ago Query OFX servers and/or parse the responses (with example command-line client).
vat 85 3 2016/06/18 10 months ago VAT number validation & EU VAT rates.
sleet 78 50 2019/11/13 2 days ago One unified interface for multiple Payment Service Providers (PsP) to process online payment.
go-finnhub 63 6 2020/01/13 1 year ago Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.
currency 44 6 2017/05/09 1 month ago High performant & accurate currency computation package.
fastme 26 4 2020/10/29 3 months ago Fast extensible matching engine Go implementation.
payme 8 1 2021/05/03 2 weeks ago QR code generator (ASCII & PNG) for SEPA payments.
go-finance 5 2 2019/09/30 2 years ago Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.
⬆ back to top

Forms

Libraries for working with forms.

Go_repository Stars Watchers Created_at Latest_push Description
nosurf 1231 35 2013/08/22 1 year ago CSRF protection middleware for Go.
binding 784 32 2014/05/20 3 years ago Binds form and JSON data from net/http Request to struct.
csrf 728 23 2015/08/03 1 month ago CSRF protection for Go web applications & services.
form 504 13 2016/05/26 5 months ago Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
conform 241 5 2016/01/05 2 months ago Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
formam 163 5 2014/10/25 2 months ago decode form's values into a struct.
forms 125 7 2014/08/07 4 years ago Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
qs 60 3 2020/10/02 6 months ago Go module for encoding structs into URL query parameters.
bind 26 4 2014/08/06 7 years ago Bind form data to any Go values.
queryparam 10 2 2018/06/14 1 year ago Decode url.Values into usable struct values of standard or custom types.
⬆ back to top

Functional

Packages to support functional programming in Go.

Go_repository Stars Watchers Created_at Latest_push Description
go-underscore 1221 30 2014/07/02 2 years ago Useful collection of helpfully functional Go collection utilities.
fpGo 210 7 2018/05/24 4 months ago Monad, Functional Programming features for Golang.
fuego 101 3 2018/11/05 1 year ago Functional Experiment in Go.
gofp 97 3 2021/02/19 9 months ago A lodash like powerful utility library for Golang.
⬆ back to top

GUI

Interaction

Go_repository Stars Watchers Created_at Latest_push Description
fyne 15153 226 2018/02/04 2 days ago Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.
webview 9199 227 2017/08/19 1 week ago Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
qt 8968 318 2014/11/19 11 months ago Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
ui 8037 371 2014/02/17 5 months ago Platform-native GUI library for Go. Cross platform.
robotgo 7096 234 2016/09/26 4 days ago Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
walk 5816 262 2010/09/16 5 months ago Windows application library kit for Go.
go-app 5608 151 2016/10/12 2 weeks ago Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
go-astilectron 4151 135 2017/04/22 5 days ago Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron).
go-sciter 2280 129 2015/10/15 1 month ago Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.
systray 2066 63 2014/11/12 7 months ago Cross platform Go library to place an icon and menu in the notification area.
gotk3 1660 64 2015/08/13 1 month ago Go bindings for GTK3.
gosx-notifier 553 16 2013/11/25 1 year ago OSX Desktop Notifications library for Go.
gowd 336 26 2017/03/29 2 years ago Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
trayhost 220 7 2014/04/25 2 years ago Cross-platform Go library to place an icon in the host operating system's taskbar.
zenity 200 6 2019/12/10 2 months ago Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user.
go-appindicator 17 5 2019/05/04 11 months ago Go bindings for libappindicator3 C library.
activity-tracker 12 3 2019/03/12 2 years ago OSX library to notify about any (pluggable) activity on your machine.
mac-sleep-notifier 10 4 2019/03/30 2 years ago OSX Sleep/Wake notifications in golang.
⬆ back to top

Game Development

Awesome game development libraries.

Go_repository Stars Watchers Created_at Latest_push Description
ebiten 5562 121 2013/06/16 1 hour ago dead simple 2D game library in Go.
leaf 4250 320 2014/08/04 5 months ago Lightweight game server framework.
pixel 3756 101 2016/11/19 2 months ago Hand-crafted 2D game library in Go.
goworld 2007 131 2017/06/03 6 months ago Scalable game server engine, featuring space-entity framework and hot-swapping.
nano 1888 67 2017/08/02 5 months ago Lightweight, facility, high performance golang based game server framework.
engine 1757 79 2017/03/07 1 week ago Go 3D Game Engine.
go-sdl2 1667 44 2013/06/05 1 month ago Go bindings for the Simple DirectMedia Layer.
engo 1453 48 2014/11/12 2 weeks ago Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
pitaya 1263 71 2018/03/19 1 month ago Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
termloop 1248 31 2015/05/23 4 months ago Terminal-based game engine for Go, built on top of Termbox.
gonet 1163 135 2013/04/11 4 years ago Game server skeleton implemented with golang.
oak 977 43 2017/07/15 22 hours ago Pure Go game engine.
raylib-go 699 17 2017/01/27 1 month ago Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.
engine 520 25 2016/02/29 1 month ago 3D game engine written in Go.
go-astar 464 10 2014/05/28 1 year ago Go implementation of the A* path finding algorithm.
go3d 215 9 2011/06/27 1 month ago Performance oriented 2D/3D math package for Go.
prototype 66 3 2015/03/04 1 week ago Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.
tile 37 1 2020/08/19 6 days ago Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.
⬆ back to top

Generation and Generics

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

Go_repository Stars Watchers Created_at Latest_push Description
go-linq 2791 73 2013/12/19 3 weeks ago .NET LINQ-like query methods for Go.
jennifer 2257 30 2016/12/04 19 hours ago Generate arbitrary Go code without templates.
gen 1338 33 2013/10/13 1 year ago Code generation tool for ‘generics’-like functionality.
goderive 942 19 2017/02/10 1 week ago Derives functions from input types.
gowrap 553 12 2018/09/15 1 month ago Generate decorators for Go interfaces using simple templates.
interfaces 311 7 2015/12/06 7 months ago Command line tool for generating interface definitions.
go-enum 256 4 2017/08/10 1 week ago Code generation for enums from code comments.
pkgreflect 99 6 2012/09/03 4 years ago Go preprocessor for package scoped reflection.
goverter 92 2 2021/03/09 1 month ago Generate converters by defining an interface.
efaceconv 51 4 2016/11/18 4 years ago Code generation tool for high performance conversion from interface{} to immutable type without allocations.
gotype 36 4 2017/12/05 4 months ago Golang source code parsing, usage like reflect package.
GENERIS 29 1 2019/03/10 4 months ago Code generation tool providing generics, free-form macros, conditional compilation and HTML templating.
go-xray 20 4 2019/10/01 2 years ago Helpers for making the use of reflection easier.
typeregistry 11 1 2020/01/14 1 year ago A library to create type dynamically.
⬆ back to top

Geographic

Geographic tools and servers

Go_repository Stars Watchers Created_at Latest_push Description
tile38 7880 207 2016/03/04 1 week ago Geolocation DB with spatial index and realtime geofencing.
geo 1303 77 2014/12/03 1 month ago S2 geometry library in Go.
mbtileserver 291 14 2014/11/01 1 day ago A simple Go-based server for map tiles stored in mbtiles format.
osm 182 12 2016/02/02 3 months ago Library for reading, writing and working with OpenStreetMap data and APIs.
wgs84 66 1 2019/06/08 1 week ago Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).
geoserver 65 2 2018/03/26 3 weeks ago geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
godal 55 3 2021/02/05 4 days ago Go wrapper for GDAL.
gismanager 39 0 2018/09/29 3 years ago Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.
simplefeatures 38 4 2019/06/07 1 week ago simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them.
pbf 29 4 2017/09/18 8 months ago OpenStreetMap PBF golang encoder/decoder.
s2-geojson 15 1 2020/03/27 1 year ago Convert geojson to s2 cells & demonstrating some S2 geometry features on map.
⬆ back to top

Go Compilers

Tools for compiling Go to other languages.

Go_repository Stars Watchers Created_at Latest_push Description
gopherjs 10725 250 2013/08/27 3 hours ago Compiler from Go to JavaScript.
tardisgo 413 30 2014/01/08 5 years ago Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
c4go 293 18 2018/03/28 1 month ago Transpile C code to Go code.
esp32-transpiler 33 3 2018/03/14 5 months ago Transpile Go into Arduino code.
f4go 31 4 2018/07/08 2 weeks ago Transpile FORTRAN 77 code to Go code.
⬆ back to top

Goroutines

Tools for managing and working with Goroutines.

Go_repository Stars Watchers Created_at Latest_push Description
ants 7183 157 2018/05/19 2 weeks ago A high-performance and low-cost goroutine pool in Go.
tunny 2755 73 2014/04/02 5 months ago Goroutine pool for golang.
goworker 2618 73 2013/07/22 1 week ago goworker is a Go-based background worker.
workerpool 696 16 2016/05/17 1 month ago Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.
grpool 665 29 2015/07/22 2 years ago Lightweight Goroutine pool.
pool 664 14 2015/10/28 5 months ago Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
pond 350 9 2020/03/21 4 weeks ago Minimalistic and High-performance goroutine worker pool written in Go.
gowp 348 17 2019/09/14 7 months ago gowp is concurrency limiting goroutine pool.
go-floc 216 7 2017/07/03 4 months ago Orchestrate goroutines with ease.
go-flow 180 11 2016/09/25 2 years ago Control goroutines execution order.
semaphore 132 2 2017/11/22 8 months ago Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).
go-workers 125 4 2020/10/06 2 months ago Easily and safely run workers for large data processing pipelines.
artifex 122 7 2018/10/31 1 year ago Simple in-memory job queue for Golang using worker-based dispatching.
errgroup 103 3 2020/06/26 3 months ago Drop-in alternative to sync/errgroup, limited to a pool of N worker goroutines.
async 95 13 2017/06/30 1 year ago A safe way to execute functions asynchronously, recovering them in case of panic.
semaphore 89 1 2016/10/08 1 year ago Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
cyclicbarrier 88 2 2018/01/11 1 year ago CyclicBarrier for golang.
gpool 82 1 2018/12/03 2 years ago manages a resizeable pool of context-aware goroutines to bound concurrency.
worker-pool 80 5 2017/10/04 11 months ago goworker is a Go simple async worker pool.
gollback 70 1 2019/05/11 2 weeks ago asynchronous simple function utilities, for managing execution of closures and callbacks.
Hunch 67 1 2019/06/05 1 year ago Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
threadpool 62 2 2017/09/06 1 year ago Golang threadpool implementation.
routine 45 3 2019/03/04 1 year ago go routine control with context, support: Main, Go, Pool and some useful Executors.
nursery 38 4 2019/11/23 5 months ago Structured concurrency in Go.
kyoo 36 2 2020/01/06 1 year ago Provides an unlimited job queue and concurrent worker pools.
goccm 35 1 2019/08/16 2 months ago Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently.
async 34 2 2019/12/28 3 weeks ago An alternative sync library for Go (Future, Promise, Locks).
parallel-fn 31 3 2017/06/18 4 years ago Run functions in parallel.
go-waitgroup 24 2 2018/08/08 1 year ago Like sync.WaitGroup with error handling and concurrency control.
go-trylock 22 1 2018/04/26 7 months ago TryLock support on read-write lock for Golang.
stl 20 2 2018/06/19 1 year ago Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.
gohive 19 3 2019/05/31 3 weeks ago A highly performant and easy to use Goroutine pool for Go.
channelify 15 1 2020/10/05 9 months ago Transform your function to return channels for easy and powerful parallel processing.
gowl 12 1 2021/04/12 5 months ago Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.
conexec 11 2 2019/12/24 1 year ago A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency.
queue 10 0 2018/12/21 2 years ago Gives you a sync.WaitGroup like queue group accessibility. Helps you to throttle and limit goroutines, wait for the end of the all goroutines and much more.
execpool 7 1 2021/06/17 5 months ago A pool built around exec.Cmd that spins up a given number of processes in advance and attaches stdin and stdout to them when needed. Very similar to FastCGI or Apache Prefork MPM but works for any command.
hands 7 1 2020/04/04 1 year ago A process controller used to control the execution and return strategies of multiple goroutines.
concurrency-limiter 5 1 2020/11/22 1 year ago Concurrency limiter with support for timeouts , dynamic priority and context cancellation of goroutines.
go-tools 5 2 2018/11/14 2 years ago Manage a pool of goroutines using this lightweight library with a simple API.
breaker 2 0 2021/07/11 5 months ago Flexible mechanism to make execution flow interruptible.
⬆ back to top

Hardware

Libraries, tools, and tutorials for interacting with hardware.

Go_repository Stars Watchers Created_at Latest_push Description
arduino-cli 3173 106 2018/08/08 3 days ago Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects.
go-rpio 1769 59 2013/07/30 2 weeks ago GPIO for Go, doesn't require cgo.
ghw 1084 25 2017/05/26 1 week ago Golang hardware discovery/inspection library.
emgo 949 35 2014/07/09 1 week ago Go-like language for programming embedded systems (e.g. STM32 MCU).
sysinfo 303 14 2016/08/22 1 month ago A pure Go library providing Linux OS / kernel / hardware system information.
goroslib 149 11 2020/01/19 1 week ago Robot Operating System (ROS) library for Go.
go-osc 138 8 2013/08/26 4 months ago Open Sound Control (OSC) bindings for Go.
joystick 29 2 2015/07/24 1 year ago a polled API to read the state of an attached joystick.
⬆ back to top

Images

Libraries for manipulating images.

Go_repository Stars Watchers Created_at Latest_push Description
gocv 4512 137 2017/09/18 1 month ago Go package for computer vision using OpenCV 3.3+.
imaginary 4107 77 2015/03/04 1 week ago Fast and simple HTTP microservice for image resizing.
imaging 4023 78 2012/12/06 1 year ago Simple Go image processing package.
bild 3431 72 2016/08/01 4 days ago Collection of image processing algorithms in pure Go.
gg 3162 92 2016/02/18 1 month ago 2D rendering in pure Go.
ln 3006 93 2016/01/10 2 years ago 3D line art rendering in Go.
resize 2765 80 2012/08/02 1 year ago Image resizing for Go with common interpolation methods.
pt 1978 58 2015/01/23 2 years ago Path tracing engine written in Go.
svgo 1779 49 2010/03/05 1 month ago Go Language Library for SVG generation.
bimg 1727 38 2015/03/17 6 days ago Small package for fast and efficient image processing using libvips.
picfit 1589 54 2014/12/06 3 months ago An image resizing server written in Go.
smartcrop 1567 33 2014/04/07 7 months ago Finds good crops for arbitrary images and crop sizes.
gift 1473 49 2014/07/12 1 year ago Package of image processing filters.
imagick 1378 54 2013/04/30 3 months ago Go binding to ImageMagick's MagickWand C API.
gowitness 1318 36 2017/10/31 2 months ago Screenshoting webpages using go and headless chrome on command line.
go-opencv 1254 63 2013/12/09 2 years ago Go bindings for OpenCV.
geopattern 1150 22 2014/10/22 2 years ago Create beautiful generative image patterns from a string.
stegify 971 22 2018/11/29 1 year ago Go tool for LSB steganography, capable of hiding any file within an image.
canvas 856 19 2017/05/20 2 days ago Vector graphics to PDF, SVG or rasterized image.
image2ascii 609 9 2018/10/20 4 months ago Convert image to ASCII.
govips 591 13 2016/12/25 44 minutes ago A lightning fast image processing and resizing library for Go.
draft 518 11 2020/06/05 3 months ago Generate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax.
govatar 471 10 2016/01/18 9 months ago Library and CMD tool for generating funny avatars.
goimagehash 449 11 2017/07/28 10 months ago Go Perceptual image hashing package.
mort 440 18 2017/11/19 1 month ago Storage and image processing server written in Go.
go-nude 336 16 2014/05/02 3 years ago Nudity detection with Go.
rez 203 9 2014/01/16 4 years ago Image resizing in pure Go and SIMD.
darkroom 177 9 2019/07/01 5 months ago An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
mergi 157 7 2018/09/24 1 year ago Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
gltf 140 5 2019/01/15 1 month ago Efficient and robust glTF 2.0 reader, writer and validator.
img 138 5 2012/07/28 6 years ago Selection of image manipulation tools.
steganography 121 6 2018/05/21 4 months ago Pure Go Library for LSB steganography.
go-cairo 116 5 2012/08/22 9 months ago Go binding for the cairo graphics library.
cameron 79 4 2018/05/05 1 month ago An avatar generator for Go.
go-gd 52 4 2011/05/12 3 years ago Go binding for GD library.
gridder 47 4 2020/04/10 2 months ago A Grid based 2D Graphics library.
go-webp 38 5 2020/02/18 3 months ago Library for encode and decode webp pictures, using libwebp.
goimghdr 36 1 2018/02/25 2 years ago The imghdr module determines the type of image contained in a file for Go.
webp-server 30 1 2020/11/22 11 months ago Simple and minimal image server capable of storing, resizing, converting and caching images.
tga 28 3 2012/10/08 6 years ago Package tga is a TARGA image format decoder/encoder.
go-webcolors 24 2 2014/04/24 6 years ago Port of webcolors library from Python to Go.
mpo 7 2 2015/04/14 1 year ago Decoder and conversion tool for MPO 3D Photos.
scout 1 1 2020/09/25 2 months ago Scout is a standalone open source software solution for DIY video security.
⬆ back to top

IoT

Libraries for programming devices of the IoT.

Go_repository Stars Watchers Created_at Latest_push Description
flogo 1891 157 2016/07/10 1 year ago Project Flogo is an Open Source Framework for IoT Edge Apps & Integration.
mainflux 1634 102 2015/07/06 2 days ago Industrial IoT Messaging and Device Management Server.
gatt 1003 55 2014/04/23 1 year ago Gatt is a Go package for building Bluetooth Low Energy peripherals.
heedy 308 24 2015/01/16 1 week ago Open-Source Platform for Quantified Self & IoT.
devices 248 16 2016/05/30 5 years ago Suite of libraries for IoT devices, experimental for x/exp/io.
sensorbee 208 19 2016/02/19 2 years ago Lightweight stream processing engine for IoT.
huego 189 4 2017/05/16 3 days ago An extensive Philips Hue client library for Go.
eywa 50 8 2016/02/20 4 years ago Project Eywa is essentially a connection manager that keeps track of connected devices.
⬆ back to top

JSON

Libraries for working with JSON.

Go_repository Stars Watchers Created_at Latest_push Description
gjson 9458 153 2016/08/11 1 week ago Get a JSON value with one line of code.
gojson 2439 47 2012/12/27 4 months ago Automatically generate Go (golang) struct definitions from example JSON.
fastjson 1399 26 2018/05/28 5 months ago Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection.
ojg 441 6 2020/04/12 1 week ago Optimized JSON for Go is a high performance parser with a variety of additional JSON tools including JSONPath.
kazaam 215 21 2016/07/19 5 months ago API for arbitrary transformation of JSON documents.
gojq 177 5 2015/12/30 1 year ago JSON query in Golang.
jsondiff 140 2 2020/11/28 3 months ago JSON diff library for Go based on RFC6902 (JSON Patch).
jettison 113 6 2019/08/30 1 month ago Fast and flexible JSON encoder for Go.
jsongo 98 1 2015/08/07 2 months ago Fluent API to make it easier to create Json objects.
gjo 97 8 2019/02/23 8 months ago Small utility to create JSON objects.
json2go 93 3 2017/06/10 4 days ago Advanced JSON to Go struct conversion. Provides package that can parse multiple JSON documents and create struct to fit them all.
ajson 90 3 2019/03/07 3 days ago Abstract JSON for golang with JSONPath support.
jaydiff 83 2 2017/04/24 10 months ago JSON diff utility written in Go.
jsonf 62 3 2015/05/25 1 year ago Console tool for highlighted formatting and struct query fetching JSON.
ujson 52 1 2019/02/27 4 months ago Fast and minimal JSON parser and transformer that works on unstructured JSON.
go-respond 43 1 2017/03/12 2 months ago Go package for handling common HTTP JSON responses.
mp 43 2 2014/06/15 5 years ago Simple cli email parser. It currently takes stdin and outputs JSON.
jsoncolor 25 1 2021/09/13 2 months ago Drop-in replacement for encoding/json that outputs colorized JSON.
vjson 23 1 2021/04/29 1 month ago Go package for validating JSON objects with declaring a JSON schema with fluent API.
ask 13 1 2020/09/13 10 months ago Easy access to nested values in maps and slices. Works in combination with encoding/json and other packages that "Unmarshal" arbitrary data into Go data-types.
go-jsonerror 10 2 2018/10/18 2 years ago Go-JsonError is ment to allow us to easily create json response errors that follow the JsonApi spec.
jsonapi-errors 9 2 2016/07/08 5 years ago Go bindings based on the JSON API errors reference.
jsonhal 9 2 2016/01/15 1 year ago Simple Go package to make custom structs marshal into HAL compatible JSON responses.
dynjson 8 2 2020/05/06 2 months ago Client-customizable JSON formats for dynamic APIs.
mapslice-json 8 1 2020/02/19 5 months ago Go MapSlice for ordered marshal/ unmarshal of maps in JSON.
epoch 7 1 2019/12/15 8 months ago Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from build-in time.Time type in JSON.
ej 6 2 2020/01/04 1 year ago Write and read JSON from different sources succinctly.
jsonic 5 1 2021/01/09 11 months ago Utilities to handle and query JSON without defining structs in a type safe manner.
jzon 5 1 2019/11/12 9 months ago JSON library with standard compatible API/behavior.
omg.jsonparser 1 1 2021/07/08 2 months ago Simple JSON parser with validation by condition via golang struct fields tags.
⬆ back to top

Job Scheduler

Libraries for scheduling jobs.

Go_repository Stars Watchers Created_at Latest_push Description
gocron 1432 20 2020/03/20 5 days ago Easy and fluent Go job scheduling. This is an actively maintained fork of jasonlvhit/gocron.
jobrunner 895 27 2015/10/21 1 year ago Smart and featureful cron job scheduler with job queuing and live monitoring built in.
gron 876 15 2016/06/04 11 months ago Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.
go-quartz 564 13 2019/04/14 2 weeks ago Simple, zero-dependency scheduling library for Go.
jobs 484 19 2015/02/09 3 years ago Persistent and flexible background jobs library.
scheduler 371 14 2015/02/03 11 months ago Cronjobs scheduling made easy.
go-cron 208 10 2011/04/15 1 year ago 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.
gronx 180 3 2021/04/21 2 months ago Cron expression parser, task runner and daemon consuming crontab like task list.
clockwerk 113 2 2017/04/09 2 years ago Go package to schedule periodic jobs using a simple, fluent syntax.
leprechaun 84 8 2018/04/08 1 month ago Job scheduler that supports webhooks, crons and classic scheduling.
tasks 65 3 2019/12/24 8 months ago An easy to use in-process scheduler for recurring tasks in Go.
sched 21 1 2021/06/19 5 months ago A job scheduler with the ability to fast-forward time.
cronticker 1 1 2020/11/28 11 months ago A ticker implementation to support cron schedules.
⬆ back to top

Logging

Libraries for generating and working with log files.

Go_repository Stars Watchers Created_at Latest_push Description
logrus 19472 314 2013/10/16 3 weeks ago Structured logger for Go.
zap 14391 249 2016/02/18 4 days ago Fast, structured, leveled logging in Go.
zerolog 5645 56 2017/05/12 2 days ago Zero-allocation JSON logger.
go-spew 4790 64 2013/01/09 1 year ago Implements a deep pretty printer for Go data structures to aid in debugging.
glog 3070 91 2013/07/16 4 months ago Leveled execution logs for Go.
lumberjack 2976 58 2014/06/14 3 months ago Simple rolling logger, implements io.WriteCloser.
tail 2235 103 2013/02/05 5 months ago Go package striving to emulate the features of the BSD tail program.
seelog 1571 92 2011/11/17 2 years ago Logging functionality with flexible dispatching, filtering, and formatting.
log 1189 35 2015/12/21 1 month ago Structured logging package for Go.
log15 1033 25 2014/05/20 1 month ago Simple, powerful logging for Go.
log 408 17 2019/07/07 3 weeks ago Structured Logging Made Easy.
onelog 400 9 2018/05/06 2 years ago Onelog is a dead simple but very efficient JSON logger. It is the fastest JSON logger out there in all scenarios. Also, it is one of the logger with the lowest allocation.
logxi 349 10 2015/03/01 1 year ago 12-factor app logger that is fast and makes you happy.
logutils 302 258 2013/10/09 1 month ago Utilities for slightly better logging in Go (Golang) extending the standard logger.
log 276 11 2016/02/07 2 years ago Simple, configurable and scalable Structured Logging for Go.
go-logger 271 7 2014/09/26 2 years ago Simple logger of Go Programs, with level handlers.
httpretty 244 6 2020/01/24 1 year ago Pretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest).
sqldb-logger 200 2 2019/11/02 6 months ago A logger for Go SQL database driver without modify existing *sql.DB stdlib usage.
rollingwriter 183 8 2017/02/12 4 days ago RollingWriter is an auto-rotate io.Writer implementation with multi policies to provide log file rotation.
logger 148 6 2014/09/30 3 weeks ago Minimalistic logging library for Go.
logur 144 7 2018/12/09 1 year ago An opinionated logger interface and collection of logging best practices with adapters and integrations for well-known libraries (logrus, go-kit log, zap, zerolog, etc).
xlog 135 8 2015/10/22 10 months ago Structured logger for net/context aware HTTP handlers with flexible dispatching.
glg 134 6 2017/06/21 4 months ago glg is simple and fast leveled logging library for Go.
ozzo-log 116 12 2015/10/22 11 months ago High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail).
logvoyage 89 5 2015/03/29 4 years ago Full-featured logging saas written in golang.
go-cronowriter 46 1 2017/02/04 9 months ago Simple writer that rotate log files automatically based on current date and time, like cronolog.
log 45 6 2014/04/19 6 years ago Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
gologger 39 6 2015/09/02 3 years ago Simple easy to use log lib for go, logs in Colored Console, Simple Console, File or Elasticsearch.
go-log 38 2 2014/05/02 3 years ago Log4j implementation in Go.
logex 38 9 2014/10/10 4 years ago Golang log lib, supports tracking and level, wrap by standard log lib.
noodlog 34 6 2021/04/09 2 months ago Parametrized JSON logging library which lets you obfuscate sensitive data and marshal any kind of content. No more printed pointers instead of values, nor escape chars for the JSON strings.
go-log 28 6 2014/05/18 2 years ago Log lib supports level and multi handlers.
journald 28 3 2017/08/23 9 months ago Go implementation of systemd Journal's native API for logging.
logrusly 27 5 2014/09/11 4 months ago logrus plug-in to send errors to a Loggly.
distillog 25 2 2015/10/12 3 years ago distilled levelled logging (think of it as stdlib + log levels).
log 24 2 2017/10/28 4 years ago Structured log interface for Go cleanly separates logging facade from its implementation.
mlog 24 1 2014/10/20 3 years ago Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
gomol 17 2 2015/08/30 2 years ago Multiple-output, structured logging for Go with extensible logging outputs.
zkits-logger 15 1 2020/03/31 2 weeks ago A powerful zero-dependency JSON logger.
glo 14 1 2019/01/19 2 years ago PHP Monolog inspired logging facility with identical severity levels.
logrusiowriter 13 91 2019/08/09 1 year ago io.Writer implementation using logrus logger.
go-log 11 2 2017/05/07 3 years ago Simple and configurable Logging in Go, with level, formatters and writers.
logmatic 11 2 2018/11/07 11 months ago Colorized logger for Golang with dynamic log level configuration.
log 9 2 2017/06/10 2 years ago An O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection).
logdump 9 2 2017/01/13 3 years ago Package for multi-level logging.
logo 9 2 2017/02/07 11 months ago Golang logger to different configurable writers.
go-log 8 3 2019/10/01 1 year ago A logging library with strack traces, object dumping and optional timestamps.
xlog 6 1 2016/05/05 2 years ago Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format.
kemba 5 1 2020/07/13 2 months ago A tiny debug logging tool inspired by debug, great for CLI tools and applications.
yell 0 2 2021/02/07 4 months ago Yet another minimalistic logging library.
⬆ back to top

Machine Learning

Libraries for Machine Learning.

Go_repository Stars Watchers Created_at Latest_push Description
golearn 8113 431 2013/12/26 2 months ago General Machine Learning library for Go.
gorse 5037 49 2018/08/14 3 hours ago An offline recommender system backend based on collaborative filtering written in Go.
gorgonia 4301 193 2016/09/14 1 month ago graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.
m2cgen 1962 44 2019/01/13 3 weeks ago A CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support.
tfgo 1854 60 2017/05/23 3 months ago 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.
gosseract 1622 47 2013/10/11 2 weeks ago Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
goml 1275 74 2015/06/27 1 month ago On-line Machine Learning in Go.
eaopt 762 30 2016/01/31 8 months ago An evolutionary optimization library.
bayesian 717 35 2011/11/23 1 year ago Naive Bayesian Classification for Golang.
CloudForest 697 43 2012/10/22 1 year ago Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.
gobrain 499 27 2014/04/29 1 year ago Neural Networks written in go.
ocrserver 445 15 2015/11/15 4 months ago A simple OCR API server, seriously easy to be deployed by Docker and Heroku.
onnx-go 357 12 2018/08/28 1 month ago Go Interface to Open Neural Network Exchange (ONNX).
go-deep 335 16 2017/12/09 1 week ago A feature-rich neural network library in Go.
regommend 296 16 2014/02/05 2 years ago Recommendation & collaborative filtering engine.
goptuna 194 9 2019/07/24 1 month ago Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.
go-galib 187 15 2009/11/30 6 years ago Genetic Algorithms library written in Go / golang.
goRecommend 178 10 2014/07/16 7 years ago Recommendation Algorithms library written in Go.
shield 144 11 2013/04/10 1 year ago Bayesian text classifier with flexible tokenizers and storage backends for Go.
goga 121 10 2015/10/20 4 years ago Genetic algorithm library for Go.
go-fann 104 9 2011/03/10 6 years ago Go bindings for Fast Artificial Neural Networks(FANN) library.
goscore 72 7 2017/08/19 2 years ago Go Scoring API for PMML.
gonet 70 5 2020/01/11 1 year ago Neural Network for Go.
libsvm 68 11 2012/07/31 5 years ago libsvm golang version derived work based on LIBSVM 3.14.
go-featureprocessing 67 1 2020/12/18 6 months ago Fast and convenient feature processing for low latency machine leraning in Go.
neural-go 61 3 2011/10/17 1 year ago Multilayer perceptron network implemented in Go, with training via backpropagation.
go-pr 59 7 2013/06/07 8 years ago Pattern recognition package in Go lang.
neat 59 13 2016/11/17 3 years ago Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
fonet 51 5 2017/10/03 6 months ago A Deep Neural Network library written in Go.
golinear 43 6 2013/04/05 3 years ago liblinear bindings for Go.
Varis 38 8 2017/10/10 3 years ago Golang Neural Network.
godist 31 4 2014/09/05 6 years ago Various probability distributions, and associated methods.
go-cluster 29 8 2017/10/04 3 years ago Go implementation of the k-modes and k-prototypes clustering algorithms.
gomind 19 4 2017/10/19 3 years ago A simplistic Neural Network Library in Go.
evoli 18 6 2015/06/12 1 month ago Genetic Algorithm and Particle Swarm Optimization library.
randomForest 17 4 2018/10/25 2 months ago Easy to use Random Forest library for Go.
ddt 16 1 2020/05/20 10 months ago Dynamic decision tree, create trees defining customizable rules.
probab 16 2 2015/09/14 6 years ago Probability distribution functions. Bayesian inference. Written in pure Go.
⬆ back to top

Messaging

Libraries that implement messaging systems.

Go_repository Stars Watchers Created_at Latest_push Description
sarama 7966 512 2013/07/05 1 day ago Go library for Apache Kafka.
gorush 5933 186 2016/03/22 7 hours ago Push notification server using APNs2 and google GCM.
machinery 5823 152 2015/04/05 1 week ago Asynchronous task queue/job queue based on distributed message passing.
centrifugo 5649 196 2015/03/31 1 week ago Real-time messaging (Websockets or SockJS) server in Go.
go-socket.io 4421 133 2013/07/13 1 week ago socket.io library for golang, a realtime application framework.
benthos 3704 90 2016/03/22 1 hour ago A message streaming bridge between a range of protocols.
nats.go 3690 163 2012/08/15 3 days ago Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library.
confluent-kafka-go 3047 270 2016/07/12 5 days ago confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform.
mercure 2608 54 2018/07/14 1 week ago Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).
apns2 2569 77 2016/01/05 2 months ago HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps.
melody 2303 61 2015/05/13 7 months ago Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.
go-nsq 2045 64 2013/08/29 2 weeks ago the official Go package for NSQ.
gopush-cluster 2016 231 2013/12/27 4 years ago gopush-cluster is a go push server cluster.
asynq 1961 39 2019/11/15 1 hour ago A simple, reliable, and efficient distributed task queue for Go built on top of Redis.
uniqush-push 1295 79 2011/08/29 1 year ago Redis backed unified push service for server-side notifications to mobile devices.
Beaver 1289 29 2018/10/20 3 days ago A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
EventBus 1041 28 2014/12/19 6 months ago The lightweight event bus with async compatibility.
zmq4 946 43 2013/10/18 2 months ago Go interface to ZeroMQ version 4. Also available for version 3 and version 2.
gollum 907 38 2015/06/20 5 months ago A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.
chanify 693 6 2021/02/25 2 months ago A push notification server send message to your iOS devices.
dbus 651 21 2014/03/27 4 days ago Native Go bindings for D-Bus.
golongpoll 586 21 2015/11/02 7 months ago HTTP longpoll server library that makes web pub-sub simple.
mangos 466 21 2018/10/12 3 days ago Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability.
emitter 413 10 2015/11/10 1 year ago Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
glue 390 17 2015/06/07 1 year ago Robust Go and Javascript Socket Library (Alternative to Socket.io).
pubsub 363 9 2012/04/01 1 year ago Simple pubsub package for go.
bus 237 3 2019/04/27 7 months ago Minimalist message bus implementation for internal communication.
message-bus 202 8 2017/10/04 11 months ago messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
rabtap 198 8 2017/11/11 5 days ago RabbitMQ swiss army knife cli app.
amqp091-go 166 21 2021/06/09 1 week ago Go RabbitMQ Client Library.
guble 149 13 2015/11/15 4 years ago 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.
hub 111 2 2018/04/13 1 year ago A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
oplog 110 92 2014/11/06 6 years ago Generic oplog/replication system for REST APIs.
rabbus 92 8 2017/05/07 2 years ago A tiny wrapper over amqp exchanges and queues.
drone-line 76 5 2016/09/13 6 months ago Sending Line notifications using a binary, docker or Drone CI.
go-mq 73 6 2017/06/19 2 weeks ago RabbitMQ client with declarative configuration.
nsq-event-bus 70 8 2017/01/15 3 years ago A tiny wrapper around NSQ topic and channel.
redisqueue 69 3 2019/07/07 5 months ago redisqueue provides a producer and consumer of a queue that uses Redis streams.
RapidMQ 63 5 2016/10/04 4 years ago RapidMQ is a lightweight and reliable library for managing of the local messages queue.
commander 57 1 2018/04/20 7 months ago A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
go-notify 57 2 2015/03/01 1 year ago Native implementation of the freedesktop notification spec.
go-res 53 2 2018/07/15 3 months ago Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate.
event 43 4 2017/07/02 3 years ago Implementation of the pattern observer.
hare 32 2 2020/12/01 4 months ago A user friendly library for sending messages and listening to TCP sockets.
ami 21 1 2018/10/27 1 year ago Go client to reliable queues based on Redis Cluster Streams.
gosd 18 1 2020/05/17 1 year ago A library for scheduling when to dispatch a message to a channel.
go-vitotrol 16 7 2016/11/03 10 months ago Client library to Viessmann Vitotrol web service.
rmqconn 15 1 2019/01/14 1 year ago 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.
jazz 13 4 2018/10/22 2 years ago A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
gaurun-client 9 1 2017/06/29 4 months ago Gaurun Client written in Go.
⬆ back to top

Microsoft Office

Go_repository Stars Watchers Created_at Latest_push Description
unioffice 3111 74 2017/08/29 1 month ago Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.
⬆ back to top

Microsoft Excel

Libraries for working with Microsoft Excel.

Go_repository Stars Watchers Created_at Latest_push Description
excelize 10288 207 2016/08/29 11 hours ago Golang library for reading and writing Microsoft Excel™ (XLSX) files.
xlsx 5190 171 2011/06/28 2 days ago Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.
xlsx 146 13 2017/08/26 1 year ago Fast and safe way to read/update your existing Microsoft Excel files in Go programs.
go-excel 131 3 2017/09/03 1 week ago A simple and light reader to read a relate-db-like excel as a table.
goxlsxwriter 17 2 2017/03/13 3 years ago Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files.
⬆ back to top

Miscellaneous

⬆ back to top

Dependency Injection

Libraries for working with dependency injection.

Go_repository Stars Watchers Created_at Latest_push Description
fx 2382 65 2016/10/27 1 week ago A dependency injection based application framework for Go (built on top of dig).
dig 2255 49 2017/03/21 1 week ago A reflection based dependency injection toolkit for Go.
container 280 5 2019/09/23 2 weeks ago A powerful IoC Container with fluent and easy-to-use interface.
di 125 5 2020/06/11 4 months ago Spring-inspired Dependency Injection Container.
dingo 117 26 2018/10/29 7 months ago A dependency injection toolkit for Go, based on Guice.
di 109 8 2020/02/03 2 weeks ago A dependency injection container for go programming language.
alice 43 2 2017/04/08 4 years ago Additive dependency injection container for Golang.
wire 35 2 2018/07/05 3 months ago Strict Runtime Dependency Injection for Golang.
linker 32 4 2018/12/04 1 year ago A reflection based dependency injection and inversion of control library with components lifecycle support.
gocontainer 14 0 2019/06/06 1 year ago Simple Dependency Injection Container.
kinit 5 3 2021/01/24 6 months ago Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization.
nject 5 1 2021/09/15 1 month ago A type safe, reflective framework for libraries, tests, and http endpoints, and service startup.
di 3 1 2021/10/13 2 weeks ago DI container library that is focused on clean API and flexibility.
⬆ back to top

Project Layout

Go_repository Stars Watchers Created_at Latest_push Description
project-layout 28285 553 2017/09/09 4 days ago Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see this issue for more information. Nonetheless, some may find the layout useful.
service 2076 95 2017/11/20 1 week ago A starter kit for building production grade scalable web service applications.
modern-go-application 1110 26 2018/09/14 3 weeks ago Go application boilerplate and example applying modern practices.
cookiecutter-golang 486 10 2016/12/18 10 months ago A Go application boilerplate template for quick starting projects following production best practices.
seed 231 5 2020/04/30 3 months ago Go application GitHub repository template.
go-todo-backend 108 4 2020/06/25 2 months ago Go Todo Backend example using modular project layout for product microservice.
go-starter 104 11 2020/05/08 2 days ago An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers.
scaffold 101 5 2018/12/11 2 years ago Scaffold generates a starter Go project layout. Lets you focus on business logic implemented.
go-sample 95 1 2019/01/24 2 years ago A sample layout for Go application projects with the real code.
gobase 16 3 2020/12/15 2 months ago A simple skeleton for golang application with basic setup for real golang application.
go-project-layout 11 2 2019/10/06 7 months ago Set of practices and discussions on how to structure Go project layout.
inizio 9 1 2021/03/02 7 months ago Golang project layout generator with plugins.
⬆ back to top

Strings

Libraries for working with strings.

Go_repository Stars Watchers Created_at Latest_push Description
xstrings 952 25 2015/01/06 11 months ago Collection of useful string functions ported from other languages.
sttr 264 4 2021/09/18 2 hours ago cross-platform, cli app to perform various operations on string.
strutil 143 4 2018/08/16 1 month ago String utilities.
stringy 95 4 2020/04/03 1 month ago String manipulation library to convert string to camel case, snake case, kebab case / slugify etc.
bexp 3 1 2020/12/15 2 months ago Go implementation of Brace Expansion mechanism to generate arbitrary strings.
⬆ back to top

Uncategorized

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

Go_repository Stars Watchers Created_at Latest_push Description
gopsutil 7118 207 2014/04/18 6 hours ago Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
archiver 3373 52 2016/04/08 3 weeks ago Library and command for making and extracting .zip and .tar.gz archives.
gofakeit 2193 17 2015/04/24 1 day ago Random data generator written in go.
gatus 2044 20 2019/09/04 4 days ago Automated service health dashboard.
gosms 1358 57 2015/01/23 10 months ago Your own local SMS gateway in Go that can be used to send SMS.
go-resiliency 1292 26 2014/11/29 3 months ago Resiliency patterns for golang.
base64Captcha 1289 48 2017/12/12 1 week ago Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.
go-commons-pool 1000 49 2015/12/28 7 months ago Generic object pool for Golang.
llvm 826 33 2014/09/19 5 days ago Library for interacting with LLVM IR in pure Go.
shortid 725 10 2016/01/04 1 year ago Distributed generation of super short, unique, non-sequential, URL friendly IDs.
health 466 5 2021/07/02 1 week ago A simple and flexible health check library for Go.
health 425 6 2016/03/08 2 years ago Easy to use, extensible health check library.
stateless 386 8 2019/09/11 2 months ago A fluent library for creating state machines.
go-conv 373 8 2016/10/11 3 months ago Package conv provides fast and intuitive conversions across Go types.
banner 371 6 2016/03/25 11 months ago Add beautiful banners into your Go applications.
gountries 331 11 2016/01/13 2 weeks ago Package that exposes country and subdivision data.
shoutrrr 273 8 2019/04/11 2 days ago Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others.
ffmt 247 7 2015/02/14 1 month ago Beautify data display for Humans.
lk 228 7 2016/07/14 1 year ago A simple licensing library for golang.
antch 223 16 2017/09/28 1 year ago A fast, powerful and extensible web crawling & scraping framework.
healthcheck 208 10 2017/08/18 6 months ago An opinionated and concurrent health-check HTTP handler for RESTful services.
battery 195 5 2016/03/12 2 months ago Cross-platform, normalized battery information library.
bitio 173 8 2016/05/31 1 week ago Highly optimized bit-level Reader and Writer for Go.
go-unarr 157 6 2015/11/01 2 months ago Decompression library for RAR, TAR, ZIP and 7z archives.
stats 157 3 2015/09/14 5 years ago Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
turtle 128 2 2017/09/08 2 months ago Emojis for Go.
gommit 95 4 2016/08/30 3 days ago Analyze git commit messages to ensure they follow defined patterns.
gotoprom 92 94 2018/10/10 1 year ago Type-safe metrics builder wrapper library for the official Prometheus client.
indigo 91 1 2016/08/31 10 months ago Distributed unique ID generator of using Sonyflake and encoded by Base58.
captcha 87 5 2017/09/12 2 months ago Package captcha provides an easy to use, unopinionated API for captcha generation.
morse 70 2 2018/08/15 3 months ago Library to convert to and from morse code.
persian 61 6 2017/10/16 6 months ago Some utilities for Persian language in go.
pdfgen 55 4 2015/11/30 3 years ago HTTP service to generate PDF from Json requests.
xkg 52 2 2015/01/05 7 years ago X Keyboard Grabber.
faker 51 4 2020/07/22 2 months ago Random fake data and struct generator for Go.
browscap_go 39 6 2014/09/18 3 months ago GoLang Library for Browser Capabilities Project.
datacounter 37 1 2015/10/14 1 year ago Go counters for readers/writer/http.ResponseWriter.
autoflags 36 5 2014/05/15 7 months ago Go package to automatically define command line flags from struct fields.
sandid 33 1 2018/06/12 1 month ago Every grain of sand on earth has its own ID.
url-shortener 33 1 2018/06/04 3 years ago A modern, powerful, and robust URL shortener microservice with mysql support.
gosh 28 0 2018/05/25 11 months ago Provide Go Statistics Handler, Struct, Measure Method.
xdg 27 3 2013/12/15 5 months ago FreeDesktop.org (xdg) Specs implemented in Go.
metrics 22 1 2019/01/29 9 months ago Library for metrics instrumentation and Prometheus exposition.
gtree 20 2 2021/05/30 1 week ago Provide CLI and Package to generate tree from Markdown or programmatically, and the output is JSON/YAML/TOML/tree command.
shellwords 16 1 2017/09/28 4 years ago A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.
anagent 13 3 2017/12/29 3 years ago Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
avgRating 11 2 2017/08/05 4 years ago Calculate average score and rating based on Wilson Score Equation.
hostutils 10 1 2017/09/26 2 years ago A golang library for packing and unpacking FQDNs list.
numa 6 4 2018/12/10 1 year ago NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.
go-commandbus 3 22 2019/10/03 1 year ago A slight and pluggable command-bus for Go.
varint 2 1 2021/11/30 4 days ago A faster varying length integer encoder/decoder than the one provided in the standard library.
basexx 1 1 2019/06/08 2 months ago Convert to, from, and between digit strings in various number bases.
⬆ back to top

Natural Language Processing

Libraries for working with human languages.

Go_repository Stars Watchers Created_at Latest_push Description
prose 2840 60 2017/02/17 2 months ago Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
gojieba 1738 68 2015/09/12 6 months ago This is a Go implementation of jieba which a Chinese word splitting algorithm.
gse 1695 60 2017/06/23 1 week ago Go efficient text segmentation; support english, chinese, japanese and other.
when 1135 25 2016/12/27 6 days ago Natural EN and RU language date/time parser with pluggable rules.
spago 1058 31 2020/01/05 1 week ago Self-contained Machine Learning and Natural Language Processing library in Go.
go-pinyin 1050 38 2014/11/09 1 week ago CN Hanzi to Hanyu Pinyin converter.
kagome 594 22 2014/06/26 3 weeks ago JP morphological analyzer written in pure Go.
whatlanggo 515 15 2017/02/20 11 months ago Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
nlp 376 23 2017/01/25 4 years ago Extract values from strings and fill your structs with nlp.
nlp 349 25 2017/03/15 7 months ago Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
sentences 315 14 2015/08/07 6 months ago Sentence tokenizer: converts text into a list of sentences.
getlang 126 4 2018/03/01 11 months ago Fast natural language detection package.
go-nlp 89 7 2011/05/02 10 years ago Utilities for working with discrete probability distributions and other tools useful for doing NLP work.
go-unidecode 89 2 2016/07/08 7 months ago ASCII transliterations of Unicode text.
RAKE.Go 85 7 2016/12/17 1 year ago Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
gounidecode 73 5 2012/05/01 6 years ago Unicode transliterator (also known as unidecode) for Go.
textcat 65 7 2012/09/21 10 months ago Go package for n-gram based text categorization, with support for utf-8 and raw text.
go-stem 64 4 2011/09/23 3 years ago Implementation of the porter stemming algorithm.
MMSEGO 59 5 2012/04/18 9 years ago This is a GO implementation of MMSEG which a Chinese word splitting algorithm.
stemmer 50 4 2011/03/21 5 years ago Stemmer packages for Go programming language. Includes English and German stemmers.
address 42 3 2020/10/07 1 month ago Handles address representation, validation and formatting.
go2vec 42 7 2015/01/27 3 years ago Reader and utility functions for word2vec embeddings.
porter2 41 3 2015/01/21 1 year ago Really fast Porter 2 stemmer.
petrovich 35 2 2016/12/26 9 months ago Petrovich is the library which inflects Russian names to given grammatical case.
go-localize 29 2 2019/12/23 1 month ago Simple and easy to use i18n (Internationalization and localization) engine - used for translating locale strings.
snowball 28 1 2012/12/11 4 years ago Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.
mystem 27 3 2016/08/30 5 years ago CGo bindings to Yandex.Mystem - russian morphology analyzer.
paicehusk 27 3 2012/09/29 8 years ago Golang implementation of the Paice/Husk Stemming Algorithm.
iuliia-go 26 2 2020/04/27 6 months ago Transliterate Cyrillic → Latin in every possible way.
golibstemmer 19 2 2012/08/06 7 years ago Go bindings for the snowball libstemmer library including porter 2.
icu 19 0 2012/12/11 4 years ago Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1.
govader 18 1 2020/01/19 9 months ago Go implementation of VADER Sentiment Analysis.
transliterator 16 1 2020/04/17 1 year ago Provides one-way string transliteration with supporting of language-specific transliteration rules.
gotokenizer 13 1 2018/10/11 2 years ago A tokenizer based on the dictionary and Bigram language models for Go. (Now only support chinese segmentation)
shamoji 12 2 2017/07/23 11 months ago The shamoji is word filtering package written in Go.
detectlanguage-go 10 2 2019/12/14 1 year ago Language Detection API Go Client. Supports batch requests, short phrase or single word language detection.
libtextcat 10 2 2012/12/10 9 years ago Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
porter 8 1 2013/09/17 8 years ago This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.
gosentiwordnet 7 1 2020/04/21 9 months ago Sentiment analyzer using sentiwordnet lexicon in Go.
t 7 2 2021/06/04 1 month ago Another i18n pkg for golang, which follows GNU gettext style and supports .po/.mo files: t.T (gettext), t.N (ngettext), etc. And it contains a cmd tool xtemplate, which can extract messages as a pot file from text/html template.
⬆ back to top

Networking

Libraries for working with various layers of the network.

Go_repository Stars Watchers Created_at Latest_push Description
fasthttp 16604 399 2015/10/18 1 day ago Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.
kcptun 12714 593 2016/02/26 2 weeks ago Extremely simple & fast udp tunnel based on KCP protocol.
webrtc 8401 246 2018/05/18 1 day ago A pure Go implementation of the WebRTC API.
quic-go 6088 203 2016/04/06 3 days ago An implementation of the QUIC protocol in pure Go.
dns 5947 176 2010/08/03 1 day ago Go library for working with DNS.
gnet 5739 152 2019/02/24 3 days ago gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
gopacket 4548 140 2015/03/16 1 week ago Go library for packet processing with libpcap bindings.
httplab 3752 63 2017/02/08 2 years ago HTTPLabs let you inspect HTTP requests and forge responses.
kcp-go 3177 151 2015/06/16 1 month ago KCP - Fast and Reliable ARQ Protocol.
gobgp 2359 119 2014/09/14 1 day ago BGP implemented in the Go Programming Language.
ssh 2254 55 2016/10/03 3 weeks ago Higher-level API for building SSH servers (wraps crypto/ssh).
fortio 2199 46 2017/10/10 2 days ago 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.
water 1343 46 2013/03/25 8 months ago Simple TUN/TAP library.
gev 1308 40 2019/09/01 2 weeks ago gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.
go-getter 1269 252 2015/10/12 2 weeks ago Go library for downloading files or directories from various sources using a URL.
nff-go 1138 79 2017/03/29 3 months ago Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
sftp 1075 54 2013/11/05 6 hours ago Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt.
grab 953 17 2016/01/05 1 week ago Go package for managing file downloads.
ftp 867 26 2011/05/06 3 weeks ago Package ftp implements a FTP client as described in RFC 959.
mdns 832 254 2014/01/29 1 month ago Simple mDNS (Multicast DNS) client/server library in Golang.
gosnmp 782 48 2012/08/27 1 month ago Native Go library for performing SNMP actions.
vssh 757 20 2020/06/09 1 year ago Go library for building network and server automation over SSH protocol.
cidranger 652 17 2017/08/21 1 month ago Fast IP to CIDR lookup for Go.
lhttp 640 59 2015/12/29 3 years ago Powerful websocket framework, build your IM server more easily.
gmqtt 529 27 2018/09/16 1 day ago Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
peerdiscovery 517 19 2018/04/22 2 months ago Pure Go library for cross-platform local peer discovery using UDP multicast.
gotcp 486 39 2014/04/13 4 years ago Go package for quickly writing tcp applications.
stun 474 21 2016/04/24 7 months ago Go implementation of RFC 5389 STUN protocol.
go-stun 463 15 2013/08/17 8 months ago Go implementation of the STUN client (RFC 3489 and RFC 5389).
gopcap 436 23 2009/11/19 7 months ago Go wrapper for libpcap.
nbio 420 13 2020/01/25 1 week ago Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
raw 412 13 2015/07/06 3 weeks ago Package raw enables reading and writing data at the device driver level for a network interface.
gaio 407 17 2019/12/20 3 months ago High performance async-io networking for Golang in proactor mode.
tcp_server 401 19 2014/10/13 1 month ago Go library for building tcp servers faster.
winrm 341 18 2013/12/30 1 month ago Go WinRM client to remotely execute commands on Windows machines.
ftpserverlib 275 12 2016/09/25 3 weeks ago Fully featured FTP server library.
arp 266 10 2015/07/06 2 years ago Package arp implements the ARP protocol, as described in RFC 826.
buffstreams 247 14 2015/06/29 1 year ago Streaming protocolbuffer data over TCP made easy.
ethernet 234 12 2015/07/03 2 years ago Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
easytcp 210 1 2021/04/26 1 week ago A light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.
gnxi 199 32 2017/09/26 2 hours ago A collection of tools for Network Management that use the gNMI and gNOI protocols.
jazigo 172 14 2016/06/07 2 years ago Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
utp 161 19 2015/03/20 10 months ago Go uTP micro transport protocol implementation.
canopus 147 14 2015/02/24 3 years ago CoAP Client/Server implementation (RFC 7252).
sslb 133 9 2015/10/18 2 years ago It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.
xtcp 130 14 2016/03/31 1 year ago TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.
dnsmonster 117 8 2020/02/09 1 day ago Passive DNS Capture/Monitoring Framework.
dhcp6 71 4 2015/05/22 2 years ago Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.
ether 71 4 2014/05/21 5 years ago Cross-platform Go package for sending and receiving ethernet frames.
packet 60 5 2017/10/29 2 years ago Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
linkio 49 2 2014/12/24 4 years ago Network link speed simulation for Reader/Writer interfaces.
go-powerdns 46 4 2018/06/21 1 month ago PowerDNS API bindings for Golang.
portproxy 46 0 2014/12/13 7 years ago Simple TCP proxy which adds CORS support to API's which don't support it.
panoptes-stream 29 8 2020/10/09 9 months ago A cloud native distributed streaming network telemetry (gNMI, Juniper JTI and Cisco MDT).
graval 27 8 2014/04/22 1 year ago Experimental FTP server framework.
publicip 24 4 2016/12/28 5 years ago Package publicip returns your public facing IPv4 address (internet egress).
golibwireshark 21 2 2015/11/16 4 years ago Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data.
gohooks 14 1 2020/10/30 5 months ago GoHooks make it easy to send and consume secured web-hooks from a Go application. Inspired by Spatie's Laravel Webhook Client and Server.
goshark 14 1 2015/11/01 4 years ago Package goshark use tshark to decode IP packet and create data struct to analyse packet.
llb 11 1 2016/02/21 5 years ago 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.
httpproxy 10 2 2018/07/18 1 month ago HTTP proxy handler and dialer.
tspool 10 1 2018/10/27 3 years ago A TCP Library use worker pool to improve performance and protect your server.
⬆ back to top

HTTP Clients

Libraries for making HTTP requests.

Go_repository Stars Watchers Created_at Latest_push Description
resty 5366 90 2015/08/28 1 week ago Simple HTTP and REST client for Go inspired by Ruby rest-client.
heimdall 2132 52 2018/01/19 2 months ago An enhanced http client with retry and hystrix capabilities.
grequests 1843 35 2015/06/11 1 year ago A Go "clone" of the great and famous Requests library.
sling 1396 29 2015/04/02 1 month ago Sling is a Go HTTP client library for creating and sending API requests.
gentleman 926 20 2016/02/21 10 months ago Full-featured plugin-driven HTTP client library.
pester 565 6 2015/05/20 1 year ago Go HTTP client calls with retries, backoff, and concurrency.
request 154 10 2020/03/25 2 months ago HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.
requests 117 6 2021/05/20 18 hours ago HTTP requests for Gophers. Uses context.Context and doesn't hide the underlying net/http.Client, making it compatible with standard Go APIs. Also includes testing tools.
rq 38 3 2017/12/26 2 years ago A nicer interface for golang stdlib HTTP client.
go-http-client 31 2 2019/12/14 7 months ago Make http calls simply and easily.
httpretry 14 2 2020/02/05 1 year ago Enriches the default go HTTP client with retry functionality.
go-req 12 1 2021/07/11 3 months ago Declarative golang HTTP client.
httpc 2 1 2021/08/11 3 weeks ago A customizable and simple HTTP client library. Only depend on the stdlib HTTP client.
⬆ back to top

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

Go_repository Stars Watchers Created_at Latest_push Description
beego 27407 1234 2012/02/29 30 minutes ago Powerful orm framework for go. Support: pq/mysql/sqlite3.
gorm 26205 496 2013/10/25 1 day ago The fantastic ORM library for Golang, aims to be developer friendly.
ent 9447 137 2019/06/12 1 day ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.
pg 4922 87 2013/04/24 2 days ago PostgreSQL ORM with focus on PostgreSQL specific features and performance.
sqlboiler 4498 80 2016/02/21 3 days ago ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.
gorp 3534 111 2012/01/04 9 months ago Go Relational Persistence, ORM-ish library for Go.
db 2832 63 2013/10/23 6 days ago Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.
gormt 1593 20 2019/05/05 1 week ago Mysql database to golang gorm struct.
reform 1211 23 2016/02/25 1 week ago Better ORM for Go, based on non-empty interfaces and code generation.
pop 1147 25 2018/02/07 3 days ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.
prisma-client-go 1076 22 2019/09/24 3 days ago Prisma Client Go, Typesafe database access for Go.
go-sqlbuilder 678 13 2017/12/27 5 days ago A flexible and powerful SQL string builder library plus a zero-config ORM.
go-queryset 645 24 2017/09/03 5 months ago 100% type-safe ORM with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support based on GORM.
rel 459 10 2019/10/06 1 month ago Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API.
zoom 283 20 2013/07/17 1 year ago Blazing-fast datastore and querying engine built on Redis.
grimoire 156 6 2018/03/05 1 month ago Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
gosql 149 7 2020/04/27 6 months ago A easy ORM for mysql.
go-store 106 9 2015/03/22 4 years ago Simple and fast Redis backed key-value store library for Go.
go-firestorm 26 1 2018/12/04 5 days ago A simple ORM for Google/Firebase Cloud Firestore.
cacheme-go 17 1 2021/10/03 1 day ago Schema based, typed Redis caching/memoize framework for Go.
lore 10 1 2017/04/29 4 years ago Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.
marlow 9 3 2020/08/11 1 year ago Generated ORM from project structs for compile time safety assurances.
⬆ back to top

OpenGL

Libraries for using OpenGL in Go.

Go_repository Stars Watchers Created_at Latest_push Description
glfw 1192 38 2013/05/19 6 days ago Go bindings for GLFW 3.
gl 853 40 2015/02/22 1 week ago Go bindings for OpenGL (generated via glow).
mathgl 401 28 2013/02/13 1 year ago Pure Go math package specialized for 3D math, with inspiration from GLM.
gl 154 15 2015/05/18 11 months ago Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).
glfw 71 7 2014/12/27 1 year ago Go cross-platform glfw library for creating an OpenGL context and receiving events.
go-glmatrix 2 1 2020/07/02 10 months ago Go port of glMatrix library.
⬆ back to top

Package Management

Unofficial libraries for package and dependency management.

Go_repository Stars Watchers Created_at Latest_push Description
dep 13106 260 2016/10/07 1 year ago Go dependency tool.
glide 8143 189 2014/07/09 10 months ago Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
godep 5609 149 2013/05/01 3 years ago dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
govendor 4989 97 2015/04/12 1 year ago Go Package Manager. Go vendor tool that works with the standard vendor file.
gopm 2493 86 2013/05/15 2 years ago Go Package Manager.
gom 1398 35 2013/09/11 2 years ago Go Manager - bundle for go.
gpm 1199 32 2013/09/05 4 years ago Barebones dependency manager for Go.
goop 780 36 2014/06/18 6 years ago Simple dependency manager for Go (golang), inspired by Bundler.
modgv 398 7 2020/09/12 1 year ago Converts 'go mod graph' output into Graphviz's DOT language.
nut 239 6 2015/01/23 6 years ago Vendor Go dependencies.
johnny-deps 213 21 2013/07/19 1 year ago Minimal dependency version using Git.
mvn-golang 132 11 2016/03/24 3 days ago plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
VenGO 120 9 2014/10/17 5 years ago create and manage exportable isolated go virtual environments.
gop 48 8 2017/02/18 2 years ago Build and manage your Go applications out of GOPATH.
⬆ back to top

Performance

Go_repository Stars Watchers Created_at Latest_push Description
jaeger 14813 345 2016/04/15 7 hours ago A distributed tracing system.
pixie 2643 61 2020/02/27 1 hour ago No instrumentation tracing for Golang applications via eBPF.
statsviz 1744 21 2020/08/14 6 days ago Live visualization of your Go application runtime statistics.
profile 1634 40 2014/10/22 1 month ago Simple profiling support package for Go.
tracer 61 4 2019/06/22 9 months ago Simple, lightweight tracing.
⬆ back to top

Query Language

Go_repository Stars Watchers Created_at Latest_push Description
graphql 8176 152 2015/07/19 1 month ago Implementation of GraphQL for Go.
gqlgen 6882 151 2018/02/11 1 day ago go generate based graphql server library.
graphql-go 3998 89 2016/10/18 2 days ago GraphQL server with a focus on ease of use.
gojsonq 1790 33 2018/05/19 4 months ago A simple Go package to Query over JSON Data.
dasel 1723 10 2020/09/22 2 days ago Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.
jsonql 248 11 2015/12/29 1 year ago JSON query expression library in Golang.
rql 241 10 2018/06/05 2 weeks ago Resource Query Language for REST API.
jsonslice 57 0 2018/05/02 3 weeks ago Jsonpath queries with advanced filters.
graphql 54 11 2015/04/18 4 years ago graphql parser + utilities.
api-fu 37 2 2019/07/30 2 months ago Comprehensive GraphQL implementation.
straf 32 1 2019/08/16 1 year ago Easily Convert Golang structs to GraphQL objects.
rest-query-parser 29 2 2020/02/10 3 weeks ago Query Parser for REST API. Filtering, validations, both AND, OR operations are supported directly in the query.
jsonpath 8 2 2020/11/29 1 month ago A query library for retrieving part of JSON based on JSONPath syntax.
gws 4 1 2020/06/08 1 year ago Apollos' "GraphQL over Websocket" client and server implementation.
⬆ back to top

Resource Embedding

Go_repository Stars Watchers Created_at Latest_push Description
statik 3348 51 2014/02/04 1 year ago Embeds static files into a Go executable.
packr 3332 48 2017/03/15 2 weeks ago The simple and easy way to embed static files into Go binaries.
go.rice 2265 55 2013/10/23 2 months ago go.rice is a Go package that makes working with resources such as HTML, JS, CSS, images, and templates very easy.
vfsgen 935 20 2015/05/18 1 year ago Generates a vfsdata.go file that statically implements the given virtual filesystem.
esc 605 15 2014/01/26 2 years ago Embeds files into Go programs and provides http.FileSystem interfaces to them.
fileb0x 602 18 2016/01/23 10 months ago Simple tool to embed files in go with focus on "customization" and ease to use.
go-resources 173 9 2015/02/21 6 months ago Unfancy resources embedding with Go.
statics 64 3 2015/10/07 5 years ago Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks.
templify 26 3 2016/05/22 4 months ago Embed external template files into Go code to create single file binaries.
rebed 19 1 2021/02/17 8 months ago Recreate folder structures and files from Go 1.16's `embed.
debme 11 1 2021/04/16 6 months ago Create an embed.FS from an existing embed.FS subdirectory.
mule 9 2 2020/01/17 4 months ago Embed external resources like images, movies ... into Go source code to create single file binaries using go generate. Focussed on simplicity.
⬆ back to top

Science and Data Analysis

Libraries for scientific computing and data analyzing.

Go_repository Stars Watchers Created_at Latest_push Description
gonum 5385 114 2017/03/25 2 days ago Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.
stats 2196 50 2014/12/16 1 month ago Statistics package with common functions missing from the Golang standard library.
plot 2059 57 2013/07/23 2 months ago gonum/plot provides an API for building and drawing plots in Go.
gosl 1629 72 2015/02/09 1 month ago Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.
streamtools 1316 70 2013/07/05 6 years ago general purpose, graphical tool for dealing with streams of data.
go-dsp 759 29 2011/11/02 3 years ago Digital Signal Processing for Go.
chart 706 44 2011/06/27 6 months ago Simple Chart Plotting library for Go. Supports many graphs types.
dataframe-go 696 32 2018/10/01 1 month ago Dataframes for machine-learning and statistics (similar to pandas).
goraph 650 39 2014/02/27 4 years ago Pure Go graph theory library(data structure, algorithm visualization).
graph 506 21 2017/04/27 2 months ago Library of basic graph algorithms.
orb 449 24 2016/03/28 1 month ago 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.
ewma 342 24 2013/07/05 4 months ago Exponentially-weighted moving averages.
calendarheatmap 330 9 2020/07/01 2 months ago Calendar heatmap in plain Go inspired by Github contribution activity.
gohistogram 158 17 2013/07/02 1 year ago Approximate histograms for data streams.
TextRank 145 8 2018/01/09 5 months ago TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.
sparse 122 8 2017/05/16 4 months ago Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.
go-estimate 87 4 2018/11/04 4 months ago State estimation and filtering algorithms in Go.
pagerank 72 8 2015/08/06 6 months ago Weighted PageRank algorithm implemented in Go.
jsonl-graph 53 2 2021/06/26 4 weeks ago Tool to manipulate JSONL graphs with graphviz support.
geom 48 5 2011/06/07 4 years ago 2D geometry for golang.
evaler 45 5 2012/09/04 3 years ago Simple floating point arithmetic expression evaluator.
goent 25 1 2017/08/08 2 years ago GO Implementation of Entropy Measures.
decimal 23 4 2020/05/27 1 year ago Package decimal implements arbitrary-precision decimal floating-point arithmetic.
triangolatte 23 2 2018/07/18 4 months ago 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.
piecewiselinear 20 4 2018/10/21 1 year ago Tiny linear interpolation library.
godesim 17 1 2020/12/16 3 weeks ago Extended/multivariable ODE solver framework for event-based simulations with simple API.
GoStats 17 3 2018/07/22 2 years ago GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.
PiHex 14 3 2016/07/22 1 year ago Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.
ode 13 5 2016/11/11 4 years ago Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
rootfinding 6 5 2018/10/30 1 year ago root-finding algorithms library for finding roots of quadratic functions.
assocentity 5 2 2018/12/21 1 year ago Package assocentity returns the average distance from words to a given entity.
go-gt 5 0 2015/09/14 6 years ago Graph theory algorithms written in "Go" language.
bradleyterry 4 2 2019/04/30 2 years ago Provides a Bradley-Terry Model for pairwise comparisons.
⬆ back to top

Security

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

Go_repository Stars Watchers Created_at Latest_push Description
age 9420 114 2019/05/18 23 hours ago A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
lego 4979 95 2015/06/08 15 hours ago Pure Go ACME client library and CLI tool (for use with Let's Encrypt).
certmagic 3864 53 2018/12/10 3 days ago Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal.
cameradar 2775 129 2016/05/20 1 month ago Tool and library to remotely hack RTSP streams from surveillance cameras.
memguard 2036 49 2017/04/22 9 months ago A pure Go library for handling sensitive values in memory.
acmetool 1882 63 2015/11/15 8 months ago ACME (Let's Encrypt) client tool with automatic renewal.
secure 1855 36 2014/05/20 1 month ago HTTP middleware for Go that facilitates some quick security wins.
themis 1391 42 2015/05/06 1 day ago high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps.
acra 889 41 2016/11/14 3 days ago Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.
nacl 517 13 2017/07/20 8 months ago Go implementation of the NaCL set of API's.
ssh-vault 329 10 2016/09/29 5 months ago encrypt/decrypt using ssh keys.
firewalld-rest 312 10 2020/06/12 1 year ago A rest application to dynamically update firewalld rules on a linux server.
go-password-validator 309 9 2020/10/14 2 days ago Password validator based on raw cryptographic entropy values.
badactor 304 8 2014/12/12 1 year ago In-memory, application-driven jailer built in the spirit of fail2ban.
optimus-go 292 5 2015/05/05 1 year ago ID hashing and Obfuscation using Knuth's Algorithm.
passlib 257 11 2014/12/21 9 months ago Futureproof password hashing library.
go-yara 239 20 2015/01/25 1 month ago Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)".
simple-scrypt 173 7 2015/04/14 8 months ago Scrypt package with a simple, obvious API and automatic cost calibration built-in.
argon2pw 88 4 2018/03/13 3 months ago Argon2 password hash generation with constant-time password comparison.
dongle 66 1 2021/08/11 3 months ago A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption.
goSecretBoxPassword 44 2 2017/10/19 1 year ago A probably paranoid package for securely hashing and encrypting passwords.
go-generate-password 29 2 2019/11/14 4 months ago Password generator that can be used on the cli or as a library.
secureio 22 3 2018/12/25 1 year ago An keyexchanging+authenticating+encrypting wrapper and multiplexer for io.ReadWriteCloser based on XChaCha20-poly1305, ECDH and ED25519.
certificates 21 0 2019/03/04 1 year ago An opinionated tool for generating tls certificates.
go-htpasswd 18 1 2015/06/18 1 month ago Apache htpasswd Parser for Go.
argon2-hashing 14 2 2019/01/02 1 year ago light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package.
goArgonPass 13 2 2018/05/30 1 year ago Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.
sslmgr 11 2 2019/04/02 2 years ago SSL certificates made easy with a high level wrapper around acme/autocert.
⬆ back to top

Serialization

Libraries and tools for binary serialization.

Go_repository Stars Watchers Created_at Latest_push Description
go 10248 233 2016/11/30 4 weeks ago High-performance 100% compatible drop-in replacement of "encoding/json".
protobuf 8111 210 2014/11/23 3 months ago Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.
mapstructure 5190 71 2013/05/20 2 weeks ago Go library for decoding generic map values into native Go structures.
protobuf 4998 105 2014/12/03 1 month ago Protocol Buffers for Go with Gadgets.
go 1610 54 2013/05/30 1 month ago High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.
colfer 640 33 2015/09/05 3 months ago Code generation for the Colfer binary format.
csvutil 636 10 2017/10/30 3 weeks ago High Performance, idiomatic CSV record encoding and decoding to native Go structures.
cbor 356 9 2019/05/15 1 week ago Small, safe, and easy CBOR encoding and decoding library.
go-capnproto 279 11 2013/11/07 1 year ago Cap'n Proto library and parser for go.
php_session_decoder 152 10 2012/12/23 3 years ago GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
structomap 130 7 2015/05/13 2 years ago Library to easily and dynamically generate maps from static structures.
bambam 62 3 2014/09/17 5 years ago generator for Cap'n Proto schemas from go.
asn1 47 9 2016/02/29 2 years ago Asn.1 BER and DER encoding library for golang.
binstruct 36 2 2018/10/23 3 months ago Golang binary decoder for mapping data into the structure.
bel 16 2 2019/02/20 1 year ago Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
fwencoder 16 2 2017/12/25 1 year ago Fixed width file parser (encoding and decoding library) for Go.
elastic 15 1 2020/02/25 7 months ago Convert slices, maps or any other unknown value across different types at run-time, no matter what.
pletter 14 6 2019/07/09 2 months ago A standard way to wrap a proto message for message brokers.
fixedwidth 5 1 2019/08/11 2 years ago Fixed-width text formatting (UTF-8 supported).
unitpacking 3 2 2021/01/17 8 months ago Library to pack unit vectors into as fewest bytes as possible.
go-lctree 2 1 2020/05/04 1 year ago Provides a CLI and primitives to serialize and deserialize LeetCode binary trees.
⬆ back to top

Server Applications

Go_repository Stars Watchers Created_at Latest_push Description
etcd 38240 1352 2013/07/06 16 hours ago Highly-available key value store for shared configuration and service discovery.
caddy 35975 758 2015/01/13 15 hours ago Caddy is an alternative, HTTP/2 web server that's easy to configure and use.
minio 30705 591 2015/01/14 4 hours ago Minio is a distributed object storage server.
roadrunner 6122 156 2017/12/26 4 days ago High-performance PHP application server, load-balancer and process manager.
easegress 4067 96 2021/05/28 1 hour ago A cloud native high availability/performance traffic orchestration system with observability and extensibility.
sftpgo 3533 67 2019/07/20 5 hours ago Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage.
devd 3186 69 2015/09/27 4 months ago Local webserver for developers.
algernon 1880 51 2015/03/10 1 week ago HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.
flagr 1776 75 2017/10/03 2 months ago Flagr is an open-source feature flagging and A/B testing service.
fider 1772 35 2017/01/17 19 hours ago Fider is an open platform to collect and organize customer feedback.
flipt 1623 15 2016/11/05 23 hours ago A self contained feature flag solution written in Go and Vue.
trickster 1590 43 2018/03/29 1 month ago HTTP reverse proxy cache and time series accelerator.
discovery 1565 60 2018/04/20 1 month ago A registry for resilient mid-tier load balancing and failover.
jackal 1167 41 2017/11/13 2 days ago An XMPP server written in Go.
go-feature-flag 379 1 2020/12/11 2 weeks ago A feature flag solution, with only a YAML file in the backend (S3, GitHub, HTTP, local file ...), no server to install, just add a file in a central system and refer to it.
euterpe 360 8 2014/01/01 1 month ago Self-hosted music streaming server with built-in web UI and REST API.
dudeldu 131 3 2016/09/07 2 years ago A simple SHOUTcast server.
lets-proxy2 59 5 2019/04/12 2 weeks ago Reverse proxy for handle https with issue certificates in fly from lets-encrypt.
go-proxy-cache 33 1 2020/11/12 1 week ago Simple Reverse Proxy with Caching, written in Go, using Redis.
psql-streamer 33 4 2019/04/28 1 year ago Stream database events from PostgreSQL to Kafka.
cortex-tenant 28 1 2020/10/06 1 month ago Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels.
nginx-prometheus 27 1 2018/10/23 1 year ago Nginx log parser and exporter to Prometheus.
simple-jwt-provider 19 2 2019/12/18 4 days ago Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
protoxy 18 2 2020/09/03 1 year ago A proxy server that converts JSON request bodies to Protocol Buffers.
moxy 2 1 2021/07/17 6 days ago Moxy is a simple mocker and proxy application server, you can create mock endpoints as well as proxy requests in case no mock exists for the endpoint.
riemann-relay 0 1 2019/04/23 2 years ago Relay to load-balance Riemann events and/or convert them to Carbon.
⬆ back to top

Stream Processing

Libraries and tools for stream processing and reactive programming.

Go_repository Stars Watchers Created_at Latest_push Description
go-streams 807 21 2019/04/30 3 weeks ago Go stream processing library.
machine 100 6 2020/10/13 1 week ago Go library for writing and generating stream workers with built in metrics and traceability.
stream 49 2 2020/11/12 1 year ago Go Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...
⬆ back to top

Template Engines

Libraries and tools for templating and lexing.

Go_repository Stars Watchers Created_at Latest_push Description
gofpdf 3908 103 2015/03/13 1 month ago PDF document generator with high level support for text, drawing and images.
sprig 2701 34 2013/11/22 4 days ago Useful template functions for Go templates.
quicktemplate 2287 59 2016/03/06 3 months ago Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.
pongo2 2111 63 2013/08/23 1 week ago Django-like template-engine for Go.
hero 1485 43 2017/01/15 1 year ago Hero is a handy, fast and powerful go template engine.
mustache 1027 36 2009/12/30 1 week ago Go implementation of the Mustache template language.
amber 885 19 2012/10/31 1 year ago Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade.
jet 861 23 2016/03/31 1 month ago Jet template engine.
ace 805 22 2014/07/13 3 years ago Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold.
gorazor 790 57 2014/05/01 1 year ago Razor view engine for Golang.
fasttemplate 555 19 2015/08/19 11 months ago Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template.
ego 511 14 2014/02/23 3 weeks ago Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.
maroto 490 10 2019/05/20 1 month ago A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple.
raymond 452 11 2015/04/22 1 month ago Complete handlebars implementation in Go.
goview 255 6 2019/04/14 11 months ago Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
soy 157 13 2013/12/15 2 months ago Closure templates (aka Soy templates) for Go, following the official spec.
liquid 142 6 2017/06/26 2 months ago Go implementation of Shopify Liquid templates.
velvet 73 7 2016/12/29 4 years ago Complete handlebars implementation in Go.
kasia.go 72 2 2010/12/07 6 years ago Templating system for HTML and other text documents - go implementation.
extemplate 41 4 2018/08/10 6 months ago Tiny wrapper around html/template to allow for easy file-based template inheritance.
gospin 28 3 2019/02/22 7 months ago Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations.
damsel 24 4 2012/05/02 5 years ago Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others.
tbd 16 1 2021/05/21 3 months ago A really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata.
⬆ back to top

Testing

Libraries for testing codebases and generating test data. ⬆ back to top

Fail injection

Go_repository Stars Watchers Created_at Latest_push Description
failpoint 649 105 2019/04/02 2 months ago An implementation of failpoints for Golang.
⬆ back to top

Mock

Go_repository Stars Watchers Created_at Latest_push Description
chromedp 7057 153 2017/01/24 1 week ago a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.
mock 6536 84 2015/06/12 1 week ago Mocking framework for the Go programming language.
go-fuzz 4218 85 2015/04/15 2 weeks ago Randomized testing system.
go-sqlmock 4003 40 2014/02/07 6 days ago Mock SQL driver for testing database interactions.
mockery 3135 30 2014/09/02 3 days ago Tool to generate Go interfaces.
selenoid 2065 99 2016/08/22 4 weeks ago alternative Selenium hub server that launches browsers within containers.
rod 1996 31 2020/01/21 2 days ago A Devtools driver to make web automation and scraping easy.
hoverfly 1814 60 2015/11/30 3 weeks ago HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
gock 1534 19 2016/03/02 4 months ago Versatile HTTP mocking made easy.
httpmock 1264 9 2014/02/24 18 hours ago Easy mocking of HTTP responses from external resources.
gofuzz 1198 27 2014/07/31 3 months ago Library for populating go objects with random values.
counterfeiter 601 10 2014/05/21 1 week ago Tool for generating self-contained mock objects.
cdp 586 19 2017/03/12 5 months ago Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.
playwright-go 583 17 2020/08/16 2 weeks ago browser automation library to control Chromium, Firefox and WebKit with a single API.
minimock 434 10 2016/08/03 2 months ago Mock generator for Go interfaces.
go-txdb 399 7 2015/07/08 1 month ago Single transaction based database driver mainly for testing purposes.
ggr 276 26 2016/06/16 1 month ago a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs.
tavor 231 12 2014/05/18 3 years ago Generic fuzzing and delta-debugging framework.
govcr 99 2 2016/07/10 2 years ago HTTP mock for Golang: record and replay HTTP interactions for offline testing.
timex 58 79 2020/01/02 1 year ago A test-friendly replacement for the native time package.
go-localstack 27 1 2020/03/18 5 days ago Tool for using localstack in AWS testing.
mockhttp 22 2 2011/06/11 7 years ago Mock object for Go http.ResponseWriter.
mockit 8 1 2020/01/01 6 days ago Allows functions and method easy mocking, without defining new types; it's similar to Mockito for Java.
⬆ back to top

Testing Frameworks

Go_repository Stars Watchers Created_at Latest_push Description
testify 15001 175 2012/10/16 3 days ago Sacred extension to the standard go testing package.
go-cmp 2611 27 2017/07/07 1 week ago Package for comparing Go values in tests.
httpexpect 1821 35 2016/04/29 4 months ago Concise, declarative, and easy to use end-to-end HTTP and REST API testing.
godog 1517 97 2015/06/10 2 weeks ago Cucumber or Behat like BDD framework for Go.
is 1283 18 2016/12/06 5 days ago Professional lightweight testing mini-framework for Go.
goblin 820 16 2013/09/19 2 months ago Mocha like testing framework fo Go.
go-vcr 799 14 2015/12/14 2 months ago Record and replay your HTTP interactions for fast, deterministic and accurate tests.
testfixtures 724 6 2016/04/05 2 weeks ago A helper for Rails' like test fixtures to test database applications.
baloo 716 11 2016/05/29 2 years ago Expressive and versatile end-to-end HTTP API testing made easy.
gnomock 607 12 2020/01/31 2 days ago integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks.
go-mutesting 493 11 2014/12/26 1 week ago Mutation testing for Go source code.
goc 466 20 2020/05/07 2 weeks ago Goc is a comprehensive coverage testing system for The Go Programming Language.
gofight 397 14 2016/03/29 5 months ago API Handler Testing for Golang Router framework.
embedded-postgres 315 4 2019/11/16 1 day ago Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test.
testza 310 3 2021/07/05 1 month ago Full-featured test framework with nice colorized output.
frisby 271 10 2015/09/15 1 year ago REST API testing framework.
gotest.tools 260 8 2017/08/08 1 month ago A collection of packages to augment the go testing package and support common patterns.
go-testdeep 235 3 2018/05/26 1 month ago Extremely flexible golang deep comparison, extends the go testing package.
go-carpet 216 4 2016/02/28 1 month ago Tool for viewing test coverage in terminal.
endly 200 17 2017/08/28 1 week ago Declarative end to end functional testing.
cupaloy 195 3 2017/08/07 1 month ago Simple snapshot testing addon for your test framework.
charlatan 194 52 2017/10/06 2 years ago Tool to generate fake interface implementations for tests.
commander 191 7 2019/02/22 2 days ago Tool for testing cli applications on windows, linux and osx.
dbcleaner 133 3 2017/01/17 1 month ago Clean database for testing purpose, inspired by database_cleaner in Ruby.
gospec 115 4 2009/11/24 7 years ago BDD-style testing framework for the Go programming language.
wstest 86 2 2017/03/31 11 months ago Websocket client for unit-testing a websocket http.Handler.
gocrest 81 4 2017/12/23 1 year ago Composable hamcrest-like matchers for Go assertions.
testcase 80 3 2019/04/22 1 month ago Idiomatic testing framework for Behavior Driven Development.
jsonassert 73 2 2018/10/26 1 week ago Package for verifying that your JSON payloads are serialized correctly.
go-hit 57 1 2019/06/04 6 days ago Hit is an http integration test framework written in golang.
restit 55 7 2014/06/25 2 years ago Go micro framework to help writing RESTful API integration test.
gospecify 52 6 2009/11/20 10 years ago This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.
covergates 46 5 2020/05/29 11 months ago Self-hosted code coverage report review and management service.
gomatch 41 2 2019/01/27 11 months ago library created for testing JSON against patterns.
dsunit 39 10 2016/06/13 1 year ago Datastore testing for SQL, NoSQL, structured files.
assert 35 2 2015/07/20 1 year ago Basic Assertion Library used along side native go testing, with building blocks for custom assertions.
hamcrest 27 3 2010/12/22 11 months ago fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.
flute 15 0 2019/07/06 1 week ago HTTP client testing framework.
schema 15 1 2015/08/13 2 years ago Quick and easy expression matching for JSON schemas used in requests and responses.
gogiven 11 5 2017/12/31 4 months ago YATSPEC-like BDD testing framework for Go.
testsql 11 2 2018/09/22 2 years ago Generate test data from SQL files before testing and clear it after finished.
gosuite 10 2 2016/10/15 5 years ago Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7's Subtests.
badio 9 0 2016/02/11 5 years ago Extensions to Go's testing/iotest package.
biff 9 1 2018/03/28 5 months ago Bifurcation testing framework, BDD compatible.
stop-and-go 6 1 2020/11/06 3 months ago Testing helper for concurrency.
trial 5 0 2015/06/18 2 years ago Quick and easy extendable assertions without introducing much boilerplate.
tt 4 1 2018/04/03 2 months ago Simple and colorful test tools.
go-testpredicate 3 2 2018/11/23 4 weeks ago Test predicate style assertions library with extensive diagnostics output.
fixenv 2 1 2021/08/27 3 months ago Fixture manage engine, inspired by pytest fixtures.
omg.testingtools 0 1 2021/10/13 2 months ago The simple library for change a values of private fields for testing.
⬆ back to top

Text Processing

Libraries for parsing and manipulating texts. ⬆ back to top

Specific Formats

Go_repository Stars Watchers Created_at Latest_push Description
colly 15536 323 2017/09/29 1 day ago Fast and Elegant Scraping Framework for Gophers.
goquery 10933 256 2012/08/29 1 month ago GoQuery brings a syntax and a set of features similar to jQuery to the Go language.
blackfriday 4841 89 2011/05/27 2 months ago Markdown processor in Go.
sh 4341 51 2016/01/16 2 days ago Shell parser and formatter.
toml 3708 85 2013/02/26 3 weeks ago TOML configuration format (encoder/decoder with reflection).
go-humanize 2956 35 2012/01/13 2 months ago Formatters for time, numbers, and memory size to human readable format.
bluemonday 2135 30 2013/11/20 2 months ago HTML Sanitizer.
gofeed 1762 42 2016/01/23 2 weeks ago Parse RSS and Atom feeds in Go.
inject 1357 45 2013/10/21 2 years ago Package inject provides a reflect based injector.
go-toml 1136 30 2013/02/24 4 days ago Go library for the TOML format with query support and handy cli tools.
commonregex 787 21 2017/03/23 2 years ago A collection of common regular expressions for Go.
slug 756 13 2014/03/31 5 days ago URL-friendly slugify with multiple languages support.
dataflowkit 502 22 2017/02/09 1 year ago Web scraping Framework to turn websites into structured data.
mxj 494 27 2014/02/03 1 day ago Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.
gographviz 456 12 2015/03/14 3 months ago Parses the Graphviz DOT language.
htmlquery 432 12 2017/12/05 3 weeks ago An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.
omniparser 403 8 2020/08/16 1 month ago A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema.
go-runewidth 394 13 2013/06/21 3 weeks ago Functions to get fixed width of the character or string.
gotext 311 7 2016/06/19 2 months ago GNU gettext utilities for Go.
html-to-markdown 293 8 2018/05/15 3 months ago Convert HTML to Markdown. Even works with entire websites and can be extended through rules.
goq 204 7 2017/02/20 3 months ago Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery).
goribot 203 11 2019/09/08 1 year ago [Crawler/Scraper for Golang]🕷A lightweight distributed friendly Golang crawler framework.一个轻量的分布式友好的 Golang 爬虫框架。
go-nmea 160 7 2015/07/22 1 week ago NMEA parser library for the Go language.
sdp 110 8 2016/05/13 1 year ago SDP: Session Description Protocol [RFC 4566].
podcast 99 5 2017/02/02 1 year ago iTunes Compliant and RSS 2.
go-zero-width 96 1 2018/06/18 1 year ago Zero-width character detection and removal for Go.
editorconfig-core-go 89 10 2016/07/05 1 week ago Editorconfig file parser and manipulator for Go.
align 71 5 2017/04/29 3 months ago A general purpose application that aligns text.
go-slugify 69 2 2016/07/16 1 year ago Make pretty slug with multiple languages support.
go-vcard 63 4 2017/03/21 7 months ago Parse and format vCard.
genex 62 3 2015/03/09 1 year ago Count and expand Regular Expressions into all matching Strings.
goregen 60 3 2014/12/27 5 months ago Library for generating random strings from regular expressions.
did 56 15 2018/11/02 11 months ago DID (Decentralized Identifiers) Parser and Stringer in Go.
go-fixedwidth 53 3 2017/11/15 6 months ago Fixed-width text formatting (encoder/decoder with reflection).
guesslanguage 52 1 2014/12/16 4 years ago Functions to determine the natural language of a unicode text.
allot 49 2 2016/10/16 8 months ago Placeholder and wildcard text parsing for CLI tools and bots.
pagser 45 2 2020/04/19 1 year ago Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler.
bafi 44 4 2021/07/13 1 week ago Universal JSON, BSON, YAML, XML translator to ANY format using templates.
gonameparts 32 1 2015/05/17 2 years ago Parses human names into individual name parts.
slugify 28 2 2015/04/13 3 years ago Go slugify application that handles string.
normalize 22 3 2021/03/22 8 months ago Sanitize, normalize and compare fuzzy text.
codetree 17 3 2016/11/26 2 years ago Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure.
enca 10 1 2014/12/17 5 years ago Minimal cgo bindings for libenca.
syndfeed 7 1 2017/04/07 3 years ago A syndication feed for Atom 1.0 and RSS 2.0.
bbConvert 5 1 2016/04/15 5 years ago Converts bbCode to HTML that allows you to add support for custom bbCode tags.
doi 5 1 2017/08/02 4 years ago Document object identifier (doi) parser in Go.
ltsv 5 1 2019/05/12 2 years ago High performance LTSV (Labeled Tab Separated Value) reader for Go.
encoding 4 1 2018/04/06 2 years ago Package provides a generic interface to encoders and decodersa.
go-wildcard 4 2 2021/03/28 8 months ago Simple and lightweight wildcard pattern matching.
go-output-format 3 1 2021/04/08 2 months ago Output go structures into multiple formats (YAML/JSON/etc) in your command line app.
⬆ back to top

Utility

Go_repository Stars Watchers Created_at Latest_push Description
xurls 846 17 2015/01/12 2 months ago Extract urls from text.
gotabulate 272 9 2014/08/21 10 months ago Easily pretty-print your tabular data with Go.
radix 170 7 2017/06/09 3 years ago fast string sorting algorithm.
regroup 97 1 2020/09/08 4 months ago Match regex expression named groups into go struct using struct tags and automatic parsing.
gofuckyourself 40 2 2018/09/09 5 months ago A sanitization-based swear filter for Go.
parth 39 4 2015/04/06 2 years ago URL path segmentation parsing.
xj2go 20 2 2017/09/19 2 months ago Convert xml or json to go struct.
tagify 17 2 2018/03/20 1 month ago Produces a set of tags from given source.
kace 16 2 2015/06/04 3 years ago Common case conversions covering common initialisms.
TySug 9 1 2018/06/05 1 year ago Alternative suggestions with respect to keyboard layouts.
parseargs-go 8 0 2016/02/24 4 years ago string argument parser that understands quotes and backslashes.
textwrap 1 2 2019/07/26 2 years ago Implementation of textwrap module from Python.
⬆ back to top

Third-party APIs

Libraries for accessing third party APIs.

Go_repository Stars Watchers Created_at Latest_push Description
go-github 7984 211 2013/05/24 1 day ago Go library for accessing the GitHub REST API v3.
aws-sdk-go 7271 256 2014/12/05 2 days ago The official AWS SDK for the Go programming language.
slack 3745 60 2015/01/24 2 days ago Slack API in Go.
google-api-go-client 2862 172 2014/11/24 3 hours ago Auto-generated Google APIs for Go.
google-cloud-go 2720 251 2014/05/09 2 days ago Google Cloud APIs Go Client Library.
discordgo 2580 55 2015/11/01 3 hours ago Go bindings for the Discord Chat API.
stripe-go 1474 41 2014/06/05 2 days ago Go client for the Stripe API.
minio-go 1470 47 2015/05/02 1 day ago Minio Go Library for Amazon S3 compatible cloud storage.
go-twitter 1362 28 2015/04/11 1 month ago Go client library for the Twitter v1.1 APIs.
anaconda 1108 22 2013/03/04 4 months ago Go client library for the Twitter 1.1 API.
facebook 1021 120 2012/07/28 7 months ago Go Library that supports the Facebook Graph API.
githubv4 826 20 2017/05/27 1 month ago Go library for accessing the GitHub GraphQL API v4.
webhooks 682 15 2015/10/25 1 month ago Webhook receiver for GitHub and Bitbucket.
paypal 459 25 2015/10/14 3 weeks ago Wrapper for PayPal payment API.
geo-golang 420 13 2014/12/04 4 months ago Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.
ethrpc 219 14 2017/01/24 1 year ago Go bindings for Ethereum JSON RPC API.
go-marathon 196 14 2015/02/11 1 year ago Go library for interacting with Mesosphere's Marathon PAAS.
trello 188 8 2016/09/24 6 months ago Go wrapper for the Trello API.
twitter-scraper 158 5 2018/11/29 1 week ago Scrape the Twitter Frontend API without authentication and limits.
medium-sdk-go 130 139 2015/09/26 3 years ago Golang SDK for Medium's OAuth2 API.
gostorm 128 12 2013/07/22 4 years ago 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.
go-trending 118 7 2015/07/04 1 month ago Go library for accessing trending repositories and developers at Github.
hipchat 111 7 2013/04/28 4 years ago A golang package to communicate with HipChat over XMPP.
wit-go 110 20 2018/08/20 3 months ago Go client for wit.ai HTTP API.
pushover 109 5 2015/02/19 1 month ago Go wrapper for the Pushover API.
hipchat 105 6 2012/10/20 5 years ago This project implements a golang client library for the Hipchat API.
cachet 89 7 2015/10/31 5 months ago Go client library for Cachet (open source status page system).
simples3 70 2 2018/12/06 3 weeks ago Simple no frills AWS S3 Library using REST with V4 Signing written in Go.
gosip 69 4 2019/01/26 1 month ago Go client library SharePoint API.
lark 68 1 2021/04/20 5 days ago An easy-to-use unofficial SDK for Feishu and Lark Open Platform.
igdb 68 2 2017/08/24 9 months ago Go client for the Internet Game Database API.
go-circleci 61 3 2015/08/14 2 years ago Go client library for interacting with CircleCI's API.
go-unsplash 58 2 2017/01/19 8 months ago Go client library for the Unsplash.com API.
gogtrends 58 1 2018/12/27 3 months ago Google Trends Unofficial API.
clarifai-go 55 37 2015/09/28 4 years ago Go client library for interfacing with the Clarifai API.
megos 54 5 2015/10/02 5 months ago Client library for accessing an Apache Mesos cluster.
go-amazon-product-advertising-api 51 1 2016/11/15 3 years ago Go Client Library for Amazon Product Advertising API.
gads 49 7 2014/01/20 5 days ago Google Adwords Unofficial API.
ynab.go 48 2 2018/07/13 3 months ago Go wrapper for the YNAB API.
go-xkcd 45 3 2016/02/26 1 month ago Go client for the xkcd API.
golang-tmdb 45 1 2019/01/11 4 days ago Golang wrapper for The Movie Database API v3.
uptimerobot 45 4 2018/05/29 11 months ago Go wrapper and command-line client for the Uptime Robot v2 API.
gomusicbrainz 43 6 2014/09/10 10 months ago Go MusicBrainz WS2 client library.
mixpanel 42 4 2014/05/20 4 months ago Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.
fcm 41 5 2017/01/06 1 year ago Go library for Firebase Cloud Messaging.
go-spotify 40 3 2014/10/30 1 year ago Go Library to access Spotify WEB API.
golyrics 36 4 2016/11/18 3 years ago Golyrics is a Go library to fetch music lyrics data from the Wikia website.
go-postman-collection 35 2 2019/11/16 3 weeks ago Go module to work with Postman Collections (compatible with Insomnia).
translate 31 31 2015/07/13 5 years ago Go online translation package.
gcm 30 3 2015/11/09 6 years ago Go library for Google Cloud Messaging.
gami 29 4 2014/05/14 3 years ago Go library for Asterisk Manager Interface.
airtable 28 1 2020/04/12 2 months ago Go client library for the Airtable API.
patreon-go 27 4 2017/08/06 2 years ago Go library for Patreon API.
go-myanimelist 25 1 2015/05/03 3 weeks ago Go client library for accessing the MyAnimeList API.
go-steam 24 11 2014/11/23 3 months ago Go Library to interact with Steam game servers.
google-play-scraper 23 1 2019/09/20 1 month ago Get data from Google Play Store.
lastpass-go 23 4 2019/07/11 5 days ago Go client library for the LastPass API.
go-shopify 22 2 2014/10/28 1 year ago Go Library to make CRUD request to the Shopify API.
go-twitch 21 5 2016/06/28 4 years ago Go client for interacting with the Twitch v3 API.
codeship-go 18 20 2017/09/08 1 year ago Go client library for interacting with Codeship's API v2.
brewerydb 17 3 2015/04/15 6 years ago Go library for accessing the BreweryDB API.
textbelt 17 2 2015/09/01 6 years ago Go client for the textbelt.com txt messaging API.
coinpaprika-api-go-client 13 8 2018/09/25 1 year ago Go client library for interacting with Coinpaprika's API.
go-aws-news 13 3 2020/01/08 3 weeks ago Go application and library to fetch what's new from AWS.
go-hacknews 13 2 2017/08/10 4 years ago Tiny Go client for HackerNews API.
go-google-analytics 12 2 2015/06/01 6 years ago Simple wrapper for easy google analytics reporting.
gopaapi5 11 3 2020/02/15 1 year ago Go Client Library for Amazon Product Advertising API 5.0.
device-check-go 10 1 2019/04/11 2 months ago Go client library for interacting with iOS DeviceCheck API v1.
go-here 10 0 2019/07/07 1 year ago Go client library around the HERE location based APIs.
smitego 10 0 2013/12/11 7 years ago Go package to wraps access to the Smite game API.
go-openproject 9 1 2021/02/13 8 months ago Go client library for interacting with OpenProject API.
go-sophos 8 2 2018/09/05 1 year ago Go client library for the Sophos UTM REST API with zero dependencies.
rrdaclient 8 2 2014/09/15 7 years ago Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.
bqwriter 7 2 2021/10/12 1 week ago High Level Go Library to write data into Google BigQuery at a high throughout.
go-google-email-audit-api 7 0 2016/10/24 5 years ago Go client library for Google G Suite Email Audit API.
go-zooz 7 14 2017/07/04 3 weeks ago Go client for the Zooz API.
go-sptrans 6 3 2017/09/11 1 year ago Go client library for the SPTrans Olho Vivo API.
gumblr 6 1 2015/07/09 5 years ago Go wrapper for the Tumblr v2 API.
go-chronos 4 9 2017/10/23 3 years ago Go library for interacting with the [Chronos](https://mesos.github.
go-swagger-ui 4 1 2021/05/25 6 months ago Go library containing precompiled Swagger UI for serving swagger json.
libgoffi 4 12 2019/08/03 1 year ago Library adapter toolbox for native [libffi](https://sourceware.
go-restcountries 3 1 2021/08/01 1 month ago Go library for the REST Countries API.
kanka 3 3 2019/12/26 1 year ago Go client for the Kanka API.
rawg-sdk-go 3 1 2020/10/16 5 months ago Go library for the [RAWG Video Games Database](https://rawg.
appstore-sdk-go 2 1 2020/06/11 10 months ago Unofficial Golang SDK for AppStore Connect API.
playlyfe-go-sdk 1 5 2015/05/25 5 years ago The Playlyfe Rest API Go SDK.
tripadvisor-golang 1 2 2019/04/15 2 years ago Go wrapper for the TripAdvisor API.
vl-go 1 2 2019/02/09 6 months ago Go client library around the VerifID identity verification layer API.
⬆ back to top

UUID

Libraries for working with UUIDs.

Go_repository Stars Watchers Created_at Latest_push Description
uuid 3238 46 2016/02/12 1 week ago Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
ulid 2468 45 2016/12/06 1 month ago Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier).
xid 2341 31 2015/11/10 7 months ago Xid is a globally unique id generator library, ready to be safely used directly in your server code.
uuid 1042 19 2018/07/13 1 week ago Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid.
wuid 443 17 2018/01/27 4 months ago An extremely fast unique number generator, 10-135 times faster than UUID.
sno 54 3 2019/05/26 1 month ago Compact, sortable and fast unique IDs with embedded metadata.
nanoid 39 1 2019/07/02 3 months ago A tiny and efficient Go unique string ID generator.
Goid 29 5 2017/05/19 2 years ago Generate and Parse RFC4122 compliant V4 UUIDs.
uuid 13 3 2016/02/03 1 year ago Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.
gouid 10 1 2020/10/08 6 months ago Generate cryptographically secure random string IDs with just one allocation.
goflake 8 1 2021/05/03 7 months ago A small, scalable, & serverless unique ID generator for use in distributed systems. Inspired by Twitters Snowflake.
⬆ back to top

Utilities

General utilities and tools to make your life easier.

Go_repository Stars Watchers Created_at Latest_push Description
fzf 40970 392 2013/10/23 1 day ago Command-line fuzzy finder written in Go.
hub 21417 513 2009/12/05 5 days ago wrap git commands with additional functionality to interact with github from the terminal.
ctop 12189 165 2016/12/27 1 week ago Top-like interface (e.g. htop) for container metrics.
sqlx 11207 189 2013/01/28 1 week ago provides a set of extensions on top of the excellent built-in database/sql package.
wuzz 9846 170 2017/01/30 3 months ago Interactive cli tool for HTTP inspection.
goreleaser 9291 111 2016/12/21 1 day ago Deliver Go binaries as fast and easily as possible.
usql 6870 115 2017/03/02 4 days ago usql is a universal command-line interface for SQL databases.
peco 6659 136 2014/06/06 4 months ago Simplistic interactive filtering tool.
godropbox 4001 245 2014/06/22 1 year ago Common libraries for writing Go services/applications from Dropbox.
hystrix-go 3478 92 2013/12/15 3 months ago Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker.
go-funk 3093 38 2016/12/30 1 week ago Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...).
panicparse 2954 37 2015/02/02 1 week ago Groups similar goroutines and colorizes stack dump.
goreporter 2943 100 2017/03/27 3 years ago Golang tool that does static analysis, unit testing, code review and generate code quality report.
minify 2824 56 2014/05/21 4 days ago Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.
mc 1962 52 2015/01/16 1 day ago Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.
storm 1814 43 2016/01/10 7 months ago Simple and powerful toolkit for BoltDB.
mergo 1808 23 2013/03/11 1 month ago Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
mole 1520 28 2018/10/04 2 months ago cli app to easily create ssh tunnels.
filetype 1454 28 2015/09/24 4 weeks ago Small package to infer the file type checking the magic numbers signature.
boilr 1414 28 2015/12/19 3 days ago Blazingly fast CLI tool for creating projects from boilerplate templates.
jump 1278 20 2015/08/16 1 week ago Jump helps you navigate faster by learning your habits.
cli 1197 18 2019/12/30 3 weeks ago A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command.
circuitbreaker 971 21 2014/07/17 2 years ago Circuit Breakers in Go.
gtm 883 30 2016/06/19 1 year ago Simple, seamless, lightweight time tracking for Git.
immortal 717 19 2016/06/30 1 year ago *nix cross-platform (OS agnostic) supervisor.
hostctl 705 9 2020/03/14 1 week ago A CLI tool to manage /etc/hosts with easy commands.
mimetype 624 9 2018/07/02 5 days ago Package for MIME type detection based on magic numbers.
circuit 617 14 2017/12/23 4 days ago An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.
htcat 536 19 2013/08/05 2 years ago Parallel and Pipelined HTTP GET Utility.
ergo 488 5 2017/08/19 1 month ago The management of multiple local services running over different ports made easy.
godaemon 481 28 2013/08/01 5 months ago Utility to write daemons.
koazee 476 11 2018/11/09 1 year ago Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.
go-dry 472 14 2014/02/28 3 weeks ago DRY (don't repeat yourself) package for Go.
scany 456 6 2020/07/02 1 day ago Library for scanning data from a database into Go structs and more.
gopencils 438 14 2014/06/23 2 years ago Small and simple package to easily consume REST APIs.
delve 425 9 2020/02/18 3 weeks ago Go debugger.
request 402 15 2014/12/21 2 years ago Go HTTP Requests for Humans™.
gubrak 382 7 2018/03/09 1 year ago Golang utility library with syntactic sugar. It's like lodash, but for golang.
deepcopier 371 20 2015/07/24 1 year ago Simple struct copying for Go.
clockwork 367 6 2014/09/09 2 weeks ago A simple fake clock for golang.
go-rate 346 11 2014/08/25 1 year ago Timed rate limiter for Go.
retry 310 6 2016/11/02 9 months ago The most advanced functional mechanism to perform actions repetitively until successful.
gohper 255 20 2015/03/23 4 years ago Various tools/modules help for development.
serve 254 6 2019/01/10 4 months ago A static http server anywhere you need.
scan 239 6 2017/11/27 1 month ago Scan golang sql.Rows directly to structs, slices, or primitive types.
util 228 12 2017/05/24 1 year ago Collection of useful utility functions. (strings, concurrency, manipulations, ...).
go-trigger 226 14 2015/10/19 4 years ago Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.
gotenv 207 3 2013/08/27 3 months ago Load environment variables from .env or any io.Reader in Go.
grofer 186 8 2020/08/01 2 weeks ago A system and resource monitoring tool written in Golang!
go-bind-plugin 175 5 2016/11/08 2 years ago go:generate tool for wrapping symbols exported by golang plugins (1.8 only).
death 172 3 2015/03/09 7 months ago Managing go application shutdown with signals.
mani 172 5 2019/10/22 21 hours ago CLI tool to help you manage multiple repositories.
toolbox 168 15 2016/06/13 4 months ago Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
go-sitemap-generator 165 6 2015/10/12 3 days ago XML Sitemap generator written in Go.
rerun 161 7 2014/12/10 3 years ago Recompiling and rerunning go apps when source changes.
moldova 160 5 2016/01/30 4 years ago Utility for generating random data based on an input template.
apm 154 19 2015/11/18 5 years ago Process manager for Golang applications with an HTTP API.
robustly 151 16 2013/07/08 7 months ago Runs functions resiliently, catching and restarting panics.
chyle 138 7 2016/11/17 4 days ago Changelog generator using a git repository with multiple configuration possibilities.
countries 135 6 2019/04/22 2 days ago Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standarts.
changie 134 3 2020/12/05 3 days ago Automated changelog tool for preparing releases with lots of customization options.
go-pattern-match 131 2 2018/12/11 1 year ago Pattern matching libray.
clipboard 124 3 2020/11/19 2 months ago 📋 cross-platform clipboard package in Go.
onecache 124 7 2017/04/14 1 year ago Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).
go-bsdiff 122 3 2019/02/23 2 years ago Pure Go bsdiff and bspatch libraries and CLI tools.
lrserver 120 5 2014/07/15 4 years ago LiveReload server for Go.
cryptgo 97 2 2021/05/20 2 months ago Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
sorty 94 4 2019/02/18 1 month ago Fast Concurrent / Parallel Sorting.
goseaweedfs 91 8 2017/07/20 1 month ago SeaweedFS client library with almost full features.
nostromo 91 5 2019/07/13 3 weeks ago CLI for building powerful aliases.
mssqlx 89 9 2016/12/26 3 months ago Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.
xferspdy 89 4 2015/05/22 8 months ago Xferspdy provides binary diff and patch library in golang.
go-health 85 3 2018/02/13 3 years ago Health package simplifies the way you add health check to your services.
rospo 81 4 2021/04/02 1 month ago Simple and reliable ssh tunnels with embedded ssh server in Golang.
mongo-go-pagination 80 3 2020/02/04 1 month ago Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines.
pm 77 17 2013/11/17 1 year ago Process (i.e. goroutine) manager with an HTTP API.
cmd 76 6 2019/09/27 1 year ago Library for executing shell commands on osx, windows and linux.
repeat 75 6 2017/11/22 1 year ago Go implementation of different backoff strategies useful for retrying operations and heartbeating.
netbug 69 2 2015/03/05 6 years ago Easy remote profiling of your services.
mimemagic 68 2 2018/10/11 6 days ago Pure Go ultra performant MIME sniffing library/utility.
unis 67 5 2017/05/06 4 years ago Common Architecture™ for String Utilities in Go.
handy 66 8 2018/06/13 1 year ago Many utilities and helpers like string handlers/formatters and validators.
multitick 65 15 2013/12/10 7 months ago Multiplexor for aligned tickers.
goreadability 62 6 2016/04/20 2 years ago Webpage summary extractor using Facebook Open Graph and arc90's readability.
pgo 60 6 2018/12/26 2 months ago Convenient functions for PHP community.
goval 59 5 2018/06/17 10 months ago Evaluate arbitrary expressions in Go.
limiters 59 3 2019/08/28 3 months ago Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks.
minquery 59 2 2016/11/16 4 months ago MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).
go-astitodo 58 2 2016/10/17 1 year ago Parse TODOs in your GO code.
golog 55 3 2016/01/09 2 years ago Easy and lightweight CLI tool to time track your tasks.
go-lock 52 1 2020/04/30 4 months ago go-lock is a lock library implementing read-write mutex and read-write trylock without starvation.
filter 50 6 2018/09/26 2 months ago provide filtering, sanitizing, and conversion of Go data.
copy-pasta 49 5 2017/01/28 1 year ago Universal multi-workstation clipboard that uses S3 like backend for the storage.
retry 49 1 2018/02/25 11 months ago Simple and easy retry mechanism package for Go.
beyond 46 1 2019/10/18 2 months ago The Go tool that will drive you to the AOP world!
golarm 45 2 2015/08/14 6 years ago Fire alarms with system events.
slice 45 1 2019/11/26 1 year ago Type-safe functions for common Go slice operations.
goback 44 1 2015/03/13 9 months ago Go simple exponential backoff package.
dbt 43 1 2017/11/30 9 months ago A framework for running self-updating signed binaries from a central, trusted repository.
retry-go 43 2 2017/06/09 3 years ago Retrying made simple and easy for golang.
intrinsic 42 4 2017/06/13 4 years ago Use x86 SIMD without writing any assembly code.
gpath 40 3 2017/05/24 4 years ago Library to simplify access struct fields with Go's expression in reflection.
go-httpheader 37 3 2017/06/24 2 weeks ago Go library for encoding structs into Header fields.
myhttp 35 0 2017/09/13 3 years ago Simple API to make HTTP GET requests with timeout support.
backscanner 33 4 2017/10/18 2 months ago A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.
equalizer 33 2 2019/06/14 10 months ago Quota manager and rate limiter collection for Go.
evaluator 33 3 2017/04/27 4 months ago Evaluate an expression dynamicly based on s-expression. It's simple and easy to extend.
rclient 32 3 2017/02/28 2 years ago Readable, flexible, simple-to-use client for REST APIs.
gostrutils 31 3 2018/09/19 3 months ago Collections of string manipulation and conversion functions.
slicer 29 2 2019/01/10 4 months ago Makes working with slices easier.
set 28 4 2020/12/16 4 days ago Performant and flexible struct mapping and loose type conversion.
throttle 28 1 2019/10/25 3 months ago Throttle is an object that will perform exactly one action per duration.
tome 27 1 2019/04/12 1 year ago Tome was designed to paginate simple RESTful APIs.
ugo 26 2 2016/02/17 5 years ago ugo is slice toolbox with concise syntax for Go.
generate 24 3 2015/11/15 5 years ago runs go generate recursively on a specified path or environment variable and can filter by regex.
shutdown 24 1 2018/11/17 2 years ago App shutdown hooks for os.Signal handling.
sshman 24 1 2021/08/27 19 minutes ago SSH Manager for authorized_keys files on multiple remote servers.
goplaceholder 22 2 2014/10/12 6 years ago a small golang lib to generate placeholder images.
rerate 21 4 2016/05/24 4 years ago Redis-based rate counter and rate limiter for Go.
ghokin 20 3 2018/08/03 3 days ago Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).
structs 18 3 2017/08/26 4 years ago Implement simple functions to manipulate structs.
ctxutil 17 1 2018/07/30 1 year ago A collection of utility functions for contexts.
mimesniffer 17 1 2018/12/20 1 month ago A MIME type sniffer for Go.
filler 16 1 2017/04/05 4 years ago small utility to fill structs using "fill" tag.
dlog 15 2 2016/07/04 4 years ago Compile-time controlled logger to make your release smaller without removing debug calls.
go-convert 15 1 2019/06/07 7 months ago Package go-convert enables you to convert a value into another type.
okrun 15 3 2014/10/01 7 years ago go run error steamroller.
rest-go 15 3 2019/07/29 1 year ago A package that provide many helpful methods for working with rest api.
copy 14 3 2020/10/09 11 months ago Package for fast copying structs of different types.
jsend 14 4 2020/01/14 5 months ago JSend's implementation writen in Go.
command 13 1 2015/08/24 5 years ago Command pattern for Go with thread safe serial and parallel dispatcher.
go-types 12 1 2021/04/21 1 month ago Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types.
go-problemdetails 11 1 2019/05/16 1 year ago Go package for working with Problem Details.
ptr 11 2 2019/12/25 23 hours ago Package that provide functions for simplified creation of pointers from constants of basic types.
retry 10 0 2018/07/18 1 year ago A pretty simple library to ensure your work to be done.
silk 10 1 2018/12/18 1 year ago Read silk netflow files.
go-countries 9 3 2020/10/27 1 year ago Lightweight lookup over ISO-3166 codes.
statiks 9 0 2018/06/26 1 year ago Fast, zero-configuration, static HTTP filer server.
go-clip 7 2 2020/11/18 10 months ago A minimalistic clipboard manager for Mac.
retry 7 41 2018/06/15 2 years ago A simple but highly configurable retry package for Go.
sliceconv 7 1 2019/02/15 1 year ago Slice conversion between primitive types.
blank 6 2 2019/02/13 2 years ago Verify or remove blanks and whitespace from strings.
nfdump 6 1 2020/04/08 4 months ago Read nfdump netflow files.
go-safe 5 0 2019/10/29 2 weeks ago Panic-safe sandbox.
go-actuator 3 1 2021/07/17 3 months ago Production ready features for Go based web frameworks.
lets-go 3 1 2020/02/19 7 months ago Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities.
tik 3 1 2020/07/04 1 year ago Simple and easy timing wheel package for Go.
bleep 2 1 2021/01/02 11 months ago Perform any number of actions on any set of OS signals in Go.
goctx 2 1 2020/11/14 1 year ago Get your context value with high performance.
olaf 2 1 2019/01/03 2 years ago Twitter Snowflake implemented in Go.
⬆ back to top

Validation

Libraries for validation.

Go_repository Stars Watchers Created_at Latest_push Description
validator 9264 100 2015/02/12 1 day ago Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.
govalidator 5163 94 2014/06/20 2 months ago Validators and sanitizers for strings, numerics, slices and structs.
ozzo-validation 2471 29 2016/06/22 2 weeks ago 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.
govalidator 1032 21 2017/09/13 11 months ago Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.
validate 499 16 2018/07/16 1 month ago Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features.
checkdigit 85 0 2019/04/05 11 months ago Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.).
terraform-validator 73 3 2019/05/29 1 year ago A norms and conventions validator for Terraform.
validate 66 10 2018/02/10 1 month ago This package provides a framework for writing validations for Go applications.
jio 63 2 2018/10/28 1 year ago jio is a json schema validator similar to joi.
gody 52 0 2018/11/01 10 months ago 🎈 A lightweight struct validator for Go.
govalid 23 1 2019/02/17 2 months ago Fast, tag-based validation for structs.
⬆ back to top

Version Control

Libraries for version control.

Go_repository Stars Watchers Created_at Latest_push Description
go-git 2884 39 2019/12/19 2 days ago highly extensible Git implementation in pure Go.
git2go 1682 50 2013/03/05 2 weeks ago Go bindings for libgit2.
glab 1617 21 2020/07/24 3 hours ago An open-source GitLab command line tool bringing GitLab's cool features to your command line.
hercules 1508 20 2016/12/12 1 month ago gaining advanced insights from Git repository history.
gh 76 6 2015/03/08 3 years ago Scriptable server and net/http middleware for GitHub Webhooks.
go-vcs 74 80 2013/06/02 8 months ago manipulate and inspect VCS repositories in Go.
Githooks 29 0 2019/06/28 5 hours ago Per-repo and shared Git hooks with version control and auto update.
hgo 13 4 2014/06/18 6 years ago Hgo is a collection of Go packages providing read-access to local Mercurial repositories.
⬆ back to top

Video

Libraries for manipulating video.

Go_repository Stars Watchers Created_at Latest_push Description
goav 1767 49 2015/05/21 6 months ago Comprehensive Go bindings for FFmpeg.
m3u8 881 39 2013/02/05 2 weeks ago Parser and generator library of M3U8 playlists for Apple HLS.
gmf 727 30 2013/04/03 2 months ago Go bindings for FFmpeg av* libraries.
go-astits 381 15 2017/07/04 2 months ago Parse and demux MPEG Transport Streams (.ts) natively in GO.
go-astisub 362 7 2016/12/16 5 days ago Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
libvlc-go 263 11 2015/01/06 2 months ago Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player).
gortsplib 163 8 2020/01/20 3 days ago Pure Go RTSP server and client library.
gst 163 10 2011/07/26 11 months ago Go bindings for GStreamer.
go-m3u8 83 2 2018/11/06 1 year ago Parser and generator library for Apple m3u8 playlists.
v4l 63 6 2016/10/25 1 week ago Video capture library for Linux, written in Go.
libgosubs 16 2 2017/05/03 1 year ago Subtitle format support for go. Supports .srt, .ttml, and .ass.
go-mpd 10 1 2018/11/02 1 year ago Parser and generator library for MPEG-DASH manifest files.
⬆ back to top

Web Frameworks

Full stack web frameworks.

Go_repository Stars Watchers Created_at Latest_push Description
gin 53968 1356 2014/06/16 10 hours ago 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.
echo 21294 533 2015/03/01 1 day ago High performance, minimalist Go web framework.
fiber 17344 244 2020/01/16 20 hours ago An Express.js inspired web framework build on Fasthttp.
revel 12464 537 2011/12/09 1 month ago High-productivity web framework for the Go language.
goa 4493 165 2014/12/05 5 days ago Goa provides a holistic approach for developing remote APIs and microservices in Go.
gizmo 3566 119 2015/12/15 4 months ago Microservice toolkit used by the New York Times.
go-json-rest 3491 160 2013/02/19 10 months ago Quick and easy way to setup a RESTful JSON API.
macaron 3233 146 2014/07/10 3 weeks ago Macaron is a high productive and modular design web framework in Go.
utron 2205 69 2015/09/16 3 years ago Lightweight MVC framework for Go(Golang).
go-tigertonic 997 46 2013/02/09 3 years ago Go framework for building JSON web services inspired by Dropwizard.
goyave 923 27 2019/10/21 3 weeks ago Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities.
tango 834 75 2014/12/17 2 years ago Micro & pluggable web framework for Go.
gearbox 584 17 2020/04/25 2 weeks ago A web framework written in Go with a focus on high performance and memory optimization.
gongular 446 21 2016/06/22 1 year ago Fast Go web framework with input mapping/validation and (DI) Dependency Injection.
aero 422 21 2016/11/09 4 weeks ago High-performance web framework for Go, reaches top scores in Lighthouse.
neo 415 34 2015/02/04 4 years ago Neo is minimal and fast Go Web Framework with extremely simple API.
air 407 19 2016/07/20 8 months ago An ideally refined web framework for Go.
mango 359 21 2011/05/25 4 years ago Mango is a modular web-application framework for Go, inspired by Rack, and PEP333.
beego 319 9 2020/12/13 4 months ago beego is an open-source, high-performance web framework for the Go programming language.
gondola 308 15 2014/07/25 2 years ago The web framework for writing faster sites, faster.
golf 250 16 2015/11/18 3 months ago 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.
flamingo 246 25 2019/04/02 2 weeks ago Framework for pluggable web projects. Including a concept for modules and offering features for DI, Configareas, i18n, template engines, graphql, observability, security, events, routing & reverse routing etc.
flamingo-commerce 242 22 2019/04/02 2 weeks ago Providing e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications.
webgo 208 9 2015/12/16 2 months ago A micro-framework to build web apps; with handler chaining, middleware and context injection. With standard library compliant HTTP handlers(i.e. http.HandlerFunc).
ginrpc 198 7 2019/06/22 5 days ago Gin parameter automatic binding tool,gin rpc tools.
uadmin 165 13 2018/10/05 1 month ago Fully featured web framework for Golang, inspired by Django.
hiboot 163 14 2018/03/16 5 months ago hiboot is a high performance web application framework with auto configuration and dependency injection support.
go-rest 125 10 2012/07/13 4 years ago Small and evil REST framework for Go.
appy 113 4 2019/05/27 3 weeks ago An opinionated productive web framework that helps scaling business easier.
patron 85 15 2019/01/30 1 day ago Patron is a microservice framework following best cloud practices with a focus on productivity.
microservice 76 9 2016/12/15 2 weeks ago The framework for the creation of microservices, written in Golang.
vox 74 2 2014/12/24 6 months ago A golang web framework for humans, inspired by Koa heavily.
golax 72 7 2016/01/30 3 years ago A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more.
rux 69 4 2018/08/05 2 months ago Simple and fast web framework for build golang HTTP applications.
rk-boot 67 2 2020/07/31 6 days ago A bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily.
yarf 63 4 2015/09/02 2 years ago Fast micro-framework designed to build REST APIs and web services in a fast and simple way.
fireball 55 4 2016/07/20 3 years ago More "natural" feeling web framework.
goa 45 4 2019/07/26 2 years ago goa is just like koajs for golang, it is a flexible, light, high-performance and extensible web framework based on middleware.
gotuna 36 1 2021/04/08 4 months ago Minimalistic web framework for Go with mux router, middlewares, sessions, templates, embedded views and static files.
api 31 6 2015/01/24 6 years ago REST framework for quickly writing resource based services.
rex 31 2 2014/10/16 4 years ago Rex is a library for modular development built upon gorilla/mux, fully compatible with net/http.
goweb 25 1 2019/05/07 10 months ago Web framework with routing, websockets, logging, middleware, static file server (optional gzip), and automatic TLS.
banjo 18 1 2017/12/09 3 years ago Very simple and fast web framework for Go.
⬆ back to top

Middlewares

⬆ back to top

Actual middlewares

Go_repository Stars Watchers Created_at Latest_push Description
tollbooth 2075 49 2015/05/17 2 weeks ago Rate limit HTTP request handler.
cors 1978 31 2014/10/25 1 month ago Easily add CORS capabilities to your API.
limiter 1455 29 2015/10/02 5 days ago Dead simple rate limit middleware for Go.
go-server-timing 821 18 2018/02/12 1 year ago Add/parse Server-Timing header.
go-fault 419 132 2020/05/14 3 months ago Fault injection middleware for Go.
ln-paywall 116 5 2018/06/29 2 years ago Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin).
xff 85 3 2014/12/22 11 months ago Handle X-Forwarded-For header and friends.
formjson 35 2 2015/03/19 6 years ago Transparently handle JSON input as a standard form POST.
client-timing 19 1 2018/02/23 1 year ago An HTTP client for Server-Timing header.
rk-grpc 18 2 2020/07/25 4 days ago Middleware for gRPC with logging, metrics, auth, tracing etc.
rk-gin 13 2 2020/10/12 4 days ago Middleware for Gin framework with logging, metrics, auth, tracing etc.
mid 2 1 2020/07/13 4 months ago Miscellaneous HTTP middleware features: idiomatic error return from handlers; receive/respond with JSON data; request tracing; and more.
⬆ back to top

Libraries for creating HTTP middlewares

Go_repository Stars Watchers Created_at Latest_push Description
negroni 7114 237 2014/05/18 2 weeks ago Idiomatic HTTP middleware for Golang.
alice 2438 48 2014/05/25 1 month ago Painless middleware chaining for Go.
render 1562 36 2014/06/10 1 month ago Go package for easily rendering JSON, XML, and HTML template responses.
stats 581 16 2015/03/05 2 years ago Go middleware that stores various information about your web application.
interpose 295 12 2014/07/20 5 years ago Minimalist net/http middleware for golang.
renderer 229 7 2017/11/07 11 months ago Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go.
muxchain 209 5 2014/05/03 2 years ago Lightweight middleware for net/http.
gores 96 5 2015/12/25 11 months ago Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.
rye 95 203 2016/10/06 3 years ago Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context.
mediary 78 5 2020/03/23 1 year ago add interceptors to http.Client to allow dumping/shaping/tracing/... of requests/responses.
chain 63 7 2015/05/14 3 years ago Handler wrapper chaining with scoped data (net/context-based "middleware").
wrap 59 3 2014/02/16 3 years ago Small middlewares package for net/http.
catena 7 2 2015/07/30 3 years ago http.Handler wrapper catenation (same API as "chain").
⬆ back to top

Routers

Go_repository Stars Watchers Created_at Latest_push Description
mux 15672 312 2012/10/02 2 days ago Powerful URL router and dispatcher for golang.
httprouter 13505 326 2013/12/05 1 month ago High performance router. Use this and the standard http handlers to form a very high performance web framework.
chi 10586 176 2015/10/15 2 weeks ago Small, fast and expressive HTTP router built on net/context.
web 1452 59 2013/11/16 1 year ago Mux and middleware package in Go.
bone 1275 35 2014/11/19 2 years ago Lightning Fast HTTP Multiplexer.
goji 892 42 2015/11/16 2 years ago Goji is a minimalistic and flexible HTTP request multiplexer with support for net/context.
fasthttprouter 869 34 2015/12/13 2 years ago High performance router forked from httprouter. The first router fit for fasthttp.
httptreemux 517 23 2014/05/14 1 month ago High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.
gorouter 508 16 2018/01/29 2 years ago A simple and fast HTTP router for Go.
ozzo-routing 422 29 2015/10/27 3 months ago An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.
lars 384 15 2015/12/24 2 years ago Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.
siesta 348 28 2014/09/23 7 months ago Composable framework to write middleware and handlers.
vestigo 265 15 2015/09/22 1 year ago Performant, stand-alone, HTTP compliant URL Router for go web applications.
router 159 7 2017/05/25 1 year ago Lightning fast HTTP router fully compatible with the net/http.Handler interface.
alien 120 4 2016/01/30 2 years ago Lightweight and fast http router from outer space.
pure 120 6 2016/09/23 1 year ago Is a lightweight HTTP router that sticks to the std "net/http" implementation.
gorouter 103 6 2016/07/14 1 month ago GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting net/context.
violetear 102 4 2015/06/19 6 months ago Go HTTP router.
Bxog 101 8 2016/05/19 1 year ago 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.
xmux 92 6 2015/12/14 4 years ago High performance muxer based on httprouter with net/context support.
bellt 51 6 2019/02/21 1 year ago A simple Go HTTP router.
ngamux 45 1 2021/08/22 1 month ago Simple HTTP router for Go.
fastrouter 19 2 2017/11/01 4 years ago a fast, flexible HTTP router written in Go.
route 6 4 2019/07/06 2 years ago Simple yet powerful HTTP request multiplexer.
⬆ back to top

WebAssembly

Go_repository Stars Watchers Created_at Latest_push Description
tinygo 9072 160 2018/06/07 20 hours ago Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.
dom 436 17 2018/06/30 2 years ago DOM library.
go-canvas 149 7 2019/05/05 1 year ago Library to use HTML5 Canvas, with all drawing within go code.
wasmbrowsertest 110 3 2018/07/14 1 month ago Run Go WASM tests in your browser.
webapi 91 8 2019/02/08 10 months ago Bindings for DOM and HTML generated from WebIDL.
vert 57 5 2018/03/25 9 months ago Interop between Go and JS values.
⬆ back to top

Windows

Go_repository Stars Watchers Created_at Latest_push Description
go-ole 817 40 2011/01/21 4 days ago Win32 OLE implementation for golang.
d3d9 128 8 2015/12/12 1 week ago Go bindings for Direct3D9.
gosddl 8 2 2018/12/04 2 years ago Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.
⬆ back to top

XML

Libraries and tools for manipulating XML.

Go_repository Stars Watchers Created_at Latest_push Description
zek 516 20 2017/11/23 2 months ago Generate a Go struct from XML.
xpath 438 12 2016/10/09 2 months ago XPath package for Go.
xquery 154 11 2016/10/09 3 years ago XQuery lets you extract data from HTML/XML documents using XPath expression.
xml2map 37 3 2018/08/06 1 week ago XML to MAP converter written Golang.
xmlwriter 20 2 2017/04/11 9 months ago Procedural XML generation API based on libxml2's xmlwriter module.
XML-Comp 15 2 2016/10/25 3 years ago Simple command line XML comparer that generates diffs of folders, files and tags.
⬆ back to top

Zero Trust

Libraries and tools to implement Zero Trust architectures.

Go_repository Stars Watchers Created_at Latest_push Description
cosign 1364 33 2021/02/04 1 day ago Container Signing, Verification and Storage in an OCI registry.
spire 1017 84 2017/08/11 21 hours ago SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms.
in-toto-golang 45 10 2018/10/15 1 week ago Go implementation of the in-toto (provides a framework to protect the integrity of the software supply chain) python reference implementation.
spiffe-vault 8 1 2021/08/26 2 weeks ago Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication.
⬆ back to top

Tools

Go software and plugins. ⬆ back to top

Code Analysis

Go_repository Stars Watchers Created_at Latest_push Description
lint 3924 103 2013/06/02 7 months ago Golint is a linter for Go source code.
errcheck 1763 26 2013/02/24 5 months ago Errcheck is a program for checking for unchecked errors in Go programs.
go-critic 1189 19 2018/05/05 3 days ago source code linter that brings checks that are currently not implemented in other linters.
gcvis 1047 35 2014/07/10 2 years ago Visualise Go program GC trace data in real time.
php-parser 840 29 2017/11/07 7 months ago A Parser for PHP written in Go.
goplantuml 604 11 2019/05/26 2 weeks ago Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.
goast-viewer 563 16 2014/06/30 2 years ago Web based Golang AST visualizer.
go-mod-outdated 550 5 2019/04/19 2 months ago An easy way to find outdated dependencies of your Go projects.
go-cleanarch 541 11 2017/04/12 1 month ago go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
todocheck 362 5 2020/07/18 2 months ago Static code analyser which links TODO comments in code with issues in your issue tracker.
unconvert 313 8 2016/02/19 1 year ago Remove unnecessary type conversions from Go source.
golines 271 14 2019/10/01 1 day ago Formatter that automatically shortens long lines in Go code.
dupl 267 8 2015/05/20 1 year ago Tool for code clone detection.
tickgit 266 8 2019/10/12 1 year ago CLI and go package for surfacing code comment TODOs (in any language) and applying a git blameto identify the author.
gostatus 245 7 2013/11/27 2 years ago Command line tool, shows the status of repositories that contain Go packages.
apicompat 175 7 2016/07/10 4 years ago Checks recent changes to a Go project for backwards incompatible changes.
checkstyle 118 12 2014/01/01 9 months ago checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments.
lint 66 5 2016/07/09 3 years ago Run linters as part of go test.
validate 60 6 2013/11/22 5 years ago Automatically validates struct fields with tags.
go-outdated 44 1 2015/06/29 2 years ago Console application that displays outdated packages.
blanket 14 3 2017/09/04 3 years ago tarp finds functions and methods without direct unit tests in Go source code.
golang-ifood-sdk 7 1 2021/03/13 1 month ago iFood API SDK.
⬆ back to top

Editor Plugins

Go_repository Stars Watchers Created_at Latest_push Description
vim-go 14087 268 2014/03/24 3 weeks ago Go development plugin for Vim.
gocode 4944 191 2010/07/05 1 month ago Autocompletion daemon for the Go programming language.
GoSublime 3421 117 2011/08/27 1 year ago Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features.
vscode-go 2265 52 2020/03/06 2 days ago Extension for Visual Studio Code (VS Code) which provides support for the Go language.
go-plus 1519 44 2014/03/13 7 months ago Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
go-mode.el 1210 52 2013/01/30 4 days ago Go mode for GNU/Emacs.
coc-go 401 4 2019/04/25 2 weeks ago This plugin adds gopls features to Vim/Neovim.
Watch 188 13 2013/08/08 3 years ago Runs a command in an acme win on file changes.
goimports-reviser 95 4 2020/04/08 23 hours ago Formatting tool for imports.
vim-compiler-go 88 5 2012/11/25 5 years ago Vim plugin to highlight syntax errors on save.
go-language-server 31 4 2017/11/21 2 years ago A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
gounit-vim 22 2 2018/02/21 3 years ago Vim plugin for generating Go tests based on the function's or method's signature.
theia-go-extension 16 4 2017/11/30 2 years ago Go language support for the Theia IDE.
vscode-go-doc 5 2 2018/03/15 6 months ago A Visual Studio Code extension for showing definition in output and generating go doc.
⬆ back to top

Go Generate Tools

Go_repository Stars Watchers Created_at Latest_push Description
gotests 3597 74 2016/01/19 2 months ago Generate Go tests from your source code.
genny 1614 25 2014/10/27 3 months ago Elegant generics for Go.
re2dfa 189 9 2015/06/20 3 years ago Transform regular expressions into finite state machines and output Go source code.
xgen 125 11 2019/06/22 2 weeks ago XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.
gonerics 113 4 2014/09/29 7 years ago Idiomatic Generics in Go.
hasgo 108 6 2019/05/16 7 months ago Generate Haskell inspired functions for your slices.
gocontracts 78 8 2018/08/13 2 years ago brings design-by-contract to Go by synchronizing the code with the documentation.
gounit 60 5 2018/02/05 3 years ago Generate Go tests using your own templates.
generic 41 3 2016/06/15 11 months ago flexible data type for Go.
godal 11 1 2021/03/16 1 month ago Generate orm models corresponding to golang by specifying sql ddl file, which can be used by gorm.
⬆ back to top

Go Tools

Go_repository Stars Watchers Created_at Latest_push Description
go-swagger 7059 120 2014/11/16 3 days ago Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
OctoLinker 4853 90 2013/12/27 3 days ago Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
go-callvis 3692 74 2016/09/03 3 weeks ago Visualize call graph of your Go program using dot format.
depth 660 13 2017/03/04 1 week ago Visualize dependency trees of any package by analyzing imports.
richgo 634 5 2017/01/04 1 week ago Enrich go test outputs with text decorations.
rts 227 3 2016/04/04 2 months ago RTS: response to struct. Generates Go structs from server responses.
godbg 180 4 2019/01/23 2 years ago Implementation of Rusts dbg! macro for quick and easy debugging during development.
typex 136 3 2020/03/24 11 months ago Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.
colorgo 108 4 2013/02/14 1 year ago Wrapper around go command for colorized go build output.
gothanks 107 3 2019/11/10 9 months ago GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.
roumon 68 3 2021/03/02 8 months ago Monitor current state of all active goroutines via a command line interface.
igo 51 3 2018/11/17 1 year ago Improved Go Syntax (transpiler)
go-james 49 3 2019/10/14 1 month ago Go project skeleton creator, builds and tests your projects without the manual setup.
go-pkg-complete 39 2 2015/05/22 4 years ago Bash completion for go and wgo.
generator-go-lang 24 13 2017/09/13 1 year ago A Yeoman generator to get new Go projects started.
docs 9 2 2021/01/28 9 months ago Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard.
modver 0 1 2021/07/17 4 months ago Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to semver rules.
⬆ back to top

Software Packages

Software written in Go. ⬆ back to top

DevOps Tools

Go_repository Stars Watchers Created_at Latest_push Description
kubernetes 83726 3284 2014/06/06 6 minutes ago Container Cluster Manager from Google.
moby 61818 3043 2013/01/18 1 day ago Collaborative project for the container ecosystem to assemble container-based systems.
traefik 36103 694 2015/09/13 4 hours ago Reverse proxy and load balancer with support for multiple backends.
gitea 27325 479 2016/11/01 1 hour ago Fork of Gogs, entirely community driven.
vegeta 18781 321 2013/08/13 2 months ago HTTP load testing tool and library. It's over 9000!
packer 13381 480 2013/03/23 1 day ago Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
hey 12535 173 2016/09/02 2 weeks ago Hey is a tiny program that sends some load to a web application.
webhook 7204 145 2015/01/12 3 days ago Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
gvm 6850 155 2011/12/03 3 weeks ago GVM provides an interface to manage Go versions.
gaia 4534 103 2017/12/28 3 months ago Build powerful pipelines in any programming language.
gox 4156 75 2013/11/17 9 months ago Dead simple, no frills Go cross compile tool.
bosun 3226 146 2013/11/15 2 months ago Time Series Alerting Framework.
ddosify 3172 26 2021/08/04 7 hours ago High-performance load testing tool, written in Golang.
bombardier 2952 66 2016/05/29 5 months ago Fast cross-platform HTTP benchmarking tool.
pomerium 2860 36 2019/01/01 1 day ago Pomerium is an identity-aware access proxy.
script 1946 34 2019/04/20 1 week ago Making it easy to write shell-like scripts in Go for DevOps and system administration tasks.
fac 1738 31 2017/12/29 2 years ago Command-line user interface to fix git merge conflicts.
kala 1736 63 2015/03/19 4 weeks ago Simplistic, modern, and performant job scheduler.
goxc 1672 49 2013/02/11 2 years ago build tool for Go, with a focus on cross-compiling and packaging.
statusok 1522 50 2015/08/26 4 months ago Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.
s3gof3r 1111 33 2013/08/02 3 months ago Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
go-selfupdate 891 29 2013/11/13 2 months ago Enable your Go applications to self update.
s5cmd 871 24 2016/11/16 1 week ago Blazing fast S3 and local filesystem execution tool.
skm 716 20 2017/10/11 2 months ago SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
scaleway-cli 713 33 2015/03/20 2 days ago Manage BareMetal Servers from Command Line (as easily as with Docker).
ghorg 636 14 2018/03/29 12 hours ago Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket.
utask 571 29 2019/11/05 2 weeks ago Automation engine that models and executes business processes declared in yaml.
kool 568 11 2020/07/06 1 day ago Command line tool for managing Docker environments as an easy way.
cassowary 547 5 2019/08/25 3 weeks ago Modern cross-platform HTTP load-testing tool written in Go.
aurora 542 31 2016/10/09 4 months ago Cross-platform web-based Beanstalkd queue server console.
govvv 509 10 2016/08/02 1 year ago “go build” wrapper to easily add version information into Go binaries.
gonative 326 8 2014/05/01 5 years ago 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.
pewpew 306 10 2016/10/12 16 hours ago Flexible HTTP command line stress tester.
trubka 306 14 2019/07/05 1 year ago A CLI tool to manage and troubleshoot Apache Kafka clusters with the ability of generically publishing/consuming protocol buffer and plain text events to/from Kafka.
mora 298 25 2013/07/12 8 months ago REST server for accessing MongoDB documents and meta data.
jenkins-cli 297 12 2019/06/21 1 week ago Jenkins CLI allows you manage your Jenkins as an easy way.
lstags 283 11 2017/08/15 5 months ago Tool and API to sync Docker images across different registries.
dogo 238 19 2014/11/19 2 years ago Monitoring changes in the source file and automatically compile and run (restart).
balerter 237 7 2019/12/30 2 hours ago A self-hosted script-based alerting manager.
manssh 234 4 2017/10/08 3 years ago manssh is a command line tool for managing your ssh alias config easily.
godbg 224 17 2013/08/09 3 years ago Web-based gdb front-end application.
easyssh-proxy 213 9 2017/03/03 1 week ago Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand.
blast 202 5 2017/10/21 3 years ago A simple tool for API load testing and batch jobs.
gobrew 185 5 2013/11/13 1 year ago gobrew lets you easily switch between multiple versions of go.
terraform-provider-openapi 176 11 2017/10/17 1 month ago Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.
abbreviate 174 5 2018/11/23 2 months ago abbreviate is a tool turning long strings in to shorter ones with configurable seperaters, for example to embed branch names in to deployment stack IDs.
ostent 171 7 2014/03/31 3 years ago collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
kcli 162 6 2017/03/25 1 year ago Command line tool for inspecting kafka topics/partitions/messages.
grapes 152 6 2016/09/01 1 year ago Lightweight tool designed to distribute commands over ssh with ease.
winrm-cli 130 5 2016/05/23 1 month ago Cli tool to remotely execute commands on Windows machines.
dockerfile-generator 120 5 2019/08/14 1 year ago A go library and an executable that produces valid Dockerfiles using various input channels.
drone-scp 92 3 2016/10/16 1 month ago Copy files and artifacts via SSH using a binary, docker or Drone CI.
go-furnace 85 2 2016/10/09 1 month ago Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.
s3-proxy 69 2 2019/09/22 1 hour ago S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth).
dropship 56 3 2015/09/03 3 years ago Tool for deploying code via cdn.
drone-jenkins 31 3 2016/10/15 2 months ago Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
rodent 31 2 2014/06/01 4 years ago Rodent helps you manage Go versions, projects and track dependencies.
awsenv 27 2 2015/08/05 3 years ago Small binary that loads Amazon (AWS) environment variables for a profile.
lwc 25 4 2018/04/22 1 year ago A live-updating version of the UNIX wc command.
docker-go-mingw 22 2 2020/09/16 1 week ago Docker image for building Go binaries for Windows with MinGW toolchain.
depcharge 17 3 2018/07/25 1 year ago Helps orchestrating the execution of commands across the many dependencies in larger projects.
httpref 17 3 2020/01/10 1 month ago httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports.
sg 5 2 2015/08/19 5 years ago 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.
aptly-fork 3 0 2019/07/04 2 years ago aptly is a Debian repository management tool.
⬆ back to top

Other Software

Go_repository Stars Watchers Created_at Latest_push Description
croc 17844 228 2017/10/17 1 month ago Easily and securely send files or folders from one computer to another.
restic 15109 242 2014/04/27 4 days ago De-duplicating backup program.
goreplay 14982 466 2013/05/30 3 hours ago Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
seaweedfs 13384 526 2014/07/14 1 day ago Fast, Simple and Scalable Distributed File System with O(1) disk seek.
comcast 7703 151 2014/11/12 6 months ago Simulate bad network connections.
confd 7676 252 2013/10/01 2 months ago Manage local application configuration files using templates and data from etcd or consul.
toxiproxy 7552 389 2014/09/04 1 month ago Proxy to simulate network and system conditions for automated tests.
liteide 6657 367 2012/11/19 2 weeks ago LiteIDE is a simple, open source, cross-platform Go IDE.
drive 6245 188 2014/11/03 10 months ago Google Drive client for the commandline.
nes 4958 145 2015/03/02 6 months ago Nintendo Entertainment System (NES) emulator written in Go.
duplicacy 3983 95 2016/02/23 2 days ago A cross-platform network and cloud backup tool based on the idea of lock-free deduplication.
scc 2943 27 2018/03/01 3 days ago Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.
mylg 2538 112 2016/06/21 1 year ago Command Line Network Diagnostic tool written in Go.
goboy 2403 44 2017/08/20 1 year ago Nintendo Game Boy Color emulator written in Go.
sup 2306 70 2015/02/23 6 months ago Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
lgo 2225 47 2017/10/05 1 year ago Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.
circuit 1922 138 2014/04/10 1 year ago 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.
snap 1795 142 2014/08/13 3 years ago Powerful telemetry framework.
borg 1528 41 2016/09/10 3 years ago Terminal based search engine for bash snippets.
community 1448 53 2016/04/29 1 month ago Modern wiki software that integrates data from SaaS tools.
blocky 1168 19 2019/11/06 45 minutes ago Fast and lightweight DNS proxy as ad-blocker for local network with many features.
Go-Package-Store 886 22 2014/01/24 1 year ago App that displays updates for the Go packages in your GOPATH.
shell2http 871 23 2015/03/11 1 month ago Executing shell commands via http server (for prototyping or remote control).
vflow 855 85 2017/02/24 1 week ago High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
peg 827 27 2010/04/25 3 months ago Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
leaps 709 29 2014/06/19 10 months ago Pair programming service using Operational Transforms.
gfile 638 11 2019/03/08 9 months ago Securely transfer files between two computers, without any third party, over WebRTC.
guora 567 14 2020/08/13 1 year ago A self-hosted Quora like web application written in Go.
gebug 556 5 2020/07/20 3 days ago A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.
gocc 505 22 2015/06/05 6 days ago Gocc is a compiler kit for Go written in Go.
mockingjay-server 502 9 2015/04/04 11 months ago 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.
go-peerflix 441 20 2015/10/08 4 months ago Video streaming torrent client.
ipe 341 18 2015/01/13 8 months ago Open source Pusher server implementation compatible with Pusher client libraries written in GO.
IDE 324 19 2017/09/09 4 months ago Browser accessible IDE. Designed for Go with Go.
tcpprobe 315 9 2020/10/26 10 months ago TCP tool for network performance and path monitoring, including socket statistics.
wellington 301 13 2014/12/08 1 year ago Sass project management tool, extends the language with sprite functions (like Compass).
woke 293 7 2020/08/31 5 days ago Detect non-inclusive language in your source code.
cherry 267 13 2015/10/24 4 years ago Tiny webchat server in Go.
joincap 171 8 2018/05/31 9 months ago Command-line utility for merging multiple pcap files together.
tcpdog 170 10 2020/12/30 5 months ago eBPF based TCP observability.
Neo-cowsay 166 7 2016/11/05 1 week ago 🐮 cowsay is reborn. for a New Era.
orbit 160 8 2017/05/13 11 months ago A simple tool for running commands and generating files from templates.
vaku 126 3 2018/04/24 6 days ago CLI & API for folder-based functions in Vault like copy, move, and search.
dp 83 12 2018/12/12 3 weeks ago Through SDK for data exchange with blockchain, developers can get easy access to DAPP development.
boxed 75 3 2015/04/18 3 years ago Dropbox based blog engine.
crawley 45 1 2021/10/27 6 days ago Web scraper/crawler for cli.
naclpipe 22 6 2015/05/05 3 years ago Simple NaCL EC25519 based crypto pipe tool written in Go.
term-quiz 19 1 2017/12/26 3 years ago Quizzes for your terminal.
snitch 15 1 2017/04/06 3 years ago Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
GoDocTooltip 12 3 2016/01/21 1 day ago Chrome extension for Go Doc sites, which shows function description as tooltip at function list.
hoofli 1 2 2021/04/23 2 months ago Generate PlantUML diagrams from Chrome or Firefox network inspections.
⬆ back to top

Resources

Where to discover new Go libraries. ⬆ back to top

Benchmarks

Go_repository Stars Watchers Created_at Latest_push Description
go-web-framework-benchmark 1601 85 2016/04/06 4 months ago Go web framework benchmark.
go-http-routing-benchmark 1538 60 2013/12/16 3 days ago Go HTTP request router benchmark and comparison.
go_serialization_benchmarks 1232 38 2013/01/18 2 months ago Benchmarks of Go serialization methods.
skynet 1001 50 2016/02/14 6 months ago Skynet 1M threads microbenchmark.
speedtest-resize 214 7 2013/09/16 1 year ago Compare various Image resize algorithms for the Go language.
go-benchmarks 142 11 2016/02/25 5 years ago Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
gospeed 108 7 2011/05/23 9 months ago Go micro-benchmarks for calculating the speed of language constructs.
autobench 92 9 2013/03/28 7 years ago Framework to compare the performance between different Go versions.
golang-sql-benchmark 60 5 2014/09/24 3 years ago Collection of benchmarks for popular Go database/SQL utilities.
gocostmodel 57 6 2014/12/19 7 months ago Benchmarks of common basic operations for the Go language.
kvbench 24 1 2014/04/15 2 years ago Key/Value database benchmark.
go-benchmark-app 22 2 2017/01/24 4 years ago Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
go-ml-benchmarks 19 1 2021/02/09 10 months ago benchmarks for machine learning inference in Go.
go-json-benchmark 6 2 2019/11/10 1 year ago Go JSON benchmark.
⬆ back to top

Conferences

⬆ back to top

E-Books

Go_repository Stars Watchers Created_at Latest_push Description
GoBooks 10528 597 2015/05/05 1 week ago A curated list of Go books.
The-Golang-Standard-Library-by-Example 8271 589 2013/04/14 2 days ago Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。
gosuccinctly 21 4 2018/09/02 3 years ago in Persian.
⬆ back to top

Gophers

Go_repository Stars Watchers Created_at Latest_push Description
gophers 2542 59 2015/06/03 1 year ago Free gophers.
gophers 2538 97 2017/02/15 2 years ago Gopher artworks by Ashley McNamara.
free-gophers-pack 2342 57 2019/04/02 1 year ago Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.
gophericons 592 21 2015/08/22 3 years ago 34 gopher images for Go developers community
gopherize.me 539 8 2017/01/25 3 months ago Gopherize yourself.
gopher-stickers 517 14 2014/11/09 2 years ago gopher stickers
gopher-vector 401 12 2013/03/31 5 years ago Vector data of gopher
go-gopher 98 0 2018/03/28 4 months ago Gopher amigurumi toy pattern.
gopher-logos 96 9 2017/07/27 5 months ago adorable gopher logos.
gophers 54 2 2017/01/28 1 year ago random gopher graphics.
Go-gopher-Vector 41 2 2014/09/03 3 years ago Go gopher Vector Data [.ai, .svg].
gophers 12 2 2021/06/23 1 month ago Gophers by Aurélie Vache.
⬆ back to top

Meetups

Add the group of your city/country here (send PR) ⬆ back to top

Style Guides

Go_repository Stars Watchers Created_at Latest_push Description
go-styleguide 1191 31 2017/07/29 2 months ago 🏆 Opinionated Styleguide for the Go language
⬆ back to top

Twitter

⬆ back to top

Websites

Go_repository Stars Watchers Created_at Latest_push Description
awesome-awesomeness 28317 1713 2014/07/08 1 week ago List of other amazingly awesome lists.
awesome-remote-job 21454 991 2015/01/02 1 week ago Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
awesome-golang-workshops 452 17 2021/06/27 5 months ago A curated list of awesome golang workshops.
golang-graphics 139 8 2014/03/24 6 years ago Collection of Go images, graphics, and art.
gocryforhelp 40 11 2016/05/09 4 years ago Collection of Go projects that needs help. Good place to start your open-source way in Go.
awesome-go-extra 19 1 2021/06/01 19 hours ago Parse awesome-go README file and generate a new README file with repo info.
⬆ back to top

Tutorials

Go_repository Stars Watchers Created_at Latest_push Description
build-web-application-with-golang 39289 2443 2012/08/02 3 weeks ago Golang ebook intro how to build a web app with golang.
go-patterns 17832 613 2015/12/14 4 months ago Curated list of Go design patterns, recipes and idioms.
learn-go-with-tests 16059 312 2018/03/02 6 days ago Learn Go with test-driven development.
learngo 11848 283 2018/10/15 1 week ago Learn Go with thousands of examples, exercises, and quizzes.
golang-cheat-sheet 6066 197 2014/02/13 1 week ago Go's reference card.
golang-for-nodejs-developers 2698 40 2019/01/03 3 months ago Examples of Golang compared to Node.js for learning.
working-with-go 1157 48 2014/05/04 1 year ago Intro to go for experienced programmers.
ethereum-development-with-go-book 1097 50 2018/05/16 1 month ago A little e-book on Ethereum Development with Go.
go-clean-template 471 20 2021/01/18 2 days ago Clean Architecture template for Golang services.
goapp 323 9 2020/07/04 1 month ago An opinionated guideline to structure & develop a Go web application/service.
design-patterns 63 4 2020/09/24 1 year ago Collection of programming design patterns implemented in Go.
go-patterns 0 1 2021/06/25 5 months ago Advanced Go patterns with ready-to-run examples.

该项目源码Awesome Go Analysis 更专业的go开源项目分析请移步 Awesome Go

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.