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

135k stars
3k watching
12k forks
Language: Go
last commit: about 1 month 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,771 2 months ago An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang
Goakt 195 about 1 month ago Fast and Distributed Actor framework using protocol buffers as message for Golang
Hollywood 1,240 about 2 months ago Blazingly fast and light-weight Actor engine written in Golang
ProtoActor 5,095 5 months ago Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

Awesome Go / Artificial Intelligence

chromem-go 340 5 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 5,155 3 months ago LangChainGo is a framework for developing applications powered by language models
LocalAI 27,060 about 1 month ago Open Source OpenAI alternative, self-host AI models
Ollama 102,617 about 1 month ago Run large language models locally
OllamaFarm 43 4 months ago Manage, load-balance, and failover packs of Ollamas

Awesome Go / Audio and Music

flac 319 5 months ago Native Go FLAC encoder/decoder with support for FLAC streams
gaad 127 almost 2 years ago Native Go AAC bitstream parser
GoAudio 353 9 months ago Native Go Audio Processing Library
gosamplerate 34 12 months ago libsamplerate bindings for go
id3v2 340 about 1 year ago ID3 decoding and encoding library for Go
malgo 305 3 months ago Mini audio library
minimp3 129 over 1 year ago Lightweight MP3 decoder library
Oto 1,620 about 1 month ago A low-level library to play sound on multiple platforms
PortAudio 713 over 1 year ago Go bindings for the PortAudio audio I/O library

Awesome Go / Authentication and OAuth

authboss 3,879 6 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 86 about 1 month ago branca token for Golang 1.15+
casbin 17,913 about 2 months ago Authorization library that supports access control models like ACL, RBAC, and ABAC
cookiestxt 17 10 months ago provides a parser of cookies.txt file format
go-guardian 563 6 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 339 3 months ago Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs
goiabada 137 about 1 month ago An open-source authentication and authorization server supporting OAuth2 and OpenID Connect
gologin 1,830 about 1 month ago chainable handlers for login with OAuth1 and OAuth2 authentication providers
gorbac 1,608 6 months ago provides a lightweight role-based access control (RBAC) implementation in Golang
gosession 252 6 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,682 about 2 months ago provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box
jeff 266 almost 2 years ago Simple, flexible, secure, and idiomatic web session management with pluggable backends
jwt 357 over 1 year ago Lightweight JSON Web Token (JWT) library
jwt 673 6 months ago Safe, simple, and fast JSON Web Tokens for Go
jwt-auth 233 over 3 years ago JWT middleware for Golang http servers with many configuration options
jwt-go 7,375 2 months 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,963 about 1 month ago Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies
keto 4,875 about 1 month 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,918 almost 4 years ago JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam
oauth2 5,426 2 months ago Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support
oidc 1,434 about 1 month ago Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
openfga 3,050 about 1 month ago Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by
osin 1,911 about 2 months ago Golang OAuth2 server library
otpgen 138 about 1 year ago Library to generate TOTP/HOTP codes
otpgo 71 almost 4 years ago Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go
paseto 865 almost 2 years ago Golang implementation of Platform-Agnostic Security Tokens (PASETO)
permissions2 512 3 months ago Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt
scope 41 over 3 years ago Easily Manage OAuth2 Scopes In Go
scs 2,186 about 1 month ago Session Manager for HTTP servers
securecookie 80 almost 2 years ago Efficient secure cookie encoding/decoding
session 118 5 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 120 12 months ago Simple jwt generator and parser

Awesome Go / Blockchain

cometbft 661 about 1 month 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,332 about 1 month ago A Framework for Building Public Blockchains in the Cosmos Ecosystem
gno 903 about 1 month ago A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains
go-ethereum 47,891 about 1 month ago Official Go implementation of the Ethereum protocol
gosemble 12 3 months ago A Go-based framework for building Polkadot/Substrate-compatible runtimes
gossamer 435 about 1 month ago A Go implementation of the Polkadot Host
kubo 16,231 about 1 month 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,740 about 1 month ago A complete implementation of a Lightning Network node
solana-go 987 2 months ago Go library to interface with Solana JSON RPC and WebSocket interfaces
tendermint 5,729 about 1 month 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 799 about 2 months ago Zero-dependencies Telegram Bot library with additional UI components
echotron 379 3 months ago An elegant and concurrent library for Telegram Bots in Go
ephemeral-roles 90 8 months ago A Discord bot for managing ephemeral roles based upon voice channel member presence
go-chat-bot 826 10 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 about 2 months ago Framework to build a bot for desired chat services including LINE, Slack, Gitter, and more
go-tg 110 about 2 months 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 362 4 months ago Library to write bots for twitch.tv chat
Golang CryptoTrading Bot 1,092 about 1 year 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,106 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 11 months ago Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go
margelet 86 over 2 years ago Framework for building Telegram bots
micha 30 5 months ago Go Library for Telegram bot api
olivia 3,689 about 1 year ago A chatbot built with an artificial neural network
slack-bot 185 about 1 month ago Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github
slacker 43 2 months ago Easy to use framework to create Slack bots
slackscot 55 almost 2 years ago Another framework for building Slack bots
tbot 357 about 1 year ago Telegram bot server with API similar to net/http
telebot 4,079 3 months ago Telegram bot framework is written in Go
telego 581 about 1 month ago Telegram Bot API library for Golang with full one-to-one API implementation
telegram-bot-api 5,883 5 months ago Simple and clean Telegram bot client
teleterm 38 over 1 year ago Telegram Bot Exec Terminal Command
Tenyks 176 almost 2 years ago Service oriented IRC bot using Redis and JSON for messaging
wayback 1,839 about 1 month ago A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages

Awesome Go / Build Automation

1build 227 almost 2 years ago Command line tool to frictionlessly manage project-specific commands
air 18,518 about 1 month ago Air - Live reload for Go apps
anko 39 almost 4 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 about 1 month ago / like build tool for Go projects
goyek 576 about 1 month ago Create build pipelines in Go
mage 4,186 about 2 months ago Mage is a make/rake-like build tool using Go
mmake 1,724 over 1 year ago Modern Make
realize 4,462 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,701 about 1 month ago simple "Make" alternative
taskctl 299 8 months ago Concurrent task runner
xc 1,206 4 months ago Task runner with README.md defined tasks, executable markdown

Awesome Go / Command Line / Advanced Console UIs

asciigraph 2,698 3 months ago Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies
aurora 1,430 over 2 years ago ANSI terminal colors that support fmt.Printf/Sprintf
box-cli-maker 539 5 months ago Make Highly Customized Boxes for your CLI
bubble-table 457 3 months ago An interactive table component for bubbletea
bubbles 5,712 about 1 month ago TUI components for bubbletea
bubbletea 28,510 about 1 month ago Go framework to build terminal apps, based on The Elm Architecture
cfmt 103 about 6 years ago Contextual fmt inspired by bootstrap color classes
cfmt 69 over 3 years ago Simple and convenient formatted stylized output fully compatible with fmt library
chalk 452 over 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 almost 2 years ago The non-invasive cross-platform terminal color library does not need to modify the Print method
go-ataman 17 about 4 years ago Go library for rendering ANSI colored text templates in terminals
go-colorable 775 2 months ago Colorable writer for windows
go-colortext 214 almost 5 years ago Go library for color output in terminals
go-isatty 841 6 months ago isatty for golang
go-palette 17 almost 2 years ago Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the for nice terminal layouts
go-prompt 5,303 6 months ago Library for building a powerful interactive prompt, inspired by
gocui 9,988 4 months ago Minimalist Go library aimed at creating Console User Interfaces
gommon/color 544 about 1 year ago Style terminal text
gookit/color 1,517 3 months ago Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows
lipgloss 8,306 about 1 month ago Declaratively define styles for color, format and layout in the terminal
marker 48 over 1 year ago Easiest way to match and mark strings for colorful terminal outputs
mpb 2,333 5 months ago Multi progress bar for terminal applications
progressbar 4,181 about 1 month ago Basic thread-safe progress bar that works in every OS
pterm 4,896 about 1 month ago A library to beautify console output on every platform with many combinable components
simpletable 532 over 3 years ago Simple tables in a terminal with Go
spinner 2,371 2 months ago Go package to easily provide a terminal spinner with options
tabby 355 about 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,685 almost 3 years ago Termbox is a library for creating cross-platform text-based interfaces
termdash 2,737 4 months ago Go terminal dashboard based on and inspired by
termenv 1,765 about 1 month ago Advanced ANSI style & color support for your terminal applications
termui 13,232 6 months ago Go terminal dashboard based on and inspired by
uilive 1,700 over 1 year ago Library for updating terminal output in real time
uiprogress 2,117 11 months ago Flexible library to render progress bars in terminal applications
uitable 736 about 2 years ago Library to improve readability in terminal apps using tabular data
yacspin 439 about 3 years ago Yet Another CLi Spinner package, for working with terminal spinners

Awesome Go / Command Line / Standard CLI

acmd 116 9 months ago Simple, useful, and opinionated CLI package in Go
argparse 617 about 2 years ago Command line argument parser inspired by Python's argparse module
argv 41 almost 5 years ago Go library to split command line string as arguments array using the bash syntax
carapace 443 about 1 month ago Command argument completion generator for spf13/cobra
carapace-bin 985 about 1 month ago Multi-shell multi-command argument completer
carapace-spec 19 about 2 months ago Define simple completions using a spec file
climax 217 over 4 years ago Alternative CLI with "human face", in spirit of Go command
clîr 183 7 months ago A Simple and Clear CLI library. Dependency free
cmd 40 over 4 years ago Extends the standard package to support sub commands and more in idiomatic way
cmdr 136 about 2 months ago A POSIX/GNU style, getopt-like command-line UI Go library
cobra 38,579 about 1 month 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 over 2 years ago Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags
complete 929 over 1 year ago Write bash completions in Go + Go command bash completion
console 76 2 months ago Closed-loop application library for Cobra commands, with oh-my-posh prompts, and more
Dnote 2,808 7 months ago A simple command line notebook with multi-device sync
elvish 5,759 about 2 months ago An expressive programming language and a versatile interactive shell
env 115 7 months ago Tag-based environment configuration for structs
flag 131 about 4 years ago Simple but powerful command line option parsing library for Go supporting subcommand
flaggy 860 almost 2 years ago A robust and idiomatic flags package with excellent subcommand support
flagvar 43 4 months ago A collection of flag argument types for Go's standard package
go-andotp 30 almost 2 years ago A CLI program to encrypt/decrypt files. Can be used as a library as well
go-arg 2,046 about 1 month ago Struct-based argument parsing in Go
go-commander 35 over 4 years ago Go library to simplify CLI workflow
go-flags 2,608 6 months ago go command line option parser
go-getoptions 56 3 months ago Go option parser inspired by the flexibility of Perl’s GetOpt::Long
gocmd 65 almost 2 years ago Go library for building command line applications
hashicorp/cli 15 about 2 months ago Go library for implementing command-line interfaces
hiboot cli 181 3 months ago cli application framework with auto configuration and dependency injection
job 147 over 4 years ago JOB, make your short-term command as a long-term job
kingpin 3,511 about 1 month ago Command line and flag parser supporting sub commands (superseded by ; see below)
liner 1,054 over 1 year ago Go readline-like library for command-line interfaces
mcli 34 10 months ago A minimal but very powerful cli library for Go
mkideal/cli 732 12 months ago Feature-rich and easy to use command-line package based on golang struct tags
mow.cli 871 11 months ago Go library for building CLI applications with sophisticated flag and argument parsing and validation
ops 1,303 about 1 month ago Unikernel Builder/Orchestrator
pflag 2,441 6 months ago Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
readline 92 2 months ago Shell library with modern and easy to use UI features
sand 27 about 6 years ago Simple API for creating interpreters and so much more
sflags 156 2 months ago Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries
strumt 62 2 months ago Library to create prompt chain
subcmd 8 7 months ago Another approach to parsing and running subcommands. Works alongside the standard package
survey 4,099 10 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,463 about 1 month ago Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli)
version 102 over 1 year ago Collects and displays CLI version information in multiple formats along with upgrade notice
wlog 66 about 2 months ago Simple logging interface that supports cross-platform color and concurrency
wmenu 216 about 2 months ago Easy to use menu structure for cli applications that prompt users to make choices

Awesome Go / Configuration

aconfig 553 3 months ago Simple, useful and opinionated config loader
bcl 19 about 2 months ago BCL is a configuration language similar to HCL
cleanenv 1,690 5 months ago Minimalistic configuration reader (from files, ENV, and wherever you want)
config 337 over 2 years ago Cloud native application configuration. Bind ENV to structs in only two lines
config 51 about 1 year ago configure your app using file, environment variables, or flags in two lines of code
configuration 108 about 2 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 over 2 years ago opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications
confiq 35 about 2 months ago Structured data format to config struct decoder library for Go - supporting multiple data formats
confita 496 10 months ago Load configuration in cascade from multiple backends into a struct
conflate 34 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,995 about 1 month ago Parse environment variables to Go structs (with defaults)
env 67 5 months ago A lightweight package for loading environment variables into structs
env 6 about 1 month 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 about 2 months ago Helpers to manage environment variables
fig 381 11 months ago Tiny library for reading configuration from a file and from environment variables (with validation & defaults)
genv 40 over 5 years ago Read environment variables easily with dotenv support
go-array 20 9 months ago A Go package that read or set data from map, slice or json
go-aws-ssm 59 9 months ago Go package that fetches parameters from AWS System Manager - Parameter Store
go-cfg 43 6 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 3 months ago Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters
go-ini 14 3 months ago A Go package that marshals and unmarshals INI-files
go-ssm-config 22 over 1 year ago Go utility for loading configuration parameters from AWS SSM (Parameter Store)
go-up 43 about 5 years ago A simple configuration library with recursive placeholders resolution and no magic
GoCfg 6 7 months ago Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple
godotenv 8,541 3 months ago Go port of Ruby's dotenv library (Loads environment variables from )
gofigure 68 over 5 years ago Go application configuration made easy
GoLobby/Config 367 about 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 543 10 months ago application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge
harvester 132 about 1 month ago Harvester, an easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration
hjson 333 9 months ago Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments
hocon 79 5 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 almost 8 years ago Flags persisted in an ini-like config file
ini 3,471 9 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,092 6 months ago Go library for managing configuration data from environment variables
koanf 2,845 about 1 month ago Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line
konf 252 about 1 month 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,178 about 1 month 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 about 6 years ago Golang package for parsing ini-style configuration files
nasermirzaei89/env 18 3 months ago Simple useful package for read environment variables
nfigure 8 about 1 month ago Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML
onion 118 almost 2 years ago Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP
piper 8 about 3 years ago Viper wrapper with config inheritance and key generation
sonic 7,038 about 1 month 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 9 months ago Lightweight, zero-dependency, and extendable configuration management
viper 27,450 about 1 month ago Go configuration with fangs
xdg 726 about 1 month ago Go implementation of the and
xdg 79 about 4 years ago Cross platform package that follows the
yamagiconf 18 3 months ago The "safe subset" of YAML for Go configs

Awesome Go / Continuous Integration

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

Awesome Go / CSS Preprocessors

gcss 496 11 months ago Pure Go CSS Preprocessor
go-libsass 206 about 1 year ago Go wrapper to the 100% Sass compatible libsass project

Awesome Go / Data Integration Frameworks

Benthos 8,165 about 1 month ago A message streaming bridge between a range of protocols
CloudQuery A high-performance ELT data integration framework with pluggable architecture
omniparser 980 7 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 about 1 month ago Fast, zero-allocation, lexicographical-order-preserving packing of native types to bytes
binpacker 221 over 3 years ago Binary packer and unpacker helps user build custom binary stream
bit 159 about 2 years ago Golang set data structure with bonus bit-twiddling functions
crunch 97 about 2 years ago Go package implementing buffers for handling various datatypes easily
go-ef 32 7 months ago A Go implementation of the Elias-Fano encoding
roaring 2,562 2 months ago Go package implementing compressed bitsets

Awesome Go / Data Structures and Algorithms / Bit Sets

bitmap 316 about 1 year ago Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go
bitset 1,363 about 1 month ago Go package implementing bitsets

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

bloom 2,456 about 1 month ago Go package implementing Bloom filters
bloom 146 almost 7 years ago Bloom filters implemented in Go
bloom 86 over 7 years ago Golang Bloom filter implementation
bloomfilter 17 5 months ago Yet another Bloomfilter implementation in Go, compatible with Java's Guava library
boomfilters 1,596 almost 4 years ago Probabilistic data structures for processing continuous, unbounded streams
cuckoo-filter 296 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,146 6 months ago Cuckoo filter: a good alternative to a counting bloom filter implemented in Go
ring 138 over 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 806 almost 4 years ago Algorithms and data structures.CLRS study
go-datastructures 7,708 8 months ago Collection of useful, performant, and thread-safe data structures
gods 16,459 5 months ago Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc
gostl 1,058 6 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 6 months ago Iterator implementation to provide map and reduce functionalities
iter 187 almost 3 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 2 months ago Python-like dictionaries (dict) for Go
go-shelve 8 4 months ago A persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores
goradd/maps 47 about 2 months 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 55 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 66 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 5 months ago Generic slice, map, set, iterator, and goroutine utilities
go-geoindex 355 almost 7 years ago In-memory geo index
go-rampart 101 7 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 over 1 year ago Generic tuple implementation for Go 1.18+
go18ds 46 over 1 year ago Go Data Structures using Go 1.18 generics
gofal 19 over 5 years ago fractional api for Go
gogu 100 almost 2 years ago A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library
gota 3,088 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 279 over 2 years ago Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves
hyperloglog 946 about 1 month 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 over 3 years ago Null Types, Safe primitive type conversion and fetching value from complex structures

Awesome Go / Data Structures and Algorithms / Queues

deque 187 over 1 year ago A highly optimized double-ended queue
deque 621 2 months ago Fast ring-buffer deque (double-ended queue)
goconcurrentqueue 404 over 1 year ago Concurrent FIFO queue
hatchet 4,349 about 1 month ago Distributed, Fault-tolerant task queue
memlog 123 about 1 month ago An easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka
queue 276 6 months ago Multiple thread-safe, generic queue implementations for Go

Awesome Go / Data Structures and Algorithms / Sets

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

Awesome Go / Data Structures and Algorithms / Text Analysis

bleve 10,136 about 1 month ago Modern text indexing library for go
go-adaptive-radix-tree 375 about 1 month ago Go implementation of Adaptive Radix Tree
go-edlib 488 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 over 4 years ago Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix
levenshtein 364 4 months ago Implementation to calculate levenshtein distance in Go
mspm 25 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 41 10 months ago An implementation of prefix tree
trie 766 4 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 19 6 months ago Space-efficient computation of Merkle root hashes and inclusion proofs
skiplist 279 almost 2 years ago Very fast Go Skiplist implementation
skiplist 84 about 10 years ago Skiplist implementation in Go
treap 27 about 5 years ago Persistent, fast ordered map using tree heaps
treemap 61 almost 3 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 33 about 1 month ago FIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results
pipeline 56 about 3 years ago An implementation of pipelines with fan-in and fan-out

Awesome Go / Database / Caches

2q 42 almost 2 years ago 2Q in-memory cache implementation
bcache 156 about 2 years ago Eventually consistent distributed in-memory cache Go library
BigCache 7,606 5 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,134 7 months ago In-memory key:value cache which supports automatic invalidation based on timeouts
cachego 371 9 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 about 1 month ago Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport
couchcache 64 7 months ago RESTful caching micro-service backed by Couchbase server
EchoVault 429 about 1 month ago Embeddable Distributed in-memory data store compatible with Redis clients
fastcache 2,145 7 months ago fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead
GCache 2,613 11 months ago Cache library with support for expirable Cache, LFU, LRU and ARC
gdcache 13 over 3 years ago A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache
go-cache 141 over 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 215 about 1 month 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,515 3 months ago A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more
gocache 9 4 months ago A data race free Go ache library with high performance and auto pruge functionality
groupcache 12,988 about 2 months ago Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases
icache 19 7 months ago A High Performance, Generic, thread-safe, zero-dependency cache package
imcache 123 5 months ago A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding
nscache 11 about 2 months ago A Go caching framework that supports multiple data source drivers
otter 1,746 about 2 months ago A high performance lockless cache for Go. Many times faster than Ristretto and friends
pocache 213 about 2 months ago Pocache is a minimal cache package which focuses on a preemptive optimistic caching strategy
sturdyc 346 about 1 month ago A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant
theine 281 3 months ago High performance, near optimal in-memory cache with proactive TTL expiration and generics
timedmap 72 9 months ago Map with expiring key-value pairs
ttlcache 975 about 1 month ago An in-memory cache with item expiration and generics
ttlcache 9 over 2 years ago In-memory key value storage with TTL for each record

Awesome Go / Database / Databases Implemented in Go

badger 14,083 about 1 month ago Fast key-value store in Go
bbolt 8,360 about 1 month 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,599 4 months ago Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support
clover 706 4 months ago A lightweight document-oriented NoSQL database written in pure Golang
cockroach 30,270 about 1 month ago Scalable, Geo-Replicated, Transactional Datastore
Coffer 39 almost 2 years ago Simple ACID key-value database that supports transactions
column 1,442 about 1 year ago High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions
CovenantSQL 1,500 almost 2 years ago CovenantSQL is a SQL database on blockchain
Databunker 1,259 about 1 month ago Personally identifiable information (PII) storage service built to comply with GDPR and CCPA
dgraph 20,516 about 1 month ago Scalable, Distributed, Low Latency, High Throughput Graph Database
diskv 1,411 about 3 years ago Home-grown disk-backed key-value store
dolt 18,052 about 1 month ago Dolt – It's Git for Data
dtf 212 almost 3 years ago A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages
eliasdb 1,006 over 2 years ago Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language
godis 3,537 3 months ago A Golang implemented high-performance Redis server and cluster
goleveldb 6,175 8 months ago Implementation of the key/value database in Go
hare 94 almost 4 years ago A simple database management system that stores each table as a text file of line-delimited JSON
immudb 8,650 about 1 month ago immudb is a lightweight, high-speed immutable database for systems and applications written in Go
influxdb 29,126 about 1 month ago Scalable datastore for metrics, events, and real-time analytics
ledisdb 4,102 about 1 year ago Ledisdb is a high performance NoSQL like Redis based on LevelDB
levigo 415 almost 3 years ago Levigo is a Go wrapper for LevelDB
libradb 171 9 months ago LibraDB is a simple database with less than 1000 lines of code for learning
LinDB 3,010 about 2 months ago LinDB is a scalable, high performance, high availability distributed time series database
lotusdb 2,094 3 months ago Fast k/v database compatible with lsm and b+tree
Milvus 31,283 about 1 month ago Milvus is a vector database for embedding management, analytics and search
moss 978 about 1 month ago Moss is a simple LSM key-value storage engine written in 100% Go
nutsdb 3,420 3 months ago Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set
objectbox-go 1,107 5 months ago High-performance embedded Object Database (NoSQL) with Go API
pebble 5,030 about 1 month 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,313 6 months ago Embedded key-value store for read-heavy workloads
prometheus 56,244 about 1 month 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,551 about 1 month ago Redis re-implemented with SQLite
rosedb 4,647 3 months ago An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset
rotom 41 about 1 month ago A tiny Redis server built with Golang, compatible with RESP protocols
rqlite 15,906 about 1 month ago The lightweight, distributed, relational database built on SQLite
tempdb 19 almost 7 years ago Key-value store for temporary items
tidb 37,447 about 1 month ago TiDB is a distributed SQL database. Inspired by the design of Google F1
tiedot 2,725 over 3 years ago Your NoSQL database powered by Golang
unitdb 120 almost 2 years 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 almost 6 years ago A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption
VictoriaMetrics 12,774 about 1 month 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 6,124 about 1 month ago A Database Toolkit. A CLI designed to help companies better work with their data
avro 46 about 2 months ago Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes
bytebase 11,605 about 1 month ago Safe database schema change and version control for DevOps teams
darwin 144 almost 2 years ago Database schema evolution library for Go
dbmate 5,539 about 1 month ago A lightweight, framework-agnostic database migration tool
go-fixtures 29 about 5 years ago Django style fixtures for Golang's excellent built-in database/sql library
go-pg-migrate 10 over 1 year ago CLI-friendly package for go-pg migrations management
go-pg-migrations 84 3 months ago A Go package to help write migrations with go-pg/pg
goavro 989 9 months ago A Go package that encodes and decodes Avro data
godfish 8 about 1 month ago Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3
goose 7,307 about 1 month 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,055 4 months ago Database schema migration helper for Gorm ORM
libschema 15 about 1 month ago Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL
migrate 15,714 about 1 month ago Database migrations. CLI and Golang library
migrator 170 10 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 36 about 1 month ago Library to embed schema migrations for database/sql-compatible databases inside your Go binaries
skeema 1,273 about 1 month ago Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools
soda 1,453 7 months ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
sql-migrate 3,248 about 1 month ago Database migration tool. Allows embedding migrations into the application using go-bindata
sqlize 107 about 2 months ago Database migration generator. Allows generate sql migration from model and existing sql by differ them

Awesome Go / Database / Database Tools

chproxy 1,297 about 1 month ago HTTP proxy for ClickHouse database
clickhouse-bulk 478 about 2 months ago Collects small inserts and sends big requests to ClickHouse servers
dbbench 102 about 1 month ago Database benchmarking tool with support for several databases and scripts
dg 32 5 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 231 about 1 month ago Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases
go-mysql 4,630 about 1 month ago Go toolset to handle MySQL protocol and replication
gorm-multitenancy 47 about 1 month 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 111 about 1 month ago Database backup from different drivers to different destinations with one command and configuration
pg_timetable 1,103 about 1 month ago Advanced scheduling for PostgreSQL
pgweb 8,678 about 1 month ago Web-based PostgreSQL database browser
prep 33 about 7 years ago Use prepared SQL statements without changing your code
pREST 4,247 about 2 months ago Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
rdb 402 5 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,777 about 1 month ago vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services
wescale 254 about 1 month 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 155 3 months ago Lightweight and easy to learn query builder
buildsqlx 172 9 months ago Go database query builder library for PostgreSQL
builq 91 9 months ago Easily build SQL queries in Go
dbq 406 almost 4 years ago Zero boilerplate database operations for Go
Dotsql 742 about 1 year ago Go library that helps you keep sql files in one place and use them with ease
gendry 1,622 6 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,424 8 months ago Idiomatic SQL builder and query library
gosql 32 almost 3 years ago SQL Query builder with better null values support
Hotcoal 22 about 1 year ago Secure your handcrafted SQL against injection
igor 125 9 months ago Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax
jet 2,741 about 1 month ago Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure
ormlite 16 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 11 months ago Tool that generates constants from files with raw SQL queries
sg 6 over 2 years ago A SQL Gen for generating standard SQLs(supports: CRUD) written in Go
sq 196 about 2 years ago Type-safe SQL builder and struct mapper for Go
sqlc 13,704 about 1 month ago Generate type-safe code from SQL
sqlf 146 3 months ago Fast SQL query builder
sqlingo 416 about 2 months ago A lightweight DSL to build SQL in Go
sqrl 279 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,053 9 months ago Go library that helps you build SQL queries
xo 3,748 7 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,868 about 1 month ago Graph database with support for multiple backends
dsc 32 about 2 months ago Datastore connectivity for SQL, NoSQL, structured files
dynamo 19 about 1 month 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 240 about 1 month ago Transaction manager with multiple adapters (sql, sqlx, gorm, mongo, ...) controls transaction boundaries
gokv 751 about 1 month 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 about 1 month ago Apache Avatica/Phoenix SQL driver for database/sql
bgc 21 10 months ago Datastore Connectivity for BigQuery for go
firebirdsql 231 about 1 month ago Firebird RDBMS SQL driver for Go
go-adodb 143 over 2 years ago Microsoft ActiveX Object DataBase driver for go that uses database/sql
go-mssqldb 1,832 9 months ago Microsoft MSSQL driver for Go
go-oci8 632 about 1 year ago Oracle driver for go that uses database/sql
go-sql-driver/mysql 14,580 about 2 months ago MySQL driver for Go
go-sqlite3 8,093 about 1 month ago SQLite3 driver for go that uses database/sql
godror 538 about 1 month ago Oracle driver for Go, using the ODPI-C driver
gofreetds 113 about 4 years ago Microsoft MSSQL driver. Go wrapper over
KSQL 324 2 months ago A Simple and Powerful Golang SQL Library
pgx 10,954 about 1 month 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,193 about 2 months ago Pure Go Postgres driver for database/sql
Sqinn-Go 434 about 1 year ago SQLite with pure Go
sqlhooks 652 7 months ago Attach hooks to any database/sql driver
surrealdb.go 250 about 2 months ago SurrealDB Driver for Go
ydb-go-sdk 145 about 1 month ago native and database/sql driver YDB (Yandex Database)

Awesome Go / Database Drivers / NoSQL Database Drivers

aerospike-client-go 439 about 1 month ago Aerospike client in Go language
arangolite 72 almost 4 years ago Lightweight golang driver for ArangoDB
asc 10 4 months ago Datastore Connectivity for Aerospike for go
forestdb 37 about 8 years ago Go bindings for ForestDB
go-couchbase 321 about 1 year ago Couchbase client in Go
go-mongox 150 about 1 month ago A Go Mongo library based on the official driver, featuring streamlined document operations, generic binding of structs to collections, built-in CRUD, aggregation, automated field updates, struct validation, hooks, and plugin-based programming
go-pilosa 57 over 2 years ago Go client library for Pilosa
go-rejson 344 about 1 year ago Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease
gocb 371 about 2 months ago Official Couchbase Go SDK
gocosmos 22 2 months ago REST client and standard driver for Azure Cosmos DB
gocql Go language driver for Apache Cassandra
godis 111 over 4 years ago redis client implement by golang, inspired by jedis
godscache 11 almost 6 years ago A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached
gomemcache 1,772 6 months ago memcache client library for the Go programming language
gomemcached 19 11 months ago A binary Memcached client for Go with support for sharding using consistent hashing, along with SASL
gorethink 1,654 2 months ago Go language driver for RethinkDB
goriak 30 over 3 years ago Go language driver for Riak KV
Kivik 316 about 1 month ago Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases
mgm 756 about 1 year ago MongoDB model-based ODM for Go (based on official MongoDB driver)
mgo 1,973 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,200 about 1 month ago Official MongoDB driver for the Go language
neo4j 28 almost 10 years ago Neo4j Rest API Bindings for Golang
Neo4j-GO 79 over 6 years ago Neo4j REST Client in golang
neoism 388 almost 5 years ago Neo4j client for Golang
qmgo 1,327 3 months ago The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo
redeo 442 almost 2 years ago Redis-protocol compatible TCP servers/services
redigo 9,763 8 months ago Redigo is a Go client for the Redis database
redis 20,260 about 1 month 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,931 about 1 month ago ClickHouse SQL client for Go with a compatibility
effdsl 27 4 months ago Elasticsearch query builder for Go
elastic 7,434 5 months ago Elasticsearch client for Go
elasticsql 1,182 over 1 year ago Convert sql to elasticsearch dsl in Go
elastigo 944 almost 6 years ago Elasticsearch client library
go-elasticsearch 5,718 about 1 month 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
zoekt 760 about 1 month ago Fast trigram based code search

Awesome Go / Date and Time

approx 13 about 1 month ago A Duration extension supporting parsing/printing durations in days, weeks and years
carbon 4,888 about 1 month ago A simple, semantic and developer-friendly golang package for datetime
carbon 775 about 1 year ago Simple Time extension with a lot of util methods, ported from PHP Carbon library
cronrange 18 over 2 years ago Parses Cron-style time range expressions, checks if the given time is within any ranges
date 136 3 months ago Augments Time for working with dates, date ranges, time spans, periods, and time-of-day
dateparse 2,050 about 1 year ago Parse date's without knowing format in advance
durafmt 496 over 3 years ago Time duration formatting library for Go
feiertage 48 10 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 about 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 about 1 month ago A simple datetime parse pkg
go-persian-calendar 206 5 months ago The implementation of the Persian (Solar Hijri) Calendar in Go (golang)
go-str2duration 104 over 1 year ago Convert string to duration. Support time.Duration returned string and more
go-sunrise 149 9 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 203 about 1 year ago A Go package for working with dates
iso8601 148 about 2 months ago Efficiently parse ISO8601 date-times without regex
kair 24 over 4 years ago Date and Time - Golang Formatting Library
now 4,458 over 1 year ago Now is a time toolkit for golang
strftime 13 almost 7 years ago C99-compatible strftime formatter
timespan 83 almost 6 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 975 about 1 month ago More effective network communication, support two-way-calling, notify, broadcast
bedrock 7 about 1 month ago Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go
capillaries 62 4 months ago distributed batch data processing framework
celeriac 72 6 months ago Library for adding support for interacting and monitoring Celery workers, tasks and events in Go
consistent 702 about 1 year ago Consistent hashing with bounded loads
consistenthash 27 10 months ago Consistent hashing with configurable replicas
dht 314 3 months ago BitTorrent Kademlia DHT implementation
digota 510 almost 4 years ago grpc ecommerce microservice
dot 87 over 5 years ago distributed sync using operational transformation/OT
doublejump 103 about 2 years ago A revamped Google's jump consistent hash
dragonboat 5,106 6 months ago A feature complete and high performance multi-group Raft library in Go
Dragonfly 2,311 about 1 month 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 6 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,875 3 months ago High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love
evans 4,304 about 1 year 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,469 about 1 month 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,206 about 6 years ago Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go
gmsec 25 3 months ago A Go distributed systems development framework
go-doudou 1,430 about 1 month 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-eagle 2,197 about 1 month ago A Go framework for the API or Microservice with handy scaffolding tools
go-health 751 about 1 year ago Library for enabling asynchronous dependency health checks in your service
go-jump 383 about 3 years ago Port of Google's "Jump" Consistent Hash function
go-kit 26,684 6 months ago Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc
go-micro 22,020 2 months ago A distributed systems development framework
go-mysql-lock 62 8 months ago MySQL based distributed lock
go-pdu 47 7 months ago A decentralized identity-based social network
go-sundheit 550 6 months ago A library built to provide support for defining async service health checks for golang services
go-zero 29,481 about 1 month 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 706 over 2 years ago Simple, fast and scalable RPC library for high load
grpc-go 21,208 about 1 month ago The Go language implementation of gRPC. HTTP/2 based RPC
hprose 1,260 11 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 336 5 months ago JSON-RPC 2.0 HTTP client implementation
K8gb 899 about 1 month ago A cloud native Kubernetes Global Balancer
Kitex 7,112 about 1 month 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,457 about 1 month ago A modular-designed and easy-to-use microservices framework in Go
liftbridge 2,580 9 months ago Lightweight, fault-tolerant message streams for NATS
lura 6,393 about 1 month ago Ultra performant API Gateway framework with middlewares
micro 12,172 about 1 month ago A distributed systems runtime for the cloud and beyond
mochi mqtt 1,318 3 months ago Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub
NATS 16,147 about 1 month ago NATS is a simple, secure, and performant communications system for digital systems, services, and devices
outboxer 160 about 1 month 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,321 about 1 month ago Golang implementation of the Raft consensus protocol, by HashiCorp
raft 694 about 1 month ago Go implementation of the Raft consensus protocol, by CoreOS
rain 985 about 1 month ago BitTorrent client and library
redis-lock 1,495 10 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 836 over 1 year ago Scalable, fault-tolerant application-layer sharding for Go applications
rpcx 8,134 about 1 month ago Distributed pluggable RPC service framework like alibaba Dubbo
Semaphore 94 almost 2 years ago A straightforward (micro) service orchestrator
sleuth 375 over 1 year ago Library for master-less p2p auto-discovery and RPC between HTTP services (using )
sponge 1,510 about 1 month ago A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks
Tarmac 329 about 1 month ago Framework for writing functions, microservices, or monoliths with WebAssembly
Temporal 550 about 1 month ago Durable execution system for making code fault-tolerant and simple
torrent 5,599 about 1 month ago BitTorrent client package
trpc-go 844 7 months ago The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework

Awesome Go / Dynamic DNS

DDNS 258 8 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,520 about 1 month ago A dynamic DNS client tool, supports DNSPod & HE.net, written in Go

Awesome Go / Email

chasquid SMTP server written in Go
douceur 248 over 2 years ago CSS inliner for your HTML emails
email 2,674 11 months ago A robust and flexible email library for Go
email-verifier 1,250 about 1 month ago A Go library for email verification without sending any emails
go-dkim 98 about 1 year ago DKIM library, to sign & verify email
go-email-normalizer 64 about 1 month ago Golang library for providing a canonical representation of email address
go-email-validator 51 over 1 year ago Modular email validator for syntax, disposable, smtp, etc... checking
go-imap 2,110 about 1 month ago IMAP library for clients and servers
go-mail 732 about 1 month ago A simple Go library for sending mails in Go
go-message 389 4 months ago Streaming library for the Internet Message Format and mail messages
go-premailer 145 about 1 month ago Inline styling for HTML mail in Go
go-simple-mail 651 6 months ago Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send
Hectane 223 about 4 years ago Lightweight SMTP client providing an HTTP API
hermes 2,839 over 1 year ago Golang package that generates clean, responsive HTML e-mails
Maddy 5,208 about 1 month ago All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server
mailchain 143 almost 3 years ago Send encrypted emails to blockchain addresses written in Go
mailgun-go 703 about 1 month ago Go library for sending mail with the Mailgun API
MailHog 14,193 11 months ago Email and SMTP testing with web and API interface
Mailpit 6,239 about 1 month ago Email and SMTP testing tool for developers
mailx 19 2 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,731 about 1 month ago Modern full-featured secure mail server for low-maintenance, self-hosted email
SendGrid 986 3 months ago SendGrid's Go library for sending email
smtp 75 about 3 years ago SMTP server protocol state machine
smtpmock 132 about 2 months ago Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment
truemail-go 106 5 months ago Configurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more

Awesome Go / Embeddable Scripting Languages

anko 1,482 about 1 year ago Scriptable interpreter written in Go
binder 77 over 2 years ago Go to Lua binding library, based on
cel-go 2,330 about 1 month 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,402 2 months ago Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing
gentee 136 about 1 year ago Embeddable scripting programming language
gisp 514 over 7 years ago Simple LISP in Go
go-duktape 778 over 3 years ago Duktape JavaScript engine bindings for Go
go-lua 3,157 8 months ago Port of the Lua 5.2 VM to pure Go
go-php 936 about 3 years ago PHP bindings for Go
go-python 1,527 over 1 year ago naive go bindings to the CPython C-API
goal An embeddable scripting array language
goja 5,690 3 months ago ECMAScript 5.1(+) implementation in Go
golua 652 2 months ago Go bindings for Lua C API
gopher-lua 6,322 2 months ago Lua 5.1 VM and compiler written in Go
gval 758 about 2 months ago A highly customizable expression language written in Go
metacall 1,590 about 1 month 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 634 about 2 months ago Embeddable Prolog
purl 41 about 10 years ago Perl 5.18.2 embedded in Go
starlark-go 2,377 about 2 months ago Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution
starlet 24 2 months ago Go wrapper for that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions
tengo 3,563 9 months ago Bytecode compiled script language for Go
Wa/凹语言 1,313 about 1 month ago The Wa Programming Language embedded in Go

Awesome Go / Error Handling

emperror 347 over 4 years ago Error handling tools and best practices for Go libraries and applications
eris 1,506 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 460 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 almost 3 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 3 months 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,129 5 months ago Go error library with error portability over the network
errorx 1,223 2 months ago A feature rich error package with stack traces, composition of errors and more
exception 34 about 2 years ago A simple utility package for exception handling with try-catch in Golang
Falcon 11 over 5 years ago A Simple Yet Highly Powerful Package For Error Handling
Fault 168 12 months ago An ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values
go-multierror 2,367 about 2 months ago Go (golang) package for representing a list of errors as a single error
multierr 1,057 9 months ago Package for representing a list of errors as a single error
oops 469 about 1 month ago Error handling with context, stack trace and source fragments
tracerr 1,042 8 months ago Golang errors with stack trace and source fragments

Awesome Go / File Handling

afero 6,005 6 months ago FileSystem Abstraction System for Go
afs 306 9 months ago Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go
baraka 58 over 2 years ago A library to process http file uploads easily
bigfile 252 almost 2 years ago A file transfer system, support to manage files with http api, rpc call and ftp client
checksum 105 about 1 year ago Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files
copy 730 2 months ago Copy directory recursively
flop 33 about 3 years ago File operations library which aims to mirror feature parity with
gdu 4,048 about 2 months ago Disk usage analyzer with console interface
go-csv-tag 121 8 months ago Load csv file using tag
go-decent-copy 22 about 5 years ago Copy files for humans
go-exiftool 255 6 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,065 7 months ago A package to convert an HTML template to a PDF file
gofs 487 about 1 month 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 265 12 months ago A package for reading and creating ISO9660 disk images
notify 912 11 months ago File system event notification library with simple API, similar to os/signal
opc 75 about 1 year ago Load Open Packaging Conventions (OPC) files for Go
parquet 111 4 months ago Read and write files
pathtype 13 over 3 years ago Treat paths as their own type instead of using strings
pdfcpu 7,091 about 1 month ago PDF processor
skywalker 102 over 3 years ago Package to allow one to concurrently go through a filesystem with ease
todotxt 23 over 1 year ago Go library for Gina Trapani's files, supports parsing and manipulating of task lists in the
vfs 311 about 1 month 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 879 over 2 years ago money and currency formatting for golang
ach 465 about 1 month ago A reader, writer, and validator for Automated Clearing House (ACH) files
bbgo 1,262 about 1 month ago A crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies
currency 562 3 months ago Handles currency amounts, provides currency information and formatting
currency 61 3 months ago High performant & accurate currency computation package
decimal 6,459 5 months ago Arbitrary-precision fixed-point decimal numbers
decimal 105 2 months ago Immutable decimal numbers with panic-free arithmetic
fpdecimal 31 about 2 months ago Fast and precise serialization and arithmetic for small fixed-point decimals
fpmoney 30 about 2 months ago Fast and simple ISO4217 fixed-point decimal money
go-finance 177 about 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 about 2 months ago Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers
go-finnhub 91 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,691 6 months ago Implementation of Fowler's Money pattern
go-nowpayments 3 almost 2 years ago Library for the crypto NOWPayments API
money 23 6 months ago Immutable monetary amounts and exchange rates with panic-free arithmetic
ofxgo 138 9 months ago Query OFX servers and/or parse the responses (with example command-line client)
orderbook 447 9 months ago Matching Engine for Limit Order Book in Golang
payme 85 5 months ago QR code generator (ASCII & PNG) for SEPA payments
sleet 139 11 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 843 over 1 year ago Technical analysis library with advanced market analysis and trading strategies
ticker 5,030 2 months ago Terminal stock watcher and stock position tracker
transaction 132 12 months ago Embedded transactional database of accounts, running in multithreaded mode
udecimal 115 about 2 months 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
checker 10 about 1 month ago Checker helps validating user input through rules defined in struct tags or directly through functions
conform 323 about 1 year ago Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags
form 781 8 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 138 about 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,062 11 months ago CSRF protection for Go web applications & services
httpin 324 8 months ago Decode an HTTP request into a custom struct, including querystring, forms, HTTP headers, etc
nosurf 1,603 10 months ago CSRF protection middleware for Go
qs 76 11 months ago Go module for encoding structs into URL query parameters
queryparam 19 over 4 years ago Decode into usable struct values of standard or custom types

Awesome Go / Functional

fp-go 304 about 2 years ago Collection of Functional Programming helpers powered by Golang 1.18+ generics
fpGo 349 3 months ago Monad, Functional Programming features for Golang
fuego 143 9 months ago Functional Experiment in Go
go-functional 464 about 2 months ago Functional programming in Go using generics
go-underscore 1,301 almost 2 years ago Useful collection of helpfully functional Go collection utilities
gofp 148 almost 4 years ago A lodash like powerful utility library for Golang
mo 2,704 about 2 months ago Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...)
underscore 110 about 2 months 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 618 about 3 years ago 3D game engine written in Go
Ebitengine 11,186 about 1 month ago dead simple 2D game engine in Go
ecs 129 5 months ago Build your own Game-Engine based on the Entity Component System concept in Golang
engo 1,756 6 months ago Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm
fantasyname 33 5 months ago Fantasy names generator
g3n 2,826 5 months ago Go 3D Game Engine
go-astar 601 almost 3 years ago Go implementation of the A* path finding algorithm
go-sdl2 2,238 about 1 month ago Go bindings for the
go3d 317 9 months ago Performance oriented 2D/3D math package for Go
gonet 1,272 6 months ago Game server skeleton implemented with golang
goworld 2,576 about 1 year ago Scalable game server engine, featuring space-entity framework and hot-swapping
grid 18 4 months ago Generic 2D grid with ray-casting, shadow-casting and path finding
Harfang3D 586 over 1 year ago 3D engine for the Go language, works on Windows and Linux ( )
Leaf 5,321 8 months ago Lightweight game server framework
nano 2,896 7 months ago Lightweight, facility, high performance golang based game server framework
Oak 1,567 2 months ago Pure Go game engine
Pitaya 2,388 about 1 month ago Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK
Pixel 254 2 months ago Hand-crafted 2D game library in Go
prototype 88 5 months ago Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API
raylib-go 1,666 about 1 month ago Go bindings for , a simple and easy-to-use library to learn videogames programming
termloop 1,437 6 months ago Terminal-based game engine for Go, built on top of Termbox
tile 166 2 months ago Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export

Awesome Go / Generators

convergen 43 5 months ago Feature rich type-to-type copy code generator
copygen 357 10 months ago Generate type-to-type and type-based code without reflection
generis 43 almost 3 years ago Code generation tool providing generics, free-form macros, conditional compilation and HTML templating
go-enum 771 3 months ago Code generation for enums from code comments
go-linq 3,532 over 2 years ago .NET LINQ-like query methods for Go
goderive 1,246 7 months ago Derives functions from input types
goverter 576 about 1 month ago Generate converters by defining an interface
GoWrap 1,105 about 1 month ago Generate decorators for Go interfaces using simple templates
interfaces 423 4 months ago Command line tool for generating interface definitions
jennifer 3,389 4 months ago Generate arbitrary Go code without templates
oapi-codegen 6,424 about 1 month 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 618 7 months ago A library provides spatial data and geometric algorithms
geoserver 91 almost 2 years 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 141 about 1 month ago Go wrapper for GDAL
H3 322 3 months 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 662 4 months ago A simple Go-based server for map tiles stored in mbtiles format
osm 379 9 months ago Library for reading, writing and working with OpenStreetMap data and APIs
pbf 47 about 2 months ago OpenStreetMap PBF golang encoder/decoder
S2 geojson 30 5 months ago Convert geojson to s2 cells & demonstrating some S2 geometry features on map
S2 geometry 1,708 5 months ago S2 geometry library in Go
simplefeatures 134 about 1 month ago simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them
Tile38 9,185 about 1 month ago Geolocation DB with spatial index and realtime geofencing
Web-Mercator-Projection 9 almost 3 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 130 6 months ago Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)

Awesome Go / Go Compilers

c2go 304 8 months ago Convert C code to Go code
c4go 365 4 months ago Transpile C code to Go code
esp32 87 6 months ago Transpile Go into Arduino code
f4go 47 over 1 year ago Transpile FORTRAN 77 code to Go code
gopherjs 12,785 about 1 month 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 13,076 about 1 month ago A high-performance and low-cost goroutine pool in Go
artifex 208 6 months ago Simple in-memory job queue for Golang using worker-based dispatching
async 6 about 2 months ago An asynchronous task package with async/await style for Go
async 226 4 months ago An alternative sync library for Go (Future, Promise, Locks)
async 137 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 32 almost 4 years ago Transform your function to return channels for easy and powerful parallel processing
conc 9,474 9 months ago is your toolbelt for structured concurrency in go, making common tasks easier and safer
concurrency-limiter 17 about 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 148 over 4 years ago CyclicBarrier for golang
execpool 29 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 370 4 months ago Structured concurrency made easy
go-accumulator 7 6 months ago Solution for accumulation of events and their subsequent processing
go-actor 161 about 2 months ago A tiny library for writing concurrent programs using actor model
go-floc 269 over 3 years ago Orchestrate goroutines with ease
go-flow 219 over 5 years ago Control goroutines execution order
go-tools/multithreading 15 almost 6 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 about 2 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 about 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 125 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,805 over 2 years ago goworker is a Go-based background worker
gowp 519 4 months ago gowp is concurrency limiting goroutine pool
gpool 90 about 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 almost 3 years ago A process controller used to control the execution and return strategies of multiple goroutines
Hunch 104 over 2 years ago Hunch provides functions like: , , , etc., that makes asynchronous flow control more intuitive
kyoo 51 almost 2 years ago Provides an unlimited job queue and concurrent worker pools
neilotoole/errgroup 162 about 2 years ago Drop-in alternative to , limited to a pool of N worker goroutines
nursery 68 over 3 years ago Structured concurrency in Go
oversight Oversight is a complete implementation of the Erlang supervision trees
parallel-fn 36 about 7 years ago Run functions in parallel
pond 1,560 about 1 month ago Minimalistic and High-performance goroutine worker pool written in Go
pool 727 over 3 years ago Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation
rill 1,440 about 2 months ago Go toolkit for clean, composable, channel-based concurrency
routine 240 about 2 months ago is a for go library. It encapsulates and provides some easy-to-use, non-competitive, high-performance context access interfaces, which can help you access coroutine context information more gracefully
routine 61 about 1 year ago go routine control with context, support: Main, Go, Pool and some useful Executors
semaphore 103 almost 5 years ago Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context
semaphore 176 almost 4 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 almost 5 years ago Golang threadpool implementation
tunny 3,921 almost 2 years ago Goroutine pool for golang
worker-pool 92 about 4 years ago goworker is a Go simple async worker pool
workerpool 1,342 2 months ago Goroutine pool that limits the concurrency of task execution, not the number of tasks queued

Awesome Go / GUI

app 8,027 about 1 month ago Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress
cimgui-go 359 about 2 months ago Auto generated Go wrapper for via
Cogent Core 1,779 about 1 month ago A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web
DarwinKit 5,051 6 months ago Build native macOS applications using Go
energy 393 about 1 month ago Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)
fyne 25,363 about 1 month 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,581 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 about 1 year ago Library for outputting HTML5 tags
gotk3 2,119 5 months ago Go bindings for GTK3
gowd 433 almost 2 years ago Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform
qt 10,511 11 months ago Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)
Spot 1,123 about 1 month ago Reactive, cross-platform desktop GUI toolkit
ui 8,341 over 2 years ago Platform-native GUI library for Go. Cross platform
unison 212 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,882 12 months ago Windows application library kit for Go
webview 12,737 about 2 months 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 almost 5 years ago OSX Desktop Notifications library for Go
mac-activity-tracker 29 over 1 year ago OSX library to notify about any (pluggable) activity on your machine
mac-sleep-notifier 36 over 5 years ago OSX Sleep/Wake notifications in golang
robotgo 9,739 about 1 month ago Go Native cross-platform GUI system automation. Control the mouse, keyboard and other
systray 3,354 7 months ago Cross platform Go library to place an icon and menu in the notification area
trayhost 254 about 1 year ago Cross-platform Go library to place an icon in the host operating system's taskbar
zenity 742 about 1 month ago Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user

Awesome Go / Hardware

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

Awesome Go / Images

bild 4,023 4 months ago Collection of image processing algorithms in pure Go
bimg 2,738 9 months ago Small package for fast and efficient image processing using libvips
cameron 123 over 2 years ago An avatar generator for Go
canvas 1,524 about 2 months ago Vector graphics to PDF, SVG or rasterized image
color-extractor 94 over 1 year ago Dominant color extractor with no external dependencies
darkroom 226 about 1 month ago An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency
draft 582 over 3 years ago Generate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax
geopattern 1,271 about 6 years ago Create beautiful generative image patterns from a string
gg 4,464 about 1 year ago 2D rendering in pure Go
gift 1,760 over 1 year ago Package of image processing filters
gltf 247 2 months ago Efficient and robust glTF 2.0 reader, writer and validator
go-cairo 146 11 months ago Go binding for the cairo graphics library
go-gd 59 over 6 years ago Go binding for GD library
go-nude 415 over 1 year ago Nudity detection with Go
go-qrcode 587 about 1 month ago Generate QR codes with personalized styles, allowing adjustments to color, block size, shape, and icons
go-webcolors 28 over 9 years ago Port of webcolors library from Python to Go
go-webp 232 about 1 month ago Library for encode and decode webp pictures, using libwebp
gocv 6,765 about 1 month ago Go package for computer vision using OpenCV 3.3+
goimagehash 755 12 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 588 over 2 years ago Library and CMD tool for generating funny avatars
govips 1,321 3 months ago A lightning fast image processing and resizing library for Go
gowitness 3,395 3 months ago Screenshoting webpages using go and headless chrome on command line
gridder 77 over 3 years ago A Grid based 2D Graphics library
image2ascii 892 over 2 years ago Convert image to ASCII
imagick 1,789 4 months ago Go binding to ImageMagick's MagickWand C API
imaginary 5,685 3 months ago Fast and simple HTTP microservice for image resizing
imaging 5,305 over 1 year ago Simple Go image processing package
imagor 3,480 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,285 over 5 years ago 3D line art rendering in Go
mergi 236 2 months ago Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate)
mort 512 over 1 year ago Storage and image processing server written in Go
mpo 17 almost 2 years ago Decoder and conversion tool for MPO 3D Photos
picfit 2,145 about 1 month ago An image resizing server written in Go
pt 2,084 almost 6 years ago Path tracing engine written in Go
rez 213 over 7 years ago Image resizing in pure Go and SIMD
scout 15 6 months ago Scout is a standalone open source software solution for DIY video security
smartcrop 1,820 over 1 year ago Finds good crops for arbitrary images and crop sizes
steganography 319 8 months ago Pure Go Library for LSB steganography
stegify 1,210 almost 2 years ago Go tool for LSB steganography, capable of hiding any file within an image
svgo 2,158 about 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 235 2 months ago Transformimgs resizes and optimises images for Web using next-generation formats
webp-server 73 about 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 264 over 8 years ago Suite of libraries for IoT devices, experimental for x/exp/io
ekuiper 1,505 about 1 month ago Lightweight data stream processing engine for IoT edge
eywa 64 almost 8 years ago Project Eywa is essentially a connection manager that keeps track of connected devices
flogo 2,436 9 months ago Project Flogo is an Open Source Framework for IoT Edge Apps & Integration
gatt 1,145 over 2 years ago Gatt is a Go package for building Bluetooth Low Energy peripherals
gobot 9,005 about 1 month 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 44 5 months ago Industrial IoT Messaging and Device Management Server
periph Peripherals I/O to interface with low-level board facilities
rulego 909 about 1 month 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,291 about 1 month ago Kubernetes native IoT development framework
smart-home 87 2 months ago Software package for IoT automation

Awesome Go / Job Scheduler

cdule 55 3 months ago Job scheduler library with database support
cheek 166 about 2 months ago A simple crontab like scheduler that aims to offer a KISS approach to job scheduling
clockwerk 160 2 months ago Go package to schedule periodic jobs using a simple, fluent syntax
cronticker 16 about 4 years ago A ticker implementation to support cron schedules
go-cron 233 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,805 3 months ago Simple, zero-dependency scheduling library for Go
gocron 5,742 about 1 month ago Easy and fluent Go job scheduling. This is an actively maintained fork of
goflow 396 about 1 month ago A simple but powerful DAG scheduler and dashboard
gron 1,033 over 1 year ago Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly
gronx 422 2 months ago Cron expression parser, task runner and daemon consuming crontab like task list
JobRunner 1,057 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 3 months ago A job scheduler with the ability to fast-forward time
scheduler 450 over 2 years ago Cronjobs scheduling made easy
tasks 304 5 months ago An easy to use in-process scheduler for recurring tasks in Go

Awesome Go / JSON

ajson 249 about 2 months ago Abstract JSON for golang with JSONPath support
ask 48 over 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 almost 2 years ago Client-customizable JSON formats for dynamic APIs
ej 10 almost 5 years ago Write and read JSON from different sources succinctly
epoch 14 11 months ago Contains primitives for marshaling/unmarshalling Unix timestamp/epoch to/from build-in time.Time type in JSON
fastjson 2,310 11 months ago Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
gabs 3,479 8 months ago For parsing, creating and editing unknown or dynamic JSON in Go
gjo 127 over 3 years ago Small utility to create JSON objects
GJSON 14,487 3 months ago Get a JSON value with one line of code
go-jsonerror 16 over 5 years ago Go-JsonError is meant to allow us to easily create json response errors that follow the JsonApi spec
go-respond 55 over 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,668 over 3 years ago Automatically generate Go (golang) struct definitions from example JSON
htmljson 7 5 months ago Rich rendering of JSON as HTML in Go
JayDiff 106 11 months ago JSON diff utility written in Go
jettison 175 over 1 year ago Fast and flexible JSON encoder for Go
jscan 90 12 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 about 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 11 months ago Drop-in replacement for that outputs colorized JSON
jsondiff 530 about 2 months ago JSON diff library for Go based on RFC6902 (JSON Patch)
jsonf 65 about 4 years ago Console tool for highlighted formatting and struct query fetching JSON
jsongo 109 over 3 years ago Fluent API to make it easier to create Json objects
jsonhal 14 almost 5 years ago Simple Go package to make custom structs marshal into HAL compatible JSON responses
jsonhandlers 2 almost 2 years ago JSON library to expose simple handlers that lets you easily read and write json from various sources
jsonic 11 about 4 years ago Utilities to handle and query JSON without defining structs in a type safe manner
jsonvalue 190 2 months ago A fast and convenient library for unstructured JSON data, replacing
jzon 11 3 months ago JSON library with standard compatible API/behavior
kazaam 283 over 2 years ago API for arbitrary transformation of JSON documents
mapslice-json 20 11 months ago Go MapSlice for ordered marshal/ unmarshal of maps in JSON
marshmallow 377 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 862 3 months ago Optimized JSON for Go is a high performance parser with a variety of additional JSON tools including JSONPath
omg.jsonparser 6 over 3 years ago Simple JSON parser with validation by condition via golang struct fields tags
ujson 77 7 months ago Fast and minimal JSON parser and transformer that works on unstructured JSON
vjson 41 8 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 4 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,554 2 months ago Leveled execution logs for Go
go-cronowriter 56 almost 4 years ago Simple writer that rotate log files automatically based on current date and time, like cronolog
go-log 10 about 2 months ago A logging library with stack traces, object dumping and optional timestamps
go-log 14 over 6 years ago Simple and configurable Logging in Go, with level, formatters and writers
go-log 35 almost 6 years ago Log lib supports level and multi handlers
go-log 43 almost 7 years ago Log4j implementation in Go
go-logger 290 over 5 years ago Simple logger of Go Programs, with level handlers
gomol 19 almost 6 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 402 4 months ago Pretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest)
journald 41 almost 4 years ago Go implementation of systemd Journal's native API for logging
kemba 12 about 2 months 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,368 about 1 year ago Structured logging package for Go
log 292 over 1 year ago Simple, configurable and scalable Structured Logging for Go
log 26 about 7 years ago Structured log interface for Go cleanly separates logging facade from its implementation
log 16 about 2 years ago Simple leveled logging wrapper around standard log package
log 3 2 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,101 almost 2 years ago Simple, powerful logging for Go
logdump 11 almost 7 years ago Package for multi-level logging
logex 43 10 months ago Golang log lib, supports tracking and level, wrap by standard log lib
logger 157 about 3 years ago Minimalistic logging library for Go
logo 12 about 4 years ago Golang logger to different configurable writers
logrus 24,825 2 months ago Structured logger for Go
logrusiowriter 16 3 months ago implementation using logger
logrusly 28 over 3 years ago plug-in to send errors to a
logur 204 over 4 years ago An opinionated logger interface and collection of logging best practices with adapters and integrations for well-known libraries ( , , , , etc)
logutils 368 about 2 months ago Utilities for slightly better logging in Go (Golang) extending the standard logger
logxi 359 almost 5 years ago 12-factor app logger that is fast and makes you happy
lumberjack 4,899 6 months ago Simple rolling logger, implements io.WriteCloser
mlog 33 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 almost 6 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 about 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 694 about 2 months ago High performance structured logging
pp 1,873 about 2 months ago Colored pretty printer for Go language
rollingwriter 297 over 1 year ago RollingWriter is an auto-rotate implementation with multi policies to provide log file rotation
seelog 1,639 almost 6 years ago Logging functionality with flexible dispatching, filtering, and formatting
slf4g 3 about 1 month ago Simple Logging Facade for Golang: Simple structured logging; but powerful, extendable and customizable, with huge amount of learnings from decades of past logging frameworks
slog 405 about 1 month ago Lightweight, configurable, extensible logger for Go
slog-formatter 133 about 2 months ago Common formatters for slog and helpers to build your own
slog-multi 404 about 1 month ago Chain of slog.Handler (pipeline, fanout...)
slogor A colorful slog handler
spew 6,104 10 months ago Implements a deep pretty printer for Go data structures to aid in debugging
sqldb-logger 364 about 1 year ago A logger for Go SQL database driver without modify existing *sql.DB stdlib usage
stdlog 48 over 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,728 about 2 years ago Go package striving to emulate the features of the BSD tail program
tint 842 about 1 month ago A slog.Handler that writes tinted logs
xlog 8 about 6 years ago Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format
xlog 138 7 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 almost 3 years ago Yet another minimalistic logging library
zap 22,167 about 1 month ago Fast, structured, leveled logging in Go
zax 26 about 2 months ago Integrate Context with Zap logger, which leads to more flexibility in Go logging
zerolog 10,738 2 months ago Zero-allocation JSON logger
zkits-logger 26 over 1 year ago A powerful zero-dependency JSON logger
zl 6 about 2 months ago High Developer Experience, zap based logger. It offers rich functionality but is easy to configure

Awesome Go / Machine Learning

bayesian 806 about 1 year ago Naive Bayesian Classification for Golang
CloudForest 740 almost 3 years ago Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go
ddt 37 almost 4 years ago Dynamic decision tree, create trees defining customizable rules
eaopt 890 11 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 about 2 years ago Go implementation of the k-modes and k-prototypes clustering algorithms
go-deep 536 6 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 about 2 months ago Fast and convenient feature processing for low latency machine learning in Go
go-galib 200 about 9 years ago Genetic Algorithms library written in Go / golang
go-pr 67 over 11 years ago Pattern recognition package in Go lang
gobrain 561 about 4 years ago Neural Networks written in go
godist 40 over 9 years ago Various probability distributions, and associated methods
goga 220 almost 3 years ago Genetic algorithm library for Go
GoLearn 9,308 about 1 year ago General Machine Learning library for Go
golinear 45 over 6 years ago liblinear bindings for Go
GoMind 84 over 2 years ago A simplistic Neural Network Library in Go
goml 1,574 over 2 years ago On-line Machine Learning in Go
GoMLX 553 about 1 month ago An accelerated Machine Learning framework for Go
gonet 82 almost 5 years ago Neural Network for Go
Goptuna 262 5 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,582 5 months ago graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms
gorse 8,652 about 1 month ago An offline recommender system backend based on collaborative filtering written in Go
goscore 99 over 5 years ago Go Scoring API for PMML
gosseract 2,751 6 months ago Go package for OCR (Optical Character Recognition), by using Tesseract C++ library
hugot 298 about 1 month 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,826 6 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
neural-go 70 over 4 years ago Multilayer perceptron network implemented in Go, with training via backpropagation
ocrserver 708 over 3 years ago A simple OCR API server, seriously easy to be deployed by Docker and Heroku
onnx-go 726 5 months ago Go Interface to Open Neural Network Exchange (ONNX)
probab 20 over 9 years ago Probability distribution functions. Bayesian inference. Written in pure Go
randomforest 47 11 months ago Easy to use Random Forest library for Go
regommend 314 over 5 years ago Recommendation & collaborative filtering engine
shield 158 almost 5 years ago Bayesian text classifier with flexible tokenizers and storage backends for Go
tfgo 2,432 10 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 almost 5 years ago Go client to reliable queues based on Redis Cluster Streams
amqp 1,588 5 months ago Go RabbitMQ Client Library
APNs2 3,017 3 months ago HTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps
Asynq 10,212 about 1 month ago A simple, reliable, and efficient distributed task queue for Go built on top of Redis
Beaver 1,551 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 337 over 1 year ago Minimalist message bus implementation for internal communication
Centrifugo 8,485 about 1 month ago Real-time messaging (Websockets or SockJS) server in Go
Chanify 1,280 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,683 about 1 month ago confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform
dbus 998 2 months ago Native Go bindings for D-Bus
drone-line 80 almost 2 years ago Sending notifications using a binary, docker or Drone CI
emitter 510 almost 2 years 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,763 7 months ago The lightweight event bus with async compatibility
gaurun-client 11 over 3 years ago Gaurun Client written in Go
Glue 417 over 4 years ago Robust Go and Javascript Socket Library (Alternative to Socket.io)
go-eventbus 5 about 2 months ago Simple Event Bus package for Go
Go-MediatR 213 4 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 over 1 year ago RabbitMQ client with declarative configuration
go-notify 69 about 4 years ago Native implementation of the freedesktop notification spec
go-nsq 2,598 5 months ago the official Go package for NSQ
go-res 63 3 months ago Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate
go-socket.io 5,755 4 months ago socket.io library for golang, a realtime application framework
go-vitotrol 23 4 months ago Client library to Viessmann Vitotrol web service
Gollum 939 almost 2 years ago A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations
golongpoll 657 over 1 year ago HTTP longpoll server library that makes web pub-sub simple
gopush-cluster 2,082 over 7 years ago gopush-cluster is a go push server cluster
gorush 8,112 about 1 month ago Push notification server using and google
gosd 25 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 over 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 almost 6 years ago A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages
machinery 7,585 5 months ago Asynchronous task queue/job queue based on distributed message passing
mangos 687 about 1 month ago Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability
melody 3,785 6 months ago Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling
Mercure 3,997 about 1 month ago Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events)
messagebus 273 about 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,617 about 1 month 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 111 4 months ago Generic oplog/replication system for REST APIs
pubsub 431 8 months ago Simple pubsub package for go
Quamina 412 about 1 month ago Fast pattern-matching for filtering messages and events
rabbitroutine 110 11 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 about 1 month ago RabbitMQ swiss army knife cli app
RapidMQ 68 about 7 years ago RapidMQ is a lightweight and reliable library for managing of the local messages queue
Ratus 109 about 1 month ago Ratus is a RESTful asynchronous task queue server
redisqueue 131 11 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,629 about 1 month ago Go library for Apache Kafka
Uniqush-Push 1,540 almost 5 years ago Redis backed unified push service for server-side notifications to mobile devices
Watermill 7,907 about 1 month 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,184 10 months ago Go interface to ZeroMQ version 4. Also available for and

Awesome Go / Microsoft Office

unioffice 4,404 about 2 months 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,485 about 1 month ago Golang library for reading and writing Microsoft Excel™ (XLSX) files
exl 30 8 months ago Excel binding to struct written in Go.(Only supports Go1.18+)
go-excel 193 over 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,887 2 months 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 114 5 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 10 4 months ago Dependency injection using Generics and reflection
boot-go Component-based development with dependency injection using reflections for Go developers
componego 26 4 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 234 about 1 year ago A dependency injection container for go programming language
dig 3,968 5 months ago A reflection based dependency injection toolkit for Go
dingo 182 about 2 months ago A dependency injection toolkit for Go, based on Guice
do 1,889 about 2 months ago A dependency injection framework based on Generics
fx 5,982 about 1 month ago A dependency injection based application framework for Go (built on top of dig)
gocontainer 20 almost 5 years ago Simple Dependency Injection Container
goioc/di 363 about 2 months ago Spring-inspired Dependency Injection Container
GoLobby/Container 566 6 months ago GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language
gontainer 40 3 months ago A dependency injection service container for Go projects
gontainer/gontainer 15 6 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,186 6 months ago Automated Initialization in Go
HnH/di 9 3 months ago DI container library that is focused on clean API and flexibility
kinit 10 over 3 years ago Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization
kod 173 about 1 month ago A generics based dependency injection framework for Go
linker 36 11 months ago A reflection based dependency injection and inversion of control library with components lifecycle support
nject 29 about 1 month ago A type safe, reflective framework for libraries, tests, http endpoints, and service startup
ore 13 2 months ago Lightweight, generic & simple dependency injection (DI) container
wire 37 over 3 years ago Strict Runtime Dependency Injection for Golang

Awesome Go / Miscellaneous / Project Layout

ardanlabs/service 3,616 about 1 month ago A for building production grade scalable web service applications
cookiecutter-golang 693 12 months ago A Go application boilerplate template for quick starting projects following production best practices
go-blueprint 6,136 about 1 month ago Allows users to spin up a quick Go project using a popular framework
go-module 30 about 1 month 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 507 7 months ago An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers
go-todo-backend 321 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,931 2 months ago Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see for more information. Nonetheless, some may find the layout useful
golang-templates/seed 486 about 1 month ago Go application GitHub repository template
goxygen 3,531 3 months ago Generate a modern Web project with Go and Angular, React, or Vue in seconds
insidieux/inizio 18 almost 2 years ago Golang project layout generator with plugins
kickstart.go 76 about 1 month ago Minimalistic single-file Go HTTP server template without third-party dependencies
modern-go-application 1,861 3 months ago Go application boilerplate and example applying modern practices
nunu 1,994 6 months ago Nunu is a scaffolding tool for building Go applications
pagoda 2,229 4 months ago Rapid, easy full-stack web development starter kit built in Go
scaffold 149 about 6 years ago Scaffold generates a starter Go project layout. Lets you focus on business logic implemented
wangyoucao577/go-project-layout 26 over 3 years ago Set of practices and discussions on how to structure Go project layout

Awesome Go / Miscellaneous / Strings

bexp 20 about 1 month ago Go implementation of Brace Expansion mechanism to generate arbitrary strings
caps 54 about 1 year ago A case conversion library
go-formatter Implements surrounded by curly braces format strings
gobeam/Stringy 235 9 months ago String manipulation library to convert string to camel case, snake case, kebab case / slugify etc
strcase 6 about 1 month ago Case-insensitive implementation of the standard library's strings/bytes packages
strutil 207 over 2 years ago String utilities
sttr 966 3 months ago cross-platform, cli app to perform various operations on string
xstrings 1,406 8 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 261 over 4 years ago A fast, powerful and extensible web crawling & scraping framework
archiver 4,442 about 2 months ago Library and command for making and extracting .zip and .tar.gz archives
autoflags 41 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 453 about 4 years ago Add beautiful banners into your Go applications
base64Captcha 2,155 7 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 250 over 1 year ago Cross-platform, normalized battery information library
bitio 246 almost 2 years ago Highly optimized bit-level Reader and Writer for Go
browscap_go 49 over 1 year ago GoLang Library for
captcha 156 about 1 year ago Package captcha provides an easy to use, unopinionated API for captcha generation
common 4 about 1 month ago A library for server framework
conv 383 over 3 years ago Package conv provides fast and intuitive conversions across Go types
datacounter 49 almost 2 years ago Go counters for readers/writer/http.ResponseWriter
faker 95 over 1 year ago Random fake data and struct generator for Go
ffmt 308 about 3 years ago Beautify data display for Humans
gatus 6,711 about 1 month ago Automated service health dashboard
go-commandbus 12 almost 3 years ago A slight and pluggable command-bus for Go
go-commons-pool 1,229 over 1 year ago Generic object pool for Golang
go-openapi Collection of packages to parse and utilize open-api schemas
go-resiliency 2,234 4 months ago Resiliency patterns for golang
go-unarr 284 3 months ago Decompression library for RAR, TAR, ZIP and 7z archives
gofakeit 4,608 about 1 month ago Random data generator written in go
gommit 112 about 1 month ago Analyze git commit messages to ensure they follow defined patterns
gopsutil 10,711 about 1 month 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,453 almost 4 years ago Your own local SMS gateway in Go that can be used to send SMS
gotoprom 109 3 months ago Type-safe metrics builder wrapper library for the official Prometheus client
gountries 407 8 months ago Package that exposes country and subdivision data
gtree 246 about 1 month ago Provide CLI, Package and Web for tree output and directories creation from Markdown or programmatically
health 782 4 months ago A simple and flexible health check library for Go
health 452 about 1 year ago Easy to use, extensible health check library
healthcheck 269 about 1 year ago An opinionated and concurrent health-check HTTP handler for RESTful services
hostutils 12 8 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 373 almost 2 years ago A simple licensing library for golang
llvm 1,200 about 1 month ago Library for interacting with LLVM IR in pure Go
metrics 28 almost 2 years ago Library for metrics instrumentation and Prometheus exposition
morse 83 over 2 years ago Library to convert to and from morse code
numa 31 3 months ago NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code
openapi 11 over 1 year ago OpenAPI 3.x parser
pdfgen 71 almost 7 years ago HTTP service to generate PDF from Json requests
persian 87 12 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 937 over 2 years ago Distributed generation of super short, unique, non-sequential, URL friendly IDs
shoutrrr 1,050 6 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 981 5 months ago A fluent library for creating state machines
stats 170 over 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 over 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 about 8 years ago Generate boilerplate http input and output handling
varint 14 over 1 year ago A faster varying length integer encoder/decoder than the one provided in the standard library
xdg 45 9 months ago FreeDesktop.org (xdg) Specs implemented in Go
xkg 57 about 10 years ago X Keyboard Grabber
xz 487 4 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 about 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,192 about 1 month ago An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text
whatlanggo 644 almost 2 years 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 over 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 almost 4 years ago Sentiment analyzer using sentiwordnet lexicon in Go
govader 44 almost 2 years ago Go implementation of
govader-backend 6 11 months ago Microservice implementation of
kagome 833 3 months ago JP morphological analyzer written in pure Go
libtextcat 13 about 12 years ago Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2
nlp 387 over 7 years ago Extract values from strings and fill your structs with nlp
nlp 451 over 3 years ago Go Natural Language Processing library supporting LSA (Latent Semantic Analysis)
paicehusk 29 about 11 years ago Golang implementation of the Paice/Husk Stemming Algorithm
porter 12 over 11 years ago This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm
porter2 47 over 4 years ago Really fast Porter 2 stemmer
RAKE.go 117 almost 5 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,759 about 1 year ago Self-contained Machine Learning and Natural Language Processing library in Go
spelling-corrector 2 almost 3 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,177 11 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,457 about 1 month ago This is a Go implementation of which a Chinese word splitting algorithm
gotokenizer 21 almost 6 years ago A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
gse 2,600 5 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,063 over 1 year ago Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only
segment 89 about 2 years ago Go library for performing Unicode Text Segmentation as described in
sentences 441 11 months ago Sentence tokenizer: converts text into a list of sentences
shamoji 13 about 2 years ago The shamoji is word filtering package written in Go
stemmer 53 about 8 years ago Stemmer packages for Go programming language. Includes English and German stemmers
textcat 73 about 1 month ago Go package for n-gram based text categorization, with support for utf-8 and raw text

Awesome Go / Natural Language Processing / Translation

ctxi18n 50 about 1 month ago Context aware i18n with a short and consise API, pluralization, interpolation, and support. YAML locale definitions are based on
go-i18n 3,044 about 2 months ago Package and an accompanying tool to work with localized text
go-mystem 33 over 8 years ago CGo bindings to Yandex.Mystem - russian morphology analyzer
go-pinyin 1,642 over 1 year ago CN Hanzi to Hanyu Pinyin converter
go-words 6 11 months ago A words table and text resource library for Golang projects
gotext 438 4 months ago GNU gettext utilities for Go
iuliia-go 50 over 3 years ago Transliterate Cyrillic → Latin in every possible way
spreak 58 about 1 year ago Flexible translation and humanization library for Go, based on the concepts behind gettext
t 20 about 1 year 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 almost 9 years ago Minimal cgo bindings for , which detects character encodings
go-unidecode 132 over 1 year ago ASCII transliterations of Unicode text
gounidecode 80 over 9 years ago Unicode transliterator (also known as unidecode) for Go
transliterator 44 8 months ago Provides one-way string transliteration with supporting of language-specific transliteration rules

Awesome Go / Networking

arp 367 about 2 years ago Package arp implements the ARP protocol, as described in RFC 826
bart 37 about 1 month ago Package bart provides a fast routing table algorithm
buffstreams 254 over 4 years ago Streaming protocolbuffer data over TCP made easy
canopus 155 almost 7 years ago CoAP Client/Server implementation (RFC 7252)
cidranger 908 over 1 year ago Fast IP to CIDR lookup for Go
cloudflared 9,455 about 1 month ago Cloudflare Tunnel client (formerly Argo Tunnel)
dhcp6 77 almost 2 years ago Package dhcp6 implements a DHCPv6 server, as described in RFC 3315
dns 8,112 about 2 months ago Go library for working with DNS
dnsmonster 317 about 1 month ago Passive DNS Capture/Monitoring Framework
easytcp 815 10 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 almost 9 years ago Cross-platform Go package for sending and receiving ethernet frames
ethernet 278 almost 3 years ago Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags
event 153 about 1 year ago Simple I/O event notification library written in Golang
fasthttp 22,015 about 1 month ago Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http
fortio 3,377 about 1 month 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,315 about 1 month ago Package ftp implements a FTP client as described in
ftpserverlib 425 about 1 month ago Fully featured FTP server library
fullproxy 80 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 4 months ago A simple and intuitive CLI to manage IPTables forwards in your Linux server
gaio 829 about 1 month ago High performance async-io networking for Golang in proactor mode
gev 1,735 almost 2 years ago gev is a lightweight, fast non-blocking TCP network library based on Reactor mode
gldap 111 3 months 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,825 about 1 month ago is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go
gnet 20 about 1 month ago is a high-performance networking framework,especially for game servers
gNxI 263 4 months ago A collection of tools for Network Management that use the gNMI and gNOI protocols
go-getter 1,665 about 1 month ago Go library for downloading files or directories from various sources using a URL
go-multiproxy 6 5 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 90 about 2 months 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 684 7 months ago Go implementation of the STUN client (RFC 3489 and RFC 5389)
gobgp 3,667 about 2 months ago BGP implemented in the Go Programming Language
gopacket 6,375 5 months ago Go library for packet processing with libpcap bindings
gopcap 490 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,148 about 2 months ago Native Go library for performing SNMP actions
gotcp 512 over 1 year ago Go package for quickly writing tcp applications
grab 1,409 8 months ago Go package for managing file downloads
graval 28 over 4 years ago Experimental FTP server framework
gws 1,442 4 months ago High-Performance WebSocket Server & Client With AsyncIO Supporting
HTTPLab 4,057 12 months ago HTTPLabs let you inspect HTTP requests and forge responses
httpproxy 28 4 months ago HTTP proxy handler and dialer
iplib 144 10 months ago Library for working with IP addresses (net.IP, net.IPNet), inspired by python and ruby
jazigo 217 about 1 year ago Jazigo is a tool written in Go for retrieving configuration for multiple network devices
kcp-go 4,133 4 months ago KCP - Fast and Reliable ARQ Protocol
kcptun 13,982 about 1 month ago Extremely simple & fast udp tunnel based on KCP protocol
lhttp 691 almost 7 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 almost 9 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,204 about 2 months 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 89 3 months ago A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems
nbio 2,255 about 1 month 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,093 about 2 months ago A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance
NFF-Go 1,388 about 2 years ago Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF)
packet 80 about 5 years ago Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed
peerdiscovery 648 4 months ago Pure Go library for cross-platform local peer discovery using UDP multicast
portproxy 57 about 10 years ago Simple TCP proxy which adds CORS support to API's which don't support it
psql-wire 110 2 months ago PostgreSQL server wire protocol. Build your own server and start serving connections
publicip 28 about 8 years ago Package publicip returns your public facing IPv4 address (internet egress)
quic-go 10,222 about 1 month ago An implementation of the QUIC protocol in pure Go
raw 425 almost 3 years ago Package raw enables reading and writing data at the device driver level for a network interface
sdns 964 3 months ago A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy
sftp 1,527 about 1 month ago Package sftp implements the SSH File Transfer Protocol as described in
ssh 3,733 about 1 month ago Higher-level API for building SSH servers (wraps crypto/ssh)
sslb 149 11 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 172 over 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,474 about 1 month ago A pure go implementation of tun2socks powered by TCP/IP stack
utp 176 over 1 year ago Go uTP micro transport protocol implementation
vssh 964 about 1 year ago Go library for building network and server automation over SSH protocol
water 1,963 6 months ago Simple TUN/TAP library
webhooked 37 about 2 months ago A webhook receiver on steroids: handle, secure, format and store a Webhook payload has never been easier
webrtc 14,002 about 1 month ago A pure Go implementation of the WebRTC API
winrm 424 7 months ago Go WinRM client to remotely execute commands on Windows machines
xtcp 154 almost 5 years ago TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol

Awesome Go / Networking / HTTP Clients

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

Awesome Go / OpenGL

gl 1,099 6 months ago Go bindings for OpenGL (generated via glow)
glfw 1,584 9 months ago Go bindings for GLFW 3
go-glmatrix 11 almost 4 years ago Go port of library
goxjs/gl 177 over 1 year ago Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android)
goxjs/glfw 83 over 1 year ago Go cross-platform glfw library for creating an OpenGL context and receiving events
mathgl 563 3 months ago Pure Go math package specialized for 3D math, with inspiration from GLM

Awesome Go / ORM

bob 825 about 1 month ago SQL query builder and ORM/Factory generator for Go. Successor of SQLBoiler
bun 3,890 about 1 month ago SQL-first Golang ORM. Successor of go-pg
cacheme 23 about 3 years ago Schema based, typed Redis caching/memoize framework for Go
CQL 17 8 months ago Built on top of GORM, adds compile-time verified queries based on auto-generated code
ent 15,734 about 1 month ago An entity framework for Go. Simple, yet powerful ORM for modeling and querying data
go-dbw 14 about 2 months ago A simple package that encapsulates database operations
go-firestorm 52 about 3 years ago A simple ORM for Google/Firebase Cloud Firestore
go-sql 177 over 2 years ago A easy ORM for mysql
go-sqlbuilder 1,477 about 1 month ago A flexible and powerful SQL string builder library plus a zero-config ORM
go-store 112 almost 8 years ago Simple and fast Redis backed key-value store library for Go
golobby/orm 160 over 1 year ago Simple, fast, type-safe, generic orm for developer happiness
GORM 37,145 about 1 month ago The fantastic ORM library for Golang, aims to be developer friendly
gormt 2,372 about 1 month ago Mysql database to golang gorm struct
gorp 3,739 about 2 months 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,453 7 months ago Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
Prisma 2,191 about 1 month ago Prisma Client Go, Typesafe database access for Go
reform 1,442 almost 2 years ago Better ORM for Go, based on non-empty interfaces and code generation
rel 772 about 2 months ago Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
SQLBoiler 6,776 about 1 month ago ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema
upper.io/db 3,551 about 1 month 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
glide 8,148 6 months ago Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip
godep 5,533 almost 7 years ago dependency tool for go, godep helps build packages reproducibly by fixing their dependencies
goop 777 about 9 years ago Simple dependency manager for Go (golang), inspired by Bundler
gop 49 almost 6 years ago Build and manage your Go applications out of GOPATH
gopm 2,468 over 5 years ago Go Package Manager
govendor 4,931 almost 5 years ago Go Package Manager. Go vendor tool that works with the standard vendor file
gpm 1,188 over 7 years ago Barebones dependency manager for Go
gup 355 about 1 month ago Update binaries installed by "go install"
johnny-deps 213 about 4 years ago Minimal dependency version using Git
modgv 491 almost 2 years ago Converts 'go mod graph' output into Graphviz's DOT language
mvn-golang 163 5 months ago plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure
syft 6,371 about 1 month 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 232 about 2 months ago Automatically add spans to all methods and functions
jaeger 20,651 about 1 month ago A distributed tracing system
mm-go 150 4 months ago Generic manual memory management for golang
pixie 5,651 about 1 month ago No instrumentation tracing for Golang applications via eBPF
profile 2,013 about 2 years ago Simple profiling support package for Go
statsviz 3,232 9 months ago Live visualization of your Go application runtime statistics
tracer 86 almost 4 years ago Simple, lightweight tracing

Awesome Go / Query Language

api-fu 55 5 months ago Comprehensive GraphQL implementation
dasel 7,248 about 1 month 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,194 about 2 years ago A simple Go package to Query over JSON Data
goven 60 almost 3 years ago A drop-in query language for any database schema
gqlgen 10,018 about 1 month 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,662 about 1 month ago GraphQL server with a focus on ease of use
graphql-go 9,949 3 months ago Implementation of GraphQL for Go
gws 6 over 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 86 3 months ago Jsonpath queries with advanced filters
mql 45 about 1 month ago Model Query Language (mql) is a query language for your database models
rql 343 6 months ago Resource Query Language for REST API
rqp 78 about 1 year ago Query Parser for REST API. Filtering, validations, both , operations are supported directly in the query
straf 39 over 4 years ago Easily Convert Golang structs to GraphQL objects

Awesome Go / Reflection

copy 49 about 4 years ago Package for fast copying structs of different types
Deepcopier 452 over 4 years ago Simple struct copying for Go
go-deepcopy 35 about 2 months ago Fast deep copy library
goenum 12 4 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 62 4 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 almost 3 years ago Walk by go objects with reflection
reflectutils 8 about 2 months ago Helpers for working with reflection: struct tag parsing; recursive walking; fill value from string

Awesome Go / Resource Embedding

debme 33 over 3 years ago Create an from an existing subdirectory
fileb0x 635 almost 2 years 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,421 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,411 about 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
statik 3,768 over 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 984 about 1 year 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 401 about 1 month ago Calendar heatmap in plain Go inspired by Github contribution activity
chart 772 over 3 years ago Simple Chart Plotting library for Go. Supports many graphs types
dataframe-go 1,206 almost 3 years ago Dataframes for machine-learning and statistics (similar to pandas)
decimal 42 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 440 about 1 year ago Exponentially-weighted moving averages
geom 56 about 7 years ago 2D geometry for golang
go-dsp 862 over 1 year ago Digital Signal Processing for Go
go-estimate 114 7 months ago State estimation and filtering algorithms in Go
go-gt 11 over 9 years ago Graph theory algorithms written in "Go" language
go-hep 232 2 months ago A set of libraries and tools for performing High Energy Physics analyses with ease
godesim 23 over 2 years ago Extended/multivariable ODE solver framework for event-based simulations with simple API
goent 35 almost 6 years ago GO Implementation of Entropy Measures
gograph 71 6 months ago A golang generic graph library that provides mathematical graph-theory and algorithms
gohistogram 175 about 4 years ago Approximate histograms for data streams
gonum 7,690 about 1 month ago Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
gonum/plot 2,756 3 months ago gonum/plot provides an API for building and drawing plots in Go
goraph 739 almost 3 years ago Pure Go graph theory library(data structure, algorithm visualization)
gosl 1,837 3 months ago Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more
GoStats 22 about 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 712 over 1 year ago Library of basic graph algorithms
jsonl-graph 74 5 months ago Tool to manipulate JSONL graphs with graphviz support
ode 22 almost 8 years ago Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions
orb 918 5 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 27 about 1 year ago Tiny linear interpolation library
PiHex 20 3 months ago Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi
Poly 676 3 months ago A Go package for engineering organisms
rootfinding 11 almost 5 years ago root-finding algorithms library for finding roots of quadratic functions
sparse 160 over 3 years ago Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries
stats 2,934 8 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 206 over 3 years ago TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support
topk 4 4 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,368 4 months ago Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system
age 17,611 4 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 12 months ago light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package
argon2pw 90 over 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 703 about 1 month ago A secure low code honeypot framework, leveraging AI for System Virtualization
booster 515 about 2 months ago Fast initramfs generator with full-disk encryption support
Cameradar 4,143 3 months ago Tool and library to remotely hack RTSP streams from surveillance cameras
certificates 38 about 2 years ago An opinionated tool for generating tls certificates
CertMagic 5,068 about 1 month ago Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal
Coraza 2,319 about 1 month ago Enterprise-ready, modsecurity and OWASP CRS compatible WAF library
dongle 953 about 2 months ago A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption
encid 3 11 months ago Encode and decode encrypted integer IDs
firewalld-rest 337 about 1 year ago A rest application to dynamically update firewalld rules on a linux server
go-generate-password 55 almost 3 years ago Password generator that can be used on the cli or as a library
go-htpasswd 39 about 1 month ago Apache htpasswd Parser for Go
go-password-validator 507 over 2 years ago Password validator based on raw cryptographic entropy values
go-peer 270 about 1 month ago A software library for creating secure and anonymous decentralized systems
go-yara 361 6 months ago Go Bindings for , the "pattern matching swiss knife for malware researchers (and everyone else)"
goArgonPass 18 about 4 years ago Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations
goSecretBoxPassword 59 over 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,092 about 1 month ago Pure Go ACME client library and CLI tool (for use with Let's Encrypt)
luks.go 89 9 months ago Pure Golang library to manage LUKS partitions
memguard 2,562 9 months ago A pure Go library for handling sensitive values in memory
multikey 6 8 months ago An n-out-of-N keys encryption/decryption framework based on Shamir's Secret Sharing algorithm
nacl 545 6 months ago Go implementation of the NaCL set of API's
optimus-go 363 over 4 years ago ID hashing and Obfuscation using Knuth's Algorithm
passlib 288 almost 4 years ago Futureproof password hashing library
passwap 54 about 1 month ago Provides a unified implementation between different password hashing algorithms
qrand 16 11 months ago Client for the ANU Quantum Numbers (AQN) API, providing quantum-mechanically secure random data
secret 29 5 months ago Prevent your secrets from leaking into logs, std* etc
secure 2,288 3 months 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 almost 4 years ago Scrypt package with a simple, obvious API and automatic cost calibration built-in
ssh-vault 453 3 months ago encrypt/decrypt using ssh keys
sslmgr 26 6 months ago SSL certificates made easy with a high level wrapper around acme/autocert
teler-waf 358 about 1 month ago teler-waf is a Go HTTP middleware that provide teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications
themis 1,879 4 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 almost 6 years ago Asn.1 BER and DER encoding library for golang
bambam 65 over 8 years ago generator for Cap'n Proto schemas from go
bel 42 6 months ago Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC
binstruct 99 4 months ago Golang binary decoder for mapping data into the structure
cbor 750 about 1 month ago Small, safe, and easy CBOR encoding and decoding library
colfer 746 5 months ago Code generation for the Colfer binary format
csvutil 944 5 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 about 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,868 11 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 17 3 months ago High level and rich functionalities CSV serialization/deserialization library
gogoprotobuf 5,669 over 1 year ago Protocol Buffers for Go with Gadgets
goprotobuf 9,817 6 months ago Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers
gotiny 21 12 months ago Efficient Go serialization library, gotiny is almost as fast as serialization libraries that generate code
jsoniter 13,484 8 months ago High-performance 100% compatible drop-in replacement of "encoding/json"
mapstructure 7,936 7 months ago Go library for decoding generic map values into native Go structures
php_session_decoder 165 about 6 years ago GoLang library for working with PHP session format and PHP Serialize/Unserialize functions
pletter 19 about 1 year 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 7 over 1 year ago Library to pack unit vectors into as fewest bytes as possible

Awesome Go / Server Applications

algernon 2,849 about 1 month ago HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber
Caddy 59,088 about 1 month ago Caddy is an alternative, HTTP/2 web server that's easy to configure and use
Clace 524 about 1 month ago Clace makes internal tool deployment and management easy by implementing an app server for containerized webapps
consul Consul is a tool for service discovery, monitoring and configuration
cortex-tenant 111 2 months ago Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels
devd 3,441 9 months ago Local webserver for developers
discovery 1,782 over 1 year ago A registry for resilient mid-tier load balancing and failover
dudeldu 143 over 5 years ago A simple SHOUTcast server
dummy 178 almost 2 years ago Run mock server based off an API contract with one command
Easegress 5,789 about 1 month ago A cloud native high availability/performance traffic orchestration system with observability and extensibility
Engity's Bifröst Highly customizable SSH server with several ways to authorize a user how to execute its session (local or in containers)
etcd 48,056 about 1 month ago Highly-available key value store for shared configuration and service discovery
Euterpe 541 2 months ago Self-hosted music streaming server with built-in web UI and REST API
Fider 3,073 about 1 month ago Fider is an open platform to collect and organize customer feedback
Flagr 2,445 about 1 month ago Flagr is an open-source feature flagging and A/B testing service
flipt 3,860 about 1 month ago A self contained feature flag solution written in Go and Vue.js
go-feature-flag 1,508 about 1 month ago A simple, complete and lightweight self-hosted feature flag solution 100% Open Source
go-proxy-cache 132 about 1 month ago Simple Reverse Proxy with Caching, written in Go, using Redis
gondola 7 7 months ago A YAML based golang reverse proxy
jackal 1,439 over 1 year ago An XMPP server written in Go
lets-proxy2 96 10 months ago Reverse proxy for handle https with issue certificates in fly from lets-encrypt
minio 48,833 about 1 month ago Minio is a distributed object storage server
Moxy 15 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 over 4 years ago Nginx log parser and exporter to Prometheus
nsq A realtime distributed messaging platform
pocketbase 42,111 about 1 month 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 almost 5 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,965 about 1 month ago High-performance PHP application server, load-balancer and process manager
SFTPGo 9,632 about 1 month 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 almost 2 years ago Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management
Trickster 1,996 5 months ago HTTP reverse proxy cache and time series accelerator
Wish 3,714 about 1 month ago Make SSH apps, just like that!

Awesome Go / Stream Processing

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

Awesome Go / Template Engines

ego 582 almost 2 years ago Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled
extemplate 58 about 2 years ago Tiny wrapper around html/template to allow for easy file-based template inheritance
fasttemplate 849 over 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 month ago A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more
goview 429 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,272 11 months ago Jet template engine
liquid 291 2 months ago Go implementation of Shopify Liquid templates
maroto 2,266 about 1 month ago A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple
pongo2 2,890 5 months ago Django-like template-engine for Go
quicktemplate 3,138 6 months ago Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it
raymond 610 5 months ago Complete handlebars implementation in Go
Razor 859 2 months ago Razor view engine for Golang
Soy 172 10 months ago Closure templates (aka Soy templates) for Go, following the
sprout 99 about 1 month ago Useful template functions for Go templates
tbd 25 over 3 years ago A really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata
templ 8,505 about 1 month 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 3 months ago Architecture testing tool for Go projects
assert 63 over 2 years ago Basic Assertion Library used along side native go testing, with building blocks for custom assertions
baloo 777 over 2 years ago Expressive and versatile end-to-end HTTP API testing made easy
be 103 about 1 month ago The minimalist generic test assertion library
biff 14 about 2 years ago Bifurcation testing framework, BDD compatible
charlatan 203 about 1 year ago Tool to generate fake interface implementations for tests
commander 226 10 months ago Tool for testing cli applications on windows, linux and osx
cupaloy 311 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 15 3 months ago Lightweight, zero dependency docker containers for testing (or more)
dsunit 45 10 months ago Datastore testing for SQL, NoSQL, structured files
embedded-postgres 883 about 1 month ago Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test
endly 265 2 months ago Declarative end to end functional testing
envite 5 5 months ago Dev and testing environment management framework
fixenv 30 5 months ago Fixture manage engine, inspired by pytest fixtures
fluentassert 46 about 2 months ago Extensible, type-safe, fluent assertion Go library
flute 21 about 1 month ago HTTP client testing framework
frisby 278 almost 5 years ago REST API testing framework
gherkingen 77 7 months ago BDD boilerplate generator and framework
ginkgo BDD Testing Framework for Go
gnomock 1,400 3 months ago integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks
go-carpet 246 4 months ago Tool for viewing test coverage in terminal
go-cmp 4,247 about 1 month ago Package for comparing Go values in tests
go-hit 255 6 months ago Hit is an http integration test framework written in golang
go-mutesting 650 7 months ago Mutation testing for Go source code
go-mysql-test-container 3 over 2 years ago Golang MySQL testcontainer to help with MySQL integration testing
go-snaps Jest-like snapshot testing in Golang
go-testdeep 436 5 months ago Extremely flexible golang deep comparison, extends the go testing package
go-testpredicate 5 2 months ago Test predicate style assertions library with extensive diagnostics output
go-vcr 1,265 about 2 months ago Record and replay your HTTP interactions for fast, deterministic and accurate tests
goblin 887 about 2 years ago Mocha like testing framework of Go
goc 824 2 months ago Goc is a comprehensive coverage testing system for The Go Programming Language
gocheck More advanced testing framework alternative to gotest
GoConvey 8,282 6 months ago BDD-style framework with web UI and live reload
gocrest 106 4 months ago Composable hamcrest-like matchers for Go assertions
godog 2,334 about 1 month ago Cucumber BDD framework for Go
gofight 442 about 1 month ago API Handler Testing for Golang Router framework
gogiven 15 almost 2 years ago YATSPEC-like BDD testing framework for Go
gomatch 47 about 4 years ago library created for testing JSON against patterns
gomega Rspec like matcher/assertion library
Gont 78 about 1 month 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 7 months ago An enjoyable golang test framework
gotest.tools 518 4 months ago A collection of packages to augment the go testing package and support common patterns
Hamcrest 30 about 4 years ago fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results
httpexpect 2,569 about 1 month ago Concise, declarative, and easy to use end-to-end HTTP and REST API testing
is 1,809 11 months ago Professional lightweight testing mini-framework for Go
jsonassert 127 4 months ago Package for verifying that your JSON payloads are serialized correctly
keploy 5,196 about 1 month ago Generate Testcase and Data Mocks from API calls automatically
omg.testingtools 1 over 3 years ago The simple library for change a values of private fields for testing
restit 55 8 months ago Go micro framework to help writing RESTful API integration test
schema 21 over 5 years ago Quick and easy expression matching for JSON schemas used in requests and responses
stop-and-go 10 about 2 months ago Testing helper for concurrency
testcase 121 about 2 months ago Idiomatic testing framework for Behavior Driven Development
testcerts 70 4 months ago Dynamically generate self-signed certificates and certificate authorities within your test functions
testcontainers-go 3,718 about 1 month 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,125 about 1 month ago A helper for Rails' like test fixtures to test database applications
Testify 23,652 about 2 months ago Sacred extension to the standard go testing package
testsql 17 over 5 years ago Generate test data from SQL files before testing and clear it after finished
testza 419 over 1 year ago Full-featured test framework with nice colorized output
trial 6 over 2 years ago Quick and easy extendable assertions without introducing much boilerplate
Tt 8 8 months ago Simple and colorful test tools
wstest 102 about 4 years ago Websocket client for unit-testing a websocket http.Handler

Awesome Go / Testing / Mock

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

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

go-fuzz 4,790 4 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 731 2 months ago Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it
chromedp 11,178 2 months ago a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol
ggr 314 9 months ago a lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs
playwright-go 2,291 about 1 month ago browser automation library to control Chromium, Firefox and WebKit with a single API
rod 5,502 about 1 month ago A Devtools driver to make web automation and scraping easy
selenoid 2,618 5 months ago alternative Selenium hub server that launches browsers within containers

Awesome Go / Testing / Fail injection

failpoint 824 8 months ago An implementation of for Golang

Awesome Go / Text Processing / Formatters

address 74 3 months ago Handles address representation, validation and formatting
align 84 over 3 years ago A general purpose application that aligns text
bytes 544 about 1 year ago Formats and parses numeric byte values (10K, 2M, 3G, etc.)
go-fixedwidth 82 11 months ago Fixed-width text formatting (encoder/decoder with reflection)
go-humanize 4,383 10 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 11 months ago Universal JSON, BSON, YAML, XML translator to ANY format using templates
bbConvert 12 5 months ago Converts bbCode to HTML that allows you to add support for custom bbCode tags
blackfriday 5,476 12 months ago Markdown processor in Go
go-output-format 17 11 months ago Output go structures into multiple formats (YAML/JSON/etc) in your command line app
go-toml 1,751 about 2 months ago Go library for the TOML format with query support and handy cli tools
goldmark 3,750 3 months ago A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured
goq 262 over 3 years ago Declarative unmarshalling of HTML using struct tags with jQuery syntax (uses GoQuery)
html-to-markdown 2,427 about 1 month ago Convert HTML to Markdown. Even works with entire websites and can be extended through rules
htmlquery 744 3 months ago An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression
htmlyaml 5 5 months ago Rich rendering of YAML as HTML in Go
htree 4 3 months ago Traverse, navigate, filter, and otherwise process trees of objects
mxj 624 10 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,607 3 months 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 896 about 5 years ago A collection of common regular expressions for Go
did 91 about 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 144 2 months 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 about 1 month ago High performance effective top level domains (eTLD) extraction module
go-nmea 227 about 1 month ago NMEA parser library for the Go language
go-querystring 2,006 about 1 month ago Go library for encoding structs into URL query parameters
go-vcard 108 3 months ago Parse and format vCard
godump 174 about 1 month ago Pretty print any GO variable with ease, an alternative to Go's
gofeed 2,598 6 months ago Parse RSS and Atom feeds in Go
gographviz 555 almost 2 years ago Parses the Graphviz DOT language
gonameparts 42 4 months ago Parses human names into individual name parts
ltsv 9 4 months ago High performance reader for Go
normalize 46 almost 4 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 8 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,376 about 2 months ago Shell parser and formatter
tokenizer 103 about 1 month ago Parse any string, slice or infinite buffer to any tokens
vdf 44 about 2 months ago A Lexer and Parser for Valves Data Format (known as vdf) written in Go
when 1,414 2 months ago Natural EN and RU language date/time parser with pluggable rules
xj2go 34 over 3 years ago Convert xml or json to go struct

Awesome Go / Text Processing / Regular Expressions

genex 77 about 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 3 months ago Match regex expression named groups into go struct using struct tags and automatic parsing
rex 197 3 months ago Regular expressions builder

Awesome Go / Text Processing / Sanitation

bluemonday 3,241 7 months ago HTML Sanitizer
gofuckyourself 67 almost 2 years ago A sanitization-based swear filter for Go

Awesome Go / Text Processing / Scrapers

colly 23,444 6 months ago Fast and Elegant Scraping Framework for Gophers
dataflowkit 667 almost 2 years ago Web scraping Framework to turn websites into structured data
go-recipe 27 almost 2 years ago A package for scraping recipes from websites
GoQuery 14,135 about 1 month ago GoQuery brings a syntax and a set of features similar to jQuery to the Go language
pagser 105 over 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 6 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,193 4 months ago Extract urls from text

Awesome Go / Text Processing / RSS

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

Awesome Go / Text Processing / Utility/Miscellaneous

go-runewidth 613 6 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 over 6 years ago Common case conversions covering common initialisms
petrovich 47 about 1 year ago Petrovich is the library which inflects Russian names to given grammatical case
radix 192 almost 7 years ago Fast string sorting algorithm
TySug 18 almost 2 years ago Alternative suggestions with respect to keyboard layouts
w2vgrep 1,125 5 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 77 10 months ago Go client library for the
anaconda 1,144 12 months ago Go client library for the Twitter 1.1 API
appstore-sdk-go 5 12 months ago Unofficial Golang SDK for AppStore Connect API
aws-encryption-sdk-go 20 about 1 month ago Unofficial Go SDK implementation of the
aws-sdk-go 2,704 about 1 month ago The official AWS SDK for the Go programming language
bqwriter 16 over 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 12 months ago Go client library for interacting with CircleCI's API
clarifai 55 3 months 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 about 1 year ago Go client library for interacting with Coinpaprika's API
device-check-go 24 2 months ago Go client library for interacting with v1
discordgo 5,141 about 1 month ago Go bindings for the Discord Chat API
disgo 89 over 1 year ago Go API Wrapper for the Discord API
dusupay-sdk-go 3 about 2 years ago Unofficial Dusupay payment gateway API Client for Go
ethrpc 269 about 1 year ago Go bindings for Ethereum JSON RPC API
facebook 1,339 3 months ago Go Library that supports the Facebook Graph API
fasapay-sdk-go 2 over 2 years ago Unofficial Fasapay payment gateway XML API Client for Golang
fcm 51 almost 5 years ago Go library for Firebase Cloud Messaging
gads 50 about 3 years ago Google Adwords Unofficial API
gami 33 over 6 years ago Go library for Asterisk Manager Interface
gcm 31 about 9 years ago Go library for Google Cloud Messaging
geo-golang 518 7 months ago Go Library to access , , , , , , and geocoding / reverse geocoding APIs
github 10,488 about 1 month ago Go library for accessing the GitHub REST API v3
githubql 1,130 6 months ago Go library for accessing the GitHub GraphQL API v4
go-atlassian 134 about 2 months ago Go library for accessing the services (Jira, Jira Service Management, Jira Agile, Confluence, Admin Cloud)
go-aws-news 17 7 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 96 3 months 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 8 months ago Simple Go binding to the "Have I Been Pwned" APIs
go-imgur 24 7 months ago Go client library for
go-jira 1,489 about 2 months ago Go client library for
go-lark 207 3 months ago An easy-to-use unofficial SDK for and Open Platform
go-marathon 199 over 4 years ago Go library for interacting with Mesosphere's Marathon PAAS
go-myanimelist 39 9 months ago Go client library for accessing the
go-openai 9,346 about 1 month ago OpenAI ChatGPT, DALL·E, Whisper API library for Go
go-openproject 17 about 2 years ago Go client library for interacting with API
go-postman-collection 82 8 months ago Go module to work with (compatible with Insomnia)
go-redoc 75 9 months ago Embedded OpenAPI/Swagger documentation ui for Go using
go-restcountries 3 about 3 years ago Go library for the
go-salesforce 33 about 1 month 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 143 9 months ago Go library for accessing and at Github
go-twitter 1,587 about 2 years ago Go client library for the Twitter v1.1 APIs
go-unsplash 75 almost 2 years 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 7 months ago Go library to build Asterisk PBX agi/fastagi applications
goami2 14 9 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 about 2 years ago Google Trends Unofficial API
golang-tmdb 127 about 1 month ago Golang wrapper for The Movie Database API v3
golyrics 42 over 6 years ago Golyrics is a Go library to fetch music lyrics data from the Wikia website
gomalshare 12 over 5 years ago Go library MalShare API
GoMusicBrainz 59 over 1 year ago Go MusicBrainz WS2 client library
google 4,056 about 1 month ago Auto-generated Google APIs for Go
google-analytics 15 over 9 years ago Simple wrapper for easy google analytics reporting
google-cloud 3,809 about 1 month ago Google Cloud APIs Go Client Library
google-email-audit-api 8 about 8 years ago Go client library for
google-play-scraper 83 over 1 year ago Get data from Google Play Store
gopaapi5 16 almost 5 years ago Go Client Library for
gopensky 2 3 months ago Go client implementation for live's API (airspace ADS-B and Mode S data)
gosip 146 2 months ago Client library for SharePoint
gostorm 129 over 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 almost 9 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 83 almost 2 years ago Go client for the
ip2location-io-go 10 7 months ago Go wrapper for the IP2Location.io API
jokeapi-go 24 about 1 year ago Go client for
lark 422 4 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 over 4 years ago Library adapter toolbox for native integration
Medium 141 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,532 about 1 month 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 about 2 months ago Go client for
openaigo 291 8 months ago OpenAI GPT3/GPT3.5 ChatGPT API client library for Go
patreon-go 42 over 2 years ago Go library for Patreon API
paypal 697 4 months ago Wrapper for PayPal payment API
playlyfe 2 almost 9 years ago The Playlyfe Rest API Go SDK
pushover 143 9 months ago Go wrapper for the Pushover API
rawg-sdk-go 12 over 2 years ago Go library for the API
rrdaclient 10 over 10 years ago Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP
shopify 25 about 4 years ago Go Library to make CRUD request to the Shopify API
simples3 155 6 months ago Simple no frills AWS S3 Library using REST with V4 Signing written in Go
slack 4,702 2 months ago Slack API in Go
smite 11 over 10 years ago Go package to wraps access to the Smite game API
spotify 51 4 months ago Go Library to access Spotify WEB API
steam 32 7 months ago Go Library to interact with Steam game servers
stripe 2,177 about 1 month ago Go client for the Stripe API
swag 47 9 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 over 9 years ago Go client for the textbelt.com txt messaging API
translate 33 almost 9 years ago Go online translation package
Trello 220 9 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 909 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 963 5 months ago Webhook receiver for GitHub and Bitbucket
wit-go 159 6 months ago Go client for wit.ai HTTP API
ynab 70 11 months ago Go wrapper for the YNAB API
zooz 7 11 months ago Go client for the Zooz API

Awesome Go / Utilities

apm 167 about 8 years ago Process manager for Golang applications with an HTTP API
backscanner 64 about 2 months ago A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward
bed 1,277 about 2 months 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 about 4 years ago Perform any number of actions on any set of OS signals in Go
boilr 1,727 almost 2 years ago Blazingly fast CLI tool for creating projects from boilerplate templates
changie 705 about 1 month ago Automated changelog tool for preparing releases with lots of customization options
chyle 158 about 1 month ago Changelog generator using a git repository with multiple configuration possibilities
circuit 770 about 2 months ago An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern
circuitbreaker 1,128 8 months ago Circuit Breakers in Go
clipboard 633 5 months ago 📋 cross-platform clipboard package in Go
clockwork 675 about 2 months ago A simple fake clock for golang
cmd 154 12 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 351 about 1 month ago Cross Platform tool to validate configuration files
cookie 111 about 1 month 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 414 8 months ago Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards
countries 87 over 1 year ago All you need when you are working with countries in Go
create-go-app 2,628 5 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 156 over 3 years ago Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
ctop 15,641 6 months ago interface (e.g. htop) for container metrics
ctxutil 25 almost 5 years ago A collection of utility functions for contexts
cvt 48 about 2 months ago Easy and safe convert any value to another type
dbt 62 7 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 641 7 months ago Go debugger
dive 48,436 6 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,186 about 2 months 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 10 months ago Quota manager and rate limiter collection for Go
ergo 627 6 months ago The management of multiple local services running over different ports made easy
evaluator 41 almost 2 years ago Evaluate an expression dynamically based on s-expression. It's simple and easy to extend
Failsafe-go 1,696 about 1 month ago Fault tolerance and resilience patterns for Go
filetype 2,136 10 months ago Small package to infer the file type checking the magic numbers signature
filler 18 almost 8 years ago small utility to fill structs using "fill" tag
filter 151 about 1 month ago provide filtering, sanitizing, and conversion of Go data
fzf 66,191 about 1 month ago Command-line fuzzy finder written in Go
generate 30 about 8 years ago runs go generate recursively on a specified path or environment variable and can filter by regex
ghokin 44 about 1 month ago Parallelized formatter with no external dependencies for gherkin (cucumber, behat...)
git-time-metric 981 almost 3 years ago Simple, seamless, lightweight time tracking for Git
gitbatch 1,542 over 1 year ago manage your git repositories in one place
gitcs 118 7 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 9 months ago Parse TODOs in your GO code
go-bind-plugin 184 over 5 years ago go:generate tool for wrapping symbols exported by golang plugins (1.8 only)
go-bsdiff 161 almost 6 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 8 months ago Package go-convert enables you to convert a value into another type
go-countries 15 about 4 years ago Lightweight lookup over ISO-3166 codes
go-dry 486 over 1 year ago DRY (don't repeat yourself) package for Go
go-events 2 about 1 month ago A go event and event'subscribe package, like wordpress hook functions
go-funk 4,827 6 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 about 1 month 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 over 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 34 about 1 month ago A native, high-quality and minimalistic QR code generator
go-rate 400 almost 3 years ago Timed rate limiter for Go
go-sitemap-generator 220 6 months ago XML Sitemap generator written in Go
go-trigger 246 almost 8 years ago Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project
go-tripper 12 9 months ago Tripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits
go-type 19 2 months ago Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types
goback 49 almost 4 years ago Go simple exponential backoff package
goctx 10 about 4 years ago Get your context value with high performance
godaemon 493 over 3 years ago Utility to write daemons
godropbox 4,175 about 1 year ago Common libraries for writing Go services/applications from Dropbox
gofn 52 about 2 months ago High performance utility functions written using Generics for Go 1.18+
golarm 52 over 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 about 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,954 about 1 month ago Deliver Go binaries as fast and easily as possible
goreporter 3,128 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 7 months ago Collections of string manipulation and conversion functions
gotenv 300 about 2 months ago Load environment variables from or any in Go
goval 160 6 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 357 almost 2 years ago A system and resource monitoring tool written in Golang!
gubrak 485 almost 2 years ago Golang utility library with syntactic sugar. It's like lodash, but for golang
handy 81 over 4 years ago Many utilities and helpers like string handlers/formatters and validators
hostctl 1,108 12 months ago A CLI tool to manage /etc/hosts with easy commands
htcat 553 almost 6 years ago Parallel and Pipelined HTTP GET Utility
hub 22,851 12 months ago wrap git commands with additional functionality to interact with github from the terminal
immortal 806 6 months ago *nix cross-platform (OS agnostic) supervisor
jet 6 about 1 month ago Just Edit Text: a fast and powerful tool for finding and replacing file content and names using regular expressions
jsend 21 over 3 years ago JSend's implementation written in Go
json-log-viewer 127 about 2 months ago Interactive viewer for JSON logs
jump 1,805 8 months ago Jump helps you navigate faster by learning your habits
just 32 5 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,791 about 1 month 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 474 about 1 month ago Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks
lo 18,166 about 1 month 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 11 months ago LiveReload server for Go
mani 449 about 1 month ago CLI tool to help you manage multiple repositories
mc 2,897 about 1 month ago Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems
mergo 2,900 about 2 months ago Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements
mimemagic 100 over 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,695 about 1 month ago Package for MIME type detection based on magic numbers
minify 3,767 about 1 month ago Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats
minquery 62 almost 2 years ago MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off)
moldova 169 over 7 years ago Utility for generating random data based on an input template
mole 1,697 8 months ago cli app to easily create ssh tunnels
mongo-go-pagination 130 almost 2 years ago Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines
mssqlx 103 9 months ago Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind
multitick 70 about 1 year 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 3 months ago Read nfdump netflow files
nostromo 143 7 months ago CLI for building powerful aliases
okrun 16 over 10 years ago go run error steamroller
olaf 5 almost 6 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,533 about 2 months ago Groups similar goroutines and colorizes stack dump
pattern-match 246 almost 2 years ago Pattern matching library
peco 7,699 11 months ago Simplistic interactive filtering tool
pgo 86 9 months ago Convenient functions for PHP community
pm 79 about 1 year ago Process (i.e. goroutine) manager with an HTTP API
pointer 42 about 2 months ago Package pointer contains helper routines for simplifying the creation of optional fields of basic type
ptr 27 over 1 year ago Package that provide functions for simplified creation of pointers from constants of basic types
rclient 35 about 5 years ago Readable, flexible, simple-to-use client for REST APIs
remote-touchpad 537 2 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 426 about 5 years ago Go HTTP Requests for Humans™
rerun 167 almost 7 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 341 7 months ago The most advanced functional mechanism to perform actions repetitively until successful
retry 10 almost 2 years ago A simple but highly configurable retry package for Go
retry 66 about 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,478 about 2 months ago Simple library for retry mechanism
retry-go 50 about 6 years ago Retrying made simple and easy for golang
robustly 159 about 1 year ago Runs functions resiliently, catching and restarting panics
rospo 312 about 1 month ago Simple and reliable ssh tunnels with embedded ssh server in Golang
scan 565 about 2 months ago Scan golang directly to structs, slices, or primitive types
scan 63 11 months ago Scan sql rows into any type powered by generics
scany 1,321 about 1 month ago Library for scanning data from a database into Go structs and more
serve 334 about 2 months ago A static http server anywhere you need
sesh 716 about 2 months 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 about 3 years ago App shutdown hooks for handling
silk 14 almost 3 years ago Read silk netflow files
slice 51 almost 5 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 8 months ago Fast Concurrent / Parallel Sorting
sqlx 16,405 5 months ago provides a set of extensions on top of the excellent built-in database/sql package
sshman 50 about 2 years ago SSH Manager for authorized_keys files on multiple remote servers
statiks 11 over 4 years ago Fast, zero-configuration, static HTTP filer server
Storm 2,068 about 1 year ago Simple and powerful toolkit for BoltDB
structs 24 about 7 years ago Implement simple functions to manipulate structs
throttle 39 over 3 years ago Throttle is an object that will perform exactly one action per duration
tik 5 over 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 about 1 month ago Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer
UNIS 70 over 7 years ago Common Architecture™ for String Utilities in Go
upterm 873 about 1 month 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 9,125 about 1 month 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 5 months ago Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint
wifiqr 263 8 months ago Wi-Fi QR Code Generator
wuzz 10,584 6 months ago Interactive cli tool for HTTP inspection
xferspdy 101 almost 4 years ago Xferspdy provides binary diff and patch library in golang
yogo 43 2 months ago Check yopmail mails from command line

Awesome Go / UUID

fastuuid 0 almost 2 years ago Fast generate UUIDv4 as string or bytes
goid 41 almost 6 years ago Generate and Parse RFC4122 compliant V4 UUIDs
gouid 24 about 2 months ago Generate cryptographically secure random string IDs with just one allocation
nanoid 62 over 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,553 9 months ago Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier)
uniq No hassle safe, fast unique identifiers with commands
uuid 18 almost 5 years ago Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier
uuid 1,592 about 1 month ago Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid
uuid 5,394 2 months ago Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services
uuidcheck 3 about 1 month ago A tiny, dependency-free Go library that validates UUIDs against standard RFC 4122 formatting, converts UUIDv7() into UTC timestamps
wuid 534 12 months ago An extremely fast globally unique number generator
xid 3,978 2 months ago Xid is a globally unique id generator library, ready to be safely used directly in your server code

Awesome Go / Validation

checkdigit 110 over 1 year ago Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.)
go-validator 22 about 2 months ago Validation library using Generics
gody 91 3 months ago A lightweight struct validator for Go
govalid 51 about 2 months ago Fast, tag-based validation for structs
govalidator 6,061 5 months ago Validators and sanitizers for strings, numerics, slices and structs
govalidator 1,324 8 months ago Validate Golang request data with simple rules. Highly inspired by Laravel's request validation
hvalid 11 8 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 7 months ago jio is a json schema validator similar to
ozzo-validation 3,795 10 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,079 about 1 month ago Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features
validate 95 over 2 years ago This package provides a framework for writing validations for Go applications
validator 17,080 2 months ago Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
Validator 7 5 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 210 2 months 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,939 11 months ago Go bindings for libgit2
githooks 105 about 1 month ago Per-repo and shared Git hooks with version control and auto update
go-git 6,070 about 1 month ago highly extensible Git implementation in pure Go
go-vcs 80 over 1 year ago manipulate and inspect VCS repositories in Go
hercules 2,643 almost 2 years ago gaining advanced insights from Git repository history
hgo 16 over 9 years ago Hgo is a collection of Go packages providing read-access to local Mercurial repositories

Awesome Go / Video

gmf 891 over 2 years ago Go bindings for FFmpeg av* libraries
go-astiav 408 about 1 month ago Better C bindings for ffmpeg in GO
go-astisub 600 about 2 months ago Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)
go-astits 544 about 1 year ago Parse and demux MPEG Transport Streams (.ts) natively in GO
go-m3u8 28 over 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,108 over 2 years ago Comprehensive Go bindings for FFmpeg
gortsplib 706 about 1 month ago Pure Go RTSP server and client library
libvlc-go 438 3 months ago Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player)
m3u8 1,239 about 1 month ago Parser and generator library of M3U8 playlists for Apple HLS
mp4ff 482 about 1 month ago Library and tools for working with MP4 files containing video, audio, subtitles, or metadata
v4l 80 10 months ago Video capture library for Linux, written in Go

Awesome Go / Web Frameworks

Atreugo 1,245 about 1 month ago High performance and extensible micro web framework with zero memory allocations in hot paths
Beego 31,683 about 1 month ago beego is an open-source, high-performance web framework for the Go programming language
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 55 about 1 month ago A highly performant and simple to use API framework
Echo 30,085 about 1 month ago High performance, minimalist Go web framework
Fastschema 361 about 1 month ago A flexible Go web framework and Headless CMS
Fiber 34,302 about 1 month ago An Express.js inspired web framework build on Fasthttp
Flamingo 487 about 1 month 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 523 about 1 month 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 975 about 1 month ago The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code
Gin 79,433 2 months 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 291 4 months ago Gin parameter automatic binding tool,gin rpc tools
Goa 5,719 about 1 month ago Goa provides a holistic approach for developing remote APIs and microservices in Go
GoFr 3,771 about 1 month ago Gofr is an opinionated microservice development framework
GoFrame 11,819 about 1 month ago GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang
golamb 7 8 months ago Golamb makes it easier to write API endpoints for use with AWS Lambda and API Gateway
Gone 133 about 2 months ago A lightweight dependency injection and web framework inspired by Spring
goravel 3,041 about 1 month ago A Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features
Goyave 1,644 about 1 month ago Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities
Hertz 5,442 about 1 month ago A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices
hiboot 181 3 months ago hiboot is a high performance web application framework with auto configuration and dependency injection support
Huma 2,399 about 1 month ago Framework for modern REST/GraphQL APIs with built-in OpenAPI 3, generated documentation, and a CLI
iWF 544 about 1 month 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 11 months ago Highly performant declarative web framework for Golang, aiming for simplicity and quality of life
Microservice 114 about 1 month ago The framework for the creation of microservices, written in Golang
patron 123 about 1 month 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
Revel 13,156 about 1 year ago High-productivity web framework for the Go language
rk-boot 523 4 months ago A bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily
rux 99 about 1 month ago Simple and fast web framework for build golang HTTP applications
uAdmin 344 3 months ago Fully featured web framework for Golang, inspired by Django
WebGo 303 3 months ago A micro-framework to build web apps with handler chaining, middleware, and context injection. With standard library-compliant HTTP handlers (i.e., )
Yokai 495 2 months ago Simple, modular, and observable Go framework for backend applications

Awesome Go / Web Frameworks / Middlewares

client-timing 24 almost 5 years ago An HTTP client for Server-Timing header
CORS 2,698 about 1 month ago Easily add CORS capabilities to your API
echo-middleware 15 about 1 month ago Middleware for Echo framework with logging and metrics
formjson 39 about 9 years ago Transparently handle JSON input as a standard form POST
go-fault 507 about 2 months ago Fault injection middleware for Go
go-server-timing 862 about 1 year ago Add/parse Server-Timing header
Limiter 2,125 about 1 month ago Dead simple rate limit middleware for Go
ln-paywall 151 almost 6 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 9 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,717 2 months ago Rate limit HTTP request handler
XFF 98 almost 3 years ago Handle header and friends
alice 3,142 8 months ago Painless middleware chaining for Go
catena 9 over 6 years ago http.Handler wrapper catenation (same API as "chain")
chain 63 over 6 years ago Handler wrapper chaining with scoped data (net/context-based "middleware")
gores 104 about 4 years ago Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs
interpose 294 about 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 almost 6 years ago Lightweight middleware for net/http
negroni 7,479 8 months ago Idiomatic HTTP middleware for Golang
render 1,945 3 months 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 about 2 years ago Go middleware that stores various information about your web application

Awesome Go / Web Frameworks / Routers

alien 132 10 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 101 over 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,767 4 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 8 months ago A golang http router based on trie tree
gocraft/web 1,509 over 4 years ago Mux and middleware package in Go
Goji 968 over 2 years ago Goji is a minimalistic and flexible HTTP request multiplexer with support for
GoLobby/Router 22 almost 3 years ago GoLobby Router is a lightweight yet powerful HTTP router for the Go programming language
goroute 9 about 5 years ago Simple yet powerful HTTP request multiplexer
GoRouter 154 4 months ago GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting
gowww/router 185 over 1 year ago Lightning fast HTTP router fully compatible with the net/http.Handler interface
httprouter 16,666 6 months ago High performance router. Use this and the standard http handlers to form a very high performance web framework
httptreemux 617 6 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,970 5 months ago Powerful URL router and dispatcher for golang
nchi 15 about 1 month ago chi-like router built on httprouter with dependency injection based middleware wrappers
ngamux 68 about 1 month ago Simple HTTP router for Go
ozzo-routing 456 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 150 over 1 year ago Is a lightweight HTTP router that sticks to the std "net/http" implementation
Siesta 349 about 1 year ago Composable framework to write middleware and handlers
vestigo 268 over 4 years ago Performant, stand-alone, HTTP compliant URL Router for go web applications
violetear 107 over 2 years ago Go HTTP router
xmux 99 over 7 years ago High performance muxer based on with support
xujiajun/gorouter 532 over 5 years ago A simple and fast HTTP router for Go

Awesome Go / WebAssembly

dom 491 over 5 years ago DOM library
Extism Go SDK 92 about 2 months ago Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps
go-canvas 246 about 4 years ago Library to use HTML5 Canvas, with all drawing within go code
tinygo 15,577 about 1 month ago Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM
vert 102 about 2 years ago Interop between Go and JS values
wasmbrowsertest 192 3 months ago Run Go WASM tests in your browser
webapi 176 about 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,177 2 months ago Win32 OLE implementation for golang
gosddl 11 over 5 years ago Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL

Awesome Go / Workflow Frameworks

Cadence-client 354 about 1 month ago A framework for authoring workflows and activities running on top of the Cadence orchestration engine made by Uber
Dagu 1,688 about 1 month ago No-code workflow executor. it executes DAGs defined in a simple YAML format
go-dag 23 5 months ago A framework developed in Go that manages the execution of workflows described by directed acyclic graphs
go-taskflow 337 about 1 month ago A taskflow-like General-purpose Task-parallel Programming Framework with integrated visualizer and profiler
workflow 124 about 1 month 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 about 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 696 3 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 756 3 months ago Generate a Go struct from XML

Awesome Go / Zero Trust

Cosign 4,566 about 1 month ago Container Signing, Verification and Storage in an OCI registry
in-toto 133 about 1 month ago Go implementation of the in-toto (provides a framework to protect the integrity of the software supply chain) python reference implementation
OpenZiti 2,921 about 1 month 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 about 1 month ago Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication
Spire 1,827 about 1 month 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 178 almost 8 years ago Checks recent changes to a Go project for backwards incompatible changes
asty 82 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 56 over 2 years ago Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack
Chronos 429 over 2 years ago Detects race conditions statically
dupl 346 10 months ago Tool for code clone detection
errcheck 2,361 2 months ago Errcheck is a program for checking for unchecked errors in Go programs
fatcontext 13 about 2 months ago Fatcontext detects nested contexts in loops or function literals
gcvis 1,102 almost 6 years ago Visualise Go program GC trace data in real time
go-checkstyle 130 almost 4 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 885 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,867 3 months ago source code linter that brings checks that are currently not implemented in other linters
go-mod-outdated 653 almost 2 years ago An easy way to find outdated dependencies of your Go projects
goast-viewer 773 about 1 year ago Web based Golang AST visualizer
goimports Tool to fix (add, remove) your Go imports automatically
golang-ifood-sdk 12 over 2 years ago iFood API SDK
golangci-lint 15,863 about 1 month 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 947 about 1 month ago Formatter that automatically shortens long lines in Go code
GoPlantUML 1,887 5 months ago Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them
goreturns 531 about 1 year ago Adds zero-value return statements to match the func return types
gostatus 243 about 1 year 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 942 over 3 years ago A Parser for PHP written in Go
revive 4,844 about 1 month ago – ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for
staticcheck 6,252 3 months ago staticcheck is on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#
testifylint 105 about 1 month ago – A linter that checks usage of
tickgit 324 about 1 year ago CLI and go package for surfacing code comment TODOs (in any language) and applying a to identify the author
todocheck 428 about 1 year ago Static code analyser which links TODO comments in code with issues in your issue tracker
unconvert 380 about 2 months ago Remove unnecessary type conversions from Go source
usestdlibvars 43 7 months ago A linter that detect the possibility to use variables/constants from the Go standard library
vacuum 652 about 2 months 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 310 2 months ago A linter to check that errors from external packages are wrapped

Awesome Go / Editor Plugins

coc-go language server extension for Vim/Neovim 568 3 months ago This plugin adds features to Vim/Neovim
Go Doc 8 11 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 almost 6 years ago A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol
go-mode 1,392 7 months ago Go mode for GNU/Emacs
go-plus 1,509 over 3 years ago Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting
gocode 5,014 9 months ago Autocompletion daemon for the Go programming language
goimports-reviser 613 about 2 months ago Formatting tool for imports
goprofiling This extension adds benchmark profiling support for the Go language to VS Code
GoSublime 3,419 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
vim-compiler-go 89 over 8 years ago Vim plugin to highlight syntax errors on save
vim-go 16,041 2 months ago Go development plugin for Vim
vscode-go 3,915 about 1 month ago Extension for Visual Studio Code (VS Code) which provides support for the Go language
Watch 202 almost 2 years ago Runs a command in an acme win on file changes

Awesome Go / Go Generate Tools

envdoc 68 about 1 month ago generate documentation for environment variables from Go source files
generic 48 about 4 years ago flexible data type for Go
genny 1,710 over 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 over 10 years ago Idiomatic Generics in Go
gotests 4,975 over 1 year ago Generate Go tests from your source code
gounit 81 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 81 3 months ago Functional options described by Dave Cheney's post "Functional options for friendly APIs"
re2dfa Transform regular expressions into finite state machines and output Go source code
sqlgen 84 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 340 6 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 11 months ago Find “overspecified” function parameters that could be generalized with interface types
depth 951 almost 3 years ago Visualize dependency trees of any package by analyzing imports
docs 42 over 1 year ago Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard
go-callvis 6,016 7 months ago Visualize call graph of your Go program using dot format
go-size-analyzer 1,346 about 1 month ago Analyze and visualize the size of dependencies in compiled Golang binaries, providing insight into their impact on the final build
go-swagger 9,583 about 1 month 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 36 8 months ago Go tool that executes and caches binaries included in go.mod files
gotemplate.io Online tool to preview templates live
gotestdox 122 7 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 almost 5 years ago An igo to go transpiler (new language features for Go language!)
modver 19 2 months ago Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to rules
MoniGO 243 3 months ago A performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀
OctoLinker 5,287 over 1 year ago Navigate through go files efficiently with the OctoLinker browser extension for GitHub
richgo 851 6 months ago Enrich outputs with text decorations
roumon 188 6 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 203 over 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 6 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 660 4 months ago Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring
aptly 13 over 5 years ago aptly is a Debian repository management tool
aurora 600 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 6 months ago A self-hosted script-based alerting manager
Blast 218 almost 7 years ago A simple tool for API load testing and batch jobs
bombardier 6,090 6 months ago Fast cross-platform HTTP benchmarking tool
bosun 3,409 6 months ago Time Series Alerting Framework
cassowary 775 4 months ago Modern cross-platform HTTP load-testing tool written in Go
Ddosify 8,446 3 months ago High-performance load testing tool, written in Golang
decompose 88 about 1 month ago tool to generate and process Docker containers connections graphs
DepCharge 23 about 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 2 months ago Docker image for building Go binaries for Windows with MinGW toolchain
Dockerfile-Generator 172 over 2 years ago A go library and an executable that produces valid Dockerfiles using various input channels
dogo 268 almost 6 years ago Monitoring changes in the source file and automatically compile and run (restart)
drone-jenkins 39 about 2 months ago Trigger downstream Jenkins jobs using a binary, docker or Drone CI
drone-scp 145 about 2 months 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 326 about 1 month ago Golang package for easy remote execution through SSH and SCP downloading via
fac 1,842 about 1 year ago Command-line user interface to fix git merge conflicts
Flannel 8,863 about 1 month ago Flannel is a network fabric for containers, designed for Kubernetes
Fleet device management 3,202 about 1 month ago Lightweight, programmable telemetry for servers and workstations
gaia 5,204 over 1 year ago Build powerful pipelines in any programming language
ghorg 1,609 about 1 month ago Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket
Gitea 45,631 about 1 month 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 about 1 month ago A simple way to make self updating Go applications - Supports Github and Gitlab
go-selfupdate 1,538 5 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 381 about 1 month 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 339 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 almost 2 years ago “go build” wrapper to easily add version information into Go binaries
gox 4,601 over 1 year ago Dead simple, no frills Go cross compile tool
grapes 169 4 months ago Lightweight tool designed to distribute commands over ssh with ease
GVM 10,422 5 months ago GVM provides an interface to manage Go versions
Hey 18,306 5 months ago Hey is a tiny program that sends some load to a web application
httpref 38 2 months ago httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports
jcli 392 about 1 month ago Jenkins CLI allows you manage your Jenkins as an easy way
k3d 5,516 about 1 month ago Little helper to run CNCF's k3s in Docker
k3s 28,361 about 1 month ago Lightweight Kubernetes
k6 26,297 about 1 month ago A modern load testing tool, using Go and JavaScript
kala 2,140 11 months ago Simplistic, modern, and performant job scheduler
kcli 216 about 5 years ago Command line tool for inspecting kafka topics/partitions/messages
kind 13,596 about 1 month ago Kubernetes IN Docker - local clusters for testing Kubernetes
ko 7,705 about 1 month ago Command line tool for building and deploying Go applications on Kubernetes
kool 668 about 1 month ago Command line tool for managing Docker environments as an easy way
kubeblocks 2,241 about 1 month ago KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s
kubernetes 111,689 about 1 month ago Container Cluster Manager from Google
kubeshark 11,112 about 1 month ago API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes
KubeVela 6,486 about 1 month ago Cloud native application delivery
KubeVPN 578 about 1 month ago KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network
KusionStack 912 about 1 month ago A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach
kwatch 965 about 1 month ago Monitor & detect crashes in your Kubernetes(K8s) cluster instantly
lstags 334 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 110 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,636 about 1 month ago Run Kubernetes locally
Moby 68,896 about 1 month ago Collaborative project for the container ecosystem to assemble container-based systems
Mora 315 9 months ago REST server for accessing MongoDB documents and meta data
ostent 180 about 2 years ago collects and displays system metrics and optionally relays to Graphite and/or InfluxDB
Packer 15,152 about 1 month ago Packer is a tool for creating identical machine images for multiple platforms from a single source configuration
Pewpew 423 7 months ago Flexible HTTP command line stress tester
PipeCD 1,099 about 1 month ago A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications
podinfo 5,440 2 months 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,078 about 1 month 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 310 about 1 month ago S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth)
s3gof3r 1,143 over 3 years ago Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3
s5cmd 2,740 about 2 months ago Blazing fast S3 and local filesystem execution tool
Scaleway-cli 890 about 1 month ago Manage BareMetal Servers from Command Line (as easily as with Docker)
script 5,589 about 2 months 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 958 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,626 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,595 about 1 month 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 about 2 months ago Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations
tlm 1,242 6 months ago Local cli copilot, powered by CodeLLaMa
traefik 51,813 about 1 month ago Reverse proxy and load balancer with support for multiple backends
trubka 333 almost 2 years 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,219 about 1 month ago Automation engine that models and executes business processes declared in yaml
Vegeta 23,718 3 months 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,502 about 2 months 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 about 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,855 about 1 month 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,985 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,322 9 months ago Simulate bad network connections
confd 8,361 6 months ago Manage local application configuration files using templates and data from etcd or consul
crawley 268 2 months ago Web scraper/crawler for cli
croc 28,340 about 1 month ago Easily and securely send files or folders from one computer to another
Documize 2,177 7 months ago Modern wiki software that integrates data from SaaS tools
dp 80 about 2 years ago Through SDK for data exchange with blockchain, developers can get easy access to DAPP development
drive 6,694 11 months ago Google Drive client for the commandline
Duplicacy 5,279 2 months ago A cross-platform network and cloud backup tool based on the idea of lock-free deduplication
fjira 152 2 months ago A fuzzy-search based terminal UI application for Attlasian Jira
Gebug 635 9 months ago A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly
gfile 744 almost 2 years ago Securely transfer files between two computers, without any third party, over WebRTC
Go Package Store 898 about 1 year ago App that displays updates for the Go packages in your GOPATH
go-peerflix 472 almost 2 years ago Video streaming torrent client
goblin Golang binaries in a curl, built by goblins
GoBoy 2,609 almost 2 years ago Nintendo Game Boy Color emulator written in Go
gocc 621 almost 2 years ago Gocc is a compiler kit for Go written in Go
GoDocTooltip 13 about 2 years ago Chrome extension for Go Doc sites, which shows function description as tooltip at function list
Gokapi 1,729 about 1 month 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 697 3 months ago Interactive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab)
Gor 18,700 2 months ago Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time
Guora 673 almost 2 years ago A self-hosted Quora like web application written in Go
hoofli 8 5 months ago Generate PlantUML diagrams from Chrome or Firefox network inspections
hotswap 363 8 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 about 2 years ago Browser accessible IDE. Designed for Go with Go
ipe 366 almost 4 years ago Open source Pusher server implementation compatible with Pusher client libraries written in GO
joincap 212 2 months ago Command-line utility for merging multiple pcap files together
JuiceFS 11,030 about 1 month 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 almost 2 years ago Pair programming service using Operational Transforms
lgo 2,442 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,620 6 months ago LiteIDE is a simple, open source, cross-platform Go IDE
mockingjay 560 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,697 almost 5 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 318 about 1 year ago 🐮 cowsay is reborn. for a New Era
nes 5,463 5 months ago Nintendo Entertainment System (NES) emulator written in Go
Orbit 185 almost 4 years ago A simple tool for running commands and generating files from templates
peg 1,028 about 1 month ago Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator
Plik 1,497 5 months ago Plik is a temporary file upload system (Wetransfer like) in Go
portal 1,514 5 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,921 about 1 month ago De-duplicating backup program
sake 658 about 1 year ago sake is a command runner for local and remote hosts
scc 6,855 about 1 month ago Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates
Seaweed File System 23,207 about 1 month ago Fast, Simple and Scalable Distributed File System with O(1) disk seek
shell2http 1,356 2 months 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,028 8 months ago Sonic is a Go Blogging Platform. Simple and Powerful
Stack Up 2,486 about 1 year ago Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers
stew 198 10 months ago An independent package manager for compiled binaries
syncthing Open, decentralized file synchronization tool and protocol
tcpdog 254 over 3 years ago eBPF based TCP observability
tcpprobe 355 almost 4 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,918 about 1 month ago Proxy to simulate network and system conditions for automated tests
tsuru Extensible and open source Platform as a Service software
vaku 153 about 1 month ago CLI & API for folder-based functions in Vault like copy, move, and search
vFlow 1,107 5 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 302 almost 2 years ago Sass project management tool, extends the language with sprite functions (like Compass)
woke 460 9 months ago Detect non-inclusive language in your source code
yai 691 6 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 almost 8 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 almost 9 years ago Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches
go-http-routing-benchmark 1,654 over 1 year ago Go HTTP request router benchmark and comparison
go-json-benchmark 9 over 4 years ago Go JSON benchmark
go-ml-benchmarks 30 8 months ago benchmarks for machine learning inference in Go
go-web-framework-benchmark 2,083 5 months ago Go web framework benchmark
go_serialization_benchmarks 1,576 5 months ago Benchmarks of Go serialization methods
gocostmodel 61 over 3 years ago Benchmarks of common basic operations for the Go language
golang-benchmarks 133 about 1 month ago a collection of golang benchmarks
golang-sql-benchmark 65 almost 3 years ago Collection of benchmarks for popular Go database/SQL utilities
gospeed 121 10 months ago Go micro-benchmarks for calculating the speed of language constructs
kvbench 26 over 5 years ago Key/Value database benchmark
skynet 1,048 about 1 year ago Skynet 1M threads microbenchmark
speedtest-resize 240 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 284 2 months 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,396 4 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 over 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,269 2 months 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,501 over 1 year ago
Web Application with Go the Anti-Textbook 3,186 about 1 year ago

Resources / Gophers

Free Gophers Pack 3,539 about 2 months ago Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster
Go-gopher-Vector 69 almost 7 years ago Go gopher Vector Data [.ai, .svg]
gopher-logos 125 over 3 years ago adorable gopher logos
gopher-stickers 590 about 5 years ago
gophericons 617 almost 7 years ago
gopherize.me 713 over 3 years ago Gopherize yourself
gophers 2,970 almost 6 years ago Gopher artworks by Ashley McNamara
gophers 3,522 over 2 years ago Free gophers
gophers 58 over 4 years ago random gopher graphics
gophers 148 over 1 year ago Gopher amigurumi toy pattern
gophers 34 10 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,499 6 months ago
CockroachDB 30,270 about 1 month ago
GitLab
Google
Hyperledger 15,805 about 1 month ago
Magnetico 3,065 almost 3 years ago
Thanos
Trybe 310 almost 3 years ago
Uber 16,005 2 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 513 over 3 years ago A curated list of awesome golang workshops
Awesome Remote Job 35,459 about 1 month ago Curated list of awesome remote jobs. A lot of them are looking for Go hackers
awesome-awesomeness 32,173 8 months ago List of other amazingly awesome lists
awesome-go-extra 23 over 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,564 about 1 month 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 over 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-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,360 8 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 120 almost 2 years ago Collection of programming design patterns implemented in Go
Ethereum Development with Go 1,745 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,467 about 1 year ago Go's reference card
Go database/sql tutorial Introduction to database/sql
Go in 7 days 144 over 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,372 5 months ago Clean Architecture template for Golang services
go-patterns 25,639 8 months ago Curated list of Go design patterns, recipes and idioms
goapp 926 3 months ago An opinionated guideline to structure & develop a Go web application/service
Golang for Node.js Developers 4,643 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,584 3 months 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 72 6 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,987 9 months ago Learn Go with thousands of examples, exercises, and quizzes
Learn Go with TDD 22,299 about 2 months 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,152 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: