awesome-go

Go library list

A curated collection of useful Go libraries and frameworks

A curated list of awesome Go frameworks, libraries and software

GitHub

133k stars
3k watching
12k forks
Language: Go
last commit: 2 days 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.

Awesome Go / Actor Model

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

Awesome Go / Artificial Intelligence

chromem-go 299 3 months 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,635 28 days ago LangChainGo is a framework for developing applications powered by language models
LocalAI 25,827 4 days ago Open Source OpenAI alternative, self-host AI models
Ollama 97,979 6 days ago Run large language models locally
OllamaFarm 40 2 months ago Manage, load-balance, and failover packs of Ollamas

Awesome Go / Audio and Music

flac 318 3 months ago Native Go FLAC encoder/decoder with support for FLAC streams
gaad 126 almost 2 years ago Native Go AAC bitstream parser
GoAudio 351 7 months ago Native Go Audio Processing Library
gosamplerate 34 10 months ago libsamplerate bindings for go
id3v2 338 about 1 year ago ID3 decoding and encoding library for Go
malgo 301 30 days ago Mini audio library
minimp3 127 over 1 year ago Lightweight MP3 decoder library
Oto 1,592 about 2 months ago A low-level library to play sound on multiple platforms
PortAudio 708 over 1 year ago Go bindings for the PortAudio audio I/O library

Awesome Go / Authentication and OAuth

authboss 3,857 4 months ago Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time
branca 85 8 days ago branca token for Golang 1.15+
casbin 17,804 2 months ago Authorization library that supports access control models like ACL, RBAC, and ABAC
cookiestxt 17 8 months ago provides a parser of cookies.txt file format
go-guardian 560 4 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 334 about 2 months ago Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs
gologin 1,820 6 days ago chainable handlers for login with OAuth1 and OAuth2 authentication providers
gorbac 1,605 4 months ago provides a lightweight role-based access control (RBAC) implementation in Golang
gosession 251 4 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,619 about 1 month ago provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box
jeff 266 over 1 year ago Simple, flexible, secure, and idiomatic web session management with pluggable backends
jwt 355 over 1 year ago Lightweight JSON Web Token (JWT) library
jwt 671 4 months ago Safe, simple, and fast JSON Web Tokens for Go
jwt-auth 232 over 3 years ago JWT middleware for Golang http servers with many configuration options
jwt-go 7,240 17 days 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,952 6 days ago Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies
keto 4,838 7 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,921 over 3 years ago JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam
oauth2 5,390 14 days ago Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support
oidc 1,402 6 days ago Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
openfga 2,932 6 days ago Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by
osin 1,915 3 months ago Golang OAuth2 server library
otpgen 137 10 months ago Library to generate TOTP/HOTP codes
otpgo 70 over 3 years ago Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go
paseto 857 over 1 year ago Golang implementation of Platform-Agnostic Security Tokens (PASETO)
permissions2 512 about 1 month ago Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt
scope 39 over 3 years ago Easily Manage OAuth2 Scopes In Go
scs 2,161 4 months ago Session Manager for HTTP servers
securecookie 79 almost 2 years ago Efficient secure cookie encoding/decoding
session 118 3 months ago Go session management for web servers (including support for Google App Engine - GAE)
sessions 78 over 1 year ago Dead simple, highly performant, highly customizable sessions service for go http servers
sessionup 125 over 2 years ago Simple, yet effective HTTP session management and identification package
sjwt 119 10 months ago Simple jwt generator and parser

Awesome Go / Blockchain

cometbft 646 6 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,270 6 days ago A Framework for Building Public Blockchains in the Cosmos Ecosystem
gno 896 6 days ago A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains
go-ethereum 47,592 6 days ago Official Go implementation of the Ethereum protocol
gosemble 12 about 2 months ago A Go-based framework for building Polkadot/Substrate-compatible runtimes
gossamer 433 6 days ago A Go implementation of the Polkadot Host
kubo 16,174 5 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,703 6 days ago A complete implementation of a Lighting Network node
solana-go 901 7 days ago Go library to interface with Solana JSON RPC and WebSocket interfaces
tendermint 5,716 8 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 747 13 days ago Zero-dependencies Telegram Bot library with additional UI components
echotron 372 about 1 month ago An elegant and concurrent library for Telegram Bots in Go
ephemeral-roles 90 6 months ago A Discord bot for managing ephemeral roles based upon voice channel member presence
go-chat-bot 825 8 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 106 7 days ago Generated from official docs Go client library for accessing Telegram Bot API, with batteries for building complex bots included
go-tgbot 120 over 6 years ago Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router, and middleware
go-twitch-irc 357 about 2 months ago Library to write bots for twitch.tv chat
Golang CryptoTrading Bot 1,082 11 months ago A golang implementation of a console-based trading bot for cryptocurrency exchanges
govkbot 50 about 1 year ago Simple Go bot library
hanu 154 over 1 year ago Framework for writing Slack bots
Kelp 1,103 about 1 year 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 161 9 months ago Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go
margelet 86 about 2 years ago Framework for building Telegram bots
micha 30 3 months ago Go Library for Telegram bot api
olivia 3,686 12 months ago A chatbot built with an artificial neural network
slack-bot 185 7 days ago Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github
slacker 42 about 1 month ago Easy to use framework to create Slack bots
slackscot 55 over 1 year ago Another framework for building Slack bots
tbot 355 11 months ago Telegram bot server with API similar to net/http
telebot 4,025 about 1 month ago Telegram bot framework is written in Go
telego 560 15 days ago Telegram Bot API library for Golang with full one-to-one API implementation
telegram-bot-api 5,824 3 months ago Simple and clean Telegram bot client
teleterm 38 over 1 year ago Telegram Bot Exec Terminal Command
Tenyks 177 almost 2 years ago Service oriented IRC bot using Redis and JSON for messaging
wayback 1,811 8 days ago A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages

Awesome Go / Build Automation

1build 227 over 1 year ago Command line tool to frictionlessly manage project-specific commands
air 18,194 10 days ago Air - Live reload for Go apps
anko 39 over 3 years ago Simple application watcher for multiple programming languages
gaper 81 over 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 11 3 months ago / like build tool for Go projects
goyek 571 9 days ago Create build pipelines in Go
mage 4,154 5 months ago Mage is a make/rake-like build tool using Go
mmake 1,723 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,454 6 days ago simple "Make" alternative
taskctl 295 6 months ago Concurrent task runner
xc 1,198 2 months ago Task runner with README.md defined tasks, executable markdown

Awesome Go / Command Line / Advanced Console UIs

asciigraph 2,682 26 days ago Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies
aurora 1,426 about 2 years ago ANSI terminal colors that support fmt.Printf/Sprintf
box-cli-maker 538 3 months ago Make Highly Customized Boxes for your CLI
bubble-table 454 21 days ago An interactive table component for bubbletea
bubbles 5,605 6 days ago TUI components for bubbletea
bubbletea 27,979 6 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 68 over 3 years ago Simple and convenient formatted stylized output fully compatible with fmt library
chalk 452 about 5 years ago Intuitive package for prettifying terminal/console output
colourize 27 over 2 years ago Go library for ANSI colour text in terminals
crab-config-files-templating 7 over 2 years ago Dynamic configuration file templating tool for kubernetes manifest or general configuration files
ctc 46 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 769 10 months ago Colorable writer for windows
go-colortext 214 over 4 years ago Go library for color output in terminals
go-isatty 832 4 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,290 4 months ago Library for building a powerful interactive prompt, inspired by
gocui 9,917 2 months ago Minimalist Go library aimed at creating Console User Interfaces
gommon/color 542 11 months ago Style terminal text
gookit/color 1,514 about 2 months ago Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows
lipgloss 8,164 6 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,320 3 months ago Multi progress bar for terminal applications
progressbar 4,138 12 days ago Basic thread-safe progress bar that works in every OS
pterm 4,859 13 days ago A library to beautify console output on every platform with many combinable components
simpletable 531 over 3 years ago Simple tables in a terminal with Go
spinner 2,353 11 days ago Go package to easily provide a terminal spinner with options
tabby 356 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 76 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,676 almost 3 years ago Termbox is a library for creating cross-platform text-based interfaces
termdash 2,730 about 2 months ago Go terminal dashboard based on and inspired by
termenv 1,755 2 months ago Advanced ANSI style & color support for your terminal applications
termui 13,211 4 months ago Go terminal dashboard based on and inspired by
uilive 1,698 over 1 year ago Library for updating terminal output in real time
uiprogress 2,110 9 months ago Flexible library to render progress bars in terminal applications
uitable 735 about 2 years ago Library to improve readability in terminal apps using tabular data
yacspin 439 almost 3 years ago Yet Another CLi Spinner package, for working with terminal spinners

Awesome Go / Command Line / Standard CLI

acmd 115 7 months ago Simple, useful, and opinionated CLI package in Go
argparse 611 about 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 418 6 days ago Command argument completion generator for spf13/cobra
carapace-bin 943 6 days ago Multi-shell multi-command argument completer
carapace-spec 19 11 days ago Define simple completions using a spec file
climax 217 about 4 years ago Alternative CLI with "human face", in spirit of Go command
clîr 180 5 months ago A Simple and Clear CLI library. Dependency free
cmd 40 about 4 years ago Extends the standard package to support sub commands and more in idiomatic way
cmdr 136 10 days ago A POSIX/GNU style, getopt-like command-line UI Go library
cobra 38,275 16 days ago Commander for modern Go CLI interactions
command-chain 62 over 1 year ago A go library for configure and run command chains - such as pipelining in unix shells
commandeer 174 about 2 years ago Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags
complete 928 over 1 year ago Write bash completions in Go + Go command bash completion
Dnote 2,800 5 months ago A simple command line notebook with multi-device sync
elvish 5,705 10 days ago An expressive programming language and a versatile interactive shell
env 114 5 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 859 over 1 year ago A robust and idiomatic flags package with excellent subcommand support
flagvar 43 about 2 months 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,032 17 days ago Struct-based argument parsing in Go
go-commander 35 over 4 years ago Go library to simplify CLI workflow
go-flags 2,596 4 months ago go command line option parser
go-getoptions 56 about 1 month ago Go option parser inspired by the flexibility of Perl’s GetOpt::Long
gocmd 65 over 1 year ago Go library for building command line applications
hiboot cli 180 about 1 month 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,499 10 days ago Command line and flag parser supporting sub commands (superseded by ; see below)
liner 1,049 over 1 year ago Go readline-like library for command-line interfaces
mcli 33 8 months ago A minimal but very powerful cli library for Go
mitchellh/cli 1,734 4 months ago Go library for implementing command-line interfaces
mkideal/cli 732 10 months ago Feature-rich and easy to use command-line package based on golang struct tags
mow.cli 872 9 months ago Go library for building CLI applications with sophisticated flag and argument parsing and validation
ops 1,295 14 days ago Unikernel Builder/Orchestrator
pflag 2,424 4 months ago Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
readline 90 3 months ago Shell library with modern and easy to use UI features
sand 27 almost 6 years ago Simple API for creating interpreters and so much more
sflags 156 8 days ago Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries
strumt 62 3 months ago Library to create prompt chain
subcmd 8 5 months ago Another approach to parsing and running subcommands. Works alongside the standard package
survey 4,092 8 months ago Build interactive and accessible prompts with full support for windows and posix terminals
teris-io/cli 130 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 almost 6 years ago Small command line interface framework
urfave/cli 22,371 12 days ago Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli)
version 101 over 1 year ago Collects and displays CLI version information in multiple formats along with upgrade notice
wlog 66 6 months ago Simple logging interface that supports cross-platform color and concurrency
wmenu 216 6 months ago Easy to use menu structure for cli applications that prompt users to make choices

Awesome Go / Configuration

aconfig 551 about 1 month ago Simple, useful and opinionated config loader
bcl 19 11 days ago BCL is a configuration language similar to HCL
cleanenv 1,661 3 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 50 12 months ago configure your app using file, environment variables, or flags in two lines of code
configuration 108 7 months ago Library for initializing configuration structs from env variables, files, flags and 'default' tag
configure 56 almost 6 years ago Provides configuration through multiple sources, including JSON, flags and environment variables
configuro 95 about 2 years ago opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications
confiq 35 7 months ago Structured data format to config struct decoder library for Go - supporting multiple data formats
confita 495 9 months ago Load configuration in cascade from multiple backends into a struct
conflate 32 over 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,932 6 days ago Parse environment variables to Go structs (with defaults)
env 66 3 months ago A lightweight package for loading environment variables into structs
env 6 6 days ago An environment utility package with support for unmarshaling into structs
envconfig 241 about 3 years ago Read your configuration from environment variables
envh 99 9 months ago Helpers to manage environment variables
fig 380 9 months ago Tiny library for reading configuration from a file and from environment variables (with validation & defaults)
genv 39 over 5 years ago Read environment variables easily with dotenv support
go-array 20 7 months ago A Go package that read or set data from map, slice or json
go-aws-ssm 59 7 months ago Go package that fetches parameters from AWS System Manager - Parameter Store
go-cfg 42 4 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 11 27 days 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 1 month 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 almost 5 years ago A simple configuration library with recursive placeholders resolution and no magic
GoCfg 6 5 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,445 20 days 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 367 almost 2 years ago GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language
gone/jconf 50 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 over 3 years ago Tag-based configuration parser which loads values from different providers into typesafe struct
gookit/config 539 9 months ago application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge
harvester 132 6 days ago Harvester, an easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration
hjson 331 7 months ago Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments
hocon 79 3 months 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,468 7 months ago Go package to read and write INI files
ini 15 over 1 year ago INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file
joshbetz/config 215 about 3 years ago Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP
kelseyhightower/envconfig 5,070 4 months ago Go library for managing configuration data from environment variables
koanf 2,788 15 days ago Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line
konf 239 10 days ago The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP)
konfig 648 about 4 years ago Composable, observable and performant config handling for Go for the distributed processing era
kong 2,151 6 days ago Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to )
mini 35 almost 6 years ago Golang package for parsing ini-style configuration files
nasermirzaei89/env 18 21 days ago Simple useful package for read environment variables
nfigure 7 9 days 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,939 6 days ago A blazingly fast JSON serializing & deserializing library
store 274 over 1 year ago Lightweight configuration manager for Go
swap 8 about 3 years ago Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env)
typenv 9 almost 2 years ago Minimalistic, zero dependency, typed environment variables library
uConfig 69 7 months ago Lightweight, zero-dependency, and extendable configuration management
viper 27,211 7 days ago Go configuration with fangs
xdg 712 6 days ago Go implementation of the and
xdg 79 about 4 years ago Cross platform package that follows the
yamagiconf 18 about 1 month ago The "safe subset" of YAML for Go configs

Awesome Go / Continuous Integration

abstruse 938 10 months ago Abstruse is a distributed CI platform
Bencher A suite of continuous benchmarking tools designed to catch performance regressions in CI
CDS 4,601 6 days ago Enterprise-Grade CI/CD and DevOps Automation Open Source Platform
dot 23 4 months ago A minimal, local first continuous integration system that uses Docker to run jobs concurrently in stages
drone 32,239 6 days ago Drone is a Continuous Integration platform built on Docker, written in Go
go-beautiful-html-coverage 13 6 months ago A GitHub Action to track code coverage in your pull requests, with a beautiful HTML preview, for free
go-fuzz-action 15 8 months ago Use Go 1.18's built-in fuzz testing in GitHub Actions
go-semver-release 10 8 days ago Automate the semantic versioning of Git repositories
go-test-coverage 87 7 days ago Tool and GitHub action which reports issues when test coverage is below set threshold
gomason 65 5 months ago Test, Build, Sign, and Publish your go binaries from a clean workspace
gotestfmt 512 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,515 6 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 about 7 years ago Recursive coverage testing tool
woodpecker 4,285 3 days ago Woodpecker is a community fork of the Drone CI system

Awesome Go / CSS Preprocessors

gcss 496 9 months ago Pure Go CSS Preprocessor
go-libsass 206 12 months ago Go wrapper to the 100% Sass compatible libsass project

Awesome Go / Data Integration Frameworks

Benthos 8,137 7 days ago A message streaming bridge between a range of protocols
CloudQuery A high-performance ELT data integration framework with pluggable architecture
omniparser 974 5 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 41 5 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 158 almost 2 years ago Golang set data structure with bonus bit-twiddling functions
crunch 97 almost 2 years ago Go package implementing buffers for handling various datatypes easily
go-ef 31 5 months ago A Go implementation of the Elias-Fano encoding
roaring 2,532 12 days ago Go package implementing compressed bitsets

Awesome Go / Data Structures and Algorithms / Bit Sets

bitmap 311 about 1 year ago Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go
bitset 1,346 12 days ago Go package implementing bitsets

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

bloom 2,439 2 months 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 3 months ago Yet another Bloomfilter implementation in Go, compatible with Java's Guava library
boomfilters 1,595 over 3 years ago Probabilistic data structures for processing continuous, unbounded streams
cuckoo-filter 294 over 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,134 4 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 805 over 3 years ago Algorithms and data structures.CLRS study
go-datastructures 7,679 6 months ago Collection of useful, performant, and thread-safe data structures
gods 16,374 3 months ago Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc
gostl 1,054 4 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 5 months ago Iterator implementation to provide map and reduce functionalities
iter 187 over 2 years ago Go implementation of C++ STL iterators and algorithms

Awesome Go / Data Structures and Algorithms / Maps

cmap 92 about 1 year ago a thread-safe concurrent map for go, support using as key and auto scale up shards
dict 45 7 days ago Python-like dictionaries (dict) for Go
go-shelve 7 about 2 months ago A persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores
goradd/maps 43 12 days 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 about 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 almost 8 years ago Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory)
fsm 64 almost 2 years ago Finite-State Machine package
genfuncs 52 over 2 years ago Go 1.18+ generics package inspired by Kotlin's Sequence and Map
go-generics 76 3 months ago Generic slice, map, set, iterator, and goroutine utilities
go-geoindex 355 almost 7 years ago In-memory geo index
go-rampart 101 5 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 82 about 1 year ago Generic tuple implementation for Go 1.18+
go18ds 46 about 1 year ago Go Data Structures using Go 1.18 generics
gofal 19 about 5 years ago fractional api for Go
gogu 98 over 1 year ago A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library
gota 3,078 over 1 year ago Implementation of dataframes, series, and data wrangling methods for Go
hide 69 about 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 945 3 months ago HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction
quadtree 37 over 1 year ago Generic, zero-alloc, 100%-test covered quadtree
slices 17 about 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 about 3 years ago Nullable Go types that can be marshalled/unmarshalled to/from JSON
typ 46 about 3 years ago Null Types, Safe primitive type conversion and fetching value from complex structures

Awesome Go / Data Structures and Algorithms / Queues

deque 184 about 1 year ago A highly optimized double-ended queue
deque 586 6 days ago Fast ring-buffer deque (double-ended queue)
goconcurrentqueue 396 over 1 year ago Concurrent FIFO queue
hatchet 4,232 6 days ago Distributed, Fault-tolerant task queue
memlog 122 6 days ago An easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka
queue 274 4 months ago Multiple thread-safe, generic queue implementations for Go

Awesome Go / Data Structures and Algorithms / Sets

dsu 14 almost 3 years ago Disjoint Set data structure implementation in Go
golang-set 4,217 4 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,096 6 days ago Modern text indexing library for go
go-adaptive-radix-tree 368 6 days ago Go implementation of Adaptive Radix Tree
go-edlib 481 over 2 years ago Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode
levenshtein 86 about 4 years ago Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix
levenshtein 359 about 2 months ago Implementation to calculate levenshtein distance in Go
mspm 26 over 6 years ago Multi-String Pattern Matching Algorithm for information retrieval
parsefields 7 over 5 years ago Tools for parse JSON-like logs for collecting unique fields and events
ptrie 42 8 months ago An implementation of prefix tree
trie 763 2 months 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 18 4 months ago Space-efficient computation of Merkle root hashes and inclusion proofs
skiplist 277 almost 2 years ago Very fast Go Skiplist implementation
skiplist 84 about 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 58 about 3 years ago An implementation of pipelines with fan-in and fan-out

Awesome Go / Database / Caches

2q 41 over 1 year ago 2Q in-memory cache implementation
bcache 156 almost 2 years ago Eventually consistent distributed in-memory cache Go library
BigCache 7,551 4 months ago Efficient key/value cache for gigabytes of data
cache 186 about 2 years ago In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage
cache2go 2,125 5 months ago In-memory key:value cache which supports automatic invalidation based on timeouts
cachego 369 7 months ago Golang Cache component for multiple drivers
clusteredBigCache 45 almost 7 years ago BigCache with clustering support and individual item expiration
coherence-go-client 10 8 days ago Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport
couchcache 64 5 months ago RESTful caching micro-service backed by Couchbase server
EchoVault 419 18 days ago Embeddable Distributed in-memory data store compatible with Redis clients
fastcache 2,128 5 months ago fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead
GCache 2,604 9 months ago Cache library with support for expirable Cache, LFU, LRU and ARC
gdcache 13 about 3 years ago A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache
go-cache 139 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 167 8 days ago A GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration
go-mcache 97 almost 5 years ago Fast in-memory key:value store/cache library. Pointer caches
gocache 2,479 about 1 month ago A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more
gocache 9 2 months ago A data race free Go ache library with high performance and auto pruge functionality
groupcache 12,954 12 months ago Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases
icache 19 5 months ago A High Performance, Generic, thread-safe, zero-dependency cache package
imcache 123 3 months ago A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding
nscache 11 17 days ago A Go caching framework that supports multiple data source drivers
otter 1,707 6 days ago A high performance lockless cache for Go. Many times faster than Ristretto and friends
pocache 209 12 days ago Pocache is a minimal cache package which focuses on a preemptive optimistic caching strategy
sturdyc 338 about 1 month ago A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant
theine 278 23 days ago High performance, near optimal in-memory cache with proactive TTL expiration and generics
timedmap 72 7 months ago Map with expiring key-value pairs
ttlcache 951 13 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,972 8 days ago Fast key-value store in Go
bbolt 8,288 6 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,577 2 months ago Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support
clover 693 2 months ago A lightweight document-oriented NoSQL database written in pure Golang
cockroach 30,130 6 days ago Scalable, Geo-Replicated, Transactional Datastore
Coffer 39 over 1 year ago Simple ACID key-value database that supports transactions
column 1,437 10 months ago High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions
CovenantSQL 1,496 over 1 year ago CovenantSQL is a SQL database on blockchain
Databunker 1,256 17 days ago Personally identifiable information (PII) storage service built to comply with GDPR and CCPA
dgraph 20,441 7 days ago Scalable, Distributed, Low Latency, High Throughput Graph Database
diskv 1,408 about 3 years ago Home-grown disk-backed key-value store
dolt 17,965 6 days ago Dolt – It's Git for Data
dtf 212 over 2 years ago A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages
eliasdb 1,004 over 2 years ago Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language
godis 3,504 about 1 month ago A Golang implemented high-performance Redis server and cluster
goleveldb 6,159 6 months ago Implementation of the key/value database in Go
hare 94 over 3 years ago A simple database management system that stores each table as a text file of line-delimited JSON
immudb 8,632 2 months ago immudb is a lightweight, high-speed immutable database for systems and applications written in Go
influxdb 28,968 6 days ago Scalable datastore for metrics, events, and real-time analytics
ledisdb 4,101 about 1 year ago Ledisdb is a high performance NoSQL like Redis based on LevelDB
levigo 415 over 2 years ago Levigo is a Go wrapper for LevelDB
libradb 169 7 months ago LibraDB is a simple database with less than 1000 lines of code for learning
LinDB 3,008 9 days ago LinDB is a scalable, high performance, high availability distributed time series database
lotusdb 2,080 about 1 month ago Fast k/v database compatible with lsm and b+tree
Milvus 30,573 6 days ago Milvus is a vector database for embedding management, analytics and search
moss 956 over 2 years ago Moss is a simple LSM key-value storage engine written in 100% Go
nutsdb 3,402 about 1 month 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,107 3 months ago High-performance embedded Object Database (NoSQL) with Go API
pebble 4,915 6 days ago RocksDB/LevelDB inspired key-value database in Go
piladb 206 about 4 years ago Lightweight RESTful database engine based on stack data structures
pogreb 1,312 4 months ago Embedded key-value store for read-heavy workloads
prometheus 55,742 6 days ago Monitoring system and time series database
pudge 371 over 3 years ago Fast and simple key/value store written using Go's standard library
redka 3,503 10 days ago Redis re-implemented with SQLite
rosedb 4,625 about 1 month ago An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset
rotom 41 6 days ago A tiny Redis server built with Golang, compatible with RESP protocols
rqlite 15,790 6 days ago The lightweight, distributed, relational database built on SQLite
tempdb 19 almost 7 years ago Key-value store for temporary items
tidb 37,275 6 days ago TiDB is a distributed SQL database. Inspired by the design of Google F1
tiedot 2,724 about 3 years ago Your NoSQL database powered by Golang
unitdb 120 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 261 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,363 6 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,964 7 days ago A Database Toolkit. A CLI designed to help companies better work with their data
avro 46 about 1 month ago Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes
bytebase 11,445 6 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,477 10 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 about 1 month ago A Go package to help write migrations with go-pg/pg
goavro 985 7 months ago A Go package that encodes and decodes Avro data
godfish 7 4 months ago Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3
goose 7,120 6 days ago Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts
gorm-seeder 13 about 2 years ago Simple database seeder for Gorm ORM
gormigrate 1,046 about 2 months ago Database schema migration helper for Gorm ORM
libschema 15 6 days ago Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL
migrate 15,494 9 days ago Database migrations. CLI and Golang library
migrator 169 8 months ago Dead simple Go database migration library
migrator 25 over 2 years ago MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code
schema 35 2 months ago Library to embed schema migrations for database/sql-compatible databases inside your Go binaries
skeema 1,269 6 days ago Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools
soda 1,444 5 months ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
sql-migrate 3,235 4 months ago Database migration tool. Allows embedding migrations into the application using go-bindata
sqlize 101 13 days ago Database migration generator. Allows generate sql migration from model and existing sql by differ them

Awesome Go / Database / Database Tools

chproxy 1,288 10 days ago HTTP proxy for ClickHouse database
clickhouse-bulk 477 11 months ago Collects small inserts and sends big requests to ClickHouse servers
dbbench 102 6 days ago Database benchmarking tool with support for several databases and scripts
dg 32 3 months ago A fast data generator that produces CSV files from generated relational data
dynago 12 over 1 year ago Simplify working with AWS DynamoDB
gatewayd 224 10 days ago Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases
go-mysql 4,614 7 days ago Go toolset to handle MySQL protocol and replication
gorm-multitenancy 45 24 days ago Multi-tenancy support for GORM managed databases
hasql Library for accessing multi-host SQL database installations
octillery 194 about 1 year ago Go package for sharding databases ( Supports every ORM or raw SQL )
onedump 103 3 months ago Database backup from different drivers to different destinations with one command and configuration
pg_timetable 1,098 about 2 months ago Advanced scheduling for PostgreSQL
pgweb 8,647 19 days ago Web-based PostgreSQL database browser
prep 33 almost 7 years ago Use prepared SQL statements without changing your code
pREST 4,236 16 days ago Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
rdb 393 3 months ago Redis RDB file parser for secondary development and memory analysis
rwdb 19 about 7 years ago rwdb provides read replica capability for multiple database servers setup
vitess 18,670 6 days ago vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services
wescale 203 7 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 152 about 1 month ago Lightweight and easy to learn query builder
buildsqlx 172 7 months ago Go database query builder library for PostgreSQL
builq 89 7 months ago Easily build SQL queries in Go
dbq 405 over 3 years ago Zero boilerplate database operations for Go
Dotsql 740 12 months ago Go library that helps you keep sql files in one place and use them with ease
gendry 1,621 4 months ago Non-invasive SQL builder and powerful data binder
godbal 59 almost 6 years ago Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily
goqu 2,403 6 months ago Idiomatic SQL builder and query library
gosql 32 over 2 years ago SQL Query builder with better null values support
Hotcoal 19 11 months ago Secure your handcrafted SQL against injection
igor 125 7 months ago Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax
jet 2,663 18 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 almost 2 years ago Lightweight package containing some ORM-like features and helpers for sqlite databases
ozzo-dbx 638 over 1 year ago Powerful data retrieval methods as well as DB-agnostic query building capabilities
qry 35 9 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 197 almost 2 years ago Type-safe SQL builder and struct mapper for Go
sqlc 13,456 7 days ago Generate type-safe code from SQL
sqlf 144 25 days ago Fast SQL query builder
sqlingo 409 6 days ago A lightweight DSL to build SQL in Go
sqrl 278 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 7,000 7 months ago Go library that helps you build SQL queries
xo 3,737 5 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,855 5 months ago Graph database with support for multiple backends
dsc 33 6 months ago Datastore connectivity for SQL, NoSQL, structured files
dynamo 19 9 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 232 3 months ago Transaction manager with multiple adapters (sql, sqlx, gorm, mongo, ...) controls transaction boundaries
gokv 746 6 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 120 7 months ago Apache Avatica/Phoenix SQL driver for database/sql
bgc 21 8 months ago Datastore Connectivity for BigQuery for go
firebirdsql 229 9 days 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,824 7 months ago Microsoft MSSQL driver for Go
go-oci8 631 about 1 year ago Oracle driver for go that uses database/sql
go-sql-driver/mysql 14,546 10 days ago MySQL driver for Go
go-sqlite3 8,018 about 2 months ago SQLite3 driver for go that uses database/sql
godror 531 8 days ago Oracle driver for Go, using the ODPI-C driver
gofreetds 113 almost 4 years ago Microsoft MSSQL driver. Go wrapper over
KSQL 320 14 days ago A Simple and Powerful Golang SQL Library
pgx 10,804 15 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,127 4 months ago Pure Go Postgres driver for database/sql
Sqinn-Go 425 11 months ago SQLite with pure Go
sqlhooks 651 5 months ago Attach hooks to any database/sql driver
surrealdb.go 243 20 days ago SurrealDB Driver for Go
ydb-go-sdk 143 6 days ago native and database/sql driver YDB (Yandex Database)

Awesome Go / Database Drivers / NoSQL Database Drivers

aerospike-client-go 436 20 days ago Aerospike client in Go language
arangolite 72 over 3 years ago Lightweight golang driver for ArangoDB
asc 10 2 months ago Datastore Connectivity for Aerospike for go
forestdb 37 almost 8 years ago Go bindings for ForestDB
go-couchbase 321 10 months ago Couchbase client in Go
go-mongox 136 22 days 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 10 months ago Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease
gocb 370 7 days ago Official Couchbase Go SDK
gocosmos 22 3 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 almost 6 years ago A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached
gomemcache 1,755 4 months ago memcache client library for the Go programming language
gomemcached 19 9 months ago A binary Memcached client for Go with support for sharding using consistent hashing, along with SASL
gorethink 1,651 about 1 year ago Go language driver for RethinkDB
goriak 30 about 3 years ago Go language driver for Riak KV
Kivik 315 2 months ago Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases
mgm 752 11 months ago MongoDB model-based ODM for Go (based on official MongoDB driver)
mgo 1,972 about 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,168 6 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 almost 5 years ago Neo4j client for Golang
qmgo 1,307 21 days ago The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo
redeo 440 almost 2 years ago Redis-protocol compatible TCP servers/services
redigo 9,755 6 months ago Redigo is a Go client for the Redis database
redis 20,148 8 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,912 10 days ago ClickHouse SQL client for Go with a compatibility
effdsl 26 about 2 months ago Elasticsearch query builder for Go
elastic 7,419 4 months ago Elasticsearch client for Go
elasticsql 1,177 over 1 year ago Convert sql to elasticsearch dsl in Go
elastigo 943 almost 6 years ago Elasticsearch client library
go-elasticsearch 39 7 days ago Official Elasticsearch client for Go
goes 31 about 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 9 days ago A Duration extension supporting parsing/printing durations in days, weeks and years
carbon 4,797 10 days ago A simple, semantic and developer-friendly golang package for datetime
carbon 777 10 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 136 22 days ago Augments Time for working with dates, date ranges, time spans, periods, and time-of-day
dateparse 2,043 11 months ago Parse date's without knowing format in advance
durafmt 495 over 3 years ago Time duration formatting library for Go
feiertage 48 8 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 23 almost 2 years 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 6 months ago A simple datetime parse pkg
go-persian-calendar 206 3 months ago The implementation of the Persian (Solar Hijri) Calendar in Go (golang)
go-str2duration 101 about 1 year ago Convert string to duration. Support time.Duration returned string and more
go-sunrise 146 7 months ago Calculate the sunrise and sunset times for a given location
go-week 9 about 3 years ago An efficient package to work with ISO8601 week dates
gostradamus 202 11 months ago A Go package for working with dates
iso8601 147 about 1 month ago Efficiently parse ISO8601 date-times without regex
kair 24 over 4 years ago Date and Time - Golang Formatting Library
now 4,449 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 almost 6 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 966 about 1 month ago More effective network communication, support two-way-calling, notify, broadcast
bedrock 7 6 days ago Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go
capillaries 61 about 2 months ago distributed batch data processing framework
celeriac 72 4 months ago Library for adding support for interacting and monitoring Celery workers, tasks and events in Go
consistent 698 about 1 year ago Consistent hashing with bounded loads
consistenthash 27 8 months ago Consistent hashing with configurable replicas
dht 313 about 2 months ago BitTorrent Kademlia DHT implementation
digota 510 almost 4 years ago grpc ecommerce microservice
dot 87 about 5 years ago distributed sync using operational transformation/OT
doublejump 102 about 2 years ago A revamped Google's jump consistent hash
dragonboat 5,083 4 months ago A feature complete and high performance multi-group Raft library in Go
Dragonfly 2,278 8 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 5 months ago Job submission library for cluster schedulers based on the DRMAA standard
dynamolock DynamoDB-backed distributed locking implementation
dynatomic 17 about 4 years ago A library for using DynamoDB as an atomic counter
emitter-io 3,863 about 1 month ago High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love
evans 4,282 11 months ago Evans: more expressive universal gRPC client
failured 12 over 3 years ago adaptive accrual failure detector for distributed systems
flowgraph 60 over 3 years ago flow-based programming package
gleam 3,458 5 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,203 about 6 years ago Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go
gmsec 25 20 days ago A Go distributed systems development framework
go-doudou 1,430 11 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 750 11 months ago Library for enabling asynchronous dependency health checks in your service
go-jump 384 about 3 years ago Port of Google's "Jump" Consistent Hash function
go-kit 26,621 4 months ago Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc
go-micro 21,956 6 days ago A distributed systems development framework
go-mysql-lock 62 6 months ago MySQL based distributed lock
go-pdu 47 5 months ago A decentralized identity-based social network
go-sundheit 551 4 months ago A library built to provide support for defining async service health checks for golang services
go-zero 29,308 6 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 702 about 2 years ago Simple, fast and scalable RPC library for high load
grpc-go 21,100 6 days ago The Go language implementation of gRPC. HTTP/2 based RPC
hprose 1,260 9 months ago Very newbility RPC Library, support 25+ languages now
jsonrpc 187 over 1 year ago The jsonrpc package helps implement of JSON-RPC 2.0
jsonrpc 332 3 months ago JSON-RPC 2.0 HTTP client implementation
K8gb 891 6 days ago A cloud native Kubernetes Global Balancer
Kitex 7,032 6 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,374 10 days ago A modular-designed and easy-to-use microservices framework in Go
liftbridge 2,580 7 months ago Lightweight, fault-tolerant message streams for NATS
lura 6,364 16 days ago Ultra performant API Gateway framework with middlewares
micro 12,151 2 months ago A distributed systems runtime for the cloud and beyond
mochi mqtt 1,283 29 days ago Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub
NATS 15,978 3 days ago NATS is a simple, secure, and performant communications system for digital systems, services, and devices
outboxer 159 8 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,260 10 days ago Golang implementation of the Raft consensus protocol, by HashiCorp
raft 672 9 days ago Go implementation of the Raft consensus protocol, by CoreOS
rain 980 10 days ago BitTorrent client and library
redis-lock 1,470 8 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 833 about 1 year ago Scalable, fault-tolerant application-layer sharding for Go applications
rpcx 8,113 2 months 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,461 25 days ago A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks
Tarmac 329 24 days ago Framework for writing functions, microservices, or monoliths with WebAssembly
Temporal 539 6 days ago Durable execution system for making code fault-tolerant and simple
torrent 5,570 about 1 month ago BitTorrent client package
trpc-go 830 5 months ago The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework

Awesome Go / Dynamic DNS

DDNS 255 6 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,511 12 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,654 9 months ago A robust and flexible email library for Go
email-verifier 1,228 10 days ago A Go library for email verification without sending any emails
go-dkim 98 11 months ago DKIM library, to sign & verify email
go-email-normalizer 64 3 months ago Golang library for providing a canonical representation of email address
go-email-validator 50 about 1 year ago Modular email validator for syntax, disposable, smtp, etc... checking
go-imap 2,094 about 2 months ago IMAP library for clients and servers
go-mail 691 6 days ago A simple Go library for sending mails in Go
go-message 387 about 2 months ago Streaming library for the Internet Message Format and mail messages
go-premailer 141 9 days ago Inline styling for HTML mail in Go
go-simple-mail 651 4 months ago Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send
Hectane 223 almost 4 years ago Lightweight SMTP client providing an HTTP API
hermes 2,831 over 1 year ago Golang package that generates clean, responsive HTML e-mails
Maddy 5,106 3 months 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 700 11 days ago Go library for sending mail with the Mailgun API
MailHog 14,078 9 months ago Email and SMTP testing with web and API interface
Mailpit 5,707 12 days ago Email and SMTP testing tool for developers
mailx 19 6 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,666 10 days ago Modern full-featured secure mail server for low-maintenance, self-hosted email
SendGrid 984 28 days ago SendGrid's Go library for sending email
smtp 74 about 3 years ago SMTP server protocol state machine
smtpmock 128 6 days ago Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment
truemail-go 104 3 months ago Configurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more

Awesome Go / Embeddable Scripting Languages

anko 1,481 12 months ago Scriptable interpreter written in Go
binder 75 over 2 years ago Go to Lua binding library, based on
cel-go 2,286 14 days ago Fast, portable, non-Turing complete expression evaluation with gradual typing
ecal 43 over 3 years ago A simple embeddable scripting language which supports concurrent event processing
expr 6,306 8 days ago Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing
gentee 135 11 months ago Embeddable scripting programming language
gisp 514 about 7 years ago Simple LISP in Go
go-duktape 778 about 3 years ago Duktape JavaScript engine bindings for Go
go-lua 3,131 6 months ago Port of the Lua 5.2 VM to pure Go
go-php 932 almost 3 years ago PHP bindings for Go
go-python 1,526 over 1 year ago naive go bindings to the CPython C-API
goal An embeddable scripting array language
goja 5,606 28 days ago ECMAScript 5.1(+) implementation in Go
golua 650 11 days ago Go bindings for Lua C API
gopher-lua 6,288 12 days ago Lua 5.1 VM and compiler written in Go
gval 743 about 1 month ago A highly customizable expression language written in Go
metacall 1,575 6 days ago Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more
ngaro 29 over 6 years ago Embeddable Ngaro VM implementation enabling scripting in Retro
prolog 627 19 days ago Embeddable Prolog
purl 41 almost 10 years ago Perl 5.18.2 embedded in Go
starlark-go 2,348 about 2 months ago Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution
starlet 20 7 days ago Go wrapper for that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions
tengo 3,548 7 months ago Bytecode compiled script language for Go
Wa/凹语言 1,240 7 days ago The Wa Programming Language embedded in Go

Awesome Go / Error Handling

emperror 342 about 4 years ago Error handling tools and best practices for Go libraries and applications
eris 1,500 almost 2 years 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 198 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 over 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 67 about 1 month 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,118 3 months ago Go error library with error portability over the network
errorx 1,181 13 days ago A feature rich error package with stack traces, composition of errors and more
exception 31 about 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 164 10 months ago An ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values
go-multierror 2,346 7 days ago Go (golang) package for representing a list of errors as a single error
multierr 1,041 7 months ago Package for representing a list of errors as a single error
oops 437 10 days ago Error handling with context, stack trace and source fragments
tracerr 1,033 6 months ago Golang errors with stack trace and source fragments

Awesome Go / File Handling

afero 5,970 4 months ago FileSystem Abstraction System for Go
afs 303 7 months ago Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go
baraka 56 about 2 years ago A library to process http file uploads easily
bigfile 251 almost 2 years ago A file transfer system, support to manage files with http api, rpc call and ftp client
checksum 104 11 months ago Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files
copy 724 14 days ago Copy directory recursively
flop 33 almost 3 years ago File operations library which aims to mirror feature parity with
gdu 3,980 8 days ago Disk usage analyzer with console interface
go-csv-tag 121 6 months ago Load csv file using tag
go-decent-copy 22 almost 5 years ago Copy files for humans
go-exiftool 252 4 months ago Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...)
go-gtfs 45 over 1 year ago Load gtfs files in go
go-wkhtmltopdf 1,060 5 months ago A package to convert an HTML template to a PDF file
gofs 481 6 days ago A cross-platform real-time file synchronization tool out of the box
gut/yos 27 about 4 years ago Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links
higgs 24 almost 3 years ago A tiny cross-platform Go library to hide/unhide files and directories
iso9660 264 10 months ago A package for reading and creating ISO9660 disk images
notify 906 9 months ago File system event notification library with simple API, similar to os/signal
opc 75 12 months ago Load Open Packaging Conventions (OPC) files for Go
parquet 108 about 2 months ago Read and write files
pathtype 13 over 3 years ago Treat paths as their own type instead of using strings
pdfcpu 7,008 10 days ago PDF processor
skywalker 101 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 309 15 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 878 over 2 years ago money and currency formatting for golang
ach 461 6 days ago A reader, writer, and validator for Automated Clearing House (ACH) files
bbgo 1,226 6 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 559 18 days ago Handles currency amounts, provides currency information and formatting
currency 61 about 1 month ago High performant & accurate currency computation package
decimal 6,403 4 months ago Arbitrary-precision fixed-point decimal numbers
decimal 94 about 1 month ago Immutable decimal numbers with panic-free arithmetic
fpdecimal 31 3 months ago Fast and precise serialization and arithmetic for small fixed-point decimals
fpmoney 29 2 months ago Fast and simple ISO4217 fixed-point decimal money
go-finance 177 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 26 5 months ago Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers
go-finnhub 90 almost 5 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,680 4 months ago Implementation of Fowler's Money pattern
go-nowpayments 3 almost 2 years ago Library for the crypto NOWPayments API
money 21 4 months ago Immutable monetary amounts and exchange rates with panic-free arithmetic
ofxgo 138 7 months ago Query OFX servers and/or parse the responses (with example command-line client)
orderbook 443 7 months ago Matching Engine for Limit Order Book in Golang
payme 85 3 months ago QR code generator (ASCII & PNG) for SEPA payments
sleet 139 9 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 839 about 1 year ago Technical analysis library with advanced market analysis and trading strategies
ticker 4,997 9 days ago Terminal stock watcher and stock position tracker
transaction 132 10 months ago Embedded transactional database of accounts, running in multithreaded mode
udecimal 111 7 days ago High performance, high precision, zero allocation fixed-point decimal library for financial applications
vat 111 about 1 year ago VAT number validation & EU VAT rates

Awesome Go / Forms

bind 31 over 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 22 days ago Checker helps validating user input through rules defined in struct tags or directly through functions
conform 323 11 months ago Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags
form 773 6 months ago Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support
formam 192 about 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 10 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,053 9 months ago CSRF protection for Go web applications & services
httpin 321 6 months ago Decode an HTTP request into a custom struct, including querystring, forms, HTTP headers, etc
nosurf 1,589 8 months ago CSRF protection middleware for Go
qs 76 9 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 303 almost 2 years ago Collection of Functional Programming helpers powered by Golang 1.18+ generics
fpGo 348 24 days ago Monad, Functional Programming features for Golang
fuego 141 7 months ago Functional Experiment in Go
go-functional 458 13 days ago Functional programming in Go using generics
go-underscore 1,301 over 1 year ago Useful collection of helpfully functional Go collection utilities
gofp 146 over 3 years ago A lodash like powerful utility library for Golang
mo 2,661 6 days ago Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...)
underscore 109 20 days ago Functional programming helpers for Go 1.18 and beyond
valor 17 over 1 year ago Generic option and result types that optionally contain a value

Awesome Go / Game Development

Azul3D 617 about 3 years ago 3D game engine written in Go
Ebitengine 11,060 11 days ago dead simple 2D game engine in Go
ecs 127 3 months ago Build your own Game-Engine based on the Entity Component System concept in Golang
engo 1,756 4 months ago Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm
fantasyname 33 3 months ago Fantasy names generator
g3n 2,802 3 months ago Go 3D Game Engine
go-astar 600 almost 3 years ago Go implementation of the A* path finding algorithm
go-sdl2 2,226 about 2 months ago Go bindings for the
go3d 316 7 months ago Performance oriented 2D/3D math package for Go
gonet 1,270 4 months ago Game server skeleton implemented with golang
goworld 2,573 12 months ago Scalable game server engine, featuring space-entity framework and hot-swapping
grid 18 2 months ago Generic 2D grid with ray-casting, shadow-casting and path finding
Harfang3D 576 about 1 year ago 3D engine for the Go language, works on Windows and Linux ( )
Leaf 5,299 6 months ago Lightweight game server framework
nano 2,884 6 months ago Lightweight, facility, high performance golang based game server framework
Oak 1,559 11 days ago Pure Go game engine
Pitaya 2,367 22 days ago Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK
Pixel 4,461 6 months ago Hand-crafted 2D game library in Go
prototype 88 3 months ago Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API
raylib-go 1,625 7 days ago Go bindings for , a simple and easy-to-use library to learn videogames programming
termloop 1,432 4 months ago Terminal-based game engine for Go, built on top of Termbox
tile 159 8 days ago Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export

Awesome Go / Generators

convergen 44 3 months ago Feature rich type-to-type copy code generator
copygen 356 9 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 756 about 1 month ago Code generation for enums from code comments
go-linq 3,520 over 2 years ago .NET LINQ-like query methods for Go
goderive 1,243 5 months ago Derives functions from input types
goverter 525 7 days ago Generate converters by defining an interface
GoWrap 1,091 3 months ago Generate decorators for Go interfaces using simple templates
interfaces 423 about 2 months ago Command line tool for generating interface definitions
jennifer 3,373 2 months ago Generate arbitrary Go code without templates
oapi-codegen 6,314 11 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 almost 5 years ago A library to create type dynamically

Awesome Go / Geographic

geoos 617 5 months ago A library provides spatial data and geometric algorithms
geoserver 91 over 1 year ago geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API
gismanager 54 about 6 years ago Publish Your GIS Data(Vector Data) to PostGIS and Geoserver
godal 139 about 2 months ago Go wrapper for GDAL
H3 317 about 1 month ago Go bindings for H3, a hierarchical hexagonal geospatial indexing system
H3 GeoJSON 4 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 657 about 2 months ago A simple Go-based server for map tiles stored in mbtiles format
osm 374 7 months ago Library for reading, writing and working with OpenStreetMap data and APIs
pbf 47 23 days ago OpenStreetMap PBF golang encoder/decoder
S2 geojson 29 3 months ago Convert geojson to s2 cells & demonstrating some S2 geometry features on map
S2 geometry 1,693 3 months ago S2 geometry library in Go
simplefeatures 134 24 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,153 8 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 129 4 months ago Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)

Awesome Go / Go Compilers

c2go 304 6 months ago Convert C code to Go code
c4go 365 2 months ago Transpile C code to Go code
esp32 87 4 months ago Transpile Go into Arduino code
f4go 45 over 1 year ago Transpile FORTRAN 77 code to Go code
gopherjs 12,759 23 days ago Compiler from Go to JavaScript
tardisgo 432 about 8 years ago Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler

Awesome Go / Goroutines

ants 12,955 8 days ago A high-performance and low-cost goroutine pool in Go
artifex 206 4 months ago Simple in-memory job queue for Golang using worker-based dispatching
async 6 8 months ago An asynchronous task package with async/await style for Go
async 224 2 months ago An alternative sync library for Go (Future, Promise, Locks)
async 138 about 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 9,069 7 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 146 over 4 years ago CyclicBarrier for golang
execpool 28 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 368 about 2 months ago Structured concurrency made easy
go-accumulator 7 4 months ago Solution for accumulation of events and their subsequent processing
go-actor 155 6 days ago A tiny library for writing concurrent programs using actor model
go-floc 269 over 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 5 months ago Like with error handling and concurrency control
go-workerpool 13 over 2 years ago Inspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines
go-workers 165 almost 3 years ago Easily and safely run workers for large data processing pipelines
goccm 71 almost 2 years ago Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently
gohive 52 about 1 year ago A highly performant and easy to use Goroutine pool for Go
gollback 124 almost 2 years ago asynchronous simple function utilities, for managing execution of closures and callbacks
gowl 69 about 1 year 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,803 over 2 years ago goworker is a Go-based background worker
gowp 516 about 2 months 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 745 almost 6 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 162 almost 2 years ago Drop-in alternative to , limited to a pool of N worker goroutines
nursery 66 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,517 8 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 510 25 days ago Go concurrency with channel transformations. No boilerplate, type safety, batching and error handling
routine 235 6 days 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 11 months ago go routine control with context, support: Main, Go, Pool and some useful Executors
semaphore 103 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 over 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,892 over 1 year ago Goroutine pool for golang
worker-pool 92 almost 4 years ago goworker is a Go simple async worker pool
workerpool 1,332 6 days ago Goroutine pool that limits the concurrency of task execution, not the number of tasks queued

Awesome Go / GUI

app 7,968 6 days ago Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress
cimgui-go 350 7 days ago Auto generated Go wrapper for via
Cogent Core 1,747 6 days ago A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web
DarwinKit 5,028 4 months ago Build native macOS applications using Go
energy 382 6 days ago Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)
fyne 25,146 6 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,578 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 12 months ago Library for outputting HTML5 tags
gotk3 2,113 3 months ago Go bindings for GTK3
gowd 431 over 1 year ago Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform
qt 10,489 9 months ago Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)
Spot 1,113 5 months ago Reactive, cross-platform desktop GUI toolkit
ui 8,337 over 2 years ago Platform-native GUI library for Go. Cross platform
unison 203 about 1 month 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,862 10 months ago Windows application library kit for Go
webview 12,670 7 days ago Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux)
AppIndicator Go 6 over 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 about 1 year ago OSX library to notify about any (pluggable) activity on your machine
mac-sleep-notifier 35 over 5 years ago OSX Sleep/Wake notifications in golang
robotgo 9,678 about 1 month ago Go Native cross-platform GUI system automation. Control the mouse, keyboard and other
systray 3,305 5 months ago Cross platform Go library to place an icon and menu in the notification area
trayhost 254 12 months ago Cross-platform Go library to place an icon in the host operating system's taskbar
zenity 734 13 days ago Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user

Awesome Go / Hardware

arduino-cli 4,371 6 days ago Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects
emgo 1,077 almost 3 years ago Go-like language for programming embedded systems (e.g. STM32 MCU)
ghw 1,645 28 days ago Golang hardware discovery/inspection library
go-osc 202 almost 2 years ago Open Sound Control (OSC) bindings for Go
go-rpio 2,194 about 1 year ago GPIO for Go, doesn't require cgo
goroslib 333 15 days ago Robot Operating System (ROS) library for Go
joystick 62 over 1 year ago a polled API to read the state of an attached joystick
sysinfo 529 2 months ago A pure Go library providing Linux OS / kernel / hardware system information

Awesome Go / Images

bild 4,014 about 2 months ago Collection of image processing algorithms in pure Go
bimg 2,715 7 months ago Small package for fast and efficient image processing using libvips
cameron 121 over 2 years ago An avatar generator for Go
canvas 1,508 9 days ago Vector graphics to PDF, SVG or rasterized image
color-extractor 93 over 1 year ago Dominant color extractor with no external dependencies
darkroom 226 7 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,270 almost 6 years ago Create beautiful generative image patterns from a string
gg 4,439 11 months ago 2D rendering in pure Go
gift 1,754 about 1 year ago Package of image processing filters
gltf 245 9 days ago Efficient and robust glTF 2.0 reader, writer and validator
go-cairo 146 9 months ago Go binding for the cairo graphics library
go-gd 59 over 6 years ago Go binding for GD library
go-nude 413 about 1 year ago Nudity detection with Go
go-qrcode 566 4 months ago Generate QR codes with personalized styles, allowing adjustments to color, block size, shape, and icons
go-webcolors 27 over 9 years ago Port of webcolors library from Python to Go
go-webp 227 about 1 year ago Library for encode and decode webp pictures, using libwebp
gocv 6,715 24 days ago Go package for computer vision using OpenCV 3.3+
goimagehash 749 10 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 585 about 2 years ago Library and CMD tool for generating funny avatars
govips 1,298 20 days ago A lightning fast image processing and resizing library for Go
gowitness 3,304 30 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 881 about 2 years ago Convert image to ASCII
imagick 1,775 about 2 months ago Go binding to ImageMagick's MagickWand C API
imaginary 5,590 about 1 month ago Fast and simple HTTP microservice for image resizing
imaging 5,288 about 1 year ago Simple Go image processing package
imagor 3,414 about 1 month ago Fast, secure image processing server and Go library, using libvips
img 155 over 9 years ago Selection of image manipulation tools
ln 3,277 over 5 years ago 3D line art rendering in Go
mergi 233 16 days ago Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate)
mort 509 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,133 28 days ago An image resizing server written in Go
pt 2,083 over 5 years ago Path tracing engine written in Go
rez 213 over 7 years ago Image resizing in pure Go and SIMD
scout 15 4 months ago Scout is a standalone open source software solution for DIY video security
smartcrop 1,818 over 1 year ago Finds good crops for arbitrary images and crop sizes
steganography 318 6 months ago Pure Go Library for LSB steganography
stegify 1,207 over 1 year ago Go tool for LSB steganography, capable of hiding any file within an image
svgo 2,153 almost 2 years ago Go Language Library for SVG generation
tga 34 over 9 years ago Package tga is a TARGA image format decoder/encoder
transformimgs 230 12 days ago Transformimgs resizes and optimises images for Web using next-generation formats
webp-server 73 almost 4 years ago Simple and minimal image server capable of storing, resizing, converting and caching images

Awesome Go / IoT (Internet of Things)

connectordb 407 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,480 5 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,428 7 months ago Project Flogo is an Open Source Framework for IoT Edge Apps & Integration
gatt 1,139 over 2 years ago Gatt is a Go package for building Bluetooth Low Energy peripherals
gobot 8,960 10 days 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 about 5 years ago IoT is a simple framework for implementing a Google IoT Core device
mainflux 42 3 months ago Industrial IoT Messaging and Device Management Server
periph Peripherals I/O to interface with low-level board facilities
rulego 854 6 days ago RuleGo is a lightweight, high-performance, embedded, orchestrable component-based rule engine for IoT edge
sensorbee 231 about 5 years ago Lightweight stream processing engine for IoT
shifu 1,288 9 days ago Kubernetes native IoT development framework
smart-home 86 15 days ago Software package for IoT automation

Awesome Go / Job Scheduler

cdule 54 29 days ago Job scheduler library with database support
cheek 161 6 days ago A simple crontab like scheduler that aims to offer a KISS approach to job scheduling
clockwerk 155 16 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
go-cron 230 almost 5 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-quartz 1,793 about 2 months ago Simple, zero-dependency scheduling library for Go
gocron 5,652 21 days ago Easy and fluent Go job scheduling. This is an actively maintained fork of
goflow 386 6 days ago A simple but powerful DAG scheduler and dashboard
gron 1,031 over 1 year ago Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly
gronx 413 6 days ago Cron expression parser, task runner and daemon consuming crontab like task list
JobRunner 1,047 about 4 years ago Smart and featureful cron job scheduler with job queuing and live monitoring built in
leprechaun 104 over 2 years ago Job scheduler that supports webhooks, crons and classic scheduling
sched 28 about 1 month ago A job scheduler with the ability to fast-forward time
scheduler 450 over 2 years ago Cronjobs scheduling made easy
tasks 303 3 months ago An easy to use in-process scheduler for recurring tasks in Go

Awesome Go / JSON

ajson 243 30 days ago Abstract JSON for golang with JSONPath support
ask 47 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 9 months ago Contains primitives for marshaling/unmarshalling Unix timestamp/epoch to/from build-in time.Time type in JSON
fastjson 2,290 9 months ago Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
gabs 3,469 6 months ago For parsing, creating and editing unknown or dynamic JSON in Go
gjo 128 over 3 years ago Small utility to create JSON objects
GJSON 14,344 about 1 month 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 55 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,666 over 3 years ago Automatically generate Go (golang) struct definitions from example JSON
htmljson 7 3 months ago Rich rendering of JSON as HTML in Go
JayDiff 106 9 months ago JSON diff utility written in Go
jettison 174 over 1 year ago Fast and flexible JSON encoder for Go
jscan 90 10 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 132 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 about 8 years ago Go bindings based on the JSON API errors reference
jsoncolor 46 9 months ago Drop-in replacement for that outputs colorized JSON
jsondiff 528 10 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 almost 4 years ago Utilities to handle and query JSON without defining structs in a type safe manner
jsonvalue 187 24 days ago A fast and convenient library for unstructured JSON data, replacing
jzon 11 22 days ago JSON library with standard compatible API/behavior
kazaam 282 over 2 years ago API for arbitrary transformation of JSON documents
mapslice-json 20 9 months ago Go MapSlice for ordered marshal/ unmarshal of maps in JSON
marshmallow 375 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 858 25 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 6 months ago Fast and minimal JSON parser and transformer that works on unstructured JSON
vjson 41 6 months ago Go package for validating JSON objects with declaring a JSON schema with fluent API

Awesome Go / Logging

distillog 31 over 6 years ago distilled levelled logging (think of it as stdlib + log levels)
glg 190 2 months ago glg is simple and fast leveled logging library for Go
glo 16 almost 6 years ago PHP Monolog inspired logging facility with identical severity levels
glog 3,546 16 days 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 24 days 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 35 almost 6 years ago Log lib supports level and multi handlers
go-log 43 over 6 years ago Log4j implementation in Go
go-logger 290 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 50 over 3 years ago Fast, extendable, full-featured, std-lib source compatible log library
httpretty 400 about 2 months ago Pretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest)
journald 41 over 3 years ago Go implementation of systemd Journal's native API for logging
kemba 13 27 days ago A tiny debug logging tool inspired by , great for CLI tools and applications
log 10 about 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,367 about 1 year ago Structured logging package for Go
log 293 over 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 6 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,104 over 1 year ago Simple, powerful logging for Go
logdump 11 over 6 years ago Package for multi-level logging
logex 43 8 months ago Golang log lib, supports tracking and level, wrap by standard log lib
logger 157 almost 3 years ago Minimalistic logging library for Go
logo 12 almost 4 years ago Golang logger to different configurable writers
logrus 24,746 4 months ago Structured logger for Go
logrusiowriter 16 about 1 month ago implementation using logger
logrusly 28 over 3 years ago plug-in to send errors to a
logur 204 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 almost 2 years 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,866 4 months ago Simple rolling logger, implements io.WriteCloser
mlog 34 over 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 681 26 days ago High performance structured logging
pp 1,862 19 days ago Colored pretty printer for Go language
rollingwriter 295 about 1 year ago RollingWriter is an auto-rotate implementation with multi policies to provide log file rotation
seelog 1,639 over 5 years ago Logging functionality with flexible dispatching, filtering, and formatting
slf4g 3 12 days 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 400 14 days ago Lightweight, configurable, extensible logger for Go
slog-formatter 122 10 days ago Common formatters for slog and helpers to build your own
slog-multi 384 10 days ago Chain of slog.Handler (pipeline, fanout...)
slogor A colorful slog handler
spew 6,089 8 months ago Implements a deep pretty printer for Go data structures to aid in debugging
sqldb-logger 363 11 months ago A logger for Go SQL database driver without modify existing *sql.DB stdlib usage
stdlog 48 about 9 years ago Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs
structy/log 5 almost 3 years ago A simple to use log system, minimalist but with features for debugging and differentiation of messages
tail 2,724 about 2 years ago Go package striving to emulate the features of the BSD tail program
tint 773 2 months ago A slog.Handler that writes tinted logs
xlog 8 almost 6 years ago Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format
xlog 139 5 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 22,034 30 days ago Fast, structured, leveled logging in Go
zax 24 2 months ago Integrate Context with Zap logger, which leads to more flexibility in Go logging
zerolog 10,639 7 days ago Zero-allocation JSON logger
zkits-logger 26 over 1 year ago A powerful zero-dependency JSON logger
zl 6 about 1 month ago High Developer Experience, zap based logger. It offers rich functionality but is easy to configure

Awesome Go / Machine Learning

bayesian 805 about 1 year ago Naive Bayesian Classification for Golang
CloudForest 739 almost 3 years ago Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go
ddt 37 over 3 years ago Dynamic decision tree, create trees defining customizable rules
eaopt 888 9 months ago An evolutionary optimization library
evoli 33 about 3 years ago Genetic Algorithm and Particle Swarm Optimization library
fonet 83 over 3 years ago A Deep Neural Network library written in Go
go-cluster 43 almost 2 years ago Go implementation of the k-modes and k-prototypes clustering algorithms
go-deep 536 4 months ago A feature-rich neural network library in Go
go-fann 116 almost 10 years ago Go bindings for Fast Artificial Neural Networks(FANN) library
go-featureprocessing 121 3 months ago Fast and convenient feature processing for low latency machine learning in Go
go-galib 199 almost 9 years ago Genetic Algorithms library written in Go / golang
go-pr 66 over 11 years ago Pattern recognition package in Go lang
gobrain 559 almost 4 years ago Neural Networks written in go
godist 39 over 9 years ago Various probability distributions, and associated methods
goga 219 over 2 years ago Genetic algorithm library for Go
GoLearn 9,295 10 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,565 over 2 years ago On-line Machine Learning in Go
GoMLX 342 6 days ago An accelerated Machine Learning framework for Go
gonet 82 over 4 years ago Neural Network for Go
Goptuna 260 3 months ago Bayesian optimization framework for black-box functions written in Go. Everything will be optimized
goRecommend 206 over 10 years ago Recommendation Algorithms library written in Go
gorgonia 5,555 3 months ago graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms
gorse 8,609 6 days ago An offline recommender system backend based on collaborative filtering written in Go
goscore 99 about 5 years ago Go Scoring API for PMML
gosseract 2,718 4 months ago Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
hugot 284 6 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,816 4 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 72 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 703 over 3 years ago A simple OCR API server, seriously easy to be deployed by Docker and Heroku
onnx-go 715 3 months 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 9 months ago Easy to use Random Forest library for Go
regommend 314 over 5 years ago Recommendation & collaborative filtering engine
shield 158 over 4 years ago Bayesian text classifier with flexible tokenizers and storage backends for Go
tfgo 2,425 8 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 55 over 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,547 3 months ago Go RabbitMQ Client Library
APNs2 3,006 27 days ago HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps
Asynq 9,946 8 days ago A simple, reliable, and efficient distributed task queue for Go built on top of Redis
Beaver 1,547 about 1 month ago A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps
Bus 336 over 1 year ago Minimalist message bus implementation for internal communication
Centrifugo 8,415 6 days ago Real-time messaging (Websockets or SockJS) server in Go
Chanify 1,274 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,657 6 days ago confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform
dbus 987 12 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 509 over 1 year ago Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins
event 58 almost 7 years ago Implementation of the pattern observer
EventBus 1,750 5 months ago The lightweight event bus with async compatibility
gaurun-client 11 over 3 years ago Gaurun Client written in Go
Glue 416 over 4 years ago Robust Go and Javascript Socket Library (Alternative to Socket.io)
go-eventbus 5 11 days ago Simple Event Bus package for Go
Go-MediatR 210 2 months ago A library for handling mediator patterns and simplified CQRS patterns within an event-driven architecture, inspired by csharp MediatR library
go-mq 92 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,594 3 months ago the official Go package for NSQ
go-res 63 27 days ago Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate
go-socket.io 5,750 about 2 months ago socket.io library for golang, a realtime application framework
go-vitotrol 23 2 months ago Client library to Viessmann Vitotrol web service
Gollum 940 almost 2 years ago A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations
golongpoll 656 over 1 year ago HTTP longpoll server library that makes web pub-sub simple
gopush-cluster 2,083 over 7 years ago gopush-cluster is a go push server cluster
gorush 8,058 about 2 months ago Push notification server using and google
gosd 24 over 2 years ago A library for scheduling when to dispatch a message to a channel
guble 158 about 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 147 about 4 years ago A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges
hypermatch 22 about 2 months 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,557 3 months ago Asynchronous task queue/job queue based on distributed message passing
mangos 682 6 days ago Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability
melody 3,748 4 months ago Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling
Mercure 3,972 10 days ago Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events)
messagebus 273 almost 4 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,568 27 days ago Go client for the NATS messaging system
nsq-event-bus 79 almost 7 years ago A tiny wrapper around NSQ topic and channel
oplog 112 about 2 months ago Generic oplog/replication system for REST APIs
pubsub 427 6 months ago Simple pubsub package for go
Quamina 395 6 days ago Fast pattern-matching for filtering messages and events
rabbitroutine 110 9 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 over 5 years ago A tiny wrapper over amqp exchanges and queues
rabtap 265 11 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 6 days ago Ratus is a RESTful asynchronous task queue server
redisqueue 129 9 months ago redisqueue provides a producer and consumer of a queue that uses Redis streams
rmqconn 23 almost 5 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,560 10 days ago Go library for Apache Kafka
Uniqush-Push 1,539 over 4 years ago Redis backed unified push service for server-side notifications to mobile devices
Watermill 7,749 19 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,180 8 months ago Go interface to ZeroMQ version 4. Also available for and

Awesome Go / Microsoft Office

unioffice 4,378 about 1 month 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,344 6 days ago Golang library for reading and writing Microsoft Excel™ (XLSX) files
exl 30 6 months ago Excel binding to struct written in Go.(Only supports Go1.18+)
go-excel 193 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,878 14 days ago Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs
xlsx 174 about 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 106 3 months 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 2 months ago Dependency injection using Generics and reflection
boot-go Component-based development with dependency injection using reflections for Go developers
componego 26 about 2 months 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 233 11 months ago A dependency injection container for go programming language
dig 3,938 3 months ago A reflection based dependency injection toolkit for Go
dingo 180 7 days ago A dependency injection toolkit for Go, based on Guice
do 1,868 12 days ago A dependency injection framework based on Generics
fx 5,885 10 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 362 8 months ago Spring-inspired Dependency Injection Container
GoLobby/Container 563 4 months ago GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language
gontainer 39 about 1 month ago A dependency injection service container for Go projects
gontainer/gontainer 15 4 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 13,077 4 months ago Automated Initialization in Go
HnH/di 9 18 days 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 169 8 days ago A generics based dependency injection framework for Go
linker 36 9 months ago A reflection based dependency injection and inversion of control library with components lifecycle support
nject 29 6 days ago A type safe, reflective framework for libraries, tests, http endpoints, and service startup
ore 9 5 days 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,592 10 days ago A for building production grade scalable web service applications
cookiecutter-golang 691 10 months ago A Go application boilerplate template for quick starting projects following production best practices
go-blueprint 4,587 10 days ago Allows users to spin up a quick Go project using a popular framework
go-module 30 6 days ago Template for a typical module written on Go
go-sample 130 almost 6 years ago A sample layout for Go application projects with the real code
go-starter 506 5 months ago An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers
go-todo-backend 319 over 1 year ago Go Todo Backend example using modular project layout for product microservice
gobase 61 over 1 year ago A simple skeleton for golang application with basic setup for real golang application
golang-standards/project-layout 49,502 14 days ago Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see for more information. Nonetheless, some may find the layout useful
golang-templates/seed 479 9 days ago Go application GitHub repository template
goxygen 3,522 18 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,852 20 days ago Go application boilerplate and example applying modern practices
nunu 1,931 4 months ago Nunu is a scaffolding tool for building Go applications
pagoda 2,201 about 2 months 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 3 months ago Go implementation of Brace Expansion mechanism to generate arbitrary strings
caps 54 11 months ago A case conversion library
go-formatter Implements surrounded by curly braces format strings
gobeam/Stringy 233 7 months ago String manipulation library to convert string to camel case, snake case, kebab case / slugify etc
strutil 206 over 2 years ago String utilities
sttr 955 about 1 month ago cross-platform, cli app to perform various operations on string
xstrings 1,400 6 months ago Collection of useful string functions ported from other languages

Awesome Go / Miscellaneous / Uncategorized

anagent 15 over 6 years ago Minimalistic, pluggable Golang evloop/timer handler with dependency-injection
antch 260 over 4 years ago A fast, powerful and extensible web crawling & scraping framework
archiver 4,442 9 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 17 over 7 years ago Calculate average score and rating based on Wilson Score Equation
banner 448 almost 4 years ago Add beautiful banners into your Go applications
base64Captcha 2,131 5 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 249 about 1 year ago Cross-platform, normalized battery information library
bitio 245 over 1 year ago Highly optimized bit-level Reader and Writer for Go
browscap_go 49 over 1 year ago GoLang Library for
captcha 155 10 months ago Package captcha provides an easy to use, unopinionated API for captcha generation
common 4 28 days ago A library for server framework
conv 385 about 3 years ago Package conv provides fast and intuitive conversions across Go types
datacounter 49 over 1 year ago Go counters for readers/writer/http.ResponseWriter
faker 10 over 2 years ago Fake data generator
faker 92 about 1 year ago Random fake data and struct generator for Go
ffmt 305 about 3 years ago Beautify data display for Humans
gatus 6,412 6 days ago Automated service health dashboard
go-commandbus 12 almost 3 years ago A slight and pluggable command-bus for Go
go-commons-pool 1,225 over 1 year ago Generic object pool for Golang
go-openapi Collection of packages to parse and utilize open-api schemas
go-resiliency 2,223 2 months ago Resiliency patterns for golang
go-unarr 283 30 days ago Decompression library for RAR, TAR, ZIP and 7z archives
gofakeit 4,573 21 days ago Random data generator written in go
gommit 113 13 days ago Analyze git commit messages to ensure they follow defined patterns
gopsutil 10,631 13 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,452 almost 4 years ago Your own local SMS gateway in Go that can be used to send SMS
gotoprom 108 about 1 month ago Type-safe metrics builder wrapper library for the official Prometheus client
gountries 407 6 months ago Package that exposes country and subdivision data
gtree 246 13 days ago Provide CLI, Package and Web for tree output and directories creation from Markdown or programmatically
health 781 about 2 months ago A simple and flexible health check library for Go
health 451 about 1 year ago Easy to use, extensible health check library
healthcheck 268 11 months ago An opinionated and concurrent health-check HTTP handler for RESTful services
hostutils 12 6 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 372 over 1 year ago A simple licensing library for golang
llvm 1,192 6 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 21 days 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 almost 7 years ago HTTP service to generate PDF from Json requests
persian 86 10 months ago Some utilities for Persian language in go
sandid 47 over 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 939 over 2 years ago Distributed generation of super short, unique, non-sequential, URL friendly IDs
shoutrrr 1,018 4 months ago Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others
sitemap-format 4 about 2 years ago A simple sitemap generator, with a little syntactic sugar
stateless 967 3 months 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 160 about 3 years ago Emojis for Go
url-shortener 48 almost 2 years 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 44 7 months ago FreeDesktop.org (xdg) Specs implemented in Go
xkg 57 almost 10 years ago X Keyboard Grabber
xz 483 2 months 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 171 almost 4 years ago Fast natural language detection package
guesslanguage 58 about 7 years ago Functions to determine the natural language of a unicode text
lingua-go 1,190 6 days ago An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text
whatlanggo 643 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 79 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 43 almost 2 years ago Go implementation of
govader-backend 6 9 months ago Microservice implementation of
kagome 827 28 days 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 387 about 7 years ago Extract values from strings and fill your structs with nlp
nlp 450 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 117 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,752 10 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 94 over 4 years ago Make pretty slug with multiple languages support
slug 1,171 9 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,434 18 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,581 3 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,059 over 1 year ago Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only
segment 89 almost 2 years ago Go library for performing Unicode Text Segmentation as described in
sentences 439 9 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 53 almost 8 years ago Stemmer packages for Go programming language. Includes English and German stemmers
textcat 72 almost 4 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 48 7 months ago Context aware i18n with a short and consise API, pluralization, interpolation, and support. YAML locale definitions are based on
go-i18n 3,017 about 1 month ago Package and an accompanying tool to work with localized text
go-mystem 33 about 8 years ago CGo bindings to Yandex.Mystem - russian morphology analyzer
go-pinyin 1,627 over 1 year ago CN Hanzi to Hanyu Pinyin converter
go-words 6 9 months ago A words table and text resource library for Golang projects
gotext 436 about 2 months ago GNU gettext utilities for Go
iuliia-go 49 over 3 years ago Transliterate Cyrillic → Latin in every possible way
spreak 56 12 months ago Flexible translation and humanization library for Go, based on the concepts behind gettext
t 20 11 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 130 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 6 months ago Provides one-way string transliteration with supporting of language-specific transliteration rules

Awesome Go / Networking

arp 365 almost 2 years ago Package arp implements the ARP protocol, as described in RFC 826
buffstreams 254 over 4 years ago Streaming protocolbuffer data over TCP made easy
canopus 155 over 6 years ago CoAP Client/Server implementation (RFC 7252)
cidranger 901 over 1 year ago Fast IP to CIDR lookup for Go
cloudflared 9,297 9 days ago Cloudflare Tunnel client (formerly Argo Tunnel)
dhcp6 77 over 1 year ago Package dhcp6 implements a DHCPv6 server, as described in RFC 3315
dns 8,062 20 days ago Go library for working with DNS
dnsmonster 317 19 days ago Passive DNS Capture/Monitoring Framework
easytcp 813 8 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 278 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 11 months ago Simple I/O event notification library written in Golang
fasthttp 21,891 6 days ago Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http
fortio 3,363 8 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,305 27 days ago Package ftp implements a FTP client as described in
ftpserverlib 420 6 days ago Fully featured FTP server library
fullproxy 79 over 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 2 months ago A simple and intuitive CLI to manage IPTables forwards in your Linux server
gaio 815 about 2 months ago High performance async-io networking for Golang in proactor mode
gev 1,727 over 1 year ago gev is a lightweight, fast non-blocking TCP network library based on Reactor mode
gldap 111 about 1 month ago gldap provides an ldap server implementation and you provide handlers for its ldap operations
gmqtt 989 about 1 year ago Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1
gnet 9,665 8 days ago is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go
gnet 19 about 2 months ago is a high-performance networking framework,especially for game servers
gNxI 261 2 months ago A collection of tools for Network Management that use the gNMI and gNOI protocols
go-getter 1,661 14 days ago Go library for downloading files or directories from various sources using a URL
go-multiproxy 6 3 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 10 days ago PowerDNS API bindings for Golang
go-sse 12 over 1 year ago Go client and server implementation of HTML server-sent events
go-stun 676 5 months ago Go implementation of the STUN client (RFC 3489 and RFC 5389)
gobgp 3,653 16 days ago BGP implemented in the Go Programming Language
gopacket 6,349 3 months ago Go library for packet processing with libpcap bindings
gopcap 489 over 3 years ago Go wrapper for libpcap
goshark 19 about 7 years ago Package goshark use tshark to decode IP packet and create data struct to analyse packet
gosnmp 1,138 3 months ago Native Go library for performing SNMP actions
gotcp 513 over 1 year ago Go package for quickly writing tcp applications
grab 1,405 6 months ago Go package for managing file downloads
graval 28 about 4 years ago Experimental FTP server framework
gws 1,422 2 months ago High-Performance WebSocket Server & Client With AsyncIO Supporting
HTTPLab 4,045 10 months ago HTTPLabs let you inspect HTTP requests and forge responses
httpproxy 28 2 months ago HTTP proxy handler and dialer
iplib 144 8 months ago Library for working with IP addresses (net.IP, net.IPNet), inspired by python and ruby
jazigo 216 about 1 year ago Jazigo is a tool written in Go for retrieving configuration for multiple network devices
kcp-go 4,108 about 2 months ago KCP - Fast and Reliable ARQ Protocol
kcptun 13,928 7 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 over 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,188 20 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 87 about 1 month ago A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems
nbio 2,226 27 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,054 9 days ago A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance
NFF-Go 1,385 almost 2 years ago Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF)
packet 79 about 5 years ago Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed
peerdiscovery 644 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 106 9 days 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,127 6 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 962 30 days ago A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy
sftp 1,520 6 days ago Package sftp implements the SSH File Transfer Protocol as described in
ssh 3,714 4 months ago Higher-level API for building SSH servers (wraps crypto/ssh)
sslb 149 9 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 about 3 years ago Go library for building tcp servers faster
tcpack 174 about 1 year ago tcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program
tspool 14 about 6 years ago A TCP Library use worker pool to improve performance and protect your server
tun2socks 3,373 9 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 962 12 months ago Go library for building network and server automation over SSH protocol
water 1,952 4 months ago Simple TUN/TAP library
webhooked 37 about 1 month ago A webhook receiver on steroids: handle, secure, format and store a Webhook payload has never been easier
webrtc 13,834 7 days ago A pure Go implementation of the WebRTC API
winrm 425 5 months ago Go WinRM client to remotely execute commands on Windows machines
xtcp 153 over 4 years ago TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol

Awesome Go / Networking / HTTP Clients

fast-shot 66 about 2 months ago Hit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client
gentleman 1,082 11 months ago Full-featured plugin-driven HTTP client library
go-cleanhttp 371 almost 2 years ago Get easily stdlib HTTP client, which does not share any state with other clients
go-http-client 79 10 months ago Make http calls simply and easily
go-otelroundtripper 82 about 1 month 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,995 about 1 month ago Retryable HTTP client in Go
go-zoox/fetch 71 about 2 months ago A Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API
grequests 2,143 7 months ago A Go "clone" of the great and famous Requests library
heimdall 2,634 6 months ago An enhanced http client with retry and hystrix capabilities
httpretry 47 6 months ago Enriches the default go HTTP client with retry functionality
pester 649 almost 3 years ago Go HTTP client calls with retries, backoff, and concurrency
req 4,294 about 1 month ago Simple Go HTTP client with Black Magic (Less code and More efficiency)
request 291 23 days ago HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency
requests 1,512 3 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 10,161 6 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,687 14 days ago Sling is a Go HTTP client library for creating and sending API requests

Awesome Go / OpenGL

gl 1,088 5 months ago Go bindings for OpenGL (generated via glow)
glfw 1,575 7 months ago Go bindings for GLFW 3
go-glmatrix 11 almost 4 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 561 17 days ago Pure Go math package specialized for 3D math, with inspiration from GLM

Awesome Go / ORM

bob 793 5 days ago SQL query builder and ORM/Factory generator for Go. Successor of SQLBoiler
bun 3,792 6 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 17 6 months ago Built on top of GORM, adds compile-time verified queries based on auto-generated code
ent 15,643 19 days ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data
go-dbw 14 2 months 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,463 15 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,960 7 days ago The fantastic ORM library for Golang, aims to be developer friendly
gormt 2,359 about 1 month ago Mysql database to golang gorm struct
gorp 3,738 about 1 year ago Go Relational Persistence, ORM-ish library for Go
grimoire 164 about 3 years ago Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3)
lore 14 about 7 years ago Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go
marlow 13 over 4 years ago Generated ORM from project structs for compile time safety assurances
pop/soda 1,444 5 months ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
Prisma 2,152 10 days ago Prisma Client Go, Typesafe database access for Go
reform 1,444 over 1 year ago Better ORM for Go, based on non-empty interfaces and code generation
rel 770 5 months ago Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
SQLBoiler 6,763 8 days ago ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema
upper.io/db 3,544 2 months 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 almost 2 years 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,841 about 4 years ago Go dependency tool
vgo Versioned Go
glide 8,145 4 months ago Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip
godep 5,536 over 6 years ago dependency tool for go, godep helps build packages reproducibly by fixing their dependencies
gom 1,382 over 5 years ago Go Manager - bundle for go
goop 778 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,470 over 5 years ago Go Package Manager
govendor 4,933 over 4 years ago Go Package Manager. Go vendor tool that works with the standard vendor file
gpm 1,189 about 7 years ago Barebones dependency manager for Go
gup 343 9 days ago Update binaries installed by "go install"
johnny-deps 214 almost 4 years ago Minimal dependency version using Git
modgv 487 over 1 year ago Converts 'go mod graph' output into Graphviz's DOT language
mvn-golang 163 3 months ago plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure
syft 6,248 6 days ago A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems
VenGO 124 over 8 years ago create and manage exportable isolated go virtual environments

Awesome Go / Performance

go-instrument 229 15 days ago Automatically add spans to all methods and functions
jaeger 20,503 7 days ago A distributed tracing system
mm-go 150 2 months ago Generic manual memory management for golang
pixie 5,584 7 days ago No instrumentation tracing for Golang applications via eBPF
profile 2,003 about 2 years ago Simple profiling support package for Go
statsviz 3,217 7 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 3 months ago Comprehensive GraphQL implementation
dasel 7,158 10 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,190 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,969 10 days ago go generate based graphql server library
grapher 3 over 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,652 about 1 month ago GraphQL server with a focus on ease of use
graphql-go 9,920 about 1 month ago Implementation of GraphQL for Go
gws 6 about 4 years ago Apollos' "GraphQL over Websocket" client and server implementation
jsonpath 24 about 1 year ago A query library for retrieving part of JSON based on JSONPath syntax
jsonql 276 about 4 years ago JSON query expression library in Golang
jsonslice 85 27 days ago Jsonpath queries with advanced filters
mql 44 6 months ago Model Query Language (mql) is a query language for your database models
rql 343 4 months ago Resource Query Language for REST API
rqp 78 12 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 49 almost 4 years ago Package for fast copying structs of different types
Deepcopier 452 over 4 years ago Simple struct copying for Go
go-deepcopy 27 about 1 month ago Fast deep copy library
goenum 12 2 months 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 about 2 months 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 3 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 about 1 year ago Embeds files into Go programs and provides http.FileSystem interfaces to them
fileb0x 635 over 1 year ago Simple tool to embed files in go with focus on "customization" and ease to use
go-resources 176 about 2 years ago Unfancy resources embedding with Go
go.rice 2,417 about 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 over 3 years ago Embed external resources like images, movies ... into Go source code to create single file binaries using . Focused on simplicity
packr 3,409 almost 3 years ago The simple and easy way to embed static files into Go binaries
rebed 29 almost 3 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,764 about 1 year ago Embeds static files into a Go executable
templify 30 over 3 years ago Embed external template files into Go code to create single file binaries
vfsgen 982 12 months ago Generates a vfsdata.go file that statically implements the given virtual filesystem

Awesome Go / Science and Data Analysis

assocentity 15 over 1 year ago Package assocentity returns the average distance from words to a given entity
bradleyterry 11 over 5 years ago Provides a Bradley-Terry Model for pairwise comparisons
calendarheatmap 398 10 days ago Calendar heatmap in plain Go inspired by Github contribution activity
chart 771 over 3 years ago Simple Chart Plotting library for Go. Supports many graphs types
dataframe-go 1,192 over 2 years ago Dataframes for machine-learning and statistics (similar to pandas)
decimal 41 over 2 years ago Package decimal implements arbitrary-precision decimal floating-point arithmetic
evaler 51 over 6 years ago Simple floating point arithmetic expression evaluator
ewma 439 11 months ago Exponentially-weighted moving averages
geom 56 almost 7 years ago 2D geometry for golang
go-dsp 859 about 1 year ago Digital Signal Processing for Go
go-estimate 113 5 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 6 days 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 35 over 5 years ago GO Implementation of Entropy Measures
gograph 67 4 months ago A golang generic graph library that provides mathematical graph-theory and algorithms
gohistogram 175 almost 4 years ago Approximate histograms for data streams
gonum 7,632 3 months 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,748 30 days ago gonum/plot provides an API for building and drawing plots in Go
goraph 739 over 2 years ago Pure Go graph theory library(data structure, algorithm visualization)
gosl 1,834 about 1 month ago Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more
GoStats 22 almost 6 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 709 over 1 year ago Library of basic graph algorithms
jsonl-graph 73 3 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 913 4 months ago 2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support
pagerank 85 over 3 years ago Weighted PageRank algorithm implemented in Go
piecewiselinear 26 12 months ago Tiny linear interpolation library
PiHex 20 about 1 month ago Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi
Poly 676 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 159 over 3 years ago Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries
stats 2,925 6 months ago Statistics package with common functions missing from the Golang standard library
streamtools 1,312 about 1 year ago general purpose, graphical tool for dealing with streams of data
TextRank 205 over 3 years ago TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support
topk 4 about 2 months ago Sliding-window and regular top-K sketches, based on the HeavyKeeper algorithm
triangolatte 36 over 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,056 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,357 2 months ago Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system
age 17,356 about 2 months 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 10 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 320 over 4 years ago In-memory, application-driven jailer built in the spirit of fail2ban
beelzebub 685 10 days ago A secure low code honeypot framework, leveraging AI for System Virtualization
booster 504 about 1 month ago Fast initramfs generator with full-disk encryption support
Cameradar 4,107 about 1 month 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,044 12 days ago Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal
Coraza 2,258 6 days ago Enterprise-ready, modsecurity and OWASP CRS compatible WAF library
dongle 902 8 days ago A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption
encid 3 9 months ago Encode and decode encrypted integer IDs
firewalld-rest 337 10 months ago A rest application to dynamically update firewalld rules on a linux server
go-generate-password 55 over 2 years ago Password generator that can be used on the cli or as a library
go-htpasswd 39 23 days ago Apache htpasswd Parser for Go
go-password-validator 501 about 2 years ago Password validator based on raw cryptographic entropy values
go-peer 265 6 days ago A software library for creating secure and anonymous decentralized systems
go-yara 360 4 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 59 about 2 years ago A probably paranoid package for securely hashing and encrypting passwords
Interpol 5 over 2 years ago Rule-based data generator for fuzzing and penetration testing
lego 8,030 5 days ago Pure Go ACME client library and CLI tool (for use with Let's Encrypt)
luks.go 88 7 months ago Pure Golang library to manage LUKS partitions
memguard 2,550 7 months ago A pure Go library for handling sensitive values in memory
multikey 6 6 months ago An n-out-of-N keys encryption/decryption framework based on Shamir's Secret Sharing algorithm
nacl 544 5 months ago Go implementation of the NaCL set of API's
optimus-go 364 over 4 years ago ID hashing and Obfuscation using Knuth's Algorithm
passlib 289 over 3 years ago Futureproof password hashing library
passwap 51 6 days ago Provides a unified implementation between different password hashing algorithms
secret 28 3 months ago Prevent your secrets from leaking into logs, std* etc
secure 2,273 29 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 450 19 days ago encrypt/decrypt using ssh keys
sslmgr 26 4 months ago SSL certificates made easy with a high level wrapper around acme/autocert
teler-waf 355 6 days 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,875 2 months 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 41 4 months ago Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC
binstruct 97 about 2 months ago Golang binary decoder for mapping data into the structure
cbor 739 6 days ago Small, safe, and easy CBOR encoding and decoding library
colfer 745 4 months ago Code generation for the Colfer binary format
csvutil 941 3 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 almost 5 years ago Cap'n Proto library and parser for go
go-codec 1,861 9 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 13 about 1 month ago High level and rich functionalities CSV serialization/deserialization library
gogoprotobuf 5,664 over 1 year ago Protocol Buffers for Go with Gadgets
goprotobuf 9,785 4 months ago Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers
gotiny 20 10 months ago Efficient Go serialization library, gotiny is almost as fast as serialization libraries that generate code
jsoniter 13,445 6 months ago High-performance 100% compatible drop-in replacement of "encoding/json"
mapstructure 7,919 5 months ago Go library for decoding generic map values into native Go structures
php_session_decoder 164 about 6 years ago GoLang library for working with PHP session format and PHP Serialize/Unserialize functions
pletter 19 11 months ago A standard way to wrap a proto message for message brokers
structomap 144 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,823 7 days ago HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber
Caddy 58,407 6 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 111 17 days ago Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels
devd 3,440 7 months ago Local webserver for developers
discovery 1,779 over 1 year ago A registry for resilient mid-tier load balancing and failover
dudeldu 143 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,778 8 days ago A cloud native high availability/performance traffic orchestration system with observability and extensibility
etcd 47,851 4 days ago Highly-available key value store for shared configuration and service discovery
Euterpe 535 25 days ago Self-hosted music streaming server with built-in web UI and REST API
Fider 3,029 16 days ago Fider is an open platform to collect and organize customer feedback
Flagr 2,432 16 days ago Flagr is an open-source feature flagging and A/B testing service
flipt 3,805 6 days ago A self contained feature flag solution written in Go and Vue.js
go-feature-flag 1,481 6 days ago A simple, complete and lightweight self-hosted feature flag solution 100% Open Source
go-proxy-cache 133 17 days ago Simple Reverse Proxy with Caching, written in Go, using Redis
gondola 7 5 months ago A YAML based golang reverse proxy
jackal 1,437 over 1 year ago An XMPP server written in Go
lets-proxy2 96 8 months ago Reverse proxy for handle https with issue certificates in fly from lets-encrypt
minio 48,255 7 days ago Minio is a distributed object storage server
Moxy 14 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 40 about 4 years ago Nginx log parser and exporter to Prometheus
nsq A realtime distributed messaging platform
pocketbase 40,708 6 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 about 4 years ago A proxy server that converts JSON request bodies to Protocol Buffers
psql-streamer 58 over 4 years ago Stream database events from PostgreSQL to Kafka
riemann-relay 2 about 5 years ago Relay to load-balance Riemann events and/or convert them to Carbon
RoadRunner 7,922 6 days ago High-performance PHP application server, load-balancer and process manager
SFTPGo 9,435 6 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 38 over 1 year ago Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management
Trickster 1,995 3 months ago HTTP reverse proxy cache and time series accelerator
Wish 3,621 6 days ago Make SSH apps, just like that!

Awesome Go / Stream Processing

go-streams 1,910 12 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 158 13 days ago Go library for writing and generating stream workers with built in metrics and traceability
stream 89 10 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 842 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:
got 32 about 1 year ago A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more
goview 425 about 1 year ago Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application
htmgo build simple and scalable systems with go + htmx
jet 1,263 9 months ago Jet template engine
liquid 287 15 days ago Go implementation of Shopify Liquid templates
maroto 2,194 7 days ago A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple
pongo2 2,878 3 months ago Django-like template-engine for Go
quicktemplate 3,128 4 months ago Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it
raymond 608 3 months ago Complete handlebars implementation in Go
Razor 859 17 days ago Razor view engine for Golang
Soy 172 8 months ago Closure templates (aka Soy templates) for Go, following the
sprout 94 15 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,319 9 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 1 22 days ago Architecture testing tool for Go projects
assert 63 about 2 years ago Basic Assertion Library used along side native go testing, with building blocks for custom assertions
baloo 778 over 2 years ago Expressive and versatile end-to-end HTTP API testing made easy
be 102 about 1 year ago The minimalist generic test assertion library
biff 14 almost 2 years ago Bifurcation testing framework, BDD compatible
charlatan 203 about 1 year ago Tool to generate fake interface implementations for tests
commander 226 8 months ago Tool for testing cli applications on windows, linux and osx
cupaloy 308 over 1 year ago Simple snapshot testing addon for your test framework
dbcleaner 161 about 3 years ago Clean database for testing purpose, inspired by in Ruby
dft 13 19 days ago Lightweight, zero dependency docker containers for testing (or more)
dsunit 45 8 months ago Datastore testing for SQL, NoSQL, structured files
embedded-postgres 860 3 months ago Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test
endly 265 8 days ago Declarative end to end functional testing
envite 5 3 months ago Dev and testing environment management framework
fixenv 30 3 months ago Fixture manage engine, inspired by pytest fixtures
fluentassert 46 9 days ago Extensible, type-safe, fluent assertion Go library
flute 19 6 days ago HTTP client testing framework
frisby 278 over 4 years ago REST API testing framework
gherkingen 77 5 months ago BDD boilerplate generator and framework
ginkgo BDD Testing Framework for Go
gnomock 1,395 18 days ago integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks
go-carpet 246 about 2 months ago Tool for viewing test coverage in terminal
go-cmp 4,215 29 days ago Package for comparing Go values in tests
go-hit 255 5 months ago Hit is an http integration test framework written in golang
go-mutesting 643 5 months ago Mutation testing for Go source code
go-mysql-test-container 3 about 2 years ago Golang MySQL testcontainer to help with MySQL integration testing
go-snaps Jest-like snapshot testing in Golang
go-testdeep 436 3 months ago Extremely flexible golang deep comparison, extends the go testing package
go-testpredicate 5 9 days ago Test predicate style assertions library with extensive diagnostics output
go-vcr 1,261 about 1 month ago Record and replay your HTTP interactions for fast, deterministic and accurate tests
goblin 885 almost 2 years ago Mocha like testing framework of Go
goc 818 6 days ago Goc is a comprehensive coverage testing system for The Go Programming Language
gocheck More advanced testing framework alternative to gotest
GoConvey 8,259 4 months ago BDD-style framework with web UI and live reload
gocrest 106 3 months ago Composable hamcrest-like matchers for Go assertions
godog 2,314 6 days ago Cucumber BDD framework for Go
gofight 441 18 days ago API Handler Testing for Golang Router framework
gogiven 15 over 1 year ago YATSPEC-like BDD testing framework for Go
gomatch 47 almost 4 years ago library created for testing JSON against patterns
gomega Rspec like matcher/assertion library
Gont 78 10 days ago Go network testing toolkit for testing building complex network topologies using Linux namespaces
gospecify 52 about 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 about 8 years ago Brings lightweight test suites with setup/teardown facilities to by leveraging Go1.7's Subtests
got 265 5 months ago An enjoyable golang test framework
gotest.tools 518 3 months 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,553 about 2 months ago Concise, declarative, and easy to use end-to-end HTTP and REST API testing
is 1,782 10 months ago Professional lightweight testing mini-framework for Go
jsonassert 127 about 2 months ago Package for verifying that your JSON payloads are serialized correctly
keploy 5,106 6 days ago Generate Testcase and Data Mocks from API calls automatically
omg.testingtools 1 about 3 years ago The simple library for change a values of private fields for testing
restit 55 6 months ago Go micro framework to help writing RESTful API integration test
schema 21 about 5 years ago Quick and easy expression matching for JSON schemas used in requests and responses
stop-and-go 10 6 days ago Testing helper for concurrency
testcase 121 12 days ago Idiomatic testing framework for Behavior Driven Development
testcerts 69 about 2 months ago Dynamically generate self-signed certificates and certificate authorities within your test functions
testcontainers-go 3,650 6 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,116 10 days ago A helper for Rails' like test fixtures to test database applications
Testify 23,493 8 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 6 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 995 10 days ago Tool for generating self-contained mock objects
genmock Go mocking system with code generator for building calls of the interface methods
go-localstack 78 about 1 month ago Tool for using localstack in AWS testing
go-sqlmock 6,153 2 months ago Mock SQL driver for testing database interactions
go-txdb 665 4 months ago Single transaction based database driver mainly for testing purposes
gock 2,102 about 2 months ago Versatile HTTP mocking made easy
gomock 9,320 11 months ago Mocking framework for the Go programming language
govcr 174 7 months ago HTTP mock for Golang: record and replay HTTP interactions for offline testing
hoverfly 2,360 about 1 month ago HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI
httpmock 1,938 7 days ago Easy mocking of HTTP responses from external resources
minimock 640 16 days ago Mock generator for Go interfaces
mockery 6,143 7 days ago Tool to generate Go interfaces
mockhttp 23 about 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,995 3 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 over 4 years ago A test-friendly replacement for the native package
xgo 368 11 days ago A general pureposed function mocking library

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

go-fuzz 4,780 about 2 months ago Randomized testing system
gofuzz 1,496 about 2 years ago Library for populating go objects with random values
Tavor 245 about 6 years ago Generic fuzzing and delta-debugging framework

Awesome Go / Testing / Selenium and browser control tools

cdp 726 12 days ago Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it
chromedp 11,065 10 days ago a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol
ggr 314 7 months ago a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs
playwright-go 2,219 9 days ago browser automation library to control Chromium, Firefox and WebKit with a single API
rod 5,392 3 months ago A Devtools driver to make web automation and scraping easy
selenoid 2,606 3 months ago alternative Selenium hub server that launches browsers within containers

Awesome Go / Testing / Fail injection

failpoint 820 6 months ago An implementation of for Golang

Awesome Go / Text Processing / Formatters

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

Awesome Go / Text Processing / Markup Languages

bafi 105 9 months ago Universal JSON, BSON, YAML, XML translator to ANY format using templates
bbConvert 12 3 months ago Converts bbCode to HTML that allows you to add support for custom bbCode tags
blackfriday 5,452 10 months ago Markdown processor in Go
go-output-format 17 9 months ago Output go structures into multiple formats (YAML/JSON/etc) in your command line app
go-toml 1,736 3 months ago Go library for the TOML format with query support and handy cli tools
goldmark 3,687 about 1 month ago A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured
goq 261 about 3 years ago Declarative unmarshalling of HTML using struct tags with jQuery syntax (uses GoQuery)
html-to-markdown 2,210 10 days ago Convert HTML to Markdown. Even works with entire websites and can be extended through rules
htmlquery 738 about 2 months ago An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression
htmlyaml 4 3 months ago Rich rendering of YAML as HTML in Go
htree 4 19 days ago Traverse, navigate, filter, and otherwise process trees of objects
mxj 622 8 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,586 22 days ago TOML configuration format (encoder/decoder with reflection)

Awesome Go / Text Processing / Parsers/Encoders/Decoders

allot 59 almost 3 years ago Placeholder and wildcard text parsing for CLI tools and bots
codetree 24 about 5 years ago Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure
commonregex 895 about 5 years ago A collection of common regular expressions for Go
did 91 almost 2 years ago DID (Decentralized Identifiers) Parser and Stringer in Go
doi 10 over 7 years ago Document object identifier (doi) parser in Go
editorconfig-core-go 141 10 days ago Editorconfig file parser and manipulator for Go
encdec 9 about 5 years ago Package provides a generic interface to encoders and decoders
go-fasttld 32 12 days ago High performance effective top level domains (eTLD) extraction module
go-nmea 227 3 months ago NMEA parser library for the Go language
go-querystring 1,992 6 days ago Go library for encoding structs into URL query parameters
go-vcard 107 28 days ago Parse and format vCard
godump 151 6 days ago Pretty print any GO variable with ease, an alternative to Go's
gofeed 2,589 4 months ago Parse RSS and Atom feeds in Go
gographviz 553 over 1 year ago Parses the Graphviz DOT language
gonameparts 42 about 2 months ago Parses human names into individual name parts
ltsv 9 about 2 months ago High performance reader for Go
normalize 46 over 3 years ago Sanitize, normalize and compare fuzzy text
parseargs-go 10 almost 8 years ago string argument parser that understands quotes and backslashes
parth 0 6 months ago URL path segmentation parsing
prattle 7 about 1 year ago Scan and parse LL(1) grammars simply and efficiently
sdp 113 over 4 years ago SDP: Session Description Protocol [ ]
sh 7,300 13 days ago Shell parser and formatter
tokenizer 98 15 days ago Parse any string, slice or infinite buffer to any tokens
vdf 44 7 months ago A Lexer and Parser for Valves Data Format (known as vdf) written in Go
when 1,389 9 days ago Natural EN and RU language date/time parser with pluggable rules
xj2go 34 about 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 82 over 1 year ago Simple and lightweight wildcard pattern matching
goregen 90 over 2 years ago Library for generating random strings from regular expressions
regroup 147 about 1 month ago Match regex expression named groups into go struct using struct tags and automatic parsing
rex 196 about 1 month ago Regular expressions builder

Awesome Go / Text Processing / Sanitation

bluemonday 3,216 5 months ago HTML Sanitizer
gofuckyourself 66 over 1 year ago A sanitization-based swear filter for Go

Awesome Go / Text Processing / Scrapers

colly 23,317 4 months ago Fast and Elegant Scraping Framework for Gophers
dataflowkit 662 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 14,065 7 days ago GoQuery brings a syntax and a set of features similar to jQuery to the Go language
pagser 105 about 1 year ago Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler
Tagify 38 4 months ago Produces a set of tags from given source
walker 11 almost 2 years ago Seamlessly fetch paginated data from any source. Simple and high performance API scraping included
xurls 1,187 about 2 months ago Extract urls from text

Awesome Go / Text Processing / RSS

podcast 134 about 4 years ago iTunes Compliant and RSS 2.0 Podcast Generator in Golang

Awesome Go / Text Processing / Utility/Miscellaneous

go-runewidth 608 4 months ago Functions to get fixed width of the character or string
go-zero-width 109 over 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 12 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,116 3 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 8 months ago Go client library for the
amazon-product-advertising-api 57 over 6 years ago Go Client Library for
anaconda 1,144 10 months ago Go client library for the Twitter 1.1 API
appstore-sdk-go 5 10 months ago Unofficial Golang SDK for AppStore Connect API
aws-sdk-go 2,665 5 days ago The official AWS SDK for the Go programming language
bqwriter 16 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 10 months ago Go client library for interacting with CircleCI's API
clarifai 55 about 1 month ago Go client library for interfacing with the Clarifai API
codeship-go 18 about 4 years ago Go client library for interacting with Codeship's API v2
coinpaprika-go 23 12 months ago Go client library for interacting with Coinpaprika's API
device-check-go 24 6 days ago Go client library for interacting with v1
discordgo 5,099 about 2 months ago Go bindings for the Discord Chat API
disgo 88 over 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 268 11 months ago Go bindings for Ethereum JSON RPC API
facebook 1,334 about 1 month 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 517 5 months ago Go Library to access , , , , , , and geocoding / reverse geocoding APIs
github 10,446 9 days ago Go library for accessing the GitHub REST API v3
githubql 1,122 4 months ago Go library for accessing the GitHub GraphQL API v4
go-atlassian 131 13 days ago Go library for accessing the services (Jira, Jira Service Management, Jira Agile, Confluence, Admin Cloud)
go-aws-news 17 5 months ago Go application and library to fetch what's new from AWS
go-chronos 8 almost 7 years ago Go library for interacting with the Job Scheduler
go-gerrit 94 22 days ago Go cient library for
go-hacknews 17 over 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 6 7 months ago Simple Go binding to the "Have I Been Pwned" APIs
go-imgur 24 5 months ago Go client library for
go-jira 1,479 16 days ago Go client library for
go-lark 205 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 7 months ago Go client library for accessing the
go-openai 9,238 13 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 82 6 months ago Go module to work with (compatible with Insomnia)
go-redoc 74 7 months ago Embedded OpenAPI/Swagger documentation ui for Go using
go-restcountries 3 about 3 years ago Go library for the
go-salesforce 30 16 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 about 2 years ago Go library containing precompiled for serving swagger json
go-telegraph Telegraph publishing platform API client
go-trending 141 7 months ago Go library for accessing and at Github
go-twitter 1,589 about 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 about 2 years ago Go client for the xkcd API
go-yapla Go client library for the Yapla v2.0 API
goagi 9 5 months ago Go library to build Asterisk PBX agi/fastagi applications
goami2 14 7 months ago AMI v2 library for Asterisk PBX
GoFreeDB 36 about 1 year ago Golang library providing common and simple database abstractions on top of Google Sheets
gogtrends 82 almost 2 years ago Google Trends Unofficial API
golang-tmdb 124 3 months 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 12 over 5 years ago Go library MalShare API
GoMusicBrainz 58 over 1 year ago Go MusicBrainz WS2 client library
google 4,034 6 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,779 6 days ago Google Cloud APIs Go Client Library
google-email-audit-api 8 about 8 years ago Go client library for
google-play-scraper 82 about 1 year ago Get data from Google Play Store
gopaapi5 16 over 4 years ago Go Client Library for
gopensky 2 26 days ago Go client implementation for live's API (airspace ADS-B and Mode S data)
gosip 144 17 days 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 almost 2 years ago Go client for the
ip2location-io-go 10 5 months ago Go wrapper for the IP2Location.io API
jokeapi-go 24 11 months ago Go client for
lark 421 2 months ago / Open API Go SDK, Support ALL Open API and Event Callback
lastpass-go 35 over 1 year ago Go client library for the API
libgoffi 9 about 4 years ago Library adapter toolbox for native integration
Medium 140 about 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,503 19 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 9 months ago Go client for
openaigo 291 6 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 691 about 2 months ago Wrapper for PayPal payment API
playlyfe 2 over 8 years ago The Playlyfe Rest API Go SDK
pushover 142 7 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 155 5 months ago Simple no frills AWS S3 Library using REST with V4 Signing written in Go
slack 4,687 7 days ago Slack API in Go
smite 11 over 10 years ago Go package to wraps access to the Smite game API
spotify 51 2 months ago Go Library to access Spotify WEB API
steam 32 6 months ago Go Library to interact with Steam game servers
stripe 2,158 5 days ago Go client for the Stripe API
swag 47 7 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 20 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 7 months ago Go wrapper for the Trello API
TripAdvisor 2 about 5 years ago Go wrapper for the TripAdvisor API
tumblr 8 about 8 years ago Go wrapper for the Tumblr v2 API
twitter-scraper 897 about 1 year ago Scrape the Twitter Frontend API without authentication and limits
uptimerobot 56 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 956 4 months ago Webhook receiver for GitHub and Bitbucket
wit-go 159 4 months ago Go client for wit.ai HTTP API
ynab 70 9 months ago Go wrapper for the YNAB API
zooz 7 9 months ago Go client for the Zooz API

Awesome Go / Utilities

apm 167 almost 8 years ago Process manager for Golang applications with an HTTP API
backscanner 64 8 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
bed 1,275 19 days ago A Vim-like binary editor written in Go
blank 12 over 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,725 over 1 year ago Blazingly fast CLI tool for creating projects from boilerplate templates
changie 696 12 days ago Automated changelog tool for preparing releases with lots of customization options
chyle 158 29 days ago Changelog generator using a git repository with multiple configuration possibilities
circuit 765 about 1 month ago An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern
circuitbreaker 1,126 6 months ago Circuit Breakers in Go
clipboard 629 3 months ago 📋 cross-platform clipboard package in Go
clockwork 666 about 1 month ago A simple fake clock for golang
cmd 152 10 months ago Library for executing shell commands on osx, windows and linux
command 13 over 8 years ago Command pattern for Go with thread safe serial and parallel dispatcher
config-file-validator 345 22 days 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 111 6 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 410 6 months ago Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards
countries 87 about 1 year ago All you need when you are working with countries in Go
create-go-app 2,608 3 months 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 153 about 3 years ago Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
ctop 15,576 5 months ago interface (e.g. htop) for container metrics
ctxutil 25 over 4 years ago A collection of utility functions for contexts
cvt 48 2 months ago Easy and safe convert any value to another type
dbt 62 5 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 635 5 months ago Go debugger
dive 46,318 4 months ago A tool for exploring each layer in a Docker image
dlog 17 over 7 years ago Compile-time controlled logger to make your release smaller without removing debug calls
EaseProbe 2,177 17 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 88 8 months ago Quota manager and rate limiter collection for Go
ergo 624 4 months ago The management of multiple local services running over different ports made easy
evaluator 41 over 1 year ago Evaluate an expression dynamically based on s-expression. It's simple and easy to extend
Failsafe-go 1,677 7 days ago Fault tolerance and resilience patterns for Go
filetype 2,119 8 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 about 2 months ago provide filtering, sanitizing, and conversion of Go data
fzf 65,547 6 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 10 days ago Parallelized formatter with no external dependencies for gherkin (cucumber, behat...)
git-time-metric 977 almost 3 years ago Simple, seamless, lightweight time tracking for Git
gitbatch 1,540 over 1 year ago manage your git repositories in one place
gitcs 118 5 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 7 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 almost 4 years ago A minimalistic clipboard manager for Mac
go-convert 22 7 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 487 about 1 year ago DRY (don't repeat yourself) package for Go
go-events 2 about 2 months ago A go event and event'subscribe package, like wordpress hook functions
go-funk 4,796 4 months ago Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...)
go-health 96 almost 3 years ago Health package simplifies the way you add health check to your services
go-httpheader 46 over 1 year ago Go library for encoding structs into Header fields
go-lambda-cleanup 91 20 days ago A CLI for removing unused or previous versions of AWS Lambdas
go-lock 117 over 2 years ago go-lock is a lock library implementing read-write mutex and read-write trylock without starvation
go-pattern-match 93 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 almost 5 years ago Go package for working with Problem Details
go-qr 32 3 months ago A native, high-quality and minimalistic QR code generator
go-rate 397 almost 3 years ago Timed rate limiter for Go
go-sitemap-generator 220 4 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-tripper 12 7 months ago Tripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits
go-type 19 9 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 492 over 3 years ago Utility to write daemons
godropbox 4,172 11 months ago Common libraries for writing Go services/applications from Dropbox
gofn 49 14 days ago High performance utility functions written using Generics for Go 1.18+
gohper 254 over 7 years ago Various tools/modules help for development
golarm 52 about 9 years ago Fire alarms with system events
golog 61 almost 6 years ago Easy and lightweight CLI tool to time track your tasks
gopencils 451 almost 6 years ago Small and simple package to easily consume REST APIs
goplaceholder 28 almost 9 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,823 5 days ago Deliver Go binaries as fast and easily as possible
goreporter 3,127 about 6 years ago Golang tool that does static analysis, unit testing, code review and generate code quality report
goseaweedfs 113 about 2 years ago SeaweedFS client library with almost full features
gostrutils 45 5 months ago Collections of string manipulation and conversion functions
gotenv 300 over 1 year ago Load environment variables from or any in Go
goval 159 4 months ago Evaluate arbitrary expressions in Go
graterm 26 about 2 years ago Provides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application
grofer 356 over 1 year ago A system and resource monitoring tool written in Golang!
gubrak 482 over 1 year ago Golang utility library with syntactic sugar. It's like lodash, but for golang
handy 80 about 4 years ago Many utilities and helpers like string handlers/formatters and validators
hostctl 1,099 10 months ago A CLI tool to manage /etc/hosts with easy commands
htcat 554 over 5 years ago Parallel and Pipelined HTTP GET Utility
hub 22,832 10 months ago wrap git commands with additional functionality to interact with github from the terminal
hystrix-go 4,247 9 months ago Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker
immortal 806 4 months ago *nix cross-platform (OS agnostic) supervisor
intrinsic 47 over 7 years ago Use x86 SIMD without writing any assembly code
jsend 21 over 3 years ago JSend's implementation written in Go
json-log-viewer 122 10 days ago Interactive viewer for JSON logs
jump 1,797 6 months ago Jump helps you navigate faster by learning your habits
just 32 3 months ago Just a collection of useful functions for working with generic data structures
koazee 529 about 4 years ago Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays
lancet 4,698 7 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 460 12 days ago Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks
lo 17,929 10 days ago A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...)
loncha 11 over 2 years ago A high-performance slice Utilities
lrserver 127 9 months ago LiveReload server for Go
mani 445 10 days ago CLI tool to help you manage multiple repositories
mc 2,868 8 days ago Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems
mergo 2,890 3 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 over 2 years ago A MIME type sniffer for Go
mimetype 1,672 6 days ago Package for MIME type detection based on magic numbers
minify 3,737 9 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 169 about 7 years ago Utility for generating random data based on an input template
mole 1,695 6 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 103 7 months ago Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind
multitick 70 11 months ago Multiplexor for aligned tickers
myhttp 34 over 6 years ago Simple API to make HTTP GET requests with timeout support
netbug 72 about 9 years ago Easy remote profiling of your services
nfdump 11 28 days ago Read nfdump netflow files
nostromo 143 5 months ago CLI for building powerful aliases
okrun 16 about 10 years ago go run error steamroller
olaf 5 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,534 about 1 year ago Groups similar goroutines and colorizes stack dump
pattern-match 244 over 1 year ago Pattern matching library
peco 7,694 9 months ago Simplistic interactive filtering tool
pgo 86 8 months ago Convenient functions for PHP community
pm 79 11 months ago Process (i.e. goroutine) manager with an HTTP API
pointer 42 about 1 month 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 526 3 months ago Control mouse and keyboard from a smartphone
repeat 85 over 4 years ago Go implementation of different backoff strategies useful for retrying operations and heartbeating
request 425 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 over 4 years ago A package that provide many helpful methods for working with rest api
retry 340 5 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 almost 5 years ago A pretty simple library to ensure your work to be done
retry-go 2,452 3 months ago Simple library for retry mechanism
retry-go 50 about 6 years ago Retrying made simple and easy for golang
robustly 158 11 months ago Runs functions resiliently, catching and restarting panics
rospo 311 10 days ago Simple and reliable ssh tunnels with embedded ssh server in Golang
scan 562 13 days ago Scan golang directly to structs, slices, or primitive types
scan 63 9 months ago Scan sql rows into any type powered by generics
scany 1,307 5 months ago Library for scanning data from a database into Go structs and more
serve 335 5 months ago A static http server anywhere you need
sesh 662 24 days ago Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide
set 47 over 2 years ago Performant and flexible struct mapping and loose type conversion
shutdown 59 almost 3 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 almost 5 years ago Slice conversion between primitive types
slicer 46 over 3 years ago Makes working with slices easier
sorty 133 6 months ago Fast Concurrent / Parallel Sorting
sqlx 16,266 3 months ago provides a set of extensions on top of the excellent built-in database/sql package
sshman 49 about 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,064 11 months ago Simple and powerful toolkit for BoltDB
structs 24 about 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 about 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 198 8 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 855 10 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,990 9 days ago usql is a universal command-line interface for SQL databases
util 292 over 2 years ago Collection of useful utility functions. (strings, concurrency, manipulations, ...)
watchhttp 33 3 months ago Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint
wifiqr 263 6 months ago Wi-Fi QR Code Generator
wuzz 10,568 4 months ago Interactive cli tool for HTTP inspection
xferspdy 101 over 3 years ago Xferspdy provides binary diff and patch library in golang
yogo 42 3 months 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 almost 6 years ago Generate and Parse RFC4122 compliant V4 UUIDs
gouid 24 10 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 about 3 years ago Compact, sortable and fast unique IDs with embedded metadata
ulid 4,523 7 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,581 10 days ago Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid
uuid 5,343 7 days ago Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services
wuid 532 10 months ago An extremely fast globally unique number generator
xid 3,955 17 days ago Xid is a globally unique id generator library, ready to be safely used directly in your server code

Awesome Go / Validation

checkdigit 110 over 1 year ago Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.)
go-validator 15 about 1 month ago Validation library using Generics
gody 79 29 days ago A lightweight struct validator for Go
govalid 46 6 days ago Fast, tag-based validation for structs
govalidator 6,050 3 months ago Validators and sanitizers for strings, numerics, slices and structs
govalidator 1,324 6 months ago Validate Golang request data with simple rules. Highly inspired by Laravel's request validation
hvalid 11 7 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 112 5 months ago jio is a json schema validator similar to
ozzo-validation 3,760 8 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,075 about 2 months 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,892 2 months ago Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
Validator 7 3 months ago A lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex
valix 29 about 1 year ago Go package for validating requests
Zog 190 8 days ago A inspired schema builder for runtime value parsing and validation

Awesome Go / Version Control

cli An open-source GitLab command line tool bringing GitLab's cool features to your command line
froggit-go 45 about 1 month ago Froggit-Go is a Go library, allowing to perform actions on VCS providers
git2go 1,933 9 months ago Go bindings for libgit2
githooks 102 about 2 months ago Per-repo and shared Git hooks with version control and auto update
go-git 5,995 6 days ago highly extensible Git implementation in pure Go
go-vcs 79 over 1 year ago manipulate and inspect VCS repositories in Go
hercules 2,633 almost 2 years ago gaining advanced insights from Git repository history
hgo 16 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 396 7 days ago Better C bindings for ffmpeg in GO
go-astisub 592 about 1 month ago Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)
go-astits 543 about 1 year ago Parse and demux MPEG Transport Streams (.ts) natively in GO
go-m3u8 28 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 23 about 1 year ago Parser and generator library for MPEG-DASH manifest files
goav 2,103 over 2 years ago Comprehensive Go bindings for FFmpeg
gortsplib 696 12 days ago Pure Go RTSP server and client library
libvlc-go 434 about 1 month ago Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player)
m3u8 1,233 4 months ago Parser and generator library of M3U8 playlists for Apple HLS
mp4ff 466 9 days ago Library and tools for working with MP4 files containing video, audio, subtitles, or metadata
v4l 80 8 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 9 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 over 2 years ago The lightweight and powerful web framework using the new way for Go.Another go the way
appy 132 9 months ago An opinionated productive web framework that helps scaling business easier
Atreugo 1,238 4 months ago High performance and extensible micro web framework with zero memory allocations in hot paths
Banjo 24 almost 7 years ago Very simple and fast web framework for Go
Beego 31,624 19 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 53 6 days ago A highly performant and simple to use API framework
Echo 29,900 26 days ago High performance, minimalist Go web framework
Fastschema 336 6 days ago A flexible Go web framework and Headless CMS
Fiber 33,950 6 days ago An Express.js inspired web framework build on Fasthttp
Fireball 60 about 6 years ago More "natural" feeling web framework
Flamingo 463 7 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 512 7 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 903 7 days ago The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code
Gearbox 758 about 1 year ago A web framework written in Go with a focus on high performance and memory optimization
Gin 78,978 6 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 about 2 months ago Gin parameter automatic binding tool,gin rpc tools
Gizmo 3,763 over 1 year ago Microservice toolkit used by the New York Times
go-json-rest 3,514 almost 4 years ago Quick and easy way to setup a RESTful JSON API
go-rest 128 almost 8 years ago Small and evil REST framework for Go
Goa 5,693 7 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 3,582 6 days ago Gofr is an opinionated microservice development framework
GoFrame 11,713 6 days ago GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang
golamb 7 6 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 almost 6 years ago The web framework for writing faster sites, faster
Gone 129 8 days ago A lightweight dependency injection and web framework inspired by Spring
gongular 502 over 4 years ago Fast Go web framework with input mapping/validation and (DI) Dependency Injection
goravel 2,842 26 days ago A Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features
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,631 6 days ago Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities
Hertz 5,357 10 days ago A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices
hiboot 180 about 1 month ago hiboot is a high performance web application framework with auto configuration and dependency injection support
Huma 2,150 7 days ago Framework for modern REST/GraphQL APIs with built-in OpenAPI 3, generated documentation, and a CLI
iWF 537 6 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 25 9 months ago Highly performant declarative web framework for Golang, aiming for simplicity and quality of life
Macaron 3,515 10 days ago Macaron is a high productive and modular design web framework in Go
mango 372 about 7 years ago Mango is a modular web-application framework for Go, inspired by Rack, and PEP333
Microservice 114 6 days ago The framework for the creation of microservices, written in Golang
neo 420 about 2 years ago Neo is minimal and fast Go Web Framework with extremely simple API
patron 123 6 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 36 over 1 year ago Pulse is an HTTP web framework written in Go (Golang)
Resoursea 35 almost 10 years ago REST framework for quickly writing resource based services
REST Layer 1,255 about 3 years ago Framework to build REST/GraphQL API on top of databases with mostly configuration over code
Revel 13,153 about 1 year 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 521 about 2 months ago A bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily
rux 98 about 1 month ago Simple and fast web framework for build golang HTTP applications
tango 831 over 5 years ago Micro & pluggable web framework for Go
tigertonic 995 over 6 years ago Go framework for building JSON web services inspired by Dropwizard
uAdmin 343 about 1 month ago Fully featured web framework for Golang, inspired by Django
utron 2,217 about 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 303 about 1 month ago A micro-framework to build web apps with handler chaining, middleware, and context injection. With standard library-compliant HTTP handlers (i.e., )
YARF 68 over 5 years ago Fast micro-framework designed to build REST APIs and web services in a fast and simple way
Yokai 454 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,681 23 days ago Easily add CORS capabilities to your API
echo-middleware 15 3 months 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 505 about 1 month ago Fault injection middleware for Go
go-server-timing 862 12 months ago Add/parse Server-Timing header
Limiter 2,099 23 days ago Dead simple rate limit middleware for Go
ln-paywall 151 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 46 8 months ago Middleware for Gin framework with logging, metrics, auth, tracing etc
rk-grpc 75 about 1 year ago Middleware for gRPC with logging, metrics, auth, tracing etc
Tollbooth 2,692 17 days ago Rate limit HTTP request handler
XFF 98 almost 3 years ago Handle header and friends
alice 3,118 6 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 104 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 207 over 5 years ago Lightweight middleware for net/http
negroni 7,470 6 months ago Idiomatic HTTP middleware for Golang
render 1,940 about 1 month ago Go package for easily rendering JSON, XML, and HTML template responses
renderer 263 almost 4 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 594 almost 2 years ago Go middleware that stores various information about your web application

Awesome Go / Web Frameworks / Routers

alien 132 8 months ago Lightweight and fast http router from outer space
bellt 54 over 2 years ago A simple Go HTTP router
Bone 1,288 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,564 about 2 months ago Small, fast and expressive HTTP router built on net/context
fasthttprouter 872 over 5 years ago High performance router forked from . The first router fit for
FastRouter 23 about 7 years ago a fast, flexible HTTP router written in Go
goblin 78 7 months ago A golang http router based on trie tree
gocraft/web 1,508 about 4 years ago Mux and middleware package in Go
Goji 967 over 2 years ago Goji is a minimalistic and flexible HTTP request multiplexer with support for
GoLobby/Router 22 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 3 months 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,629 4 months ago High performance router. Use this and the standard http handlers to form a very high performance web framework
httptreemux 616 4 months ago High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter
lars 385 over 5 years ago Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks
mux 20,887 3 months ago Powerful URL router and dispatcher for golang
nchi 13 6 days ago chi-like router built on httprouter with dependency injection based middleware wrappers
ngamux 67 3 months ago Simple HTTP router for Go
ozzo-routing 455 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 over 1 year ago Is a lightweight HTTP router that sticks to the std "net/http" implementation
Siesta 349 11 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 489 about 5 years ago DOM library
Extism Go SDK 83 9 days ago Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps
go-canvas 245 almost 4 years ago Library to use HTML5 Canvas, with all drawing within go code
tinygo 15,449 6 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 191 22 days ago Run Go WASM tests in your browser
webapi 176 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,167 14 days 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 / Workflow Frameworks

Cadence-client 349 8 days ago A framework for authoring workflows and activities running on top of the Cadence orchestration engine made by Uber
Dagu 1,654 6 days ago No-code workflow executor. it executes DAGs defined in a simple YAML format
go-dag 21 3 months ago A framework developed in Go that manages the execution of workflows described by directed acyclic graphs
go-taskflow 124 6 days ago A taskflow-like General-purpose Task-parallel Programming Framework with integrated visualizer and profiler
workflow 117 7 days ago A tech stack agnostic Event Driven Workflow framework

Awesome Go / XML

XML-Comp 21 over 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 694 about 2 months ago XPath package for Go
xquery 158 over 6 years ago XQuery lets you extract data from HTML/XML documents using XPath expression
zek 750 21 days ago Generate a Go struct from XML

Awesome Go / Zero Trust

Cosign 4,497 8 days ago Container Signing, Verification and Storage in an OCI registry
in-toto 131 9 days ago Go implementation of the in-toto (provides a framework to protect the integrity of the software supply chain) python reference implementation
OpenZiti 2,825 6 days ago A full, open source zero trust overlay network. Including numerous SDKs for numerous languages such as allowing you to embed zero trust principles directly into your applications. The has numerous examples to draw inspiration from including a
Spiffe-Vault 85 24 days ago Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication
Spire 1,800 6 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 almost 8 years ago Checks recent changes to a Go project for backwards incompatible changes
asty 81 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 57 over 2 years ago Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack
Chronos 428 over 2 years ago Detects race conditions statically
dupl 346 8 months ago Tool for code clone detection
errcheck 2,360 11 days ago Errcheck is a program for checking for unchecked errors in Go programs
fatcontext 10 9 days ago Fatcontext detects nested contexts in loops or function literals
gcvis 1,101 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 874 about 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,854 about 1 month ago source code linter that brings checks that are currently not implemented in other linters
go-mod-outdated 651 almost 2 years ago An easy way to find outdated dependencies of your Go projects
go-outdated 43 almost 6 years ago Console application that displays outdated packages
goast-viewer 769 12 months ago Web based Golang AST visualizer
goimports Tool to fix (add, remove) your Go imports automatically
golang-ifood-sdk 12 about 2 years ago iFood API SDK
golangci-lint 15,693 8 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 931 about 2 months ago Formatter that automatically shortens long lines in Go code
GoPlantUML 1,857 3 months ago Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them
goreturns 530 about 1 year ago Adds zero-value return statements to match the func return types
gostatus 243 12 months ago Command line tool, shows the status of repositories that contain Go packages
lint 67 about 6 years ago Run linters as part of go test
php-parser 941 over 3 years ago A Parser for PHP written in Go
revive 4,822 6 days ago – ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for
staticcheck 6,190 19 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 101 8 days ago – A linter that checks usage of
tickgit 324 11 months ago CLI and go package for surfacing code comment TODOs (in any language) and applying a to identify the author
todocheck 427 about 1 year ago Static code analyser which links TODO comments in code with issues in your issue tracker
unconvert 378 about 1 year ago Remove unnecessary type conversions from Go source
usestdlibvars 43 5 months ago A linter that detect the possibility to use variables/constants from the Go standard library
vacuum 617 28 days ago An ultra-super-fast, lightweight OpenAPI linter and quality checking tool
validate 61 over 1 year ago Automatically validates struct fields with tags
wrapcheck 309 3 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 567 about 1 month ago This plugin adds features to Vim/Neovim
Go Doc 8 10 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,388 5 months ago Go mode for GNU/Emacs
go-plus 1,510 over 3 years ago Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting
gocode 5,011 8 months ago Autocompletion daemon for the Go programming language
goimports-reviser 602 15 days ago Formatting tool for imports
goprofiling This extension adds benchmark profiling support for the Go language to VS Code
GoSublime 3,418 over 4 years ago Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features
gounit-vim 24 about 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 16,024 9 days ago Go development plugin for Vim
vscode-go 3,894 6 days ago Extension for Visual Studio Code (VS Code) which provides support for the Go language
Watch 202 over 1 year ago Runs a command in an acme win on file changes

Awesome Go / Go Generate Tools

envdoc 61 10 days ago generate documentation for environment variables from Go source files
generic 48 almost 4 years ago flexible data type for Go
genny 1,712 about 3 years ago Elegant generics for Go
gocontracts 111 almost 6 years ago brings design-by-contract to Go by synchronizing the code with the documentation
godal 18 about 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,957 about 1 year ago Generate Go tests from your source code
gounit 79 over 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 29 days 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 338 4 months ago XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator

Awesome Go / Go Tools

colorgo 113 over 4 years ago Wrapper around command for colorized output
decouple 22 9 months ago Find “overspecified” function parameters that could be generalized with interface types
depth 934 almost 3 years ago Visualize dependency trees of any package by analyzing imports
docs 41 over 1 year ago Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard
go-callvis 5,983 5 months ago Visualize call graph of your Go program using dot format
go-size-analyzer 1,233 5 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,546 14 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 35 6 months ago Go tool that executes and caches binaries included in go.mod files
gotemplate.io Online tool to preview templates live
gotestdox 120 6 months ago Show Go test results as readable sentences
gothanks 126 almost 2 years 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 19 7 days ago Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to rules
MoniGO 237 23 days ago A performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀
OctoLinker 5,284 about 1 year ago Navigate through go files efficiently with the OctoLinker browser extension for GitHub
richgo 851 4 months ago Enrich outputs with text decorations
roumon 187 4 months ago Monitor current state of all active goroutines via a command line interface
rts 248 about 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 200 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 220 4 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 655 about 2 months ago Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring
aptly 13 about 5 years ago aptly is a Debian repository management tool
aurora 601 over 3 years ago Cross-platform web-based Beanstalkd queue server console
awsenv 35 over 6 years ago Small binary that loads Amazon (AWS) environment variables for a profile
Balerter 301 4 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 6,026 5 months ago Fast cross-platform HTTP benchmarking tool
bosun 3,402 4 months ago Time Series Alerting Framework
cassowary 773 2 months ago Modern cross-platform HTTP load-testing tool written in Go
Ddosify 8,428 21 days ago High-performance load testing tool, written in Golang
decompose 86 6 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 46 8 days ago Docker image for building Go binaries for Windows with MinGW toolchain
Dockerfile-Generator 171 over 2 years ago A go library and an executable that produces valid Dockerfiles using various input channels
dogo 268 over 5 years ago Monitoring changes in the source file and automatically compile and run (restart)
drone-jenkins 39 about 1 month ago Trigger downstream Jenkins jobs using a binary, docker or Drone CI
drone-scp 145 24 days ago Copy files and artifacts via SSH using a binary, docker or Drone CI
Dropship 64 over 6 years ago Tool for deploying code via cdn
easyssh-proxy 322 2 months ago Golang package for easy remote execution through SSH and SCP downloading via
fac 1,840 11 months ago Command-line user interface to fix git merge conflicts
Flannel 8,816 6 days ago Flannel is a network fabric for containers, designed for Kubernetes
Fleet device management 3,118 5 days ago Lightweight, programmable telemetry for servers and workstations
gaia 5,200 about 1 year ago Build powerful pipelines in any programming language
ghorg 1,585 16 days ago Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket
Gitea 45,098 6 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 about 3 years ago Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean
go-rocket-update 103 4 months ago A simple way to make self updating Go applications - Supports Github and Gitlab
go-selfupdate 1,529 3 months ago Enable your Go applications to self update
gobrew 192 over 4 years ago gobrew lets you easily switch between multiple versions of go
gobrew 379 10 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 over 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 539 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
goxc 1,675 about 5 years ago build tool for Go, with a focus on cross-compiling and packaging
grapes 168 3 months ago Lightweight tool designed to distribute commands over ssh with ease
GVM 10,339 3 months ago GVM provides an interface to manage Go versions
Hey 18,174 3 months ago Hey is a tiny program that sends some load to a web application
httpref 37 8 days ago httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports
jcli 389 28 days ago Jenkins CLI allows you manage your Jenkins as an easy way
k3d 5,459 8 days ago Little helper to run CNCF's k3s in Docker
k3s 28,088 3 days ago Lightweight Kubernetes
k6 26,050 6 days ago A modern load testing tool, using Go and JavaScript
kala 2,136 9 months ago Simplistic, modern, and performant job scheduler
kcli 216 almost 5 years ago Command line tool for inspecting kafka topics/partitions/messages
kind 13,499 12 days ago Kubernetes IN Docker - local clusters for testing Kubernetes
ko 7,647 6 days ago Command line tool for building and deploying Go applications on Kubernetes
kool 667 3 months ago Command line tool for managing Docker environments as an easy way
kubeblocks 2,135 6 days ago KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s
kubernetes 111,105 6 days ago Container Cluster Manager from Google
kubeshark 11,039 10 days ago API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes
KubeVela 6,448 about 1 month ago Cloud native application delivery
KubeVPN 559 6 days ago KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network
KusionStack 895 7 days ago A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach
kwatch 964 13 days ago Monitor & detect crashes in your Kubernetes(K8s) cluster instantly
lstags 329 over 1 year ago Tool and API to sync Docker images across different registries
lwc 32 over 2 years ago A live-updating version of the UNIX wc command
manssh 298 almost 3 years ago manssh is a command line tool for managing your ssh alias config easily
Mantil 109 about 2 years ago Go specific framework for building serverless applications on AWS that enables you to focus on pure Go code while Mantil takes care of the infrastructure
minikube 29,495 6 days ago Run Kubernetes locally
Moby 68,758 6 days ago Collaborative project for the container ecosystem to assemble container-based systems
Mora 315 7 months ago REST server for accessing MongoDB documents and meta data
ostent 179 almost 2 years ago collects and displays system metrics and optionally relays to Graphite and/or InfluxDB
Packer 15,116 6 days ago Packer is a tool for creating identical machine images for multiple platforms from a single source configuration
Pewpew 422 5 months ago Flexible HTTP command line stress tester
PipeCD 1,086 6 days ago A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications
podinfo 5,412 7 days ago Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops
Pomerium 4,052 9 days ago Pomerium is an identity-aware access proxy
Rodent 33 over 7 years ago Rodent helps you manage Go versions, projects and track dependencies
s3-proxy 309 10 days ago S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth)
s3gof3r 1,146 about 3 years ago Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3
s5cmd 2,683 28 days ago Blazing fast S3 and local filesystem execution tool
Scaleway-cli 885 6 days ago Manage BareMetal Servers from Command Line (as easily as with Docker)
script 5,547 about 1 month ago Making it easy to write shell-like scripts in Go for DevOps and system administration tasks
sg 8 about 8 years ago Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response
skm 954 over 1 year ago SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
StatusOK 1,625 over 3 years ago Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected
tau 3,535 16 days ago Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging
terraform-provider-openapi 275 about 1 year ago Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed
tf-profile 156 29 days ago Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations
tlm 1,231 4 months ago Local cli copilot, powered by CodeLLaMa
traefik 51,356 6 days ago Reverse proxy and load balancer with support for multiple backends
trubka 333 over 1 year ago A CLI tool to manage and troubleshoot Apache Kafka clusters with the ability of generically publishing/consuming protocol buffer and plain text events to/from Kafka
uTask 1,204 10 days ago Automation engine that models and executes business processes declared in yaml
Vegeta 23,597 24 days ago HTTP load testing tool and library. It's over 9000!
wait-for 17 almost 2 years ago Wait for something to happen (from the command line) before continuing. Easy orchestration of Docker services and other things
webhook 10,397 8 days ago Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server
Wide Web-based IDE for Teams using Golang
winrm-cli 163 almost 3 years ago Cli tool to remotely execute commands on Windows machines

Awesome Go / Software Packages / Other Software

Better Go Playground Go playground with syntax highlight, code completion and other features
blocky 4,788 6 days ago Fast and lightweight DNS proxy as ad-blocker for local network with many features
borg 1,603 almost 7 years ago Terminal based search engine for bash snippets
boxed 79 over 6 years ago Dropbox based blog engine
Cherry 301 over 7 years ago Tiny webchat server in Go
Circuit 1,984 about 1 year ago Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications
Comcast 10,314 7 months ago Simulate bad network connections
confd 8,350 4 months ago Manage local application configuration files using templates and data from etcd or consul
crawley 263 12 days ago Web scraper/crawler for cli
croc 28,127 8 days ago Easily and securely send files or folders from one computer to another
Documize 2,165 5 months ago Modern wiki software that integrates data from SaaS tools
dp 81 almost 2 years ago Through SDK for data exchange with blockchain, developers can get easy access to DAPP development
drive 6,688 10 months ago Google Drive client for the commandline
Duplicacy 5,244 16 days ago A cross-platform network and cloud backup tool based on the idea of lock-free deduplication
fjira 142 8 days ago A fuzzy-search based terminal UI application for Attlasian Jira
Gebug 634 7 months ago A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly
gfile 743 over 1 year ago Securely transfer files between two computers, without any third party, over WebRTC
Go Package Store 899 12 months ago App that displays updates for the Go packages in your GOPATH
go-peerflix 472 over 1 year ago Video streaming torrent client
goblin Golang binaries in a curl, built by goblins
GoBoy 2,609 over 1 year ago Nintendo Game Boy Color emulator written in Go
gocc 615 over 1 year ago Gocc is a compiler kit for Go written in Go
GoDocTooltip 13 almost 2 years ago Chrome extension for Go Doc sites, which shows function description as tooltip at function list
Gokapi 1,682 about 2 months ago Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload
GoLand Full featured cross-platform Go IDE
GoNB 665 19 days ago Interactive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab)
Gor 18,657 16 days ago Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time
Guora 669 almost 2 years ago A self-hosted Quora like web application written in Go
hoofli 8 4 months ago Generate PlantUML diagrams from Chrome or Firefox network inspections
hotswap 354 6 months ago A complete solution to reload your go code without restarting your server, interrupting or blocking any ongoing procedure
hugo Fast and Modern Static Website Engine
ide 359 almost 2 years ago Browser accessible IDE. Designed for Go with Go
ipe 367 over 3 years ago Open source Pusher server implementation compatible with Pusher client libraries written in GO
joincap 211 7 days ago Command-line utility for merging multiple pcap files together
JuiceFS 10,904 6 days ago Distributed POSIX file system built on top of Redis and AWS S3
Juju Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more
Leaps 753 over 1 year ago Pair programming service using Operational Transforms
lgo 2,439 about 4 years ago Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility
limetext Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text
LiteIDE 7,597 4 months ago LiteIDE is a simple, open source, cross-platform Go IDE
mockingjay 562 over 2 years ago Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests
myLG 2,699 over 4 years ago Command Line Network Diagnostic tool written in Go
naclpipe 23 about 6 years ago Simple NaCL EC25519 based crypto pipe tool written in Go
Neo-cowsay 315 11 months ago 🐮 cowsay is reborn. for a New Era
nes 5,451 3 months ago Nintendo Entertainment System (NES) emulator written in Go
Orbit 183 almost 4 years ago A simple tool for running commands and generating files from templates
peg 1,018 3 months ago Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator
Plik 1,486 3 months ago Plik is a temporary file upload system (Wetransfer like) in Go
portal 1,496 3 months ago Portal is a quick and easy command-line file transfer utility from any computer to another
protoncheck 6 almost 3 years ago ProtonMail module for waybar/polybar/yabar/i3blocks
restic 26,593 10 days ago De-duplicating backup program
sake 656 about 1 year ago sake is a command runner for local and remote hosts
scc 6,760 9 days ago Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates
Seaweed File System 22,853 6 days ago Fast, Simple and Scalable Distributed File System with O(1) disk seek
shell2http 1,351 14 days ago Executing shell commands via http server (for prototyping or remote control)
Snitch 17 over 6 years ago Simple way to notify your team and many tools when someone has deployed any application via Tsuru
sonic 2,018 7 months ago Sonic is a Go Blogging Platform. Simple and Powerful
Stack Up 2,488 11 months ago Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers
stew 191 8 months ago An independent package manager for compiled binaries
syncthing Open, decentralized file synchronization tool and protocol
tcpdog 255 over 3 years ago eBPF based TCP observability
tcpprobe 354 over 3 years ago TCP tool for network performance and path monitoring, including socket statistics
term-quiz 26 about 6 years ago Quizzes for your terminal
toxiproxy 10,824 10 days ago Proxy to simulate network and system conditions for automated tests
tsuru Extensible and open source Platform as a Service software
vaku 152 9 days ago CLI & API for folder-based functions in Vault like copy, move, and search
vFlow 1,103 3 months ago High-performance, scalable and reliable IPFIX, sFlow and Netflow collector
Wave Terminal Wave is an open-source, AI-native terminal built for seamless developer workflows with inline rendering, a modern UI, and persistent sessions
wellington 303 over 1 year ago Sass project management tool, extends the language with sprite functions (like Compass)
woke 454 7 months ago Detect non-inclusive language in your source code
yai 675 4 months ago AI powered terminal assistant
zs an extremely minimal static site generator

Resources / Benchmarks

autobench 99 over 10 years ago Framework to compare the performance between different Go versions
go-benchmark-app 27 over 7 years ago Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results
go-benchmarks 147 over 8 years ago Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches
go-http-routing-benchmark 1,651 about 1 year ago Go HTTP request router benchmark and comparison
go-json-benchmark 9 about 4 years ago Go JSON benchmark
go-ml-benchmarks 30 7 months ago benchmarks for machine learning inference in Go
go-web-framework-benchmark 2,077 3 months ago Go web framework benchmark
go_serialization_benchmarks 1,570 3 months ago Benchmarks of Go serialization methods
gocostmodel 61 over 3 years ago Benchmarks of common basic operations for the Go language
golang-benchmarks 132 18 days ago a collection of golang benchmarks
golang-sql-benchmark 65 over 2 years ago Collection of benchmarks for popular Go database/SQL utilities
gospeed 121 8 months ago Go micro-benchmarks for calculating the speed of language constructs
kvbench 26 about 5 years ago Key/Value database benchmark
skynet 1,046 about 1 year ago Skynet 1M threads microbenchmark
speedtest-resize 239 about 4 years ago Compare various Image resize algorithms for the Go language

Resources / Conferences

GoCon Tokyo, Japan
GoDays Berlin, Germany
GoLab Florence, Italy
GopherChina Shanghai, China
GopherCon Denver, USA
GopherCon Australia Sydney, Australia
GopherCon Brazil Florianópolis, Brazil
GopherCon Europe Berlin, Germany
GopherCon India Pune, India
GopherCon Israel Tel Aviv, Israel
GopherCon Russia Moscow, Russia
GopherCon Singapore Mapletree Business City, Singapore
GopherCon UK London, UK
GopherCon Vietnam Ho Chi Minh City, Vietnam
GoWest Conference Lehi, USA

Resources / E-Books / E-books for purchase

100 Go Mistakes: How to Avoid Them
Black Hat Go Go programming for hackers and pentesters
Build an Orchestrator in Go
Continuous Delivery in Go This practical guide to continuous delivery shows you how to rapidly establish an automated pipeline that will improve your testing, code quality, and final product
Creative DIY Microcontroller Project With TinyGo and WebAssembly An introduction into the TinyGo compiler with projects involving Arduino and WebAssembly
Effective Go: Elegant, efficient, and testable code Unlock Go’s unique perspective on program design, and start writing simple, maintainable, and testable Go code
For the Love of Go An introductory book for Go beginners
Go in Practice, Second Edition Your practical guide on the ins-and-outs of Go development, covering the standard library and the most important tools from Go’s powerful ecosystem
Know Go: Generics A guide to understanding and using generics in Go
Lets-Go A step-by-step guide to creating fast, secure and maintanable web applications with Go
Lets-Go-Further Advanced patterns for building APIs and web applications in Go
The Power of Go: Tests A guide to testing in Go
The Power of Go: Tools A guide to writing command-line tools in Go
Writing A Compiler In Go
Writing An Interpreter In Go Book that introduces dozens of techniques for writing idiomatic, expressive, and efficient Go code that avoids common pitfalls

Resources / E-Books / Free e-books

A Go Developer's Notebook
An Introduction to Programming in Go
Build a blockchain from scratch in Go with gRPC 248 11 days ago The foundational and practical guide for effectively learning and progressively building a blockchain from scratch in Go with gRPC
Build Web Application with Golang
Building Web Apps With Go
Go 101 A book focusing on Go syntax/semantics and all kinds of details
Go AST Book (Chinese) 5,382 about 2 months ago A book focusing on Go packages
Go Faster This book seeks to shorten your learning curve and help you become a proficient Go programmer, faster
Go Succinctly 22 about 6 years ago in Persian
Go with the domain A book showing how to apply DDD, Clean Architecture, and CQRS by practical refactoring
GoBooks 17,124 12 days ago A curated list of Go books
How To Code in Go eBook A 600 page introduction to Go aimed at first time developers
Learning Go
Network Programming With Go
Practical Go Lessons
Spaceship Go A Journey to the Standard Library
The Go Programming Language
The Golang Standard Library by Example (Chinese) 9,498 over 1 year ago
Web Application with Go the Anti-Textbook 3,184 about 1 year ago

Resources / Gophers

Free Gophers Pack 3,484 almost 2 years ago Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster
Go-gopher-Vector 69 over 6 years ago Go gopher Vector Data [.ai, .svg]
gopher-logos 125 over 3 years ago adorable gopher logos
gopher-stickers 588 almost 5 years ago
gophericons 617 over 6 years ago
gopherize.me 712 about 3 years ago Gopherize yourself
gophers 2,964 over 5 years ago Gopher artworks by Ashley McNamara
gophers 3,501 over 2 years ago Free gophers
gophers 58 over 4 years ago random gopher graphics
gophers 146 over 1 year ago Gopher amigurumi toy pattern
gophers 34 8 months ago Gophers by Aurélie Vache

Resources / Meetups

Basel Go Meetup
Belfast Gophers
Belgrade Golang Meetup
Berlin Golang
Brisbane Gophers
Bärner Go Meetup - Berne, Switzerland
Go Language NYC
Go London User Group
Go Remote Meetup
Go Toronto
Go User Group Atlanta
GoBandung
GoBridge, San Francisco, CA
GoCracow - Krakow, Poland
GoJakarta
Golang Amsterdam
Golang Argentina
Golang Athens
Golang Baltimore, MD
Golang Bangalore
Golang Belo Horizonte - Brazil
Golang Boston
Golang Bulgaria
Golang Cardiff, UK
Golang Copenhagen
Golang Curitiba - Brazil
Golang DC, Arlington, VA
Golang Dorset, UK
Golang Estonia
Golang Gurgaon, India
Golang Hamburg - Germany
Golang Israel
Golang Kathmandu
Golang Lima - Peru
Golang Lyon
Golang Marseille
Golang Melbourne
Golang North East
Golang Paris
Golang Poland
Golang Pune
Golang Rotterdam
Golang Singapore
Golang Stockholm
Golang Sydney, AU
Golang São Paulo - Brazil
Golang Taipei
Golang Thessaloniki
Golang Turkey
Golang Vancouver, BC
Golang Vienna, Austria
Golang Москва
GoSF - San Francisco, CA
Istanbul Golang
Lagos Gophers
Nairobi Gophers
Seattle Go Programmers
Ukrainian Golang User Groups
Utah Go User Group
Women Who Go - San Francisco, CA
Zürich Gophers - Zurich, Switzerland

Resources / Style Guides

bahlo/go-styleguide 1,496 4 months ago
CockroachDB 30,130 6 days ago
GitLab
Google
Hyperledger 15,756 14 days ago
Magnetico 3,061 almost 3 years ago
Thanos
Trybe 310 almost 3 years ago
Uber 15,930 3 months ago

Resources / Social Media / Twitter

@GoDiscussions
@golang
@golang_news
@golangch
@golangweekly

Resources / Social Media / Reddit

r/golang

Resources / Websites

Awesome Go @LibHunt Your go-to Go Toolbox
Awesome Golang Workshops 511 over 3 years ago A curated list of awesome golang workshops
Awesome Remote Job 34,770 3 days ago Curated list of awesome remote jobs. A lot of them are looking for Go hackers
awesome-awesomeness 32,092 6 months ago List of other amazingly awesome lists
awesome-go-extra 23 about 2 years ago Parse awesome-go README file and generate a new README file with repo info
Code with Mukesh Software Engineer and Blogs @ codewithmukesh.com
Coding Mystery Solve exciting escape-room-inspired programming challenges using Go
CodinGame Learn Go by solving interactive tasks using small games as practical examples
Go Blog The official Go blog
Go Code Club A group of Gophers read and discuss a different Go project every week
Go Community on Hashnode Community of Gophers on Hashnode
Go Forum Forum to discuss Go
Go Projects 124,071 6 days ago List of projects on the Go community wiki
Go Proverbs Go Proverbs by Rob Pike
Go Report Card A report card for your Go package
go.dev A hub for Go developers
gocryforhelp 41 about 7 years ago Collection of Go projects that needs help. Good place to start your open-source way in Go
Golang Developer Jobs Developer Jobs exclusively for Golang related Roles
Golang News Links and news about Go programming
Golang Nugget A weekly roundup of the best Go content, delivered to your inbox every Monday
Golang Resources A curation of the best articles, exercises, talks and videos to learn Go
Golang Weekly Each monday projects, tutorials and articles about Go
golang-graphics 141 about 9 years ago Collection of Go images, graphics, and art
golang-nuts Go mailing list
Google Plus Community The Google+ community for #golang enthusiasts
Gopher Community Chat Join Our New Slack Community For Gophers ( )
Gophercises Free coding exercises for budding gophers
json2go Advanced JSON to Go struct conversion - online tool
justforfunc Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy
Learn Go Programming Learn Go concepts with illustrations
Made with Golang
pkg.go.dev Documentation for open source Go packages
r/Golang News about Go
studygolang The community of studygolang in China
Trending Go repositories on GitHub today Good place to find new Go libraries
TutorialEdge - Golang

Resources / Websites / Tutorials

50 Shades of Go Traps, Gotchas, and Common Mistakes for New Golang Devs
A Comprehensive Guide to Structured Logging in Go Delve deep into the world of structured logging in Go with a specific focus on recently accepted slog proposal which aims to bring high performance structured logging with levels to the standard library
A Guide to Golang E-Commerce Building a Golang site for e-commerce (demo included)
A Tour of Go Interactive tour of Go
Build a Database in 1000 lines of code Build a NoSQL Database From Zero in 1000 Lines of Code
Build web application with Golang 43,315 6 months ago Golang ebook intro how to build a web app with golang
Building and Testing a REST API in Go with Gorilla Mux and PostgreSQL We’ll write an API with the help of the powerful Gorilla Mux
Building Go Web Applications and Microservices Using Gin Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline
Caching Slow Database Queries How to cache slow database queries
Canceling MySQL How to cancel MySQL queries
CodeCrafters Golang Track Achieve mastery in advanced Go by building your own Redis, Docker, Git, and SQLite. Featuring goroutines, systems programming, file I/O, and more
Design Patterns in Go 119 over 1 year ago Collection of programming design patterns implemented in Go
Ethereum Development with Go 1,742 about 2 years ago A little e-book on Ethereum Development with Go
Games With Go A video series teaching programming and game development
Go By Example Hands-on introduction to Go using annotated example programs
Go Cheat Sheet 8,415 about 1 year ago Go's reference card
Go database/sql tutorial Introduction to database/sql
Go in 7 days 143 about 4 years ago Learn everything about Go in 7 days (from a Nodejs developer)
Go Language Tutorial Learn Go language Tutorial
Go Tutorial Learn Go programming
Go WebAssembly Tutorial - Building a Simple Calculator
go-clean-template 6,333 3 months ago Clean Architecture template for Golang services
go-patterns 25,507 6 months ago Curated list of Go design patterns, recipes and idioms
goapp 912 about 1 month ago An opinionated guideline to structure & develop a Go web application/service
Golang for Node.js Developers 4,621 almost 2 years ago Examples of Golang compared to Node.js for learning
Golang Tutorial Guide A List of Free Courses to Learn the Go Programming Language
golang-examples 1,579 about 1 month ago Many examples to learn Golang
Golangbot Tutorials to get started with programming in Go
GopherCoding Collection of code snippets and tutorials to help tackle every day issues
GopherSnippets Code snippets with tests and testable examples for the Go programming language
Gosamples Collection of code snippets that let you solve everyday code problems
GraphQL with Go Learn how to create a Go GraphQL server and client with code generation. Also includes creating REST endpoints
Hackr.io Learn Go from the best online golang tutorials submitted & voted by the golang programming community
Hex Monscape 69 4 months ago Getting started guidelines in writing maintainable code using Hexagonal Architecture
How to Benchmark: dbq vs sqlx vs GORM Learn how to benchmark in Go. As a case-study, we will benchmark dbq, sqlx and GORM
How To Deploy a Go Web Application with Docker Learn how to use Docker for Go development and how to build production Docker images
How to Use Godog for Behavior-driven Development in Go Get started with Godog — a Behavior-driven development framework for building and testing Go applications
Learn Go with 1000+ Exercises 18,903 7 months ago Learn Go with thousands of examples, exercises, and quizzes
Learn Go with TDD 22,203 6 days ago Learn Go with test-driven development
Learning Go by examples Series of articles in order to learn Golang language by concrete applications as example
Microservices with Go Dive deep into building microservices using Go, including gRPC
package main YouTube channel about Programming in Go
Programming with Google Go Coursera Specialization to learn about Go from scratch
Scaling Go Applications Everything about building, deploying and scaling Go applications in production
The world’s easiest introduction to WebAssembly with Golang
Understanding Go in a visual way Learn Go visually
W3basic Go Tutorials W3Basic provides an in-depth tutorial and well-organized content to learn Golang programming
Working with Go 1,153 almost 5 years ago Intro to go for experienced programmers
Your basic Go Huge collection of tutorials and how to's

Resources / Websites / Guided Learning

The Go Developer Roadmap A visual roadmap that new Go developers can follow through to help them learn Go
The Go Learning Path A guided learning path containing a mix of free and premium resources
The Go Skill Tree A structured learning path that combines both free and premium resources

Backlinks from these awesome lists:

More related projects: