awesome-go

A curated list of awesome Go frameworks, libraries and software

GitHub

130k stars
3k watching
12k forks
Language: Go
last commit: about 7 hours ago
Linked from 16 awesome lists

awesomeawesome-listgogolanggolang-libraryhacktoberfest

Awesome Go

Your app, enterprise-ready. Start selling to enterprise customers with just a few lines of code. Add Single Sign-On (and more) in minutes instead of months.
An open, source-available software licensing and distribution API. Securely license and distribute Go applications with a single API. Add auto updates with only a few lines of code.

Awesome Go / Actor Model

Ergo 3,595 12 days ago An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang
Goakt 171 14 days ago Fast and Distributed Actor framework using protocol buffers as message for Golang
Hollywood 1,175 about 2 months ago Blazingly fast and light-weight Actor engine written in Golang
ProtoActor 5,050 about 2 months ago Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

Awesome Go / Artificial Intelligence

chromem-go 234 about 1 month ago Embeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence
fun The simplest but powerful way to use large language models (LLMs) in Go
langchaingo 4,392 29 days ago LangChainGo is a framework for developing applications powered by language models
LocalAI 23,807 3 days ago Open Source OpenAI alternative, self-host AI models
Ollama 91,834 10 days ago Run large language models locally
OllamaFarm 27 27 days ago Manage, load-balance, and failover packs of Ollamas

Awesome Go / Audio and Music

flac 316 2 months ago Native Go FLAC encoder/decoder with support for FLAC streams
gaad 126 over 1 year ago Native Go AAC bitstream parser
GoAudio 345 6 months ago Native Go Audio Processing Library
gosamplerate 34 9 months ago libsamplerate bindings for go
id3v2 335 12 months ago ID3 decoding and encoding library for Go
malgo 293 6 months ago Mini audio library
minimp3 125 about 1 year ago Lightweight MP3 decoder library
Oto 1,561 10 days ago A low-level library to play sound on multiple platforms
PortAudio 698 over 1 year ago Go bindings for the PortAudio audio I/O library

Awesome Go / Authentication and OAuth

authboss 3,827 3 months ago Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time
branca 84 about 1 month ago branca token for Golang 1.15+
casbin 17,589 26 days ago Authorization library that supports access control models like ACL, RBAC, and ABAC
cookiestxt 16 7 months ago provides a parser of cookies.txt file format
go-guardian 550 3 months ago Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication
go-jose 318 about 1 month ago Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs
gologin 1,816 17 days ago chainable handlers for login with OAuth1 and OAuth2 authentication providers
gorbac 1,599 3 months ago provides a lightweight role-based access control (RBAC) implementation in Golang
gosession 253 2 months ago This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, or at least it tries to become one
goth 5,472 about 2 months ago provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box
jeff 265 over 1 year ago Simple, flexible, secure, and idiomatic web session management with pluggable backends
jwt 354 over 1 year ago Lightweight JSON Web Token (JWT) library
jwt 664 3 months ago Safe, simple, and fast JSON Web Tokens for Go
jwt-auth 231 about 3 years ago JWT middleware for Golang http servers with many configuration options
jwt-go 7,064 about 1 month ago A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs
jwx 1,923 9 days ago Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies
keto 4,800 11 days ago Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models
loginsrv 1,919 over 3 years ago JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam
oauth2 5,343 about 1 month ago Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support
oidc 1,361 4 days ago Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
openfga 2,779 10 days ago Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by
osin 1,907 2 months ago Golang OAuth2 server library
otpgen 136 9 months ago Library to generate TOTP/HOTP codes
otpgo 67 over 3 years ago Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go
paseto 851 over 1 year ago Golang implementation of Platform-Agnostic Security Tokens (PASETO)
permissions2 513 about 1 month ago Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt
scope 38 over 3 years ago Easily Manage OAuth2 Scopes In Go
scs 2,115 3 months ago Session Manager for HTTP servers
securecookie 79 over 1 year ago Efficient secure cookie encoding/decoding
session 117 about 2 months ago Go session management for web servers (including support for Google App Engine - GAE)
sessions 78 about 1 year ago Dead simple, highly performant, highly customizable sessions service for go http servers
sessionup 124 over 2 years ago Simple, yet effective HTTP session management and identification package
sjwt 118 8 months ago Simple jwt generator and parser

Awesome Go / Blockchain

cometbft 626 10 days ago A distributed, Byzantine fault-tolerant, deterministic state machine replication engine. It is a fork of Tendermint Core and implements the Tendermint consensus algorithm
cosmos-sdk 6,222 9 days ago A Framework for Building Public Blockchains in the Cosmos Ecosystem
gno 880 10 days ago A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains
go-ethereum 47,289 10 days ago Official Go implementation of the Ethereum protocol
gosemble 11 about 1 month ago A Go-based framework for building Polkadot/Substrate-compatible runtimes
gossamer 427 10 days ago A Go implementation of the Polkadot Host
kubo 16,096 4 days ago A blockchain framework implemented in Go. It provides content-addressable storage which can be used for decentralized storage in DApps. It is based on the IPFS protocol
lnd 7,646 10 days ago A complete implementation of a Lighting Network node
solana-go 824 about 2 months ago Go library to interface with Solana JSON RPC and WebSocket interfaces
tendermint 5,705 12 days ago High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols

Awesome Go / Bot Building

bot 675 19 days ago Zero-dependencies Telegram Bot library with additional UI components
echotron 363 20 days ago An elegant and concurrent library for Telegram Bots in Go
ephemeral-roles 90 5 months ago A Discord bot for managing ephemeral roles based upon voice channel member presence
go-chat-bot 825 7 months ago IRC, Slack & Telegram bot written in Go
go-joe A general-purpose bot library inspired by Hubot but written in Go
go-sarah 261 over 1 year ago Framework to build a bot for desired chat services including LINE, Slack, Gitter, and more
go-tg 95 4 months ago Generated from official docs Go client library for accessing Telegram Bot API, with batteries for building complex bots included
go-tgbot 121 over 6 years ago Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router, and middleware
go-twitch-irc 356 13 days ago Library to write bots for twitch.tv chat
Golang CryptoTrading Bot 1,065 9 months ago A golang implementation of a console-based trading bot for cryptocurrency exchanges
govkbot 50 12 months ago Simple Go bot library
hanu 155 over 1 year ago Framework for writing Slack bots
Kelp 1,096 11 months ago official trading and market-making bot for the DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies
larry 160 8 months ago Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go
margelet 85 about 2 years ago Framework for building Telegram bots
micha 30 about 2 months ago Go Library for Telegram bot api
olivia 3,676 10 months ago A chatbot built with an artificial neural network
slack-bot 179 12 days ago Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github
slacker 40 about 2 months ago Easy to use framework to create Slack bots
slackscot 56 over 1 year ago Another framework for building Slack bots
tbot 355 10 months ago Telegram bot server with API similar to net/http
telebot 3,948 19 days ago Telegram bot framework is written in Go
telego 524 12 days ago Telegram Bot API library for Golang with full one-to-one API implementation
telegram-bot-api 5,745 about 2 months ago Simple and clean Telegram bot client
teleterm 37 over 1 year ago Telegram Bot Exec Terminal Command
Tenyks 178 over 1 year ago Service oriented IRC bot using Redis and JSON for messaging
wayback 1,767 11 days ago A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages

Awesome Go / Build Automation

1build 226 over 1 year ago Command line tool to frictionlessly manage project-specific commands
air 17,603 17 days ago Air - Live reload for Go apps
anko 36 over 3 years ago Simple application watcher for multiple programming languages
gaper 80 about 1 year ago Builds and restarts a Go project when it crashes or some watched file changes
gilbert Build system and task runner for Go projects
gob 9 about 2 months ago / like build tool for Go projects
goyek 559 12 days ago Create build pipelines in Go
mage 4,121 4 months ago Mage is a make/rake-like build tool using Go
mmake 1,717 over 1 year ago Modern Make
realize 4,460 over 3 years ago Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths
Task 11,165 10 days ago simple "Make" alternative
taskctl 293 5 months ago Concurrent task runner
xc 1,163 26 days ago Task runner with README.md defined tasks, executable markdown

Awesome Go / Command Line / Advanced Console UIs

asciigraph 2,652 2 months ago Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies
aurora 1,420 about 2 years ago ANSI terminal colors that support fmt.Printf/Sprintf
box-cli-maker 531 about 2 months ago Make Highly Customized Boxes for your CLI
bubble-table 444 about 1 month ago An interactive table component for bubbletea
bubbles 5,431 12 days ago TUI components for bubbletea
bubbletea 27,171 15 days ago Go framework to build terminal apps, based on The Elm Architecture
cfmt 103 almost 6 years ago Contextual fmt inspired by bootstrap color classes
cfmt 67 over 3 years ago Simple and convenient formatted stylized output fully compatible with fmt library
chalk 448 about 5 years ago Intuitive package for prettifying terminal/console output
colourize 27 about 2 years ago Go library for ANSI colour text in terminals
crab-config-files-templating 7 about 2 years ago Dynamic configuration file templating tool for kubernetes manifest or general configuration files
ctc 47 over 1 year ago The non-invasive cross-platform terminal color library does not need to modify the Print method
go-ataman 17 almost 4 years ago Go library for rendering ANSI colored text templates in terminals
go-colorable 762 9 months ago Colorable writer for windows
go-colortext 214 over 4 years ago Go library for color output in terminals
go-isatty 827 2 months ago isatty for golang
go-palette 17 over 1 year ago Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the for nice terminal layouts
go-prompt 5,271 3 months ago Library for building a powerful interactive prompt, inspired by
gocui 9,863 about 1 month ago Minimalist Go library aimed at creating Console User Interfaces
gommon/color 538 10 months ago Style terminal text
gookit/color 1,500 about 1 month ago Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows
lipgloss 7,960 18 days ago Declaratively define styles for color, format and layout in the terminal
marker 48 about 1 year ago Easiest way to match and mark strings for colorful terminal outputs
mpb 2,298 about 2 months ago Multi progress bar for terminal applications
progressbar 4,077 15 days ago Basic thread-safe progress bar that works in every OS
pterm 4,774 about 1 month ago A library to beautify console output on every platform with many combinable components
simpletable 528 over 3 years ago Simple tables in a terminal with Go
spinner 2,332 4 months ago Go package to easily provide a terminal spinner with options
tabby 355 almost 4 years ago A tiny library for super simple Golang tables
table 50 over 1 year ago Small library for terminal color based tables
tabular 75 over 1 year ago Print ASCII tables from command line utilities without the need to pass large sets of data to the API
termbox-go 4,667 over 2 years ago Termbox is a library for creating cross-platform text-based interfaces
termdash 2,702 18 days ago Go terminal dashboard based on and inspired by
termenv 1,724 about 1 month ago Advanced ANSI style & color support for your terminal applications
termui 13,158 3 months ago Go terminal dashboard based on and inspired by
uilive 1,692 about 1 year ago Library for updating terminal output in real time
uiprogress 2,098 8 months ago Flexible library to render progress bars in terminal applications
uitable 735 almost 2 years ago Library to improve readability in terminal apps using tabular data
yacspin 438 almost 3 years ago Yet Another CLi Spinner package, for working with terminal spinners

Awesome Go / Command Line / Standard CLI

acmd 115 6 months ago Simple, useful, and opinionated CLI package in Go
argparse 605 almost 2 years ago Command line argument parser inspired by Python's argparse module
argv 41 over 4 years ago Go library to split command line string as arguments array using the bash syntax
carapace 319 20 days ago Command argument completion generator for spf13/cobra
carapace-bin 861 11 days ago Multi-shell multi-command argument completer
carapace-spec 17 19 days ago Define simple completions using a spec file
climax 216 about 4 years ago Alternative CLI with "human face", in spirit of Go command
clîr 178 4 months ago A Simple and Clear CLI library. Dependency free
cmd 41 about 4 years ago Extends the standard package to support sub commands and more in idiomatic way
cmdr 133 18 days ago A POSIX/GNU style, getopt-like command-line UI Go library
cobra 37,780 about 2 months ago Commander for modern Go CLI interactions
command-chain 60 over 1 year ago A go library for configure and run command chains - such as pipelining in unix shells
commandeer 173 about 2 years ago Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags
complete 928 about 1 year ago Write bash completions in Go + Go command bash completion
Dnote 2,774 3 months ago A simple command line notebook with multi-device sync
elvish 5,648 10 days ago An expressive programming language and a versatile interactive shell
env 114 4 months ago Tag-based environment configuration for structs
flag 131 almost 4 years ago Simple but powerful command line option parsing library for Go supporting subcommand
flaggy 856 over 1 year ago A robust and idiomatic flags package with excellent subcommand support
flagvar 43 16 days ago A collection of flag argument types for Go's standard package
go-andotp 30 over 1 year ago A CLI program to encrypt/decrypt files. Can be used as a library as well
go-arg 2,000 about 1 month ago Struct-based argument parsing in Go
go-commander 35 over 4 years ago Go library to simplify CLI workflow
go-flags 2,567 3 months ago go command line option parser
go-getoptions 55 11 days ago Go option parser inspired by the flexibility of Perl’s GetOpt::Long
gocmd 66 over 1 year ago Go library for building command line applications
hiboot cli 180 about 2 months ago cli application framework with auto configuration and dependency injection
job 145 over 4 years ago JOB, make your short-term command as a long-term job
kingpin 3,486 13 days ago Command line and flag parser supporting sub commands (superseded by ; see below)
liner 1,043 over 1 year ago Go readline-like library for command-line interfaces
mcli 30 6 months ago A minimal but very powerful cli library for Go
mitchellh/cli 1,730 3 months ago Go library for implementing command-line interfaces
mkideal/cli 730 8 months ago Feature-rich and easy to use command-line package based on golang struct tags
mow.cli 871 7 months ago Go library for building CLI applications with sophisticated flag and argument parsing and validation
ops 1,273 18 days ago Unikernel Builder/Orchestrator
pflag 2,397 3 months ago Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
readline 87 about 2 months ago Shell library with modern and easy to use UI features
sand 26 almost 6 years ago Simple API for creating interpreters and so much more
sflags 150 about 3 years ago Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries
strumt 60 about 2 months ago Library to create prompt chain
subcmd 8 3 months ago Another approach to parsing and running subcommands. Works alongside the standard package
survey 4,085 6 months ago Build interactive and accessible prompts with full support for windows and posix terminals
teris-io/cli 129 over 3 years ago Simple and complete API for building command line interfaces in Go
ts 20 over 5 years ago Timestamp convert & compare tool
ukautz/clif 129 over 5 years ago Small command line interface framework
urfave/cli 22,226 about 1 month ago Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli)
version 97 about 1 year ago Collects and displays CLI version information in multiple formats along with upgrade notice
wlog 66 5 months ago Simple logging interface that supports cross-platform color and concurrency
wmenu 216 5 months ago Easy to use menu structure for cli applications that prompt users to make choices

Awesome Go / Configuration

aconfig 539 7 months ago Simple, useful and opinionated config loader
bcl 19 2 months ago BCL is a configuration language similar to HCL
cleanenv 1,618 about 2 months ago Minimalistic configuration reader (from files, ENV, and wherever you want)
config 336 over 2 years ago Cloud native application configuration. Bind ENV to structs in only two lines
config 49 11 months ago configure your app using file, environment variables, or flags in two lines of code
configuration 108 6 months ago Library for initializing configuration structs from env variables, files, flags and 'default' tag
configure 56 over 5 years ago Provides configuration through multiple sources, including JSON, flags and environment variables
configuro 94 about 2 years ago opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications
confiq 34 6 months ago Structured data format to config struct decoder library for Go - supporting multiple data formats
confita 495 7 months ago Load configuration in cascade from multiple backends into a struct
conflate 32 about 1 year ago Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema
env 4,827 about 2 months ago Parse environment variables to Go structs (with defaults)
env 62 about 2 months ago A lightweight package for loading environment variables into structs
env 4 11 days ago An environment utility package with support for unmarshaling into structs
envconfig 240 almost 3 years ago Read your configuration from environment variables
envh 99 7 months ago Helpers to manage environment variables
fig 373 7 months ago Tiny library for reading configuration from a file and from environment variables (with validation & defaults)
genv 38 about 5 years ago Read environment variables easily with dotenv support
go-array 19 6 months ago A Go package that read or set data from map, slice or json
go-aws-ssm 58 6 months ago Go package that fetches parameters from AWS System Manager - Parameter Store
go-cfg 42 2 months ago The library provides a unified way to read configuration data into a structure from various sources, such as env, flags, and configuration files (.json, .yaml, .toml, .env)
go-conf 10 almost 3 years ago Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters
go-ini 14 about 2 months ago A Go package that marshals and unmarshals INI-files
go-ssm-config 22 about 1 year ago Go utility for loading configuration parameters from AWS SSM (Parameter Store)
go-up 43 over 4 years ago A simple configuration library with recursive placeholders resolution and no magic
GoCfg 6 3 months ago Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple
goConfig Parses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file
godotenv 8,228 4 months ago Go port of Ruby's dotenv library (Loads environment variables from )
gofigure 68 about 5 years ago Go application configuration made easy
GoLobby/Config 362 almost 2 years ago GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language
gone/jconf 48 over 3 years ago Modular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization
gonfig 9 about 3 years ago Tag-based configuration parser which loads values from different providers into typesafe struct
gookit/config 534 7 months ago application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge
harvester 131 about 2 months ago Harvester, an easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration
hjson 330 6 months ago Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments
hocon 77 about 1 month ago Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files
ingo 38 over 7 years ago Flags persisted in an ini-like config file
ini 3,449 5 months ago Go package to read and write INI files
ini 15 about 1 year ago INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file
joshbetz/config 216 almost 3 years ago Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP
kelseyhightower/envconfig 5,023 3 months ago Go library for managing configuration data from environment variables
koanf 2,702 10 days ago Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line
konf 227 12 days ago The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP)
konfig 648 almost 4 years ago Composable, observable and performant config handling for Go for the distributed processing era
kong 2,088 20 days ago Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to )
mini 35 almost 6 years ago Golang package for parsing ini-style configuration files
nasermirzaei89/env 18 6 months ago Simple useful package for read environment variables
nfigure 7 about 1 month ago Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML
onion 116 over 1 year ago Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP
piper 8 almost 3 years ago Viper wrapper with config inheritance and key generation
sonic 6,786 19 days ago A blazingly fast JSON serializing & deserializing library
store 273 about 1 year ago Lightweight configuration manager for Go
swap 8 almost 3 years ago Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env)
typenv 9 over 1 year ago Minimalistic, zero dependency, typed environment variables library
uConfig 70 6 months ago Lightweight, zero-dependency, and extendable configuration management
viper 26,918 12 days ago Go configuration with fangs
xdg 682 about 1 month ago Go implementation of the and
xdg 79 almost 4 years ago Cross platform package that follows the
yamagiconf 15 about 1 month ago The "safe subset" of YAML for Go configs

Awesome Go / Continuous Integration

abstruse 936 8 months ago Abstruse is a distributed CI platform
Bencher A suite of continuous benchmarking tools designed to catch performance regressions in CI
CDS 4,563 10 days ago Enterprise-Grade CI/CD and DevOps Automation Open Source Platform
dot 18 2 months ago A minimal, local first continuous integration system that uses Docker to run jobs concurrently in stages
drone 32,174 about 24 hours ago Drone is a Continuous Integration platform built on Docker, written in Go
go-beautiful-html-coverage 11 5 months ago A GitHub Action to track code coverage in your pull requests, with a beautiful HTML preview, for free
go-fuzz-action 15 7 months ago Use Go 1.18's built-in fuzz testing in GitHub Actions
go-semver-release 10 10 days ago Automate the semantic versioning of Git repositories
go-test-coverage 83 10 days ago Tool and GitHub action which reports issues when test coverage is below set threshold
gomason 65 3 months ago Test, Build, Sign, and Publish your go binaries from a clean workspace
gotestfmt 506 over 1 year ago go test output for humans
goveralls 789 over 1 year ago Go integration for Coveralls.io continuous code coverage tracking system
muffet 2,495 18 days ago Fast website link checker in Go, see
overalls 114 almost 5 years ago Multi-Package go project coverprofile for tools like goveralls
roveralls 20 almost 7 years ago Recursive coverage testing tool
woodpecker 4,179 2 days ago Woodpecker is a community fork of the Drone CI system

Awesome Go / CSS Preprocessors

gcss 496 7 months ago Pure Go CSS Preprocessor
go-libsass 205 10 months ago Go wrapper to the 100% Sass compatible libsass project

Awesome Go / Data Integration Frameworks

Benthos 8,110 1 day ago A message streaming bridge between a range of protocols
CloudQuery A high-performance ELT data integration framework with pluggable architecture
omniparser 931 3 months ago A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema

Awesome Go / Data Structures and Algorithms / Bit-packing and Compression

bingo 40 4 months ago Fast, zero-allocation, lexicographical-order-preserving packing of native types to bytes
binpacker 220 about 3 years ago Binary packer and unpacker helps user build custom binary stream
bit 157 almost 2 years ago Golang set data structure with bonus bit-twiddling functions
crunch 96 over 1 year ago Go package implementing buffers for handling various datatypes easily
go-ef 31 4 months ago A Go implementation of the Elias-Fano encoding
roaring 2,475 25 days ago Go package implementing compressed bitsets

Awesome Go / Data Structures and Algorithms / Bit Sets

bitmap 304 11 months ago Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go
bitset 1,327 11 days ago Go package implementing bitsets

Awesome Go / Data Structures and Algorithms / Bloom and Cuckoo Filters

bloom 2,415 about 1 month ago Go package implementing Bloom filters
bloom 147 over 6 years ago Bloom filters implemented in Go
bloom 86 over 7 years ago Golang Bloom filter implementation
bloomfilter 17 2 months ago Yet another Bloomfilter implementation in Go, compatible with Java's Guava library
boomfilters 1,592 over 3 years ago Probabilistic data structures for processing continuous, unbounded streams
cuckoo-filter 294 about 1 year ago Cuckoo filter: a comprehensive cuckoo filter, which is configurable and space optimized compared with other implements, and all features mentioned in original paper are available
cuckoofilter 1,116 3 months ago Cuckoo filter: a good alternative to a counting bloom filter implemented in Go
ring 138 about 4 years ago Go implementation of a high performance, thread safe bloom filter

Awesome Go / Data Structures and Algorithms / Data Structure and Algorithm Collections

algorithms 803 over 3 years ago Algorithms and data structures.CLRS study
go-datastructures 7,647 5 months ago Collection of useful, performant, and thread-safe data structures
gods 16,195 about 2 months ago Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc
gostl 1,044 2 months ago Data structure and algorithm library for go, designed to provide functions similar to C++ STL

Awesome Go / Data Structures and Algorithms / Iterators

goterator 16 3 months ago Iterator implementation to provide map and reduce functionalities
iter 185 over 2 years ago Go implementation of C++ STL iterators and algorithms

Awesome Go / Data Structures and Algorithms / Maps

cmap 91 11 months ago a thread-safe concurrent map for go, support using as key and auto scale up shards
dict 45 almost 4 years ago Python-like dictionaries (dict) for Go
go-shelve 5 19 days ago A persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores
goradd/maps 39 about 1 year ago Go 1.18+ generic map interface for maps; safe maps; ordered maps; ordered, safe maps; etc

Awesome Go / Data Structures and Algorithms / Miscellaneous Data Structures and Algorithms

concurrent-writer 54 almost 7 years ago Highly concurrent drop-in replacement for
conjungo 127 over 1 year ago A small, powerful and flexible merge library
count-min-log 66 over 7 years ago Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory)
fsm 63 over 1 year ago Finite-State Machine package
genfuncs 51 about 2 years ago Go 1.18+ generics package inspired by Kotlin's Sequence and Map
go-generics 73 about 2 months ago Generic slice, map, set, iterator, and goroutine utilities
go-geoindex 355 over 6 years ago In-memory geo index
go-rampart 100 4 months ago Determine how intervals relate to each other
go-rquad 134 over 2 years ago Region quadtrees with efficient point location and neighbour finding
go-tuple 81 about 1 year ago Generic tuple implementation for Go 1.18+
go18ds 45 about 1 year ago Go Data Structures using Go 1.18 generics
gofal 18 about 5 years ago fractional api for Go
gogu 97 over 1 year ago A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library
gota 3,038 about 1 year ago Implementation of dataframes, series, and data wrangling methods for Go
hide 69 almost 3 years ago ID type with marshalling to/from hash to prevent sending IDs to clients
hilbert 278 about 2 years ago Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves
hyperloglog 940 about 2 months ago HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction
quadtree 36 about 1 year ago Generic, zero-alloc, 100%-test covered quadtree
slices 17 almost 4 years ago Functions that operate on slices; like but adapted to work with slices
slices 20 over 2 years ago Pure, generic functions for slices

Awesome Go / Data Structures and Algorithms / Nullable Types

nan 85 over 1 year ago Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers
null 36 almost 3 years ago Nullable Go types that can be marshalled/unmarshalled to/from JSON
typ 46 almost 3 years ago Null Types, Safe primitive type conversion and fetching value from complex structures

Awesome Go / Data Structures and Algorithms / Queues

deque 179 about 1 year ago A highly optimized double-ended queue
deque 568 over 1 year ago Fast ring-buffer deque (double-ended queue)
goconcurrentqueue 392 over 1 year ago Concurrent FIFO queue
hatchet 4,137 about 17 hours ago Distributed, Fault-tolerant task queue
memlog 117 2 months ago An easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka
queue 267 3 months ago Multiple thread-safe, generic queue implementations for Go

Awesome Go / Data Structures and Algorithms / Sets

dsu 14 over 2 years ago Disjoint Set data structure implementation in Go
golang-set 4,146 2 months ago Thread-Safe and Non-Thread-Safe high-performance sets for Go
goset 52 almost 4 years ago A useful Set collection implementation for Go
set 27 about 2 years ago Simple set data structure implementation in Go using LinkedHashMap

Awesome Go / Data Structures and Algorithms / Text Analysis

bleve 10,017 16 days ago Modern text indexing library for go
go-adaptive-radix-tree 359 6 months ago Go implementation of Adaptive Radix Tree
go-edlib 475 over 2 years ago Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode
levenshtein 85 almost 4 years ago Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix
levenshtein 349 18 days ago Implementation to calculate levenshtein distance in Go
mspm 25 over 6 years ago Multi-String Pattern Matching Algorithm for information retrieval
parsefields 8 over 5 years ago Tools for parse JSON-like logs for collecting unique fields and events
ptrie 39 6 months ago An implementation of prefix tree
trie 757 26 days ago Trie implementation in Go

Awesome Go / Data Structures and Algorithms / Trees

hashsplit Split byte streams into chunks, and arrange chunks into trees, with boundaries determined by content, not position
merkle 17 3 months ago Space-efficient computation of Merkle root hashes and inclusion proofs
skiplist 276 over 1 year ago Very fast Go Skiplist implementation
skiplist 84 almost 10 years ago Skiplist implementation in Go
treap 27 almost 5 years ago Persistent, fast ordered map using tree heaps
treemap 59 over 2 years ago Generic key-sorted map using a red-black tree under the hood

Awesome Go / Data Structures and Algorithms / Pipes

ordered-concurrently 38 over 1 year ago Go module that processes work concurrently and returns output in a channel in the order of input
parapipe 31 over 3 years ago FIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results
pipeline 57 almost 3 years ago An implementation of pipelines with fan-in and fan-out

Awesome Go / Database / Caches

2q 40 over 1 year ago 2Q in-memory cache implementation
bcache 151 over 1 year ago Eventually consistent distributed in-memory cache Go library
BigCache 7,492 2 months ago Efficient key/value cache for gigabytes of data
cache 184 almost 2 years ago In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage
cache2go 2,114 3 months ago In-memory key:value cache which supports automatic invalidation based on timeouts
cachego 368 6 months ago Golang Cache component for multiple drivers
clusteredBigCache 45 over 6 years ago BigCache with clustering support and individual item expiration
coherence-go-client 10 11 days ago Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport
couchcache 63 4 months ago RESTful caching micro-service backed by Couchbase server
EchoVault 391 14 days ago Embeddable Distributed in-memory data store compatible with Redis clients
fastcache 2,110 3 months ago fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead
GCache 2,586 8 months ago Cache library with support for expirable Cache, LFU, LRU and ARC
gdcache 13 almost 3 years ago A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache
go-cache 138 about 1 year ago A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern
go-freelru 147 22 days ago A GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration
go-mcache 97 over 4 years ago Fast in-memory key:value store/cache library. Pointer caches
gocache 2,434 3 months ago A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more
gocache 8 24 days ago A data race free Go ache library with high performance and auto pruge functionality
groupcache 12,896 11 months ago Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases
icache 16 4 months ago A High Performance, Generic, thread-safe, zero-dependency cache package
imcache 122 about 1 month ago A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding
nscache 10 11 days ago A Go caching framework that supports multiple data source drivers
otter 1,662 10 days ago A high performance lockless cache for Go. Many times faster than Ristretto and friends
remember-go 139 over 3 years ago A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory)
sturdyc 278 11 days ago A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant
theine 254 10 days ago High performance, near optimal in-memory cache with proactive TTL expiration and generics
timedmap 71 5 months ago Map with expiring key-value pairs
ttlcache 928 19 days ago An in-memory cache with item expiration and generics
ttlcache 9 about 2 years ago In-memory key value storage with TTL for each record

Awesome Go / Database / Databases Implemented in Go

badger 13,833 11 days ago Fast key-value store in Go
bbolt 8,169 12 days ago An embedded key/value database for Go
Bitcask Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL)
buntdb 4,541 about 1 month ago Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support
clover 676 21 days ago A lightweight document-oriented NoSQL database written in pure Golang
cockroach 29,954 12 days ago Scalable, Geo-Replicated, Transactional Datastore
Coffer 38 over 1 year ago Simple ACID key-value database that supports transactions
column 1,427 9 months ago High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions
CovenantSQL 1,493 over 1 year ago CovenantSQL is a SQL database on blockchain
Databunker 1,248 26 days ago Personally identifiable information (PII) storage service built to comply with GDPR and CCPA
dgraph 20,345 12 days ago Scalable, Distributed, Low Latency, High Throughput Graph Database
diskv 1,400 almost 3 years ago Home-grown disk-backed key-value store
dolt 17,805 9 days ago Dolt – It's Git for Data
dtf 211 over 2 years ago A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages
eliasdb 998 about 2 years ago Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language
godis 3,468 26 days ago A Golang implemented high-performance Redis server and cluster
goleveldb 6,141 5 months ago Implementation of the key/value database in Go
hare 93 over 3 years ago A simple database management system that stores each table as a text file of line-delimited JSON
immudb 8,570 23 days ago immudb is a lightweight, high-speed immutable database for systems and applications written in Go
influxdb 28,713 10 days ago Scalable datastore for metrics, events, and real-time analytics
ledisdb 4,097 12 months ago Ledisdb is a high performance NoSQL like Redis based on LevelDB
levigo 414 over 2 years ago Levigo is a Go wrapper for LevelDB
libradb 168 6 months ago LibraDB is a simple database with less than 1000 lines of code for learning
LinDB 2,997 13 days ago LinDB is a scalable, high performance, high availability distributed time series database
lotusdb 2,050 about 2 months ago Fast k/v database compatible with lsm and b+tree
Milvus 29,730 12 days ago Milvus is a vector database for embedding management, analytics and search
moss 953 over 2 years ago Moss is a simple LSM key-value storage engine written in 100% Go
nutsdb 3,376 3 months ago Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set
objectbox-go 1,096 about 1 month ago High-performance embedded Object Database (NoSQL) with Go API
pebble 4,809 10 days ago RocksDB/LevelDB inspired key-value database in Go
piladb 206 almost 4 years ago Lightweight RESTful database engine based on stack data structures
pogreb 1,298 2 months ago Embedded key-value store for read-heavy workloads
prometheus 55,095 10 days ago Monitoring system and time series database
pudge 368 over 3 years ago Fast and simple key/value store written using Go's standard library
rosedb 4,580 3 days ago An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset
rotom 40 14 days ago A tiny Redis server built with Golang, compatible with RESP protocols
rqlite 15,617 12 days ago The lightweight, distributed, relational database built on SQLite
tempdb 19 over 6 years ago Key-value store for temporary items
tidb 36,985 12 days ago TiDB is a distributed SQL database. Inspired by the design of Google F1
tiedot 2,721 about 3 years ago Your NoSQL database powered by Golang
unitdb 119 over 1 year ago Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application
Vasto 260 over 5 years ago A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption
VictoriaMetrics 12,018 12 days ago fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL

Awesome Go / Database / Database Schema Migration

atlas 5,765 9 days ago A Database Toolkit. A CLI designed to help companies better work with their data
avro 45 3 months ago Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes
bytebase 11,186 10 days ago Safe database schema change and version control for DevOps teams
darwin 144 over 1 year ago Database schema evolution library for Go
dbmate 5,289 26 days ago A lightweight, framework-agnostic database migration tool
go-fixtures 29 almost 5 years ago Django style fixtures for Golang's excellent built-in database/sql library
go-pg-migrate 10 about 1 year ago CLI-friendly package for go-pg migrations management
go-pg-migrations 84 over 1 year ago A Go package to help write migrations with go-pg/pg
goavro 974 5 months ago A Go package that encodes and decodes Avro data
godfish 7 3 months ago Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3
goose 6,780 15 days ago Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts
gorm-seeder 13 almost 2 years ago Simple database seeder for Gorm ORM
gormigrate 1,037 20 days ago Database schema migration helper for Gorm ORM
libschema 15 9 days ago Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL
migrate 15,151 19 days ago Database migrations. CLI and Golang library
migrator 170 7 months ago Dead simple Go database migration library
migrator 25 about 2 years ago MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code
schema 33 about 1 month ago Library to embed schema migrations for database/sql-compatible databases inside your Go binaries
skeema 1,264 16 days ago Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools
soda 1,435 4 months ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
sql-migrate 3,193 3 months ago Database migration tool. Allows embedding migrations into the application using go-bindata
sqlize 96 10 days ago Database migration generator. Allows generate sql migration from model and existing sql by differ them

Awesome Go / Database / Database Tools

chproxy 1,276 11 days ago HTTP proxy for ClickHouse database
clickhouse-bulk 474 9 months ago Collects small inserts and sends big requests to ClickHouse servers
dbbench 100 11 days ago Database benchmarking tool with support for several databases and scripts
dg 29 about 2 months ago A fast data generator that produces CSV files from generated relational data
dynago 12 about 1 year ago Simplify working with AWS DynamoDB
gatewayd 217 10 days ago Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases
go-mysql 4,580 16 days ago Go toolset to handle MySQL protocol and replication
gorm-multitenancy 39 12 days ago Multi-tenancy support for GORM managed databases
hasql Library for accessing multi-host SQL database installations
octillery 192 11 months ago Go package for sharding databases ( Supports every ORM or raw SQL )
onedump 89 2 months ago Database backup from different drivers to different destinations with one command and configuration
pg_timetable 1,085 16 days ago Advanced scheduling for PostgreSQL
pgweb 8,580 22 days ago Web-based PostgreSQL database browser
prep 33 almost 7 years ago Use prepared SQL statements without changing your code
pREST 4,204 about 1 month ago Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
rdb 385 about 2 months ago Redis RDB file parser for secondary development and memory analysis
rwdb 19 almost 7 years ago rwdb provides read replica capability for multiple database servers setup
vitess 18,479 10 days ago vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services
wescale 199 12 days ago WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications

Awesome Go / Database / SQL Query Builders

bqb 147 6 months ago Lightweight and easy to learn query builder
buildsqlx 170 6 months ago Go database query builder library for PostgreSQL
builq 89 6 months ago Easily build SQL queries in Go
dbq 404 over 3 years ago Zero boilerplate database operations for Go
Dotsql 737 11 months ago Go library that helps you keep sql files in one place and use them with ease
gendry 1,616 3 months ago Non-invasive SQL builder and powerful data binder
godbal 59 over 5 years ago Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily
goqu 2,370 5 months ago Idiomatic SQL builder and query library
gosql 32 over 2 years ago SQL Query builder with better null values support
Hotcoal 19 10 months ago Secure your handcrafted SQL against injection
igor 125 6 months ago Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax
jet 2,515 16 days ago Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure
ormlite 14 over 1 year ago Lightweight package containing some ORM-like features and helpers for sqlite databases
ozzo-dbx 634 over 1 year ago Powerful data retrieval methods as well as DB-agnostic query building capabilities
qry 35 8 months ago Tool that generates constants from files with raw SQL queries
sg 6 over 2 years ago A SQL Gen for generating standard SQLs(supports: CRUD) written in Go
sq 196 over 1 year ago Type-safe SQL builder and struct mapper for Go
sqlc 12,476 10 days ago Generate type-safe code from SQL
sqlf 143 over 1 year ago Fast SQL query builder
sqlingo 406 about 1 month ago A lightweight DSL to build SQL in Go
sqrl 275 over 1 year ago SQL query builder, fork of Squirrel with improved performance
Squalus Thin layer over the Go SQL package that makes it easier to perform queries
Squirrel 6,878 6 months ago Go library that helps you build SQL queries
xo 3,715 4 months ago Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server

Awesome Go / Database Drivers / Interfaces to Multiple Backends

cayley 14,842 3 months ago Graph database with support for multiple backends
dsc 33 5 months ago Datastore connectivity for SQL, NoSQL, structured files
dynamo 18 8 months ago A simple key-value abstraction to store algebraic and linked-data data types at AWS storage services: AWS DynamoDB and AWS S3
go-transaction-manager 225 about 1 month ago Transaction manager with multiple adapters (sql, sqlx, gorm, mongo, ...) controls transaction boundaries
gokv 735 4 months ago Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)

Awesome Go / Database Drivers / Relational Database Drivers

avatica 118 6 months ago Apache Avatica/Phoenix SQL driver for database/sql
bgc 21 7 months ago Datastore Connectivity for BigQuery for go
firebirdsql 227 2 months ago Firebird RDBMS SQL driver for Go
go-adodb 142 over 2 years ago Microsoft ActiveX Object DataBase driver for go that uses database/sql
go-mssqldb 1,816 6 months ago Microsoft MSSQL driver for Go
go-oci8 630 12 months ago Oracle driver for go that uses database/sql
go-sql-driver/mysql 14,479 about 1 month ago MySQL driver for Go
go-sqlite3 7,901 about 1 month ago SQLite3 driver for go that uses database/sql
godror 527 12 days ago Oracle driver for Go, using the ODPI-C driver
gofreetds 113 almost 4 years ago Microsoft MSSQL driver. Go wrapper over
KSQL 306 about 2 months ago A Simple and Powerful Golang SQL Library
pgx 10,464 18 days ago PostgreSQL driver supporting features beyond those exposed by database/sql
pig 16 over 3 years ago Simple wrapper to execute and query results easily
pq 9,037 2 months ago Pure Go Postgres driver for database/sql
Sqinn-Go 420 9 months ago SQLite with pure Go
sqlhooks 650 4 months ago Attach hooks to any database/sql driver
surrealdb.go 237 10 days ago SurrealDB Driver for Go
ydb-go-sdk 138 10 days ago native and database/sql driver YDB (Yandex Database)

Awesome Go / Database Drivers / NoSQL Database Drivers

aerospike-client-go 432 19 days ago Aerospike client in Go language
arangolite 73 over 3 years ago Lightweight golang driver for ArangoDB
asc 10 22 days ago Datastore Connectivity for Aerospike for go
forestdb 37 almost 8 years ago Go bindings for ForestDB
go-couchbase 321 9 months ago Couchbase client in Go
go-mongox 121 about 1 month ago A Go Mongo library based on the official driver, featuring streamlined document operations, generic binding of structs to collections, built-in CRUD, aggregation, automated field updates, struct validation, hooks, and plugin-based programming
go-pilosa 58 about 2 years ago Go client library for Pilosa
go-rejson 343 9 months ago Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease
gocb 368 17 days ago Official Couchbase Go SDK
gocosmos 22 about 2 months ago REST client and standard driver for Azure Cosmos DB
gocql Go language driver for Apache Cassandra
godis 111 over 4 years ago redis client implement by golang, inspired by jedis
godscache 11 over 5 years ago A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached
gomemcache 1,748 2 months ago memcache client library for the Go programming language
gomemcached 19 8 months ago A binary Memcached client for Go with support for sharding using consistent hashing, along with SASL
gorethink 1,648 about 1 year ago Go language driver for RethinkDB
goriak 30 about 3 years ago Go language driver for Riak KV
Kivik 312 about 1 month ago Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases
mgm 747 10 months ago MongoDB model-based ODM for Go (based on official MongoDB driver)
mgo 1,971 almost 3 years ago (unmaintained) MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms
mongo-go-driver 8,118 10 days ago Official MongoDB driver for the Go language
neo4j 28 over 9 years ago Neo4j Rest API Bindings for Golang
Neo4j-GO 78 over 6 years ago Neo4j REST Client in golang
neoism 390 over 4 years ago Neo4j client for Golang
qmgo 1,300 about 1 year ago The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo
redeo 438 over 1 year ago Redis-protocol compatible TCP servers/services
redigo 9,745 5 months ago Redigo is a Go client for the Redis database
redis 19,974 3 days ago Redis client for Golang
rueidis Fast Redis RESP3 client with auto pipelining and server-assisted client side caching
xredis 19 over 5 years ago Typesafe, customizable, clean & easy to use Redis client

Awesome Go / Database Drivers / Search and Analytic Databases

clickhouse-go 2,877 9 days ago ClickHouse SQL client for Go with a compatibility
effdsl 25 19 days ago Elasticsearch query builder for Go
elastic 7,400 2 months ago Elasticsearch client for Go
elasticsql 1,166 about 1 year ago Convert sql to elasticsearch dsl in Go
elastigo 942 over 5 years ago Elasticsearch client library
go-elasticsearch 5,651 25 days ago Official Elasticsearch client for Go
goes 31 almost 4 years ago Library to interact with Elasticsearch
skizze 89 over 8 years ago probabilistic data-structures service and storage

Awesome Go / Date and Time

approx 12 15 days ago A Duration extension supporting parsing/printing durations in days, weeks and years
carbon 4,704 13 days ago A simple, semantic and developer-friendly golang package for datetime
carbon 774 9 months ago Simple Time extension with a lot of util methods, ported from PHP Carbon library
cronrange 18 about 2 years ago Parses Cron-style time range expressions, checks if the given time is within any ranges
date 131 3 months ago Augments Time for working with dates, date ranges, time spans, periods, and time-of-day
dateparse 2,037 10 months ago Parse date's without knowing format in advance
durafmt 494 over 3 years ago Time duration formatting library for Go
feiertage 48 7 months ago Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving
go-anytime 20 over 1 year ago Parse dates/times like "next dec 22nd at 3pm" and ranges like "from today until next thursday" without knowing the format in advance
go-datebin 4 4 months ago A simple datetime parse pkg
go-persian-calendar 204 about 2 months ago The implementation of the Persian (Solar Hijri) Calendar in Go (golang)
go-str2duration 101 12 months ago Convert string to duration. Support time.Duration returned string and more
go-sunrise 145 6 months ago Calculate the sunrise and sunset times for a given location
go-week 9 almost 3 years ago An efficient package to work with ISO8601 week dates
gostradamus 202 10 months ago A Go package for working with dates
iso8601 144 19 days ago Efficiently parse ISO8601 date-times without regex
kair 24 over 4 years ago Date and Time - Golang Formatting Library
now 4,428 over 1 year ago Now is a time toolkit for golang
strftime 12 over 6 years ago C99-compatible strftime formatter
timespan 83 over 5 years ago For interacting with intervals of time, defined as a start time and a duration
timeutil 192 over 5 years ago Useful extensions (Timedelta, Strftime, ...) to the golang's time package
tuesday 12 over 3 years ago Ruby-compatible Strftime function

Awesome Go / Distributed Systems

arpc 951 2 months ago More effective network communication, support two-way-calling, notify, broadcast
bedrock 6 11 days ago Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go
capillaries 61 20 days ago distributed batch data processing framework
celeriac 72 3 months ago Library for adding support for interacting and monitoring Celery workers, tasks and events in Go
consistent 690 11 months ago Consistent hashing with bounded loads
consistenthash 27 6 months ago Consistent hashing with configurable replicas
dht 310 12 days ago BitTorrent Kademlia DHT implementation
digota 508 over 3 years ago grpc ecommerce microservice
dot 87 about 5 years ago distributed sync using operational transformation/OT
doublejump 102 almost 2 years ago A revamped Google's jump consistent hash
dragonboat 5,061 3 months ago A feature complete and high performance multi-group Raft library in Go
Dragonfly 2,218 11 days ago Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures
drmaa 48 3 months ago Job submission library for cluster schedulers based on the DRMAA standard
dynamolock DynamoDB-backed distributed locking implementation
dynatomic 17 almost 4 years ago A library for using DynamoDB as an atomic counter
emitter-io 3,834 13 days ago High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love
evans 4,247 10 months ago Evans: more expressive universal gRPC client
failured 12 about 3 years ago adaptive accrual failure detector for distributed systems
flowgraph 59 over 3 years ago flow-based programming package
gleam 3,440 4 months ago Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed
glow 3,201 almost 6 years ago Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go
gmsec 25 9 months ago A Go distributed systems development framework
go-doudou 1,431 14 days ago A gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. Built-in go-doudou cli focusing on low-code and rapid dev can power up your productivity
go-health 747 10 months ago Library for enabling asynchronous dependency health checks in your service
go-jump 383 almost 3 years ago Port of Google's "Jump" Consistent Hash function
go-kit 26,527 3 months ago Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc
go-micro 21,874 about 2 months ago A distributed systems development framework
go-mysql-lock 61 5 months ago MySQL based distributed lock
go-pdu 47 3 months ago A decentralized identity-based social network
go-sundheit 535 3 months ago A library built to provide support for defining async service health checks for golang services
go-zero 28,997 19 days ago A web and rpc framework. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity
gorpc 696 about 2 years ago Simple, fast and scalable RPC library for high load
grpc-go 20,947 9 days ago The Go language implementation of gRPC. HTTP/2 based RPC
hprose 1,260 8 months ago Very newbility RPC Library, support 25+ languages now
jsonrpc 188 over 1 year ago The jsonrpc package helps implement of JSON-RPC 2.0
jsonrpc 326 2 months ago JSON-RPC 2.0 HTTP client implementation
K8gb 864 11 days ago A cloud native Kubernetes Global Balancer
Kitex 6,952 15 days ago A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices. If the performance and extensibility are the main concerns when you develop microservices, Kitex can be a good choice
Kratos 23,179 25 days ago A modular-designed and easy-to-use microservices framework in Go
liftbridge 2,569 6 months ago Lightweight, fault-tolerant message streams for NATS
lura 6,323 5 days ago Ultra performant API Gateway framework with middlewares
micro 12,101 25 days ago A distributed systems runtime for the cloud and beyond
mochi mqtt 1,219 2 months ago Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub
NATS 15,666 10 days ago Lightweight, high performance messaging system for microservices, IoT, and cloud native systems
outboxer 157 12 days ago Outboxer is a go library that implements the outbox pattern
pglock PostgreSQL-backed distributed locking implementation
pjrpc Golang JSON-RPC Server-Client with Protobuf spec
raft 8,178 18 days ago Golang implementation of the Raft consensus protocol, by HashiCorp
raft 640 10 days ago Go implementation of the Raft consensus protocol, by CoreOS
rain 965 17 days ago BitTorrent client and library
redis-lock 1,439 7 months ago Simplified distributed locking implementation using Redis
resgate Realtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly
ringpop-go 827 about 1 year ago Scalable, fault-tolerant application-layer sharding for Go applications
rpcx 8,088 25 days ago Distributed pluggable RPC service framework like alibaba Dubbo
Semaphore 94 over 1 year ago A straightforward (micro) service orchestrator
sleuth 373 over 1 year ago Library for master-less p2p auto-discovery and RPC between HTTP services (using )
sponge 1,300 12 days ago A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks
Tarmac 327 12 days ago Framework for writing functions, microservices, or monoliths with WebAssembly
Temporal 522 11 days ago Durable execution system for making code fault-tolerant and simple
torrent 5,506 11 days ago BitTorrent client package
trpc-go 807 4 months ago The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework

Awesome Go / Dynamic DNS

DDNS 253 4 months ago Personal DDNS client with Digital Ocean Networking DNS as backend
dyndns Background Go process to regularly and automatically check your IP Address and make updates to (one or many) Dynamic DNS records for Google domains whenever your address changes
GoDNS 1,503 24 days ago A dynamic DNS client tool, supports DNSPod & HE.net, written in Go

Awesome Go / Email

chasquid SMTP server written in Go
douceur 246 about 2 years ago CSS inliner for your HTML emails
email 2,648 8 months ago A robust and flexible email library for Go
email-verifier 1,187 about 1 month ago A Go library for email verification without sending any emails
go-dkim 98 9 months ago DKIM library, to sign & verify email
go-email-normalizer 63 about 1 month ago Golang library for providing a canonical representation of email address
go-email-validator 51 about 1 year ago Modular email validator for syntax, disposable, smtp, etc... checking
go-imap 2,073 14 days ago IMAP library for clients and servers
go-mail 587 10 days ago A simple Go library for sending mails in Go
go-message 382 14 days ago Streaming library for the Internet Message Format and mail messages
go-premailer 139 12 days ago Inline styling for HTML mail in Go
go-simple-mail 644 3 months ago Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send
Hectane 225 almost 4 years ago Lightweight SMTP client providing an HTTP API
hermes 2,819 about 1 year ago Golang package that generates clean, responsive HTML e-mails
Maddy 5,032 about 1 month ago All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server
mailchain 143 over 2 years ago Send encrypted emails to blockchain addresses written in Go
mailgun-go 695 16 days ago Go library for sending mail with the Mailgun API
MailHog 13,928 8 months ago Email and SMTP testing with web and API interface
Mailpit 5,463 10 days ago Email and SMTP testing tool for developers
mailx 19 4 months ago Mailx is a library that makes it easier to send email via SMTP. It is an enhancement of the golang standard library
mox 3,559 6 days ago Modern full-featured secure mail server for low-maintenance, self-hosted email
SendGrid 981 16 days ago SendGrid's Go library for sending email
smtp 74 almost 3 years ago SMTP server protocol state machine
smtpmock 123 2 months ago Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment
truemail-go 101 about 1 month ago Configurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more

Awesome Go / Embeddable Scripting Languages

anko 1,467 10 months ago Scriptable interpreter written in Go
binder 75 over 2 years ago Go to Lua binding library, based on
cel-go 2,218 11 days ago Fast, portable, non-Turing complete expression evaluation with gradual typing
ecal 41 over 3 years ago A simple embeddable scripting language which supports concurrent event processing
expr 6,155 24 days ago Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing
gentee 132 10 months ago Embeddable scripting programming language
gisp 513 about 7 years ago Simple LISP in Go
go-duktape 777 almost 3 years ago Duktape JavaScript engine bindings for Go
go-lua 3,088 5 months ago Port of the Lua 5.2 VM to pure Go
go-php 928 almost 3 years ago PHP bindings for Go
go-python 1,523 about 1 year ago naive go bindings to the CPython C-API
goal An embeddable scripting array language
goja 5,489 15 days ago ECMAScript 5.1(+) implementation in Go
golua 640 16 days ago Go bindings for Lua C API
gopher-lua 6,225 2 months ago Lua 5.1 VM and compiler written in Go
gval 731 5 months ago A highly customizable expression language written in Go
metacall 1,559 17 days ago Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more
ngaro 28 over 6 years ago Embeddable Ngaro VM implementation enabling scripting in Retro
prolog 610 10 days ago Embeddable Prolog
purl 41 almost 10 years ago Perl 5.18.2 embedded in Go
starlark-go 2,314 17 days ago Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution
starlet 17 2 months ago Go wrapper for that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions
tengo 3,522 6 months ago Bytecode compiled script language for Go
Wa/凹语言 1,089 10 days ago The Wa Programming Language embedded in Go

Awesome Go / Error Handling

emperror 341 about 4 years ago Error handling tools and best practices for Go libraries and applications
eris 1,490 over 1 year ago A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors
errlog 459 over 1 year ago Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place
errors 196 over 2 years ago Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives
errors 6 about 5 years ago Simple golang error handling with classification primitives
errors 7 over 2 years ago The most simple error wrapper with awesome performance and minimal memory overhead
errors Providing errors with a stack trace and optional structured details. Compatible with github.com/pkg/errors API but does not use it internally
errors 66 1 day ago Drop-in replacement for builtin Go errors. This is a minimal error handling package with custom error types, user friendly messages, Unwrap & Is. With very easy to use and straightforward helper functions
errors 2,086 about 2 months ago Go error library with error portability over the network
errorx 1,122 over 1 year ago A feature rich error package with stack traces, composition of errors and more
exception 31 almost 2 years ago A simple utility package for exception handling with try-catch in Golang
Falcon 11 about 5 years ago A Simple Yet Highly Powerful Package For Error Handling
Fault 159 9 months ago An ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values
go-multierror 2,312 16 days ago Go (golang) package for representing a list of errors as a single error
multierr 1,012 6 months ago Package for representing a list of errors as a single error
oops 404 about 2 months ago Error handling with context, stack trace and source fragments
tracerr 980 5 months ago Golang errors with stack trace and source fragments

Awesome Go / File Handling

afero 5,920 3 months ago FileSystem Abstraction System for Go
afs 302 6 months ago Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go
baraka 55 about 2 years ago A library to process http file uploads easily
bigfile 252 over 1 year ago A file transfer system, support to manage files with http api, rpc call and ftp client
checksum 104 10 months ago Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files
copy 716 11 days ago Copy directory recursively
flop 33 almost 3 years ago File operations library which aims to mirror feature parity with
gdu 3,868 about 1 month ago Disk usage analyzer with console interface
go-csv-tag 121 5 months ago Load csv file using tag
go-decent-copy 22 almost 5 years ago Copy files for humans
go-exiftool 248 3 months ago Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...)
go-gtfs 44 about 1 year ago Load gtfs files in go
go-wkhtmltopdf 1,047 3 months ago A package to convert an HTML template to a PDF file
gofs 465 11 days ago A cross-platform real-time file synchronization tool out of the box
gut/yos 27 almost 4 years ago Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links
higgs 24 over 2 years ago A tiny cross-platform Go library to hide/unhide files and directories
iso9660 260 9 months ago A package for reading and creating ISO9660 disk images
notify 906 8 months ago File system event notification library with simple API, similar to os/signal
opc 75 11 months ago Load Open Packaging Conventions (OPC) files for Go
parquet 105 19 days ago Read and write files
pathtype 13 about 3 years ago Treat paths as their own type instead of using strings
pdfcpu 6,813 13 days ago PDF processor
skywalker 100 about 3 years ago Package to allow one to concurrently go through a filesystem with ease
todotxt 23 about 1 year ago Go library for Gina Trapani's files, supports parsing and manipulating of task lists in the
vfs 300 26 days ago A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS

Awesome Go / Financial

accounting 877 about 2 years ago money and currency formatting for golang
ach 455 10 days ago A reader, writer, and validator for Automated Clearing House (ACH) files
bbgo 1,193 10 days ago A crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies
currency 537 6 months ago Handles currency amounts, provides currency information and formatting
currency 61 about 6 hours ago High performant & accurate currency computation package
decimal 6,298 2 months ago Arbitrary-precision fixed-point decimal numbers
decimal 72 about 1 month ago Immutable decimal numbers with panic-free arithmetic
fpdecimal 30 about 2 months ago Fast and precise serialization and arithmetic for small fixed-point decimals
fpmoney 29 about 1 month ago Fast and simple ISO4217 fixed-point decimal money
go-finance 173 almost 3 years ago Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations
go-finance 27 4 months ago Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers
go-finnhub 91 over 4 years ago Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges
go-money 1,646 3 months ago Implementation of Fowler's Money pattern
go-nowpayments 3 over 1 year ago Library for the crypto NOWPayments API
money 19 3 months ago Immutable monetary amounts and exchange rates with panic-free arithmetic
ofxgo 139 6 months ago Query OFX servers and/or parse the responses (with example command-line client)
orderbook 428 6 months ago Matching Engine for Limit Order Book in Golang
payme 85 2 months ago QR code generator (ASCII & PNG) for SEPA payments
sleet 140 8 months ago One unified interface for multiple Payment Service Providers (PsP) to process online payment
swift Offline validity check of IBAN (International Bank Account Number) and retrieval of BIC (for some countries)
techan 830 about 1 year ago Technical analysis library with advanced market analysis and trading strategies
ticker 4,953 about 1 month ago Terminal stock watcher and stock position tracker
transaction 134 8 months ago Embedded transactional database of accounts, running in multithreaded mode
vat 113 11 months ago VAT number validation & EU VAT rates

Awesome Go / Forms

bind 30 about 10 years ago Bind form data to any Go values
binding 795 over 6 years ago Binds form and JSON data from net/http Request to struct
checker 9 about 2 months ago Checker helps validating user input through rules defined in struct tags or directly through functions
conform 319 10 months ago Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags
form 758 5 months ago Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support
formam 189 almost 2 years ago decode form's values into a struct
forms 137 almost 2 years ago Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files
gbind 8 over 2 years ago Bind data to any Go value. Can use built-in and custom expression binding capabilities; supports data validation
gorilla/csrf 1,043 7 months ago CSRF protection for Go web applications & services
httpin 312 5 months ago Decode an HTTP request into a custom struct, including querystring, forms, HTTP headers, etc
nosurf 1,577 6 months ago CSRF protection middleware for Go
qs 76 7 months ago Go module for encoding structs into URL query parameters
queryparam 19 about 4 years ago Decode into usable struct values of standard or custom types

Awesome Go / Functional

fp-go 300 almost 2 years ago Collection of Functional Programming helpers powered by Golang 1.18+ generics
fpGo 346 11 months ago Monad, Functional Programming features for Golang
fuego 141 6 months ago Functional Experiment in Go
go-functional 430 17 days ago Functional programming in Go using generics
go-underscore 1,297 over 1 year ago Useful collection of helpfully functional Go collection utilities
gofp 145 over 3 years ago A lodash like powerful utility library for Golang
mo 2,605 about 1 month ago Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...)
underscore 109 about 1 month ago Functional programming helpers for Go 1.18 and beyond
valor 16 about 1 year ago Generic option and result types that optionally contain a value

Awesome Go / Game Development

Azul3D 615 almost 3 years ago 3D game engine written in Go
Ebitengine 10,858 10 days ago dead simple 2D game engine in Go
ecs 118 about 1 month ago Build your own Game-Engine based on the Entity Component System concept in Golang
engo 1,747 3 months ago Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm
fantasyname 33 about 2 months ago Fantasy names generator
g3n 2,773 2 months ago Go 3D Game Engine
go-astar 596 over 2 years ago Go implementation of the A* path finding algorithm
go-sdl2 2,210 13 days ago Go bindings for the
go3d 310 5 months ago Performance oriented 2D/3D math package for Go
gonet 1,261 3 months ago Game server skeleton implemented with golang
goworld 2,563 11 months ago Scalable game server engine, featuring space-entity framework and hot-swapping
grid 17 about 1 month ago Generic 2D grid with ray-casting, shadow-casting and path finding
Harfang3D 559 about 1 year ago 3D engine for the Go language, works on Windows and Linux ( )
Leaf 5,279 5 months ago Lightweight game server framework
nano 2,833 4 months ago Lightweight, facility, high performance golang based game server framework
Oak 1,545 3 months ago Pure Go game engine
Pitaya 2,328 about 2 months ago Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK
Pixel 4,457 5 months ago Hand-crafted 2D game library in Go
prototype 88 about 2 months ago Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API
raylib-go 1,566 12 days ago Go bindings for , a simple and easy-to-use library to learn videogames programming
termloop 1,426 2 months ago Terminal-based game engine for Go, built on top of Termbox
tile 153 10 months ago Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export

Awesome Go / Generators

convergen 38 about 1 month ago Feature rich type-to-type copy code generator
copygen 352 7 months ago Generate type-to-type and type-based code without reflection
generis 43 over 2 years ago Code generation tool providing generics, free-form macros, conditional compilation and HTML templating
go-enum 729 27 days ago Code generation for enums from code comments
go-linq 3,501 about 2 years ago .NET LINQ-like query methods for Go
goderive 1,232 4 months ago Derives functions from input types
goverter 500 29 days ago Generate converters by defining an interface
GoWrap 1,055 about 2 months ago Generate decorators for Go interfaces using simple templates
interfaces 421 about 1 month ago Command line tool for generating interface definitions
jennifer 3,311 about 1 month ago Generate arbitrary Go code without templates
oapi-codegen 6,091 12 days ago This package contains a set of utilities for generating Go boilerplate code for services based on OpenAPI 3.0 API definitions
typeregistry 23 over 4 years ago A library to create type dynamically

Awesome Go / Geographic

geoos 615 3 months ago A library provides spatial data and geometric algorithms
geoserver 88 over 1 year ago geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API
gismanager 55 almost 6 years ago Publish Your GIS Data(Vector Data) to PostGIS and Geoserver
godal 130 11 days ago Go wrapper for GDAL
H3 303 about 1 month ago Go bindings for H3, a hierarchical hexagonal geospatial indexing system
H3 GeoJSON 3 over 2 years ago Conversion utilities between H3 indexes and GeoJSON
H3GeoDist 2 over 2 years ago Distribution of Uber H3geo cells by virtual nodes
mbtileserver 645 10 days ago A simple Go-based server for map tiles stored in mbtiles format
osm 372 5 months ago Library for reading, writing and working with OpenStreetMap data and APIs
pbf 48 about 2 years ago OpenStreetMap PBF golang encoder/decoder
S2 geojson 28 about 2 months ago Convert geojson to s2 cells & demonstrating some S2 geometry features on map
S2 geometry 1,678 about 2 months ago S2 geometry library in Go
simplefeatures 130 9 days ago simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them
Tile38 9,087 13 days ago Geolocation DB with spatial index and realtime geofencing
Web-Mercator-Projection 9 over 2 years ago A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection
WGS84 125 3 months ago Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)

Awesome Go / Go Compilers

c2go 307 5 months ago Convert C code to Go code
c4go 364 23 days ago Transpile C code to Go code
esp32 84 2 months ago Transpile Go into Arduino code
f4go 45 about 1 year ago Transpile FORTRAN 77 code to Go code
gopherjs 12,676 10 days ago Compiler from Go to JavaScript
tardisgo 432 almost 8 years ago Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler

Awesome Go / Goroutines

ants 12,782 16 days ago A high-performance and low-cost goroutine pool in Go
artifex 200 3 months ago Simple in-memory job queue for Golang using worker-based dispatching
async 4 7 months ago An asynchronous task package with async/await style for Go
async 216 about 1 month ago An alternative sync library for Go (Future, Promise, Locks)
async 137 almost 4 years ago A safe way to execute functions asynchronously, recovering them in case of panic
async-job 10 over 2 years ago AsyncJob is an asynchronous queue job manager with light code, clear and speed
breaker 18 over 3 years ago Flexible mechanism to make execution flow interruptible
channelify 31 over 3 years ago Transform your function to return channels for easy and powerful parallel processing
conc 8,952 6 months ago is your toolbelt for structured concurrency in go, making common tasks easier and safer
concurrency-limiter 17 almost 2 years ago Concurrency limiter with support for timeouts, dynamic priority and context cancellation of goroutines
conexec 16 over 4 years ago A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency
cyclicbarrier 142 over 4 years ago CyclicBarrier for golang
execpool 22 over 3 years ago A pool built around exec.Cmd that spins up a given number of processes in advance and attaches stdin and stdout to them when needed. Very similar to FastCGI or Apache Prefork MPM but works for any command
flowmatic 362 12 days ago Structured concurrency made easy
go-accumulator 7 2 months ago Solution for accumulation of events and their subsequent processing
go-actor 144 about 2 months ago A tiny library for writing concurrent programs using actor model
go-floc 269 about 3 years ago Orchestrate goroutines with ease
go-flow 220 over 5 years ago Control goroutines execution order
go-tools/multithreading 15 over 5 years ago Manage a pool of goroutines using this lightweight library with a simple API
go-trylock 35 over 3 years ago TryLock support on read-write lock for Golang
go-waitgroup 48 4 months ago Like with error handling and concurrency control
go-workerpool 12 about 2 years ago Inspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines
go-workers 164 over 2 years ago Easily and safely run workers for large data processing pipelines
goccm 70 over 1 year ago Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently
gohive 52 11 months ago A highly performant and easy to use Goroutine pool for Go
gollback 124 over 1 year ago asynchronous simple function utilities, for managing execution of closures and callbacks
gowl 69 12 months ago Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status
goworker 2,794 about 2 years ago goworker is a Go-based background worker
gowp 499 14 days ago gowp is concurrency limiting goroutine pool
gpool 90 almost 5 years ago manages a resizeable pool of context-aware goroutines to bound concurrency
grpool 746 over 5 years ago Lightweight Goroutine pool
hands 10 over 2 years ago A process controller used to control the execution and return strategies of multiple goroutines
Hunch 103 over 2 years ago Hunch provides functions like: , , , etc., that makes asynchronous flow control more intuitive
kyoo 51 over 1 year ago Provides an unlimited job queue and concurrent worker pools
neilotoole/errgroup 160 almost 2 years ago Drop-in alternative to , limited to a pool of N worker goroutines
nursery 65 over 3 years ago Structured concurrency in Go
oversight Oversight is a complete implementation of the Erlang supervision trees
parallel-fn 36 almost 7 years ago Run functions in parallel
pond 1,471 13 days ago Minimalistic and High-performance goroutine worker pool written in Go
pool 726 over 3 years ago Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation
rill 497 11 days ago Go concurrency with channel transformations. No boilerplate, type safety, batching and error handling
routine 228 about 2 months ago is a for go library. It encapsulates and provides some easy-to-use, non-competitive, high-performance context access interfaces, which can help you access coroutine context information more gracefully
routine 61 9 months ago go routine control with context, support: Main, Go, Pool and some useful Executors
semaphore 102 over 4 years ago Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context
semaphore 173 over 3 years ago Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations)
stl 30 about 4 years ago Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism
threadpool 102 over 4 years ago Golang threadpool implementation
tunny 3,880 over 1 year ago Goroutine pool for golang
worker-pool 92 over 3 years ago goworker is a Go simple async worker pool
workerpool 1,314 4 months ago Goroutine pool that limits the concurrency of task execution, not the number of tasks queued

Awesome Go / GUI

app 7,906 10 days ago Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress
cimgui-go 331 12 days ago Auto generated Go wrapper for via
Cogent Core 1,699 9 days ago A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web
DarwinKit 4,989 3 months ago Build native macOS applications using Go
energy 365 10 days ago Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)
fyne 24,770 12 days ago Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android
gio Gio is a library for writing cross-platform immediate mode GUI-s in Go. Gio supports all the major platforms: Linux, macOS, Windows, Android, iOS, FreeBSD, OpenBSD and WebAssembly
go-gtk Go bindings for GTK
go-sciter 2,577 over 1 year ago Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform
Goey Cross platform UI toolkit aggregator for Windows / Linux / Mac. GTK, Cocoa, Windows API
goradd/html5tag 10 10 months ago Library for outputting HTML5 tags
gotk3 2,096 2 months ago Go bindings for GTK3
gowd 430 over 1 year ago Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform
qt 10,410 7 months ago Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)
Spot 1,091 4 months ago Reactive, cross-platform desktop GUI toolkit
ui 8,336 over 2 years ago Platform-native GUI library for Go. Cross platform
unison 193 11 days ago A unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported
Wails Mac, Windows, Linux desktop apps with HTML UI using built-in OS HTML renderer
walk 6,831 9 months ago Windows application library kit for Go
webview 12,552 12 days ago Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux)
AppIndicator Go 6 about 2 years ago Go bindings for libappindicator3 C library
gosx-notifier 588 over 4 years ago OSX Desktop Notifications library for Go
mac-activity-tracker 28 12 months ago OSX library to notify about any (pluggable) activity on your machine
mac-sleep-notifier 32 over 5 years ago OSX Sleep/Wake notifications in golang
robotgo 9,593 25 days ago Go Native cross-platform GUI system automation. Control the mouse, keyboard and other
systray 3,273 3 months ago Cross platform Go library to place an icon and menu in the notification area
trayhost 254 11 months ago Cross-platform Go library to place an icon in the host operating system's taskbar
zenity 710 about 1 month ago Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user

Awesome Go / Hardware

arduino-cli 4,329 10 days ago Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects
emgo 1,067 almost 3 years ago Go-like language for programming embedded systems (e.g. STM32 MCU)
ghw 1,627 17 days ago Golang hardware discovery/inspection library
go-osc 199 over 1 year ago Open Sound Control (OSC) bindings for Go
go-rpio 2,183 about 1 year ago GPIO for Go, doesn't require cgo
goroslib 323 27 days ago Robot Operating System (ROS) library for Go
joystick 59 over 1 year ago a polled API to read the state of an attached joystick
sysinfo 520 24 days ago A pure Go library providing Linux OS / kernel / hardware system information

Awesome Go / Images

bild 3,984 18 days ago Collection of image processing algorithms in pure Go
bimg 2,675 6 months ago Small package for fast and efficient image processing using libvips
cameron 119 about 2 years ago An avatar generator for Go
canvas 1,485 12 days ago Vector graphics to PDF, SVG or rasterized image
color-extractor 93 about 1 year ago Dominant color extractor with no external dependencies
darkroom 225 6 months ago An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency
draft 579 about 3 years ago Generate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax
geopattern 1,269 almost 6 years ago Create beautiful generative image patterns from a string
gg 4,404 10 months ago 2D rendering in pure Go
gift 1,747 about 1 year ago Package of image processing filters
gltf 242 about 1 month ago Efficient and robust glTF 2.0 reader, writer and validator
go-cairo 143 7 months ago Go binding for the cairo graphics library
go-gd 58 over 6 years ago Go binding for GD library
go-nude 410 about 1 year ago Nudity detection with Go
go-webcolors 27 about 9 years ago Port of webcolors library from Python to Go
go-webp 220 11 months ago Library for encode and decode webp pictures, using libwebp
gocv 6,626 9 days ago Go package for computer vision using OpenCV 3.3+
goimagehash 736 9 months ago Go Perceptual image hashing package
goimghdr 40 over 5 years ago The imghdr module determines the type of image contained in a file for Go
govatar 586 about 2 years ago Library and CMD tool for generating funny avatars
govips 1,260 about 2 months ago A lightning fast image processing and resizing library for Go
gowitness 3,026 10 days ago Screenshoting webpages using go and headless chrome on command line
gridder 77 about 3 years ago A Grid based 2D Graphics library
image2ascii 868 about 2 years ago Convert image to ASCII
imagick 1,757 18 days ago Go binding to ImageMagick's MagickWand C API
imaginary 5,534 5 months ago Fast and simple HTTP microservice for image resizing
imaging 5,252 about 1 year ago Simple Go image processing package
imagor 3,370 19 days ago Fast, secure image processing server and Go library, using libvips
img 154 over 9 years ago Selection of image manipulation tools
ln 3,269 about 5 years ago 3D line art rendering in Go
mergi 231 over 4 years ago Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate)
mort 506 over 1 year ago Storage and image processing server written in Go
mpo 17 over 1 year ago Decoder and conversion tool for MPO 3D Photos
picfit 2,108 about 1 month ago An image resizing server written in Go
pt 2,077 over 5 years ago Path tracing engine written in Go
rez 213 about 7 years ago Image resizing in pure Go and SIMD
scout 15 3 months ago Scout is a standalone open source software solution for DIY video security
smartcrop 1,812 over 1 year ago Finds good crops for arbitrary images and crop sizes
steganography 313 5 months ago Pure Go Library for LSB steganography
stegify 1,199 over 1 year ago Go tool for LSB steganography, capable of hiding any file within an image
svgo 2,144 almost 2 years ago Go Language Library for SVG generation
tga 33 over 9 years ago Package tga is a TARGA image format decoder/encoder
transformimgs 221 24 days ago Transformimgs resizes and optimises images for Web using next-generation formats
webp-server 73 over 3 years ago Simple and minimal image server capable of storing, resizing, converting and caching images

Awesome Go / IoT (Internet of Things)

connectordb 402 over 2 years ago Open-Source Platform for Quantified Self & IoT
devices 263 over 8 years ago Suite of libraries for IoT devices, experimental for x/exp/io
ekuiper 1,467 4 days ago Lightweight data stream processing engine for IoT edge
eywa 64 over 7 years ago Project Eywa is essentially a connection manager that keeps track of connected devices
flogo 2,416 6 months ago Project Flogo is an Open Source Framework for IoT Edge Apps & Integration
gatt 1,135 about 2 years ago Gatt is a Go package for building Bluetooth Low Energy peripherals
gobot 8,892 4 months ago Gobot is a framework for robotics, physical computing, and the Internet of Things
huego 250 over 1 year ago An extensive Philips Hue client library for Go
iot 66 almost 5 years ago IoT is a simple framework for implementing a Google IoT Core device
mainflux 42 2 months ago Industrial IoT Messaging and Device Management Server
periph Peripherals I/O to interface with low-level board facilities
rulego 800 about 8 hours ago RuleGo is a lightweight, high-performance, embedded, orchestrable component-based rule engine for IoT edge
sensorbee 230 almost 5 years ago Lightweight stream processing engine for IoT
shifu 1,280 11 days ago Kubernetes native IoT development framework
smart-home 80 about 1 month ago Software package for IoT automation

Awesome Go / Job Scheduler

Cadence-client 345 about 1 month ago A framework for authoring workflows and activities running on top of the Cadence orchestration engine made by Uber
cdule 48 almost 2 years ago Job scheduler library with database support
cheek 146 8 days ago A simple crontab like scheduler that aims to offer a KISS approach to job scheduling
clockwerk 145 10 days ago Go package to schedule periodic jobs using a simple, fluent syntax
cronticker 16 almost 4 years ago A ticker implementation to support cron schedules
Dagu 1,552 3 days ago No-code workflow executor. it executes DAGs defined in a simple YAML format
go-cron 230 over 4 years ago Simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons
go-dag 17 about 2 months ago A framework developed in Go that manages the execution of workflows described by directed acyclic graphs
go-quartz 1,767 14 days ago Simple, zero-dependency scheduling library for Go
gocron 5,496 22 days ago Easy and fluent Go job scheduling. This is an actively maintained fork of
goflow 371 3 months ago A simple but powerful DAG scheduler and dashboard
gron 1,026 over 1 year ago Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly
gronx 399 19 days ago Cron expression parser, task runner and daemon consuming crontab like task list
JobRunner 1,042 almost 4 years ago Smart and featureful cron job scheduler with job queuing and live monitoring built in
jobs 500 over 6 years ago Persistent and flexible background jobs library
leprechaun 104 over 2 years ago Job scheduler that supports webhooks, crons and classic scheduling
sched 28 over 3 years ago A job scheduler with the ability to fast-forward time
scheduler 446 over 2 years ago Cronjobs scheduling made easy
tasks 294 about 1 month ago An easy to use in-process scheduler for recurring tasks in Go

Awesome Go / JSON

ajson 233 about 1 month ago Abstract JSON for golang with JSONPath support
ask 44 about 1 year ago Easy access to nested values in maps and slices. Works in combination with encoding/json and other packages that "Unmarshal" arbitrary data into Go data-types
dynjson 16 over 1 year ago Client-customizable JSON formats for dynamic APIs
ej 10 over 4 years ago Write and read JSON from different sources succinctly
epoch 14 8 months ago Contains primitives for marshaling/unmarshalling Unix timestamp/epoch to/from build-in time.Time type in JSON
fastjson 2,260 8 months ago Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
gabs 3,458 4 months ago For parsing, creating and editing unknown or dynamic JSON in Go
gjo 126 over 3 years ago Small utility to create JSON objects
GJSON 14,191 11 days ago Get a JSON value with one line of code
go-jsonerror 16 about 5 years ago Go-JsonError is meant to allow us to easily create json response errors that follow the JsonApi spec
go-respond 54 about 3 years ago Go package for handling common HTTP JSON responses
gojmapr 22 over 1 year ago Get simple struct from complex json by json path
gojq 191 over 1 year ago JSON query in Golang
gojson 2,659 about 3 years ago Automatically generate Go (golang) struct definitions from example JSON
htmljson 7 about 2 months ago Rich rendering of JSON as HTML in Go
JayDiff 106 7 months ago JSON diff utility written in Go
jettison 173 about 1 year ago Fast and flexible JSON encoder for Go
jscan 88 8 months ago High performance zero-allocation JSON iterator
JSON-to-Go Convert JSON to Go struct
JSON-to-Proto Convert JSON to Protobuf online
json2go 131 almost 3 years ago Advanced JSON to Go struct conversion. Provides package that can parse multiple JSON documents and create struct to fit them all
jsonapi-errors 14 almost 8 years ago Go bindings based on the JSON API errors reference
jsoncolor 45 8 months ago Drop-in replacement for that outputs colorized JSON
jsondiff 517 12 days ago JSON diff library for Go based on RFC6902 (JSON Patch)
jsonf 65 almost 4 years ago Console tool for highlighted formatting and struct query fetching JSON
jsongo 109 about 3 years ago Fluent API to make it easier to create Json objects
jsonhal 14 over 4 years ago Simple Go package to make custom structs marshal into HAL compatible JSON responses
jsonhandlers 2 over 1 year ago JSON library to expose simple handlers that lets you easily read and write json from various sources
jsonic 11 over 3 years ago Utilities to handle and query JSON without defining structs in a type safe manner
jsonvalue 186 14 days ago A fast and convenient library for unstructured JSON data, replacing
jzon 11 about 1 year ago JSON library with standard compatible API/behavior
kazaam 279 over 2 years ago API for arbitrary transformation of JSON documents
mapslice-json 19 7 months ago Go MapSlice for ordered marshal/ unmarshal of maps in JSON
marshmallow 374 over 1 year ago Performant JSON unmarshalling for flexible use cases
mp 47 over 8 years ago Simple cli email parser. It currently takes stdin and outputs JSON
OjG 843 27 days ago Optimized JSON for Go is a high performance parser with a variety of additional JSON tools including JSONPath
omg.jsonparser 6 about 3 years ago Simple JSON parser with validation by condition via golang struct fields tags
ujson 76 4 months ago Fast and minimal JSON parser and transformer that works on unstructured JSON
vjson 41 4 months ago Go package for validating JSON objects with declaring a JSON schema with fluent API

Awesome Go / Logging

distillog 31 about 6 years ago distilled levelled logging (think of it as stdlib + log levels)
glg 190 25 days ago glg is simple and fast leveled logging library for Go
glo 15 over 5 years ago PHP Monolog inspired logging facility with identical severity levels
glog 3,536 3 months ago Leveled execution logs for Go
go-cronowriter 56 over 3 years ago Simple writer that rotate log files automatically based on current date and time, like cronolog
go-log 10 4 months ago A logging library with stack traces, object dumping and optional timestamps
go-log 14 over 6 years ago Simple and configurable Logging in Go, with level, formatters and writers
go-log 34 over 5 years ago Log lib supports level and multi handlers
go-log 43 over 6 years ago Log4j implementation in Go
go-logger 288 over 5 years ago Simple logger of Go Programs, with level handlers
gomol 19 over 5 years ago Multiple-output, structured logging for Go with extensible logging outputs
gone/log 48 over 3 years ago Fast, extendable, full-featured, std-lib source compatible log library
httpretty 393 19 days ago Pretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest)
journald 39 over 3 years ago Go implementation of systemd Journal's native API for logging
kemba 13 about 16 hours ago A tiny debug logging tool inspired by , great for CLI tools and applications
log 10 almost 5 years ago An O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection)
log 1,366 11 months ago Structured logging package for Go
log 293 about 1 year ago Simple, configurable and scalable Structured Logging for Go
log 26 almost 7 years ago Structured log interface for Go cleanly separates logging facade from its implementation
log 16 almost 2 years ago Simple leveled logging wrapper around standard log package
log 3 5 months ago A simple logging framework out of the box
log-voyage 94 over 7 years ago Full-featured logging saas written in golang
log15 1,103 over 1 year ago Simple, powerful logging for Go
logdump 11 over 6 years ago Package for multi-level logging
logex 43 6 months ago Golang log lib, supports tracking and level, wrap by standard log lib
logger 158 almost 3 years ago Minimalistic logging library for Go
logo 12 almost 4 years ago Golang logger to different configurable writers
logrus 24,597 3 months ago Structured logger for Go
logrusiowriter 16 about 4 years ago implementation using logger
logrusly 28 about 3 years ago plug-in to send errors to a
logur 201 about 4 years ago An opinionated logger interface and collection of logging best practices with adapters and integrations for well-known libraries ( , , , , etc)
logutils 368 over 1 year ago Utilities for slightly better logging in Go (Golang) extending the standard logger
logxi 358 over 4 years ago 12-factor app logger that is fast and makes you happy
lumberjack 4,812 2 months ago Simple rolling logger, implements io.WriteCloser
mlog 34 about 6 years ago Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output
noodlog 44 over 1 year ago Parametrized JSON logging library which lets you obfuscate sensitive data and marshal any kind of content. No more printed pointers instead of values, nor escape chars for the JSON strings
onelog 414 over 5 years ago Onelog is a dead simple but very efficient JSON logger. It is the fastest JSON logger out there in all scenarios. Also, it is one of the logger with the lowest allocation
ozzo-log 122 almost 4 years ago High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail)
phuslu/log 659 16 days ago High performance structured logging
pp 1,844 over 1 year ago Colored pretty printer for Go language
rollingwriter 295 12 months ago RollingWriter is an auto-rotate implementation with multi policies to provide log file rotation
seelog 1,638 over 5 years ago Logging functionality with flexible dispatching, filtering, and formatting
slf4g 3 about 1 month ago Simple Logging Facade for Golang: Simple structured logging; but powerful, extendable and customizable, with huge amount of learnings from decades of past logging frameworks
slog 391 10 days ago Lightweight, configurable, extensible logger for Go
slog-formatter 109 about 1 month ago Common formatters for slog and helpers to build your own
slog-multi 360 11 days ago Chain of slog.Handler (pipeline, fanout...)
slogor A colorful slog handler
spew 6,053 6 months ago Implements a deep pretty printer for Go data structures to aid in debugging
sqldb-logger 350 10 months ago A logger for Go SQL database driver without modify existing *sql.DB stdlib usage
stdlog 47 about 9 years ago Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs
structy/log 5 over 2 years ago A simple to use log system, minimalist but with features for debugging and differentiation of messages
tail 2,711 almost 2 years ago Go package striving to emulate the features of the BSD tail program
tint 731 about 1 month ago A slog.Handler that writes tinted logs
xlog 8 over 5 years ago Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format
xlog 139 3 months ago Structured logger for aware HTTP handlers with flexible dispatching
xylog 16 over 1 year ago Leveled and structured logging, dynamic fields, high performance, zone management, simple configuration, and readable syntax
yell 1 over 2 years ago Yet another minimalistic logging library
zap 21,789 30 days ago Fast, structured, leveled logging in Go
zax 23 24 days ago Integrate Context with Zap logger, which leads to more flexibility in Go logging
zerolog 10,444 about 2 months ago Zero-allocation JSON logger
zkits-logger 26 over 1 year ago A powerful zero-dependency JSON logger
zl 5 2 months ago High Developer Experience, zap based logger. It offers rich functionality but is easy to configure

Awesome Go / Machine Learning

bayesian 801 11 months ago Naive Bayesian Classification for Golang
CloudForest 739 over 2 years ago Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go
ddt 35 over 3 years ago Dynamic decision tree, create trees defining customizable rules
eaopt 885 7 months ago An evolutionary optimization library
evoli 31 almost 3 years ago Genetic Algorithm and Particle Swarm Optimization library
fonet 82 over 3 years ago A Deep Neural Network library written in Go
go-cluster 42 almost 2 years ago Go implementation of the k-modes and k-prototypes clustering algorithms
go-deep 532 3 months ago A feature-rich neural network library in Go
go-fann 116 over 9 years ago Go bindings for Fast Artificial Neural Networks(FANN) library
go-featureprocessing 118 about 2 months ago Fast and convenient feature processing for low latency machine learning in Go
go-galib 198 almost 9 years ago Genetic Algorithms library written in Go / golang
go-pr 65 over 11 years ago Pattern recognition package in Go lang
gobrain 558 almost 4 years ago Neural Networks written in go
godist 38 over 9 years ago Various probability distributions, and associated methods
goga 217 over 2 years ago Genetic algorithm library for Go
GoLearn 9,268 9 months ago General Machine Learning library for Go
golinear 45 about 6 years ago liblinear bindings for Go
GoMind 84 over 2 years ago A simplistic Neural Network Library in Go
goml 1,561 about 2 years ago On-line Machine Learning in Go
GoMLX 269 8 days ago An accelerated Machine Learning framework for Go
gonet 82 over 4 years ago Neural Network for Go
Goptuna 256 about 1 month ago Bayesian optimization framework for black-box functions written in Go. Everything will be optimized
goRecommend 204 about 10 years ago Recommendation Algorithms library written in Go
gorgonia 5,515 2 months ago graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms
gorse 8,493 2 months ago An offline recommender system backend based on collaborative filtering written in Go
goscore 97 about 5 years ago Go Scoring API for PMML
gosseract 2,678 3 months ago Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
hugot 265 26 days ago Huggingface transformer pipelines for golang with onnxruntime
libsvm 73 over 8 years ago libsvm golang version derived work based on LIBSVM 3.14
m2cgen 2,800 2 months ago A CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support
neat 71 over 6 years ago Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT)
neural-go 69 about 4 years ago Multilayer perceptron network implemented in Go, with training via backpropagation
ocrserver 689 about 3 years ago A simple OCR API server, seriously easy to be deployed by Docker and Heroku
onnx-go 688 about 1 month ago Go Interface to Open Neural Network Exchange (ONNX)
probab 20 about 9 years ago Probability distribution functions. Bayesian inference. Written in pure Go
randomforest 46 8 months ago Easy to use Random Forest library for Go
regommend 312 about 5 years ago Recommendation & collaborative filtering engine
shield 156 over 4 years ago Bayesian text classifier with flexible tokenizers and storage backends for Go
tfgo 2,415 7 months ago Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python
Varis 54 about 6 years ago Golang Neural Network

Awesome Go / Messaging

ami 28 over 4 years ago Go client to reliable queues based on Redis Cluster Streams
amqp 1,490 about 2 months ago Go RabbitMQ Client Library
APNs2 2,989 2 months ago HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps
Asynq 9,503 3 months ago A simple, reliable, and efficient distributed task queue for Go built on top of Redis
Beaver 1,543 24 days ago A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps
Bus 335 over 1 year ago Minimalist message bus implementation for internal communication
Centrifugo 8,320 11 days ago Real-time messaging (Websockets or SockJS) server in Go
Chanify 1,264 over 1 year ago A push notification server send message to your iOS devices
Commander 66 over 3 years ago A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka
Confluent Kafka Golang Client 4,605 9 days ago confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform
dbus 976 21 days ago Native Go bindings for D-Bus
drone-line 80 over 1 year ago Sending notifications using a binary, docker or Drone CI
emitter 505 over 1 year ago Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins
event 58 over 6 years ago Implementation of the pattern observer
EventBus 1,718 4 months ago The lightweight event bus with async compatibility
gaurun-client 11 about 3 years ago Gaurun Client written in Go
Glue 415 over 4 years ago Robust Go and Javascript Socket Library (Alternative to Socket.io)
go-eventbus 4 19 days ago Simple Event Bus package for Go
Go-MediatR 207 24 days ago A library for handling mediator patterns and simplified CQRS patterns within an event-driven architecture, inspired by csharp MediatR library
go-mq 91 about 1 year ago RabbitMQ client with declarative configuration
go-notify 69 almost 4 years ago Native implementation of the freedesktop notification spec
go-nsq 2,587 about 1 month ago the official Go package for NSQ
go-res 63 3 months ago Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate
go-socket.io 5,738 13 days ago socket.io library for golang, a realtime application framework
go-vitotrol 23 23 days ago Client library to Viessmann Vitotrol web service
Gollum 939 over 1 year ago A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations
golongpoll 654 about 1 year ago HTTP longpoll server library that makes web pub-sub simple
gopush-cluster 2,084 over 7 years ago gopush-cluster is a go push server cluster
gorush 7,992 23 days ago Push notification server using and google
gosd 24 about 2 years ago A library for scheduling when to dispatch a message to a channel
guble 158 almost 7 years ago Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence
hare 53 about 2 years ago A user friendly library for sending messages and listening to TCP sockets
hub 146 almost 4 years ago A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges
hypermatch 18 17 days ago A very fast and efficient Go library for matching events to a large set of rules
jazz 18 over 5 years ago A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages
machinery 7,514 about 2 months ago Asynchronous task queue/job queue based on distributed message passing
mangos 672 11 days ago Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability
melody 3,706 3 months ago Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling
Mercure 3,919 12 days ago Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events)
messagebus 272 over 3 years ago messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD
NATS Go Client 5,476 9 days ago Lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library
nsq-event-bus 79 over 6 years ago A tiny wrapper around NSQ topic and channel
oplog 111 15 days ago Generic oplog/replication system for REST APIs
pubsub 425 5 months ago Simple pubsub package for go
Quamina 393 11 days ago Fast pattern-matching for filtering messages and events
rabbitroutine 110 7 months ago Lightweight library that handles RabbitMQ auto-reconnect and publishing retries. The library takes into account the need to re-declare entities in RabbitMQ after reconnection
rabbus 97 about 5 years ago A tiny wrapper over amqp exchanges and queues
rabtap 264 19 days ago RabbitMQ swiss army knife cli app
RapidMQ 68 almost 7 years ago RapidMQ is a lightweight and reliable library for managing of the local messages queue
Ratus 109 10 days ago Ratus is a RESTful asynchronous task queue server
redisqueue 130 7 months ago redisqueue provides a producer and consumer of a queue that uses Redis streams
rmqconn 23 over 4 years ago RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed
sarama 11,440 11 days ago Go library for Apache Kafka
Uniqush-Push 1,537 over 4 years ago Redis backed unified push service for server-side notifications to mobile devices
Watermill 7,295 16 days ago Working efficiently with message streams. Building event driven applications, enabling event sourcing, RPC over messages, sagas. Can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog
zmq4 1,171 7 months ago Go interface to ZeroMQ version 4. Also available for and

Awesome Go / Microsoft Office

unioffice 4,351 26 days ago Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents

Awesome Go / Microsoft Office / Microsoft Excel

excelize 18,047 12 days ago Golang library for reading and writing Microsoft Excel™ (XLSX) files
exl 30 4 months ago Excel binding to struct written in Go.(Only supports Go1.18+)
go-excel 191 about 1 year ago A simple and light reader to read a relate-db-like excel as a table
goxlsxwriter 21 over 2 years ago Golang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files
xlsx 5,849 20 days ago Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs
xlsx 174 almost 4 years ago Fast and safe way to read/update your existing Microsoft Excel files in Go programs

Awesome Go / Microsoft Office / Microsoft Word

godocx 80 about 1 month ago Library for reading and writing Microsoft Word (Docx) files

Awesome Go / Miscellaneous / Dependency Injection

alice 50 over 7 years ago Additive dependency injection container for Golang
autowire 8 about 1 month ago Dependency injection using Generics and reflection
boot-go Component-based development with dependency injection using reflections for Go developers
componego 27 14 days ago A dependency injection framework based on components, allowing dynamic dependency replacement without duplicating code in tests
cosban/di A code generation based dependency injection wiring tool
di 232 10 months ago A dependency injection container for go programming language
dig 3,878 about 1 month ago A reflection based dependency injection toolkit for Go
dingo 180 3 months ago A dependency injection toolkit for Go, based on Guice
do 1,818 about 2 months ago A dependency injection framework based on Generics
fx 5,713 26 days ago A dependency injection based application framework for Go (built on top of dig)
gocontainer 20 over 4 years ago Simple Dependency Injection Container
goioc/di 355 7 months ago Spring-inspired Dependency Injection Container
GoLobby/Container 558 3 months ago GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language
gontainer 37 about 1 month ago A dependency injection service container for Go projects
gontainer/gontainer 15 2 months ago A YAML-based Dependency Injection container for GO. It supports dependencies' scopes, and auto-detection of circular dependencies. Gontainer is concurrent-safe
google/wire 12,936 3 months ago Automated Initialization in Go
HnH/di 8 about 2 months ago DI container library that is focused on clean API and flexibility
kinit 10 over 3 years ago Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization
kod 150 12 days ago A generics based dependency injection framework for Go
linker 36 8 months ago A reflection based dependency injection and inversion of control library with components lifecycle support
nject 29 about 2 months ago A type safe, reflective framework for libraries, tests, http endpoints, and service startup
ore 7 6 months ago Lightweight, generic & simple dependency injection (DI) container
wire 37 about 3 years ago Strict Runtime Dependency Injection for Golang

Awesome Go / Miscellaneous / Project Layout

ardanlabs/service 3,558 11 days ago A for building production grade scalable web service applications
cookiecutter-golang 688 8 months ago A Go application boilerplate template for quick starting projects following production best practices
go-blueprint 3,891 12 days ago Allows users to spin up a quick Go project using a popular framework
go-module 30 10 days ago Template for a typical module written on Go
go-sample 130 over 5 years ago A sample layout for Go application projects with the real code
go-starter 492 4 months ago An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers
go-todo-backend 317 over 1 year ago Go Todo Backend example using modular project layout for product microservice
gobase 62 over 1 year ago A simple skeleton for golang application with basic setup for real golang application
golang-standards/project-layout 48,750 3 months ago Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see for more information. Nonetheless, some may find the layout useful
golang-templates/seed 472 18 days ago Go application GitHub repository template
goxygen 3,472 13 days ago Generate a modern Web project with Go and Angular, React, or Vue in seconds
insidieux/inizio 18 over 1 year ago Golang project layout generator with plugins
modern-go-application 1,830 about 1 year ago Go application boilerplate and example applying modern practices
nunu 1,887 2 months ago Nunu is a scaffolding tool for building Go applications
pagoda 2,082 10 days ago Rapid, easy full-stack web development starter kit built in Go
scaffold 149 almost 6 years ago Scaffold generates a starter Go project layout. Lets you focus on business logic implemented
wangyoucao577/go-project-layout 26 over 3 years ago Set of practices and discussions on how to structure Go project layout

Awesome Go / Miscellaneous / Strings

bexp 20 about 1 month ago Go implementation of Brace Expansion mechanism to generate arbitrary strings
caps 54 10 months ago A case conversion library
go-formatter Implements surrounded by curly braces format strings
gobeam/Stringy 230 6 months ago String manipulation library to convert string to camel case, snake case, kebab case / slugify etc
strutil 205 over 2 years ago String utilities
sttr 936 about 1 month ago cross-platform, cli app to perform various operations on string
xstrings 1,392 4 months ago Collection of useful string functions ported from other languages

Awesome Go / Miscellaneous / Uncategorized

anagent 15 about 6 years ago Minimalistic, pluggable Golang evloop/timer handler with dependency-injection
antch 259 over 4 years ago A fast, powerful and extensible web crawling & scraping framework
archiver 4,341 18 days ago Library and command for making and extracting .zip and .tar.gz archives
autoflags 39 over 2 years ago Go package to automatically define command line flags from struct fields
avgRating 16 about 7 years ago Calculate average score and rating based on Wilson Score Equation
banner 447 almost 4 years ago Add beautiful banners into your Go applications
base64Captcha 2,107 4 months ago Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha
basexx 5 over 1 year ago Convert to, from, and between digit strings in various number bases
battery 246 about 1 year ago Cross-platform, normalized battery information library
bitio 242 over 1 year ago Highly optimized bit-level Reader and Writer for Go
browscap_go 48 over 1 year ago GoLang Library for
captcha 154 9 months ago Package captcha provides an easy to use, unopinionated API for captcha generation
common 4 6 months ago A library for server framework
conv 385 about 3 years ago Package conv provides fast and intuitive conversions across Go types
datacounter 48 over 1 year ago Go counters for readers/writer/http.ResponseWriter
faker 10 about 2 years ago Fake data generator
faker 92 about 1 year ago Random fake data and struct generator for Go
ffmt 305 almost 3 years ago Beautify data display for Humans
gatus 6,133 10 days ago Automated service health dashboard
go-commandbus 12 over 2 years ago A slight and pluggable command-bus for Go
go-commons-pool 1,222 over 1 year ago Generic object pool for Golang
go-openapi Collection of packages to parse and utilize open-api schemas
go-resiliency 2,196 24 days ago Resiliency patterns for golang
go-unarr 280 6 months ago Decompression library for RAR, TAR, ZIP and 7z archives
gofakeit 4,514 15 days ago Random data generator written in go
gommit 113 about 1 month ago Analyze git commit messages to ensure they follow defined patterns
gopsutil 10,528 12 days ago Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc)
gosh 36 over 1 year ago Provide Go Statistics Handler, Struct, Measure Method
gosms 1,449 over 3 years ago Your own local SMS gateway in Go that can be used to send SMS
gotoprom 108 over 1 year ago Type-safe metrics builder wrapper library for the official Prometheus client
gountries 408 4 months ago Package that exposes country and subdivision data
gtree 235 14 days ago Provide CLI, Package and Web for tree output and directories creation from Markdown or programmatically
health 773 16 days ago A simple and flexible health check library for Go
health 451 11 months ago Easy to use, extensible health check library
healthcheck 268 10 months ago An opinionated and concurrent health-check HTTP handler for RESTful services
hostutils 12 4 months ago A golang library for packing and unpacking FQDNs list
indigo 109 over 1 year ago Distributed unique ID generator of using Sonyflake and encoded by Base58
lk 367 over 1 year ago A simple licensing library for golang
llvm 1,185 4 months ago Library for interacting with LLVM IR in pure Go
metrics 28 over 1 year ago Library for metrics instrumentation and Prometheus exposition
morse 82 about 2 years ago Library to convert to and from morse code
numa 30 10 months ago NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code
openapi 11 over 1 year ago OpenAPI 3.x parser
pdfgen 71 over 6 years ago HTTP service to generate PDF from Json requests
persian 86 9 months ago Some utilities for Persian language in go
sandid 47 about 2 years ago Every grain of sand on earth has its own ID
shellwords 24 over 1 year ago A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell
shortid 937 over 2 years ago Distributed generation of super short, unique, non-sequential, URL friendly IDs
shoutrrr 980 3 months ago Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others
sitemap-format 4 almost 2 years ago A simple sitemap generator, with a little syntactic sugar
stateless 942 about 1 month ago A fluent library for creating state machines
stats 170 about 8 years ago Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc
turtle 158 about 3 years ago Emojis for Go
url-shortener 48 over 1 year ago A modern, powerful, and robust URL shortener microservice with mysql support
VarHandler 5 almost 8 years ago Generate boilerplate http input and output handling
varint 14 about 1 year ago A faster varying length integer encoder/decoder than the one provided in the standard library
xdg 41 5 months ago FreeDesktop.org (xdg) Specs implemented in Go
xkg 56 almost 10 years ago X Keyboard Grabber
xz 475 21 days ago Pure golang package for reading and writing xz-compressed files

Awesome Go / Natural Language Processing / Language Detection

detectlanguage 25 over 2 years ago Language Detection API Go Client. Supports batch requests, short phrase or single word language detection
getlang 170 almost 4 years ago Fast natural language detection package
guesslanguage 58 almost 7 years ago Functions to determine the natural language of a unicode text
lingua-go 1,169 2 months ago An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text
whatlanggo 638 over 1 year ago Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc)

Awesome Go / Natural Language Processing / Morphological Analyzers

go-stem 78 over 6 years ago Implementation of the porter stemming algorithm
go2vec 56 about 6 years ago Reader and utility functions for word2vec embeddings
golibstemmer 20 over 10 years ago Go bindings for the snowball libstemmer library including porter 2
gosentiwordnet 10 over 3 years ago Sentiment analyzer using sentiwordnet lexicon in Go
govader 40 over 1 year ago Go implementation of
govader-backend 6 8 months ago Microservice implementation of
kagome 816 2 months ago JP morphological analyzer written in pure Go
libtextcat 13 almost 12 years ago Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2
nlp 389 about 7 years ago Extract values from strings and fill your structs with nlp
nlp 447 over 3 years ago Go Natural Language Processing library supporting LSA (Latent Semantic Analysis)
paicehusk 29 almost 11 years ago Golang implementation of the Paice/Husk Stemming Algorithm
porter 12 about 11 years ago This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm
porter2 46 about 4 years ago Really fast Porter 2 stemmer
RAKE.go 115 over 4 years ago Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE)
snowball 38 over 7 years ago Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality
spaGO 1,747 9 months ago Self-contained Machine Learning and Natural Language Processing library in Go
spelling-corrector 2 over 2 years ago A spelling corrector for the Spanish language or create your own

Awesome Go / Natural Language Processing / Slugifiers

go-slugify 93 over 4 years ago Make pretty slug with multiple languages support
slug 1,151 8 months ago URL-friendly slugify with multiple languages support
Slugify 33 over 6 years ago Go slugify application that handles string

Awesome Go / Natural Language Processing / Tokenizers

gojieba 2,409 28 days ago This is a Go implementation of which a Chinese word splitting algorithm
gotokenizer 21 over 5 years ago A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
gse 2,553 about 2 months ago Go efficient text segmentation; support english, chinese, japanese and other
MMSEGO 63 over 12 years ago This is a GO implementation of which a Chinese word splitting algorithm
prose 3,052 over 1 year ago Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only
segment 88 almost 2 years ago Go library for performing Unicode Text Segmentation as described in
sentences 436 8 months ago Sentence tokenizer: converts text into a list of sentences
shamoji 13 almost 2 years ago The shamoji is word filtering package written in Go
stemmer 52 almost 8 years ago Stemmer packages for Go programming language. Includes English and German stemmers
textcat 72 over 3 years ago Go package for n-gram based text categorization, with support for utf-8 and raw text

Awesome Go / Natural Language Processing / Translation

ctxi18n 39 6 months ago Context aware i18n with a short and consise API, pluralization, interpolation, and support. YAML locale definitions are based on
go-i18n 2,961 about 2 months ago Package and an accompanying tool to work with localized text
go-mystem 32 about 8 years ago CGo bindings to Yandex.Mystem - russian morphology analyzer
go-pinyin 1,609 over 1 year ago CN Hanzi to Hanyu Pinyin converter
go-words 6 8 months ago A words table and text resource library for Golang projects
gotext 434 15 days ago GNU gettext utilities for Go
iuliia-go 48 over 3 years ago Transliterate Cyrillic → Latin in every possible way
spreak 55 10 months ago Flexible translation and humanization library for Go, based on the concepts behind gettext
t 20 9 months ago Another i18n pkg for golang, which follows GNU gettext style and supports .po/.mo files: , , etc. And it contains a cmd tool , which can extract messages as a pot file from text/html template

Awesome Go / Natural Language Processing / Transliteration

enca 16 over 8 years ago Minimal cgo bindings for , which detects character encodings
go-unidecode 127 over 1 year ago ASCII transliterations of Unicode text
gounidecode 80 about 9 years ago Unicode transliterator (also known as unidecode) for Go
transliterator 43 4 months ago Provides one-way string transliteration with supporting of language-specific transliteration rules

Awesome Go / Networking

arp 362 almost 2 years ago Package arp implements the ARP protocol, as described in RFC 826
buffstreams 253 about 4 years ago Streaming protocolbuffer data over TCP made easy
canopus 154 over 6 years ago CoAP Client/Server implementation (RFC 7252)
cidranger 899 over 1 year ago Fast IP to CIDR lookup for Go
dhcp6 77 over 1 year ago Package dhcp6 implements a DHCPv6 server, as described in RFC 3315
dns 7,992 11 days ago Go library for working with DNS
dnsmonster 315 2 months ago Passive DNS Capture/Monitoring Framework
easytcp 806 7 months ago A light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful
ether 80 over 8 years ago Cross-platform Go package for sending and receiving ethernet frames
ethernet 274 over 2 years ago Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags
event 153 10 months ago Simple I/O event notification library written in Golang
fasthttp 21,714 15 days ago Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http
fortio 3,325 9 days ago Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC
ftp 1,287 9 days ago Package ftp implements a FTP client as described in
ftpserverlib 417 10 days ago Fully featured FTP server library
fullproxy 78 about 1 year ago A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols
fwdctl 57 about 1 month ago A simple and intuitive CLI to manage IPTables forwards in your Linux server
gaio 798 10 days ago High performance async-io networking for Golang in proactor mode
gev 1,725 over 1 year ago gev is a lightweight, fast non-blocking TCP network library based on Reactor mode
gldap 109 about 1 month ago gldap provides an ldap server implementation and you provide handlers for its ldap operations
gmqtt 986 11 months ago Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1
gnet 9,541 10 days ago is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go
gnet 19 17 days ago is a high-performance networking framework,especially for game servers
gNxI 258 30 days ago A collection of tools for Network Management that use the gNMI and gNOI protocols
go-getter 1,647 about 2 months ago Go library for downloading files or directories from various sources using a URL
go-multiproxy 6 2 months ago Library for making HTTP requests through a pool of proxies offering fault tolerance, load balancing, automatic retries, cookie management, and more, via http.Get/Post replacement or http.Client RoundTripper drop-in
go-powerdns 88 12 days ago PowerDNS API bindings for Golang
go-sse 11 over 1 year ago Go client and server implementation of HTML server-sent events
go-stun 666 3 months ago Go implementation of the STUN client (RFC 3489 and RFC 5389)
gobgp 3,618 12 days ago BGP implemented in the Go Programming Language
gopacket 6,303 about 2 months ago Go library for packet processing with libpcap bindings
gopcap 487 over 3 years ago Go wrapper for libpcap
goshark 19 almost 7 years ago Package goshark use tshark to decode IP packet and create data struct to analyse packet
gosnmp 1,123 about 2 months ago Native Go library for performing SNMP actions
gotcp 512 about 1 year ago Go package for quickly writing tcp applications
grab 1,393 5 months ago Go package for managing file downloads
graval 28 about 4 years ago Experimental FTP server framework
gws 1,385 20 days ago High-Performance WebSocket Server & Client With AsyncIO Supporting
HTTPLab 4,030 8 months ago HTTPLabs let you inspect HTTP requests and forge responses
httpproxy 28 21 days ago HTTP proxy handler and dialer
iplib 143 6 months ago Library for working with IP addresses (net.IP, net.IPNet), inspired by python and ruby
jazigo 214 11 months ago Jazigo is a tool written in Go for retrieving configuration for multiple network devices
kcp-go 4,067 about 1 month ago KCP - Fast and Reliable ARQ Protocol
kcptun 13,879 11 days ago Extremely simple & fast udp tunnel based on KCP protocol
lhttp 691 over 6 years ago Powerful websocket framework, build your IM server more easily
linkio 53 about 7 years ago Network link speed simulation for Reader/Writer interfaces
llb 15 over 8 years ago It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response
mdns 1,180 11 days ago Simple mDNS (Multicast DNS) client/server library in Golang
mqttPaho The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets
natiu-mqtt 85 30 days ago A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems
nbio 2,172 16 days ago Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use
net This repository holds supplementary Go networking libraries
netpoll 4,025 about 1 month ago A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance
NFF-Go 1,380 almost 2 years ago Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF)
packet 79 almost 5 years ago Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed
peerdiscovery 639 about 2 months ago Pure Go library for cross-platform local peer discovery using UDP multicast
portproxy 57 almost 10 years ago Simple TCP proxy which adds CORS support to API's which don't support it
psql-wire 100 about 2 months ago PostgreSQL server wire protocol. Build your own server and start serving connections
publicip 28 almost 8 years ago Package publicip returns your public facing IPv4 address (internet egress)
quic-go 10,010 9 days ago An implementation of the QUIC protocol in pure Go
raw 425 over 2 years ago Package raw enables reading and writing data at the device driver level for a network interface
sdns 952 11 days ago A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy
sftp 1,508 12 days ago Package sftp implements the SSH File Transfer Protocol as described in
ssh 3,668 3 months ago Higher-level API for building SSH servers (wraps crypto/ssh)
sslb 148 8 months ago It's a Super Simples Load Balancer, just a little project to achieve some kind of performance
stun 494 over 3 years ago Go implementation of RFC 5389 STUN protocol
tcp_server 426 almost 3 years ago Go library for building tcp servers faster
tcpack 174 12 months ago tcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program
tspool 14 almost 6 years ago A TCP Library use worker pool to improve performance and protect your server
tun2socks 3,138 13 days ago A pure go implementation of tun2socks powered by TCP/IP stack
utp 173 over 1 year ago Go uTP micro transport protocol implementation
vssh 955 10 months ago Go library for building network and server automation over SSH protocol
water 1,937 2 months ago Simple TUN/TAP library
webhooked 36 20 days ago A webhook receiver on steroids: handle, secure, format and store a Webhook payload has never been easier
webrtc 13,512 9 days ago A pure Go implementation of the WebRTC API
winrm 422 3 months ago Go WinRM client to remotely execute commands on Windows machines
xtcp 152 over 4 years ago TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol

Awesome Go / Networking / HTTP Clients

fast-shot 62 14 days ago Hit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client
gentleman 1,077 10 months ago Full-featured plugin-driven HTTP client library
go-cleanhttp 368 over 1 year ago Get easily stdlib HTTP client, which does not share any state with other clients
go-http-client 77 9 months ago Make http calls simply and easily
go-otelroundtripper 80 4 months ago Go http.RoundTripper that emits open telemetry metrics for HTTP requests
go-req 22 over 2 years ago Declarative golang HTTP client
go-retryablehttp 1,968 17 days ago Retryable HTTP client in Go
go-zoox/fetch 71 14 days ago A Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API
grequests 2,133 5 months ago A Go "clone" of the great and famous Requests library
heimdall 2,624 5 months ago An enhanced http client with retry and hystrix capabilities
httpretry 45 5 months ago Enriches the default go HTTP client with retry functionality
pester 645 over 2 years ago Go HTTP client calls with retries, backoff, and concurrency
req 4,248 21 days ago Simple Go HTTP client with Black Magic (Less code and More efficiency)
request 288 9 months ago HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency
requests 1,482 about 2 months ago HTTP requests for Gophers. Uses context.Context and doesn't hide the underlying net/http.Client, making it compatible with standard Go APIs. Also includes testing tools
resty 9,977 9 days ago Simple HTTP and REST client for Go inspired by Ruby rest-client
rq 51 about 5 years ago A nicer interface for golang stdlib HTTP client
sling 1,676 about 1 month ago Sling is a Go HTTP client library for creating and sending API requests

Awesome Go / OpenGL

gl 1,074 3 months ago Go bindings for OpenGL (generated via glow)
glfw 1,564 5 months ago Go bindings for GLFW 3
go-glmatrix 11 over 3 years ago Go port of library
goxjs/gl 176 over 1 year ago Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android)
goxjs/glfw 82 over 1 year ago Go cross-platform glfw library for creating an OpenGL context and receiving events
mathgl 554 9 months ago Pure Go math package specialized for 3D math, with inspiration from GLM

Awesome Go / ORM

bob 760 18 days ago SQL query builder and ORM/Factory generator for Go. Successor of SQLBoiler
bun 3,640 17 days ago SQL-first Golang ORM. Successor of go-pg
cacheme 23 almost 3 years ago Schema based, typed Redis caching/memoize framework for Go
CQL 16 5 months ago Built on top of GORM, adds compile-time verified queries based on auto-generated code
ent 15,494 22 days ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data
go-dbw 13 about 1 month ago A simple package that encapsulates database operations
go-firestorm 52 almost 3 years ago A simple ORM for Google/Firebase Cloud Firestore
go-sql 176 over 2 years ago A easy ORM for mysql
go-sqlbuilder 1,429 18 days ago A flexible and powerful SQL string builder library plus a zero-config ORM
go-store 112 over 7 years ago Simple and fast Redis backed key-value store library for Go
golobby/orm 159 about 1 year ago Simple, fast, type-safe, generic orm for developer happiness
GORM 36,663 12 days ago The fantastic ORM library for Golang, aims to be developer friendly
gormt 2,358 14 days ago Mysql database to golang gorm struct
gorp 3,735 about 1 year ago Go Relational Persistence, ORM-ish library for Go
grimoire 164 almost 3 years ago Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3)
lore 14 almost 7 years ago Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go
marlow 13 about 4 years ago Generated ORM from project structs for compile time safety assurances
pop/soda 1,435 4 months ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
Prisma 2,114 10 days ago Prisma Client Go, Typesafe database access for Go
reform 1,445 over 1 year ago Better ORM for Go, based on non-empty interfaces and code generation
rel 762 3 months ago Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
SQLBoiler 6,700 about 2 months ago ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema
upper.io/db 3,533 27 days ago Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers
XORM Simple and powerful ORM for Go. (Support: MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql and Oracle)
Zoom 309 over 1 year ago Blazing-fast datastore and querying engine built on Redis

Awesome Go / Package Management

go modules Modules are the unit of source code interchange and versioning. The go command has direct support for working with modules, including recording and resolving dependencies on other modules
dep 12,850 about 4 years ago Go dependency tool
vgo Versioned Go
glide 8,150 3 months ago Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip
godep 5,541 over 6 years ago dependency tool for go, godep helps build packages reproducibly by fixing their dependencies
gom 1,382 about 5 years ago Go Manager - bundle for go
goop 779 almost 9 years ago Simple dependency manager for Go (golang), inspired by Bundler
gop 49 over 5 years ago Build and manage your Go applications out of GOPATH
gopm 2,472 about 5 years ago Go Package Manager
govendor 4,934 over 4 years ago Go Package Manager. Go vendor tool that works with the standard vendor file
gpm 1,190 about 7 years ago Barebones dependency manager for Go
gup 332 about 1 month ago Update binaries installed by "go install"
johnny-deps 214 almost 4 years ago Minimal dependency version using Git
modgv 485 over 1 year ago Converts 'go mod graph' output into Graphviz's DOT language
mvn-golang 163 about 1 month ago plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure
syft 6,065 9 days ago A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems
VenGO 124 about 8 years ago create and manage exportable isolated go virtual environments

Awesome Go / Performance

go-instrument 208 11 days ago Automatically add spans to all methods and functions
jaeger 20,264 11 days ago A distributed tracing system
mm-go 142 27 days ago Generic manual memory management for golang
pixie 5,517 17 days ago No instrumentation tracing for Golang applications via eBPF
profile 1,992 almost 2 years ago Simple profiling support package for Go
statsviz 3,202 6 months ago Live visualization of your Go application runtime statistics
tracer 86 over 3 years ago Simple, lightweight tracing

Awesome Go / Query Language

api-fu 55 about 1 month ago Comprehensive GraphQL implementation
dasel 7,084 12 days ago Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies
gojsonq 2,185 almost 2 years ago A simple Go package to Query over JSON Data
goven 60 over 2 years ago A drop-in query language for any database schema
gqlgen 9,886 12 days ago go generate based graphql server library
grapher 3 about 1 year ago A GraphQL field builder utilizing Go generics with extra utilities and features
graphql 57 over 7 years ago graphql parser + utilities
graphql 4,643 21 days ago GraphQL server with a focus on ease of use
graphql-go 9,891 3 months ago Implementation of GraphQL for Go
gws 6 about 4 years ago Apollos' "GraphQL over Websocket" client and server implementation
jsonpath 25 12 months ago A query library for retrieving part of JSON based on JSONPath syntax
jsonql 275 almost 4 years ago JSON query expression library in Golang
jsonslice 85 2 months ago Jsonpath queries with advanced filters
mql 42 5 months ago Model Query Language (mql) is a query language for your database models
rql 340 3 months ago Resource Query Language for REST API
rqp 75 10 months ago Query Parser for REST API. Filtering, validations, both , operations are supported directly in the query
straf 38 over 4 years ago Easily Convert Golang structs to GraphQL objects

Awesome Go / Reflection

copy 48 almost 4 years ago Package for fast copying structs of different types
Deepcopier 451 over 4 years ago Simple struct copying for Go
go-deepcopy 20 19 days ago Fast deep copy library
goenum 10 21 days ago A common enumeration struct based on generics and reflection that allows you to quickly define enumerations and use a set of useful default methods
gotype 61 17 days ago Golang source code parsing, usage like reflect package
gpath 40 over 7 years ago Library to simplify access struct fields with Go's expression in reflection
objwalker 3 over 2 years ago Walk by go objects with reflection
reflectutils 8 about 2 months ago Helpers for working with reflection: struct tag parsing; recursive walking; fill value from string

Awesome Go / Resource Embedding

debme 32 over 3 years ago Create an from an existing subdirectory
esc 637 12 months ago Embeds files into Go programs and provides http.FileSystem interfaces to them
fileb0x 634 over 1 year ago Simple tool to embed files in go with focus on "customization" and ease to use
go-resources 176 almost 2 years ago Unfancy resources embedding with Go
go.rice 2,415 almost 2 years ago go.rice is a Go package that makes working with resources such as HTML, JS, CSS, images, and templates very easy
mule 15 about 3 years ago Embed external resources like images, movies ... into Go source code to create single file binaries using . Focused on simplicity
packr 3,410 almost 3 years ago The simple and easy way to embed static files into Go binaries
rebed 29 over 2 years ago Recreate folder structures and files from Go 1.16's type
statics 67 about 8 years ago Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks
statik 3,758 12 months ago Embeds static files into a Go executable
templify 30 about 3 years ago Embed external template files into Go code to create single file binaries
vfsgen 981 11 months ago Generates a vfsdata.go file that statically implements the given virtual filesystem

Awesome Go / Science and Data Analysis

assocentity 14 over 1 year ago Package assocentity returns the average distance from words to a given entity
bradleyterry 10 over 5 years ago Provides a Bradley-Terry Model for pairwise comparisons
calendarheatmap 395 about 1 month ago Calendar heatmap in plain Go inspired by Github contribution activity
chart 770 over 3 years ago Simple Chart Plotting library for Go. Supports many graphs types
dataframe-go 1,167 over 2 years ago Dataframes for machine-learning and statistics (similar to pandas)
decimal 40 about 2 years ago Package decimal implements arbitrary-precision decimal floating-point arithmetic
evaler 51 about 6 years ago Simple floating point arithmetic expression evaluator
ewma 435 10 months ago Exponentially-weighted moving averages
geom 55 almost 7 years ago 2D geometry for golang
go-dsp 858 about 1 year ago Digital Signal Processing for Go
go-estimate 112 4 months ago State estimation and filtering algorithms in Go
go-gt 11 about 9 years ago Graph theory algorithms written in "Go" language
go-hep 231 4 months ago A set of libraries and tools for performing High Energy Physics analyses with ease
godesim 23 over 2 years ago Extended/multivariable ODE solver framework for event-based simulations with simple API
goent 34 over 5 years ago GO Implementation of Entropy Measures
gograph 61 2 months ago A golang generic graph library that provides mathematical graph-theory and algorithms
gohistogram 174 almost 4 years ago Approximate histograms for data streams
gonum 7,541 about 1 month ago Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
gonum/plot 2,730 3 months ago gonum/plot provides an API for building and drawing plots in Go
goraph 736 over 2 years ago Pure Go graph theory library(data structure, algorithm visualization)
gosl 1,831 5 months ago Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more
GoStats 21 over 5 years ago GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions
graph 703 over 1 year ago Library of basic graph algorithms
jsonl-graph 73 about 2 months ago Tool to manipulate JSONL graphs with graphviz support
ode 22 over 7 years ago Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions
orb 899 2 months ago 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support
pagerank 83 over 3 years ago Weighted PageRank algorithm implemented in Go
piecewiselinear 26 10 months ago Tiny linear interpolation library
PiHex 20 5 months ago Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi
Poly 671 about 1 month ago A Go package for engineering organisms
rootfinding 11 over 4 years ago root-finding algorithms library for finding roots of quadratic functions
sparse 158 about 3 years ago Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries
stats 2,917 5 months ago Statistics package with common functions missing from the Golang standard library
streamtools 1,311 12 months ago general purpose, graphical tool for dealing with streams of data
TextRank 202 over 3 years ago TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support
topk 0 15 days ago Sliding-window and regular top-K sketches, based on the HeavyKeeper algorithm
triangolatte 36 about 3 years ago 2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs

Awesome Go / Security

acmetool 2,052 over 1 year ago ACME (Let's Encrypt) client tool with automatic renewal
acopw-go Small cryptographically secure password generator package for Go
acra 1,350 25 days ago Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system
age 17,024 16 days ago A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability
argon2-hashing 20 9 months ago light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package
argon2pw 90 about 3 years ago Argon2 password hash generation with constant-time password comparison
autocert Auto provision Let's Encrypt certificates and start a TLS server
BadActor 322 over 4 years ago In-memory, application-driven jailer built in the spirit of fail2ban
beelzebub 661 11 days ago A secure low code honeypot framework, leveraging AI for System Virtualization
booster 494 2 months ago Fast initramfs generator with full-disk encryption support
Cameradar 4,058 3 months ago Tool and library to remotely hack RTSP streams from surveillance cameras
certificates 38 almost 2 years ago An opinionated tool for generating tls certificates
CertMagic 5,002 10 days ago Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal
Coraza 2,172 11 days ago Enterprise-ready, modsecurity and OWASP CRS compatible WAF library
dongle 882 9 months ago A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption
encid 3 8 months ago Encode and decode encrypted integer IDs
firewalld-rest 338 9 months ago A rest application to dynamically update firewalld rules on a linux server
go-generate-password 54 over 2 years ago Password generator that can be used on the cli or as a library
go-htpasswd 37 10 months ago Apache htpasswd Parser for Go
go-password-validator 497 about 2 years ago Password validator based on raw cryptographic entropy values
go-peer 256 9 days ago A software library for creating secure and anonymous decentralized systems
go-yara 356 3 months ago Go Bindings for , the "pattern matching swiss knife for malware researchers (and everyone else)"
goArgonPass 18 almost 4 years ago Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations
goSecretBoxPassword 60 about 2 years ago A probably paranoid package for securely hashing and encrypting passwords
Interpol 4 over 2 years ago Rule-based data generator for fuzzing and penetration testing
lego 7,908 9 days ago Pure Go ACME client library and CLI tool (for use with Let's Encrypt)
luks.go 86 5 months ago Pure Golang library to manage LUKS partitions
memguard 2,545 6 months ago A pure Go library for handling sensitive values in memory
multikey 5 5 months ago An n-out-of-N keys encryption/decryption framework based on Shamir's Secret Sharing algorithm
nacl 545 3 months ago Go implementation of the NaCL set of API's
optimus-go 361 over 4 years ago ID hashing and Obfuscation using Knuth's Algorithm
passlib 289 over 3 years ago Futureproof password hashing library
passwap 51 about 1 month ago Provides a unified implementation between different password hashing algorithms
secret 28 about 2 months ago Prevent your secrets from leaking into logs, std* etc
secure 2,261 15 days ago HTTP middleware for Go that facilitates some quick security wins
secureio 33 over 4 years ago An keyexchanging+authenticating+encrypting wrapper and multiplexer for based on XChaCha20-poly1305, ECDH and ED25519
simple-scrypt 198 over 3 years ago Scrypt package with a simple, obvious API and automatic cost calibration built-in
ssh-vault 442 4 months ago encrypt/decrypt using ssh keys
sslmgr 26 2 months ago SSL certificates made easy with a high level wrapper around acme/autocert
teler-waf 348 about 1 month ago teler-waf is a Go HTTP middleware that provide teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications
themis 1,859 about 1 month ago high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps

Awesome Go / Serialization

asn1 55 over 5 years ago Asn.1 BER and DER encoding library for golang
bambam 65 about 8 years ago generator for Cap'n Proto schemas from go
bel 38 2 months ago Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC
binstruct 97 11 days ago Golang binary decoder for mapping data into the structure
cbor 718 8 days ago Small, safe, and easy CBOR encoding and decoding library
colfer 744 2 months ago Code generation for the Colfer binary format
csvutil 928 about 2 months ago High Performance, idiomatic CSV record encoding and decoding to native Go structures
elastic 23 over 3 years ago Convert slices, maps or any other unknown value across different types at run-time, no matter what
fixedwidth 9 almost 5 years ago Fixed-width text formatting (UTF-8 supported)
fwencoder 27 over 1 year ago Fixed width file parser (encoding and decoding library) for Go
go-capnproto 288 over 4 years ago Cap'n Proto library and parser for go
go-codec 1,848 7 months ago High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support
go-csvlib 12 about 1 month ago High level and rich functionalities CSV serialization/deserialization library
gogoprotobuf 5,664 about 1 year ago Protocol Buffers for Go with Gadgets
goprotobuf 9,737 2 months ago Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers
gotiny 20 9 months ago Efficient Go serialization library, gotiny is almost as fast as serialization libraries that generate code
jsoniter 13,361 5 months ago High-performance 100% compatible drop-in replacement of "encoding/json"
mapstructure 7,893 4 months ago Go library for decoding generic map values into native Go structures
php_session_decoder 164 almost 6 years ago GoLang library for working with PHP session format and PHP Serialize/Unserialize functions
pletter 19 10 months ago A standard way to wrap a proto message for message brokers
structomap 143 over 5 years ago Library to easily and dynamically generate maps from static structures
unitpacking 6 over 1 year ago Library to pack unit vectors into as fewest bytes as possible

Awesome Go / Server Applications

algernon 2,794 10 days ago HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber
Caddy 57,567 5 days ago Caddy is an alternative, HTTP/2 web server that's easy to configure and use
consul Consul is a tool for service discovery, monitoring and configuration
cortex-tenant 108 19 days ago Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels
devd 3,432 5 months ago Local webserver for developers
discovery 1,777 about 1 year ago A registry for resilient mid-tier load balancing and failover
dudeldu 144 about 5 years ago A simple SHOUTcast server
dummy 178 over 1 year ago Run mock server based off an API contract with one command
Easegress 5,767 12 days ago A cloud native high availability/performance traffic orchestration system with observability and extensibility
etcd 47,550 4 days ago Highly-available key value store for shared configuration and service discovery
Euterpe 534 13 days ago Self-hosted music streaming server with built-in web UI and REST API
Fider 2,871 10 days ago Fider is an open platform to collect and organize customer feedback
Flagr 2,421 25 days ago Flagr is an open-source feature flagging and A/B testing service
flipt 3,651 10 days ago A self contained feature flag solution written in Go and Vue.js
go-feature-flag 1,278 10 days ago A simple, complete and lightweight self-hosted feature flag solution 100% Open Source
go-proxy-cache 127 14 days ago Simple Reverse Proxy with Caching, written in Go, using Redis
gondola 7 4 months ago A YAML based golang reverse proxy
jackal 1,437 about 1 year ago An XMPP server written in Go
lets-proxy2 96 6 months ago Reverse proxy for handle https with issue certificates in fly from lets-encrypt
minio 47,067 10 days ago Minio is a distributed object storage server
Moxy 13 over 2 years ago Moxy is a simple mocker and proxy application server, you can create mock endpoints as well as proxy requests in case no mock exists for the endpoint
nginx-prometheus 41 about 4 years ago Nginx log parser and exporter to Prometheus
nsq A realtime distributed messaging platform
pocketbase 39,307 9 days ago PocketBase is a realtime backend in 1 file consisting of embedded database (SQLite) with realtime subscriptions, built-in auth management and much more
protoxy 35 almost 4 years ago A proxy server that converts JSON request bodies to Protocol Buffers
psql-streamer 59 over 4 years ago Stream database events from PostgreSQL to Kafka
riemann-relay 2 almost 5 years ago Relay to load-balance Riemann events and/or convert them to Carbon
RoadRunner 7,865 11 days ago High-performance PHP application server, load-balancer and process manager
SFTPGo 9,198 9 days ago Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage
simple-jwt-provider 39 over 1 year ago Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management
Trickster 1,986 about 2 months ago HTTP reverse proxy cache and time series accelerator
Wish 3,525 25 days ago Make SSH apps, just like that!

Awesome Go / Stream Processing

go-streams 1,876 28 days ago Go stream processing library
goio 82 over 1 year ago An implementation of IO, Stream, Fiber for Golang, inspired by awesome Scala libraries cats and fs2
machine 157 about 1 month ago Go library for writing and generating stream workers with built in metrics and traceability
stream 88 8 months ago Go Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce

Awesome Go / Template Engines

ego 581 over 1 year ago Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled
extemplate 58 almost 2 years ago Tiny wrapper around html/template to allow for easy file-based template inheritance
fasttemplate 828 about 1 year ago Simple and fast template engine. Substitutes template placeholders up to 10x faster than
gomponents HTML 5 components in pure Go, that look something like this:
gospin 58 over 3 years ago Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations
got 31 11 months ago A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more
goview 422 12 months ago Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application
jet 1,249 7 months ago Jet template engine
liquid 288 2 months ago Go implementation of Shopify Liquid templates
maroto 1,862 9 days ago A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple
pongo2 2,864 about 2 months ago Django-like template-engine for Go
quicktemplate 3,093 3 months ago Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it
raymond 602 2 months ago Complete handlebars implementation in Go
Razor 857 3 months ago Razor view engine for Golang
Soy 172 7 months ago Closure templates (aka Soy templates) for Go, following the
sprout 87 21 days ago Useful template functions for Go templates
tbd 25 about 3 years ago A really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata
templ 8,036 12 days ago A HTML templating language that has great developer tooling

Awesome Go / Testing / Testing Frameworks

apitest Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams
arch-go 162 9 days ago Architecture testing tool for Go projects
assert 62 about 2 years ago Basic Assertion Library used along side native go testing, with building blocks for custom assertions
baloo 776 about 2 years ago Expressive and versatile end-to-end HTTP API testing made easy
be 103 12 months ago The minimalist generic test assertion library
biff 14 almost 2 years ago Bifurcation testing framework, BDD compatible
charlatan 202 11 months ago Tool to generate fake interface implementations for tests
commander 226 6 months ago Tool for testing cli applications on windows, linux and osx
cupaloy 300 over 1 year ago Simple snapshot testing addon for your test framework
dbcleaner 162 almost 3 years ago Clean database for testing purpose, inspired by in Ruby
dft 5 about 2 months ago Lightweight, zero dependency docker containers for testing (or more)
dsunit 44 7 months ago Datastore testing for SQL, NoSQL, structured files
embedded-postgres 828 about 2 months ago Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test
endly 265 18 days ago Declarative end to end functional testing
envite 5 about 1 month ago Dev and testing environment management framework
fixenv 29 2 months ago Fixture manage engine, inspired by pytest fixtures
fluentassert 41 26 days ago Extensible, type-safe, fluent assertion Go library
flute 19 11 days ago HTTP client testing framework
frisby 278 over 4 years ago REST API testing framework
gherkingen 74 3 months ago BDD boilerplate generator and framework
ginkgo BDD Testing Framework for Go
gnomock 1,382 about 1 month ago integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks
go-carpet 246 12 days ago Tool for viewing test coverage in terminal
go-cmp 4,175 10 months ago Package for comparing Go values in tests
go-hit 255 3 months ago Hit is an http integration test framework written in golang
go-mutesting 640 3 months ago Mutation testing for Go source code
go-mysql-test-container 2 about 2 years ago Golang MySQL testcontainer to help with MySQL integration testing
go-snaps Jest-like snapshot testing in Golang
go-testdeep 434 about 2 months ago Extremely flexible golang deep comparison, extends the go testing package
go-testpredicate 5 almost 3 years ago Test predicate style assertions library with extensive diagnostics output
go-vcr 1,247 18 days ago Record and replay your HTTP interactions for fast, deterministic and accurate tests
goblin 884 almost 2 years ago Mocha like testing framework of Go
goc 811 about 2 months ago Goc is a comprehensive coverage testing system for The Go Programming Language
gocheck More advanced testing framework alternative to gotest
GoConvey 8,237 2 months ago BDD-style framework with web UI and live reload
gocrest 105 about 1 month ago Composable hamcrest-like matchers for Go assertions
godog 2,298 20 days ago Cucumber BDD framework for Go
gofight 440 over 3 years ago API Handler Testing for Golang Router framework
gogiven 15 over 1 year ago YATSPEC-like BDD testing framework for Go
gomatch 47 over 3 years ago library created for testing JSON against patterns
gomega Rspec like matcher/assertion library
Gont 77 13 days ago Go network testing toolkit for testing building complex network topologies using Linux namespaces
gospecify 52 almost 13 years ago This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec
gosuite 12 almost 8 years ago Brings lightweight test suites with setup/teardown facilities to by leveraging Go1.7's Subtests
got 264 4 months ago An enjoyable golang test framework
gotest.tools 513 about 1 month ago A collection of packages to augment the go testing package and support common patterns
Hamcrest 30 almost 4 years ago fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results
httpexpect 2,534 5 months ago Concise, declarative, and easy to use end-to-end HTTP and REST API testing
is 1,772 8 months ago Professional lightweight testing mini-framework for Go
jsonassert 126 9 days ago Package for verifying that your JSON payloads are serialized correctly
keploy 4,808 9 days ago Generate Testcase and Data Mocks from API calls automatically
omg.testingtools 1 almost 3 years ago The simple library for change a values of private fields for testing
restit 55 4 months ago Go micro framework to help writing RESTful API integration test
schema 21 almost 5 years ago Quick and easy expression matching for JSON schemas used in requests and responses
stop-and-go 10 5 months ago Testing helper for concurrency
testcase 121 11 days ago Idiomatic testing framework for Behavior Driven Development
testcerts 67 17 days ago Dynamically generate self-signed certificates and certificate authorities within your test functions
testcontainers-go 3,531 11 days ago A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done
testfixtures 1,104 11 days ago A helper for Rails' like test fixtures to test database applications
Testify 23,135 10 days ago Sacred extension to the standard go testing package
testsql 17 about 5 years ago Generate test data from SQL files before testing and clear it after finished
testza 418 about 1 year ago Full-featured test framework with nice colorized output
trial 6 about 2 years ago Quick and easy extendable assertions without introducing much boilerplate
Tt 8 4 months ago Simple and colorful test tools
wstest 102 almost 4 years ago Websocket client for unit-testing a websocket http.Handler

Awesome Go / Testing / Mock

counterfeiter 977 about 1 month ago Tool for generating self-contained mock objects
genmock Go mocking system with code generator for building calls of the interface methods
go-localstack 76 20 days ago Tool for using localstack in AWS testing
go-sqlmock 6,090 about 1 month ago Mock SQL driver for testing database interactions
go-txdb 651 3 months ago Single transaction based database driver mainly for testing purposes
gock 2,089 18 days ago Versatile HTTP mocking made easy
gomock 9,298 9 months ago Mocking framework for the Go programming language
govcr 170 6 months ago HTTP mock for Golang: record and replay HTTP interactions for offline testing
hoverfly 2,349 about 1 month ago HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI
httpmock 1,916 about 2 months ago Easy mocking of HTTP responses from external resources
minimock 632 about 1 month ago Mock generator for Go interfaces
mockery 6,010 10 days ago Tool to generate Go interfaces
mockhttp 23 almost 10 years ago Mock object for Go http.ResponseWriter
mooncake 18 about 2 years ago A simple way to generate mocks for multiple purposes
moq 1,971 about 2 months ago Utility that generates a struct from any interface. The struct can be used in test code as a mock of the interface
timex 70 about 4 years ago A test-friendly replacement for the native package
xgo 331 22 days ago A general pureposed function mocking library

Awesome Go / Testing / Fuzzing and delta-debugging/reducing/shrinking

go-fuzz 4,757 18 days ago Randomized testing system
gofuzz 1,494 almost 2 years ago Library for populating go objects with random values
Tavor 245 almost 6 years ago Generic fuzzing and delta-debugging framework

Awesome Go / Testing / Selenium and browser control tools

cdp 722 about 1 month ago Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it
chromedp 10,919 2 months ago a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol
ggr 314 6 months ago a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs
playwright-go 2,115 19 days ago browser automation library to control Chromium, Firefox and WebKit with a single API
rod 5,257 about 2 months ago A Devtools driver to make web automation and scraping easy
selenoid 2,579 2 months ago alternative Selenium hub server that launches browsers within containers

Awesome Go / Testing / Fail injection

failpoint 815 5 months ago An implementation of for Golang

Awesome Go / Text Processing / Formatters

address 71 6 months ago Handles address representation, validation and formatting
align 84 about 3 years ago A general purpose application that aligns text
bytes 538 10 months ago Formats and parses numeric byte values (10K, 2M, 3G, etc.)
go-fixedwidth 80 8 months ago Fixed-width text formatting (encoder/decoder with reflection)
go-humanize 4,319 7 months ago Formatters for time, numbers, and memory size to human readable format
gotabulate 332 over 3 years ago Easily pretty-print your tabular data with Go
textwrap 5 about 5 years ago Wraps text at end of lines. Implementation of module from Python

Awesome Go / Text Processing / Markup Languages

bafi 104 7 months ago Universal JSON, BSON, YAML, XML translator to ANY format using templates
bbConvert 12 about 2 months ago Converts bbCode to HTML that allows you to add support for custom bbCode tags
blackfriday 5,431 9 months ago Markdown processor in Go
go-output-format 17 8 months ago Output go structures into multiple formats (YAML/JSON/etc) in your command line app
go-toml 1,716 about 2 months ago Go library for the TOML format with query support and handy cli tools
goldmark 3,608 about 2 months ago A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured
goq 257 about 3 years ago Declarative unmarshalling of HTML using struct tags with jQuery syntax (uses GoQuery)
html-to-markdown 860 about 1 month ago Convert HTML to Markdown. Even works with entire websites and can be extended through rules
htmlquery 733 4 months ago An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression
htmlyaml 4 about 2 months ago Rich rendering of YAML as HTML in Go
htree 4 9 months ago Traverse, navigate, filter, and otherwise process trees of objects
mxj 622 6 months ago Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages
toml 4,557 2 months ago TOML configuration format (encoder/decoder with reflection)

Awesome Go / Text Processing / Parsers/Encoders/Decoders

allot 59 over 2 years ago Placeholder and wildcard text parsing for CLI tools and bots
codetree 24 almost 5 years ago Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure
commonregex 895 almost 5 years ago A collection of common regular expressions for Go
did 88 almost 2 years ago DID (Decentralized Identifiers) Parser and Stringer in Go
doi 8 about 7 years ago Document object identifier (doi) parser in Go
editorconfig-core-go 141 about 1 month ago Editorconfig file parser and manipulator for Go
encdec 9 almost 5 years ago Package provides a generic interface to encoders and decoders
go-fasttld 33 about 1 month ago High performance effective top level domains (eTLD) extraction module
go-nmea 226 2 months ago NMEA parser library for the Go language
go-querystring 1,970 9 days ago Go library for encoding structs into URL query parameters
go-vcard 106 about 1 year ago Parse and format vCard
godump 149 10 days ago Pretty print any GO variable with ease, an alternative to Go's
gofeed 2,564 2 months ago Parse RSS and Atom feeds in Go
gographviz 549 over 1 year ago Parses the Graphviz DOT language
gonameparts 42 9 days ago Parses human names into individual name parts
ltsv 9 15 days ago High performance reader for Go
normalize 46 over 3 years ago Sanitize, normalize and compare fuzzy text
parseargs-go 10 over 7 years ago string argument parser that understands quotes and backslashes
parth 0 5 months ago URL path segmentation parsing
prattle 6 12 months ago Scan and parse LL(1) grammars simply and efficiently
sdp 113 over 4 years ago SDP: Session Description Protocol [ ]
sh 7,189 13 days ago Shell parser and formatter
tokenizer 92 6 months ago Parse any string, slice or infinite buffer to any tokens
when 1,328 11 months ago Natural EN and RU language date/time parser with pluggable rules
xj2go 34 almost 3 years ago Convert xml or json to go struct

Awesome Go / Text Processing / Regular Expressions

genex 77 almost 5 years ago Count and expand Regular Expressions into all matching Strings
go-wildcard 81 about 1 year ago Simple and lightweight wildcard pattern matching
goregen 90 over 2 years ago Library for generating random strings from regular expressions
regroup 145 17 days ago Match regex expression named groups into go struct using struct tags and automatic parsing
rex 194 8 months ago Regular expressions builder

Awesome Go / Text Processing / Sanitation

bluemonday 3,159 3 months ago HTML Sanitizer
gofuckyourself 65 over 1 year ago A sanitization-based swear filter for Go

Awesome Go / Text Processing / Scrapers

colly 23,125 2 months ago Fast and Elegant Scraping Framework for Gophers
dataflowkit 659 over 1 year ago Web scraping Framework to turn websites into structured data
go-recipe 27 over 1 year ago A package for scraping recipes from websites
GoQuery 13,963 about 1 month ago GoQuery brings a syntax and a set of features similar to jQuery to the Go language
pagser 104 12 months ago Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler
Tagify 37 3 months ago Produces a set of tags from given source
walker 10 over 1 year ago Seamlessly fetch paginated data from any source. Simple and high performance API scraping included
xurls 1,181 11 days ago Extract urls from text

Awesome Go / Text Processing / RSS

podcast 132 almost 4 years ago iTunes Compliant and RSS 2.0 Podcast Generator in Golang

Awesome Go / Text Processing / Utility/Miscellaneous

go-runewidth 607 3 months ago Functions to get fixed width of the character or string
go-zero-width 109 about 4 years ago Zero-width character detection and removal for Go
kace 20 about 6 years ago Common case conversions covering common initialisms
petrovich 47 11 months ago Petrovich is the library which inflects Russian names to given grammatical case
radix 192 over 6 years ago Fast string sorting algorithm
TySug 18 over 1 year ago Alternative suggestions with respect to keyboard layouts
w2vgrep 1,108 about 2 months ago A semantic grep tool using word embeddings to find semantically similar matches. For example, searching for "death" will find "dead", "killing", "murder"

Awesome Go / Third-party APIs

airtable 76 7 months ago Go client library for the
amazon-product-advertising-api 57 over 6 years ago Go Client Library for
anaconda 1,143 9 months ago Go client library for the Twitter 1.1 API
appstore-sdk-go 5 9 months ago Unofficial Golang SDK for AppStore Connect API
aws-sdk-go 2,607 9 days ago The official AWS SDK for the Go programming language
bqwriter 15 about 1 year ago High Level Go Library to write data into at a high throughout
brewerydb 19 over 9 years ago Go library for accessing the BreweryDB API
cachet 91 over 3 years ago Go client library for
circleci 65 9 months ago Go client library for interacting with CircleCI's API
clarifai 55 about 7 years ago Go client library for interfacing with the Clarifai API
codeship-go 18 almost 4 years ago Go client library for interacting with Codeship's API v2
coinpaprika-go 23 10 months ago Go client library for interacting with Coinpaprika's API
device-check-go 25 2 months ago Go client library for interacting with v1
discordgo 5,045 11 days ago Go bindings for the Discord Chat API
disgo 87 about 1 year ago Go API Wrapper for the Discord API
dusupay-sdk-go 3 almost 2 years ago Unofficial Dusupay payment gateway API Client for Go
ethrpc 267 9 months ago Go bindings for Ethereum JSON RPC API
facebook 1,324 5 months ago Go Library that supports the Facebook Graph API
fasapay-sdk-go 2 over 2 years ago Unofficial Fasapay payment gateway XML API Client for Golang
fcm 51 over 4 years ago Go library for Firebase Cloud Messaging
gads 50 almost 3 years ago Google Adwords Unofficial API
gami 33 over 6 years ago Go library for Asterisk Manager Interface
gcm 31 almost 9 years ago Go library for Google Cloud Messaging
geo-golang 512 4 months ago Go Library to access , , , , , , and geocoding / reverse geocoding APIs
github 10,336 11 days ago Go library for accessing the GitHub REST API v3
githubql 1,113 3 months ago Go library for accessing the GitHub GraphQL API v4
go-atlassian 125 10 days ago Go library for accessing the services (Jira, Jira Service Management, Jira Agile, Confluence, Admin Cloud)
go-aws-news 17 4 months ago Go application and library to fetch what's new from AWS
go-chronos 8 over 6 years ago Go library for interacting with the Job Scheduler
go-hacknews 17 about 7 years ago Tiny Go client for HackerNews API
go-here 13 over 4 years ago Go client library around the HERE location based APIs
go-hibp 8 5 months ago Simple Go binding to the "Have I Been Pwned" APIs
go-imgur 24 3 months ago Go client library for
go-jira 1,468 11 days ago Go client library for
go-lark 201 about 1 month ago An easy-to-use unofficial SDK for and Open Platform
go-marathon 199 about 4 years ago Go library for interacting with Mesosphere's Marathon PAAS
go-myanimelist 39 6 months ago Go client library for accessing the
go-openai 9,039 16 days ago OpenAI ChatGPT, DALL·E, Whisper API library for Go
go-openproject 16 almost 2 years ago Go client library for interacting with API
go-postman-collection 81 5 months ago Go module to work with (compatible with Insomnia)
go-redoc 69 5 months ago Embedded OpenAPI/Swagger documentation ui for Go using
go-restcountries 4 almost 3 years ago Go library for the
go-salesforce 25 22 days ago Go client library for interacting with the
go-sophos 12 over 2 years ago Go client library for the with zero dependencies
go-swagger-ui 11 almost 2 years ago Go library containing precompiled for serving swagger json
go-telegraph Telegraph publishing platform API client
go-trending 140 5 months ago Go library for accessing and at Github
go-twitter 1,589 almost 2 years ago Go client library for the Twitter v1.1 APIs
go-unsplash 74 over 1 year ago Go client library for the API
go-xkcd 51 almost 2 years ago Go client for the xkcd API
go-yapla Go client library for the Yapla v2.0 API
goagi 10 4 months ago Go library to build Asterisk PBX agi/fastagi applications
goami2 15 6 months ago AMI v2 library for Asterisk PBX
GoFreeDB 36 11 months ago Golang library providing common and simple database abstractions on top of Google Sheets
gogtrends 80 almost 2 years ago Google Trends Unofficial API
golang-tmdb 119 about 1 month ago Golang wrapper for The Movie Database API v3
golyrics 42 over 6 years ago Golyrics is a Go library to fetch music lyrics data from the Wikia website
gomalshare 13 over 5 years ago Go library MalShare API
GoMusicBrainz 57 over 1 year ago Go MusicBrainz WS2 client library
google 3,992 8 days ago Auto-generated Google APIs for Go
google-analytics 15 over 9 years ago Simple wrapper for easy google analytics reporting
google-cloud 3,729 8 days ago Google Cloud APIs Go Client Library
google-email-audit-api 8 almost 8 years ago Go client library for
google-play-scraper 81 12 months ago Get data from Google Play Store
gopaapi5 16 over 4 years ago Go Client Library for
gopensky 2 15 days ago Go client implementation for live's API (airspace ADS-B and Mode S data)
gosip 141 8 months ago Client library for SharePoint
gostorm 129 about 7 years ago GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells
hipchat 104 over 8 years ago This project implements a golang client library for the Hipchat API
hipchat (xmpp) 111 over 7 years ago A golang package to communicate with HipChat over XMPP
igdb 81 over 1 year ago Go client for the
ip2location-io-go 10 4 months ago Go wrapper for the IP2Location.io API
jokeapi-go 24 10 months ago Go client for
lark 416 about 1 month ago / Open API Go SDK, Support ALL Open API and Event Callback
lastpass-go 34 over 1 year ago Go client library for the API
libgoffi 9 about 4 years ago Library adapter toolbox for native integration
Medium 140 almost 6 years ago Golang SDK for Medium's OAuth2 API
megos 54 over 3 years ago Client library for accessing an cluster
minio-go 2,447 10 days ago Minio Go Library for Amazon S3 compatible cloud storage
mixpanel 61 over 1 year ago Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications
newsapi-go 7 7 months ago Go client for
openaigo 290 5 months ago OpenAI GPT3/GPT3.5 ChatGPT API client library for Go
patreon-go 42 about 2 years ago Go library for Patreon API
paypal 682 18 days ago Wrapper for PayPal payment API
playlyfe 2 over 8 years ago The Playlyfe Rest API Go SDK
pushover 140 6 months ago Go wrapper for the Pushover API
rawg-sdk-go 12 over 2 years ago Go library for the API
rrdaclient 10 about 10 years ago Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP
shopify 25 almost 4 years ago Go Library to make CRUD request to the Shopify API
simples3 149 3 months ago Simple no frills AWS S3 Library using REST with V4 Signing written in Go
slack 4,659 23 days ago Slack API in Go
smite 11 about 10 years ago Go package to wraps access to the Smite game API
spotify 50 about 1 month ago Go Library to access Spotify WEB API
steam 32 4 months ago Go Library to interact with Steam game servers
stripe 2,123 11 days ago Go client for the Stripe API
swag 46 5 months ago No comments, simple go wrapper to create swagger 2.0 compatible APIs. Support most routing frameworks, such as built-in, gin, chi, mux, echo, httprouter, fasthttp and more
textbelt 19 about 9 years ago Go client for the textbelt.com txt messaging API
translate 33 over 8 years ago Go online translation package
Trello 219 6 months ago Go wrapper for the Trello API
TripAdvisor 2 almost 5 years ago Go wrapper for the TripAdvisor API
tumblr 8 almost 8 years ago Go wrapper for the Tumblr v2 API
twitter-scraper 894 11 months ago Scrape the Twitter Frontend API without authentication and limits
uptimerobot 57 over 1 year ago Go wrapper and command-line client for the Uptime Robot v2 API
vl-go 2 over 3 years ago Go client library around the VerifID identity verification layer API
webhooks 951 2 months ago Webhook receiver for GitHub and Bitbucket
wit-go 158 3 months ago Go client for wit.ai HTTP API
ynab 70 8 months ago Go wrapper for the YNAB API
zooz 7 7 months ago Go client for the Zooz API

Awesome Go / Utilities

apm 166 almost 8 years ago Process manager for Golang applications with an HTTP API
backscanner 64 7 months ago A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward
blank 13 about 5 years ago Verify or remove blanks and whitespace from strings
bleep 11 almost 4 years ago Perform any number of actions on any set of OS signals in Go
boilr 1,721 over 1 year ago Blazingly fast CLI tool for creating projects from boilerplate templates
changie 676 13 days ago Automated changelog tool for preparing releases with lots of customization options
chyle 157 10 days ago Changelog generator using a git repository with multiple configuration possibilities
circuit 763 about 1 month ago An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern
circuitbreaker 1,124 5 months ago Circuit Breakers in Go
clipboard 593 about 2 months ago 📋 cross-platform clipboard package in Go
clockwork 656 about 2 months ago A simple fake clock for golang
cmd 153 9 months ago Library for executing shell commands on osx, windows and linux
command 14 over 8 years ago Command pattern for Go with thread safe serial and parallel dispatcher
config-file-validator 325 about 1 month ago Cross Platform tool to validate configuration files
contextplus 16 over 1 year ago Package contextplus provide more easy to use functions for contexts
cookie 110 10 days ago Cookie struct parsing and helper package
copy-pasta 50 over 4 years ago Universal multi-workstation clipboard that uses S3 like backend for the storage
countries 398 5 months ago Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards
countries 88 about 1 year ago All you need when you are working with countries in Go
create-go-app 2,571 about 1 month ago A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command
cryptgo 155 almost 3 years ago Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
ctop 15,468 3 months ago interface (e.g. htop) for container metrics
ctxutil 25 over 4 years ago A collection of utility functions for contexts
cvt 48 21 days ago Easy and safe convert any value to another type
dbt 62 4 months ago A framework for running self-updating signed binaries from a central, trusted repository
Death 196 over 2 years ago Managing go application shutdown with signals
delve 632 3 months ago Go debugger
dive 45,722 3 months ago A tool for exploring each layer in a Docker image
dlog 17 about 7 years ago Compile-time controlled logger to make your release smaller without removing debug calls
EaseProbe 2,159 11 days ago A simple, standalone, and lightWeight tool that can do health/status checking daemon, support HTTP/TCP/SSH/Shell/Client/... probes, and Slack/Discord/Telegram/SMS... notification
equalizer 83 7 months ago Quota manager and rate limiter collection for Go
ergo 622 3 months ago The management of multiple local services running over different ports made easy
evaluator 39 over 1 year ago Evaluate an expression dynamically based on s-expression. It's simple and easy to extend
Failsafe-go 1,639 11 days ago Fault tolerance and resilience patterns for Go
filetype 2,096 7 months ago Small package to infer the file type checking the magic numbers signature
filler 18 over 7 years ago small utility to fill structs using "fill" tag
filter 151 9 days ago provide filtering, sanitizing, and conversion of Go data
fzf 64,227 11 days ago Command-line fuzzy finder written in Go
generate 30 almost 8 years ago runs go generate recursively on a specified path or environment variable and can filter by regex
ghokin 43 about 1 month ago Parallelized formatter with no external dependencies for gherkin (cucumber, behat...)
git-time-metric 976 over 2 years ago Simple, seamless, lightweight time tracking for Git
gitbatch 1,538 over 1 year ago manage your git repositories in one place
gitcs 115 4 months ago Git Commits Visualizer, CLI tool to visualize your Git commits on your local machine
go-actuator 15 over 2 years ago Production ready features for Go based web frameworks
go-astitodo 64 6 months ago Parse TODOs in your GO code
go-bind-plugin 184 about 5 years ago go:generate tool for wrapping symbols exported by golang plugins (1.8 only)
go-bsdiff 161 over 5 years ago Pure Go bsdiff and bspatch libraries and CLI tools
go-clip 13 over 3 years ago A minimalistic clipboard manager for Mac
go-convert 23 5 months ago Package go-convert enables you to convert a value into another type
go-countries 13 almost 4 years ago Lightweight lookup over ISO-3166 codes
go-dry 488 about 1 year ago DRY (don't repeat yourself) package for Go
go-funk 4,756 3 months ago Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...)
go-health 97 over 2 years ago Health package simplifies the way you add health check to your services
go-httpheader 47 about 1 year ago Go library for encoding structs into Header fields
go-lambda-cleanup 91 11 days ago A CLI for removing unused or previous versions of AWS Lambdas
go-lock 116 over 2 years ago go-lock is a lock library implementing read-write mutex and read-write trylock without starvation
go-pattern-match 92 about 1 year ago A Pattern matching library inspired by ts-pattern
go-pkg 7 over 2 years ago A go toolkit
go-problemdetails 17 over 4 years ago Go package for working with Problem Details
go-qr 29 about 2 months ago A native, high-quality and minimalistic QR code generator
go-rate 397 over 2 years ago Timed rate limiter for Go
go-sitemap-generator 219 3 months ago XML Sitemap generator written in Go
go-trigger 246 over 7 years ago Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project
go-type 18 18 days ago Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types
goback 49 over 3 years ago Go simple exponential backoff package
goctx 9 almost 4 years ago Get your context value with high performance
godaemon 494 over 3 years ago Utility to write daemons
godropbox 4,168 10 months ago Common libraries for writing Go services/applications from Dropbox
gofn 43 10 days ago High performance utility functions written using Generics for Go 1.18+
gohper 255 about 7 years ago Various tools/modules help for development
golarm 53 about 9 years ago Fire alarms with system events
golog 61 over 5 years ago Easy and lightweight CLI tool to time track your tasks
gopencils 452 over 5 years ago Small and simple package to easily consume REST APIs
goplaceholder 29 over 8 years ago a small golang lib to generate placeholder images
goreadability 69 over 5 years ago Webpage summary extractor using Facebook Open Graph and arc90's readability
goreleaser 13,681 8 days ago Deliver Go binaries as fast and easily as possible
goreporter 3,125 almost 6 years ago Golang tool that does static analysis, unit testing, code review and generate code quality report
goseaweedfs 114 almost 2 years ago SeaweedFS client library with almost full features
gostrutils 45 3 months ago Collections of string manipulation and conversion functions
gotenv 296 about 1 year ago Load environment variables from or any in Go
goval 154 3 months ago Evaluate arbitrary expressions in Go
graterm 26 almost 2 years ago Provides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application
grofer 350 over 1 year ago A system and resource monitoring tool written in Golang!
gubrak 481 over 1 year ago Golang utility library with syntactic sugar. It's like lodash, but for golang
handy 81 about 4 years ago Many utilities and helpers like string handlers/formatters and validators
hostctl 1,083 9 months ago A CLI tool to manage /etc/hosts with easy commands
htcat 555 over 5 years ago Parallel and Pipelined HTTP GET Utility
hub 22,791 8 months ago wrap git commands with additional functionality to interact with github from the terminal
hystrix-go 4,227 8 months ago Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker
immortal 801 3 months ago *nix cross-platform (OS agnostic) supervisor
intrinsic 47 over 7 years ago Use x86 SIMD without writing any assembly code
jsend 22 over 3 years ago JSend's implementation written in Go
json-log-viewer 86 6 days ago Interactive viewer for JSON logs
jump 1,782 5 months ago Jump helps you navigate faster by learning your habits
just 31 about 1 month ago Just a collection of useful functions for working with generic data structures
koazee 528 almost 4 years ago Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays
lancet 4,546 14 days ago A comprehensive, efficient, and reusable util function library of go
lets-go 7 over 3 years ago Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities
limiters 430 9 days ago Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks
lo 17,605 11 days ago A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...)
loncha 9 about 2 years ago A high-performance slice Utilities
lrserver 127 7 months ago LiveReload server for Go
mani 437 11 days ago CLI tool to help you manage multiple repositories
mc 2,832 10 days ago Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems
mergo 2,867 about 2 months ago Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements
mimemagic 99 about 1 year ago Pure Go ultra performant MIME sniffing library/utility
mimesniffer 33 about 2 years ago A MIME type sniffer for Go
mimetype 1,635 11 days ago Package for MIME type detection based on magic numbers
minify 3,715 12 days ago Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats
minquery 62 over 1 year ago MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off)
moldova 168 about 7 years ago Utility for generating random data based on an input template
mole 1,692 5 months ago cli app to easily create ssh tunnels
mongo-go-pagination 129 over 1 year ago Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines
mssqlx 102 6 months ago Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind
multitick 70 10 months ago Multiplexor for aligned tickers
myhttp 34 over 6 years ago Simple API to make HTTP GET requests with timeout support
netbug 73 almost 9 years ago Easy remote profiling of your services
nfdump 10 over 1 year ago Read nfdump netflow files
nostromo 142 4 months ago CLI for building powerful aliases
okrun 16 about 10 years ago go run error steamroller
olaf 6 over 5 years ago Twitter Snowflake implemented in Go
onecache 136 over 4 years ago Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc)
panicparse 3,521 about 1 year ago Groups similar goroutines and colorizes stack dump
pattern-match 243 over 1 year ago Pattern matching library
peco 7,662 7 months ago Simplistic interactive filtering tool
pgo 86 6 months ago Convenient functions for PHP community
pm 80 10 months ago Process (i.e. goroutine) manager with an HTTP API
pointer 43 5 months ago Package pointer contains helper routines for simplifying the creation of optional fields of basic type
ptr 27 over 1 year ago Package that provide functions for simplified creation of pointers from constants of basic types
rclient 35 almost 5 years ago Readable, flexible, simple-to-use client for REST APIs
remote-touchpad 516 about 1 month ago Control mouse and keyboard from a smartphone
repeat 86 about 4 years ago Go implementation of different backoff strategies useful for retrying operations and heartbeating
request 426 almost 5 years ago Go HTTP Requests for Humans™
rerun 167 over 6 years ago Recompiling and rerunning go apps when source changes
rest-go 16 about 4 years ago A package that provide many helpful methods for working with rest api
retry 340 4 months ago The most advanced functional mechanism to perform actions repetitively until successful
retry 10 over 1 year ago A simple but highly configurable retry package for Go
retry 66 almost 3 years ago Simple and easy retry mechanism package for Go
retry 12 over 4 years ago A pretty simple library to ensure your work to be done
retry-go 2,417 about 1 month ago Simple library for retry mechanism
retry-go 50 almost 6 years ago Retrying made simple and easy for golang
robustly 157 10 months ago Runs functions resiliently, catching and restarting panics
rospo 310 about 1 month ago Simple and reliable ssh tunnels with embedded ssh server in Golang
scan 557 about 1 month ago Scan golang directly to structs, slices, or primitive types
scan 63 7 months ago Scan sql rows into any type powered by generics
scany 1,285 4 months ago Library for scanning data from a database into Go structs and more
serve 333 3 months ago A static http server anywhere you need
set 47 over 2 years ago Performant and flexible struct mapping and loose type conversion
shutdown 58 over 2 years ago App shutdown hooks for handling
silk 14 over 2 years ago Read silk netflow files
slice 51 over 4 years ago Type-safe functions for common Go slice operations
sliceconv 10 over 4 years ago Slice conversion between primitive types
slicer 45 about 3 years ago Makes working with slices easier
sorty 132 5 months ago Fast Concurrent / Parallel Sorting
sqlx 16,071 about 2 months ago provides a set of extensions on top of the excellent built-in database/sql package
sshman 48 almost 2 years ago SSH Manager for authorized_keys files on multiple remote servers
statiks 11 about 4 years ago Fast, zero-configuration, static HTTP filer server
Storm 2,061 9 months ago Simple and powerful toolkit for BoltDB
structs 24 almost 7 years ago Implement simple functions to manipulate structs
throttle 38 about 3 years ago Throttle is an object that will perform exactly one action per duration
tik 5 almost 4 years ago Simple and easy timing wheel package for Go
tome 35 over 2 years ago Tome was designed to paginate simple RESTful APIs
toolbox 197 18 days ago Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer
ugo 27 over 8 years ago ugo is slice toolbox with concise syntax for Go
UNIS 70 over 7 years ago Common Architecture™ for String Utilities in Go
upterm 838 12 days ago A tool for developers to share terminal/tmux sessions securely over the web. It’s perfect for remote pair programming, accessing computers behind NATs/firewalls, remote debugging, and more
usql 8,905 about 2 months ago usql is a universal command-line interface for SQL databases
util 291 about 2 years ago Collection of useful utility functions. (strings, concurrency, manipulations, ...)
watchhttp 32 about 2 months ago Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint
wifiqr 262 5 months ago Wi-Fi QR Code Generator
wuzz 10,542 3 months ago Interactive cli tool for HTTP inspection
xferspdy 101 over 3 years ago Xferspdy provides binary diff and patch library in golang
yogo 41 about 1 month ago Check yopmail mails from command line

Awesome Go / UUID

fastuuid 0 over 1 year ago Fast generate UUIDv4 as string or bytes
goid 41 over 5 years ago Generate and Parse RFC4122 compliant V4 UUIDs
gouid 24 9 months ago Generate cryptographically secure random string IDs with just one allocation
nanoid 61 about 2 years ago A tiny and efficient Go unique string ID generator
sno 91 almost 3 years ago Compact, sortable and fast unique IDs with embedded metadata
ulid 4,467 6 months ago Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier)
uniq No hassle safe, fast unique identifiers with commands
uuid 18 over 4 years ago Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier
uuid 1,575 12 days ago Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid
uuid 5,283 2 months ago Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services
wuid 532 9 months ago An extremely fast globally unique number generator
xid 3,904 about 2 months ago Xid is a globally unique id generator library, ready to be safely used directly in your server code

Awesome Go / Validation

checkdigit 111 over 1 year ago Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.)
go-validator 12 about 1 month ago Validation library using Generics
gody 68 3 months ago A lightweight struct validator for Go
govalid 45 about 2 months ago Fast, tag-based validation for structs
govalidator 6,024 about 1 month ago Validators and sanitizers for strings, numerics, slices and structs
govalidator 1,317 5 months ago Validate Golang request data with simple rules. Highly inspired by Laravel's request validation
hvalid 9 5 months ago hvalid is a lightweight validation library written in Go language. It provides a custom validator interface and a series of common validation functions to help developers quickly implement data validation
jio 111 3 months ago jio is a json schema validator similar to
ozzo-validation 3,718 7 months ago Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags
validate 1,060 10 days ago Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features
validate 94 about 2 years ago This package provides a framework for writing validations for Go applications
validator 16,639 about 1 month ago Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
Validator 7 about 2 months ago A lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex
valix 28 11 months ago Go package for validating requests

Awesome Go / Version Control

cli An open-source GitLab command line tool bringing GitLab's cool features to your command line
froggit-go 45 3 months ago Froggit-Go is a Go library, allowing to perform actions on VCS providers
gh 82 almost 6 years ago Scriptable server and net/http middleware for GitHub Webhooks
git2go 1,928 7 months ago Go bindings for libgit2
githooks 102 9 days ago Per-repo and shared Git hooks with version control and auto update
go-git 5,873 12 days ago highly extensible Git implementation in pure Go
go-vcs 80 about 1 year ago manipulate and inspect VCS repositories in Go
hercules 2,588 over 1 year ago gaining advanced insights from Git repository history
hgo 17 about 9 years ago Hgo is a collection of Go packages providing read-access to local Mercurial repositories

Awesome Go / Video

gmf 889 about 2 years ago Go bindings for FFmpeg av* libraries
go-astiav 365 14 days ago Better C bindings for ffmpeg in GO
go-astisub 577 10 days ago Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)
go-astits 541 12 months ago Parse and demux MPEG Transport Streams (.ts) natively in GO
go-m3u8 29 about 2 years ago Parser and generator library for Apple m3u8 playlists. Actively maintained version of quangngotan95/go-m3u8 with improvements and latest HLS playlist parsing compatibility
go-mpd 24 11 months ago Parser and generator library for MPEG-DASH manifest files
goav 2,098 over 2 years ago Comprehensive Go bindings for FFmpeg
gortsplib 674 16 days ago Pure Go RTSP server and client library
gst 169 almost 4 years ago Go bindings for GStreamer
libgosubs 26 over 4 years ago Subtitle format support for go. Supports .srt, .ttml, and .ass
libvlc-go 433 29 days ago Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player)
m3u8 1,226 2 months ago Parser and generator library of M3U8 playlists for Apple HLS
v4l 79 7 months ago Video capture library for Linux, written in Go

Awesome Go / Web Frameworks

aah Scalable, performant, rapid development Web framework for Go
Aero 572 8 months ago High-performance web framework for Go, reaches top scores in Lighthouse
Air 440 over 1 year ago An ideally refined web framework for Go
anoweb 5 about 2 years ago The lightweight and powerful web framework using the new way for Go.Another go the way
appy 132 7 months ago An opinionated productive web framework that helps scaling business easier
Atreugo 1,227 3 months ago High performance and extensible micro web framework with zero memory allocations in hot paths
Banjo 24 over 6 years ago Very simple and fast web framework for Go
Beego 31,497 21 days ago beego is an open-source, high-performance web framework for the Go programming language
Buffalo Bringing the productivity of Rails to Go!
Confetti Framework Confetti is a Go web application framework with an expressive, elegant syntax. Confetti combines the elegance of Laravel and the simplicity of Go
Don 51 15 days ago A highly performant and simple to use API framework
Echo 29,610 about 2 months ago High performance, minimalist Go web framework
Fastschema 240 10 days ago A flexible Go web framework and Headless CMS
Fiber 33,388 10 days ago An Express.js inspired web framework build on Fasthttp
Fireball 60 about 6 years ago More "natural" feeling web framework
Flamingo 453 8 days ago Framework for pluggable web projects. Including a concept for modules and offering features for DI, Configareas, i18n, template engines, graphql, observability, security, events, routing & reverse routing etc
Flamingo Commerce 506 9 days ago Providing e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications
Fuego 820 10 days ago The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code
Gearbox 755 about 1 year ago A web framework written in Go with a focus on high performance and memory optimization
Gin 78,246 19 days ago Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity
Ginrpc 290 14 days ago Gin parameter automatic binding tool,gin rpc tools
Gizmo 3,763 about 1 year ago Microservice toolkit used by the New York Times
go-json-rest 3,514 over 3 years ago Quick and easy way to setup a RESTful JSON API
go-rest 128 over 7 years ago Small and evil REST framework for Go
Goa 5,654 20 days ago Goa provides a holistic approach for developing remote APIs and microservices in Go
goa 49 almost 5 years ago goa is just like koajs for golang, it is a flexible, light, high-performance and extensible web framework based on middleware
GoFr 2,839 8 days ago Gofr is an opinionated microservice development framework
GoFrame 11,529 9 days ago GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang
golamb 7 4 months ago Golamb makes it easier to write API endpoints for use with AWS Lambda and API Gateway
Golax 75 almost 2 years ago A non Sinatra fast HTTP framework with support for Google custom methods, deep interceptors, recursion and more
Golf 269 about 3 years ago Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library
Gondola 312 over 5 years ago The web framework for writing faster sites, faster
Gone 116 about 1 month ago A lightweight dependency injection and web framework inspired by Spring
gongular 500 over 4 years ago Fast Go web framework with input mapping/validation and (DI) Dependency Injection
GoTuna 48 about 1 year ago Minimalistic web framework for Go with mux router, middlewares, sessions, templates, embedded views and static files
goweb 36 about 2 years ago Web framework with routing, websockets, logging, middleware, static file server (optional gzip), and automatic TLS
Goyave 1,611 15 days ago Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities
Hertz 5,230 15 days ago A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices
hiboot 180 about 2 months ago hiboot is a high performance web application framework with auto configuration and dependency injection support
Huma 1,939 12 days ago Framework for modern REST/GraphQL APIs with built-in OpenAPI 3, generated documentation, and a CLI
iWF 522 2 days ago iWF is an all-in-one platform for developing long-running business processes. It offers a convenient abstraction for utilizing databases, ElasticSearch, message queues, durable timers, and more, with a clean, simple, and user-friendly interface
Lit 24 8 months ago Highly performant declarative web framework for Golang, aiming for simplicity and quality of life
Macaron 3,503 about 1 month ago Macaron is a high productive and modular design web framework in Go
mango 372 almost 7 years ago Mango is a modular web-application framework for Go, inspired by Rack, and PEP333
Microservice 114 6 months ago The framework for the creation of microservices, written in Golang
neo 419 almost 2 years ago Neo is minimal and fast Go Web Framework with extremely simple API
patron 123 12 days ago Patron is a microservice framework following best cloud practices with a focus on productivity
Pnutmux Pnutmux is a powerful Go web framework that uses regex for matching and handling HTTP requests. It offers features such as CORS handling, structured logging, URL parameters extraction, middlewares, and concurrency limiting
Pulse 37 over 1 year ago Pulse is an HTTP web framework written in Go (Golang)
Resoursea 35 over 9 years ago REST framework for quickly writing resource based services
REST Layer 1,256 about 3 years ago Framework to build REST/GraphQL API on top of databases with mostly configuration over code
Revel 13,147 12 months ago High-productivity web framework for the Go language
rex 33 almost 7 years ago Rex is a library for modular development built upon gorilla/mux, fully compatible with
rk-boot 514 6 months ago A bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily
rux 97 10 days ago Simple and fast web framework for build golang HTTP applications
tango 832 over 5 years ago Micro & pluggable web framework for Go
tigertonic 997 about 6 years ago Go framework for building JSON web services inspired by Dropwizard
uAdmin 336 21 days ago Fully featured web framework for Golang, inspired by Django
utron 2,218 almost 6 years ago Lightweight MVC framework for Go(Golang)
vox 84 almost 2 years ago A golang web framework for humans, inspired by Koa heavily
WebGo 304 6 months ago A micro-framework to build web apps; with handler chaining, middleware and context injection. With standard library compliant HTTP handlers(i.e. http.HandlerFunc)
YARF 67 over 5 years ago Fast micro-framework designed to build REST APIs and web services in a fast and simple way
Yokai 367 10 days ago Simple, modular, and observable Go framework for backend applications

Awesome Go / Web Frameworks / Middlewares

client-timing 24 over 4 years ago An HTTP client for Server-Timing header
CORS 2,648 about 1 month ago Easily add CORS capabilities to your API
echo-middleware 15 about 1 month ago Middleware for Echo framework with logging and metrics
formjson 39 almost 9 years ago Transparently handle JSON input as a standard form POST
go-fault 503 about 2 months ago Fault injection middleware for Go
go-server-timing 862 10 months ago Add/parse Server-Timing header
Limiter 2,068 17 days ago Dead simple rate limit middleware for Go
ln-paywall 148 over 5 years ago Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin)
mid 9 over 2 years ago Miscellaneous HTTP middleware features: idiomatic error return from handlers; receive/respond with JSON data; request tracing; and more
rk-gin 45 6 months ago Middleware for Gin framework with logging, metrics, auth, tracing etc
rk-grpc 75 12 months ago Middleware for gRPC with logging, metrics, auth, tracing etc
Tollbooth 2,662 4 months ago Rate limit HTTP request handler
XFF 98 over 2 years ago Handle header and friends
alice 3,101 4 months ago Painless middleware chaining for Go
catena 9 about 6 years ago http.Handler wrapper catenation (same API as "chain")
chain 63 about 6 years ago Handler wrapper chaining with scoped data (net/context-based "middleware")
gores 102 almost 4 years ago Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs
interpose 294 almost 8 years ago Minimalist net/http middleware for golang
mediary 88 over 4 years ago add interceptors to to allow dumping/shaping/tracing/... of requests/responses
muxchain 208 over 5 years ago Lightweight middleware for net/http
negroni 7,462 4 months ago Idiomatic HTTP middleware for Golang
render 1,928 14 days ago Go package for easily rendering JSON, XML, and HTML template responses
renderer 262 over 3 years ago Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go
rye 102 over 1 year ago Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context
stats 595 almost 2 years ago Go middleware that stores various information about your web application

Awesome Go / Web Frameworks / Routers

alien 131 7 months ago Lightweight and fast http router from outer space
bellt 54 about 2 years ago A simple Go HTTP router
Bone 1,289 over 5 years ago Lightning Fast HTTP Multiplexer
Bxog 102 about 2 years ago Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters
chi 18,281 16 days ago Small, fast and expressive HTTP router built on net/context
fasthttprouter 874 over 5 years ago High performance router forked from . The first router fit for
FastRouter 23 almost 7 years ago a fast, flexible HTTP router written in Go
goblin 78 5 months ago A golang http router based on trie tree
gocraft/web 1,510 about 4 years ago Mux and middleware package in Go
Goji 966 about 2 years ago Goji is a minimalistic and flexible HTTP request multiplexer with support for
GoLobby/Router 21 over 2 years ago GoLobby Router is a lightweight yet powerful HTTP router for the Go programming language
goroute 9 almost 5 years ago Simple yet powerful HTTP request multiplexer
GoRouter 154 about 1 month ago GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting
gowww/router 185 about 1 year ago Lightning fast HTTP router fully compatible with the net/http.Handler interface
httprouter 16,568 3 months ago High performance router. Use this and the standard http handlers to form a very high performance web framework
httptreemux 617 3 months ago High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter
lars 386 over 5 years ago Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks
mux 20,725 about 2 months ago Powerful URL router and dispatcher for golang
nchi 13 8 days ago chi-like router built on httprouter with dependency injection based middleware wrappers
ngamux 66 about 1 month ago Simple HTTP router for Go
ozzo-routing 453 over 2 years ago An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs
pure 149 about 1 year ago Is a lightweight HTTP router that sticks to the std "net/http" implementation
Siesta 349 10 months ago Composable framework to write middleware and handlers
vestigo 268 about 4 years ago Performant, stand-alone, HTTP compliant URL Router for go web applications
violetear 107 about 2 years ago Go HTTP router
xmux 98 over 7 years ago High performance muxer based on with support
xujiajun/gorouter 533 about 5 years ago A simple and fast HTTP router for Go

Awesome Go / WebAssembly

dom 486 about 5 years ago DOM library
Extism Go SDK 77 13 days ago Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps
go-canvas 244 almost 4 years ago Library to use HTML5 Canvas, with all drawing within go code
tinygo 15,256 7 days ago Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM
vert 101 almost 2 years ago Interop between Go and JS values
wasmbrowsertest 187 2 months ago Run Go WASM tests in your browser
webapi 174 almost 2 years ago Bindings for DOM and HTML generated from WebIDL

Awesome Go / Windows

d3d9 159 over 1 year ago Go bindings for Direct3D9
go-ole 1,158 5 months ago Win32 OLE implementation for golang
gosddl 11 over 5 years ago Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL

Awesome Go / XML

XML-Comp 21 about 6 years ago Simple command line XML comparer that generates diffs of folders, files and tags
xml2map 62 almost 3 years ago XML to MAP converter written Golang
xmlwriter 28 over 1 year ago Procedural XML generation API based on libxml2's xmlwriter module
xpath 685 about 1 month ago XPath package for Go
xquery 158 over 6 years ago XQuery lets you extract data from HTML/XML documents using XPath expression
zek 747 about 2 months ago Generate a Go struct from XML

Awesome Go / Zero Trust

Cosign 4,405 11 days ago Container Signing, Verification and Storage in an OCI registry
in-toto 129 9 days ago Go implementation of the in-toto (provides a framework to protect the integrity of the software supply chain) python reference implementation
Spiffe-Vault 84 29 days ago Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication
Spire 1,781 10 days ago SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms

Awesome Go / Code Analysis

apicompat 179 over 7 years ago Checks recent changes to a Go project for backwards incompatible changes
asty 79 over 1 year ago Converts golang AST to JSON and JSON to AST
blanket blanket is a tool that helps you catch functions which don't have direct unit tests in your Go packages
ChainJacking 55 over 2 years ago Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack
Chronos 425 over 2 years ago Detects race conditions statically
dupl 343 7 months ago Tool for code clone detection
errcheck 2,341 3 months ago Errcheck is a program for checking for unchecked errors in Go programs
gcvis 1,097 over 5 years ago Visualise Go program GC trace data in real time
go-checkstyle 129 over 3 years ago checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments
go-cleanarch 857 almost 3 years ago go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects
go-critic 1,841 27 days ago source code linter that brings checks that are currently not implemented in other linters
go-mod-outdated 649 over 1 year ago An easy way to find outdated dependencies of your Go projects
go-outdated 43 over 5 years ago Console application that displays outdated packages
goast-viewer 766 11 months ago Web based Golang AST visualizer
goimports Tool to fix (add, remove) your Go imports automatically
golang-ifood-sdk 11 about 2 years ago iFood API SDK
golangci-lint 15,453 9 days ago – A fast Go linters runner. It runs linters in parallel, uses caching, supports config, has integrations with all major IDE and has dozens of linters included
golines 913 12 days ago Formatter that automatically shortens long lines in Go code
GoPlantUML 1,841 2 months ago Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them
goreturns 530 12 months ago Adds zero-value return statements to match the func return types
gostatus 244 11 months ago Command line tool, shows the status of repositories that contain Go packages
lint 67 almost 6 years ago Run linters as part of go test
php-parser 938 over 3 years ago A Parser for PHP written in Go
revive 4,783 10 days ago – ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for
staticcheck 6,137 22 days ago staticcheck is on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#
testifylint 98 9 days ago – A linter that checks usage of
tickgit 324 10 months ago CLI and go package for surfacing code comment TODOs (in any language) and applying a to identify the author
todocheck 424 12 months ago Static code analyser which links TODO comments in code with issues in your issue tracker
unconvert 376 about 1 year ago Remove unnecessary type conversions from Go source
usestdlibvars 43 4 months ago A linter that detect the possibility to use variables/constants from the Go standard library
vacuum 580 10 days ago An ultra-super-fast, lightweight OpenAPI linter and quality checking tool
validate 61 about 1 year ago Automatically validates struct fields with tags
wrapcheck 302 about 2 months ago A linter to check that errors from external packages are wrapped

Awesome Go / Editor Plugins

coc-go language server extension for Vim/Neovim 564 10 months ago This plugin adds features to Vim/Neovim
Go Doc 8 8 months ago A Visual Studio Code extension for showing definition in output and generating go doc
Go plugin for JetBrains IDEs Go plugin for JetBrains IDEs
go-language-server 32 over 5 years ago A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol
go-mode 1,384 3 months ago Go mode for GNU/Emacs
go-plus 1,511 over 3 years ago Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting
gocode 5,009 6 months ago Autocompletion daemon for the Go programming language
goimports-reviser 587 about 1 month ago Formatting tool for imports
goprofiling This extension adds benchmark profiling support for the Go language to VS Code
GoSublime 3,418 about 4 years ago Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features
gounit-vim 24 almost 6 years ago Vim plugin for generating Go tests based on the function's or method's signature
theia-go-extension 15 over 5 years ago Go language support for the Theia IDE
vim-compiler-go 89 over 8 years ago Vim plugin to highlight syntax errors on save
vim-go 15,979 19 days ago Go development plugin for Vim
vscode-go 3,864 12 days ago Extension for Visual Studio Code (VS Code) which provides support for the Go language
Watch 201 over 1 year ago Runs a command in an acme win on file changes

Awesome Go / Go Generate Tools

envdoc 56 about 2 months ago generate documentation for environment variables from Go source files
generic 48 over 3 years ago flexible data type for Go
genny 1,708 about 3 years ago Elegant generics for Go
gocontracts 110 over 5 years ago brings design-by-contract to Go by synchronizing the code with the documentation
godal 18 almost 3 years ago Generate orm models corresponding to golang by specifying sql ddl file, which can be used by gorm
gonerics 114 about 10 years ago Idiomatic Generics in Go
gotests 4,935 about 1 year ago Generate Go tests from your source code
gounit 80 about 6 years ago Generate Go tests using your own templates
hasgo 141 over 3 years ago Generate Haskell inspired functions for your slices
options-gen 77 4 months ago Functional options described by Dave Cheney's post "Functional options for friendly APIs"
re2dfa Transform regular expressions into finite state machines and output Go source code
sqlgen 82 over 1 year ago Generate gorm, xorm, sqlx, bun, sql code from SQL file or DSN
TOML-to-Go Translates TOML into a Go type in the browser instantly
xgen 328 3 months ago XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator

Awesome Go / Go Tools

colorgo 113 about 4 years ago Wrapper around command for colorized output
decouple 21 8 months ago Find “overspecified” function parameters that could be generalized with interface types
depth 925 over 2 years ago Visualize dependency trees of any package by analyzing imports
docs 39 over 1 year ago Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard
go-callvis 5,949 3 months ago Visualize call graph of your Go program using dot format
go-size-analyzer 1,174 13 days ago Analyze and visualize the size of dependencies in compiled Golang binaries, providing insight into their impact on the final build
go-swagger 9,491 15 days ago Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API
godbg 202 over 5 years ago Implementation of Rusts macro for quick and easy debugging during development
gomodrun 34 5 months ago Go tool that executes and caches binaries included in go.mod files
gotemplate.io Online tool to preview templates live
gotestdox 112 4 months ago Show Go test results as readable sentences
gothanks 124 over 1 year ago GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers
igo 66 over 4 years ago An igo to go transpiler (new language features for Go language!)
modver 18 27 days ago Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to rules
MoniGO 195 14 days ago A performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀
OctoLinker 5,271 about 1 year ago Navigate through go files efficiently with the OctoLinker browser extension for GitHub
richgo 848 3 months ago Enrich outputs with text decorations
roumon 183 3 months ago Monitor current state of all active goroutines via a command line interface
rts 249 almost 2 years ago RTS: response to struct. Generates Go structs from server responses
textra 6 over 1 year ago Extract Go struct field names, types and tags for filtering and exporting
typex 199 about 1 year ago Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration

Awesome Go / Software Packages / DevOps Tools

abbreviate 219 3 months ago abbreviate is a tool turning long strings in to shorter ones with configurable separators, for example to embed branch names in to deployment stack IDs
alaz 644 10 days ago Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring
aptly 12 about 5 years ago aptly is a Debian repository management tool
aurora 597 about 3 years ago Cross-platform web-based Beanstalkd queue server console
awsenv 35 about 6 years ago Small binary that loads Amazon (AWS) environment variables for a profile
Balerter 299 3 months ago A self-hosted script-based alerting manager
Blast 217 over 6 years ago A simple tool for API load testing and batch jobs
bombardier 5,922 3 months ago Fast cross-platform HTTP benchmarking tool
bosun 3,397 3 months ago Time Series Alerting Framework
cassowary 759 about 1 month ago Modern cross-platform HTTP load-testing tool written in Go
Ddosify 8,385 22 days ago High-performance load testing tool, written in Golang
decompose 85 22 days ago tool to generate and process Docker containers connections graphs
DepCharge 23 almost 3 years ago Helps orchestrating the execution of commands across the many dependencies in larger projects
Docker Open platform for distributed applications for developers and sysadmins
docker-go-mingw 45 29 days ago Docker image for building Go binaries for Windows with MinGW toolchain
Dockerfile-Generator 170 over 2 years ago A go library and an executable that produces valid Dockerfiles using various input channels
dogo 267 over 5 years ago Monitoring changes in the source file and automatically compile and run (restart)
drone-jenkins 38 over 2 years ago Trigger downstream Jenkins jobs using a binary, docker or Drone CI
drone-scp 142 3 months ago Copy files and artifacts via SSH using a binary, docker or Drone CI
Dropship 64 about 6 years ago Tool for deploying code via cdn
easyssh-proxy 320 25 days ago Golang package for easy remote execution through SSH and SCP downloading via
fac 1,839 10 months ago Command-line user interface to fix git merge conflicts
Flannel 8,752 5 days ago Flannel is a network fabric for containers, designed for Kubernetes
Fleet device management 2,983 10 days ago Lightweight, programmable telemetry for servers and workstations
gaia 5,195 about 1 year ago Build powerful pipelines in any programming language
ghorg 1,546 11 days ago Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket
Gitea 44,384 10 days ago Fork of Gogs, entirely community driven
gitea-github-migrator Migrate all your GitHub repositories, issues, milestones and labels to your Gitea instance
go-furnace 98 almost 3 years ago Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean
go-rocket-update 103 3 months ago A simple way to make self updating Go applications - Supports Github and Gitlab
go-selfupdate 1,517 about 2 months ago Enable your Go applications to self update
gobrew 194 over 4 years ago gobrew lets you easily switch between multiple versions of go
gobrew 369 11 days ago Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash
godbg 228 over 6 years ago Web-based gdb front-end application
Gogs A Self Hosted Git Service in the Go Programming Language
gonative 340 about 8 years ago Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages
govvv 538 over 1 year ago “go build” wrapper to easily add version information into Go binaries
gox 4,594 over 1 year ago Dead simple, no frills Go cross compile tool