go-libraries

command module
v0.0.0-...-4e89d4a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2021 License: MIT Imports: 12 Imported by: 0

README

Go Libraries

List of Go frameworks, libraries and software inspired by go-web-framework-stars.

List of frameworks and libraries from awesome-go.

Contents

Audio and Music

Libraries for manipulating audio.

Last Update: 2021-06-04 14:25:13

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
oto 817 67 32 ♪ A low-level library to play sound on multiple platforms ♪ 2017-05-04 12:16:30 2021-06-03 03:58:11
portaudio 451 70 9 Go bindings for the PortAudio audio I/O library 2015-09-16 07:59:23 2021-05-27 12:18:08
music-theory 341 35 8 Go models of Note, Scale, Chord and Key 2016-03-17 03:50:17 2021-06-02 20:06:48
waveform 337 28 4 Go package capable of generating waveform images from audio streams. MIT Licensed. 2014-09-13 18:07:36 2021-06-04 02:49:48
portmidi 255 49 12 Go bindings for libportmidi 2013-11-10 14:24:56 2021-05-21 01:31:22
id3v2 190 31 14 🎵 ID3 decoding and encoding library for Go 2016-05-15 18:36:53 2021-05-21 04:31:20
flac 156 30 10 Package flac provides access to FLAC (Free Lossless Audio Codec) streams. 2012-11-01 20:13:58 2021-06-03 18:26:50
malgo 149 24 1 Mini audio library 2017-11-09 18:27:52 2021-06-01 04:53:41
mix 139 22 11 Sequence-based Go-native audio mixer for music apps 2016-01-03 15:53:57 2021-05-16 16:31:33
GoAudio 134 9 4 Go tools for audio processing & creation 🎶 2020-07-05 01:35:41 2021-05-27 12:18:19
gaad 84 12 4 GAAD (Go Advanced Audio Decoder) 2016-07-11 14:19:16 2021-05-22 18:54:38
minimp3 56 9 0 Decode mp3 base on https://github.com/lieff/minimp3 2018-01-26 09:10:31 2021-05-21 04:31:20
vorbis 28 4 2 A "native" ogg vorbis decoder for Go (uses inline stb_vorbis) 2013-07-12 02:45:39 2020-10-04 21:02:12
gosamplerate 10 5 0 Go Bindings for libsamplerate 2016-11-20 21:19:31 2020-07-10 23:35:35

Authentication and OAuth

Libraries for implementing authentications schemes.

Last Update: 2021-05-13 16:58:49

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
oauth2 3,636 751 135 Go OAuth2 2014-04-14 15:07:35 2021-05-11 06:18:52
goth 3,159 386 54 Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications. 2014-10-14 20:38:12 2021-05-13 08:32:51
authboss 2,653 167 31 The boss of http auth. 2015-01-03 05:12:02 2021-05-13 08:46:57
loginsrv 1,776 151 28 JWT login microservice with plugable backends such as OAuth2, Google, Github, htpasswd, osiam, .. 2016-11-11 12:11:21 2021-05-09 07:41:07
go-jose 1,757 310 52 An implementation of JOSE standards (JWE, JWS, JWT) in Go 2014-11-14 18:27:31 2021-05-12 03:32:25
go-oauth2-server 1,747 264 27 A standalone, specification-compliant, OAuth2 server written in Golang. 2015-11-01 13:30:09 2021-05-11 09:53:45
osin 1,663 366 3 Golang OAuth2 server library 2013-09-10 19:52:00 2021-05-11 08:48:45
gologin 1,382 107 0 Go login handlers for authentication providers (OAuth1, OAuth2) 2015-06-23 04:40:52 2021-05-11 10:39:15
gorbac 1,167 139 2 goRBAC provides a lightweight role-based access control (RBAC) implementation in Golang. 2013-12-26 10:00:41 2021-05-10 07:28:22
scs 874 83 16 HTTP Session Management for Go 2016-08-08 16:42:05 2021-05-13 01:49:32
paseto 507 23 2 Platform-Agnostic Security Tokens implementation in GO (Golang) 2018-01-23 05:27:39 2021-05-10 14:51:57
permissions2 428 34 0 🔐 Middleware for keeping track of users, login states and permissions 2014-11-19 12:23:37 2021-05-05 10:58:58
jwt 258 24 2 Safe, simple and fast JSON Web Tokens for Go 2019-07-20 18:14:58 2021-05-13 05:18:17
go-guardian 248 20 5 Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication. 2020-05-14 12:15:56 2021-05-12 20:46:01
jwt 248 16 0 JSON Web Token library 2018-03-21 11:59:53 2021-04-26 21:55:24
jeff 225 12 1 🍍Jeff provides the simplest way to manage web sessions in Go. 2018-08-02 19:31:23 2021-04-10 19:18:30
jwt-auth 204 34 2 This package provides json web token (jwt) middleware for goLang http servers 2016-07-05 23:31:43 2021-04-29 12:05:02
httpauth 202 22 4 HTTP Authentication middlewares 2014-05-26 22:53:57 2021-04-09 05:36:49
branca 151 15 1 🔑 Secure alternative to JWT. Authenticated Encrypted API Tokens for Go. 2018-01-09 15:27:31 2021-05-09 09:10:04
sessionup 111 5 4 Straightforward HTTP session management 2019-07-23 18:55:21 2021-05-02 07:47:29
session 107 11 4 Go session management for web servers (including support for Google App Engine - GAE). 2016-02-08 09:07:07 2021-05-02 03:01:38
jwt 89 21 9 This is an implementation of JWT in golang! 2016-06-05 22:01:37 2021-04-30 03:25:36
sjwt 86 5 0 Simple JWT Golang 2019-06-20 04:06:21 2021-03-15 11:53:35
rbac 78 11 0 Minimalistic RBAC package for Go applications 2018-08-02 00:11:04 2021-04-07 08:43:47
sessions 59 6 2 A dead simple, highly performant, highly customizable sessions middleware for go http servers. 2017-04-29 01:09:28 2021-04-23 00:07:10
securecookie 47 6 1 Fast, secure and efficient secure cookie encoder/decoder 2017-09-03 14:40:29 2021-04-27 07:14:40
otpgo 18 0 1 Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go. 2020-08-19 13:20:23 2021-03-23 12:41:51
go-email-normalizer 16 1 0 Golang library for providing a canonical representation of email address. 2020-08-21 23:13:04 2021-04-25 19:34:45
scope 12 3 1 Easily Manage OAuth2 Scopes In Go 2019-09-23 10:48:14 2021-04-25 07:45:30
sessiongate-go 9 1 0 A driver for the SessionGate Redis module - easy session management using the Go language. 2017-10-20 03:39:11 2020-08-18 23:01:11
cookiestxt 6 2 0 cookiestxt implement parser of cookies txt format 2017-10-09 11:27:19 2021-03-08 11:45:58
casbin 1 1 0 An authorization library that supports access control models like ACL, RBAC, ABAC in Golang 2021-04-16 01:52:34 2021-04-21 10:46:11

Bot Building

Libraries for building and working with bots.

Last Update: 2021-06-04 14:25:08

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
olivia 2,930 286 18 💁‍♀️Your new best friend powered by an artificial neural network 2018-06-05 18:19:31 2021-06-04 05:51:05
telegram-bot-api 2,879 482 48 Golang bindings for the Telegram Bot API 2015-06-25 05:33:57 2021-06-02 15:59:24
telebot 1,877 258 32 Telebot is a Telegram bot framework in Go. 2015-06-25 19:27:50 2021-06-04 04:35:52
kelp 680 150 145 Kelp is a free and open-source trading bot for the Stellar DEX and 100+ centralized exchanges 2018-08-08 23:31:18 2021-06-04 00:28:15
bot 677 168 10 IRC, Slack, Telegram and RocketChat bot written in go 2015-09-22 16:41:13 2021-05-23 01:14:51
golang-crypto-trading-bot 551 132 11 A golang implementation of a console-based trading bot for cryptocurrency exchanges 2017-05-14 22:11:41 2021-06-04 00:29:10
slacker 514 66 4 Slack Bot Framework 2017-05-20 01:41:20 2021-06-01 07:26:38
joe 422 24 5 A general-purpose bot library inspired by Hubot but written in Go. 🤖 2019-03-03 11:19:18 2021-06-03 01:24:18
tbot 312 42 2 Go library for Telegram Bot API 2015-09-11 16:19:25 2021-05-25 13:33:10
go-sarah 193 12 0 Simple yet customizable bot framework written in Go. 2016-11-06 10:04:43 2021-06-02 05:00:55
go-twitch-irc 170 36 11 go irc client for twitch.tv 2017-03-23 21:31:35 2021-06-02 14:05:58
tenyks 169 18 12 The Tenyks IRC bot. 2012-08-26 02:02:24 2021-04-16 01:57:30
hanu 133 20 2 Golang Framework for writing Slack bots 2016-09-16 07:10:42 2021-05-16 15:20:31
go-tgbot 107 4 2 Golang telegram bot API wrapper, session-based router and middleware 2016-12-11 06:06:32 2021-05-28 08:08:33
margelet 63 10 0 Telegram Bot Framework for Go 2015-11-21 13:02:17 2021-04-27 09:11:42
ephemeral-roles 49 5 7 A Discord bot for managing ephemeral roles based upon voice channel member presence. 2017-12-19 15:20:30 2021-06-02 00:52:05
slackscot 44 8 1 Slack bot core/framework written in Go with support for reactions to message updates/deletes 2015-10-22 04:54:55 2021-05-02 22:08:14
slack-bot 36 13 3 Ready to use Slack bot for lazy developers: start Jenkins jobs, watch Jira tickets, watch pull requests... 2019-07-19 07:49:06 2021-06-02 09:17:58
govkbot 36 3 1 VK bot package for Go 2016-07-11 22:09:54 2021-04-08 06:24:17
micha 18 3 0 Client lib for Telegram bot api 2016-04-14 12:09:44 2021-05-30 07:09:14
echotron 12 2 0 Library for telegram bots written in pure go. 2019-07-22 17:31:49 2021-05-21 04:31:23

Build Automation

Libraries and tools helping with build automation.

Last Update: 2021-05-29 14:25:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
realize 4,025 210 68 Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading. 2016-07-12 08:07:25 2021-05-28 08:56:14
task 3,422 218 94 A task runner / simpler Make alternative written in Go 2017-02-27 00:46:04 2021-05-28 06:32:49
mmake 1,570 43 11 Modern Make 2017-02-15 22:01:21 2021-05-28 08:54:45
goyek 225 12 3 Create build pipelines in Go 2020-10-11 13:20:55 2021-05-28 16:54:50
taskctl 109 8 7 Concurrent task runner, developer's routine tasks automation toolkit. Simple modern alternative to GNU Make 🧰 2019-11-12 13:19:09 2021-05-27 01:42:18
1build 96 25 30 Frictionless way of managing project-specific commands 2019-04-23 17:05:38 2021-05-26 16:00:32
gilbert 89 4 0 Build system and task runner for Go projects 2019-01-30 09:02:31 2021-05-25 10:17:10
gaper 47 3 7 Builds and restarts a Go project when it crashes or some watched file changes 2018-06-16 02:46:38 2021-05-08 13:48:56
anko 15 0 0 🔮 Simple application watcher 2021-03-02 14:08:42 2021-05-21 04:31:24

CSS Preprocessors

Libraries for preprocessing CSS files.

Last Update: 2021-05-28 12:42:09

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gcss 442 33 8 Pure Go CSS Preprocessor 2014-09-04 14:38:20 2021-05-26 15:17:44
go-libsass 172 22 13 Go wrapper for libsass, the only Sass 3.5 compiler for Go 2015-04-19 15:09:47 2021-04-28 14:30:31

Command Line - Advanced Console UIs

Libraries for building Console Applications and Console User Interfaces.

Last Update: 2021-05-16 20:44:39

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
termui 10,925 693 82 Golang terminal dashboard 2015-02-03 14:09:27 2021-05-15 19:30:40
gocui 7,138 479 70 Minimalist Go package aimed at creating Console User Interfaces. 2014-01-04 02:50:20 2021-05-16 05:42:35
termbox-go 4,036 351 40 Pure Go termbox implementation 2012-01-12 21:03:03 2021-05-15 19:31:04
go-prompt 3,907 230 78 Building powerful interactive prompts in Go, inspired by python-prompt-toolkit. 2017-08-14 16:02:09 2021-05-16 06:37:39
progressbar 1,856 102 9 A really basic thread-safe progress bar for Golang applications 2017-10-26 18:28:10 2021-05-16 07:02:44
uiprogress 1,796 119 24 A go library to render progress bars in terminal applications 2015-11-17 00:59:24 2021-05-14 11:38:53
termdash 1,679 84 39 Terminal based dashboard. 2018-03-24 12:01:49 2021-05-12 21:08:53
asciigraph 1,662 61 5 Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. 2018-06-17 10:37:16 2021-05-12 22:06:54
pterm 1,323 47 17 ✨ #PTerm is a modern go module to beautify console output. Featuring charts, progressbars, tables, trees, and many more 🚀 It's completely configurable and 100% cross-platform compatible. 2020-09-17 15:52:59 2021-05-16 13:10:17
uilive 1,303 64 9 uilive is a go library for updating terminal output in realtime 2015-11-16 06:13:10 2021-05-16 10:55:52
mpb 1,266 73 4 multi progress bar for Go cli applications 2016-12-14 11:56:29 2021-05-16 12:10:24
aurora 1,085 49 4 Golang ultimate ANSI-colors that supports Printf/Sprintf methods 2016-11-06 22:37:12 2021-05-16 11:14:45
color 836 56 2 🎨 Terminal color rendering library, support 8/16 colors, 256 colors, RGB color rendering output, support Print/Sprintf methods, compatible with Windows. GO CLI 控制台颜色渲染工具库,支持16色,256色,RGB色彩渲染输出,使用类似于 Print/Sprintf,兼容并支持 Windows 环境的色彩渲染 2018-07-01 07:28:17 2021-05-16 08:22:43
uitable 610 25 3 A go library to improve readability in terminal apps using tabular data 2015-11-13 21:59:21 2021-05-12 21:25:40
go-colorable 529 67 10 Another Text Attribute Manupulator 2014-07-30 02:38:06 2021-05-13 13:08:42
go-isatty 515 69 5 Change the color of console text. 2014-04-01 01:53:09 2021-05-14 21:13:02
gommon 397 83 15 Common packages for Go 2015-03-12 22:35:57 2021-05-05 13:25:07
chalk 368 19 4 Intuitive package for prettifying terminal/console output. http://godoc.org/github.com/ttacon/chalk 2014-07-18 19:38:58 2021-04-29 21:14:33
simpletable 306 22 2 Simple tables in terminal with Go 2017-03-29 07:27:23 2021-05-15 17:18:28
tabby 288 12 2 A tiny library for super simple Golang tables 2018-12-17 23:35:39 2021-05-14 00:26:27
go-colortext 206 19 4 Change the color of console text. 2013-01-23 03:38:54 2021-02-05 19:31:16
yacspin 154 4 0 Yet Another CLi Spinner; providing over 70 easy to use and customizable terminal spinners for multiple OSes 2019-12-29 07:41:23 2021-04-30 09:46:09
box-cli-maker 133 2 0 Make Highly Customized Boxes for your CLI 2020-05-01 07:23:56 2021-05-12 01:20:04
cfmt 78 5 1 🎨 Contextual fmt inspired by bootstrap color classes 2018-03-15 19:04:27 2021-03-09 07:48:50
tabular 54 5 0 Tabular simplifies printing ASCII tables from command line utilities 2018-04-23 21:17:03 2021-04-05 01:37:36
ctc 31 1 0 Console Text Colors - The non-invasive cross-platform terminal color library does not need to modify the Print method 2018-04-27 18:07:42 2021-04-09 10:23:23
colourize 24 3 0 An ANSI colour terminal package for Go 2015-05-11 11:49:39 2021-03-30 22:37:59
cfmt 22 0 0 Small library for simple and convenient formatted stylized output to the console. 2020-11-13 20:29:45 2021-05-08 21:16:52
marker 16 13 3 🖍️ Marker is the easiest way to match and mark strings for colorful terminal outputs! 2019-08-28 15:44:08 2021-04-10 07:27:52
go-ataman 9 1 0 Another Text Attribute Manupulator 2017-05-17 19:04:57 2020-12-23 05:34:36
table 6 0 0 pretty colorfull tables in go with less effort 2020-09-22 05:42:34 2021-03-04 17:40:40

Command Line - Standard CLI

Libraries for building standard or basic Command Line applications.

Last Update: 2021-05-19 15:50:03

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
cobra 21,554 1,817 312 A Commander for modern Go CLI interactions 2013-09-03 20:40:26 2021-05-19 08:48:39
cli 15,800 1,377 76 A simple, fast, and fun package for building command line apps in Go 2013-07-13 19:32:06 2021-05-19 08:18:05
kingpin 3,050 228 25 CONTRIBUTIONS ONLY: A Go (golang) command line and flag parser 2014-05-14 20:09:04 2021-05-19 03:27:50
dnote 2,079 87 71 A simple command line notebook for programmers 2017-03-30 23:07:25 2021-05-19 07:25:40
go-flags 1,925 234 27 go command line option parser 2012-08-31 13:57:58 2021-05-18 08:43:37
pflag 1,428 235 101 Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. 2013-08-30 14:53:31 2021-05-19 07:26:26
cli 1,316 102 7 A Go library for implementing command-line interfaces. 2013-11-03 06:47:54 2021-05-19 03:27:02
go-arg 1,138 65 6 Struct-based argument parsing in Go 2015-11-01 01:30:06 2021-05-19 02:30:37
liner 785 105 12 Pure Go line editor with history, inspired by linenoise 2012-08-15 16:34:55 2021-05-11 19:25:31
complete 774 61 20 bash completion written in go + bash completion for go command 2017-05-05 21:34:07 2021-05-18 21:03:32
mow.cli 735 50 25 A versatile library for building CLI applications in Go 2014-12-18 19:34:20 2021-05-19 07:34:14
flaggy 718 22 12 Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies. 2018-03-05 05:55:05 2021-05-15 18:31:58
ops 577 66 129 ops - build and run nanos unikernels 2018-09-10 17:57:47 2021-05-19 08:18:42
cli 577 40 3 CLI - A package for building command line app with go 2016-02-26 16:45:29 2021-05-16 03:51:34
argparse 314 41 11 Argparse for golang. Just because flag sucks 2017-11-24 06:42:20 2021-05-18 17:51:58
climax 185 17 6 Climax is an alternative CLI with the human face 2015-11-03 21:04:57 2021-05-03 19:53:00
hiboot 156 28 3 hiboot is a high performance web and cli application framework with dependency injection support 2018-03-16 11:21:46 2021-05-15 10:22:22
commandeer 143 14 3 Automatically sets up command line flags based on struct fields and tags. 2017-10-12 02:51:05 2021-04-09 12:27:22
wmenu 136 18 1 An easy to use menu structure for cli applications that prompts users to make choices. 2016-04-20 13:09:44 2021-05-05 18:56:27
sflags 129 21 7 Generate flags by parsing structures 2016-12-04 14:49:27 2021-05-17 20:17:31
flag 114 6 1 Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand 2016-10-05 16:49:41 2021-04-27 08:28:29
clif 107 11 3 Another CLI framework for Go. It works on my machine. 2015-05-30 18:30:08 2021-04-24 16:54:07
job 100 7 1 JOB, make your short-term command as a long-term job. 将命令行规划成任务的工具 2019-04-09 11:14:51 2021-05-06 11:27:42
cli 87 9 2 Simple and complete API for building command line applications in Go 2017-05-24 23:07:07 2021-05-18 12:56:03
env 76 4 0 Tag-based environment configuration for structs 2017-06-14 20:01:55 2021-05-02 13:35:04
cmdr 71 7 1 Golang library with POSIX-compliant command-line UI (CLI) and Hierarchical-configuration. Better substitute for stdlib flag. 2019-05-15 09:58:02 2021-05-14 05:51:23
clir 63 8 4 A Simple and Clear CLI library. Dependency free. 2019-11-18 19:52:00 2021-04-20 22:09:08
wlog 51 5 0 A simple logging interface that supports cross-platform color and concurrency. 2016-04-13 16:47:40 2021-04-25 04:09:14
gocmd 50 6 1 A Go library for building command line applications. 2018-01-08 04:52:02 2021-05-17 20:43:23
strumt 44 4 0 Strumt is a library to create prompt chain 2017-06-19 19:33:16 2021-05-13 22:02:54
flagvar 36 1 0 A collection of CLI argument types for the Go flag package. 2018-05-18 18:45:16 2020-09-18 12:21:54
cmd 32 1 0 The standard library flag package with its missing features 2019-10-29 00:32:11 2021-02-02 14:29:08
argv 30 6 1 Argparse for golang. Just because flag sucks 2017-01-22 10:37:21 2021-03-30 02:32:52
go-getoptions 30 4 0 Fully featured Go (golang) command line option parser with built-in auto-completion support. 2015-12-18 02:21:14 2021-02-12 07:38:33
go-commander 22 4 1 Go library to simplify CLI workflow 2016-10-10 10:09:41 2021-05-01 01:52:24
sand 15 1 0 Package for creating interpreters 2018-11-18 22:44:41 2021-05-10 22:00:31
ts 13 1 0 timestamp convert & compare tool. 时间戳转换与对比工具 2019-06-25 10:21:13 2021-02-13 09:18:33

Configuration

Libraries for configuration parsing.

Last Update: 2021-06-03 12:25:23

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
viper 15,760 1,390 477 Go configuration with fangs 2014-04-02 14:33:33 2021-06-03 05:01:07
godotenv 3,874 228 46 A Go port of Ruby's dotenv library (Loads environment variables from .env.) 2013-07-30 07:45:19 2021-06-03 05:02:22
envconfig 3,614 295 44 Golang library for managing configuration data from environment variables 2013-11-06 17:01:55 2021-06-02 21:07:36
ini 2,507 310 31 Package ini provides INI file read and write functionality in Go. 2014-12-18 07:36:37 2021-06-03 01:15:47
env 1,891 145 2 Simple lib to parse environment variables to structs 2015-07-28 02:14:37 2021-06-03 03:47:07
konfig 603 40 4 Composable, observable and performant config handling for Go for the distributed processing era 2019-01-18 17:03:03 2021-05-30 13:11:57
koanf 496 42 3 Light weight, extensible, configuration management library for Go. Built in support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. 2019-06-18 06:34:05 2021-05-30 13:17:37
confita 385 39 19 Load configuration in cascade from multiple backends into a struct 2017-12-21 10:49:18 2021-05-29 07:51:37
cleanenv 290 31 19 ✨Clean and minimalistic environment configuration reader for Golang 2019-07-12 15:28:52 2021-06-02 13:23:14
config 256 10 1 12 factor configuration as a typesafe struct in as little as two function calls 2019-04-02 13:41:22 2021-05-21 04:31:28
store 253 16 2 A dead simple configuration manager for Go applications 2015-10-03 19:17:28 2021-05-25 06:32:04
config 245 31 1 📝 Go config manage(load,get,set). support JSON, YAML, TOML, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 2018-07-07 08:11:39 2021-06-03 03:32:16
config 239 43 4 JSON or YAML configuration wrapper with convenient access methods. 2014-04-21 15:09:39 2021-05-30 23:10:08
hjson-go 238 26 3 Hjson for Go 2016-08-05 22:59:18 2021-05-21 04:31:30
aconfig 225 15 6 Simple, useful and opinionated config loader. 2020-06-26 19:43:20 2021-05-31 18:19:34
config 205 11 1 🛠 A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP 2017-04-02 18:37:05 2021-05-01 01:16:15
envconfig 201 21 0 Small library to read your configuration from environment variables 2015-04-21 23:37:17 2021-05-19 07:28:37
fig 151 9 2 A minimalist Go configuration library 2020-01-16 18:43:19 2021-05-31 03:26:57
gcfg 150 47 8 read INI-style configuration files into Go structs; supports user-defined types and subsections 2015-08-17 14:40:55 2021-05-18 08:34:01
goconfig 147 20 7 goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. 2016-12-18 11:22:41 2021-06-03 03:38:05
config 141 11 1 A lightweight yet powerful config package for Go projects 2019-10-15 22:51:19 2021-05-27 08:12:18
xdg 106 6 0 Go implementation of the XDG Base Directory Specification and XDG user directories 2014-08-22 08:23:40 2021-05-31 20:56:05
envh 96 1 0 Go helpers to manage environment variables 2017-01-12 11:25:48 2021-05-21 04:31:29
envcfg 93 6 0 Un-marshaling environment variables to Go structs 2014-11-29 11:43:53 2020-12-06 17:12:56
onion 91 8 8 Layer based configuration for golang 2015-07-22 14:28:21 2020-12-13 20:13:08
harvester 83 18 4 Harvest configuration, watch and notify subscriber 2019-04-09 07:37:19 2021-05-31 10:01:42
configuro 73 9 0 An opinionated configuration loading framework for Containerized and Cloud-Native applications. 2020-04-09 22:10:34 2021-05-27 15:17:46
xdg 62 5 1 A cross platform package that follows the XDG Standard 2017-07-20 15:58:29 2021-02-25 20:54:58
gofigure 59 9 1 Go configuration made easy! 2014-11-25 00:12:40 2020-08-31 14:19:02
configure 54 9 2 Configure is a Go package that gives you easy configuration of your project through redundancy 2015-06-14 07:46:56 2021-05-27 13:28:12
go-aws-ssm 39 7 0 Go package that interfaces with AWS System Manager 2019-01-24 09:01:19 2021-05-28 02:10:40
configuration 38 6 0 Library for setting values to structs' fields from env, flags, files or default tag 2019-11-27 17:58:49 2021-04-16 22:04:01
gone 35 5 0 Golang packages for writing small daemons and servers. 2016-09-05 09:39:11 2021-05-24 14:22:10
ingo 34 7 0 persistent storage for flags in go 2016-02-07 22:57:40 2021-02-27 17:38:16
go-up 30 4 1 go-up! A simple configuration library with recursive placeholders resolution and no magic. 2018-02-18 09:50:00 2021-04-15 10:41:59
mini 28 6 1 A golang package for parsing ini-style configuration files 2015-04-29 23:52:36 2020-12-08 09:30:24
hocon 24 3 0 go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config 2020-03-01 18:20:12 2021-05-13 11:33:06
genv 22 1 0 Genv is a library for Go (golang) that makes it easy to read and use environment variables in your projects. It also allows environment variables to be loaded from the .env file. 2019-07-15 10:25:57 2021-04-20 12:32:38
conflate 19 2 0 Library providing routines to merge and validate JSON, YAML and/or TOML files 2018-02-01 19:06:15 2021-05-20 08:54:46
go-ssm-config 10 5 4 Go utility for loading configuration parameters from AWS SSM (Parameter Store) 2019-12-02 18:47:38 2021-05-20 10:56:58
envconf 10 3 0 Configure Go applications from the environment 2014-10-26 12:12:26 2020-08-31 14:12:53
go-ini 6 1 1 automatic mirror of https://git.sr.ht/~spc/go-ini 2019-09-11 18:38:20 2021-05-21 04:31:29
swap 4 0 0 Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env). 2020-04-12 23:28:19 2021-02-25 07:52:33
typenv 4 0 0 Go minimalist typed environment variables library 2020-06-30 18:26:09 2021-02-08 22:09:22
env 4 0 0 Golang Get Environment Variables Package 2019-07-24 06:37:13 2021-05-06 07:08:59
gonfig 2 0 0 Tag based configuration loader from different providers 2021-01-21 13:44:44 2021-03-07 21:29:39

Continuous Integration

Tools for help with continuous integration.

Last Update: 2021-06-03 14:25:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
drone 23,251 2,261 73 Drone is a Container-Native, Continuous Delivery Platform 2014-02-07 07:54:44 2021-06-03 07:17:36
cds 3,415 325 162 Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform 2016-10-11 08:28:23 2021-06-03 03:34:14
goveralls 690 128 10 A tool for testing, building, signing, and publishing binaries. 2013-04-17 10:58:40 2021-05-25 00:42:42
overalls 106 26 3 👖Multi-Package go project coverprofile for tools like goveralls 2015-07-30 11:30:11 2021-03-06 16:05:33
duci 64 3 4 The simple ci server 2018-04-01 01:51:02 2021-06-03 00:37:46
gomason 51 6 1 A tool for testing, building, signing, and publishing binaries. 2017-11-18 00:59:11 2021-05-21 04:31:31
roveralls 14 4 0 A Go recursive coverage testing tool 2016-06-26 07:45:32 2020-08-20 00:07:58

Database - Database schema migration

Last Update: 2021-05-29 10:25:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
migrate 6,514 681 121 Database migrations. CLI and Golang library. 2018-01-19 09:30:58 2021-05-29 02:01:31
sql-migrate 2,140 203 64 SQL schema migration tool for Go. 2014-09-09 07:31:41 2021-05-28 00:47:21
goose 1,693 263 42 Goose database migration tool - fork of https://bitbucket.org/liamstask/goose 2016-02-25 20:39:37 2021-05-28 19:31:16
pop 1,068 216 118 A Tasty Treat For All Your Database Needs 2018-02-07 21:13:46 2021-05-28 01:31:07
skeema 896 81 29 Schema management CLI for MySQL 2016-10-31 23:18:56 2021-05-28 15:14:59
gormigrate 609 64 8 Minimalistic database migration helper for Gorm ORM 2016-08-31 11:46:23 2021-05-28 01:31:17
darwin 117 21 4 Database schema evolution library for Go 2016-04-05 15:57:59 2021-05-26 06:49:05
migrator 111 14 5 Dead simple Go database migration library. 2019-02-04 09:40:01 2021-05-12 18:03:39
go-pg-migrations 77 17 2 A Go package to help write migrations with go-pg/pg. 2018-08-11 07:00:13 2021-05-23 07:10:43
go-fixtures 26 8 0 Django style fixtures for Golang's excellent built-in database/sql library. 2015-12-24 11:27:45 2021-04-08 02:57:47
pravasan 24 4 30 Simple Migration Tool - written in Go 2015-01-03 17:11:05 2019-03-22 13:54:35
avro 23 3 0 Apache AVRO for go 2019-04-07 12:22:46 2021-04-05 18:53:01
schema 7 1 3 Embedded schema migration package for Go 2019-09-24 19:27:13 2021-01-05 05:27:47
migrator 7 0 0 MySQL database migrator 2020-06-27 14:40:29 2021-05-26 11:37:49
go-pg-migrate 4 1 0 CLI-friendly package for go-pg migrations management. 2021-01-16 17:01:32 2021-02-17 10:16:36

Database - Database tools

Last Update: 2021-06-04 13:17:36

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
vitess 11,979 1,531 677 Vitess is a database clustering system for horizontal scaling of MySQL. 2013-06-27 21:20:28 2021-06-04 02:57:17
pgweb 6,877 539 53 Cross-platform client for PostgreSQL databases 2014-10-09 01:41:32 2021-06-04 04:12:48
kingshard 5,691 1,143 151 A high-performance MySQL proxy 2015-07-04 02:22:32 2021-06-03 03:14:05
orchestrator 4,090 699 336 MySQL replication topology management and HA 2016-11-30 13:44:24 2021-06-04 03:17:28
go-mysql-elasticsearch 3,487 682 196 Sync MySQL data into elasticsearch 2015-01-15 09:54:18 2021-06-01 05:30:05
go-mysql 3,079 696 145 a powerful mysql toolset with Go 2014-02-21 01:56:45 2021-06-04 00:57:51
prest 2,684 194 131 pREST (PostgreSQL REST), simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new 2016-11-22 05:17:05 2021-06-02 02:27:46
chproxy 627 134 34 ClickHouse http proxy and load balancer 2017-09-18 13:09:23 2021-06-03 11:29:54
pg_timetable 406 24 2 pg_timetable: Advanced scheduling for PostgreSQL 2018-12-19 10:19:51 2021-05-28 08:42:13
clickhouse-bulk 283 60 14 Collects many small inserts to ClickHouse and send in big inserts 2017-04-29 10:38:41 2021-06-02 07:02:08
myreplication 173 46 5 Golang MySql binary log replication listener 2015-02-04 20:59:49 2021-06-01 07:46:11
octillery 132 18 6 Go package for sharding databases ( Supports every ORM or raw SQL ) 2018-11-26 10:39:35 2021-05-31 09:09:31
dbbench 58 6 13 🏋️ dbbench is a simple database benchmarking tool which supports several databases and own scripts 2018-11-24 13:21:18 2021-05-21 04:31:38
datagen 32 4 0 A fast data generator that's multi-table aware and supports multi-row DML. 2019-04-18 19:58:01 2021-05-25 17:45:34
prep 28 2 0 Prep finds all SQL statements in a Go package and instruments db connection with prepared statements 2017-12-11 23:47:38 2021-05-03 10:39:05
rwdb 12 0 0 Database wrapper that manage read write connections 2017-10-04 03:55:29 2021-05-29 03:21:37

Database - Databases implemented in Go

Last Update: 2021-06-01 08:25:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
prometheus 36,929 5,975 458 The Prometheus monitoring system and time series database. 2012-11-24 11:14:12 2021-06-01 00:25:39
tidb 27,953 4,393 1,874 TiDB is an open source distributed HTAP database compatible with the MySQL protocol 2015-09-06 04:01:52 2021-06-01 01:23:41
influxdb 21,506 2,963 1,413 Scalable datastore for metrics, events, and real-time analytics 2013-09-26 14:31:10 2021-05-31 23:26:27
cockroach 20,632 2,682 4,300 CockroachDB - the open source, cloud-native distributed SQL database. 2014-02-06 00:18:47 2021-06-01 01:04:50
dgraph 16,134 1,173 80 Native GraphQL Database with graph backend 2015-08-25 07:15:56 2021-06-01 00:28:25
groupcache 10,287 1,156 36 groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. 2013-07-22 21:55:07 2021-05-31 17:36:13
badger 9,299 772 6 Fast key-value DB in Go. 2017-01-26 05:09:49 2021-06-01 01:00:21
rqlite 8,280 424 50 The lightweight, distributed relational database built on SQLite 2014-08-23 04:31:18 2021-06-01 00:01:15
go-cache 5,026 633 51 An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. 2012-01-02 13:07:13 2021-05-31 14:46:34
bigcache 4,876 412 48 Efficient cache for gigabytes of data written in Go. 2016-03-23 07:18:52 2021-05-31 07:40:05
bbolt 4,486 341 103 An embedded key/value database for Go. 2017-06-17 01:42:09 2021-05-31 13:30:11
VictoriaMetrics 4,331 367 266 VictoriaMetrics: fast, cost-effective monitoring solution and time series database 2018-09-30 09:58:01 2021-05-31 14:24:45
goleveldb 4,322 654 69 LevelDB key/value database in Go. 2013-01-23 04:08:58 2021-05-29 18:08:16
ledisdb 3,639 416 1 A high performance NoSQL Database Server powered by Go 2014-04-30 00:43:09 2021-05-31 03:26:50
buntdb 3,266 230 2 BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support 2016-07-19 22:11:40 2021-05-31 12:54:25
immudb 2,758 112 55 immudb - world’s fastest immutable database 2019-11-07 08:22:16 2021-06-01 00:29:44
tiedot 2,592 258 26 A rudimentary implementation of a basic document (NoSQL) database in Go 2013-05-26 10:03:49 2021-05-31 03:13:11
nutsdb 1,648 138 29 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. 2018-12-07 07:03:38 2021-05-30 12:43:40
gcache 1,540 190 16 An in-memory cache library for golang. It supports multiple eviction policies: LRU, LFU, ARC 2015-01-24 18:17:07 2021-05-31 17:24:08
cache2go 1,535 433 23 Concurrency-safe Go caching library with expiration capabilities and access counters 2013-11-11 03:45:02 2021-05-31 03:54:16
CovenantSQL 1,184 131 25 A decentralized, trusted, high performance, SQL database with blockchain features 2018-04-11 09:52:58 2021-05-30 18:50:02
fastcache 1,135 87 23 Fast thread-safe inmemory cache for big number of entries in Go. Minimizes GC overhead 2018-11-22 22:50:13 2021-05-31 11:06:06
diskv 1,059 89 7 A disk-backed key-value store. 2012-03-21 16:44:32 2021-05-21 04:31:35
moss 809 48 46 moss - a simple, fast, ordered, persistable, key-val storage library for golang 2016-02-06 20:27:22 2021-05-30 13:30:18
eliasdb 801 39 10 EliasDB a graph-based database. 2016-08-13 13:53:28 2021-05-31 08:58:58
pogreb 787 56 8 Embedded key-value store for read-heavy workloads written in Go 2018-01-06 23:16:36 2021-05-30 10:14:24
databunker 764 28 0 Secure storage for personal records built to comply with GDPR 2019-12-08 21:55:55 2021-05-31 23:48:05
bitcask 723 62 10 🔑A high performance Key/Value store written in Go with a predictable read/write performance and high throughput. Uses a Bitcask on-disk layout (LSM+WAL) similar to Riak. 2019-03-12 13:57:35 2021-05-30 13:33:33
rosedb 441 82 1 A simple k-v database in pure Golang, supports string, list, hash, set, sorted set. Go 语言实现的 k-v 数据库项目,简洁易懂,适合新手进阶,欢迎 Pr! 2020-12-06 07:02:48 2021-06-01 00:38:15
levigo 396 81 3 levigo is a Go wrapper for LevelDB 2012-01-17 08:17:54 2021-05-28 05:09:18
pudge 289 22 0 Fast and simple key/value store written using Go's standard library 2018-11-20 10:11:53 2021-05-31 00:09:05
vasto 212 23 4 A distributed key-value store. On Disk. Able to grow or shrink without service interruption. 2018-01-16 05:16:57 2021-05-31 02:04:17
kivik 208 29 11 Kivik provides a common interface to CouchDB or CouchDB-like databases for Go and GopherJS. 2017-02-09 14:14:54 2021-05-21 04:31:36
piladb 186 19 9 Lightweight RESTful database engine based on stack data structures 2015-09-08 23:12:22 2021-04-15 21:45:35
golang-scribble 124 13 1 A tiny Golang JSON database 2018-06-21 22:13:33 2021-05-26 14:19:19
slowpoke 98 8 0 Low-level key/value store in pure Go. 2018-02-19 09:22:37 2020-11-15 06:42:52
cache 86 8 0 👜 Cache arbitrary data with an expiration time. 2019-05-11 12:42:45 2021-05-11 13:27:32
bcache 66 10 3 Eventually consistent distributed in-memory cache Go library 2018-12-26 15:45:16 2021-05-07 05:37:53
unitdb 63 7 0 Fast specialized time-series database for IoT, real-time internet connected devices and AI analytics. 2019-08-29 18:21:27 2021-05-21 16:10:59
couchcache 53 4 0 A RESTful caching micro-service in Go backed by Couchbase 2015-04-05 07:13:05 2021-03-03 04:44:10
hare 38 2 1 Hare is a nimble little database management system for Go. 2016-10-05 20:05:45 2021-05-21 17:55:23
clusteredBigCache 37 4 2 golang bigcache with clustering as a library. 2017-12-18 07:48:07 2021-03-12 09:43:04
coffer 25 1 0 Simply ACID* key-value database. At the medium or even low latency it tries to provide greater throughput without losing the ACID properties of the database. The database provides the ability to create record headers at own discretion and use them as transactions. The maximum size of stored data is limited by the size of the computer's RAM. 2019-05-13 18:30:23 2021-05-11 17:35:16
tempdb 15 1 0 Key-value store for temporary items 📝 2017-03-17 18:03:42 2021-04-26 04:59:34
ttlcache 3 1 0 Simple in-memory key-value storage with TTL for each record. 2021-01-06 19:24:26 2021-05-24 05:31:48

Database - SQL query builder

libraries for building and using SQL

Last Update: 2021-05-31 14:25:09

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
squirrel 3,924 306 37 Fluent SQL generation for golang 2014-01-18 05:29:58 2021-05-31 05:47:39
xo 2,765 251 101 Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server 2016-02-05 10:22:20 2021-05-30 21:37:28
gendry 1,217 151 4 a golang library for sql builder 2017-12-01 08:15:43 2021-05-29 08:38:35
goqu 1,067 98 40 SQL builder and query library for golang 2015-02-21 01:06:00 2021-05-30 14:11:15
dotsql 588 45 6 A Golang library for using SQL. 2014-11-20 12:14:39 2021-05-25 10:47:31
ozzo-dbx 530 48 36 A Go (golang) package that enhances the standard database/sql package by providing powerful data retrieval methods as well as DB-agnostic query building capabilities. 2015-12-10 22:39:26 2021-05-27 10:04:08
jet 414 26 16 Type safe SQL builder with code generation and automatic query result data mapping 2019-03-02 11:06:23 2021-05-30 21:29:49
dbq 289 15 1 Zero boilerplate database operations for Go 2019-07-11 02:17:33 2021-05-28 18:53:51
sqrl 222 27 8 Fluent SQL generation for golang 2014-06-25 10:03:06 2021-05-24 17:39:28
sqlingo 150 10 0 💥 A lightweight DSL & ORM which helps you to write SQL in Go. 2018-11-18 14:11:03 2021-05-28 15:01:19
go-structured-query 104 4 2 Type safe SQL query builder and struct mapper for Go 2020-05-30 14:07:30 2021-05-31 02:32:17
igor 83 3 0 igor is an abstraction layer for PostgreSQL with a gorm like syntax. 2016-03-10 14:45:08 2020-12-04 02:27:24
go-hasql 83 4 1 Go library for accessing multi-host SQL database installations 2020-08-19 09:56:00 2021-05-07 22:05:04
godbal 52 27 0 Database Abstraction Layer (dbal) for Go. Support SQL builder and get result easily (now only support mysql) 2018-02-28 05:47:42 2021-04-22 06:11:02
buildsqlx 35 3 8 Go database query builder library for PostgreSQL 2019-08-18 08:18:21 2021-05-25 20:30:37
qry 20 3 1 Write your SQL queries in raw files with all benefits of modern IDEs, use them in an easy way inside your application with all the profit of compile time constants 2019-08-20 09:01:00 2021-02-03 14:40:44
sqlf 18 1 0 Fast SQL query builder for Go 2019-07-20 07:03:27 2021-04-29 15:03:08
gosql 15 0 0 SQL query builder for Go 2020-01-08 17:13:09 2020-12-25 02:43:58
mpath-go 7 0 0 Golang package for MPTT (Modified Preorder Tree Traversal) - materialized path realisation. 2020-01-09 15:04:45 2020-11-25 06:12:24
ormlite 0 0 2 Lightweight package containing some ORM-like features and helpers for sqlite databases. 2018-06-28 13:42:09 2021-01-13 15:25:06

Database Drivers - Multiple Backends.

Last Update: 2021-06-02 10:25:35

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
cayley 13,821 1,248 87 An open-source graph database 2014-06-05 18:49:41 2021-06-01 06:10:44
gokv 340 33 30 Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more) 2018-10-08 18:55:22 2021-05-27 11:37:35
cachego 155 9 1 Golang Cache component - Multiple drivers 2016-10-05 18:10:03 2021-06-01 04:40:52
dsc 22 6 0 Datastore Connectivity in go 2016-06-13 20:18:10 2021-04-17 04:50:27

Database Drivers - NoSQL Databases

Last Update: 2021-05-31 14:25:19

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
redis 11,571 1,482 121 Type-safe Redis client for Golang 2012-07-25 13:01:39 2021-05-31 02:40:44
redigo 8,399 1,173 19 Go client for Redis 2012-04-14 04:31:58 2021-05-31 02:46:24
mongo-go-driver 5,741 639 7 The Go driver for MongoDB 2017-02-08 17:18:02 2021-05-30 20:01:15
gocql 2,090 514 154 Package gocql implements a fast and robust Cassandra client for the Go programming language. 2012-08-26 15:42:42 2021-05-26 08:32:21
mgo 1,899 234 63 The MongoDB driver for Go 2017-04-13 11:14:04 2021-05-29 08:30:10
rethinkdb-go 1,561 176 15 Go language driver for RethinkDB 2013-09-12 13:56:27 2021-05-27 14:24:37
gomemcache 1,341 368 45 Go Memcached client library #golang 2011-06-28 19:29:12 2021-05-25 20:02:44
qmgo 504 57 24 Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo. 2020-08-04 09:06:00 2021-05-31 01:22:10
redeo 394 27 3 High-performance framework for building redis-protocol compatible TCP servers/services 2014-03-06 08:46:18 2021-05-17 08:53:09
neoism 376 57 16 Neo4j client for Golang 2012-07-12 07:42:33 2021-05-25 03:50:50
aerospike-client-go 363 162 21 Aerospike Client Go 2014-07-26 02:56:21 2021-05-28 16:25:15
gocb 324 93 0 The Couchbase Go SDK 2015-01-15 20:01:32 2021-05-28 23:09:05
go-couchbase 312 87 41 Couchbase client in Go 2012-01-19 22:52:08 2021-05-13 00:23:01
mgm 303 30 3 Mongo Go Models (mgm) is a fast and simple MongoDB ODM for Go (based on official Mongo Go Driver) 2019-12-27 14:40:51 2021-05-31 06:01:20
go-rejson 168 26 6 Golang client for redislabs' ReJSON module with support for multilple redis clients (redigo, go-redis) 2018-04-23 00:51:05 2021-05-21 04:31:42
godis 89 16 0 redis client implement by golang, inspired by jedis. 2019-06-14 03:14:22 2021-04-07 07:21:07
Neo4j-GO 76 15 0 Neo4j REST Client in golang 2011-06-04 16:08:35 2020-08-28 21:16:55
arangolite 69 18 5 Lightweight Golang driver for ArangoDB 2015-10-04 17:27:34 2021-03-10 17:27:16
go-pilosa 45 21 12 Go client library for Pilosa 2016-09-30 21:37:10 2021-04-28 00:52:20
goforestdb 30 4 7 Go bindings for ForestDB 2014-05-14 15:36:12 2021-02-25 12:12:32
neo4j 26 7 8 Neo4j Rest API Client for Go lang 2013-05-18 08:54:01 2020-08-28 21:16:50
goriak 26 5 5 goriak - Go language driver for Riak KV 2016-10-05 16:48:17 2021-05-21 04:31:42
xredis 14 2 0 Go Redis Client 2017-06-14 00:19:26 2021-03-09 06:02:25
godscache 8 1 0 An unofficial Google Cloud Platform Go Datastore wrapper that adds caching using memcached. For App Engine Flexible, Compute Engine, Kubernetes Engine, and more. 2018-05-08 20:19:39 2021-02-06 20:45:22
asc 6 1 0 Datastore Connectivity for Aerospike for go 2016-06-13 20:22:31 2020-08-28 21:15:29
gocosmos 3 1 0 Go driver for Azure CosmosDB SQL API 2020-12-06 07:03:43 2021-05-18 10:58:47

Database Drivers - Relational Databases

Last Update: 2021-05-30 16:25:07

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
mysql 10,894 1,919 74 Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package 2012-12-09 20:33:55 2021-05-30 06:42:00
pq 6,571 801 281 Pure Go Postgres driver for database/sql 2012-03-12 18:50:22 2021-05-29 11:21:09
go-sqlite3 4,851 849 102 sqlite3 driver for go using database/sql 2011-11-11 12:36:50 2021-05-28 07:36:26
pgx 4,123 406 150 PostgreSQL driver and toolkit for Go 2013-03-30 19:06:26 2021-05-29 06:29:44
go-mssqldb 1,394 355 130 Microsoft SQL server driver written in go language 2013-12-16 00:10:47 2021-05-28 09:28:46
go-oci8 546 199 7 Oracle driver for Go using database/sql 2012-02-29 12:19:16 2021-05-13 16:15:35
godror 254 43 6 GO DRiver for ORacle DB 2019-11-21 21:23:17 2021-05-29 06:41:41
firebirdsql 146 42 6 Firebird RDBMS sql driver for Go (golang) 2013-08-27 13:09:14 2021-05-29 22:35:50
go-adodb 119 29 17 Microsoft ActiveX Object DataBase driver for go that using exp/sql 2011-11-14 04:32:50 2021-04-13 08:08:19
gofreetds 104 43 18 Go Sql Server database driver. 2012-12-06 17:29:26 2021-03-01 06:19:39
calcite-avatica-go 76 19 1 Mirror of Apache Calcite - Avatica Go SQL Driver 2017-08-08 07:00:08 2021-05-25 09:52:58
sqinn-go 59 7 0 SQLite with pure Go 2020-06-06 20:37:12 2021-05-29 16:11:54
bgc 15 4 0 Datastore Connectivity for BigQuery in go 2016-06-13 20:24:26 2020-09-06 06:58:35
pig 4 0 0 Simple pgx wrapper to execute and scan query results 2021-04-15 15:33:23 2021-05-21 04:31:41

Database Drivers - Search and Analytic Databases

Last Update: 2021-05-25 14:22:13

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
bleve 7,561 572 264 A modern text indexing library for go 2014-04-17 21:02:18 2021-05-25 04:04:10
elastic 5,936 1,008 76 Elasticsearch client for Go. 2012-12-06 17:15:33 2021-05-25 06:05:29
riot 5,760 434 50 Go Open Source, Distributed, Simple and efficient Search Engine 2017-06-21 14:17:59 2021-05-25 05:53:00
go-elasticsearch 3,368 343 59 The official Go client for Elasticsearch 2017-03-27 17:56:15 2021-05-25 01:49:42
elastigo 948 257 73 A Go (golang) based Elasticsearch client library. 2012-10-12 04:19:59 2021-05-21 02:19:43
elasticsql 719 133 7 convert sql to elasticsearch DSL in golang(go) 2016-08-24 07:29:43 2021-05-24 01:51:40
skizze 77 8 0 A probabilistic data structure service and storage 2016-01-17 12:10:40 2021-04-13 17:37:50
goes 24 12 0 A library to interact with Elasticsearch in Go! 2015-12-28 18:52:03 2019-03-11 09:09:21

Date and Time

Libraries for working with dates and times.

Last Update: 2021-05-29 14:25:08

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
now 3,081 182 3 Now is a time toolkit for golang 2013-11-18 10:55:30 2021-05-29 07:15:17
dateparse 1,412 98 31 GoLang Parse many date strings without knowing format in advance. 2014-04-21 02:55:48 2021-05-28 11:50:51
carbon 590 44 10 Carbon for Golang, an extension for Time 2016-08-03 10:55:52 2021-05-28 13:14:21
durafmt 380 40 6 🕗 Better time duration formatting in Go! 2016-05-20 21:49:33 2021-05-24 07:53:01
timeutil 186 12 1 timeutil - useful extensions (Timedelta, Strftime, ...) to the golang's time package 2015-08-02 01:32:06 2021-05-26 10:32:35
gostradamus 153 2 0 Gostradamus: Better DateTimes for Go 🕰️ 2020-04-07 12:29:21 2021-05-27 19:45:04
go-persian-calendar 95 13 3 The implementation of Persian (Solar Hijri) Calendar in Go 2016-01-31 18:40:23 2021-04-06 12:04:08
iso8601 87 5 1 A fast ISO8601 date parser for Go 2017-04-25 15:54:18 2021-05-21 04:31:44
timespan 74 9 3 Golang package to manipulate time intervals. 2014-10-07 03:57:02 2020-10-20 14:32:08
date 68 14 1 A Go package for working with dates 2015-11-23 22:58:07 2021-05-27 23:40:18
feiertage 38 4 1 Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany) 2015-11-04 14:19:27 2021-04-28 09:53:20
go-sunrise 35 4 0 Go package for calculating the sunrise and sunset times for a given location 2017-06-15 20:49:41 2021-05-21 11:50:16
go-str2duration 21 1 1 Convert string to duration in golang 2020-02-02 06:04:07 2021-05-15 17:50:39
kair 19 5 0 🕐 Date and Time - Golang Formatting Library 2018-10-03 15:44:07 2021-04-23 00:08:00
nulltime 11 2 0 Now is a time toolkit for golang 2016-03-06 01:44:58 2020-08-28 21:19:40
cronrange 10 3 0 time range expression in cron style 2019-11-10 01:30:45 2021-04-20 15:24:22
tuesday 9 1 1 Ruby-compatible strftime for golang 2017-08-10 20:46:26 2020-08-28 21:19:56
strftime 7 2 0 C99-compatible strftime formatter for use with Go time.Time instances. 2018-02-10 00:35:46 2020-11-22 03:01:25
go-week 5 3 2 A Go package to work with ISO 8601 week dates 2018-02-23 07:02:37 2021-04-27 06:46:04

Distributed Systems

Packages that help with building Distributed Systems.

Last Update: 2021-06-02 10:25:32

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
etcd 36,059 7,692 188 Distributed reliable key-value store for the most critical data of a distributed system 2013-07-06 21:57:21 2021-06-02 00:56:43
kit 20,320 2,101 88 A standard library for microservices. 2015-02-03 00:01:19 2021-06-01 20:44:37
go-micro 16,072 1,746 24 Go Micro is a framework for distributed systems development 2015-01-13 23:30:18 2021-06-02 02:38:48
grpc-go 13,815 2,984 98 The Go language implementation of gRPC. HTTP/2 based RPC 2014-12-08 18:59:34 2021-06-02 01:29:35
micro 10,116 882 81 Micro is a distributed OS built for the Cloud 2015-01-16 22:35:14 2021-06-02 02:01:29
nats-server 9,370 908 131 High-Performance server for NATS.io, the cloud and edge native messaging system. 2012-10-29 16:12:24 2021-06-01 03:42:20
go-zero 8,497 1,040 67 go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity. 2020-08-07 15:37:57 2021-06-02 03:10:33
rpcx 5,691 894 9 Best microservices framework in Go, like alibaba Dubbo, but with more features, Scale easily. Try it. Test it. If you feel it's better, use it! 𝐉𝐚𝐯𝐚有𝐝𝐮𝐛𝐛𝐨, 𝐆𝐨𝐥𝐚𝐧𝐠有𝐫𝐩𝐜𝐱! 2016-05-18 09:34:05 2021-06-02 00:39:41
raft 4,759 640 22 Golang implementation of the Raft consensus protocol 2013-11-05 00:41:20 2021-06-02 02:30:12
lura 4,166 398 55 Ultra performant API Gateway with middlewares. A project hosted at The Linux Foundation 2016-11-04 18:37:13 2021-06-02 03:15:02
tendermint 4,138 1,315 357 ⟁ Tendermint Core (BFT Consensus) in Go 2014-05-14 23:21:35 2021-06-01 20:09:58
torrent 3,891 474 43 Full-featured BitTorrent client package and utilities 2015-01-08 21:10:42 2021-05-31 23:26:45
dragonboat 3,643 366 6 A feature complete and high performance multi-group Raft library in Go. 2018-12-23 07:02:04 2021-06-02 02:44:12
glow 2,951 226 11 Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant. 2015-06-14 00:33:48 2021-05-30 13:54:58
emitter 2,867 261 19 High performance, distributed and low latency publish-subscribe platform. 2016-10-29 08:52:21 2021-06-01 15:06:38
gleam 2,822 254 36 Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly. 2016-08-26 08:44:48 2021-05-31 11:50:48
liftbridge 2,075 89 37 Lightweight, fault-tolerant message streams. 2017-10-13 19:50:26 2021-05-27 07:25:52
hprose-golang 1,161 203 20 Hprose is a cross-language RPC. This project is Hprose for Golang. 2014-02-14 03:16:43 2021-06-01 16:58:12
ringpop-go 687 60 26 Scalable, fault-tolerant application-layer sharding for Go applications 2015-06-05 22:48:53 2021-06-01 11:06:48
gorpc 637 93 15 Simple, fast and scalable golang rpc library for high load 2014-11-20 17:02:37 2021-06-01 16:24:20
rain 607 36 0 🌧 BitTorrent client and library in Go 2014-05-21 09:17:24 2021-05-31 18:18:05
go-health 594 37 9 Library for enabling asynchronous health checks in your service 2017-11-29 21:00:07 2021-05-27 00:50:25
resgate 491 35 15 A Realtime API Gateway used with NATS to build REST, real time, and RPC APIs, where all your clients are synchronized seamlessly. 2018-02-22 12:06:26 2021-05-31 16:39:33
redislock 413 59 0 Simplified distributed locking implementation using Redis 2019-06-24 11:10:10 2021-06-02 01:31:03
go-sundheit 397 20 6 A library built to provide support for defining service health for golang services. It allows you to register async health checks for your dependencies and the service itself, provides a health endpoint that exposes their status, and health metrics. 2019-04-08 12:54:01 2021-06-01 14:25:30
digota 388 62 10 ecommerce microservice 2017-08-14 12:01:37 2021-05-24 06:56:23
consistent 383 44 3 Consistent hashing with bounded loads in Golang 2018-03-25 15:38:27 2021-05-26 15:16:41
sleuth 335 21 0 A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services 2016-04-23 14:21:41 2021-06-01 18:41:28
go-jump 323 27 1 go-jump: Jump consistent hashing 2014-06-15 22:12:04 2021-05-10 09:29:15
dht 188 40 3 dht is used by anacrolix/torrent, and is intended for use as a library in other projects both torrent related and otherwise 2016-12-14 00:34:42 2021-05-31 01:55:50
arpc 177 18 0 More effective network communication, two-way calling, notify and broadcast supported. 2020-05-19 11:30:05 2021-06-01 19:48:13
jsonrpc 175 65 2 A simple go implementation of json rpc 2.0 client over http 2016-11-10 11:27:55 2021-05-31 13:15:44
jsonrpc 149 14 4 The jsonrpc package helps implement of JSON-RPC 2.0 2016-10-28 13:36:59 2021-05-31 13:15:34
celeriac.v1 66 8 1 Golang client library for adding support for interacting and monitoring Celery workers, tasks and events. 2015-10-10 07:27:33 2021-05-19 19:53:20
dynamolock 66 32 2 [Mirror] DynamoDB Lock Client for Go 2018-07-08 11:13:00 2021-05-31 15:13:10
doublejump 60 12 0 A revamped Google's jump consistent hash 2018-06-26 16:04:50 2021-04-17 21:27:36
dot 56 1 0 distributed data sync with operational transformation/transforms 2017-12-18 01:08:12 2021-06-01 19:51:36
semaphore 55 12 15 Take control of your data, connect with anything, and expose it anywhere through protocols such as HTTP, GraphQL, and gRPC. 2020-02-05 16:39:39 2021-05-27 09:45:04
outboxer 52 7 9 A library that implements the outboxer pattern in go 2019-02-01 09:50:13 2021-06-01 20:00:50
flowgraph 40 4 0 Flowgraph package for scalable asynchronous system development 2018-08-29 21:45:26 2021-05-31 22:55:42
drmaa 32 15 0 Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard. 2013-03-17 12:58:02 2021-05-11 03:56:31
pglock 28 6 0 [Mirror] PostgreSQL Lock Client for Go 2018-12-17 17:43:41 2021-05-27 19:38:47
go-pdu 25 3 0 Parallel Digital Universe - A decentralized identity-based social network 2018-10-08 08:13:22 2021-04-22 13:56:33
go-mysql-lock 21 1 2 MySQL Backed Locking Primitive 2020-06-06 16:30:07 2021-04-09 09:33:30
dynatomic 14 1 0 Dynatomic is a library for using dynamodb as an atomic counter 2019-02-08 17:45:14 2020-12-25 16:56:32
micro 13 3 0 A Go distributed systems development framework 2020-05-03 01:16:16 2021-05-23 07:59:32
consistenthash 9 1 0 A Go library that implements Consistent Hashing 2020-04-22 16:01:25 2021-04-09 18:54:48

Dynamic DNS

Tools for updating dynamic DNS records.

Last Update: 2021-05-26 16:36:36

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
godns 816 157 7 A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc, written in Go. 2014-05-11 11:49:17 2021-05-25 03:32:06
ddns 185 19 1 Personal DDNS client with Digital Ocean Networking DNS as backend. 2017-03-13 21:02:27 2021-05-25 01:33:28

Email

Libraries and tools that implement email creation and sending.

Last Update: 2021-05-29 12:25:08

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
MailHog 8,534 632 182 Web and API based SMTP testing 2014-04-16 22:28:49 2021-05-28 17:08:51
hermes 2,270 180 25 Golang package that generates clean, responsive HTML e-mails for sending transactional mail 2017-03-25 18:25:36 2021-05-29 02:46:51
email 1,741 242 47 Robust and flexible email library for Go 2013-12-12 20:11:59 2021-05-28 04:47:03
go-imap 1,273 184 60 📥 An IMAP library for clients and servers 2016-04-26 17:59:18 2021-05-28 12:32:40
sendgrid-go 728 228 12 The Official Twilio SendGrid Led, Community Driven Golang API Library 2013-09-12 03:31:13 2021-05-26 16:28:20
mailgun-go 526 118 9 Go library for sending mail with the Mailgun API. 2014-02-28 00:28:44 2021-05-26 14:27:20
chasquid 438 27 1 SMTP (email) server with a focus on simplicity, security, and ease of operation [mirror] 2016-11-03 01:28:05 2021-05-27 15:06:03
email-verifier 230 25 2 ✅ A Go library for email verification without sending any emails. 2020-12-18 08:47:28 2021-05-25 08:52:53
go-message 206 64 21 ✉ A streaming Go library for the Internet Message Format and mail messages 2016-12-31 09:31:52 2021-05-21 15:57:32
hectane 205 25 16 Lightweight SMTP client written in Go 2015-08-28 01:36:47 2021-04-21 06:56:50
douceur 193 33 8 A simple CSS parser and inliner in Go 2015-04-09 10:21:26 2021-05-22 05:35:37
go-simple-mail 148 31 6 Golang package for send email. Support keep alive connection, TLS and SSL. Easy for bulk SMTP. 2019-09-15 05:38:54 2021-05-27 12:06:55
mailchain 79 42 45 Using Mailchain, blockchain users can now send and receive rich-media HTML messages with attachments via a blockchain address. 2019-04-11 17:37:31 2021-05-21 04:31:47
go-premailer 71 12 3 Inline styling for html mail in golang 2015-02-16 22:19:18 2021-05-23 17:07:47
go-dkim 69 29 4 DKIM package for golang 2015-04-29 15:38:27 2021-05-27 11:39:05
smtp 63 20 6 MailHog SMTP Protocol 2014-12-24 16:13:49 2021-05-26 06:49:05
go-email-validator 10 3 2 📧 Golang Email address validator 2020-12-10 18:27:20 2021-05-25 15:14:19

Embeddable Scripting Languages

Embedding other languages inside your go code.

Last Update: 2021-05-30 16:25:18

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gopher-lua 4,103 465 75 GopherLua: VM and compiler for Lua in Go 2015-02-15 13:23:37 2021-05-29 23:19:04
tengo 2,299 130 43 A fast script language for Go 2019-01-09 07:17:17 2021-05-30 02:42:17
goja 2,207 183 17 ECMAScript/JavaScript engine in pure Go 2016-11-04 22:04:06 2021-05-29 04:41:40
go-lua 2,096 154 38 A Lua VM in Go 2013-12-20 17:29:43 2021-05-30 00:00:02
expr 1,777 156 26 Expression language for Go 2018-07-14 15:57:34 2021-05-28 01:34:13
go-python 1,267 124 26 naive go bindings to the CPython C-API 2012-07-09 15:43:31 2021-05-28 05:59:49
anko 1,134 108 19 Scriptable interpreter written in golang 2014-03-28 07:29:40 2021-05-26 07:59:05
cel-go 801 85 29 Fast, portable, non-Turing complete expression evaluation with gradual typing (Go) 2018-03-09 22:57:58 2021-05-29 14:02:16
go-php 795 91 20 PHP bindings for the Go programming language (Golang) 2015-09-17 21:23:52 2021-05-29 08:39:35
go-duktape 761 87 7 Duktape JavaScript engine bindings for Go 2015-01-08 05:09:05 2021-05-27 19:45:04
golua 543 153 10 Go bindings for Lua C API - in progress 2010-12-06 21:39:53 2021-05-29 16:35:32
gisp 461 32 1 Simple LISP in Go 2014-01-11 14:05:43 2021-05-19 07:31:40
gval 323 40 3 Expression evaluation in golang 2017-09-27 08:32:49 2021-05-26 02:52:55
gentee 75 8 0 Gentee - script programming language for automation. It uses VM and compiler written in Go (Golang). 2018-01-14 15:49:05 2021-05-26 09:06:58
binder 50 7 0 High level go to Lua binder. Write less, do more. 2017-04-02 17:14:52 2021-05-13 06:04:45
purl 31 2 2 Perl, but fluffy like a cat! 2014-11-29 19:06:01 2021-04-30 14:25:41
ngaro 20 1 1 An embeddable implementation of the Ngaro Virtual Machine for Go programs 2016-08-09 15:23:50 2020-04-06 11:44:00
ecal 10 0 0 A simple embeddable scripting language which supports concurrent event processing. 2020-11-30 15:58:56 2021-05-23 09:52:38

Error Handling

Libraries for handling errors.

Last Update: 2021-05-30 16:25:12

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
errors 6,906 518 40 Simple error handling primitives 2015-12-27 12:05:38 2021-05-30 08:13:14
go-multierror 1,271 83 12 A Go (golang) package for representing a list of errors as a single error. 2014-12-15 20:12:26 2021-05-29 16:13:48
eris 803 18 0 eris provides a better way to handle, trace, and log errors in Go 🎆 2019-09-07 16:50:33 2021-05-26 14:43:32
errorx 749 25 4 A comprehensive error handling library for Go 2018-08-17 08:02:10 2021-05-25 22:15:08
tracerr 659 24 1 Golang errors with stack trace and source fragments. 2019-02-06 18:57:46 2021-05-26 13:03:07
errlog 395 16 1 Reduce debugging time while programming Go. Use static and stack-trace analysis to determine which func call causes the error. 2019-02-16 23:19:05 2021-04-22 18:42:55
emperror 214 11 5 The Emperor takes care of all errors personally 2017-06-13 00:24:28 2021-05-22 08:33:52
errors 94 4 6 Drop-in replacement for the standard library errors package and github.com/pkg/errors 2019-07-09 13:02:52 2021-05-15 06:21:45
errors 21 3 0 A drop-in replacement for Go errors, with some added sugar! Unwrap user-friendly messages, HTTP status code, easy wrapping with multiple error types. 2020-07-17 18:57:04 2021-05-26 07:10:29
falcon 6 0 0 A Simple Yet Highly Powerful Package For Error Handling 2019-09-09 12:49:43 2020-07-29 05:20:41
errors 3 0 0 Simple golang error handling with classification primitives. 2019-07-26 00:15:36 2020-01-23 14:57:00
errors 2 0 0 Simple and efficient error package 2020-01-08 21:12:51 2020-02-08 06:50:05

File Handling

Libraries for handling files and file systems.

Last Update: 2021-05-29 14:25:18

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
afero 3,789 341 80 A FileSystem Abstraction System for Go 2014-10-28 14:19:05 2021-05-29 02:37:57
pdfcpu 2,386 183 32 A PDF processor written in Go. 2017-06-18 17:27:38 2021-05-28 20:30:58
notify 634 98 42 File system event notification library on steroids. 2014-09-08 16:09:34 2021-05-26 13:17:13
copy 312 75 7 Go copy directory recursively 2017-09-01 03:18:56 2021-05-27 02:37:49
bigfile 191 36 1 Bigfile -- a file transfer system that supports http, rpc and ftp protocol https://bigfile.site 2019-07-15 10:43:50 2021-05-20 13:04:55
afs 146 11 0 Abstract File Storage 2019-08-19 18:43:38 2021-05-21 12:57:13
vfs 106 9 4 Pluggable, extensible virtual file system for Go 2017-08-01 18:06:14 2021-05-26 04:39:15
go-csv-tag 85 19 0 Read csv file from go using tags 2017-06-18 15:31:16 2021-05-24 11:22:46
opc 67 4 0 Go implementation of the Open Packaging Conventions (OPC) 2018-11-06 14:49:06 2021-05-21 14:28:42
skywalker 64 6 1 A package to allow one to concurrently go through a filesystem with ease 2017-08-01 20:08:25 2021-04-18 23:49:38
go-exiftool 61 15 0 Golang wrapper for Exiftool : extract as much metadata as possible (EXIF, ...) from files (pictures, pdf, office documents, ...) 2019-05-12 20:34:09 2021-05-21 04:31:50
tarfs 46 6 1 An implementation of the FileSystem interface for tar files. 2017-03-10 22:13:11 2021-04-30 04:33:52
checksum 33 9 0 Compute message digest for large files in Go 2014-11-05 09:37:00 2021-05-14 01:13:03
baraka 30 5 1 a tool for handling file uploads simple 2020-07-12 21:56:50 2021-05-21 04:31:50
go-gtfs 26 14 0 Load GTFS files in golang 2017-07-09 09:30:31 2021-03-27 22:56:28
flop 24 5 1 Go file operations library chasing GNU APIs. 2019-03-01 13:41:39 2021-02-19 21:53:29
parquet 20 1 1 A library for reading and writing parquet files. 2019-01-29 21:52:30 2021-05-28 10:20:53
gut 17 3 13 🍱 yet another collection of go utilities & tools 2019-10-05 23:47:24 2021-05-02 15:31:54
go-decent-copy 14 4 1 copy files for humans 2018-10-16 07:08:24 2021-03-12 20:07:53
todotxt 7 0 0 Parser for todo.txt files in Go ✅ 2020-11-06 17:41:59 2021-02-15 16:52:37
higgs 5 1 0 A tiny cross-platform Go library to hide/unhide files and directories 2020-12-13 18:33:10 2021-05-21 04:31:50

Financial

Packages for accounting and finance.

Last Update: 2021-05-29 10:25:07

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
decimal 3,030 370 56 Arbitrary-precision fixed-point decimal numbers in go 2015-02-25 20:12:57 2021-05-28 19:39:41
go-money 933 81 17 Go implementation of Fowler's Money pattern 2017-03-20 16:23:54 2021-05-23 15:59:09
accounting 651 51 6 money and currency formatting for golang 2015-08-10 13:23:56 2021-05-28 01:26:20
go-finance 534 49 4 ⚠ Deprecrated in favor of https://github.com/piquette/finance-go 2016-02-28 00:37:46 2021-05-05 08:09:32
techan 454 76 18 Technical Analysis Library for Golang 2017-03-08 03:04:08 2021-05-26 04:48:26
currency 253 10 3 Currency handling for Go. 2020-04-16 15:34:39 2021-05-28 21:40:20
orderbook 200 67 5 Matching Engine for Limit Order Book in Golang 2018-04-24 18:05:26 2021-05-28 09:36:05
go-finance 96 17 0 Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations. 2017-06-01 15:58:33 2021-05-22 11:19:20
transaction 90 12 0 Embedded database for accounts transactions. 2017-10-11 13:50:30 2021-05-18 23:50:12
ofxgo 88 19 0 Golang library for querying and parsing OFX 2015-11-08 13:56:53 2021-05-23 10:05:11
vat 82 11 4 Go package for dealing with EU VAT. Does VAT number validation & rates retrieval. 2016-06-18 16:10:09 2021-05-12 01:44:47
sleet 57 7 6 Payment abstraction library - one interface for multiple payment processors ( inspired by Ruby's ActiveMerchant ) 2019-11-13 21:56:58 2021-05-28 21:17:47
go-finnhub 56 12 0 Simple and easy to use client for stock market, forex and crypto data from finnhub.io written in Go. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges 2020-01-13 20:47:13 2021-05-04 02:48:46
currency 39 5 0 A currency computations package. 2017-05-09 06:06:38 2021-04-01 19:00:35
fastme 24 3 0 Arbitrary-precision fixed-point decimal numbers in go 2020-10-29 13:57:10 2021-05-21 04:31:51
go-finance 5 2 0 Finance related Go functions (e.g. exchange rates, VAT number checking, …) 2019-09-30 06:49:07 2021-03-08 22:46:44

Forms

Libraries for working with forms.

Last Update: 2021-05-29 14:25:11

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
nosurf 1,151 91 9 CSRF protection middleware for Go. 2013-08-22 17:47:34 2021-05-23 19:11:36
binding 782 78 8 Reflectionless data binding for Go's net/http (not actively maintained) 2014-05-20 23:35:14 2021-05-22 05:38:00
csrf 660 96 6 gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications & services 🔒 2015-08-03 00:35:16 2021-05-29 04:34:49
form 471 28 9 🚂 Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. 2016-05-26 13:26:40 2021-05-26 03:35:17
conform 217 29 0 Trims, sanitizes & scrubs data based on struct tags (go, golang) 2016-01-05 18:00:06 2021-04-27 18:11:04
formam 159 14 2 a package for decode form's values into struct in Go 2014-10-25 00:23:30 2021-05-23 13:51:45
forms 119 16 2 A lightweight go library for parsing form data or json from an http.Request. 2014-08-07 16:11:30 2021-04-06 08:04:11
qs 56 0 0 Go module for encoding structs into URL query parameters 2020-10-02 09:50:35 2021-04-08 21:18:01
bind 25 3 0 2014-08-06 00:13:10 2020-08-28 21:26:49
queryparam 9 5 0 Go package to easily convert a URL's query parameters/values into usable struct values of the correct types. 2018-06-14 10:23:05 2021-04-08 21:18:27

Functional

Packages to support functional programming in Go.

Last Update: 2021-05-25 15:29:54

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go-underscore 1,193 64 4 Helpfully Functional Go - A useful collection of Go utilities. Designed for programmer happiness. 2014-07-02 10:27:16 2021-05-23 18:06:32
fpGo 172 10 0 Monad, Functional Programming features for Golang 2018-05-24 09:08:45 2021-05-21 16:50:40
fuego 89 8 0 Functional Experiment in Golang 2018-11-05 22:24:09 2021-04-18 02:51:49
gofp 69 3 0 A super simple Lodash like utility library with essential functions that empowers the development in Go 2021-02-19 00:01:39 2021-05-06 17:28:47

Game Development

Awesome game development libraries.

Last Update: 2021-06-04 13:17:29

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
ebiten 4,501 308 207 A dead simple 2D game library for Go 2013-06-16 15:13:01 2021-06-04 03:24:45
leaf 4,009 1,077 9 A game server framework in Go (golang) 2014-08-04 12:40:08 2021-06-03 11:18:44
pixel 3,498 204 43 A hand-crafted 2D game library in Go 2016-11-19 11:15:34 2021-06-04 05:00:51
goworld 1,843 345 15 Scalable Distributed Game Server Engine with Hot Swapping in Golang 2017-06-03 15:02:46 2021-06-04 01:15:21
nano 1,703 287 15 Lightweight, facility, high performance golang based game server framework 2017-08-02 06:05:14 2021-06-01 11:12:09
go-sdl2 1,543 193 52 SDL2 binding for Go 2013-06-05 18:30:03 2021-06-03 04:29:26
engine 1,463 150 72 Go 3D Game Engine 2017-03-07 18:25:09 2021-06-03 18:26:50
engo 1,374 113 51 Engo is an open-source 2D game engine written in Go. 2014-11-12 05:50:03 2021-06-03 18:23:32
termloop 1,209 74 5 Terminal-based game engine for Go, built on top of Termbox 2015-05-23 17:12:34 2021-05-31 00:37:05
gonet 1,139 300 0 A Game Server Skeleton in golang. 2013-04-11 02:18:23 2021-05-28 04:08:57
pitaya 1,032 222 20 Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. 2018-03-19 19:40:36 2021-06-04 03:18:47
oak 885 57 15 A pure Go game engine 2017-07-15 16:24:27 2021-06-04 01:18:17
raylib-go 606 65 6 Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming. 2017-01-27 08:31:45 2021-06-03 04:03:27
engine 486 45 82 Azul3D - A 3D game engine written in Go! 2016-02-29 04:54:44 2021-06-03 18:38:59
go-astar 425 56 1 Go implementation of the A* search algorithm 2014-05-28 02:00:03 2021-05-06 11:49:48
go3d 198 35 2 A performance oriented 2D/3D math package for Go 2011-06-27 13:02:26 2021-05-31 08:58:53
prototype 57 4 1 Simple 2D game prototyping framework. 2015-03-04 09:24:39 2021-05-31 08:58:46
tile 24 1 0 Tile is a 2D grid engine, built with data and cache friendly ways, includes pathfinding and observers. 2020-08-19 13:23:18 2021-05-31 08:58:44

Generation and Generics

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

Last Update: 2021-05-28 12:41:51

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go-linq 2,510 176 6 .NET LINQ capabilities in Go 2013-12-19 03:05:00 2021-05-27 09:48:29
jennifer 2,025 102 16 Jennifer is a code generator for Go 2016-12-04 20:57:38 2021-05-27 20:42:51
gen 1,282 82 32 Type-driven code generation for Go 2013-10-13 20:26:36 2021-05-28 00:42:59
goderive 878 34 16 Code Generation for Functional Programming, Concurrency and Generics in Golang 2017-02-10 21:46:49 2021-05-26 10:54:51
gowrap 502 41 2 GoWrap is a command line tool for generating decorators for Go interfaces 2018-09-15 09:20:42 2021-05-27 11:09:59
interfaces 297 20 5 Code generation tools for Go. 2015-12-06 00:04:50 2021-05-26 08:26:47
go-enum 197 25 1 An enum generator for go 2017-08-10 22:07:31 2021-05-28 02:02:25
pkgreflect 96 16 0 A Go preprocessor for package scoped reflection 2012-09-03 07:53:00 2021-05-23 02:33:23
efaceconv 47 9 1 2016-11-18 11:38:54 2021-01-20 13:02:32
gotype 37 5 0 Golang source code parsing, usage like reflect package 2017-12-05 04:09:47 2021-05-06 08:45:01
GENERIS 26 0 0 Versatile Go code generator. 2019-03-10 19:33:31 2021-05-26 06:49:03
go-xray 17 1 0 Helpers for making the use of reflection easier 2019-10-01 08:40:51 2021-03-16 01:44:08
typeregistry 10 0 0 create type dynamically in Golang 2020-01-14 15:50:38 2021-04-27 17:50:52

Geographic

Geographic tools and servers

Last Update: 2021-05-29 10:25:15

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
tile38 7,439 447 121 Real-time Geospatial and Geofencing 2016-03-04 23:07:44 2021-05-28 20:33:44
geo 1,216 137 6 S2 geometry library in Go 2014-12-03 23:02:15 2021-05-25 06:31:34
mbtileserver 237 40 9 Basic Go server for mbtiles 2014-11-01 04:12:14 2021-05-28 15:11:23
osm 163 26 2 General purpose library for reading, writing and working with OpenStreetMap data 2016-02-02 00:59:03 2021-05-21 04:31:54
wgs84 60 3 0 A pure Go package for coordinate transformations. 2019-06-08 17:17:59 2021-02-20 21:34:57
geoserver 53 11 3 geoserver is a Go library for manipulating a GeoServer instance via the GeoServer REST API. 2018-03-26 21:36:49 2021-05-27 10:35:35
gismanager 38 6 0 Publish Your GIS Data(Vector Data) to PostGIS and Geoserver 2018-09-29 12:51:37 2021-03-02 15:54:38
pbf 26 2 1 OpenStreetMap PBF golang parser 2017-09-18 23:13:18 2021-05-26 02:13:09
s2-geojson 12 3 1 Draw a polygon on the map or paste a geoJSON and explore how the s2.RegionCoverer covers it with S2 cells depending on the min and max levels 2020-03-27 09:47:32 2021-04-29 08:00:09

Go Compilers

Tools for compiling Go to other languages.

Last Update: 2021-05-25 15:29:55

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gopherjs 10,191 472 221 A compiler from Go to JavaScript for running Go code in a browser 2013-08-27 22:23:58 2021-05-23 08:09:51
tardisgo 407 24 4 Golang->Haxe->CPP/CSharp/Java/JavaScript transpiler 2014-01-08 11:07:33 2021-05-13 16:00:39
c4go 262 30 23 Transpiling C code to Go code 2018-03-28 06:24:57 2021-05-22 08:45:18
f4go 23 5 5 Transpiling fortran code to golang code 2018-07-08 17:05:43 2021-01-22 16:55:40

Goroutines

Tools for managing and working with Goroutines.

Last Update: 2021-05-29 12:25:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
ants 5,653 709 13 🐜🐜🐜 ants is a high-performance and low-cost goroutine pool in Go, inspired by fasthttp./ ants 是一个高性能且低损耗的 goroutine 池。 2018-05-19 01:13:38 2021-05-29 02:09:10
goworker 2,551 236 30 goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers. 2013-07-22 17:04:27 2021-05-28 08:44:03
tunny 2,310 199 1 A goroutine pool for Go 2014-04-02 16:14:58 2021-05-28 18:40:21
grpool 631 92 4 Lightweight Goroutine pool 2015-07-22 00:15:04 2021-05-27 15:20:09
pool 613 56 3 🚤 a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation 2015-10-28 16:36:08 2021-05-28 08:46:54
workerpool 516 69 4 Concurrency limiting goroutine pool 2016-05-17 14:32:06 2021-05-26 20:28:16
gowp 289 46 0 golang worker pool , Concurrency limiting goroutine pool 2019-09-14 11:43:50 2021-05-27 13:26:21
pond 212 8 0 Minimalistic and High-performance goroutine worker pool written in Go 2020-03-21 14:56:33 2021-05-18 11:04:18
go-floc 197 15 0 Floc: Orchestrate goroutines with ease. 2017-07-03 07:34:06 2021-05-29 00:22:40
go-flow 165 16 1 Simply way to control goroutines execution order based on dependencies 2016-09-25 14:46:09 2021-05-28 09:39:27
semaphore 113 7 0 Fast resizable golang semaphore primitive 2017-11-22 14:00:58 2021-05-21 04:31:57
go-workers 104 4 1 👷 Library for safely running groups of workers concurrently or consecutively that require input and output through channels 2020-10-06 15:39:43 2021-05-28 01:00:17
artifex 102 7 0 Simple in-memory job queue for Golang using worker-based dispatching 2018-10-31 19:34:31 2021-05-17 22:02:49
breaker 94 5 6 🚧 Flexible mechanism to make execution flow interruptible. 2019-02-15 15:08:24 2021-04-18 23:48:48
semaphore 85 10 6 🚦 Semaphore pattern implementation with timeout of lock/unlock operations. 2016-10-08 11:48:12 2021-04-18 23:49:16
async 80 9 2 A safe way to execute functions asynchronously, recovering them in case of panic. It also provides an error stack aiming to facilitate fail causes discovery. 2017-06-30 17:08:33 2021-05-12 18:58:26
gpool 78 3 0 gpool - a generic context-aware resizable goroutines pool to bound concurrency based on semaphore. 2018-12-03 04:23:35 2021-02-23 19:26:21
errgroup 77 5 3 errgroup with goroutine worker limits 2020-06-26 06:07:39 2021-05-28 09:44:30
worker-pool 73 12 0 Go simple async worker pool 2017-10-04 09:18:31 2021-05-25 14:46:14
cyclicbarrier 66 8 0 CyclicBarrier golang implementation 2018-01-11 10:38:46 2021-05-16 13:37:38
threadpool 59 14 0 Golang simple thread pool implementation 2017-09-06 18:45:39 2021-05-01 16:51:37
gollback 55 4 0 Go asynchronous simple function utilities, for managing execution of closures and callbacks 2019-05-11 05:56:37 2021-05-06 03:21:24
Hunch 51 4 0 Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive. 2019-06-05 13:21:04 2021-05-15 10:32:54
routine 40 3 0 go routine control, abstraction of the Main and some useful Executors.如果你不会管理Goroutine的话,用它 2019-03-04 12:25:23 2021-03-09 15:52:33
kyoo 32 0 0 Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries 2020-01-06 20:35:11 2021-02-07 16:41:12
parallel-fn 30 1 0 Run functions in parallel ☄ 2017-06-18 09:47:54 2021-05-23 15:19:32
nursery 29 3 1 Structured Concurrency in Go 2019-11-23 19:26:02 2021-04-05 21:09:21
async 22 1 0 Alternative sync library for Go 2019-12-28 09:48:40 2021-05-18 19:41:17
oversight 22 3 0 [Mirror] Erlang-like supervisor trees 2018-11-09 14:46:48 2021-04-29 15:26:23
goccm 20 2 0 Limits the number of goroutines that are allowed to run concurrently 2019-08-16 02:26:53 2021-05-20 14:57:02
stl 18 3 0 Software Transactional Locks 2018-06-19 10:50:11 2020-11-19 10:08:47
go-waitgroup 18 1 0 A sync.WaitGroup with error handling and concurrency control 2018-08-08 16:12:35 2021-05-21 16:11:51
go-trylock 18 6 0 TryLock support on read-write lock for Golang 2018-04-26 06:02:47 2021-05-21 04:31:56
gohive 13 1 1 🐝 A Highly Performant and easy to use goroutine pool for Go 2019-05-31 10:44:24 2020-08-07 18:33:13
channelify 12 1 1 Make functions return a channel for parallel processing via go routines. 2020-10-05 13:12:48 2021-05-16 18:07:10
conexec 10 1 0 A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking. 2019-12-24 07:35:11 2021-04-22 08:24:00
queue 9 1 0 package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more. 2018-12-21 07:15:00 2020-11-02 15:19:05
gowl 7 2 5 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. 2021-04-12 19:15:53 2021-05-21 04:31:56
hands 6 1 1 Hands is a process controller used to control the execution and return strategies of multiple goroutines. 2020-04-04 11:04:11 2021-01-20 03:17:36
go-tools 5 2 0 A collection of tools for Golang 2018-11-14 02:53:08 2019-05-04 06:52:40
concurrency-limiter 4 1 0 Make functions return a channel for parallel processing via go routines. 2020-11-22 02:35:52 2020-12-04 21:15:03

Images

Libraries for manipulating images.

Last Update: 2021-05-26 16:36:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gocv 4,037 585 155 Go package for computer vision using OpenCV 4 and beyond. 2017-09-18 21:54:17 2021-05-26 09:32:10
imaging 3,736 316 9 Imaging is a simple image processing package for Go 2012-12-06 20:21:21 2021-05-26 07:07:22
imaginary 3,651 347 90 Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing 2015-03-04 18:51:40 2021-05-26 09:34:23
bild 3,194 164 12 Image processing algorithms in pure Go 2016-08-01 15:54:29 2021-05-26 09:32:49
ln 2,897 107 12 3D line art engine. 2016-01-10 04:28:10 2021-05-26 05:20:51
gg 2,801 200 50 Go Graphics - 2D rendering in Go with a simple API. 2016-02-18 21:05:08 2021-05-26 06:22:52
resize 2,627 258 9 Pure golang image resizing 2012-08-02 19:48:26 2021-05-24 23:29:55
pt 1,949 111 8 A path tracer written in Go. 2015-01-23 19:39:29 2021-05-25 05:09:05
svgo 1,668 138 6 Go Language Library for SVG generation 2010-03-05 23:24:10 2021-05-24 14:08:04
smartcrop 1,516 106 7 smartcrop finds good image crops for arbitrary crop sizes 2014-04-07 22:40:03 2021-05-25 06:31:59
picfit 1,468 125 16 An image resizing server written in Go 2014-12-06 17:30:45 2021-05-24 23:32:23
bimg 1,455 245 115 Go package for fast high-level image processing powered by libvips C library 2015-03-17 14:14:02 2021-05-25 12:00:40
gift 1,439 103 1 Go Image Filtering Toolkit 2014-07-12 18:47:40 2021-05-25 04:04:01
imagick 1,311 152 12 Go binding to ImageMagick's MagickWand C API 2013-04-30 17:31:48 2021-05-25 18:29:35
go-opencv 1,232 196 46 Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv 2013-12-09 09:43:26 2021-05-10 09:02:22
geopattern 1,120 58 3 📐 Create beautiful generative image patterns from a string in golang. 2014-10-22 17:26:30 2021-05-15 02:30:38
stegify 931 102 0 🔍 Go tool for LSB steganography, capable of hiding any file within an image. 2018-11-29 16:45:58 2021-05-23 15:23:39
canvas 698 37 7 Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc. 2017-05-20 18:10:51 2021-05-26 07:45:19
image2ascii 532 45 3 🌁 Convert image to ASCII 2018-10-20 05:06:25 2021-05-21 09:42:32
draft 489 19 0 Generate High Level Cloud Architecture diagrams using YAML syntax. 2020-06-05 16:11:40 2021-05-12 07:16:21
govips 476 103 17 A lightning fast image processing and resizing library for Go 2016-12-25 04:32:56 2021-05-25 21:26:54
govatar 438 24 0 Avatar generation library for GO language 2016-01-18 12:12:28 2021-05-25 14:45:53
mort 432 14 6 Storage and image processing server written in Go 2017-11-19 13:37:58 2021-05-19 08:42:38
goimagehash 406 43 7 Go Perceptual image hashing package 2017-07-28 17:15:58 2021-05-17 15:30:26
go-nude 329 38 2 Nudity detection with Go. 2014-05-02 08:32:29 2021-05-20 22:36:05
rez 199 16 1 Image resizing in pure Go and SIMD 2014-01-16 21:16:15 2021-05-24 23:30:20
darkroom 163 31 6 Cairo in Go: vector to raster, SVG, PDF, EPS, WASM, OpenGL, Gio, etc. 2019-07-01 10:17:08 2021-05-17 17:08:18
mergi 138 18 2 go library for image programming (merge, crop, resize, watermark, animate, ease, transit) 2018-09-24 03:40:47 2021-05-20 16:03:02
img 136 9 1 A selection of image manipulation tools 2012-07-28 19:57:47 2021-03-10 09:33:43
go-cairo 102 28 0 Go binding for the cairo graphics library 2012-08-22 18:27:01 2021-04-15 17:17:54
gltf 101 17 2 👓 Go library for [d]encoding glTF 2.0 files 2019-01-15 17:43:54 2021-05-21 04:31:58
steganography 96 17 0 Pure Golang Library that allows simple LSB steganography on images 2018-05-21 17:27:36 2021-05-21 04:32:00
cameron 69 7 1 An avatar generator for Go. 2018-05-05 22:13:11 2021-05-15 12:42:57
go-gd 52 15 1 Go bingings for GD (http://www.boutell.com/gd/) 2011-05-12 06:33:54 2021-02-11 17:01:13
gridder 41 3 0 A Grid based 2D Graphics library 2020-04-10 00:13:10 2021-05-25 15:21:35
goimghdr 35 2 0 The imghdr module determines the type of image contained in a file for go 2018-02-25 09:34:44 2021-03-29 23:08:31
tga 27 10 1 Go package for decoding and encoding TARGA image format 2012-10-08 01:09:20 2021-02-18 12:06:54
go-webcolors 24 4 0 Port of webcolors library from Python to Go 2014-04-24 14:41:22 2021-05-25 18:09:58
webp-server 9 2 0 Simple and minimal image server capable of storing, resizing, converting and caching images. 2020-11-22 12:03:12 2021-04-30 14:29:41
mpo 6 2 1 JPEG-MPO Decoder / Converter Library and CLI Tool 2015-04-14 22:37:59 2020-06-18 16:55:59

IoT (Internet of Things)

Libraries for programming devices of the IoT.

Last Update: 2021-05-29 10:25:12

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gobot 7,164 899 160 Golang framework for robotics, drones, and the Internet of Things (IoT) 2013-09-21 14:09:19 2021-05-28 15:21:19
flogo 1,754 236 153 Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps. 2016-07-10 02:57:43 2021-05-27 09:52:40
periph 1,656 174 42 Go·Hardware·Lean 2016-10-13 16:53:51 2021-05-27 20:18:57
mainflux 1,429 423 86 Industrial IoT Messaging and Device Management Platform 2015-07-06 20:31:50 2021-05-28 15:01:40
gatt 980 255 52 Gatt is a Go package for building Bluetooth Low Energy peripherals 2014-04-23 13:45:27 2021-05-27 04:01:55
heedy 276 27 7 An aggregator for personal metrics, and an extensible analysis engine 2015-01-16 19:44:21 2021-05-23 05:29:08
devices 241 24 9 Suite of libraries for IoT devices (written in Go), experimental for x/exp/io 2016-05-30 08:07:02 2021-05-25 19:15:47
sensorbee 203 33 39 Lightweight stream processing engine for IoT 2016-02-19 07:49:56 2021-05-19 21:00:03
huego 181 28 4 An extensive Philips Hue client library for Go with an emphasis on simplicity 2017-05-16 05:31:45 2021-05-23 14:13:21
iot 52 7 0 A Go client for Google IoT Core 2018-03-08 06:51:51 2021-04-30 18:44:01
eywa 48 11 9 Make IoT a lot more fun with data. 2016-02-20 17:02:16 2021-03-19 19:55:56

JSON

Libraries for working with JSON.

Last Update: 2021-05-27 12:25:40

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gjson 8,375 566 26 Get JSON values quickly - JSON parser for Go 2016-08-11 03:08:47 2021-05-27 02:03:19
json-to-go 3,095 366 13 Translates JSON into a Go type in your browser instantly (original) 2014-01-21 18:11:13 2021-05-26 20:33:31
gojson 2,365 176 39 Automatically generate Go (golang) struct definitions from example JSON 2012-12-27 19:10:50 2021-05-25 07:57:41
fastjson 1,221 64 31 Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection 2018-05-28 21:41:47 2021-05-26 23:48:13
kazaam 189 40 21 Arbitrary transformations of JSON in Golang 2016-07-19 14:19:03 2021-05-11 08:56:39
gojq 170 19 1 JSON query in Golang 2015-12-30 09:02:13 2021-05-19 19:33:24
jsondiff 117 10 0 JSON diff library for Go based on RFC6902 (JSON Patch) 2020-11-28 19:05:16 2021-05-18 01:27:49
jettison 106 6 0 Fast and flexible JSON encoder for Go 2019-08-30 13:28:03 2021-05-23 18:52:42
jsongo 96 12 1 Fluent API to make it easier to create Json objects. 2015-08-07 23:23:17 2021-05-01 10:53:24
gjo 94 11 1 Small utility to create JSON objects 2019-02-23 01:54:21 2021-05-21 04:32:02
jaydiff 85 7 2 A JSON diff utility 2017-04-24 16:05:35 2021-05-13 13:34:51
json2go 80 12 1 Create go type representation from json 2017-06-10 23:55:07 2021-05-21 04:32:02
jsonf 61 9 0 Console JSON formatter with query feature 2015-05-25 04:53:32 2021-04-24 08:25:31
ajson 59 6 5 Abstract JSON for golang with JSONPath support 2019-03-07 20:47:38 2021-04-26 04:36:21
mp 44 4 1 Simple Email Parser 2014-06-15 21:14:39 2020-10-22 17:21:09
go-respond 41 5 0 A Go package for handling common HTTP JSON responses. 2017-03-12 21:00:54 2021-03-09 14:00:56
json-to-proto.github.io 38 5 0 convert JSON to Protocol Buffers online in your browser instantly 2020-04-18 20:42:45 2021-05-21 16:20:01
go-jsonerror 10 1 0 Small package which wraps error responses to follow jsonapi.org 2018-10-18 15:03:45 2020-10-02 04:02:28
jsonapi-errors 9 2 0 Go bindings based on the JSON API errors reference 2016-07-08 10:08:58 2020-08-30 14:39:42
jsonhal 9 4 1 A simple Go package to make custom structs marshal into HAL compatible JSON responses. 2016-01-15 11:38:40 2020-05-26 19:24:02
ej 7 0 0 Write and read JSON from different sources in one line 2020-01-04 17:39:35 2021-04-27 22:00:09
dynjson 7 1 0 Client-customizable JSON formats for dynamic APIs 2020-05-06 07:10:02 2021-05-21 04:32:01
epoch 6 1 0 Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from built-in time.Time type in JSON 2019-12-15 12:54:37 2021-05-21 04:32:02
ask 6 0 0 A Go package that provides a simple way of accessing nested properties in maps and slices. 2020-09-13 13:53:31 2021-05-19 11:17:55
jzon 4 0 0 A golang json library inspired by jsoniter 2019-11-12 10:42:41 2021-05-24 05:31:48
mapslice-json 4 1 0 Go MapSlice for ordered marshal/ unmarshal of maps in JSON 2020-02-19 11:01:48 2021-04-20 04:09:25
jsonic 2 0 0 All you need with JSON 2021-01-09 06:21:59 2021-03-05 04:01:32

Job Scheduler

Libraries for scheduling jobs.

Last Update: 2021-05-26 10:29:06

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gron 859 52 8 gron, Cron Jobs in Go. 2016-06-04 08:02:22 2021-05-25 07:13:00
jobrunner 851 73 10 Framework for performing work asynchronously, outside of the request flow 2015-10-21 04:17:01 2021-05-21 14:56:53
gocron 805 65 11 Easy and fluent Go cron scheduling. This is a fork from https://github.com/jasonlvhit/gocron 2020-03-20 15:33:05 2021-05-26 03:15:13
jobs 483 39 17 A persistent and flexible background jobs library for go. 2015-02-09 22:13:29 2021-04-28 23:55:33
scheduler 365 49 7 Job scheduling made easy. 2015-02-03 17:10:23 2021-05-10 01:08:48
go-cron 201 16 0 A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. 2011-04-15 14:50:49 2021-04-16 06:40:07
go-quartz 134 12 0 Simple, zero-dependency scheduling library for Go 2019-04-14 18:57:51 2021-04-29 06:03:01
clockwerk 105 10 0 Job Scheduling Library 2017-04-09 23:10:48 2021-05-22 22:38:56
leprechaun 82 10 13 You had one job, or more then one, which can be done in steps 2018-04-08 13:44:04 2021-04-04 05:43:31
tasks 44 3 1 Package tasks is an easy to use in-process scheduler for recurring tasks in Go 2019-12-24 18:26:18 2021-05-23 09:26:56
clockwork 29 11 2 Job Scheduling Library 2020-02-21 01:25:57 2021-05-18 03:30:15
cronticker 1 0 0 Golang ticker that works with Cron scheduling. 2020-11-28 20:59:38 2021-01-02 01:57:07

Logging

Libraries for generating and working with log files.

Last Update: 2021-05-28 15:25:18

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
logrus 17,926 1,944 113 Structured, pluggable logging for Go. 2013-10-16 19:08:55 2021-05-28 04:37:41
zap 12,648 953 94 Blazing fast, structured, leveled logging in Go. 2016-02-18 19:52:56 2021-05-27 19:06:36
zerolog 4,731 286 69 Zero Allocation JSON Logger 2017-05-12 05:24:39 2021-05-28 07:03:09
go-spew 4,432 287 54 Implements a deep pretty printer for Go data structures to aid in debugging 2013-01-09 05:18:22 2021-05-28 07:54:25
glog 2,721 768 8 Leveled execution logs for Go 2013-07-16 04:33:04 2021-05-28 02:03:53
lumberjack 2,550 338 51 lumberjack is a log rolling package for Go 2014-06-14 11:55:47 2021-05-28 08:07:09
tail 2,087 419 70 Go package for reading from continously updated files (tail -f) 2013-02-05 00:28:03 2021-05-27 23:13:29
seelog 1,538 241 39 Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting. 2011-11-17 09:43:15 2021-05-21 02:49:00
log 1,130 94 34 Structured logging package for Go. 2015-12-21 20:27:48 2021-05-26 11:13:20
log15 1,010 138 43 Structured, composable logging for Go 2014-05-20 00:11:52 2021-05-12 21:33:46
onelog 393 14 1 Dead simple, super fast, zero allocation and modular logger for Golang 2018-05-06 14:32:10 2021-04-14 18:54:26
log 369 22 2 Structured Logging Made Easy 2019-07-07 09:40:38 2021-05-28 07:00:11
logxi 347 39 24 A 12-factor app logger built for performance and happy development 2015-03-01 22:13:45 2021-05-08 17:22:18
logutils 292 31 1 Utilities for slightly better logging in Go (Golang). 2013-10-09 07:31:15 2021-03-24 13:59:46
log 275 21 1 📗 Simple, configurable and scalable Structured Logging for Go. 2016-02-07 16:17:48 2021-05-06 17:20:44
go-logger 264 49 2 Simple logger for Go programs. Allows custom formats for messages. 2014-09-26 04:57:06 2021-05-28 06:02:04
httpretty 225 5 1 Package httpretty prints the HTTP requests you make with Go pretty on your terminal. 2020-01-24 18:17:16 2021-05-19 14:27:24
sqldb-logger 177 5 4 A logger for Go SQL database driver without modify existing *sql.DB stdlib usage. 2019-11-02 17:28:03 2021-05-27 13:22:48
rollingwriter 173 26 8 Rolling writer is an IO util for auto rolling write in go. 2017-02-12 12:05:26 2021-05-27 08:40:02
logger 148 15 0 Minimalistic logging library for Go. 2014-09-30 06:45:09 2021-03-29 21:01:13
xlog 135 12 3 xlog is a logger for net/context aware HTTP applications 2015-10-22 09:26:45 2021-02-20 02:54:42
logur 124 8 7 Logur is an opinionated collection of logging best practices 2018-12-09 16:43:11 2021-05-25 19:22:03
ozzo-log 114 31 9 A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets. 2015-10-22 22:29:02 2021-05-17 07:01:57
glg 113 10 0 Simple and blazing fast lockfree logging library for golang 2017-06-21 13:26:16 2021-05-26 09:10:53
logvoyage 88 10 9 LogVoyage - logging SaaS written in GoLang 2015-03-29 11:05:09 2020-09-04 14:11:03
log 45 3 1 Logging packages for Go 2014-04-19 14:31:56 2020-08-12 17:36:34
go-cronowriter 40 7 3 Time based rotating file writer 2017-02-04 09:02:55 2021-02-13 11:55:18
gologger 39 10 2 The Simplest and worst logging library ever written 2015-09-02 08:52:26 2021-01-19 03:46:18
logex 37 8 2 An golang log lib, supports tracking and level, wrap by standard log lib 2014-10-10 06:38:39 2021-03-29 21:33:46
go-log 37 17 3 A logger, for Go 2014-05-02 00:34:09 2021-02-21 19:02:39
gone 35 5 0 Golang packages for writing small daemons and servers. 2016-09-05 09:39:11 2021-05-24 14:22:10
go-log 28 14 1 a golang log lib supports level and multi handlers 2014-05-18 03:41:55 2020-11-11 08:54:54
distillog 27 5 0 Logging, distilled 2015-10-12 16:32:21 2021-02-04 10:37:49
journald 26 1 0 Go implementation of systemd Journal's native API for logging 2017-08-23 07:06:09 2021-03-05 18:33:49
logrusly 26 14 2 Loggly Hooks for GO Logrus logger 2014-09-11 23:27:11 2020-08-17 21:36:09
log 24 2 0 Structured log interface 2017-10-28 19:57:55 2021-01-03 07:59:28
mlog 23 17 1 A simple logging module for go, with a rotating file feature and console logging. 2014-10-20 15:06:26 2021-03-21 07:13:54
gomol 17 0 3 Gomol is a library for structured, multiple-output logging for Go with extensible logging outputs 2015-08-30 15:51:46 2021-04-21 04:52:21
zkits-logger 15 0 0 A powerful zero-dependency json logger. 2020-03-31 14:23:40 2021-05-21 04:32:05
glo 13 0 0 Logging library for Golang 2019-01-19 22:10:42 2020-07-27 18:39:01
logrusiowriter 12 0 0 io.Writer implementation using logrus logger 2019-08-09 08:58:25 2021-04-28 10:20:48
go-log 11 5 0 Simple and configurable Logging in Go, with level, formatters and writers 2017-05-07 08:09:24 2021-02-21 03:47:33
logmatic 10 3 1 Colorized logger for Golang with dynamic log level configuration 2018-11-07 01:52:45 2021-03-10 18:40:34
logdump 9 2 0 Package for multi-level logging 2017-01-13 15:34:31 2019-07-22 17:02:07
logo 9 1 0 Golang logger to different configurable writers. 2017-02-07 18:02:55 2021-02-09 06:29:03
log 8 0 0 📝 Logging with multiple output targets. 2017-06-10 09:54:08 2020-11-19 15:43:56
go-log 8 3 0 A logging library with strack traces, object dumping and optional timestamps 2019-10-01 08:55:38 2021-02-21 07:39:35
xlog 6 3 0 plugin architecture and flexible log system for golang 2016-05-05 16:47:45 2019-09-26 11:33:58
kemba 5 0 0 A tiny debug logging tool. Ideal for CLI tools and command applications. Inspired by https://github.com/visionmedia/debug 2020-07-13 03:10:54 2021-05-21 04:32:04
yell 1 0 0 Yet another minimalistic logging library 2021-02-07 16:07:27 2021-05-21 13:00:39

Machine Learning

Libraries for Machine Learning.

Last Update: 2021-05-28 12:42:05

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
golearn 7,826 1,095 68 Machine Learning for Go 2013-12-26 13:06:14 2021-05-27 13:51:04
gorgonia 4,024 350 76 Gorgonia is a library that helps facilitate machine learning in Go. 2016-09-14 23:19:43 2021-05-26 09:19:49
tfgo 1,712 130 4 Tensorflow + Go, the gopher way 2017-05-23 13:27:39 2021-05-26 16:13:12
gosseract 1,455 184 13 Go package for OCR (Optical Character Recognition), by using Tesseract C++ library 2013-10-11 07:27:53 2021-05-28 03:52:02
gorse 1,247 137 10 An open source recommender system service written in Go 2018-08-14 11:01:09 2021-05-28 03:33:04
goml 1,187 111 4 On-line Machine Learning in Go (and so much more) 2015-06-27 05:52:01 2021-05-23 09:10:44
eaopt 731 82 6 🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution) 2016-01-31 00:04:52 2021-05-21 04:32:06
bayesian 704 124 8 Naive Bayesian Classification for Golang. 2011-11-23 04:17:00 2021-05-25 06:18:24
CloudForest 685 88 35 Ensembles of decision trees in go/golang. 2012-10-22 17:38:16 2021-05-17 16:10:46
gobrain 478 54 1 Neural Networks written in go 2014-04-29 13:32:36 2021-05-09 14:14:00
ocrserver 367 87 1 A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well 2015-11-15 07:57:42 2021-05-27 23:54:04
onnx-go 324 31 21 onnx-go gives the ability to import a pre-trained neural network within Go without being linked to a framework or library. 2018-08-28 07:39:20 2021-05-23 23:51:03
go-deep 315 31 7 Artificial Neural Network 2017-12-09 15:10:06 2021-05-27 19:45:03
regommend 291 26 0 Recommendation engine for Go 2014-02-05 17:00:49 2021-05-17 15:24:55
go-galib 184 42 0 Genetic Algorithms library written in Go / golang 2009-11-30 10:46:58 2021-05-18 13:09:51
goptuna 179 9 11 A hyperparameter optimization framework, inspired by Optuna. 2019-07-24 12:03:05 2021-05-22 22:50:00
goRecommend 172 19 0 Collaborative Filtering (CF) Algorithms in Go! 2014-07-16 05:32:23 2021-05-17 15:24:55
shield 140 29 5 Bayesian text classifier with flexible tokenizers and storage backends for Go 2013-04-10 19:38:16 2021-04-28 05:21:57
goga 106 11 0 Golang Genetic Algorithm 2015-10-20 12:50:51 2021-05-14 12:43:00
go-fann 103 21 2 Go bindings for FANN, library for artificial neural networks 2011-03-10 21:08:27 2021-04-11 03:02:00
libsvm 67 12 1 libsvm go version 2012-07-31 07:57:47 2021-01-13 19:35:07
gonet 66 5 0 Neural Network for Go. 2020-01-11 18:27:28 2021-03-15 23:06:06
goscore 65 20 3 Go Scoring API for PMML 2017-08-19 11:08:39 2021-05-17 05:16:58
neural-go 61 15 1 A multilayer perceptron network implemented in Go, with training via backpropagation. 2011-10-17 09:31:33 2021-04-11 03:01:58
go-pr 58 12 0 Pattern recognition package in Go lang. 2013-06-07 02:36:20 2020-11-22 22:15:28
neat 58 12 4 NEAT (NeuroEvolution of Augmenting Topologies) implemented in Go 2016-11-17 04:23:14 2020-09-07 20:06:39
go-featureprocessing 54 5 0 Fast, simple sklearn-like feature processing for Go 2020-12-18 13:09:18 2021-05-21 04:32:06
fonet 43 9 2 fonet is a deep neural network package for Go. 2017-10-03 15:57:15 2021-01-15 09:20:32
golinear 41 12 0 liblinear bindings for Go 2013-04-05 15:37:01 2021-03-15 23:05:51
Varis 35 6 0 Golang Neural Network 2017-10-10 08:43:27 2021-05-27 11:07:07
godist 28 6 0 Probability distributions and associated methods in Go 2014-09-05 09:48:51 2021-05-03 13:34:11
go-cluster 28 6 0 k-modes and k-prototypes clustering algorithms implementation in Go 2017-10-04 12:24:52 2021-03-16 20:24:47
probab 15 4 3 Automatically exported from code.google.com/p/probab 2015-09-14 12:07:52 2021-05-04 11:05:41
evoli 15 6 21 Genetic Algorithm and Particle Swarm Optimization 2015-06-12 06:58:30 2021-03-15 12:19:59
ddt 12 0 0 Golang Dynamic Decision Tree 2020-05-20 13:51:42 2021-05-17 03:53:13
gomind 11 1 7 A simplistic Neural Network Library in Go 2017-10-19 03:48:51 2021-05-15 17:23:23
randomForest 10 1 0 Random Forest implementation in golang 2018-10-25 07:05:29 2021-05-21 04:32:07

Messaging

Libraries that implement messaging systems.

Last Update: 2021-06-03 14:25:18

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
sarama 7,264 1,262 180 Sarama is a Go library for Apache Kafka 0.8, and up. 2013-07-05 18:52:38 2021-06-03 03:18:24
gorush 5,491 615 45 A push notification server written in Go (Golang). 2016-03-22 07:15:20 2021-06-03 06:21:28
machinery 5,263 664 148 Machinery is an asynchronous task queue/job queue based on distributed message passing. 2015-04-05 19:46:34 2021-06-03 02:25:56
centrifugo 5,063 440 10 Scalable real-time messaging server in language-agnostic way. Set up once and forever. 2015-03-31 20:26:49 2021-06-02 18:53:40
go-socket.io 4,100 672 73 socket.io library for golang, a realtime application framework. 2013-07-13 13:04:38 2021-06-03 06:51:44
nats.go 3,371 433 44 Golang client for NATS, the cloud native messaging system. 2012-08-15 12:54:59 2021-06-02 22:02:24
benthos 3,131 277 121 Declarative stream processing for mundane tasks and data engineering 2016-03-22 01:18:48 2021-06-02 21:30:00
confluent-kafka-go 2,701 419 152 Confluent's Apache Kafka Golang client 2016-07-12 22:23:34 2021-06-03 07:22:02
apns2 2,500 272 22 ⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps, using the APNs HTTP/2 protocol. 2016-01-05 00:56:53 2021-06-02 07:20:16
mercure 2,441 174 19 Server-sent live updates: protocol and reference implementation 2018-07-14 13:47:14 2021-06-01 22:38:50
melody 2,143 262 25 🎶 Minimalist websocket framework for Go 2015-05-13 20:38:32 2021-06-02 05:10:04
gopush-cluster 1,978 552 4 Golang push server cluster 2013-12-27 08:56:10 2021-05-30 10:29:08
go-nsq 1,912 363 25 The official Go package for NSQ 2013-08-29 01:18:32 2021-06-03 05:30:54
uniqush-push 1,258 195 71 Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices. 2011-08-29 08:42:37 2021-06-02 18:38:20
asynq 1,215 90 13 Asynq: simple, reliable, and efficient distributed task queue in Go 2019-11-15 05:17:55 2021-06-03 03:53:59
Beaver 1,093 57 16 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps. 2018-10-20 21:10:43 2021-05-31 20:48:48
EventBus 920 109 14 [Go] Lightweight eventbus with async compatibility for Go 2014-12-19 16:38:39 2021-06-01 02:39:00
zmq4 912 145 40 A Go interface to ZeroMQ version 4 2013-10-18 11:48:51 2021-06-02 00:14:26
gollum 889 72 19 An n:m message multiplexer written in Go 2015-06-20 21:51:20 2021-05-17 02:53:27
dbus 590 141 37 Native Go bindings for D-Bus 2014-03-27 19:07:41 2021-05-29 12:31:11
golongpoll 554 44 0 golang long polling library. Makes web pub-sub easy via HTTP long-poll servers and clients 😃 ☕ 💻 2015-11-02 00:32:56 2021-05-29 22:02:49
mangos 411 56 27 mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols" 2018-10-12 17:35:46 2021-05-27 06:30:36
emitter 406 31 4 Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins 2015-11-10 20:56:36 2021-06-01 03:05:05
glue 376 28 6 Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io) 2015-06-07 10:21:15 2021-06-01 19:46:27
pubsub 349 52 1 A simple pubsub package for go. 2012-04-01 06:31:43 2021-05-26 18:10:33
bus 208 14 0 🔊Minimalist message bus implementation for internal communication with zero-allocation magic on Emit 2019-04-27 06:41:53 2021-06-01 07:45:40
rabtap 182 15 2 RabbitMQ wire tap and swiss army knife 2017-11-11 11:32:39 2021-06-02 06:01:42
message-bus 177 29 2 Go simple async message bus 2017-10-04 09:18:34 2021-05-24 15:04:32
guble 147 20 5 websocket based messaging server written in golang 2015-11-15 20:32:42 2021-05-26 14:37:19
oplog 106 11 2 A generic oplog/replication system for microservices 2014-11-06 09:11:15 2021-01-31 13:50:35
hub 103 9 2 📨 A fast Message/Event Hub using publish/subscribe pattern with support for topics like* rabbitMQ exchanges for Go applications 2018-04-13 23:47:13 2021-06-03 06:05:33
rabbus 88 22 6 A tiny wrapper over amqp exchanges and queues 🚌 ✨ 2017-05-07 08:51:11 2021-05-06 23:10:45
drone-line 75 16 0 Sending line notifications using a binary, docker or Drone CI. 2016-09-13 05:21:44 2021-05-21 04:32:08
nsq-event-bus 67 12 2 A tiny wrapper around NSQ topic and channel 🚀 2017-01-15 22:05:13 2021-03-24 06:52:22
go-mq 62 11 3 Declare AMQP entities like queues, producers, and consumers in a declarative way. Can be used to work with RabbitMQ. 2017-06-19 16:16:30 2021-05-30 11:47:49
RapidMQ 62 9 1 RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue 2016-10-04 21:07:48 2021-06-02 05:57:13
redisqueue 55 14 1 redisqueue provides a producer and consumer of a queue that uses Redis streams 2019-07-07 04:36:54 2021-05-24 05:31:49
commander 54 3 2 Build event-driven and event streaming applications with ease 2018-04-20 12:30:51 2021-05-21 04:32:08
go-notify 53 9 1 Package notify provides an implementation of the Gnome DBus Notifications Specification. 2015-03-01 19:21:44 2021-05-28 09:03:01
go-res 48 6 7 RES Service protocol library for Go 2018-07-15 09:10:11 2021-05-21 04:32:09
event 38 7 0 The implementation of the pattern observer 2017-07-02 12:19:56 2021-05-14 14:46:18
hare 28 4 0 🐇 Easy to use socket lib for Golang 2020-12-01 22:30:27 2021-05-23 07:11:09
ami 19 5 0 Go client to reliable queues based on Redis Cluster Streams 2018-10-27 10:38:16 2021-06-03 03:36:47
gosd 18 1 0 A library for scheduling when to dispatch a message to a channel 2020-05-17 23:19:51 2021-05-24 02:42:11
go-vitotrol 16 3 1 golang client library to Viessmann Vitotrol web service 2016-11-03 19:59:43 2021-02-19 21:40:43
rmqconn 14 0 0 RabbitMQ Reconnection client 2019-01-14 16:05:44 2021-05-24 14:40:59
jazz 12 1 1 Abstraction layer for simple rabbitMQ connection, messaging and administration 2018-10-22 12:28:15 2021-05-31 21:49:08
gaurun-client 10 2 1 Gaurun Client written in Go 2017-06-29 02:50:51 2021-05-21 04:32:08

Microsoft Office

Last Update: 2021-06-04 14:25:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
unioffice 2,861 317 28 Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents 2017-08-29 01:25:48 2021-06-04 05:48:04

Microsoft Office - Microsoft Excel

Libraries for working with Microsoft Excel.

Last Update: 2021-05-26 10:29:22

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
excelize 8,751 913 74 Golang library for reading and writing Microsoft Excel™ (XLSX) files. 2016-08-29 12:32:12 2021-05-26 02:51:48
xlsx 4,945 760 33 Go (golang) library for reading and writing XLSX files. 2011-06-28 15:20:28 2021-05-26 01:21:03
xlsx 134 18 11 Fast and reliable way to work with Microsoft Excel™ [xlsx] files in Golang 2017-08-26 23:11:38 2021-04-28 00:13:51
go-excel 118 19 1 A simple and light excel file reader to read a standard excel as a table faster 一个轻量级的Excel数据读取库,用一种更关系数据库的方式解析Excel。 2017-09-03 11:51:58
goxlsxwriter 15 3 1 Golang bindings for libxlsxwriter for writing XLSX files 2017-03-13 04:15:17 2020-12-31 07:08:18

Miscellaneous - Dependency Injection

Libraries for working with dependency injection.

Last Update: 2021-05-26 09:27:06

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
fx 1,999 130 31 A dependency injection based application framework for Go. 2016-10-27 00:25:00 2021-05-25 22:14:21
dig 1,916 116 19 A reflection based dependency injection toolkit for Go. 2017-03-21 23:55:50 2021-05-25 22:15:01
container 189 14 3 A lightweight yet powerful IoC dependency injection container for Go projects 2019-09-23 16:12:50 2021-05-24 16:13:28
dingo 104 5 9 Go Dependency Injection Framework 2018-10-29 08:55:18 2021-05-21 04:32:11
di 84 7 3 🛠 A full-featured dependency injection container for go programming language. 2020-02-03 19:06:39 2021-05-20 14:45:50
di 79 3 0 Simple and yet powerful Dependency Injection for Go 2020-06-11 12:28:06 2021-05-21 04:32:12
alice 44 3 0 An additive dependency injection container for Golang. 2017-04-08 16:25:21 2021-02-01 22:07:46
linker 32 5 0 Dependency Injection and Inversion of Control package 2018-12-04 23:56:34 2021-05-06 05:34:51
wire 32 7 1 Strict Runtime Dependency Injection for Golang 2018-07-05 10:42:24 2021-02-14 21:50:05
gocontainer 14 1 0 Simple Dependency Injection Container 2019-06-06 08:18:07 2020-12-10 08:58:38
kinit 5 0 0 GO Dependency Injection 2021-01-24 13:41:41 2021-05-16 05:18:26
nject 4 0 0 Go dependency injection: nject & npoint 2018-10-31 18:15:43 2021-05-21 04:32:12

Miscellaneous - Project Layout

Unofficial set of patterns for structuring projects.

Last Update: 2021-05-28 15:25:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
project-layout 23,988 2,532 55 Standard Go Project Layout 2017-09-09 16:33:26 2021-05-28 08:05:05
modern-go-application 934 93 16 Modern Go Application example 2018-09-14 12:19:02 2021-05-27 20:02:31
cookiecutter-golang 447 94 4 A Go project template 2016-12-18 18:22:26 2021-05-28 07:49:49
seed 162 8 0 Go application GitHub repository template. 2020-04-30 21:31:36 2021-05-25 12:32:42
scaffold 99 23 1 Generate scaffold project layout for Go. 2018-12-11 10:36:03 2021-05-23 05:45:08
go-sample 84 20 0 Go Project Sample Layout 2019-01-24 23:41:46 2021-04-22 06:52:31
go-todo-backend 73 10 0 Go Todo Backend example using modular project layout for product microservice. 2020-06-25 14:28:50 2021-05-26 21:31:49
inizio 9 0 1 Golang project standard layout generator 2021-03-02 20:59:22 2021-05-21 04:32:12
gobase 8 3 0 This is a simple skeleton for golang application 2020-12-15 16:54:20 2021-05-21 04:32:12

Miscellaneous - Strings

Libraries for working with strings.

Last Update: 2021-06-03 14:25:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
xstrings 897 61 0 Implements string functions widely used in other languages but absent in Go. 2015-01-06 07:25:26 2021-05-22 07:15:07
strutil 120 10 0 String utilities for Go 2018-08-16 06:56:15 2021-05-24 09:06:07
stringy 65 5 0 Convert string to camel case, snake case, kebab case / slugify, custom delimiter, pad string, tease string and many other functionalities with help of by Stringy package. 2020-04-03 03:34:10 2021-06-03 07:08:18

Miscellaneous - Uncategorized

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

Last Update: 2021-06-02 12:25:24

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gopsutil 6,322 1,062 112 psutil for golang 2014-04-18 07:35:28 2021-06-02 04:45:43
archiver 3,219 302 72 Easily create & extract archives, and compress & decompress files of various formats 2016-04-08 22:46:55 2021-05-31 13:23:03
gofakeit 1,879 105 1 Random fake data generator written in go 2015-04-24 04:45:59 2021-06-01 15:55:30
gatus 1,486 78 23 ⛑ Gatus - Automated service health dashboard 2019-09-04 02:35:40 2021-06-02 04:48:27
gosms 1,334 132 4 📪 Your own local SMS gateway in Go 2015-01-23 19:25:55 2021-05-28 23:52:17
go-resiliency 1,195 100 1 Resiliency patterns for golang 2014-11-29 04:11:32 2021-06-01 03:31:47
base64Captcha 1,103 186 9 captcha of base64 and diversity 2017-12-12 12:17:07 2021-06-02 03:51:31
go-commons-pool 958 132 3 a generic object pool for golang 2015-12-28 14:26:23 2021-06-01 06:48:26
llvm 710 49 18 Library for interacting with LLVM IR in pure Go. 2014-09-19 11:18:44 2021-06-02 03:54:18
shortid 672 52 0 Super short, fully unique, non-sequential and URL friendly Ids 2016-01-04 01:17:10 2021-06-01 10:58:08
ghorg 430 64 18 Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 2018-03-29 02:53:05 2021-06-01 13:10:53
health 419 40 3 An easy to use, extensible health check library for Go applications. 2016-03-08 23:04:43 2021-05-26 01:20:34
go-conv 368 15 0 Fast conversions across various Go types with a simple API. 2016-10-11 07:41:41 2021-05-05 19:11:35
banner 346 19 2 An easy way to add useful startup banners into your Go applications 2016-03-25 21:28:44 2021-05-17 15:27:04
gountries 310 51 19 Gountries provides: Countries (ISO-3166-1), Country Subdivisions(ISO-3166-2), Currencies (ISO 4217), Geo Coordinates(ISO-6709) as well as translations, country borders and other stuff exposed as struct data. 2016-01-13 08:04:18 2021-05-21 04:32:14
stateless 269 13 5 Go library for creating state machines 2019-09-11 08:19:18 2021-05-27 23:14:35
ffmt 229 16 2 Golang beautify data display for Humans 2015-02-14 15:19:45 2021-06-01 21:33:02
shoutrrr 209 29 14 Notification library for gophers and their furry friends. 2019-04-11 06:49:34 2021-06-02 00:57:53
antch 205 39 4 Antch, a fast, powerful and extensible web crawling & scraping framework for Go 2017-09-28 05:44:17 2021-05-02 09:42:05
lk 204 34 1 Simple licensing library for golang. 2016-07-14 16:06:07 2021-05-21 05:21:21
battery 188 24 8 cross-platform, normalized battery information library 2016-03-12 23:03:40 2021-05-30 11:59:46
healthcheck 166 26 2 An simple, easily extensible and concurrent health-check library for Go services 2017-08-18 12:48:40 2021-05-19 23:36:43
bitio 151 20 1 Optimized bit-level Reader and Writer for Go. 2016-05-31 10:02:30 2021-06-02 05:17:46
stats 150 17 1 📈 Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... 2015-09-14 20:20:20 2021-05-08 18:20:35
go-unarr 136 21 6 Go bindings for unarr (decompression library for RAR, TAR, ZIP and 7z archives) 2015-11-01 09:38:37 2021-05-15 11:25:56
turtle 121 10 2 Emojis for Go 😄🐢🚀 2017-09-08 22:25:32 2021-03-21 15:37:39
gommit 94 2 1 Enforce git message commit consistency 2016-08-30 11:10:11 2021-05-25 07:11:17
gotoprom 89 1 0 Type-safe Prometheus metrics builder library for golang 2018-10-10 16:07:33 2021-04-10 07:34:48
indigo 84 11 1 A distributed unique ID generator of using Sonyflake and encoded by Base58 2016-08-31 14:17:45 2021-05-26 08:43:23
captcha 77 14 0 😎Package captcha provides an easy to use, unopinionated API for captcha generation 2017-09-12 06:52:15 2021-04-20 06:15:24
morse 67 11 3 Morse Code Library in Go 2018-08-15 05:31:31 2021-04-18 19:59:09
persian 53 5 1 Some utilities for Persian language in Go (Golang) 2017-10-16 16:16:56 2021-05-26 11:04:08
pdfgen 52 9 0 HTTP service to generate PDF from Json requests 2015-11-30 19:27:26 2021-05-26 01:21:01
xkg 50 5 1 User level X Keyboard Grabber 2015-01-05 01:04:43 2020-07-08 05:05:34
browscap_go 37 22 6 GoLang Library for Browser Capabilities Project 2014-09-18 04:47:42 2021-02-19 11:55:57
faker 37 2 0 Random fake data and struct generator for Go. 2020-07-22 20:09:46 2021-05-21 05:18:47
datacounter 36 5 2 Golang counters for readers/writers 2015-10-14 19:15:50 2020-12-23 16:28:56
autoflags 35 2 0 Populate go command line app flags from config struct 2014-05-15 19:00:29 2021-05-21 04:32:13
sandid 30 4 0 Every grain of sand on Earth has its own ID. 2018-06-12 01:24:14 2021-04-23 00:12:32
url-shortener 27 6 0 A golang URL Shortener 2018-06-04 05:57:45 2021-05-27 16:03:51
gosh 25 1 0 Provide Go Statistics Handler, Struct, Measure Method 2018-05-25 08:55:55 2021-02-10 12:48:54
xdg 25 7 1 FreeDesktop.org (xdg) Specs implemented in Go 2013-12-15 09:51:51 2021-05-28 21:05:39
metrics 19 4 1 atomic measures + Prometheus exposition library 2019-01-29 09:39:18 2021-03-08 20:02:15
shellwords 14 2 0 A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell. 2017-09-28 09:08:28 2021-02-23 06:25:26
anagent 12 2 0 Minimalistic, pluggable Golang evloop/timer handler with dependency-injection 2017-12-29 17:16:25 2021-01-29 03:15:06
avgRating 10 1 0 Calculate average score and rating based on Wilson Score Equation 2017-08-05 19:04:30 2020-01-09 09:02:53
hostutils 9 3 0 A golang library for packing and unpacking hosts list 2017-09-26 03:47:32 2020-04-23 10:54:09
numa 6 2 0 NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code. 2018-12-10 09:59:13 2021-04-14 12:02:34
generators 4 1 0 #golang generator 2016-02-29 14:29:02 2019-06-30 00:44:30

Natural Language Processing

Libraries for working with human languages.

Last Update: 2021-05-26 10:29:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
prose 2,741 131 14 📖 A Golang library for text processing, including tokenization, part-of-speech tagging, and named-entity extraction. 2017-02-17 17:08:22 2021-05-25 10:19:56
go-i18n 1,647 172 15 Translate your Go program into multiple languages. 2012-01-14 21:44:37 2021-05-25 06:44:29
gse 1,566 128 7 Go efficient text segmentation and NLP; support english, chinese, japanese and other. Go 语言高性能分词 2017-06-23 15:42:35 2021-05-22 10:32:05
gojieba 1,501 215 46 "结巴"中文分词的Golang版本 2015-09-12 01:30:44 2021-05-21 07:19:33
when 1,117 61 14 A natural language date/time parser with pluggable rules 2016-12-27 13:11:46 2021-05-24 00:35:19
go-pinyin 949 148 13 汉字转拼音 2014-11-09 14:04:33 2021-05-25 20:26:11
spago 891 40 12 Self-contained Machine Learning and Natural Language Processing library in Go 2020-01-05 20:39:29 2021-05-25 12:43:35
kagome 567 40 2 Self-contained Japanese Morphological Analyzer written in pure Go 2014-06-26 04:38:13 2021-05-25 04:46:58
whatlanggo 491 46 11 Natural language detection library for Go 2017-02-20 17:32:01 2021-05-19 12:28:20
nlp 367 26 3 [UNMANTEINED] Extract values from strings and fill your structs with nlp. 2017-01-25 07:19:03 2021-05-23 14:53:28
nlp 312 34 2 Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang 2017-03-15 08:28:05 2021-05-25 07:44:26
sentences 295 27 2 A multilingual command line sentence tokenizer in Golang 2015-08-07 01:08:20 2021-05-23 22:00:52
getlang 110 15 4 Natural language detection package in pure Go 2018-03-01 21:27:30 2021-01-30 10:02:16
go-unidecode 91 12 3 ASCII transliterations of Unicode text. 2016-07-08 13:15:10 2021-05-22 19:46:29
go-nlp 89 10 0 Utilities for working with discrete probability distributions and other tools useful for doing NLP work 2011-05-02 06:43:36 2021-01-30 05:58:16
RAKE.Go 80 15 4 A Go port of the Rapid Automatic Keyword Extraction algorithm (RAKE) 2016-12-17 13:36:25 2021-05-16 18:48:58
gounidecode 73 19 2 Unicode transliterator for #golang 2012-05-01 11:59:34 2021-05-09 09:43:14
textcat 65 8 1 A Go package for n-gram based text categorization, with support for utf-8 and raw text 2012-09-21 15:04:45 2021-03-17 09:27:40
segment 62 9 5 A Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29 2014-10-16 19:24:26 2021-05-21 08:47:28
go-stem 61 15 1 Word Stemming in Go 2011-09-23 19:07:23 2021-03-21 13:10:33
MMSEGO 59 13 0 Chinese word splitting algorithm MMSEG in GO 2012-04-18 04:06:21 2020-08-05 02:49:45
stemmer 49 3 0 Stemmer packages for Go programming language. Includes English, German and Dutch stemmers. 2011-03-21 02:08:12 2021-04-29 22:02:55
go2vec 41 4 0 Read and use word2vec vectors in Go 2015-01-27 12:02:04 2020-10-14 13:06:04
porter2 40 5 1 High Performance Porter2 Stemmer 2015-01-21 07:30:32 2021-04-30 13:16:52
petrovich 33 3 0 Golang port of Petrovich - an inflector for Russian anthroponyms. 2016-12-26 22:50:38 2021-02-22 18:27:59
address 28 0 0 Address handling for Go. 2020-10-07 18:15:27 2021-05-21 05:18:55
snowball 27 3 0 Cgo binding for Snowball C library 2012-12-11 12:42:19 2021-03-27 19:57:20
paicehusk 26 5 2 Golang implementation of the Paice/Husk Stemming Algorithm 2012-09-29 16:06:58 2019-11-28 05:32:37
mystem 25 6 0 CGo bindings to Yandex.Mystem 2016-08-30 14:55:39 2020-08-31 10:50:04
go-localize 23 4 0 i18n (Internationalization and localization) engine written in Go, used for translating locale strings. 2019-12-23 12:02:51 2021-05-21 05:18:56
iuliia-go 23 1 0 Transliterate Cyrillic → Latin in every possible way 2020-04-27 09:29:40 2021-05-16 11:10:23
icu 19 4 2 Cgo binding for icu4c library 2012-12-11 13:09:41 2020-10-29 13:45:37
golibstemmer 18 4 0 Go bindings for the snowball libstemmer library including porter 2 2012-08-06 19:31:05 2020-09-14 19:40:20
govader 14 2 0 vader sentiment analysis in go 2020-01-19 10:06:15 2021-05-17 16:39:50
shamoji 12 0 0 The shamoji (杓文字) is a word filtering package 2017-07-23 06:38:42 2021-01-14 18:13:19
transliterator 11 5 1 Golang text Transliterator (i.e München -> Muenchen) 2020-04-17 14:19:55 2021-05-20 14:49:00
gotokenizer 11 3 0 A tokenizer based on the dictionary and Bigram language models for Go. (Now only support chinese segmentation) 2018-10-11 03:22:36 2021-04-29 04:47:37
libtextcat 10 6 0 Cgo binding for libtextcat C library 2012-12-10 21:21:47 2018-07-29 06:39:58
detectlanguage-go 10 0 0 Detect Language API Go Client 2019-12-14 23:30:44 2021-05-08 08:46:00
porter 8 0 0 porter stemmer 2013-09-17 11:10:16 2018-07-28 05:12:38
gosentiwordnet 6 0 0 💬 Sentiment analyzer library using SentiWordnet in Go 2020-04-21 09:09:28 2021-04-09 08:24:05

Networking - HTTP Clients

Libraries for making HTTP requests.

Last Update: 2021-05-26 09:27:24

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
resty 4,272 358 32 Simple HTTP and REST client library for Go 2015-08-28 17:48:47 2021-05-26 02:05:04
heimdall 1,920 159 29 An enhanced HTTP client for Go 2018-01-19 09:32:26 2021-05-25 06:28:28
grequests 1,778 105 27 A Go "clone" of the great and famous Requests library 2015-06-11 16:41:48 2021-05-26 01:23:05
sling 1,282 103 0 A Go HTTP client library for creating and sending API requests 2015-04-02 08:42:52 2021-05-22 02:34:20
gentleman 895 49 19 Plugin-driven, extensible HTTP client toolkit for Go 2016-02-21 23:00:24 2021-05-12 13:22:50
pester 550 61 4 Go (golang) http calls with retries and backoff 2015-05-20 13:50:49 2021-05-24 01:49:58
request 118 17 0 go request, go http client 2020-03-25 06:24:18 2021-05-25 15:45:31
rq 38 2 1 A nicer interface for golang stdlib HTTP client 2017-12-26 10:48:27 2021-05-07 10:34:17
go-http-client 25 4 0 An enhanced http client for Golang 2019-12-14 11:22:19 2021-05-21 05:19:24
httpretry 14 1 0 Enriches the standard go http client with retry functionality. 2020-02-05 10:17:42 2021-05-20 19:41:31

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

Last Update: 2021-05-26 09:27:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gorm 23,946 2,732 78 The fantastic ORM library for Golang, aims to be developer friendly 2013-10-25 08:31:38 2021-05-26 00:20:24
ent 7,282 371 122 An entity framework for Go 2019-06-12 22:53:55 2021-05-26 01:14:03
pg 4,632 345 99 Golang ORM with focus on PostgreSQL features and performance 2013-04-24 12:31:41 2021-05-25 08:47:19
sqlboiler 3,958 381 105 Generate a Go ORM tailored to your database schema. 2016-02-21 06:18:25 2021-05-26 02:04:25
gorp 3,495 373 135 Go Relational Persistence - an ORM-ish library for Go 2012-01-04 19:50:09 2021-05-22 16:01:34
db 2,563 183 127 Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB with ORM-like features. 2013-10-23 02:04:36 2021-05-25 06:24:04
gormt 1,202 200 20 database to golang struct 2019-05-05 13:10:26 2021-05-25 14:06:10
reform 1,134 51 71 A better ORM for Go, based on non-empty interfaces and code generation. 2016-02-25 09:41:09 2021-05-23 00:36:44
pop 1,066 216 118 A Tasty Treat For All Your Database Needs 2018-02-07 21:13:46 2021-05-25 13:04:07
go-queryset 616 56 17 100% type-safe ORM for Go (Golang) with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support. GORM under the hood. 2017-09-03 17:29:30 2021-05-22 12:30:36
go-sqlbuilder 577 59 1 A flexible and powerful SQL string builder library plus a zero-config ORM. 2017-12-27 16:37:48 2021-05-25 20:39:37
qbs 550 103 9 QBS stands for Query By Struct. A Go ORM. 2013-02-02 05:40:59 2021-05-05 01:33:06
rel 354 31 12 💎 Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API 2019-10-06 07:08:01 2021-05-25 05:40:17
zoom 275 25 2 A blazing-fast datastore and querying engine for Go built on Redis. 2013-07-17 00:32:34 2021-05-05 19:14:27
beego 160 43 0 beego is an open-source, high-performance web framework for the Go programming language. 2020-12-13 14:58:50 2021-05-24 06:38:51
grimoire 151 15 0 Database access layer for golang 2018-03-05 16:52:20 2021-03-07 09:16:34
gosql 142 14 2 golang orm and sql builder 2020-04-27 09:16:29 2021-05-14 08:06:07
go-store 101 7 1 A simple and fast Redis backed key-value store library for Go 2015-03-22 12:07:29 2021-05-19 19:50:17
go-firestorm 24 6 3 Simple Go ORM for Google/Firebase Cloud Firestore 2018-12-04 14:53:53 2021-05-21 05:19:28
lore 7 1 0 Light Object-Relational Environment (LORE) provides a simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go 2017-04-29 03:57:15 2021-04-20 15:13:47
marlow 6 0 0 persistence layer code generation for golang 2020-08-11 13:34:00 2021-05-22 15:11:30

OpenGL

Libraries for using OpenGL in Go.

Last Update: 2021-05-26 07:26:07

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
glfw 1,103 135 11 Go bindings for GLFW 3 2013-05-19 06:38:45 2021-05-24 14:50:25
gl 803 54 9 Go bindings for OpenGL (generated via glow) 2015-02-22 03:29:45 2021-05-21 05:19:26
mathgl 377 50 9 A pure Go 3D math library. 2013-02-13 14:18:55 2021-05-20 18:44:16
gl 149 16 9 Go cross-platform OpenGL bindings. 2015-05-18 08:10:15 2021-04-22 20:04:33
glfw 70 15 10 Go cross-platform glfw library for creating an OpenGL context and receiving events. 2014-12-27 22:40:24 2021-04-22 20:14:17
go-glmatrix 2 2 0 go-glmatrix is a golang version of glMatrix, which is "designed to perform vector and matrix operations stupidly fast". 2020-07-02 13:40:40 2021-03-17 16:22:40

Package Management - Official

Official experimental tooling for package management

Last Update: 2021-05-29 12:25:21

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
dep 13,174 1,104 0 Go dependency management tool experiment (deprecated) 2016-10-07 00:04:51 2021-05-29 04:39:27

Package Management - Unofficial

Unofficial libraries for package and dependency management

Last Update: 2021-05-25 15:29:49

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
glide 8,099 536 421 Package Management for Golang 2014-07-09 06:02:50 2021-05-23 23:48:36
godep 5,623 486 79 dependency tool for go 2013-05-01 07:55:35 2021-05-25 05:42:20
govendor 5,009 410 122 Use Go Modules. 2015-04-12 15:26:40 2021-05-24 13:12:31
gopm 2,495 215 0 Go Package Manager (gopm) is a package manager and build tool for Go. 2013-05-15 14:53:29 2021-05-21 08:43:31
gom 1,391 103 14 Go Manager - bundle for go 2013-09-11 02:08:59 2021-05-07 06:58:20
gpm 1,199 51 15 Barebones dependency manager for Go. 2013-09-05 02:24:02 2021-04-14 06:05:31
goop 779 46 29 A simple dependency manager for Go (golang), inspired by Bundler. 2014-06-18 01:55:24 2021-04-05 08:27:03
modgv 369 10 1 Converts 'go mod graph' output into Graphviz's DOT language 2020-09-12 16:23:46 2021-05-21 05:20:46
nut 241 11 14 Vendor Go dependencies 2015-01-23 14:46:32 2021-02-11 17:30:39
johnny-deps 215 6 3 Barebones dependency manager for Go. 2013-07-19 15:20:47 2020-12-15 17:40:11
mvn-golang 126 25 0 maven plugin to automate GoSDK load and build of projects 2016-03-24 06:47:08 2021-05-21 18:45:16
VenGO 120 10 3 Create and manage Isolated Virtual Environments for Go 2014-10-17 15:19:03 2021-04-21 01:54:12
gop 49 6 10 Moved to https://gitea.com/lunny/gop 2017-02-18 04:33:48 2021-01-14 20:53:39

Performance

Last Update: 2021-06-04 10:25:25

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
jaeger 13,584 1,603 388 CNCF Jaeger, a Distributed Tracing Platform 2016-04-15 18:49:02 2021-06-04 01:51:30
pixie 1,565 67 50 Instant Kubernetes-Native Application Observability 2020-02-27 00:22:45 2021-06-04 01:29:37
profile 1,480 101 6 Simple profiling for Go 2014-10-22 01:35:18 2021-06-03 16:20:02
statsviz 1,373 48 6 🚀 Instant live visualization of your Go application runtime statistics (GC, MemStats, etc.) in the browser 2020-08-14 00:00:41 2021-06-03 14:19:24
tracer 45 1 11 🧶 Dead simple, lightweight tracing. 2019-06-22 13:23:27 2021-05-28 09:42:51

Query Language

Last Update: 2021-05-26 09:27:12

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
graphql 7,673 668 168 An implementation of GraphQL for Go / Golang 2015-07-19 12:25:43 2021-05-25 23:43:10
gqlgen 6,034 642 214 go generate based graphql server library 2018-02-11 04:54:11 2021-05-26 00:19:43
graphql-go 3,740 403 86 GraphQL server with a focus on ease of use 2016-10-18 13:57:24 2021-05-26 00:20:16
gojsonq 1,673 95 11 A simple Go package to Query over JSON/YAML/XML/CSV Data 2018-05-19 16:15:18 2021-05-24 18:10:21
dasel 905 17 6 Query, update and convert data structures from the command line. Comparable to jq/yq but supports JSON, TOML, YAML, XML and CSV with zero runtime dependencies. 2020-09-22 10:33:56 2021-05-25 12:52:32
jsonql 246 36 5 JSON query expression library in Golang. 2015-12-29 11:24:04 2021-04-21 12:34:24
rql 204 21 10 Resource Query Language for REST 2018-06-05 18:37:29 2021-05-21 04:32:19
graphql 52 6 3 graphql parser + utilities 2015-04-18 21:05:52 2020-04-11 19:37:54
jsonslice 52 4 4 json slicer 2018-05-02 00:33:15 2021-04-03 11:04:51
api-fu 31 0 2 A collection of Go packages for creating robust GraphQL APIs 2019-07-30 05:18:43 2021-05-21 04:32:19
straf 26 3 0 Convert Golang Struct To GraphQL Object On The Fly 2019-08-16 13:31:39 2021-03-21 18:27:21
rest-query-parser 18 2 0 Query Parser for REST 2020-02-10 17:58:42 2021-05-21 04:32:19
jsonpath 5 1 0 A query library for retrieving part of JSON based on JSONPath syntax. 2020-11-29 05:37:26 2021-04-27 16:37:54
gws 4 1 2 A WebSocket client and server for GraphQL 2020-06-08 19:51:36 2020-11-16 02:47:54

Resource Embedding

Last Update: 2021-05-25 15:29:43

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
packr 3,220 173 60 The simple and easy way to embed static files into Go binaries. 2017-03-15 22:24:53 2021-05-24 08:25:30
statik 3,184 201 33 Embed files into a Go executable 2014-02-04 14:54:51 2021-05-24 09:30:49
go.rice 2,210 135 35 go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy. 2013-10-23 21:29:34 2021-05-22 15:59:42
vfsgen 930 79 32 Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it. 2015-05-18 13:03:02 2021-05-13 06:55:10
esc 596 66 11 A simple file embedder for Go 2014-01-26 05:08:04 2021-05-08 14:01:30
fileb0x 586 48 8 a better customizable tool to embed files in go; also update embedded files remotely without restarting the server 2016-01-23 20:19:33 2021-05-16 11:42:51
go-resources 172 18 3 Unfancy resources embedding for Go with out of box http.FileSystem support. 2015-02-21 15:40:17 2021-05-04 13:39:12
statics 62 4 0 📁 Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks 2015-10-07 11:49:52 2020-11-10 12:17:01
templify 26 4 1 A tool to be used with 'go generate' to embed external template files into Go code. 2016-05-22 16:42:47 2021-02-07 19:39:17
rebed 16 1 0 Recreates directory and files from embedded filesystem using Go 1.16 embed.FS type. 2021-02-17 18:19:49 2021-05-21 04:32:20
mule 9 1 1 mule is a tool to be used with 'go generate' to embed external resources files into Go code. 2020-01-17 10:56:00 2021-01-05 11:20:02
debme 4 1 0 Get an embed.FS from inside an embed.FS 2021-04-16 00:25:13 2021-05-21 04:32:20

Science and Data Analysis

Libraries for scientific computing and data analyzing.

Last Update: 2021-05-27 12:25:32

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gonum 4,879 395 213 Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more 2017-03-25 14:54:38 2021-05-26 22:38:08
stats 1,981 131 14 A well tested and comprehensive Golang statistics library package with no dependencies. 2014-12-16 03:25:19 2021-05-25 21:51:54
plot 1,890 174 96 A repository for plotting and visualizing data 2013-07-23 07:01:13 2021-05-26 16:00:09
gosl 1,578 140 0 Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations. 2015-02-09 23:00:38 2021-05-26 23:08:14
streamtools 1,310 108 47 tools for working with streams of data 2013-07-05 18:58:45 2021-05-10 16:03:38
go-dsp 728 74 6 Digital Signal Processing for Go 2011-11-02 06:28:41 2021-05-24 04:02:35
chart 673 100 6 Provide basic charts in go 2011-06-27 12:19:42 2021-05-25 06:32:41
goraph 639 74 6 Package goraph implements graph data structure and algorithms. 2014-02-27 03:15:55 2021-05-20 11:52:59
dataframe-go 539 52 5 DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration 2018-10-01 12:19:31 2021-05-25 09:16:08
graph 449 42 5 Graph algorithms and data structures 2017-04-27 18:43:54 2021-05-20 02:06:33
orb 396 52 12 Types and utilities for working with 2d geometry in Golang 2016-03-28 01:19:01 2021-05-21 04:32:21
ewma 333 22 1 Exponentially Weighted Moving Average algorithms for Go. 2013-07-05 21:33:25 2021-05-25 06:32:37
calendarheatmap 260 7 2 Calendar heatmap inspired by GitHub contribution activity 2020-07-01 18:30:48 2021-05-21 04:32:20
gohistogram 152 27 1 Streaming approximate histograms in Go 2013-07-02 12:53:22 2021-05-01 09:47:23
TextRank 136 14 4 😉 🌀 🍓 TextRank implementation in Golang with extendable features (summarization, phrase extraction) and multithreading (goroutine). 2018-01-09 19:36:17 2021-05-21 21:42:58
sparse 116 19 4 Sparse matrix formats for linear algebra supporting scientific and machine learning applications 2017-05-16 13:54:36 2021-05-23 06:51:47
go-estimate 76 6 2 State estimation and filtering algorithms in Go 2018-11-04 22:32:52 2021-04-08 08:37:26
pagerank 69 15 3 Weighted PageRank implementation in Go 2015-08-06 01:33:34 2021-04-15 09:20:14
geom 47 16 1 2d geometry for golang 2011-06-07 17:49:11 2021-04-07 08:17:36
evaler 44 12 5 Implements a simple floating point arithmetic expression evaluator in Go (golang). 2012-09-04 23:37:58 2021-04-01 11:17:53
goent 25 1 0 GO Implementation of Entropy Measures 2017-08-08 05:37:12 2021-05-10 16:11:38
triangolatte 22 1 8 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs. 2018-07-18 21:17:09 2021-05-21 04:32:21
decimal 21 0 0 An arbitrary-precision decimal floating-point arithmetic package for Go 2020-05-27 15:23:59 2021-05-15 16:53:17
piecewiselinear 17 1 0 tiny linear interpolation library for go (factored out from https://github.com/sgreben/yeetgif) 2018-10-21 13:19:44 2021-04-15 14:33:21
GoStats 15 0 0 GoStats is a go library for math statistics mostly used in ML domains, it covers most of the statistical measures functions. 2018-07-22 20:55:16 2021-04-26 15:21:10
PiHex 14 2 0 PiHex Library, written in Go, generates a hexadecimal number sequence in the number Pi in the range from 0 to 10,000,000. 2016-07-22 11:21:37 2021-03-18 18:52:26
godesim 14 0 1 ODE system solver made simple. For IVPs (initial value problems). 2020-12-16 01:02:26 2021-05-21 04:32:21
ode 13 0 1 An ordinary differential equation solving library in golang. 2016-11-11 22:40:21 2021-01-26 11:20:02
assocentity 6 1 6 Package assocentity returns the average distance from words to a given entity 2018-12-21 07:17:09 2020-10-27 12:49:42
go-gt 5 0 2 Automatically exported from code.google.com/p/go-gt 2015-09-14 12:05:37 2019-09-05 08:47:43
rootfinding 4 0 0 root-finding library 2018-10-30 22:31:48 2020-10-23 14:27:03
bradleyterry 4 0 0 Package to do Bradley-Terry Model pairwise compairsons 2019-04-30 00:28:13 2020-09-08 12:32:53

Security

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

Last Update: 2021-05-26 07:26:05

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
lego 4,624 617 116 Let's Encrypt client and ACME library written in Go 2015-06-08 00:36:41 2021-05-25 16:45:21
cameradar 2,577 351 12 Cameradar hacks its way into RTSP videosurveillance cameras 2016-05-20 11:35:41 2021-05-23 21:03:04
crypto 2,164 1,198 39 [mirror] Go supplementary cryptography libraries 2014-12-04 04:02:55 2021-05-25 11:08:56
memguard 1,944 88 4 Secure software enclave for storage of sensitive information in memory. 2017-04-22 07:40:40 2021-05-25 19:29:13
acmetool 1,847 115 64 🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt) 2015-11-15 01:56:02 2021-05-25 09:11:49
secure 1,736 110 3 HTTP middleware for Go that facilitates some quick security wins. 2014-05-20 19:46:28 2021-05-25 08:01:21
themis 1,279 106 9 Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms. 2015-05-06 13:25:25 2021-05-25 11:28:45
acra 753 87 7 Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL. 2016-11-14 16:23:25 2021-05-25 17:23:13
nacl 508 27 3 Pure Go implementation of the NaCL set of API's 2017-07-20 19:07:19 2021-05-21 04:32:22
firewalld-rest 306 12 1 A rest application to update firewalld rules on a linux server 2020-06-12 20:16:33 2021-03-26 06:41:02
badactor 297 14 1 BadActor.org An in-memory application driven jailer written in Go 2014-12-12 20:05:20 2021-04-03 16:44:59
ssh-vault 288 20 8 🌰 encrypt/decrypt using ssh keys 2016-09-29 14:46:30 2021-05-24 21:27:31
optimus-go 272 18 0 ID hashing and Obfuscation using Knuth's Algorithm 2015-05-05 10:12:38 2021-05-25 15:01:01
go-password-validator 270 18 0 Validate the Strength of a Password in Go 2020-10-14 15:52:14 2021-05-21 04:32:22
passlib 242 26 1 🔑 Idiotproof golang password validation library inspired by Python's passlib 2014-12-21 17:45:52 2021-05-24 05:31:48
go-yara 209 78 4 Go bindings for YARA 2015-01-25 01:01:11 2021-05-23 09:10:14
simple-scrypt 171 19 4 A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go 🔑 2015-04-14 06:52:21 2021-05-21 04:32:23
argon2pw 85 7 0 Argon2 password hashing package for go with constant time hash comparison 2018-03-13 13:56:36 2020-11-12 05:57:31
goSecretBoxPassword 42 6 0 A probably paranoid Golang utility library for securely hashing and encrypting passwords based on the Dropbox method. This implementation uses Blake2b, Scrypt and XSalsa20-Poly1305 (via NaCl SecretBox) to create secure password hashes that are also encrypted using a master passphrase. 2017-10-19 19:34:45 2021-05-04 18:20:06
certificates 20 3 0 An opinionated helper for generating tls certificates 2019-03-04 07:20:36 2020-12-09 19:50:01
go-generate-password 18 2 1 Password generator written in Go 2019-11-14 17:57:19 2021-04-10 14:20:36
secureio 16 1 1 An easy-to-use XChaCha20-encryption wrapper for io.ReadWriteCloser (even lossy UDP) using ECDH key exchange algorithm, ED25519 signatures and Blake3+Poly1305 checksums/message-authentication for Go (golang). Also a multiplexer. 2018-12-25 14:20:59 2021-05-25 04:45:16
goArgonPass 14 5 1 goArgonPass is a Argon2 Password utility package for Go using the crypto library package Argon2 designed to be compatible with Passlib for Python and Argon2 PHP. Argon2 was the winner of the most recent Password Hashing Competition. This is designed for use anywhere password hashing and verification might be needed and is intended to replace implementations using bcrypt or Scrypt. 2018-05-30 01:32:10 2021-02-01 13:35:19
argon2-hashing 12 1 0 A light package for generating and comparing password hashing with argon2 in Go 2019-01-02 20:41:02 2021-05-15 23:48:59
sslmgr 10 2 0 A layer of abstraction the around acme/autocert certificate manager (Golang) 2019-04-02 17:35:38 2020-10-05 20:33:43

Serialization

Libraries and tools for binary serialization.

Last Update: 2021-05-26 07:25:55

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go 9,334 760 137 A high-performance 100% compatible drop-in replacement of "encoding/json" 2016-11-30 00:30:24 2021-05-25 12:55:36
protobuf 7,666 1,402 50 Go support for Google's protocol buffers 2014-11-23 23:07:23 2021-05-25 10:05:05
protobuf 4,599 596 205 [Looking for new ownership] Protocol Buffers for Go with Gadgets 2014-12-03 11:27:10 2021-05-25 21:52:59
mapstructure 4,499 478 39 Go library for decoding generic map values into native Go structures and vice versa. 2013-05-20 05:24:34 2021-05-25 22:06:19
go 1,539 258 2 idiomatic codec and rpc lib for msgpack, cbor, json, etc. msgpack.org[Go] 2013-05-30 02:13:13 2021-05-24 12:46:40
colfer 605 48 13 binary serialization format 2015-09-05 16:42:41 2021-05-21 04:32:23
csvutil 530 30 0 csvutil provides fast and idiomatic mapping between CSV and Go (golang) values. 2017-10-30 04:09:48 2021-05-25 03:27:57
go-capnproto 278 18 1 Cap'n Proto library and parser for go. This is go-capnproto-1.0, and does not have rpc. See https://github.com/zombiezen/go-capnproto2 for 2.0 which has rpc and capabilities. 2013-11-07 20:28:12 2021-03-18 11:21:07
cbor 274 20 13 CBOR RFC 7049 & RFC 8949 (Go/Golang) - safe & fast with standard API + toarray & keyasint, CBOR tags, float64/32/16, fuzz tested. 2019-05-15 21:22:15 2021-05-22 21:13:28
php_session_decoder 148 39 3 PHP session encoder/decoder written in Go 2012-12-23 14:04:25 2021-04-12 10:40:08
structomap 122 10 0 Easily and dynamically generate maps from Go static structures 2015-05-13 08:54:11 2021-03-01 12:52:38
bambam 62 10 3 auto-generate capnproto schema from your golang source files. Depends on go-capnproto-1.0 at https://github.com/glycerine/go-capnproto 2014-09-17 14:39:12 2021-03-04 20:35:06
asn1 47 21 6 Asn.1 BER and DER encoding library for golang. 2016-02-29 13:00:25 2020-08-21 06:42:00
binstruct 33 5 0 Golang binary decoder for mapping data into the structure 2018-10-23 15:42:22 2021-05-17 03:27:48
elastic 15 1 1 Converts go types no matter what 2020-02-25 19:55:00 2021-05-20 08:50:22
fwencoder 14 3 0 Fixed width file parser (encoder/decoder) in GO (golang) 2017-12-25 12:55:29 2020-09-10 10:26:54
pletter 14 1 3 A standard way to wrap a proto message 2019-07-09 14:02:08 2021-05-21 04:32:24
bel 12 4 2 Generate TypeScript interfaces from Go structs/interfaces - useful for JSON RPC 2019-02-20 20:48:24 2021-03-06 17:17:44
fixedwidth 5 0 0 A Go package for encode/decode fixed-width data 2019-08-11 03:42:24 2020-12-07 08:51:25
go-lctree 2 0 0 go-lctree provides a CLI and Go primitives to serialize and deserialize LeetCode binary trees (e.g. "[5,4,7,3,null,2,null,-1,null,9]"). 2020-05-04 05:39:46 2020-12-24 05:48:12
unitpacking 2 0 0 A library for storing unit vectors in a representation that lends itself to saving space on disk. 2021-01-17 22:31:41 2021-05-21 04:32:24

Server Applications

Last Update: 2021-05-25 14:22:03

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
etcd 35,959 7,669 181 Distributed reliable key-value store for the most critical data of a distributed system 2013-07-06 21:57:21 2021-05-25 06:36:42
caddy 33,447 2,695 76 Fast, multi-platform web server with automatic HTTPS 2015-01-13 19:45:03 2021-05-25 07:05:27
minio 27,837 3,015 41 High Performance, Kubernetes Native Object Storage 2015-01-14 19:23:58 2021-05-25 07:12:36
consul 22,086 3,711 886 Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure. 2013-11-04 22:15:27 2021-05-25 07:08:37
nsq 19,673 2,545 62 A realtime distributed messaging platform 2012-05-12 14:37:08 2021-05-25 03:00:32
roadrunner 5,593 301 45 High-performance PHP application server, load-balancer and process manager written in Golang 2017-12-26 16:13:10 2021-05-25 04:02:43
devd 3,124 138 21 A local webserver for developers 2015-09-27 22:43:00 2021-05-23 07:23:20
sftpgo 2,552 186 9 Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob 2019-07-20 10:18:31 2021-05-25 06:36:23
algernon 1,811 97 8 🎩 Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support 2015-03-10 11:25:30 2021-05-24 15:33:41
flagr 1,567 137 61 Flagr is a feature flagging, A/B testing and dynamic configuration microservice 2017-10-03 19:07:32 2021-05-22 17:11:09
fider 1,561 428 31 Open platform to collect and prioritize product feedback 2017-01-17 22:55:19 2021-05-25 06:11:26
flipt 1,485 65 10 An open-source, on-prem feature flag solution 2016-11-05 00:09:07 2021-05-24 18:21:06
trickster 1,403 137 20 Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator 2018-03-29 20:31:44 2021-05-22 21:08:23
discovery 1,390 328 18 A registry for resilient mid-tier load balancing and failover. 2018-04-20 12:57:50 2021-05-25 06:36:29
jackal 946 82 9 Instant messaging server for the Extensible Messaging and Presence Protocol (XMPP). 2017-11-13 18:17:48 2021-05-24 11:20:32
go-feature-flag 255 5 10 A simple and complete feature flag solution, without any complex backend system to install, you need only a file as your backend. 🎛️ 2020-12-11 13:19:17 2021-05-25 05:50:24
dudeldu 127 12 0 A simple SHOUTcast server. 2016-09-07 19:11:04 2021-05-15 05:13:50
lets-proxy2 53 6 30 Reverse proxy with automatically obtains TLS certificates from Let's Encrypt 2019-04-12 05:39:43 2021-04-13 15:40:38
psql-streamer 28 3 1 Stream database events from PostgreSQL to Kafka 2019-04-28 21:55:31 2021-05-01 06:49:46
nginx-prometheus 22 3 0 Turn Nginx logs into Prometheus metrics 2018-10-23 09:10:27 2021-05-21 16:30:18
protoxy 16 1 0 A proxy server than converts JSON request bodies to protocol buffers 2020-09-03 23:24:34 2021-05-21 16:35:18
simple-jwt-provider 16 1 4 Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob 2019-12-18 12:48:14 2021-05-21 04:32:26
cortex-tenant 15 5 0 Prometheus remote write proxy that adds Cortex tenant ID based on metric labels 2020-10-06 16:52:25 2021-05-11 05:27:06
go-proxy-cache 9 2 40 Simple Reverse Proxy with Caching, written in Go, using Redis. 2020-11-12 15:10:40 2021-05-21 04:32:25
riemann-relay 0 0 0 Service for relaying Riemann events to Riemann/Carbon destinations 2019-04-23 14:17:12 2019-10-29 15:00:17

Stream Processing

Libraries and tools for stream processing and reactive programming.

Last Update: 2021-05-31 14:25:23

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go-streams 647 40 1 A lightweight stream processing library for Go 2019-04-30 17:28:15 2021-05-30 07:56:40
machine 83 4 3 Machine is a workflow/pipeline library for processing data 2020-10-13 04:24:19 2021-05-25 19:27:34
stream 36 2 0 Go Stream, like Java 8 Stream. 2020-11-12 03:52:50 2021-05-26 14:52:32

Template Engines

Libraries and tools for templating and lexing.

Last Update: 2021-05-25 11:53:08

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gofpdf 3,803 585 56 A PDF document generator with high level support for text, drawing and images 2015-03-13 11:57:30 2021-05-24 14:15:30
sprig 2,339 255 71 Useful template functions for Go templates. 2013-11-22 01:20:40 2021-05-24 13:27:05
quicktemplate 2,097 113 27 Fast, powerful, yet easy to use template engine for Go. Optimized for speed, zero memory allocations in hot paths. Up to 20x faster than html/template 2016-03-06 21:42:01 2021-05-25 00:05:07
pongo2 1,972 192 52 Django-syntax like template-engine for Go 2013-08-23 01:00:08 2021-05-21 04:32:26
hero 1,458 95 27 A handy, fast and powerful go template engine. 2017-01-15 13:31:50 2021-05-25 02:41:05
mustache 1,013 185 32 The mustache template language in Go 2009-12-30 21:05:05 2021-05-07 07:50:12
amber 874 58 23 Amber is an elegant templating engine for Go Programming Language, inspired from HAML and Jade 2012-10-31 20:27:24 2021-04-20 10:29:28
ace 802 44 28 HTML template engine for Go 2014-07-13 13:39:19 2021-05-15 10:00:54
jet 785 79 16 Jet template engine 2016-03-31 16:53:36 2021-05-21 09:47:05
gorazor 779 86 2 Razor view engine for go 2014-05-01 05:30:31 2021-05-13 23:05:26
fasttemplate 490 61 9 Simple and fast template engine for Go 2015-08-19 12:44:22 2021-05-25 01:04:44
ego 488 36 10 An ERB-style templating language for Go. 2014-02-23 18:14:41 2021-05-22 09:00:56
raymond 424 60 18 Handlebars for golang 2015-04-22 13:07:59 2021-05-20 12:07:05
maroto 366 67 18 A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple. 2019-05-20 23:27:47 2021-05-21 04:32:26
goview 220 20 9 Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. 2019-04-14 11:22:41 2021-05-18 00:47:17
soy 155 36 6 Go implementation for Soy templates (Google Closure templates) 2013-12-15 01:14:48 2021-02-04 18:50:34
liquid 121 24 12 A complete Liquid template engine in Go 2017-06-26 14:39:52 2021-05-20 12:03:26
kasia.go 72 7 2 Templating system for HTML and other text documents - go implementation 2010-12-07 10:46:05 2021-05-05 02:28:01
velvet 72 6 2 A sweet velvety templating package 2016-12-29 16:46:57 2021-05-20 12:09:04
extemplate 33 8 3 Wrapper package for Go's template/html to allow for easy file-based template inheritance. 2018-08-10 20:34:19 2021-04-17 01:53:30
gospin 27 6 3 Article spinning and spintax/spinning syntax engine written in Go, useful for A/B, testing pieces of text/articles and creating more natural conversations 2019-02-22 17:04:51 2021-05-21 04:32:26
damsel 24 4 1 Package damsel provides html outlining via css-selectors and common template functionality. 2012-05-02 23:06:48 2020-09-12 23:20:49

Testing - Fail injection

Last Update: 2021-05-29 10:25:23

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
failpoint 584 51 10 An implementation of failpoints for Golang. 2019-04-02 07:48:18 2021-05-25 08:51:25

Testing - Fuzzing and delta-debugging, reducing, shrinking

Last Update: 2021-06-02 10:25:36

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go-fuzz 4,029 233 53 Randomized testing for Go 2015-04-15 13:07:50 2021-06-01 18:16:31
gofuzz 1,064 100 12 Fuzz testing for go. 2014-07-31 16:21:29 2021-06-01 18:15:47
tavor 232 8 53 A generic fuzzing and delta-debugging framework 2014-05-18 14:59:14 2021-04-27 23:55:43

Testing - Mock

Last Update: 2021-05-26 16:36:31

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
mock 5,580 425 31 GoMock is a mocking framework for the Go programming language. 2015-06-12 17:15:11 2021-05-26 07:21:28
go-sqlmock 3,507 288 47 Sql mock driver for golang to test database interactions 2014-02-07 07:59:29 2021-05-26 08:22:33
hoverfly 1,744 173 31 Lightweight service virtualization/API simulation tool for developers and testers 2015-11-30 16:36:31 2021-05-25 19:41:41
gock 1,219 69 28 HTTP traffic mocking and testing made easy in Go ༼ʘ̚ل͜ʘ̚༽ 2016-03-02 16:20:26 2021-05-24 19:42:06
httpmock 1,071 81 1 HTTP mocking for Golang 2014-02-24 16:47:59 2021-05-25 10:55:45
counterfeiter 531 67 11 A tool for generating self-contained, type-safe test doubles in go 2014-05-21 00:12:54 2021-05-25 02:05:22
go-txdb 362 32 3 Immutable transaction isolated sql driver for golang 2015-07-08 07:34:53 2021-05-21 18:00:21
minimock 350 23 10 Powerful mock generation tool for Go programming language 2016-08-03 16:01:35 2021-05-11 06:30:46
govcr 98 13 4 HTTP mock for Golang: record and replay HTTP/HTTPS interactions for offline testing 2016-07-10 17:47:41 2021-05-17 01:46:44
timex 54 2 0 A test-friendly replacement for golang's time package 2020-01-02 18:06:48 2021-05-12 10:18:55
mockhttp 22 5 0 Mock object for Go http.ResponseWriter 2011-06-11 16:03:01 2020-08-05 04:12:58
go-localstack 12 3 0 Go Wrapper for using localstack 2020-03-18 07:13:02 2021-05-25 19:54:44
mockit 7 1 1 Library that make mocking of Go functions/methods easy 2020-01-01 08:46:09 2021-05-21 04:32:30

Testing - Selenium and browser control tools

Last Update: 2021-05-25 15:29:52

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
chromedp 6,288 525 30 A faster, simpler way to drive browsers supporting the Chrome DevTools Protocol. 2017-01-24 14:54:30 2021-05-25 02:48:47
selenoid 1,899 249 157 Selenium Hub successor running browsers within containers. Scalable, immutable, self hosted Selenium-Grid on any platform with single binary. 2016-08-22 09:11:16 2021-05-21 14:59:58
rod 1,550 103 44 A Devtools driver for web automation and scraping 2020-01-21 20:09:45 2021-05-25 08:01:21
cdp 550 39 12 Package cdp provides type-safe bindings for the Chrome DevTools Protocol (CDP), written in the Go programming language. 2017-03-12 10:25:41 2021-05-23 14:19:51
playwright-go 341 32 13 Playwright for Go a browser automation library to control Chromium, Firefox and WebKit with a single API. 2020-08-16 12:46:14 2021-05-23 13:32:41
ggr 272 55 13 A lightweight load balancer used to create big Selenium clusters 2016-06-16 15:33:24 2021-05-14 03:58:25

Testing - Testing Frameworks

Last Update: 2021-06-04 10:25:23

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
testify 13,434 1,083 280 A toolkit with common assertions and mocks that plays nicely with the standard library 2012-10-16 16:43:17 2021-06-04 00:20:01
goconvey 6,394 468 137 Go testing in the browser. Integrates with go test. Write behavioral tests in Go. 2013-08-21 04:52:28 2021-06-03 18:31:14
ginkgo 4,808 440 56 BDD Testing Framework for Go 2013-08-23 20:53:05 2021-06-03 18:30:36
go-cmp 2,315 140 10 Package for comparing Go values in tests 2017-07-07 19:28:22 2021-06-03 22:41:46
httpexpect 1,694 131 9 End-to-end HTTP and REST API testing for Go. 2016-04-29 17:05:20 2021-06-03 10:51:37
gomega 1,391 212 15 Ginkgo's Preferred Matcher Library 2013-08-23 20:54:42 2021-06-03 17:21:22
godog 1,342 143 50 Cucumber for golang 2015-06-10 13:16:31 2021-06-03 09:24:26
goblin 790 73 16 Minimal and Beautiful Go testing framework 2013-09-19 02:34:24 2021-05-30 02:17:37
baloo 711 27 8 Expressive end-to-end HTTP API testing made easy in Go 2016-05-29 21:40:58 2021-06-03 18:32:04
testfixtures 670 51 13 Ruby on Rails like test fixtures for Go. Write tests against a real database 2016-04-05 11:33:28 2021-06-02 02:06:52
go-vcr 522 44 4 Record and replay your HTTP interactions for fast, deterministic and accurate tests 2015-12-14 12:52:17 2021-06-02 04:05:37
gnomock 457 14 10 Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻 2020-01-31 14:50:52 2021-06-03 21:26:02
go-mutesting 395 34 25 Mutation testing for Go source code 2014-12-26 22:23:44 2021-05-27 14:57:25
goc 375 53 15 A Comprehensive Coverage Testing System for The Go Programming Language 2020-05-07 03:46:25 2021-06-04 02:35:11
gofight 372 35 8 Testing API Handler written in Golang. 2016-03-29 00:13:21 2021-05-31 20:47:37
apitest 347 33 1 A simple and extensible behavioural testing library for Go. You can use api test to simplify REST API, HTTP handler and e2e tests. 2018-12-26 22:27:19 2021-06-03 07:48:23
frisby 265 26 13 API testing framework inspired by frisby-js 2015-09-15 14:35:58 2021-02-12 18:02:07
gotest.tools 236 34 22 A collection of packages to augment the go testing package and support common patterns. 2017-08-08 21:28:54 2021-06-03 20:26:35
go-carpet 214 7 1 go-carpet - show test coverage in terminal for Go source files 2016-02-28 12:02:51 2021-05-21 04:32:28
charlatan 194 8 2 Go Interface Mocking Tool 2017-10-06 21:55:14 2021-05-08 03:35:26
commander 186 12 22 Test your command line interfaces on windows, linux and osx and nodes viá ssh and docker 2019-02-22 16:35:16 2021-05-29 04:12:20
endly 186 20 0 End to end functional test and automation framework 2017-08-28 20:24:43 2021-05-21 15:19:11
go-testdeep 170 4 3 Extremely flexible golang deep comparison, extends the go testing package, tests HTTP APIs and provides tests suite 2018-05-26 15:03:28 2021-05-21 08:12:01
cupaloy 164 21 9 Simple Go snapshot testing 2017-08-07 18:30:05 2021-05-27 22:24:38
embedded-postgres 133 14 2 Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test 2019-11-16 23:49:40 2021-06-02 07:15:27
dbcleaner 128 11 1 Clean database for testing, inspired by database_cleaner for Ruby 2017-01-17 18:18:40 2021-05-18 04:34:24
gospec 114 16 3 Testing framework for Go. Allows writing self-documenting tests/specifications, and executes them concurrently and safely isolated. [UNMAINTAINED] 2009-11-24 13:59:26 2021-02-11 17:23:11
wstest 84 13 1 go websocket client for unit testing of a websocket handler 2017-03-31 21:06:18 2021-05-24 08:41:09
gocrest 80 4 2 GoCrest - Hamcrest-like matchers for Go 2017-12-23 23:27:00 2021-05-14 09:54:10
testcase 68 2 0 testcase is an opinionated behavior-driven-testing library 2019-04-22 21:20:51 2021-06-03 16:10:31
jsonassert 64 11 4 A Go test assertion library for verifying that two representations of JSON are semantically equal 2018-10-26 20:31:01 2021-05-27 08:41:35
restit 53 4 4 A Go library help testing your RESTful API application 2014-06-25 10:25:46 2021-04-30 17:01:37
gospecify 53 6 1 A BDD library for Go 2009-11-20 06:34:29 2021-02-11 17:23:22
gomatch 40 3 0 Library created for testing JSON against patterns. 2019-01-27 20:19:06 2021-05-15 22:30:58
covergates 39 9 11 The portal gates to coverage reports 2020-05-29 04:02:01 2021-05-20 11:01:00
dsunit 38 6 0 Datastore Testibility 2016-06-13 20:20:52 2021-02-14 11:12:04
go-hit 33 1 8 http integration test framework 2019-06-04 16:28:23 2021-05-21 04:32:28
assert 32 9 2 ❗Basic Assertion Library used along side native go testing, with building blocks for custom assertions 2015-07-20 17:53:45 2021-04-18 16:14:48
hamcrest 26 4 2 Hamcrest matchers for the Go programming language 2010-12-22 04:49:44 2021-02-11 17:08:31
flute 16 0 4 Golang HTTP client testing framework 2019-07-06 04:32:03 2021-05-21 04:32:27
schema 15 0 0 Quick and easy expression matching for JSON schemas used in requests and responses 2015-08-13 13:36:54 2021-03-01 05:46:30
biff 10 1 0 Bifurcation Framework for testing and use cases 2018-03-28 18:35:53 2020-08-31 12:00:00
badio 10 1 0 Extensions to Go's testing/iotest package 2016-02-11 10:29:25 2020-08-31 08:36:30
gogiven 10 2 4 gogiven - BDD testing framework for go that generates readable output directly from source code 2017-12-31 22:33:37 2021-06-03 09:08:48
testsql 10 1 3 Generate test data from SQL files before testing and clear it after finished. 2018-09-22 12:03:50 2020-08-30 23:10:29
gosuite 10 2 1 Test suites support for standard Go1.7 "testing" by leveraging Subtests feature 2016-10-15 19:28:14 2021-06-01 17:30:40
test 7 0 0 test utilities for golang 2019-03-23 21:47:36 2020-01-14 15:42:38
stop-and-go 5 2 0 Testing helper for concurrency 2020-11-06 09:04:58 2021-01-31 11:58:58
trial 5 0 0 A simple assertion library for go 2015-06-18 09:01:30 2021-04-18 16:15:16
tt 5 0 0 Simple and colorful test tools 2018-04-03 11:47:21 2021-04-28 17:28:39

Text Processing - Specific Formats

Last Update: 2021-05-28 13:45:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
colly 13,927 1,189 110 Elegant Scraper and Crawler Framework for Golang 2017-09-29 14:08:49 2021-05-28 06:03:07
goquery 10,185 770 5 A little like that j-thing, only in Go. 2012-08-29 02:14:59 2021-05-27 14:47:48
blackfriday 4,720 567 195 Blackfriday: a markdown processor for Go 2011-05-27 22:28:58 2021-05-27 15:11:25
sh 3,766 192 48 A shell parser, formatter, and interpreter with bash support; includes shfmt 2016-01-16 08:39:09 2021-05-28 04:17:39
toml 3,467 453 67 TOML parser for Golang with reflection. 2013-02-26 05:05:48 2021-05-27 09:59:19
go-humanize 2,655 181 28 Go Humans! (formatters for units to human friendly sizes) 2012-01-13 03:48:55 2021-05-26 00:32:05
bluemonday 1,878 117 18 bluemonday: a fast golang HTML sanitizer (inspired by the OWASP Java HTML Sanitizer) to scrub user generated content of XSS 2013-11-20 22:15:49 2021-05-24 23:48:08
gofeed 1,635 153 39 Parse RSS, Atom and JSON feeds in Go 2016-01-23 02:44:34 2021-05-25 18:13:50
inject 1,324 114 9 Package inject provides a reflect based injector. 2013-10-21 01:51:46 2021-05-26 04:39:48
go-toml 1,018 148 29 Go library for the TOML file format 2013-02-24 17:45:51 2021-05-27 06:37:24
commonregex 744 53 2 🍫 A collection of common regular expressions for Go 2017-03-23 14:33:18 2021-05-24 06:04:24
slug 650 69 11 URL-friendly slugify with multiple languages support. 2014-03-31 06:24:51 2021-05-24 14:23:01
mxj 469 85 0 Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. 2014-02-03 13:39:16 2021-05-21 16:48:17
dataflowkit 463 60 0 Extract structured data from web sites. Web sites scraping. 2017-02-09 15:08:15 2021-05-13 02:42:26
gographviz 433 65 9 Parses the Graphviz DOT language in golang 2015-03-14 18:27:00 2021-05-21 04:32:32
gommon 398 83 15 Common packages for Go 2015-03-12 22:35:57 2021-05-17 18:51:58
htmlquery 363 46 10 htmlquery is golang XPath package for HTML query. 2017-12-05 01:08:41 2021-05-23 14:37:08
go-runewidth 360 61 8 wcwidth for golang 2013-06-21 04:56:50 2021-05-27 09:11:46
omniparser 344 12 0 omniparser: a native Golang ETL streaming parser and transform library for CSV, JSON, XML, EDI, text, etc. 2020-08-16 22:22:21 2021-05-24 06:13:52
gotext 300 33 5 Go (Golang) GNU gettext utilities package 2016-06-19 20:14:43 2021-05-21 04:32:33
goq 196 18 2 A declarative struct-tag-based HTML unmarshaling or scraping package for Go built on top of the goquery library 2017-02-20 02:54:40 2021-05-25 05:36:42
goribot 195 29 1 [Crawler/Scraper for Golang]🕷A lightweight distributed friendly Golang crawler framework.一个轻量的分布式友好的 Golang 爬虫框架。 2019-09-08 10:39:47 2021-05-19 12:04:06
html-to-markdown 179 33 6 ⚙️ Convert HTML to Markdown. Even works with entire websites and can be extended through rules. 2018-05-15 13:26:26 2021-05-28 04:42:31
go-nmea 149 51 3 A NMEA parser library in pure Go 2015-07-22 08:55:54 2021-05-20 22:25:43
github_flavored_markdown 130 31 9 GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. 2015-05-16 04:09:07 2021-04-28 13:20:44
sdp 111 29 5 RFC 4566 SDP implementation in go 2016-05-13 14:35:11 2021-05-27 02:38:34
go-zero-width 96 8 0 Zero-width character detection and removal for Go 2018-06-18 13:55:09 2021-05-26 03:02:08
podcast 92 26 5 iTunes and RSS 2.0 Podcast Generator in Golang 2017-02-02 12:45:04 2021-05-01 07:04:45
editorconfig-core-go 85 27 4 EditorConfig Core written in Go 2016-07-05 03:50:41 2021-05-24 02:39:30
align 68 5 0 A general purpose application and library for aligning text. 2017-04-29 23:22:22 2021-04-22 21:20:45
go-slugify 67 5 1 Pretty Slug. 2016-07-16 11:55:15 2021-04-30 21:15:15
genex 60 5 0 Genex package for Go 2015-03-09 19:24:16 2020-12-10 08:56:04
go-vcard 57 19 4 A Go library to parse and format vCard 2017-03-21 08:30:36 2021-05-23 17:57:29
goregen 56 5 3 randexp for Go. 2014-12-27 00:19:39 2021-05-28 03:17:17
go-fixedwidth 53 18 6 Encoding and decoding for fixed-width formatted data 2017-11-15 21:05:44 2021-03-29 13:37:42
guesslanguage 52 2 1 Guess the natural language of a text in Go 2014-12-16 10:58:47 2021-05-07 06:03:20
did 51 13 4 A golang package to work with Decentralized Identifiers (DIDs) 2018-11-02 17:49:14 2021-05-11 22:52:18
allot 49 6 2 Parse placeholder and wildcard text commands 2016-10-16 15:49:08 2021-05-21 04:32:31
pagser 35 2 2 Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler 2020-04-19 09:22:00 2021-05-12 02:23:04
gonameparts 33 3 2 Takes a full name and splits it into individual name parts 2015-05-17 05:20:17 2020-11-25 21:46:02
slugify 27 2 0 A Go slugify application that handles string 2015-04-13 01:54:30 2021-02-17 19:13:25
codetree 17 3 0 🌲 Parses indented code and returns a tree structure. 2016-11-26 02:50:38 2021-02-06 17:49:49
normalize 17 1 0 Decode / encode XML to/from map[string]interface{} (or JSON); extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. 2021-03-22 09:25:14 2021-05-21 04:32:33
enca 11 2 0 Minimal cgo bindings for libenca 2014-12-17 04:55:16 2020-12-16 16:44:00
syndfeed 7 2 0 A syndication feed parser for Atom 1.0 and RSS 2.0 in Go 2017-04-07 09:30:55 2019-10-28 23:12:30
doi 6 0 0 Parse and check doi objects in go. 2017-08-02 05:58:01 2020-12-31 02:08:59
bbConvert 6 1 0 Converter from BBCode to HTML 2016-04-15 14:35:38 2020-08-30 14:37:50
ltsv 5 0 0 High performance LTSV (Labeled Tab Separeted Value) reader for Go. 2019-05-12 06:11:04 2020-04-28 14:07:48
encoding 3 1 1 Go package provides a generic interface to encoders and decoders 2018-04-06 20:48:00 2019-11-12 13:29:44
go-wildcard 3 0 0 A Go library to parse and format vCard 2021-03-28 16:31:41 2021-05-21 04:32:32
go-output-format 2 0 0 Output go objects in standard formats, such as YAML, JSON, etc 2021-04-08 20:48:17 2021-05-21 04:32:32

Text Processing - Utility

Last Update: 2021-05-25 14:22:08

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
xurls 787 91 1 Extract urls from text 2015-01-12 01:28:46 2021-05-24 14:03:02
gotabulate 264 27 6 Gotabulate - Easily pretty-print your tabular data with Go 2014-08-21 07:44:28 2021-05-08 13:59:02
radix 171 9 0 A fast string sorting algorithm (MSD radix sort) 2017-06-09 14:38:58 2021-04-20 04:08:46
regroup 83 6 1 Match regex group into go struct using struct tags and automatic parsing 2020-09-08 19:04:42 2021-05-21 05:51:59
parth 40 4 0 Path parsing for segment unmarshaling and slicing. 2015-04-06 22:53:59 2021-03-27 05:04:42
gofuckyourself 31 2 1 A sanitization-based swear filter for Go. 2018-09-09 00:07:26 2021-02-10 20:06:23
xj2go 20 4 0 Convert xml and json to go struct 2017-09-19 13:20:57 2020-08-31 17:04:37
kace 16 1 1 Common case conversions covering common initialisms. 2015-06-04 20:36:49 2020-09-27 22:30:36
tagify 16 0 0 Tagify produces a set of tags from a given source. Source can be either an HTML page, a Markdown document or a plain text. Supports English, Russian, Chinese, Hindi, Spanish, Arabic, Japanese, German, Hebrew, French and Korean languages. 2018-03-20 10:30:11 2021-05-21 04:32:34
TySug 9 1 0 A project around helping to prevent typing typos. TySug (Typo Suggestions) suggests alternative words with respect to keyboard layouts 2018-06-05 19:46:29 2021-01-23 19:41:36
parseargs-go 8 3 1 A string argument parser that understands quotes and backslashes 2016-02-24 00:53:38 2020-05-16 17:37:29
textwrap 2 0 1 Port of Python's "textwrap" module to Go 2019-07-26 17:57:55 2020-12-22 12:39:59

UUID

Libraries for working with UUIDs.

Last Update: 2021-06-03 12:25:26

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
uuid 2,686 246 11 Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. 2016-02-12 22:17:59 2021-06-02 20:40:27
ulid 2,254 88 2 Universally Unique Lexicographically Sortable Identifier (ULID) in Go 2016-12-06 15:26:52 2021-06-02 10:28:49
uuid 931 60 9 A UUID package originally forked from github.com/satori/go.uuid 2018-07-13 02:13:28 2021-06-03 02:13:45
wuid 418 36 0 An extremely fast UUID alternative written in golang 2018-01-27 01:16:28 2021-05-31 11:26:56
sno 46 2 1 Compact, sortable and fast unique IDs with embedded metadata. 2019-05-26 22:05:26 2021-05-21 19:21:41
nanoid 31 2 0 A tiny and fast Go unique string generator 2019-07-02 12:15:56 2021-06-01 04:17:24
Goid 30 1 1 A UUIDv4 generation package written in go 2017-05-19 10:40:45 2021-04-02 13:06:38
uuid 12 3 0 Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. 2016-02-03 03:02:51 2021-02-22 18:59:07
gouid 7 0 0 Fast, dependable universally unique ids 2020-10-08 19:54:41 2021-05-24 14:06:56
GoFlake 1 0 0 A highly scalable and serverless unique ID generator for use in distributed systems. Written in GoLang. Inspired by Twitters Snowflake. 2021-05-03 14:44:19 2021-05-21 04:32:47

Validation

Libraries for validation.

Last Update: 2021-06-02 12:25:28

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
validator 7,856 700 128 💯Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving 2015-02-12 16:32:22 2021-06-02 04:05:48
govalidator 4,763 484 128 [Go] Package of validators and sanitizers for strings, numerics, slices and structs 2014-06-20 10:45:23 2021-06-01 18:54:36
ozzo-validation 2,082 133 19 An idiomatic Go (golang) validation package. Supports configurable and extensible validation rules (validators) using normal language constructs instead of error-prone struct tags. 2016-06-22 03:47:43 2021-06-02 03:06:36
govalidator 991 89 29 Validate Golang request data with simple rules. Highly inspired by Laravel's request validation. 2017-09-13 16:42:20 2021-06-01 23:54:13
validate 414 59 7 ⚔ Go package for data validation and filtering. support Map, Struct, Form data. Go通用的数据验证与过滤库,使用简单,内置大部分常用验证、过滤器,支持自定义验证器、自定义消息、字段翻译。 2018-07-16 08:23:49 2021-06-01 16:03:08
checkdigit 77 2 0 Provide check digit algorithms and calculators written in Go 2019-04-05 09:46:36 2021-03-29 18:47:26
validate 59 18 5 This package provides a framework for writing validations for Go applications. 2018-02-10 18:25:55 2021-04-01 19:07:51
jio 58 9 0 jio is a json schema validator similar to joi 2018-10-28 11:02:45 2021-05-26 03:38:40
terraform-validator 50 4 6 A norms and conventions validator for Terraform 2019-05-29 11:37:15 2021-05-03 21:44:55
gody 49 3 1 🎈 A lightweight struct validator for Go 2018-11-01 21:08:16 2021-02-19 02:07:17
govalid 22 3 0 Struct validation using tags 2019-02-17 23:25:43 2021-04-27 16:03:31

Version Control

Libraries for version control.

Last Update: 2021-05-29 10:25:22

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go-git 2,322 238 181 A highly extensible Git implementation in pure Go. 2019-12-19 10:27:02 2021-05-28 11:51:12
git2go 1,627 286 42 Git to Go; bindings for libgit2. Like McDonald's but tastier. 2013-03-05 19:50:43 2021-05-25 19:09:13
hercules 1,349 115 36 Gaining advanced insights from Git repository history. 2016-12-12 17:30:29 2021-05-28 20:22:56
go-vcs 76 21 23 manipulate and inspect VCS repositories in Go 2013-06-02 02:36:18 2021-05-21 04:32:48
gh 75 12 2 Scriptable server and net/http middleware for GitHub Webhooks. 2015-03-08 21:04:05 2020-05-08 16:42:07
hgo 13 3 0 Hgo is a collection of Go packages providing read-access to local Mercurial repositories. 2014-06-18 03:54:40 2020-05-05 03:52:16

Video

Libraries for manipulating video.

Last Update: 2021-06-01 08:25:24

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
goav 1,627 286 43 Golang bindings for FFmpeg 2015-05-21 05:31:14 2021-05-31 12:12:52
m3u8 827 218 43 Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. 🎦 2013-02-05 22:26:30 2021-05-29 16:08:13
gmf 687 134 39 Go Media Framework 2013-04-03 09:07:47 2021-05-29 02:03:01
go-astits 364 34 6 Demux and mux MPEG Transport Streams (.ts) natively in GO 2017-07-04 13:06:15 2021-05-29 13:38:03
go-astisub 313 59 4 Manipulate subtitles in GO (.srt, .ssa/.ass, .stl, .ttml, .vtt (webvtt), teletext, etc.) 2016-12-16 14:47:59 2021-05-21 04:32:48
libvlc-go 212 31 1 Go bindings for libVLC and high-level media player interface 2015-01-06 14:01:50 2021-05-27 13:36:46
gst 159 46 9 Go bindings for GStreamer (retired: currently I don't use/develop this package) 2011-07-26 00:44:40 2021-04-21 01:25:11
go-m3u8 74 10 0 Parse and generate m3u8 playlists for Apple HTTP Live Streaming (HLS) in Golang (ported from gem https://github.com/sethdeckard/m3u8) 2018-11-06 02:42:27 2021-05-21 15:31:42
v4l 58 10 0 Facade to the Video4Linux video capture interface. 2016-10-25 10:50:25 2021-05-16 09:56:04
libgosubs 14 3 0 golang library to read and write various subtitle formats 2017-05-03 21:05:25 2021-05-20 14:04:11
go-mpd 8 1 0 Go library for parsing and generating MPEG-DASH Media Presentation Description (MPD) files 2018-11-02 19:09:07 2021-04-09 10:31:09

Web Frameworks

Full stack web frameworks.

Last Update: 2021-05-25 10:51:19

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
gin 48,259 5,492 396 Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin. 2014-06-16 23:57:25 2021-05-25 03:34:00
echo 19,891 1,767 52 High performance, minimalist Go web framework 2015-03-01 17:43:01 2021-05-25 00:17:06
fiber 13,483 629 22 ⚡️ Express inspired web framework written in Go 2020-01-16 03:59:20 2021-05-25 02:55:50
revel 12,266 1,399 99 A high productivity, full-stack web framework for the Go language. 2011-12-09 04:10:26 2021-05-24 05:53:19
buffalo 6,232 488 83 Rapid Web Development w/ Go 2014-10-22 17:35:14 2021-05-24 06:22:13
goa 4,250 457 35 Design-based APIs and microservices in Go 2014-12-05 07:17:53 2021-05-25 01:56:03
go-json-rest 3,468 386 49 A quick and easy way to setup a RESTful JSON API 2013-02-19 03:15:45 2021-05-21 02:16:36
gizmo 3,408 224 28 A Microservice Toolkit from The New York Times 2015-12-15 18:09:36 2021-05-25 02:17:59
macaron 3,159 282 8 Package macaron is a high productive and modular web framework in Go. 2014-07-10 03:13:30 2021-05-24 07:48:52
utron 2,197 159 9 A lightweight MVC framework for Go(Golang) 2015-09-16 07:55:54 2021-05-18 21:43:15
rest-layer 1,077 92 33 REST Layer, Go (golang) REST API framework 2015-07-29 19:16:20 2021-05-10 02:13:55
go-tigertonic 997 74 28 A Go framework for building JSON web services inspired by Dropwizard 2013-02-09 21:16:13 2021-05-23 22:04:00
goyave 844 38 9 🍐 Elegant Golang REST API Framework 2019-10-21 09:44:34 2021-05-23 14:37:28
tango 835 109 9 This is only a mirror and Moved to https://gitea.com/lunny/tango 2014-12-17 03:07:09 2021-05-17 07:04:49
aah 649 34 16 A secure, flexible, rapid Go web framework 2016-06-27 04:47:45 2021-05-15 00:36:04
gearbox 501 37 1 Gearbox ⚙ is a web framework written in Go with a focus on high performance 2020-04-25 01:28:37 2021-05-24 08:29:27
gongular 442 15 6 A different approach to Go web frameworks 2016-06-22 11:52:42 2021-05-05 11:32:56
neo 409 40 7 Go Web Framework 2015-02-04 19:16:06 2021-05-18 05:17:25
air 406 39 3 An ideally refined web framework for Go. 2016-07-20 12:09:48 2021-05-21 05:36:14
aero 372 21 3 🚄 High-performance web server for Go. 2016-11-09 13:02:13 2021-05-24 01:09:02
mango 352 37 9 Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. 2011-05-25 07:26:46 2021-05-18 02:27:52
gondola 309 22 8 The web framework for writing faster sites, faster 2014-07-25 21:28:55 2021-05-05 01:20:17
confetti 252 7 1 Confetti is a web application framework with an expressive, elegant syntax. This repository contains configuration files and is intended as a template for your codebase. Download these configuration files and include them in your git repository. 2019-11-01 23:14:21 2021-05-22 10:03:18
golf 248 26 4 ⛳ The Golf web framework 2015-11-18 15:10:14 2021-03-01 07:50:36
flamingo 211 28 19 Flamingo Framework and Core Library. Flamingo is a go based framework for pluggable web projects. It is used to build scalable and maintainable (web)applications. 2019-04-02 12:24:02 2021-05-24 10:15:19
flamingo-commerce 182 28 17 Flexible E-Commerce Framework on top of Flamingo. Used to build E-Commerce "Portals" and connect it with the help of individual Adapters to other services. 2019-04-02 15:11:57 2021-05-24 18:19:10
webgo 169 17 5 A minimal framework to build web apps; with handler chaining, middleware support; and most of all standard library compliant HTTP handlers(i.e. http.HandlerFunc). 2015-12-16 07:35:02 2021-05-17 14:31:15
ginrpc 167 17 3 gin auto binding,grpc, and annotated route,gin 注解路由, grpc,自动参数绑定工具 2019-06-22 12:03:53 2021-05-23 08:25:29
beego 160 43 0 beego is an open-source, high-performance web framework for the Go programming language. 2020-12-13 14:58:50 2021-05-24 06:38:51
hiboot 158 28 3 hiboot is a high performance web and cli application framework with dependency injection support 2018-03-16 11:21:46 2021-05-23 14:18:12
uadmin 136 30 7 The web framework for Golang 2018-10-05 09:00:17 2021-05-22 20:47:27
go-rest 125 13 2 A small and evil REST framework for Go 2012-07-13 10:02:15 2021-02-11 17:43:01
appy 87 10 14 An opinionated productive web framework that helps scaling business easier. 2019-05-27 04:48:59 2021-05-21 18:36:03
vox 75 4 7 Simple and lightweight Go web framework inspired by koa 2014-12-24 11:22:08 2021-05-13 00:36:37
microservice 74 13 0 This library provides a simple framework of microservice, which includes a configurator, a logger, metrics, and of course the handler 2016-12-15 09:07:04 2021-04-15 02:41:22
golax 73 6 6 Golax, a go implementation for the Lax framework. 2016-01-30 19:11:39 2020-08-31 11:59:35
patron 72 46 25 Microservice framework following best cloud practices with a focus on productivity. 2019-01-30 13:49:54 2021-05-19 14:53:31
rux 62 10 1 ⚡ Rux is an simple and fast web framework. support middleware, compatible http.Handler interface. 简单且快速的 Go web 框架,支持中间件,兼容 http.Handler 接口 2018-08-05 06:13:57 2021-05-24 02:06:39
yarf 61 6 1 Yet Another REST Framework 2015-09-02 13:56:47 2021-04-16 08:52:07
fireball 56 4 0 Go web framework with a natural feel 2016-07-20 05:04:54 2021-04-06 16:51:53
goa 44 1 0 Goa is a web framework based on middleware, like koa.js. 2019-07-26 07:12:23 2021-05-07 02:54:45
gotuna 34 4 0 GoTuna a lightweight web framework for Go with mux router, middlewares, user sessions, templates, embedded views, and static file server. 2021-04-08 14:08:08 2021-05-19 20:08:11
api 31 2 0 A REST framework for quickly writing resource based services in Golang. 2015-01-24 18:45:30 2020-02-21 12:56:46
rex 31 0 0 Pleasures for Web in Golang 2014-10-16 02:26:18 2020-12-22 09:31:27
goweb 24 1 0 Lightweight web framework based on net/http. 2019-05-07 21:04:43 2021-05-13 03:52:22
banjo 17 5 1 BANjO is a simple web framework written in Go (golang) 2017-12-09 13:35:31 2020-12-24 11:45:51

Web Frameworks - Middlewares - Actual middlewares

Last Update: 2021-05-31 14:25:22

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
tollbooth 1,949 179 5 Simple middleware to rate-limit HTTP requests. 2015-05-17 15:20:03 2021-05-30 07:09:50
cors 1,828 155 17 Go net/http configurable handler to handle CORS requests 2014-10-25 03:49:45 2021-05-30 07:41:41
limiter 1,274 102 5 Dead simple rate limit middleware for Go. 2015-10-02 08:12:38 2021-05-29 19:31:46
go-server-timing 815 26 3 Go (golang) library for creating and consuming HTTP Server-Timing headers 2018-02-12 03:56:02 2021-05-28 03:40:06
go-fault 394 16 1 Fault injection library in Go using standard http middleware 2020-05-14 16:13:17 2021-05-21 04:32:51
ln-paywall 110 7 17 Go middleware for monetizing your API on a per-request basis with Bitcoin and Lightning ⚡️ 2018-06-29 21:51:00 2021-03-17 08:48:00
xff 80 17 5 A Golang Middleware to handle X-Forwarded-For Header 2014-12-22 10:29:05 2021-05-07 13:13:36
formjson 36 0 0 Go net/http handler to transparently manage posted JSON 2015-03-19 23:52:28 2020-09-18 01:35:42
client-timing 19 4 1 An HTTP client for go-server-timing middleware. Enables automatic timing propagation through HTTP calls between servers. 2018-02-23 01:52:45 2021-04-21 08:17:29

Web Frameworks - Middlewares - Libraries for creating HTTP middlewares

Last Update: 2021-05-25 09:48:18

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
negroni 6,988 560 9 Idiomatic HTTP Middleware for Golang 2014-05-18 22:09:10 2021-05-22 04:47:30
alice 2,262 127 6 Painless middleware chaining for Go 2014-05-25 07:27:41 2021-05-24 15:14:54
render 1,427 125 5 Go package for easily rendering JSON, XML, binary data, and HTML templates responses. 2014-06-10 16:20:35 2021-05-19 01:21:10
stats 579 47 8 A Go middleware that stores various information about your web application (response time, status code count, etc.) 2015-03-05 18:02:50 2021-04-10 06:38:49
interpose 292 15 1 Minimalist net/http middleware for golang 2014-07-20 00:19:52 2021-03-01 21:59:13
renderer 220 22 0 Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go 2017-11-07 18:53:49 2021-05-17 07:19:10
muxchain 209 13 1 Lightweight Middleware for net/http 2014-05-03 17:14:17 2020-09-04 11:26:14
rye 96 12 0 A tiny http middleware for Golang with added handlers for common needs. 2016-10-06 19:51:59 2021-04-15 16:06:08
gores 94 2 0 Go package that handles HTML, JSON, XML and etc. responses 2015-12-25 12:41:01 2021-05-07 15:58:56
mediary 71 3 0 Add interceptors to GO http.Client 2020-03-23 18:54:56 2021-02-10 17:40:20
chain 63 3 0 Composable chains of nested http.Handler instances. 2015-05-14 19:52:58 2021-02-11 17:26:39
wrap 59 5 0 Go http.Hander based middleware stack with context sharing 2014-02-16 07:12:36 2020-08-28 05:29:07
catena 7 0 0 gRPC interceptor catenation. 2015-07-30 19:07:01 2018-08-25 22:06:07

Web Frameworks - Routers

Last Update: 2021-06-04 14:25:20

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
mux 14,472 1,357 25 A powerful HTTP router and URL matcher for building Go web servers with 🦍 2012-10-02 21:32:24 2021-06-04 06:32:23
httprouter 12,769 1,235 59 A high performance HTTP request router that scales well 2013-12-05 15:10:55 2021-06-04 06:51:45
chi 9,494 641 20 lightweight, idiomatic and composable router for building Go HTTP services 2015-10-15 20:46:29 2021-06-04 07:05:41
web 1,442 121 23 Go Router + Middleware. Your Contexts. 2013-11-16 20:48:20 2021-06-01 21:19:23
bone 1,272 85 2 Lightning Fast HTTP Multiplexer 2014-11-19 02:16:36 2021-05-27 06:17:55
fasthttprouter 872 92 19 A high performance fasthttp request router that scales well 2015-12-13 09:32:30 2021-05-17 07:25:12
goji 861 61 6 Goji is a minimalistic and flexible HTTP request multiplexer for Go (golang) 2015-11-16 00:52:41 2021-05-27 03:43:09
gorouter 497 80 1 xujiajun/gorouter is a simple and fast HTTP router for Go. It is easy to build RESTful APIs and your web framework. 2018-01-29 09:28:28 2021-05-22 06:09:28
httptreemux 493 44 2 High-speed, flexible tree-based HTTP router for Go. 2014-05-14 20:10:20 2021-06-02 00:50:21
ozzo-routing 406 50 11 An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. 2015-10-27 01:03:14 2021-05-27 09:59:27
lars 382 23 1 🚨 Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. 2015-12-24 17:28:45 2021-05-06 17:20:44
siesta 350 14 0 Composable framework for writing HTTP handlers in Go. 2014-09-23 13:55:56 2021-05-23 22:02:49
vestigo 262 29 14 Echo Inspired Stand Alone URL Router 2015-09-22 03:08:03 2021-05-16 04:33:49
router 160 12 0 ⚡️ A lightning fast HTTP router 2017-05-25 10:29:27 2021-04-26 14:57:04
alien 117 10 3 A lightweight and fast http router from outer space 2016-01-30 23:23:10 2021-04-22 20:03:07
pure 116 9 0 🚱 Is a lightweight HTTP router that sticks to the std "net/http" implementation 2016-09-23 19:57:58 2021-05-08 00:40:18
violetear 103 8 1 Go HTTP router 2015-06-19 16:49:41 2021-05-25 19:15:16
Bxog 101 6 0 Bxog is a simple and fast HTTP router for Go (HTTP request multiplexer). 2016-05-19 12:20:08 2021-02-10 21:41:30
gorouter 95 14 7 Go Server/API micro framework, HTTP request router, multiplexer, mux 2016-07-14 13:13:34 2021-06-03 05:57:46
xmux 89 9 2 xmux is a httprouter fork on top of xhandler (net/context aware) 2015-12-14 19:01:05 2021-02-17 07:38:45
bellt 49 4 0 🔔 A simple Go router 2019-02-21 13:13:52 2021-04-21 03:20:58
fastrouter 19 3 0 FastRouter is a fast, flexible HTTP router written in Go. 2017-11-01 08:52:52 2020-12-30 15:49:44
route 7 1 1 Go Route - Simple yet powerful HTTP request multiplexer 2019-07-06 18:47:38 2020-08-31 13:36:03

WebAssembly

Last Update: 2021-05-28 12:42:08

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
tinygo 8,038 415 254 Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM. 2018-06-07 16:39:19 2021-05-28 05:15:57
dom 430 51 11 DOM library for Go and WASM 2018-06-30 18:37:35 2021-05-25 05:49:27
go-canvas 130 9 5 Library to use HTML5 Canvas from Go-WASM, with all drawing within go code 2019-05-05 14:05:55 2021-05-25 11:24:11
wasmbrowsertest 80 9 0 Run WASM tests inside your browser 2018-07-14 18:42:24 2021-04-07 05:36:46
webapi 80 8 2 Go Lang Web Assembly bindings for DOM, HTML etc 2019-02-08 05:58:35 2021-05-20 15:19:01
vert 48 6 2 WebAssembly interop between Go and JS values. 2018-03-25 17:26:47 2021-05-23 19:32:09

Windows

Last Update: 2021-05-26 16:36:37

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
go-ole 751 138 51 win32 ole implementation for golang 2011-01-21 12:45:20 2021-05-24 01:40:18
d3d9 120 9 0 Direct3D9 wrapper for Go. 2015-12-12 21:24:38 2021-05-21 04:32:53
gosddl 5 1 0 GoSDDL converter 2018-12-04 08:36:11 2021-02-14 13:03:11

XML

Libraries and tools for manipulating XML.

Last Update: 2021-05-28 13:45:23

Show Table
Project Name Stars Forks Open Issues Description Created At Last Update
zek 466 40 8 Generate a Go struct from XML. 2017-11-23 19:03:11 2021-05-21 02:04:45
xpath 397 54 8 XPath package for Golang, supports HTML, XML, JSON document query. 2016-10-09 05:51:24 2021-05-21 20:18:26
xquery 153 25 0 Extract data or evaluate value from HTML/XML documents using XPath 2016-10-09 05:54:10 2021-05-22 09:57:43
xml2map 31 5 1 XML to MAP converter written Golang 2018-08-06 17:51:46 2021-05-18 06:45:45
xmlwriter 19 3 1 xmlwriter is a pure-Go library providing procedural XML generation based on libxml2's xmlwriter module 2017-04-11 04:43:26 2021-05-26 06:49:04
XML-Comp 15 8 8 Compare ANY markup documents. 2016-10-25 22:09:12 2021-04-23 04:41:47

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL