{"id":14089,"url":"https://github.com/thoqbk/awesome-go","name":"awesome-go","description":"Awesome Go frameworks, libraries and software. Crawl and sort daily by AwesomelsBot","projects_count":1462,"last_synced_at":"2026-10-08T16:00:22.054Z","repository":{"id":84564177,"uuid":"157563373","full_name":"thoqbk/awesome-go","owner":"thoqbk","description":"Awesome Go frameworks, libraries and software. Crawl and sort daily by AwesomelsBot","archived":false,"fork":false,"pushed_at":"2018-11-14T14:52:13.000Z","size":58,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-09-19T02:45:13.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thoqbk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-11-14T14:45:51.000Z","updated_at":"2018-11-14T15:12:56.000Z","dependencies_parsed_at":"2023-03-02T06:15:46.624Z","dependency_job_id":null,"html_url":"https://github.com/thoqbk/awesome-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thoqbk/awesome-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoqbk%2Fawesome-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoqbk%2Fawesome-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoqbk%2Fawesome-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoqbk%2Fawesome-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thoqbk","download_url":"https://codeload.github.com/thoqbk/awesome-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thoqbk%2Fawesome-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":343170754,"owners_count":38121728,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-08T02:00:05.744Z","response_time":97,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-01-12T20:23:53.086Z","updated_at":"2026-10-08T16:00:22.055Z","primary_language":"Go","list_of_lists":false,"displayable":true,"categories":["E-Books","Websites","Command Line","Configuration","Logging","Miscellaneous","Text Processing","Code Analysis","Distributed Systems","Financial","Third-party APIs","Web Frameworks","Go Generate Tools","Go Tools","ORM","Software Packages","Date and Time","Embeddable Scripting Languages","Generation and Generics","Database","Server Applications","Utilities","GUI","Science and Data Analysis","Messaging","Email","Template Engines","Database Drivers","Geographic","Authentication and OAuth","Networking","Package Management","Goroutines","Serialization","Natural Language Processing","Images","Audio and Music","Continuous Integration","CSS Preprocessors","Data Structures","Files","Forms","Game Development","Go Compilers","IoT (Internet of Things)","Machine Learning","OpenGL","Query Language","Resource Embedding","Security","Testing","Editor Plugins","Validation","Benchmarks","Gophers","Version Control","Video","XML","Windows"],"sub_categories":[],"readme":"# awesome-go\n\nCrawl and sort daily by AwesomelsBot. Source: [awesome-go](https://github.com/avelino/awesome-go)\n\n### Contents\n\n\n- [Audio and Music](#audio-and-music)\n\n- [Authentication and OAuth](#authentication-and-oauth)\n\n- [Command Line](#command-line)\n\n- [Configuration](#configuration)\n\n- [Continuous Integration](#continuous-integration)\n\n- [CSS Preprocessors](#css-preprocessors)\n\n- [Data Structures](#data-structures)\n\n- [Database](#database)\n\n- [Database Drivers](#database-drivers)\n\n- [Date and Time](#date-and-time)\n\n- [Distributed Systems](#distributed-systems)\n\n- [Email](#email)\n\n- [Embeddable Scripting Languages](#embeddable-scripting-languages)\n\n- [Files](#files)\n\n- [Financial](#financial)\n\n- [Forms](#forms)\n\n- [Game Development](#game-development)\n\n- [Generation and Generics](#generation-and-generics)\n\n- [Geographic](#geographic)\n\n- [Go Compilers](#go-compilers)\n\n- [Goroutines](#goroutines)\n\n- [GUI](#gui)\n\n- [Images](#images)\n\n- [IoT (Internet of Things)](#iot-(internet-of-things))\n\n- [Logging](#logging)\n\n- [Machine Learning](#machine-learning)\n\n- [Messaging](#messaging)\n\n- [Miscellaneous](#miscellaneous)\n\n- [Natural Language Processing](#natural-language-processing)\n\n- [Networking](#networking)\n\n- [OpenGL](#opengl)\n\n- [ORM](#orm)\n\n- [Package Management](#package-management)\n\n- [Query Language](#query-language)\n\n- [Resource Embedding](#resource-embedding)\n\n- [Science and Data Analysis](#science-and-data-analysis)\n\n- [Security](#security)\n\n- [Serialization](#serialization)\n\n- [Server Applications](#server-applications)\n\n- [Template Engines](#template-engines)\n\n- [Testing](#testing)\n\n- [Text Processing](#text-processing)\n\n- [Third-party APIs](#third-party-apis)\n\n- [Utilities](#utilities)\n\n- [Validation](#validation)\n\n- [Version Control](#version-control)\n\n- [Video](#video)\n\n- [Web Frameworks](#web-frameworks)\n\n- [Windows](#windows)\n\n- [XML](#xml)\n\n- [Code Analysis](#code-analysis)\n\n- [Editor Plugins](#editor-plugins)\n\n- [Go Generate Tools](#go-generate-tools)\n\n- [Go Tools](#go-tools)\n\n- [Software Packages](#software-packages)\n\n- [Benchmarks](#benchmarks)\n\n- [E-Books](#e-books)\n\n- [Gophers](#gophers)\n\n- [Websites](#websites)\n\n\n\n## Audio and Music\n\n\n\n* [portaudio](https://github.com/gordonklaus/portaudio) - Go bindings for the PortAudio audio I/O library - ★ 222\n\n\n\n* [waveform](https://github.com/mdlayher/waveform) - Go package capable of generating waveform images from audio streams. MIT Licensed. - ★ 220\n\n\n\n* [music-theory](https://github.com/go-music-theory/music-theory) - Go models of Note, Scale, Chord and Key - ★ 219\n\n\n\n* [portmidi](https://github.com/rakyll/portmidi) - Go bindings for libportmidi - ★ 178\n\n\n\n* [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps - ★ 87\n\n\n\n* [go-sox](https://github.com/krig/go-sox) - libsox bindings for go - ★ 81\n\n\n\n* [flac](https://github.com/eaburns/flac) - A Free Lossless Audio Codec decoder in Go - ★ 79\n\n\n\n* [id3v2](https://github.com/bogem/id3v2) - ID3 parsing and writing library for Go - ★ 79\n\n\n\n* [mp3](https://github.com/tcolgate/mp3) - golang mp3 frame parser - ★ 79\n\n\n\n* [flac](https://github.com/mewkiz/flac) - Package flac provides access to FLAC (Free Lossless Audio Codec) streams. - ★ 78\n\n\n\n* [go-taglib](https://github.com/wtolson/go-taglib) - Go wrapper for taglib - ★ 63\n\n\n\n* [gaad](https://github.com/Comcast/gaad) - GAAD (Go Advanced Audio Decoder) - ★ 49\n\n\n\n* [malgo](https://github.com/gen2brain/malgo) - Mini audio library - ★ 41\n\n\n\n* [vorbis](https://github.com/mccoyst/vorbis) - A \u0026quot;native\u0026quot; ogg vorbis decoder for Go (uses inline stb_vorbis) - ★ 22\n\n\n\n* [go_mediainfo](https://github.com/zhulik/go_mediainfo) - Golang bindings for libmediainfo - ★ 18\n\n\n\n* [EasyMIDI](https://github.com/algoGuy/EasyMIDI) - EasyMidi is a simple and reliable library for working with standard midi file (SMF) - ★ 15\n\n\n\n* [minimp3](https://github.com/tosone/minimp3) - Decode mp3 base on - ★ 15\n\n\n\n* [gosamplerate](https://github.com/dh1tw/gosamplerate) - Go Bindings for libsamplerate - ★ 7\n\n\n\n\n## Authentication and OAuth\n\n\n\n* [tornado](https://github.com/tornadoweb/tornado) - Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. - ★ 16773\n\n\n\n* [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT) - ★ 4460\n\n\n\n* [casbin](https://github.com/hsluoyz/casbin) - An authorization library that supports access control models like ACL, RBAC, ABAC in Golang - ★ 3200\n\n\n\n* [goth](https://github.com/markbates/goth) - Package goth provides a simple, clean, and idiomatic way to write authentication packages for Go web applications. - ★ 1922\n\n\n\n* [oauth2](https://github.com/golang/oauth2) - Go OAuth2 - ★ 1899\n\n\n\n* [authboss](https://github.com/volatiletech/authboss) - The boss of http auth. - ★ 1592\n\n\n\n* [go-oauth2-server](https://github.com/RichardKnop/go-oauth2-server) - A standalone, specification-compliant, OAuth2 server written in Golang. - ★ 1005\n\n\n\n* [go-jose](https://github.com/square/go-jose) - An implementation of JOSE standards (JWE, JWS, JWT) in Go - ★ 972\n\n\n\n* [gologin](https://github.com/dghubble/gologin) - Go login handlers for authentication providers (OAuth1, OAuth2) - ★ 927\n\n\n\n* [gorbac](https://github.com/mikespook/gorbac) - goRBAC provides a lightweight role-based access control (RBAC) implementation in Golang. - ★ 779\n\n\n\n* [loginsrv](https://github.com/tarent/loginsrv) - JWT login microservice with plugable backends such as OAuth2, Google, Github, htpasswd, osiam, .. - ★ 647\n\n\n\n* [permissions2](https://github.com/xyproto/permissions2) - Middleware for keeping track of users, login states and permissions - ★ 284\n\n\n\n* [go-aws-auth](https://github.com/smartystreets/go-aws-auth) - [DEPRECATED] Signs requests to Amazon Web Services (AWS) using IAM roles or signed signature versions 2, 3, and 4. Supports S3 and STS. - ★ 215\n\n\n\n* [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middlewares - ★ 157\n\n\n\n* [paseto](https://github.com/o1egl/paseto) - Platform-Agnostic Security Tokens implementation in GO (Golang) - ★ 154\n\n\n\n* [jwt-auth](https://github.com/adam-hanna/jwt-auth) - This package provides json web token (jwt) middleware for goLang http servers - ★ 132\n\n\n\n* [yubigo](https://github.com/GeertJohan/yubigo) - Yubigo is a Yubikey client API library that provides an easy way to integrate the Yubico Yubikey into your existing Go-based user authentication infrastructure. - ★ 94\n\n\n\n* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE). - ★ 74\n\n\n\n* [jwt](https://github.com/robbert229/jwt) - This is an implementation of JWT in golang! - ★ 50\n\n\n\n* [sessions](https://github.com/adam-hanna/sessions) - A dead simple, highly performant, highly customizable sessions middleware for go http servers. - ★ 36\n\n\n\n* [branca](https://github.com/hako/branca) - Secure alternative to JWT. Authenticated Encrypted API Tokens for Go. - ★ 33\n\n\n\n* [securecookie](https://github.com/chmike/securecookie) - Fast, secure and efficient secure cookie encoder/decoder - ★ 24\n\n\n\n* [rbac](https://github.com/zpatrick/rbac) - Minimalistic RBAC package for Go applications - ★ 16\n\n\n\n* [jwt](https://github.com/pascaldekloe/jwt) - JSON Web Token library - ★ 14\n\n\n\n* [sessiongate-go](https://github.com/f0rmiga/sessiongate-go) - Driver for the SessionGate Redis module for easy session management in the Go language. - ★ 5\n\n\n\n* [signedvalue](https://github.com/sashka/signedvalue) - Compatibility layer for tornado\u0026#39;s signed values (and secure cookies consequently) - ★ 5\n\n\n\n* [cookiestxt](https://github.com/mengzhuo/cookiestxt) - cookiestxt implement parser of cookies txt format - ★ 1\n\n\n\n* [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library - ★ 1\n\n\n\n\n## Command Line\n\n\n\n* [blessed-contrib](https://github.com/yaronn/blessed-contrib) - Build terminal dashboards using ascii/ansi art and javascript - ★ 11904\n\n\n\n* [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions - ★ 9473\n\n\n\n* [cli](https://github.com/urfave/cli) - A simple, fast, and fun package for building command line apps in Go - ★ 9265\n\n\n\n* [termui](https://github.com/gizak/termui) - Golang terminal dashboard - ★ 8005\n\n\n\n* [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit) - Library for building powerful interactive command line applications in Python - ★ 4870\n\n\n\n* [drive](https://github.com/odeke-em/drive) - Google Drive client for the commandline - ★ 4484\n\n\n\n* [gocui](https://github.com/jroimartin/gocui) - Minimalist Go package aimed at creating Console User Interfaces. - ★ 3643\n\n\n\n* [termbox-go](https://github.com/nsf/termbox-go) - Pure Go termbox implementation - ★ 3073\n\n\n\n* [color](https://github.com/fatih/color) - Color package for Go (golang) - ★ 2745\n\n\n\n* [kingpin](https://github.com/alecthomas/kingpin) - A Go (golang) command line and flag parser - ★ 2108\n\n\n\n* [go-prompt](https://github.com/c-bata/go-prompt) - Building powerful interactive prompts in Go, inspired by python-prompt-toolkit. - ★ 1869\n\n\n\n* [readline](https://github.com/chzyer/readline) - Readline is a pure go(golang) implementation for GNU-Readline kind library - ★ 1245\n\n\n\n* [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser - ★ 1200\n\n\n\n* [uiprogress](https://github.com/gosuri/uiprogress) - A go library to render progress bars in terminal applications - ★ 1200\n\n\n\n* [terminal-table](https://github.com/tj/terminal-table) - Ruby ASCII Table Generator, simple and feature rich. - ★ 1062\n\n\n\n* [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. - ★ 996\n\n\n\n* [cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. - ★ 877\n\n\n\n* [gcli](https://github.com/tcnksm/gcli) - The easy way to build Golang command-line application. - ★ 845\n\n\n\n* [uilive](https://github.com/gosuri/uilive) - uilive is a go library for updating terminal output in realtime - ★ 689\n\n\n\n* [mow.cli](https://github.com/jawher/mow.cli) - A versatile library for building CLI applications in Go - ★ 572\n\n\n\n* [go-arg](https://github.com/alexflint/go-arg) - Struct-based argument parsing in Go - ★ 536\n\n\n\n* [pflag](https://github.com/spf13/pflag) - Drop-in replacement for Go\u0026#39;s flag package, implementing POSIX/GNU-style --flags. - ★ 531\n\n\n\n* [complete](https://github.com/posener/complete) - bash completion written in go + bash completion for go command - ★ 517\n\n\n\n* [liner](https://github.com/peterh/liner) - Pure Go line editor with history, inspired by linenoise - ★ 489\n\n\n\n* [uitable](https://github.com/gosuri/uitable) - A go library to improve readability in terminal apps using tabular data - ★ 451\n\n\n\n* [progressbar](https://github.com/schollz/progressbar) - A really basic thread-safe progress bar for Golang applications - ★ 413\n\n\n\n* [cli](https://github.com/mkideal/cli) - CLI - A package for building command line app with go - ★ 405\n\n\n\n* [flaggy](https://github.com/integrii/flaggy) - Idiomatic Go input parsing with subcommands, positional values, and flags at any position. No required project or package layout and no external dependencies. - ★ 390\n\n\n\n* [aurora](https://github.com/logrusorgru/aurora) - Golang ultimate ANSI-colors that supports Printf/Sprintf methods - ★ 373\n\n\n\n* [mpb](https://github.com/vbauerster/mpb) - multi progress bar written in Go - ★ 354\n\n\n\n* [go-colorable](https://github.com/mattn/go-colorable) - ★ 309\n\n\n\n* [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. - ★ 278\n\n\n\n* [go-isatty](https://github.com/mattn/go-isatty) - ★ 276\n\n\n\n* [gommon](https://github.com/labstack/gommon/tree/master/color) - ★ 252\n\n\n\n* [termtables](https://github.com/apcera/termtables) - Go ASCII Table Generator, ported from the Ruby terminal-tables library - ★ 193\n\n\n\n* [go-colortext](https://github.com/daviddengcn/go-colortext) - Change the color of console text. - ★ 179\n\n\n\n* [simpletable](https://github.com/alexeyco/simpletable) - Simple tables in terminal with Go - ★ 103\n\n\n\n* [clif](https://github.com/ukautz/clif) - Another CLI framework for Go. It works on my machine. - ★ 89\n\n\n\n* [flag](https://github.com/cosiner/flag) - Flag is a simple but powerful command line option parsing library for Go support infinite level subcommand - ★ 85\n\n\n\n* [commandeer](https://github.com/jaffee/commandeer) - Automatically sets up command line flags based on struct fields and tags. - ★ 66\n\n\n\n* [sflags](https://github.com/octago/sflags) - Generate flags by parsing structures - ★ 64\n\n\n\n* [wmenu](https://github.com/dixonwille/wmenu) - An easy to use menu structure for cli applications that prompts users to make choices. - ★ 59\n\n\n\n* [argparse](https://github.com/akamensky/argparse) - Argparse for golang. Just because `flag` sucks - ★ 57\n\n\n\n* [cfmt](https://github.com/mingrammer/cfmt) - Contextual fmt inspired by bootstrap color classes - ★ 45\n\n\n\n* [hiboot](https://github.com/hidevopsio/hiboot/tree/master/pkg/app/cli) - ★ 44\n\n\n\n* [cli](https://github.com/teris-io/cli) - Simple and complete API for building command line applications in Go - ★ 37\n\n\n\n* [env](https://github.com/codingconcepts/env) - Tag-based environment configuration for structs - ★ 34\n\n\n\n* [color](https://github.com/gookit/color) - Terminal color rendering tool library, support 8/16 colors, 256 colors, RGB color rendering output, compatible with Windows. CLI 控制台颜色渲染工具库, 简洁的使用API，支持16色，256色，RGB色彩渲染输出，兼容 Windows 环境 - ★ 31\n\n\n\n* [wlog](https://github.com/dixonwille/wlog) - A simple logging interface that supports cross-platform color and concurrency. - ★ 26\n\n\n\n* [flagvar](https://github.com/sgreben/flagvar) - A collection of CLI argument types for the Go `flag` package. - ★ 23\n\n\n\n* [gocmd](https://github.com/devfacet/gocmd) - A Go library for building command line applications - ★ 23\n\n\n\n* [strumt](https://github.com/antham/strumt) - Strumt is a library to create prompt chain - ★ 20\n\n\n\n* [tabular](https://github.com/InVisionApp/tabular) - Tabular simplifies printing ASCII tables from command line utilities - ★ 14\n\n\n\n* [colourize](https://github.com/TreyBastian/colourize) - An ANSI colour terminal package for Go - ★ 13\n\n\n\n* [argv](https://github.com/cosiner/argv) - ★ 9\n\n\n\n* [go-commander](https://github.com/yitsushi/go-commander) - Go library to simplify CLI workflow - ★ 7\n\n\n\n* [go-ataman](https://github.com/workanator/go-ataman) - Another Text Attribute Manupulator - ★ 7\n\n\n\n* [ctc](https://github.com/wzshiming/ctc) - Console Text Colors - The non-invasive cross-platform terminal color library does not need to modify the Print method - ★ 4\n\n\n\n\n## Configuration\n\n\n\n* [viper](https://github.com/spf13/viper) - Go configuration with fangs - ★ 6743\n\n\n\n* [envconfig](https://github.com/kelseyhightower/envconfig) - Golang library for managing configuration data from environment variables - ★ 1919\n\n\n\n* [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby\u0026#39;s dotenv library (Loads environment variables from `.env`.) - ★ 1533\n\n\n\n* [ini](https://github.com/go-ini/ini) - Package ini provides INI file read and write functionality in Go. - ★ 1170\n\n\n\n* [env](https://github.com/caarlos0/env) - A KISS way to deal with environment variables in Go. - ★ 615\n\n\n\n* [store](https://github.com/tucnak/store) - A dead simple configuration manager for Go applications - ★ 235\n\n\n\n* [config](https://github.com/joshbetz/config) - A configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP - ★ 190\n\n\n\n* [confita](https://github.com/heetch/confita) - Load configuration in cascade from multiple backends into a struct - ★ 179\n\n\n\n* [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with convenient access methods. - ★ 178\n\n\n\n* [hjson-go](https://github.com/hjson/hjson-go) - Hjson for Go - ★ 150\n\n\n\n* [envconfig](https://github.com/vrischmann/envconfig) - Small library to read your configuration from environment variables - ★ 127\n\n\n\n* [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections - ★ 99\n\n\n\n* [envh](https://github.com/antham/envh) - Go helpers to manage environment variables - ★ 89\n\n\n\n* [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs - ★ 88\n\n\n\n* [goconfig](https://github.com/crgimenes/goConfig) - goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. - ★ 83\n\n\n\n* [gofigure](https://github.com/ian-kent/gofigure) - Go configuration made easy! - ★ 55\n\n\n\n* [configure](https://github.com/paked/configure) - Configure is a Go package that gives you easy configuration of your project through redundancy - ★ 39\n\n\n\n* [config](https://github.com/gookit/config) - Go config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge, parse ENV var. Go应用配置加载管理，支持多种格式，多文件加载，支持数据合并，解析环境变量名 - ★ 24\n\n\n\n* [gone](https://github.com/One-com/gone/tree/master/jconf) - ★ 22\n\n\n\n* [ingo](https://github.com/schachmat/ingo) - persistent storage for flags in go - ★ 21\n\n\n\n* [mini](https://github.com/sasbury/mini) - A golang package for parsing ini-style configuration files - ★ 19\n\n\n\n* [conflate](https://github.com/miracl/conflate) - Library providing routines to merge and validate JSON, YAML and/or TOML files - ★ 15\n\n\n\n* [go-up](https://github.com/ufoscout/go-up) - go-up! A simple configuration library with recursive placeholders resolution and no magic. - ★ 15\n\n\n\n* [xdg](https://github.com/OpenPeeDeeP/xdg) - A cross platform package that follows the XDG Standard - ★ 14\n\n\n\n* [envconf](https://github.com/ian-kent/envconf) - Configure Go applications from the environment - ★ 7\n\n\n\n* [sprbox](https://github.com/oblq/sprbox) - Build-environment aware toolbox factory \u0026amp; agnostic, layered, config parser (supporting YAML, TOML, JSON and Environment vars). - ★ 3\n\n\n\n\n## Continuous Integration\n\n\n\n* [drone](https://github.com/drone/drone) - Drone is a Continuous Delivery platform built on Docker, written in Go - ★ 16164\n\n\n\n* [goveralls](https://github.com/mattn/goveralls) - ★ 520\n\n\n\n* [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls - ★ 94\n\n\n\n* [duci](https://github.com/duck8823/duci) - The small ci server - ★ 14\n\n\n\n* [gomason](https://github.com/nikogura/gomason) - A tool for testing, building, signing, and publishing go binaries from a clean workspace. - ★ 12\n\n\n\n* [roveralls](https://github.com/LawrenceWoodman/roveralls) - A Go recursive coverage testing tool - ★ 10\n\n\n\n\n## CSS Preprocessors\n\n\n\n* [gcss](https://github.com/yosssi/gcss) - Pure Go CSS Preprocessor - ★ 408\n\n\n\n* [go-libsass](https://github.com/wellington/go-libsass) - Go wrapper for libsass, the only Sass 3.5 compiler for Go - ★ 107\n\n\n\n\n## Data Structures\n\n\n\n* [gods](https://github.com/emirpasic/gods) - GoDS (Go Data Structures). Containers (Sets, Lists, Stacks, Maps, Trees), Sets (HashSet, TreeSet, LinkedHashSet), Lists (ArrayList, SinglyLinkedList, DoublyLinkedList), Stacks (LinkedListStack, ArrayStack), Maps (HashMap, TreeMap, HashBidiMap, TreeBidiMap, LinkedHashMap), Trees (RedBlackTree, AVLTree, BTree, BinaryHeap), Comparators, Iterators, … - ★ 4747\n\n\n\n* [go-datastructures](https://github.com/Workiva/go-datastructures) - ★ 4510\n\n\n\n* [BoomFilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams. - ★ 1030\n\n\n\n* [golang-set](https://github.com/deckarep/golang-set) - A simple set type for the Go language. Also used in Docker, Kubernetes, Ethereum. - ★ 886\n\n\n\n* [gota](https://github.com/kniren/gota) - Gota: DataFrames and data wrangling in Go (Golang) - ★ 662\n\n\n\n* [hyperloglog](https://github.com/axiomhq/hyperloglog) - HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) - ★ 617\n\n\n\n* [bloom](https://github.com/willf/bloom) - Go package implementing Bloom filters - ★ 542\n\n\n\n* [roaring](https://github.com/RoaringBitmap/roaring) - Roaring bitmaps in Go (golang) - ★ 479\n\n\n\n* [bitset](https://github.com/willf/bitset) - Go package implementing bitsets - ★ 401\n\n\n\n* [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo Filter: Practically Better Than Bloom - ★ 387\n\n\n\n* [trie](https://github.com/derekparker/trie) - Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching. - ★ 325\n\n\n\n* [go-geoindex](https://github.com/hailocab/go-geoindex) - Go native library for fast point tracking and K-Nearest queries - ★ 286\n\n\n\n* [mafsa](https://github.com/smartystreets/mafsa) - Package mafsa implements Minimal Acyclic Finite State Automata in Go, essentially a high-speed, memory-efficient, Unicode-friendly set of strings. - ★ 269\n\n\n\n* [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go - ★ 172\n\n\n\n* [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. - ★ 160\n\n\n\n* [bloom](https://github.com/zhenjl/bloom) - Bloom filters implemented in Go. - ★ 119\n\n\n\n* [merkletree](https://github.com/cbergoon/merkletree) - A Merkle Tree implementation written in Go. - ★ 100\n\n\n\n* [binpacker](https://github.com/zhuangsirui/binpacker) - A binary stream packer and unpacker - ★ 98\n\n\n\n* [algorithms](https://github.com/shady831213/algorithms) - CLRS study. Codes are written with golang. - ★ 97\n\n\n\n* [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go - ★ 88\n\n\n\n* [go-rquad](https://github.com/aurelien-rainone/go-rquad) - State of the art point location and neighbour finding algorithms for region quadtrees, in Go - ★ 88\n\n\n\n* [ttlcache](https://github.com/diegobernardes/ttlcache) - An in-memory string-interface{} map with various expiration options for golang - ★ 71\n\n\n\n* [skiplist](https://github.com/MauriceGit/skiplist) - A Go library for an efficient implementation of a skip list: - ★ 61\n\n\n\n* [skiplist](https://github.com/gansidui/skiplist) - skiplist for golang - ★ 57\n\n\n\n* [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - Adaptive Radix Trees implemented in Go - ★ 48\n\n\n\n* [conjungo](https://github.com/InVisionApp/conjungo) - A small flexible merge library in go - ★ 45\n\n\n\n* [count-min-log](https://github.com/seiflotfy/count-min-log) - Go implementation of Count-Min-Log - ★ 39\n\n\n\n* [levenshtein](https://github.com/agnivade/levenshtein) - Go implementation to calculate Levenshtein Distance. - ★ 33\n\n\n\n* [bit](https://github.com/yourbasic/bit) - Set data structure for positive numbers - ★ 24\n\n\n\n* [levenshtein](https://github.com/agext/levenshtein) - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. - ★ 21\n\n\n\n* [go-mcache](https://github.com/OrlovEvgeny/go-mcache) - Fast in-memory key:value store/cache library for Golang - ★ 15\n\n\n\n* [deque](https://github.com/gammazero/deque) - Fast ring-buffer deque (double-ended queue) - ★ 11\n\n\n\n* [bloom](https://github.com/yourbasic/bloom) - Probabilistic set data structure - ★ 10\n\n\n\n* [concurrent-writer](https://github.com/free/concurrent-writer) - Highly concurrent drop-in replacement for bufio.Writer - ★ 10\n\n\n\n* [goset](https://github.com/zoumo/goset) - Set is a useful collection but there is no built-in implementation in Go lang. - ★ 10\n\n\n\n* [go-ef](https://github.com/amallia/go-ef) - A Go implementation of the Elias-Fano encoding - ★ 8\n\n\n\n* [pipeline](https://github.com/hyfather/pipeline) - Pipelines using goroutines - ★ 6\n\n\n\n* [set](https://github.com/StudioSol/set) - A simple Set data structure implementation in Go (Golang) using LinkedHashMap. - ★ 5\n\n\n\n* [mspm](https://github.com/BlackRabbitt/mspm) - Multi-String Pattern Matching Algorithm Using TrieHashNode - ★ 3\n\n\n\n\n## Database\n\n\n\n* [prometheus](https://github.com/prometheus/prometheus) - The Prometheus monitoring system and time series database. - ★ 20075\n\n\n\n* [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed HTAP database compatible with the MySQL protocol - ★ 15803\n\n\n\n* [leveldb](https://github.com/google/leveldb) - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. - ★ 15434\n\n\n\n* [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics - ★ 14795\n\n\n\n* [cockroach](https://github.com/cockroachdb/cockroach) - CockroachDB - the open source, cloud-native SQL database. - ★ 14679\n\n\n\n* [bolt](https://github.com/boltdb/bolt) - An embedded key/value database for Go. - ★ 9121\n\n\n\n* [dgraph](https://github.com/dgraph-io/dgraph) - Fast, Distributed Graph DB - ★ 6881\n\n\n\n* [vitess](https://github.com/youtube/vitess) - Vitess is a database clustering system for horizontal scaling of MySQL. - ★ 6871\n\n\n\n* [groupcache](https://github.com/golang/groupcache) - groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. - ★ 6850\n\n\n\n* [pgweb](https://github.com/sosedoff/pgweb) - Cross-platform client for PostgreSQL databases - ★ 5370\n\n\n\n* [badger](https://github.com/dgraph-io/badger) - Fast key-value DB in Go. - ★ 4558\n\n\n\n* [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed relational database built on SQLite. - ★ 4092\n\n\n\n* [kingshard](https://github.com/flike/kingshard) - A high-performance MySQL proxy - ★ 3872\n\n\n\n* [ledisdb](https://github.com/siddontang/ledisdb) - a high performance NoSQL powered by Go - ★ 2741\n\n\n\n* [goleveldb](https://github.com/syndtr/goleveldb) - LevelDB key/value database in Go. - ★ 2578\n\n\n\n* [orchestrator](https://github.com/github/orchestrator) - MySQL replication topology management and HA - ★ 2237\n\n\n\n* [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang - ★ 2236\n\n\n\n* [buntdb](https://github.com/tidwall/buntdb) - BuntDB is an embeddable, in-memory key/value database for Go with custom indexing and geospatial support - ★ 2131\n\n\n\n* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. - ★ 2077\n\n\n\n* [prest](https://github.com/nuveo/prest) - pREST is a way to serve a RESTful API from any databases written in Go - ★ 1872\n\n\n\n* [xo](https://github.com/knq/xo) - Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server - ★ 1799\n\n\n\n* [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync MySQL data into elasticsearch - ★ 1786\n\n\n\n* [squirrel](https://github.com/Masterminds/squirrel) - Fluent SQL generation for golang - ★ 1768\n\n\n\n* [bigcache](https://github.com/allegro/bigcache) - Efficient cache for gigabytes of data written in Go. - ★ 1692\n\n\n\n* [go-mysql](https://github.com/siddontang/go-mysql) - a powerful mysql toolset with Go - ★ 1346\n\n\n\n* [sql-migrate](https://github.com/rubenv/sql-migrate) - SQL schema migration tool for Go. - ★ 1135\n\n\n\n* [migrate](https://github.com/golang-migrate/migrate) - Database migrations. CLI and Golang library. - ★ 1105\n\n\n\n* [cache2go](https://github.com/muesli/cache2go) - Concurrency-safe Go caching library with expiration capabilities and access counters - ★ 684\n\n\n\n* [diskv](https://github.com/peterbourgon/diskv) - A disk-backed key-value store. - ★ 652\n\n\n\n* [moss](https://github.com/couchbase/moss) - moss - a simple, fast, ordered, persistable, key-val storage library for golang - ★ 647\n\n\n\n* [gcache](https://github.com/bluele/gcache) - Cache library for golang. It supports expirable Cache, LFU, LRU and ARC. - ★ 560\n\n\n\n* [dat](https://github.com/mgutz/dat) - Go Postgres Data Access Toolkit - ★ 543\n\n\n\n* [pop](https://github.com/gobuffalo/pop/tree/master/soda) - ★ 505\n\n\n\n* [eliasdb](https://github.com/krotik/eliasdb) - EliasDB is a graph-based database. - ★ 494\n\n\n\n* [goqu](https://github.com/doug-martin/goqu) - SQL builder and query library for golang - ★ 456\n\n\n\n* [gendry](https://github.com/didi/gendry) - a golang library for sql builder - ★ 453\n\n\n\n* [dotsql](https://github.com/gchaincl/dotsql) - A Golang library for using SQL. - ★ 383\n\n\n\n* [CovenantSQL](https://github.com/CovenantSQL/CovenantSQL) - A decentralized, peer-to-peer sharing economy, SQL database with Blockchain features. - ★ 353\n\n\n\n* [levigo](https://github.com/jmhodges/levigo) - levigo is a Go wrapper for LevelDB - ★ 338\n\n\n\n* [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - 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. - ★ 273\n\n\n\n* [gormigrate](https://github.com/go-gormigrate/gormigrate) - Minimalistic database migration helper for Gorm ORM - ★ 207\n\n\n\n* [chproxy](https://github.com/Vertamedia/chproxy) - ClickHouse http proxy and load balancer - ★ 178\n\n\n\n* [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures - ★ 165\n\n\n\n* [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. - ★ 136\n\n\n\n* [sqrl](https://github.com/elgris/sqrl) - Fluent SQL generation for golang - ★ 132\n\n\n\n* [myreplication](https://github.com/2tvenom/myreplication) - Golang MySql binary log replication listener - ★ 122\n\n\n\n* [vasto](https://github.com/chrislusf/vasto) - A distributed key-value store. On Disk. Able to grow or shrink without service interruption. - ★ 98\n\n\n\n* [clickhouse-bulk](https://github.com/nikepan/clickhouse-bulk) - Collects many small insterts to ClickHouse and send in big inserts - ★ 86\n\n\n\n* [goose](https://github.com/steinbacher/goose) - Go database migration tool - ★ 85\n\n\n\n* [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go - ★ 71\n\n\n\n* [igor](https://github.com/galeone/igor) - igor is an abstraction layer for PostgreSQL with a gorm like syntax. - ★ 69\n\n\n\n* [slowpoke](https://github.com/recoilme/slowpoke) - Package slowpoke implements a low-level key/value store in pure Go. Keys stored in memory (with persistence), values stored on disk. - ★ 65\n\n\n\n* [godbal](https://github.com/xujiajun/godbal) - Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily (now only support mysql) - ★ 48\n\n\n\n* [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service in Go backed by Couchbase - ★ 38\n\n\n\n* [goforestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB - ★ 29\n\n\n\n* [clusteredBigCache](https://github.com/oaStuff/clusteredBigCache) - golang bigcache with clustering as a library. - ★ 23\n\n\n\n* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration Tool - written in Go - ★ 22\n\n\n\n* [gondolier](https://github.com/emvicom/gondolier) - Gondolier is a database migration library for Go. - ★ 20\n\n\n\n* [prep](https://github.com/hexdigest/prep) - Prep finds all SQL statements in a Go package and instruments db connection with prepared statements - ★ 20\n\n\n\n* [go-fixtures](https://github.com/RichardKnop/go-fixtures) - Django style fixtures for Golang\u0026#39;s excellent built-in database/sql library. - ★ 17\n\n\n\n* [golang-scribble](https://github.com/nanobox-io/golang-scribble) - A tiny Golang JSON database - ★ 16\n\n\n\n* [tempdb](https://github.com/rafaeljesus/tempdb) - Key-value store for temporary items - ★ 13\n\n\n\n* [go-pg-migrations](https://github.com/robinjoseph08/go-pg-migrations) - A Go package to help write migrations with go-pg/pg. - ★ 11\n\n\n\n* [rwdb](https://github.com/andizzle/rwdb) - Database wrapper that manage read write connections - ★ 9\n\n\n\n* [gorocksdb](https://github.com/kapitan-k/gorocksdb) - gorocksdb is a Go wrapper for RocksDB with additional features - ★ 6\n\n\n\n* [ormlite](https://github.com/pupizoid/ormlite) - Lightweight package containing some ORM-like features and helpers for sqlite databases. - ★ 0\n\n\n\n\n## Database Drivers\n\n\n\n* [cayley](https://github.com/google/cayley) - An open-source graph database - ★ 11895\n\n\n\n* [mysql](https://github.com/go-sql-driver/mysql) - Go MySQL Driver is a MySQL driver for Go\u0026#39;s (golang) database/sql package - ★ 6411\n\n\n\n* [redigo](https://github.com/gomodule/redigo) - Go client for Redis - ★ 5145\n\n\n\n* [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go - ★ 4721\n\n\n\n* [redis](https://github.com/go-redis/redis) - Type-safe Redis client for Golang - ★ 4444\n\n\n\n* [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql - ★ 4345\n\n\n\n* [riot](https://github.com/go-ego/riot) - Go Open Source, Distributed, Simple and efficient Search Engine - ★ 4068\n\n\n\n* [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Go. - ★ 3117\n\n\n\n* [go-sqlite3](https://github.com/mattn/go-sqlite3) - sqlite3 driver for go using database/sql - ★ 2845\n\n\n\n* [pgx](https://github.com/jackc/pgx) - PostgreSQL driver and toolkit for Go - ★ 1539\n\n\n\n* [rethinkdb-go](https://github.com/dancannon/gorethink) - Go language driver for RethinkDB - ★ 1385\n\n\n\n* [mgo](https://github.com/globalsign/mgo) - The MongoDB driver for Go - ★ 1216\n\n\n\n* [mongo-go-driver](https://github.com/mongodb/mongo-go-driver) - The Go driver for MongoDB - ★ 1127\n\n\n\n* [gomemcache](https://github.com/bradfitz/gomemcache/) - Go Memcached client library #golang - ★ 976\n\n\n\n* [elastigo](https://github.com/mattbaird/elastigo) - A Go (golang) based Elasticsearch client library. - ★ 923\n\n\n\n* [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft SQL server driver written in go language - ★ 836\n\n\n\n* [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go - ★ 576\n\n\n\n* [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang - ★ 344\n\n\n\n* [go-oci8](https://github.com/mattn/go-oci8) - oracle driver for go that using database/sql - ★ 335\n\n\n\n* [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike Client Go - ★ 285\n\n\n\n* [go-couchbase](https://github.com/couchbase/go-couchbase) - Couchbase client in Go - ★ 282\n\n\n\n* [gocb](https://github.com/couchbase/gocb) - The Couchbase Go SDK - ★ 271\n\n\n\n* [elasticsql](https://github.com/cch123/elasticsql) - convert sql to elasticsearch DSL in golang(go) - ★ 233\n\n\n\n* [redeo](https://github.com/bsm/redeo) - High-performance framework for building redis-protocol compatible TCP servers/services - ★ 227\n\n\n\n* [goracle](https://github.com/go-goracle/goracle) - Oracle driver for Go, using the ODPI-C driver - ★ 137\n\n\n\n* [cachego](https://github.com/fabiorphp/cachego) - Golang Cache component - Multiple drivers - ★ 97\n\n\n\n* [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS sql driver for Go (golang) - ★ 89\n\n\n\n* [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using exp/sql - ★ 84\n\n\n\n* [gofreetds](https://github.com/minus5/gofreetds) - Go Sql Server database driver. - ★ 77\n\n\n\n* [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang - ★ 70\n\n\n\n* [arangolite](https://github.com/solher/arangolite) - Lightweight Golang driver for ArangoDB - ★ 65\n\n\n\n* [dynago](https://github.com/underarmour/dynago) - A DynamoDB client for Go - ★ 60\n\n\n\n* [skizze](https://github.com/seiflotfy/skizze) - A probabilistic data structure service and storage - ★ 55\n\n\n\n* [go-couchdb](https://github.com/fjl/go-couchdb) - Yet another CouchDB HTTP API wrapper for Go - ★ 50\n\n\n\n* [neo4j](https://github.com/cihangir/neo4j) - Neo4j Rest API Client for Go lang - ★ 24\n\n\n\n* [goes](https://github.com/OwnLocal/goes) - A library to interact with Elasticsearch in Go! - ★ 24\n\n\n\n* [goriak](https://github.com/zegl/goriak) - goriak - Go language driver for Riak KV - ★ 23\n\n\n\n* [calcite-avatica-go](https://github.com/apache/calcite-avatica-go) - Mirror of Apache Calcite - Avatica Go SQL Driver - ★ 19\n\n\n\n* [bgc](https://github.com/viant/bgc) - Datastore Connectivity for BigQuery in go - ★ 9\n\n\n\n* [xredis](https://github.com/shomali11/xredis) - Go Redis Client - ★ 9\n\n\n\n* [dsc](https://github.com/viant/dsc) - Datastore Connectivity in go - ★ 6\n\n\n\n* [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go - ★ 4\n\n\n\n* [godscache](https://github.com/defcronyke/godscache) - An unofficial Google Cloud Platform Go Datastore wrapper that adds caching using memcached. For App Engine Flexible, Compute Engine, Kubernetes Engine, and more. - ★ 3\n\n\n\n\n## Date and Time\n\n\n\n* [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang - ★ 1852\n\n\n\n* [dateparse](https://github.com/araddon/dateparse) - GoLang Parse many date strings without knowing format in advance. - ★ 738\n\n\n\n* [carbon](https://github.com/uniplaces/carbon) - Carbon for Golang, an extension for Time - ★ 263\n\n\n\n* [durafmt](https://github.com/hako/durafmt) - Better time duration formatting in Go! - ★ 200\n\n\n\n* [timeutil](https://github.com/leekchan/timeutil) - timeutil - useful extensions (Timedelta, Strftime, ...) to the golang\u0026#39;s time package - ★ 150\n\n\n\n* [timespan](https://github.com/SaidinWoT/timespan) - Golang package to manipulate time intervals. - ★ 57\n\n\n\n* [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang) - ★ 38\n\n\n\n* [date](https://github.com/rickb777/date) - A Go package for working with dates - ★ 20\n\n\n\n* [goweek](https://github.com/grsmv/goweek) - ISO 8601 compatible library for working with week entities for Go - ★ 16\n\n\n\n* [feiertage](https://github.com/wlbr/feiertage) - Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany) - ★ 15\n\n\n\n* [go-sunrise](https://github.com/nathan-osman/go-sunrise) - Go package for calculating the sunrise and sunset times for a given location - ★ 8\n\n\n\n* [nulltime](https://github.com/kirillDanshin/nulltime) - ★ 7\n\n\n\n* [tuesday](https://github.com/osteele/tuesday) - Ruby-compatible strftime for golang - ★ 6\n\n\n\n* [Kair](https://github.com/GuilhermeCaruso/Kair) - Date and Time - Golang Formatting Library - ★ 5\n\n\n\n* [strftime](https://github.com/awoodbeck/strftime) - C99-compatible strftime formatter for use with Go time.Time instances. - ★ 5\n\n\n\n\n## Distributed Systems\n\n\n\n* [etcd](https://github.com/coreos/etcd/tree/master/raft) - ★ 21176\n\n\n\n* [kit](https://github.com/go-kit/kit) - A standard library for microservices. - ★ 11792\n\n\n\n* [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC - ★ 6819\n\n\n\n* [jaeger](https://github.com/jaegertracing/jaeger) - CNCF Jaeger, a Distributed Tracing System - ★ 6344\n\n\n\n* [micro](https://github.com/micro/micro) - A cloud-native toolkit - ★ 5018\n\n\n\n* [gnatsd](https://github.com/nats-io/gnatsd) - High-Performance server for NATS, the cloud native messaging system. - ★ 4823\n\n\n\n* [libzmq](https://github.com/zeromq/libzmq) - ZeroMQ core engine in C++, implements ZMTP/3.1 - ★ 4702\n\n\n\n* [rpcx](https://github.com/smallnest/rpcx) - Faster multil-language bidirectional RPC framework in Go, like alibaba Dubbo and weibo Motan in Java, but with more features, Scale easily. - ★ 2924\n\n\n\n* [tendermint](https://github.com/tendermint/tendermint) - ⟁ Tendermint Core (BFT Consensus) in Go - ★ 2473\n\n\n\n* [torrent](https://github.com/anacrolix/torrent) - Full-featured BitTorrent client package and utilities - ★ 2473\n\n\n\n* [glow](https://github.com/chrislusf/glow) - 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, , which is more flexible and more performant. - ★ 2225\n\n\n\n* [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol - ★ 2220\n\n\n\n* [gleam](https://github.com/chrislusf/gleam) - Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly. - ★ 1648\n\n\n\n* [emitter](https://github.com/emitter-io/emitter) - High performance, distributed and low latency publish-subscribe platform. - ★ 1426\n\n\n\n* [krakend](https://github.com/devopsfaith/krakend) - Ultra performant API Gateway with middlewares - ★ 1020\n\n\n\n* [hprose-golang](https://github.com/hprose/hprose-golang) - Hprose is a cross-language RPC. This project is Hprose 2.0 for Golang. - ★ 856\n\n\n\n* [heimdall](https://github.com/gojektech/heimdall) - An enhanced HTTP client for Go - ★ 599\n\n\n\n* [ringpop-go](https://github.com/uber/ringpop-go) - Scalable, fault-tolerant application-layer sharding for Go applications - ★ 505\n\n\n\n* [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable golang rpc library for high load - ★ 493\n\n\n\n* [go-health](https://github.com/InVisionApp/go-health) - Library for enabling asynchronous health checks in your service - ★ 385\n\n\n\n* [go-peerflix](https://github.com/Sioro-Neoku/go-peerflix) - Go Peerflix - ★ 339\n\n\n\n* [sleuth](https://github.com/ursiform/sleuth) - A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services - ★ 279\n\n\n\n* [digota](https://github.com/digota/digota) - ecommerce microservice - ★ 248\n\n\n\n* [go-jump](https://github.com/dgryski/go-jump) - go-jump: Jump consistent hashing - ★ 211\n\n\n\n* [consistent](https://github.com/buraksezer/consistent) - Consistent hashing with bounded loads in Golang - ★ 136\n\n\n\n* [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0 - ★ 85\n\n\n\n* [redis-lock](https://github.com/bsm/redis-lock) - ★ 79\n\n\n\n* [jsonrpc](https://github.com/ybbus/jsonrpc) - A simple go implementation of json rpc 2.0 client over http - ★ 65\n\n\n\n* [celeriac.v1](https://github.com/svcavallar/celeriac.v1) - Golang client library for adding support for interacting and monitoring Celery workers, tasks and events. - ★ 43\n\n\n\n* [drmaa](https://github.com/dgruber/drmaa) - Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard. - ★ 21\n\n\n\n* [flowgraph](https://github.com/vectaport/flowgraph) - Flowgraph package for scalable asynchronous system development - ★ 2\n\n\n\n\n## Email\n\n\n\n* [MailHog](https://github.com/mailhog/MailHog) - Web and API based SMTP testing - ★ 4026\n\n\n\n* [gomail](https://github.com/go-gomail/gomail/) - The best way to send emails in Go. - ★ 1939\n\n\n\n* [hermes](https://github.com/matcornic/hermes) - Golang package that generates clean, responsive HTML e-mails for sending transactional mail - ★ 1366\n\n\n\n* [email](https://github.com/jordan-wright/email) - Robust and flexible email library for Go - ★ 951\n\n\n\n* [go-imap](https://github.com/emersion/go-imap) - An IMAP library for clients and servers - ★ 545\n\n\n\n* [sendgrid-go](https://github.com/sendgrid/sendgrid-go) - The Official SendGrid Led, Community Driven Golang API Library - ★ 419\n\n\n\n* [hectane](https://github.com/hectane/hectane) - Lightweight SMTP client written in Go - ★ 158\n\n\n\n* [douceur](https://github.com/aymerick/douceur) - A simple CSS parser and inliner in Go - ★ 135\n\n\n\n* [go-message](https://github.com/emersion/go-message) - A streaming Go library for the Internet Message Format and mail messages - ★ 70\n\n\n\n* [smtp](https://github.com/mailhog/smtp) - MailHog SMTP Protocol - ★ 48\n\n\n\n* [go-dkim](https://github.com/toorop/go-dkim) - DKIM package for golang - ★ 45\n\n\n\n\n## Embeddable Scripting Languages\n\n\n\n* [otto](https://github.com/robertkrimen/otto) - A JavaScript interpreter in Go (golang) - ★ 4178\n\n\n\n* [gopher-lua](https://github.com/yuin/gopher-lua) - GopherLua: VM and compiler for Lua in Go - ★ 2408\n\n\n\n* [gopher-lua](https://github.com/yuin/gopher-lua) - GopherLua: VM and compiler for Lua in Go - ★ 2408\n\n\n\n* [go-lua](https://github.com/Shopify/go-lua) - A Lua VM in Go - ★ 1400\n\n\n\n* [anko](https://github.com/mattn/anko) - Scriptable interpreter written in golang - ★ 777\n\n\n\n* [go-python](https://github.com/sbinet/go-python) - naive go bindings to the CPython C-API - ★ 759\n\n\n\n* [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go - ★ 608\n\n\n\n* [go-php](https://github.com/deuill/go-php) - PHP bindings for the Go programming language (Golang) - ★ 540\n\n\n\n* [golua](https://github.com/aarzilli/golua) - Go bindings for Lua C API - in progress - ★ 410\n\n\n\n* [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go - ★ 406\n\n\n\n* [agora](https://github.com/PuerkitoBio/agora) - a dynamically typed, garbage collected, embeddable programming language built with Go - ★ 308\n\n\n\n* [expr](https://github.com/antonmedv/expr) - Expr is an engine that can evaluate expressions. - ★ 210\n\n\n\n* [purl](https://github.com/ian-kent/purl) - Perl, but fluffy like a cat! - ★ 23\n\n\n\n* [binder](https://github.com/alexeyco/binder) - High level go to Lua binder. Write less, do more. - ★ 21\n\n\n\n* [ngaro](https://github.com/db47h/ngaro) - An embeddable implementation of the Ngaro Virtual Machine for Go programs - ★ 15\n\n\n\n\n## Files\n\n\n\n* [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go - ★ 1751\n\n\n\n* [pdfcpu](https://github.com/hhrutter/pdfcpu) - A PDF processor written in Go. - ★ 697\n\n\n\n* [notify](https://github.com/rjeczalik/notify) - File system event notification library on steroids. - ★ 398\n\n\n\n* [skywalker](https://github.com/dixonwille/skywalker) - A package to allow one to concurrently go through a filesystem with ease - ★ 38\n\n\n\n* [go-csv-tag](https://github.com/artonge/go-csv-tag) - Read csv file from go using tags - ★ 34\n\n\n\n* [tarfs](https://github.com/posener/tarfs) - An implementation of the FileSystem interface for tar files. - ★ 25\n\n\n\n* [go-gtfs](https://github.com/artonge/go-gtfs) - Load GTFS files in golang - ★ 8\n\n\n\n* [go-decent-copy](https://github.com/hugocarreira/go-decent-copy) - copy files for humans - ★ 6\n\n\n\n\n## Financial\n\n\n\n* [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers in go - ★ 1167\n\n\n\n* [go-finance](https://github.com/FlashBoys/go-finance) - Deprecrated in favor of - ★ 540\n\n\n\n* [go-money](https://github.com/rhymond/go-money) - Go implementation of Fowler\u0026#39;s Money pattern - ★ 492\n\n\n\n* [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang - ★ 415\n\n\n\n* [techan](https://github.com/sdcoffey/techan) - Technical Analysis Library for Golang - ★ 76\n\n\n\n* [vat](https://github.com/dannyvankooten/vat) - Go package for dealing with EU VAT. Does VAT number validation \u0026amp; rates retrieval. - ★ 51\n\n\n\n* [ofxgo](https://github.com/aclindsa/ofxgo) - Golang library for querying and parsing OFX - ★ 48\n\n\n\n* [transaction](https://github.com/claygod/transaction) - Embedded database for accounts transactions. - ★ 31\n\n\n\n* [go-finance](https://github.com/alpeb/go-finance) - Go library containing a collection of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations. - ★ 25\n\n\n\n\n## Forms\n\n\n\n* [nosurf](https://github.com/justinas/nosurf) - CSRF protection middleware for Go. - ★ 884\n\n\n\n* [binding](https://github.com/mholt/binding) - Reflectionless data binding for Go\u0026#39;s net/http (not yet a stable 1.0, but not likely to change much either) - ★ 713\n\n\n\n* [csrf](https://github.com/gorilla/csrf) - gorilla/csrf provides Cross Site Request Forgery (CSRF) prevention middleware for Go web applications \u0026amp; services. - ★ 332\n\n\n\n* [form](https://github.com/go-playground/form) - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. - ★ 301\n\n\n\n* [conform](https://github.com/leebenson/conform) - Trims, sanitizes \u0026amp; scrubs data based on struct tags (go, golang) - ★ 147\n\n\n\n* [formam](https://github.com/monoculum/formam) - a package for decode form\u0026#39;s values into struct in Go - ★ 107\n\n\n\n* [forms](https://github.com/albrow/forms) - A lightweight go library for parsing form data or json from an http.Request. - ★ 94\n\n\n\n* [bind](https://github.com/robfig/bind) - ★ 20\n\n\n\n\n## Game Development\n\n\n\n* [leaf](https://github.com/name5566/leaf) - A game server framework in Go (golang) - ★ 2479\n\n\n\n* [pixel](https://github.com/faiface/pixel) - A hand-crafted 2D game library in Go - ★ 1796\n\n\n\n* [ebiten](https://github.com/hajimehoshi/ebiten) - A dead simple 2D game library in Go - ★ 1166\n\n\n\n* [go-sdl2](https://github.com/veandco/go-sdl2) - SDL2 binding for Go - ★ 985\n\n\n\n* [gonet](https://github.com/xtaci/gonet) - A Game Server Skeleton in golang. - ★ 962\n\n\n\n* [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox - ★ 931\n\n\n\n* [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. - ★ 892\n\n\n\n* [goworld](https://github.com/xiaonanln/goworld) - Scalable Distributed Game Server Engine with Hot Swapping in Golang - ★ 835\n\n\n\n* [nano](https://github.com/lonnng/nano) - Lightweight, facility, high performance golang based game server framework - ★ 733\n\n\n\n* [oak](https://github.com/oakmound/oak) - A pure Go game engine - ★ 538\n\n\n\n* [engine](https://github.com/g3n/engine) - Go 3D Game Engine - ★ 469\n\n\n\n* [engine](https://github.com/azul3d/engine) - Azul3D - A 3D game engine written in Go! - ★ 390\n\n\n\n* [GarageEngine](https://github.com/vova616/GarageEngine) - Game engine written in Go (golang). - ★ 304\n\n\n\n* [raylib-go](https://github.com/gen2brain/raylib-go) - Go bindings for raylib, a simple and easy-to-use library to learn videogames programming. - ★ 293\n\n\n\n* [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A* search algorithm - ★ 287\n\n\n\n* [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go - ★ 142\n\n\n\n* [pitaya](https://github.com/topfreegames/pitaya) - Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK. - ★ 78\n\n\n\n* [glop](https://github.com/runningwild/glop) - Bare-bones osx alternative to sdl - ★ 76\n\n\n\n* [go-collada](https://github.com/GlenKelley/go-collada) - Go package for working with the Collada file format. - ★ 12\n\n\n\n\n## Generation and Generics\n\n\n\n* [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ capabilities in Go - ★ 1552\n\n\n\n* [jennifer](https://github.com/dave/jennifer) - Jennifer is a code generator for Go - ★ 976\n\n\n\n* [gen](https://github.com/clipperhouse/gen) - Type-driven code generation for Go - ★ 939\n\n\n\n* [goderive](https://github.com/awalterschulze/goderive) - Functional programming for Golang - ★ 626\n\n\n\n* [gowrap](https://github.com/hexdigest/gowrap) - GoWrap is a command line tool for generating decorators for Go interfaces - ★ 148\n\n\n\n* [interfaces](https://github.com/rjeczalik/interfaces) - Code generation tools for Go. - ★ 144\n\n\n\n* [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection - ★ 71\n\n\n\n* [go-enum](https://github.com/abice/go-enum) - An enum generator for go - ★ 61\n\n\n\n* [efaceconv](https://github.com/t0pep0/efaceconv) - ★ 35\n\n\n\n\n## Geographic\n\n\n\n* [tile38](https://github.com/tidwall/tile38) - Tile38 is a geospatial database, spatial index, and realtime geofence. - ★ 5000\n\n\n\n* [geo](https://github.com/golang/geo) - S2 geometry library in Go - ★ 746\n\n\n\n* [geocache](https://github.com/melihmucuk/geocache) - Geocache is an in-memory cache that is suitable for geolocation based applications. - ★ 93\n\n\n\n* [osm](https://github.com/paulmach/osm) - General purpose library for reading, writing and working with OpenStreetMap data - ★ 27\n\n\n\n* [geoserver](https://github.com/hishamkaram/geoserver) - geoserver is a Go library for manipulating a GeoServer instance via the GeoServer REST API. - ★ 13\n\n\n\n* [pbf](https://github.com/maguro/pbf) - OpenStreetMap PBF golang parser - ★ 9\n\n\n\n* [gismanager](https://github.com/hishamkaram/gismanager) - Publish Your GIS Data(Vector Data) to PostGIS and Geoserver - ★ 0\n\n\n\n\n## Go Compilers\n\n\n\n* [gopherjs](https://github.com/gopherjs/gopherjs) - A compiler from Go to JavaScript for running Go code in a browser - ★ 7555\n\n\n\n* [llgo](https://github.com/go-llvm/llgo) - LLVM-based compiler for Go - ★ 930\n\n\n\n* [tardisgo](https://github.com/tardisgo/tardisgo) - Golang-\u0026gt;Haxe-\u0026gt;CPP/CSharp/Java/JavaScript transpiler - ★ 380\n\n\n\n* [c4go](https://github.com/Konstantin8105/c4go) - transpiling C code to Go code - ★ 43\n\n\n\n* [f4go](https://github.com/Konstantin8105/f4go) - Transpiling fortran code to golang code - ★ 7\n\n\n\n\n## Goroutines\n\n\n\n* [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker that runs 10 to 100,000* times faster than Ruby-based workers. - ★ 2067\n\n\n\n* [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for Go - ★ 957\n\n\n\n* [ants](https://github.com/panjf2000/ants) - A high-performance goroutine pool for go - ★ 930\n\n\n\n* [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool - ★ 428\n\n\n\n* [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation - ★ 402\n\n\n\n* [go-floc](https://github.com/workanator/go-floc) - Floc: Orchestrate goroutines with ease. - ★ 160\n\n\n\n* [go-flow](https://github.com/kamildrazkiewicz/go-flow) - Simply way to control goroutines execution order based on dependencies - ★ 86\n\n\n\n* [workerpool](https://github.com/gammazero/workerpool) - Concurrency limiting goroutine pool - ★ 51\n\n\n\n* [GoSlaves](https://github.com/themester/GoSlaves) - Fast asynchonous goroutine pool for Golang - ★ 48\n\n\n\n* [semaphore](https://github.com/marusama/semaphore) - Fast resizable golang semaphore - ★ 44\n\n\n\n* [semaphore](https://github.com/kamilsk/semaphore) - Semaphore pattern implementation with timeout of lock/unlock operations based on channels. - ★ 36\n\n\n\n* [cyclicbarrier](https://github.com/marusama/cyclicbarrier) - CyclicBarrier golang implementation - ★ 20\n\n\n\n* [parallel-fn](https://github.com/rafaeljesus/parallel-fn) - Run functions in parallel - ★ 20\n\n\n\n* [worker-pool](https://github.com/vardius/worker-pool) - Go simple async worker pool - ★ 19\n\n\n\n* [async](https://github.com/studiosol/async) - 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. - ★ 11\n\n\n\n* [threadpool](https://github.com/shettyh/threadpool) - Golang simple thread pool implementation - ★ 6\n\n\n\n* [stl](https://github.com/ssgreg/stl) - Software Transactional Locks - ★ 5\n\n\n\n* [go-trylock](https://github.com/subchen/go-trylock) - TryLock support on read-write lock for Golang - ★ 4\n\n\n\n* [artifex](https://github.com/borderstech/artifex) - Simple in-memory job queue for Golang using worker-based dispatching - ★ 1\n\n\n\n\n## GUI\n\n\n\n* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. - ★ 6118\n\n\n\n* [qt](https://github.com/therecipe/qt) - Qt binding for Go (Golang) with support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly - ★ 4766\n\n\n\n* [robotgo](https://github.com/go-vgo/robotgo) - RobotGo, Go Native cross-platform GUI automation - ★ 3561\n\n\n\n* [webview](https://github.com/zserge/webview) - Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and MSHTML (Windows) - ★ 3073\n\n\n\n* [walk](https://github.com/lxn/walk) - A Windows GUI toolkit for the Go Programming Language - ★ 2987\n\n\n\n* [app](https://github.com/murlokswarm/app) - Package to build GUI apps with Go, HTML and CSS. - ★ 2527\n\n\n\n* [go-astilectron](https://github.com/asticode/go-astilectron) - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron) - ★ 2062\n\n\n\n* [go-sciter](https://github.com/sciter-sdk/go-sciter) - Golang bindings of Sciter: the Embeddable HTML/CSS/script engine for modern UI development - ★ 1202\n\n\n\n* [systray](https://github.com/getlantern/systray) - a cross platfrom Go library to place an icon and menu in the notification area - ★ 551\n\n\n\n* [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3 - ★ 548\n\n\n\n* [gosx-notifier](https://github.com/deckarep/gosx-notifier) - gosx-notifier is a Go framework for sending desktop notifications to OSX 10.8 or higher - ★ 459\n\n\n\n* [fyne](https://github.com/fyne-io/fyne) - Cross platform GUIs in Go based on EFL - ★ 199\n\n\n\n* [gowd](https://github.com/dtylman/gowd) - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by nwjs) - ★ 149\n\n\n\n* [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system\u0026#39;s taskbar. - ★ 136\n\n\n\n\n## Images\n\n\n\n* [ln](https://github.com/fogleman/ln) - 3D line art engine. - ★ 2299\n\n\n\n* [imaginary](https://github.com/h2non/imaginary) - Fast, simple, scalable HTTP microservice for high-level image processing with first-class Docker support - ★ 2033\n\n\n\n* [imaging](https://github.com/disintegration/imaging) - Imaging is a simple image processing package for Go - ★ 1967\n\n\n\n* [resize](https://github.com/nfnt/resize) - Pure golang image resizing - ★ 1927\n\n\n\n* [bild](https://github.com/anthonynsimon/bild) - A collection of parallel image processing algorithms in pure Go - ★ 1848\n\n\n\n* [gocv](https://github.com/hybridgroup/gocv) - Go package for computer vision using OpenCV 3+ and beyond. - ★ 1688\n\n\n\n* [pt](https://github.com/fogleman/pt) - A path tracer written in Go. - ★ 1662\n\n\n\n* [gg](https://github.com/fogleman/gg) - Go Graphics - 2D rendering in Go with a simple API. - ★ 1542\n\n\n\n* [smartcrop](https://github.com/muesli/smartcrop) - smartcrop finds good image crops for arbitrary crop sizes - ★ 1180\n\n\n\n* [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation - ★ 1169\n\n\n\n* [gift](https://github.com/disintegration/gift) - Go Image Filtering Toolkit - ★ 1131\n\n\n\n* [go-opencv](https://github.com/lazywei/go-opencv) - Go bindings for OpenCV / 2.x API in gocv / 1.x API in opencv - ★ 992\n\n\n\n* [geopattern](https://github.com/pravj/geopattern) - Create beautiful generative image patterns from a string in golang. - ★ 967\n\n\n\n* [picfit](https://github.com/thoas/picfit) - An image resizing server written in Go - ★ 900\n\n\n\n* [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick\u0026#39;s MagickWand C API - ★ 810\n\n\n\n* [bimg](https://github.com/h2non/bimg) - Small Go package for fast high-level image processing powered by libvips C library - ★ 612\n\n\n\n* [mort](https://github.com/aldor007/mort) - Storage and image processing server written in Go - ★ 335\n\n\n\n* [go-nude](https://github.com/koyachi/go-nude) - Nudity detection with Go. - ★ 268\n\n\n\n* [govatar](https://github.com/o1egl/govatar) - Avatar generator library for GO language - ★ 266\n\n\n\n* [image2ascii](https://github.com/qeesung/image2ascii) - Convert image to ASCII - ★ 199\n\n\n\n* [rez](https://github.com/bamiaux/rez) - Image resizing in pure Go and SIMD - ★ 155\n\n\n\n* [goimagehash](https://github.com/corona10/goimagehash) - Go Perceptual image hashing package - ★ 145\n\n\n\n* [img](https://github.com/hawx/img) - A selection of image manipulation tools - ★ 125\n\n\n\n* [go-cairo](https://github.com/ungerik/go-cairo) - Go binding for the cairo graphics library - ★ 79\n\n\n\n* [go-gd](https://github.com/bolknote/go-gd) - Go bingings for GD ( ) - ★ 47\n\n\n\n* [mergi](https://github.com/noelyahan/mergi) - Imaging 4 terminal lovers (merge, crop, resize, watermark, animate) - ★ 34\n\n\n\n* [go-webcolors](https://github.com/jyotiska/go-webcolors) - Port of webcolors library from Python to Go - ★ 24\n\n\n\n* [tga](https://github.com/ftrvxmtrx/tga) - Go package for decoding and encoding TARGA image format - ★ 19\n\n\n\n* [steganography](https://github.com/auyer/steganography) - Pure Golang Library that allows simple LSB steganography on images - ★ 10\n\n\n\n* [cameron](https://github.com/aofei/cameron) - An avatar generator for Go. - ★ 9\n\n\n\n* [mpo](https://github.com/donatj/mpo) - JPEG-MPO Decoder / Converter Library and CLI Tool - ★ 4\n\n\n\n\n## IoT (Internet of Things)\n\n\n\n* [gobot](https://github.com/hybridgroup/gobot/) - Golang framework for robotics, drones, and the Internet of Things (IoT) - ★ 4859\n\n\n\n* [flogo](https://github.com/tibcosoftware/flogo) - Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient \u0026amp; modern serverless functions, microservices \u0026amp; edge apps. - ★ 820\n\n\n\n* [gatt](https://github.com/paypal/gatt) - Gatt is a Go package for building Bluetooth Low Energy peripherals - ★ 720\n\n\n\n* [mainflux](https://github.com/Mainflux/mainflux) - Industrial IoT Messaging and Device Management Server - ★ 218\n\n\n\n* [devices](https://github.com/goiot/devices) - Suite of libraries for IoT devices (written in Go), experimental for x/exp/io - ★ 211\n\n\n\n* [sensorbee](https://github.com/sensorbee/sensorbee) - Lightweight stream processing engine for IoT - ★ 157\n\n\n\n* [connectordb](https://github.com/connectordb/connectordb) - An Open-Source Platform for Quantified Self \u0026amp; IoT - ★ 122\n\n\n\n* [eywa](https://github.com/xcodersun/eywa) - Make IoT a lot more fun with data. - ★ 22\n\n\n\n* [iot](https://github.com/vaelen/iot/) - A Golang client for Google IoT Core - ★ 21\n\n\n\n\n## Logging\n\n\n\n* [logrus](https://github.com/Sirupsen/logrus) - Structured, pluggable logging for Go. - ★ 8917\n\n\n\n* [logrus](https://github.com/Sirupsen/logrus) - Structured, pluggable logging for Go. - ★ 8917\n\n\n\n* [zap](https://github.com/uber-go/zap) - Blazing fast, structured, leveled logging in Go. - ★ 5491\n\n\n\n* [go-spew](https://github.com/davecgh/go-spew) - Implements a deep pretty printer for Go data structures to aid in debugging - ★ 2688\n\n\n\n* [glog](https://github.com/golang/glog) - Leveled execution logs for Go - ★ 2023\n\n\n\n* [zerolog](https://github.com/rs/zerolog) - Zero Allocation JSON Logger - ★ 1486\n\n\n\n* [tail](https://github.com/hpcloud/tail) - Go package for reading from continously updated files (tail -f) - ★ 1236\n\n\n\n* [seelog](https://github.com/cihub/seelog) - Seelog is a native Go logging library that provides flexible asynchronous dispatching, filtering, and formatting. - ★ 1215\n\n\n\n* [lumberjack](https://github.com/natefinch/lumberjack) - lumberjack is a log rolling package for Go - ★ 1041\n\n\n\n* [log15](https://github.com/inconshreveable/log15) - Structured, composable logging for Go - ★ 816\n\n\n\n* [log](https://github.com/apex/log) - Structured logging package for Go. - ★ 621\n\n\n\n* [logxi](https://github.com/mgutz/logxi) - A 12-factor app logger built for performance and happy development - ★ 327\n\n\n\n* [onelog](https://github.com/francoispqt/onelog) - Dead simple, super fast, zero allocation and modular logger for Golang - ★ 291\n\n\n\n* [log](https://github.com/go-playground/log) - Simple, configurable and scalable Structured Logging for Go. - ★ 256\n\n\n\n* [logutils](https://github.com/hashicorp/logutils) - Utilities for slightly better logging in Go (Golang). - ★ 228\n\n\n\n* [go-logger](https://github.com/apsdehal/go-logger) - Simple logger for Go programs. Allows custom formats for messages. - ★ 199\n\n\n\n* [logger](https://github.com/azer/logger) - Minimalistic logging library for Go. - ★ 129\n\n\n\n* [xlog](https://github.com/rs/xlog) - xlog is a logger for net/context aware HTTP applications - ★ 127\n\n\n\n* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - A Go (golang) package providing high-performance asynchronous logging, message filtering by severity and category, and multiple message targets. - ★ 96\n\n\n\n* [logvoyage](https://github.com/firstrow/logvoyage) - LogVoyage - logging SaaS written in GoLang - ★ 82\n\n\n\n* [log](https://github.com/alexcesaro/log) - Logging packages for Go - ★ 44\n\n\n\n* [gologger](https://github.com/sadlil/gologger) - Simple Logger for golang. Logs Into console, file or ElasticSearch. Simple, easy to use. - ★ 38\n\n\n\n* [logex](https://github.com/chzyer/logex) - An golang log lib, supports tracking and level, wrap by standard log lib - ★ 33\n\n\n\n* [go-log](https://github.com/ian-kent/go-log) - A logger, for Go - ★ 31\n\n\n\n* [logrusly](https://github.com/sebest/logrusly) - Loggly Hooks for GO Logrus logger - ★ 24\n\n\n\n* [glg](https://github.com/kpango/glg) - Simple and fast lockfree logging library for golang - ★ 23\n\n\n\n* [gone](https://github.com/One-com/gone/tree/master/log) - ★ 22\n\n\n\n* [go-log](https://github.com/siddontang/go-log) - a golang log lib supports level and multi handlers - ★ 19\n\n\n\n* [log](https://github.com/teris-io/log) - Structured log interface - ★ 19\n\n\n\n* [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with a rotating file feature and console logging. - ★ 16\n\n\n\n* [go-cronowriter](https://github.com/utahta/go-cronowriter) - Time based rotating file writer - ★ 15\n\n\n\n* [distillog](https://github.com/amoghe/distillog) - Logging, distilled - ★ 14\n\n\n\n* [gomol](https://github.com/aphistic/gomol) - Gomol is a library for structured, multiple-output logging for Go with extensible logging outputs - ★ 12\n\n\n\n* [journald](https://github.com/ssgreg/journald) - Go implementation of systemd Journal\u0026#39;s native API for logging - ★ 12\n\n\n\n* [logdump](https://github.com/ewwwwwqm/logdump) - Package for multi-level logging - ★ 7\n\n\n\n* [go-log](https://github.com/subchen/go-log) - Simple and configurable Logging in Go, with level, formatters and writers - ★ 6\n\n\n\n* [logo](https://github.com/mbndr/logo) - Golang logger to different configurable writers. - ★ 4\n\n\n\n* [xlog](https://github.com/xfxdev/xlog) - plugin architecture and flexible log system for golang - ★ 3\n\n\n\n* [logmatic](https://github.com/borderstech/logmatic) - Colorized logger for Golang with dynamic log level configuration - ★ 1\n\n\n\n\n## Machine Learning\n\n\n\n* [golearn](https://github.com/sjwhitworth/golearn) - Machine Learning for Go - ★ 6080\n\n\n\n* [gorgonia](https://github.com/chewxy/gorgonia) - Gorgonia is a library that helps facilitate machine learning in Go. - ★ 2243\n\n\n\n* [tfgo](https://github.com/galeone/tfgo) - Tensorflow + Go, the gopher way - ★ 981\n\n\n\n* [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go (and so much more) - ★ 924\n\n\n\n* [gosseract](https://github.com/otiai10/gosseract) - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library - ★ 657\n\n\n\n* [CloudForest](https://github.com/ryanbressler/CloudForest) - Ensembles of decision trees in go/golang. - ★ 619\n\n\n\n* [bayesian](https://github.com/jbrukh/bayesian) - Naive Bayesian Classification for Golang. - ★ 578\n\n\n\n* [eaopt](https://github.com/MaxHalford/eaopt) - Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution) - ★ 557\n\n\n\n* [gobrain](https://github.com/goml/gobrain) - Neural Networks written in go - ★ 293\n\n\n\n* [regommend](https://github.com/muesli/regommend) - Recommendation engine for Go - ★ 219\n\n\n\n* [go-deep](https://github.com/patrikeh/go-deep) - Artificial Neural Network - ★ 178\n\n\n\n* [go-galib](https://github.com/thoj/go-galib) - Genetic Algorithms library written in Go / golang - ★ 162\n\n\n\n* [goRecommend](https://github.com/timkaye11/goRecommend) - Collaborative Filtering (CF) Algorithms in Go! - ★ 125\n\n\n\n* [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go - ★ 118\n\n\n\n* [go-fann](https://github.com/white-pony/go-fann) - Go bindings for FANN, library for artificial neural networks - ★ 97\n\n\n\n* [goga](https://github.com/tomcraven/goga) - Golang Genetic Algorithm - ★ 69\n\n\n\n* [libsvm](https://github.com/datastream/libsvm) - libsvm go version - ★ 58\n\n\n\n* [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. - ★ 58\n\n\n\n* [go-pr](https://github.com/daviddengcn/go-pr) - Pattern recognition package in Go lang. - ★ 55\n\n\n\n* [neat](https://github.com/jinyeom/neat) - NEAT (NeuroEvolution of Augmenting Topologies) implemented in Go - ★ 47\n\n\n\n* [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go - ★ 36\n\n\n\n* [fonet](https://github.com/Fontinalis/fonet) - fonet is a deep neural network package for Go. - ★ 21\n\n\n\n* [goscore](https://github.com/asafschers/goscore) - Go Scoring API for PMML - ★ 21\n\n\n\n* [godist](https://github.com/e-dard/godist) - Probability distributions and associated methods in Go - ★ 20\n\n\n\n* [Varis](https://github.com/Xamber/Varis) - Golang Neural Network - ★ 17\n\n\n\n* [go-cluster](https://github.com/e-XpertSolutions/go-cluster) - k-modes and k-prototypes clustering algorithms implementation in Go - ★ 14\n\n\n\n* [probab](https://github.com/ThePaw/probab) - Automatically exported from code.google.com/p/probab - ★ 9\n\n\n\n* [gomind](https://github.com/surenderthakran/gomind) - A simplistic Neural Network Library in Go - ★ 5\n\n\n\n* [mlgo](https://github.com/NullHypothesis/mlgo) - Automatically exported from code.google.com/p/mlgo - ★ 4\n\n\n\n\n## Messaging\n\n\n\n* [sarama](https://github.com/Shopify/sarama) - Sarama is a Go library for Apache Kafka 0.8, and up. - ★ 3596\n\n\n\n* [centrifugo](https://github.com/centrifugal/centrifugo) - Language-agnostic real-time messaging server (Websocket and SockJS) - ★ 3104\n\n\n\n* [gorush](https://github.com/appleboy/gorush) - A push notification server written in Go (Golang). - ★ 3032\n\n\n\n* [machinery](https://github.com/RichardKnop/machinery) - Machinery is an asynchronous task queue/job queue based on distributed message passing. - ★ 2675\n\n\n\n* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. - ★ 2434\n\n\n\n* [go-nats](https://github.com/nats-io/nats) - Golang client for NATS, the cloud native messaging system. - ★ 1926\n\n\n\n* [apns2](https://github.com/sideshow/apns2) - ⚡ 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. - ★ 1871\n\n\n\n* [apns2](https://github.com/sideshow/apns2) - ⚡ 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. - ★ 1871\n\n\n\n* [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - Golang push server cluster - ★ 1745\n\n\n\n* [benthos](https://github.com/Jeffail/benthos) - A dull, resilient and quick to deploy stream processor - ★ 1618\n\n\n\n* [mangos](https://github.com/go-mangos/mangos) - package mangos is an implementation in pure Go of the SP (\u0026quot;Scalable Protocols\u0026quot;) protocols. - ★ 1478\n\n\n\n* [go-nsq](https://github.com/nsqio/go-nsq) - The official Go package for NSQ - ★ 1218\n\n\n\n* [melody](https://github.com/olahol/melody) - Minimalist websocket framework for Go - ★ 1187\n\n\n\n* [uniqush-push](https://github.com/uniqush/uniqush-push) - Uniqush is a free and open source software system which provides a unified push service for server side notification to apps on mobile devices. - ★ 1028\n\n\n\n* [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ version 4 - ★ 696\n\n\n\n* [gollum](https://github.com/trivago/gollum) - An n:m message multiplexer written in Go - ★ 632\n\n\n\n* [EventBus](https://github.com/asaskevich/EventBus) - [Go] Lightweight eventbus with async compatibility for Go - ★ 443\n\n\n\n* [golongpoll](https://github.com/jcuga/golongpoll) - golang long polling library. Makes web pub-sub easy via HTTP long-poll server - ★ 381\n\n\n\n* [mercure](https://github.com/dunglas/mercure) - Server-sent live updates: protocol and reference implementation - ★ 359\n\n\n\n* [glue](https://github.com/desertbit/glue) - Glue - Robust Go and Javascript Socket Library (Alternative to Socket.io) - ★ 292\n\n\n\n* [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus - ★ 285\n\n\n\n* [emitter](https://github.com/olebedev/emitter) - Emits events in Go way, with wildcard, predicates, cancellation possibilities and many other good wins - ★ 251\n\n\n\n* [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. - ★ 225\n\n\n\n* [guble](https://github.com/smancke/guble) - websocket based messaging server written in golang - ★ 133\n\n\n\n* [zmq3](https://github.com/pebbe/zmq3) - A Go interface to ZeroMQ version 3 - ★ 127\n\n\n\n* [go-gcm](https://github.com/google/go-gcm) - GCM library for Go. - ★ 102\n\n\n\n* [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for microservices - ★ 91\n\n\n\n* [drone-line](https://github.com/appleboy/drone-line) - Sending line notifications using a binary, docker or Drone CI. - ★ 52\n\n\n\n* [RapidMQ](https://github.com/sybrexsys/RapidMQ) - RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue - ★ 47\n\n\n\n* [rabbus](https://github.com/rafaeljesus/rabbus) - A tiny wrapper over amqp exchanges and queues - ★ 46\n\n\n\n* [nsq-event-bus](https://github.com/rafaeljesus/nsq-event-bus) - A tiny wrapper around NSQ topic and channel - ★ 39\n\n\n\n* [go-notify](https://github.com/TheCreeper/go-notify) - Package notify provides an implementation of the Gnome DBus Notifications Specification. - ★ 38\n\n\n\n* [goose](https://github.com/ian-kent/goose) - Server-Sent Events in Go - ★ 34\n\n\n\n* [rabtap](https://github.com/jandelgado/rabtap) - RabbitMQ wire tap and swiss army knife - ★ 33\n\n\n\n* [message-bus](https://github.com/vardius/message-bus) - Go simple async message bus - ★ 25\n\n\n\n* [zmq2](https://github.com/pebbe/zmq2) - A Go interface to ZeroMQ version 2 - ★ 17\n\n\n\n* [event](https://github.com/agoalofalife/event) - The implementation of the pattern observer - ★ 16\n\n\n\n* [hub](https://github.com/leandro-lugaresi/hub) - A fast Message/Event Hub using publish/subscribe pattern with support for topics like* rabbitMQ exchanges for Go applications - ★ 12\n\n\n\n* [go-vitotrol](https://github.com/maxatome/go-vitotrol) - golang client library to Viessmann Vitotrol web service - ★ 10\n\n\n\n* [gaurun-client](https://github.com/osamingo/gaurun-client) - Gaurun Client written in Go - ★ 7\n\n\n\n\n## Miscellaneous\n\n\n\n* [errors](https://github.com/pkg/errors) - Simple error handling primitives - ★ 3634\n\n\n\n* [gopsutil](https://github.com/shirou/gopsutil) - psutil for golang - ★ 3057\n\n\n\n* [go.uuid](https://github.com/satori/go.uuid) - UUID package for Go - ★ 2539\n\n\n\n* [archiver](https://github.com/mholt/archiver) - Easily create and extract .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, and .rar (extract-only) files with Go - ★ 1653\n\n\n\n* [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go - ★ 1174\n\n\n\n* [go-resiliency](https://github.com/eapache/go-resiliency) - Resiliency patterns for golang - ★ 701\n\n\n\n* [go-commons-pool](https://github.com/jolestar/go-commons-pool) - a generic object pool for golang - ★ 550\n\n\n\n* [xstrings](https://github.com/huandu/xstrings) - Package xstrings: A collection of useful string functions in Go. - ★ 517\n\n\n\n* [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. - ★ 515\n\n\n\n* [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library for go. - ★ 432\n\n\n\n* [base64Captcha](https://github.com/mojocn/base64Captcha) - golang base64-captcha supports digits, numbers,alphabet, arithmetic, audio and digit-alphabet captcha - ★ 423\n\n\n\n* [bot](https://github.com/go-chat-bot/bot) - IRC, Slack, Telegram and RocketChat bot written in go - ★ 369\n\n\n\n* [shortid](https://github.com/teris-io/shortid) - Super short, fully unique, non-sequential and URL friendly Ids - ★ 348\n\n\n\n* [go-conv](https://github.com/cstockton/go-conv) - Fast conversions across various Go types with a simple API. - ★ 331\n\n\n\n* [health](https://github.com/dimiro1/health) - An easy to use, extensible health check library for Go applications. - ★ 327\n\n\n\n* [uuid](https://github.com/gofrs/uuid) - A UUID package originally forked from github.com/satori/go.uuid - ★ 325\n\n\n\n* [slacker](https://github.com/shomali11/slacker) - Slack Bot Framework - ★ 218\n\n\n\n* [wuid](https://github.com/edwingeng/wuid) - An extremely fast UUID alternative written in golang - ★ 214\n\n\n\n* [banner](https://github.com/dimiro1/banner) - An easy way to add useful startup banners into your Go applications - ★ 190\n\n\n\n* [gofakeit](https://github.com/brianvoe/gofakeit) - Random fake data generator written in go - ★ 188\n\n\n\n* [gountries](https://github.com/pariz/gountries) - 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. - ★ 181\n\n\n\n* [antch](https://github.com/antchfx/antch) - Antch, a fast, powerful and extensible web crawling \u0026amp; scraping framework for Go - ★ 110\n\n\n\n* [go-sarah](https://github.com/oklahomer/go-sarah) - Simple yet customizable bot framework written in Go. - ★ 109\n\n\n\n* [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... - ★ 108\n\n\n\n* [battery](https://github.com/distatus/battery) - cross-platform, normalized battery information library - ★ 106\n\n\n\n* [ffmt](https://github.com/go-ffmt/ffmt) - Golang beautify data display for Humans - ★ 84\n\n\n\n* [lk](https://github.com/hyperboloide/lk) - Simple licensing library for golang. - ★ 77\n\n\n\n* [hanu](https://github.com/sbstjn/hanu) - Golang Framework for writing Slack bots - ★ 76\n\n\n\n* [bitio](https://github.com/icza/bitio) - Highly optimized bit-level Reader and Writer for Go. - ★ 67\n\n\n\n* [turtle](https://github.com/hackebrot/turtle) - Emojis for Go - ★ 57\n\n\n\n* [gommit](https://github.com/antham/gommit) - Enforce git message commit consistency - ★ 55\n\n\n\n* [healthcheck](https://github.com/etherlabsio/healthcheck) - An simple, easily extensible and concurrent health-check library for Go services - ★ 54\n\n\n\n* [margelet](https://github.com/zhulik/margelet) - Telegram Bot Framework for Go - ★ 48\n\n\n\n* [go-unarr](https://github.com/gen2brain/go-unarr) - Go bindings for unarr (decompression library for RAR, TAR, ZIP and 7z archives) - ★ 44\n\n\n\n* [indigo](https://github.com/osamingo/indigo) - A distributed unique ID generator of using Sonyflake and encoded by Base58 - ★ 41\n\n\n\n* [morse](https://github.com/alwindoss/morse) - Morse Code Library in Go - ★ 38\n\n\n\n* [xkg](https://github.com/go-xkg/xkg) - User level X Keyboard Grabber - ★ 36\n\n\n\n* [strutil](https://github.com/ozgio/strutil) - String utilities for Go - ★ 34\n\n\n\n* [alice](https://github.com/magic003/alice) - An additive dependency injection container for Golang. - ★ 29\n\n\n\n* [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for Browser Capabilities Project - ★ 27\n\n\n\n* [datacounter](https://github.com/miolini/datacounter) - Golang counters for readers/writers - ★ 25\n\n\n\n* [captcha](https://github.com/steambap/captcha) - Package captcha provides an easy to use, unopinionated API for captcha generation - ★ 24\n\n\n\n* [persian](https://github.com/mavihq/persian) - Some utilities for Persian language in Go (Golang) - ★ 22\n\n\n\n* [autoflags](https://github.com/artyom/autoflags) - Populate go command line app flags from config struct - ★ 21\n\n\n\n* [pdfgen](https://github.com/hyperboloide/pdfgen) - HTTP service to generate PDF from Json requests - ★ 17\n\n\n\n* [ghorg](https://github.com/gabrie30/ghorg) - Quickly clone an entire GitHub org into one directory - ★ 13\n\n\n\n* [Goid](https://github.com/jakehl/goid) - A UUIDv4 generation package written in go - ★ 13\n\n\n\n* [gosh](https://github.com/osamingo/gosh) - Go Statistics Handler - ★ 11\n\n\n\n* [url-shortener](https://github.com/pantrif/url-shortener) - A golang URL Shortener - ★ 9\n\n\n\n* [anagent](https://github.com/mudler/anagent) - Minimalistic, pluggable Golang evloop/timer handler with dependency-injection - ★ 8\n\n\n\n* [avgRating](https://github.com/kirillDanshin/avgRating) - Calculate average score and rating based on Wilson Score Equation - ★ 8\n\n\n\n* [werr](https://github.com/txgruppi/werr) - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. - ★ 7\n\n\n\n* [uuid](https://github.com/agext/uuid) - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. - ★ 6\n\n\n\n* [hostutils](https://github.com/Wing924/hostutils) - A golang library for packing and unpacking hosts list - ★ 5\n\n\n\n* [sandid](https://github.com/aofei/sandid) - Every grain of sand on earth has its own ID. - ★ 3\n\n\n\n* [shellwords](https://github.com/Wing924/shellwords) - A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell. - ★ 3\n\n\n\n* [generators](https://github.com/azr/generators/tree/master/varhandler) - ★ 3\n\n\n\n\n\n\n\n\n## Natural Language Processing\n\n\n\n* [jieba](https://github.com/fxsjy/jieba) - 结巴中文分词 - ★ 15903\n\n\n\n* [prose](https://github.com/jdkato/prose) - A Golang library for text processing, including tokenization, part-of-speech tagging, and named-entity extraction. - ★ 1811\n\n\n\n* [when](https://github.com/olebedev/when) - A natural language date/time parser with pluggable rules - ★ 891\n\n\n\n* [go-i18n](https://github.com/nicksnyder/go-i18n/) - Translate your Go program into multiple languages. - ★ 760\n\n\n\n* [gojieba](https://github.com/yanyiwu/gojieba) - \u0026quot;结巴\u0026quot;中文分词的Golang版本 - ★ 659\n\n\n\n* [gse](https://github.com/go-ego/gse) - Go efficient text segmentation; support english, chinese, japanese and other. Go 语言高性能分词 - ★ 615\n\n\n\n* [go-pinyin](https://github.com/mozillazg/go-pinyin) - 汉字转拼音 - ★ 395\n\n\n\n* [nlp](https://github.com/Shixzie/nlp) - [UNMANTEINED] Extract values from strings and fill your structs with nlp. - ★ 349\n\n\n\n* [kagome](https://github.com/ikawaha/kagome) - Self-contained Japanese Morphological Analyzer written in pure Go - ★ 335\n\n\n\n* [whatlanggo](https://github.com/abadojack/whatlanggo) - Natural language detection library for Go - ★ 304\n\n\n\n* [sentences](https://github.com/neurosnap/sentences) - A multilingual command line sentence tokenizer in Golang - ★ 240\n\n\n\n* [nlp](https://github.com/james-bowman/nlp) - Selected Machine Learning algorithms for natural language processing and semantic analysis in Golang - ★ 168\n\n\n\n* [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work - ★ 76\n\n\n\n* [gounidecode](https://github.com/fiam/gounidecode) - Unicode transliterator for #golang - ★ 59\n\n\n\n* [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text - ★ 58\n\n\n\n* [MMSEGO](https://github.com/awsong/MMSEGO) - Chinese word splitting algorithm MMSEG in GO - ★ 57\n\n\n\n* [go-stem](https://github.com/agonopol/go-stem) - Word Stemming in Go - ★ 49\n\n\n\n* [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29 - ★ 43\n\n\n\n* [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English, German and Dutch stemmers. - ★ 41\n\n\n\n* [go-unidecode](https://github.com/mozillazg/go-unidecode) - ASCII transliterations of Unicode text. - ★ 35\n\n\n\n* [RAKE.Go](https://github.com/Obaied/RAKE.go) - A Go port of the Rapid Automatic Keyword Extraction algorithm (RAKE) - ★ 34\n\n\n\n* [getlang](https://github.com/rylans/getlang) - Natural language detection package in pure Go - ★ 32\n\n\n\n* [porter2](https://github.com/zhenjl/porter2) - High Performance Porter2 Stemmer - ★ 32\n\n\n\n* [go2vec](https://github.com/danieldk/go2vec) - Read and use word2vec vectors in Go - ★ 30\n\n\n\n* [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm - ★ 24\n\n\n\n* [snowball](https://github.com/goodsign/snowball) - Cgo binding for Snowball C library - ★ 21\n\n\n\n* [mystem](https://github.com/dveselov/mystem) - CGo bindings to Yandex.Mystem - ★ 19\n\n\n\n* [icu](https://github.com/goodsign/icu) - Cgo binding for icu4c library - ★ 17\n\n\n\n* [petrovich](https://github.com/striker2000/petrovich) - Golang port of Petrovich - an inflector for Russian anthroponyms. - ★ 16\n\n\n\n* [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 - ★ 15\n\n\n\n* [libtextcat](https://github.com/goodsign/libtextcat) - Cgo binding for libtextcat C library - ★ 10\n\n\n\n* [shamoji](https://github.com/osamingo/shamoji) - The shamoji (杓文字) is word filtering package - ★ 9\n\n\n\n* [porter](https://github.com/a2800276/porter) - porter stemmer - ★ 8\n\n\n\n* [go-eco](https://github.com/ThePaw/go-eco) - Automatically exported from code.google.com/p/go-eco - ★ 4\n\n\n\n* [gotokenizer](https://github.com/xujiajun/gotokenizer) - A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation) - ★ 2\n\n\n\n\n## Networking\n\n\n\n* [kcptun](https://github.com/xtaci/kcptun) - A Stable \u0026amp; Secure Tunnel Based On KCP with N:M Multiplexing - ★ 9003\n\n\n\n* [fasthttp](https://github.com/valyala/fasthttp) - Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http - ★ 7359\n\n\n\n* [httplab](https://github.com/gchaincl/httplab) - The interactive web server - ★ 3225\n\n\n\n* [dns](https://github.com/miekg/dns) - DNS library in Go - ★ 3171\n\n\n\n* [gopacket](https://github.com/google/gopacket) - Provides packet processing capabilities for Go - ★ 2279\n\n\n\n* [quic-go](https://github.com/lucas-clemente/quic-go) - A QUIC implementation in pure go - ★ 1831\n\n\n\n* [kcp-go](https://github.com/xtaci/kcp-go) - A Production-Grade Reliable-UDP Library for golang - ★ 1746\n\n\n\n* [gobgp](https://github.com/osrg/gobgp) - BGP implemented in the Go Programming Language - ★ 1430\n\n\n\n* [ssh](https://github.com/gliderlabs/ssh) - Easy SSH servers in Golang - ★ 862\n\n\n\n* [water](https://github.com/songgao/water) - A simple TUN/TAP library written in native Go. - ★ 677\n\n\n\n* [sftp](https://github.com/pkg/sftp) - SFTP support for the go.crypto/ssh package - ★ 575\n\n\n\n* [go-getter](https://github.com/hashicorp/go-getter) - Package for downloading things from a string URL using a variety of protocols. - ★ 570\n\n\n\n* [nff-go](https://github.com/intel-go/nff-go) - NFF-Go -Network Function Framework for GO (former YANFF) - ★ 536\n\n\n\n* [fortio](https://github.com/fortio/fortio) - Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats. - ★ 514\n\n\n\n* [mdns](https://github.com/hashicorp/mdns) - Simple mDNS client/server library in Golang - ★ 453\n\n\n\n* [lhttp](https://github.com/fanux/lhttp) - go websocket, a better way to buid your IM server - ★ 448\n\n\n\n* [grab](https://github.com/cavaliercoder/grab) - A download manager package for Go - ★ 410\n\n\n\n* [ftp](https://github.com/jlaffaye/ftp) - FTP client package for Go - ★ 395\n\n\n\n* [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly building tcp servers - ★ 370\n\n\n\n* [gosnmp](https://github.com/soniah/gosnmp) - An SNMP library written in GoLang. - ★ 366\n\n\n\n* [gopcap](https://github.com/akrennmair/gopcap) - A simple wrapper around libpcap for the Go programming language - ★ 329\n\n\n\n* [cidranger](https://github.com/yl2chen/cidranger) - Fast IP to CIDR lookup in Golang - ★ 301\n\n\n\n* [peerdiscovery](https://github.com/schollz/peerdiscovery) - Pure-Go library for cross-platform local peer discovery using UDP multicast - ★ 300\n\n\n\n* [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389) - ★ 273\n\n\n\n* [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. MIT Licensed. - ★ 238\n\n\n\n* [tcp_server](https://github.com/firstrow/tcp_server) - golang tcp server - ★ 228\n\n\n\n* [buffstreams](https://github.com/stabbycutyou/buffstreams) - A library to simplify writing applications using TCP sockets to stream protobuff messages - ★ 213\n\n\n\n* [winrm](https://github.com/masterzen/winrm) - Command-line tool and library for Windows remote command execution in Go - ★ 179\n\n\n\n* [ethernet](https://github.com/mdlayher/ethernet) - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. MIT Licensed. - ★ 161\n\n\n\n* [arp](https://github.com/mdlayher/arp) - Package arp implements the ARP protocol, as described in RFC 826. MIT Licensed. - ★ 155\n\n\n\n* [stun](https://github.com/go-rtc/stun) - Fast RFC 5389 STUN implementation in go - ★ 153\n\n\n\n* [utp](https://github.com/anacrolix/utp) - Use anacrolix/go-libutp instead - ★ 139\n\n\n\n* [canopus](https://github.com/zubairhamed/canopus) - CoAP Client/Server implementing RFC 7252 for the Go Language - ★ 120\n\n\n\n* [sslb](https://github.com/eduardonunesp/sslb) - Golang Super Simple Load Balance - ★ 107\n\n\n\n* [jazigo](https://github.com/udhos/jazigo) - Jazigo is a tool written in Go for retrieving configuration for multiple devices, similar to rancid, fetchconfig, oxidized, Sweet. - ★ 101\n\n\n\n* [gnxi](https://github.com/google/gnxi) - gNXI Tools - gRPC Network Management/Operations Interface Tools - ★ 70\n\n\n\n* [ether](https://github.com/songgao/ether) - A Go package for sending and receiving ethernet frames. Currently supporting Linux, Freebsd, and OS X. - ★ 57\n\n\n\n* [dhcp6](https://github.com/mdlayher/dhcp6) - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. MIT Licensed. - ★ 52\n\n\n\n* [xtcp](https://github.com/xfxdev/xtcp) - A TCP Server Framework with graceful shutdown, custom protocol. - ★ 48\n\n\n\n* [portproxy](https://github.com/aybabtme/portproxy) - TCP proxy, highjacks HTTP to allow CORS - ★ 37\n\n\n\n* [linkio](https://github.com/ian-kent/linkio) - Simulate network link speed - ★ 36\n\n\n\n* [graval](https://github.com/koofr/graval) - An experimental go FTP server framework - ★ 23\n\n\n\n* [publicip](https://github.com/polera/publicip) - Go pkg for returning your public facing IP address. - ★ 16\n\n\n\n* [golibwireshark](https://github.com/sunwxg/golibwireshark) - ★ 12\n\n\n\n* [goshark](https://github.com/sunwxg/goshark) - ★ 7\n\n\n\n* [llb](https://github.com/kirillDanshin/llb) - ★ 7\n\n\n\n* [packet](https://github.com/aerogo/packet) - Send network packets over a TCP or UDP connection. - ★ 7\n\n\n\n* [tspool](https://github.com/two/tspool) - tcp server pool - ★ 0\n\n\n\n\n## OpenGL\n\n\n\n* [gl](https://github.com/go-gl/gl) - Go bindings for OpenGL (generated via glow) - ★ 534\n\n\n\n* [glfw](https://github.com/go-gl/glfw) - Go bindings for GLFW 3 - ★ 529\n\n\n\n* [mathgl](https://github.com/go-gl/mathgl) - A pure Go 3D math library. - ★ 249\n\n\n\n* [gl](https://github.com/goxjs/gl) - Go cross-platform OpenGL bindings. - ★ 127\n\n\n\n* [glfw](https://github.com/goxjs/glfw) - Go cross-platform glfw library for creating an OpenGL context and receiving events. - ★ 54\n\n\n\n\n## ORM\n\n\n\n* [beego](https://github.com/astaxie/beego/tree/master/orm) - ★ 17708\n\n\n\n* [gorm](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly - ★ 11124\n\n\n\n* [xorm](https://github.com/go-xorm/xorm) - Simple and Powerful ORM for Go, support mysql,postgres,tidb,sqlite3,mssql,oracle - ★ 4008\n\n\n\n* [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence - an ORM-ish library for Go - ★ 2900\n\n\n\n* [pg](https://github.com/go-pg/pg) - Golang ORM with focus on PostgreSQL features and performance - ★ 2137\n\n\n\n* [sqlboiler](https://github.com/volatiletech/sqlboiler) - Generate a Go ORM tailored to your database schema. - ★ 1663\n\n\n\n* [db](https://github.com/upper/db) - Productive data access layer for Go. - ★ 1383\n\n\n\n* [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. - ★ 695\n\n\n\n* [qbs](https://github.com/coocood/qbs) - QBS stands for Query By Struct. A Go ORM. - ★ 516\n\n\n\n* [pop](https://github.com/gobuffalo/pop) - A Tasty Treat For All Your Database Needs - ★ 505\n\n\n\n* [go-queryset](https://github.com/jirfag/go-queryset) - 100% type-safe ORM for Go (Golang) with code generation and MySQL, PostgreSQL, Sqlite3, SQL Server support. GORM under the hood. - ★ 358\n\n\n\n* [zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine for Go built on Redis. - ★ 225\n\n\n\n* [go-store](https://github.com/gosuri/go-store) - A simple and fast Redis backed key-value store library for Go - ★ 90\n\n\n\n* [go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) - A flexible and powerful SQL string builder library plus a zero-config ORM. - ★ 79\n\n\n\n* [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database - ★ 59\n\n\n\n* [marlow](https://github.com/dadleyy/marlow) - golang generator for type-safe sql api constructs - ★ 35\n\n\n\n* [grimoire](https://github.com/Fs02/grimoire) - Database access layer for golang. - ★ 28\n\n\n\n* [lore](https://github.com/abrahambotros/lore) - Light Object-Relational Environment (LORE) provides a simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go - ★ 4\n\n\n\n\n## Package Management\n\n\n\n* [dep](https://github.com/golang/dep) - Go dependency management tool - ★ 10939\n\n\n\n* [glide](https://github.com/Masterminds/glide) - Package Management for Golang - ★ 7239\n\n\n\n* [godep](https://github.com/tools/godep) - dependency tool for go - ★ 5529\n\n\n\n* [govendor](https://github.com/kardianos/govendor) - Go vendor tool that works with the standard vendor file. - ★ 4023\n\n\n\n* [gopm](https://github.com/gpmgo/gopm) - Go Package Manager (gopm) is a package manager and build tool for Go. - ★ 2017\n\n\n\n* [gom](https://github.com/mattn/gom) - Go Manager - bundle for go - ★ 1339\n\n\n\n* [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. - ★ 1201\n\n\n\n* [goop](https://github.com/nitrous-io/goop) - A simple dependency manager for Go (golang), inspired by Bundler. - ★ 774\n\n\n\n* [gvt](https://github.com/FiloSottile/gvt) - gvt was a minimal go vendoring tool, based on gb-vendor. Today, you want to use modules instead. - ★ 754\n\n\n\n* [nut](https://github.com/jingweno/nut) - Vendor Go dependencies - ★ 247\n\n\n\n* [johnny-deps](https://github.com/VividCortex/johnny-deps) - Barebones dependency manager for Go. - ★ 213\n\n\n\n* [gigo](https://github.com/LyricalSecurity/gigo) - GIGO: PIP for GO - ★ 196\n\n\n\n* [VenGO](https://github.com/DamnWidget/VenGO) - Create and manage Isolated Virtual Environments for Go - ★ 111\n\n\n\n* [gop](https://github.com/lunny/gop) - Manage dependencies and build Go projects outside GOPATH - ★ 47\n\n\n\n\n## Query Language\n\n\n\n* [graphql](https://github.com/graphql-go/graphql) - An implementation of GraphQL for Go / Golang - ★ 3864\n\n\n\n* [graphql-go](https://github.com/neelance/graphql-go) - GraphQL server with a focus on ease of use - ★ 2090\n\n\n\n* [gojsonq](https://github.com/thedevsaddam/gojsonq) - A simple Go package to Query over JSON Data - ★ 450\n\n\n\n* [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. - ★ 177\n\n\n\n* [rql](https://github.com/a8m/rql) - Resource Query Language for REST - ★ 75\n\n\n\n* [graphql](https://github.com/tmc/graphql) - graphql parser + utilities - ★ 47\n\n\n\n* [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go - ★ 36\n\n\n\n* [jsonslice](https://github.com/bhmj/jsonslice) - json slicer - ★ 9\n\n\n\n\n## Resource Embedding\n\n\n\n* [statik](https://github.com/rakyll/statik) - Embed files into a Go executable - ★ 1557\n\n\n\n* [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images,templates, etc very easy. - ★ 1417\n\n\n\n* [packr](https://github.com/gobuffalo/packr) - The simple and easy way to embed static files into Go binaries. - ★ 1359\n\n\n\n* [vfsgen](https://github.com/shurcooL/vfsgen) - Takes an input http.FileSystem (likely at go generate time) and generates Go code that statically implements it. - ★ 415\n\n\n\n* [esc](https://github.com/mjibson/esc) - A simple file embedder for Go - ★ 358\n\n\n\n* [fileb0x](https://github.com/UnnoTed/fileb0x) - a better customizable tool to embed files in go; also update embedded files remotely without restarting the server - ★ 349\n\n\n\n* [go-resources](https://github.com/omeid/go-resources) - Unfancy resources embedding for Go with out of box http.FileSystem support. - ★ 146\n\n\n\n* [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks - ★ 49\n\n\n\n* [templify](https://github.com/wlbr/templify) - A tool to be used with \u0026#39;go generate\u0026#39; to embed external template files into Go code. - ★ 15\n\n\n\n* [go-embed](https://github.com/pyros2097/go-embed) - Generates go code to embed resource files into your library or executable - ★ 12\n\n\n\n\n## Science and Data Analysis\n\n\n\n* [streamtools](https://github.com/nytlabs/streamtools) - tools for working with streams of data - ★ 1311\n\n\n\n* [gosl](https://github.com/cpmech/gosl) - Go scientific library for machine learning, linear algebra, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, graph, plotting, visualisation, tensors, eigenvalues, differential equations, more. - ★ 1168\n\n\n\n* [plot](https://github.com/gonum/plot) - A repository for plotting and visualizing data - ★ 973\n\n\n\n* [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions that are missing from the Golang standard library. - ★ 943\n\n\n\n* [go-dsp](https://github.com/mjibson/go-dsp) - Digital Signal Processing for Go - ★ 555\n\n\n\n* [goraph](https://github.com/gyuho/goraph) - Package goraph implements graph data structure and algorithms. - ★ 535\n\n\n\n* [chart](https://github.com/vdobler/chart) - Provide basic charts in go - ★ 519\n\n\n\n* [matrix](https://github.com/gonum/matrix) - Matrix packages for the Go language [DEPRECATED] - ★ 460\n\n\n\n* [ewma](https://github.com/VividCortex/ewma) - Exponentially Weighted Moving Average algorithms for Go. - ★ 241\n\n\n\n* [graph](https://github.com/yourbasic/graph) - Graph algorithms and dat","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/thoqbk%2Fawesome-go/projects"}