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: almost 2 years 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

Ergo3,771almost 2 years agoAn actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang
Goakt195almost 2 years agoFast and Distributed Actor framework using protocol buffers as message for Golang
Hollywood1,240almost 2 years agoBlazingly fast and light-weight Actor engine written in Golang
ProtoActor5,095about 2 years agoProto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin

Awesome Go / Artificial Intelligence

chromem-go340about 2 years agoEmbeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence
funThe simplest but powerful way to use large language models (LLMs) in Go
langchaingo5,155almost 2 years agoLangChainGo is a framework for developing applications powered by language models
LocalAI27,060almost 2 years agoOpen Source OpenAI alternative, self-host AI models
Ollama102,617almost 2 years agoRun large language models locally
OllamaFarm43about 2 years agoManage, load-balance, and failover packs of Ollamas

Awesome Go / Audio and Music

flac319about 2 years agoNative Go FLAC encoder/decoder with support for FLAC streams
gaad127over 3 years agoNative Go AAC bitstream parser
GoAudio353over 2 years agoNative Go Audio Processing Library
gosamplerate34over 2 years agolibsamplerate bindings for go
id3v2340almost 3 years agoID3 decoding and encoding library for Go
malgo305almost 2 years agoMini audio library
minimp3129about 3 years agoLightweight MP3 decoder library
Oto1,620almost 2 years agoA low-level library to play sound on multiple platforms
PortAudio713about 3 years agoGo bindings for the PortAudio audio I/O library

Awesome Go / Authentication and OAuth

authboss3,879about 2 years agoModular 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
branca86almost 2 years agobranca token for Golang 1.15+
casbin17,913almost 2 years agoAuthorization library that supports access control models like ACL, RBAC, and ABAC
cookiestxt17over 2 years agoprovides a parser of cookies.txt file format
go-guardian563about 2 years agoGo-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-jose339almost 2 years agoFairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs
goiabada137almost 2 years agoAn open-source authentication and authorization server supporting OAuth2 and OpenID Connect
gologin1,830almost 2 years agochainable handlers for login with OAuth1 and OAuth2 authentication providers
gorbac1,608about 2 years agoprovides a lightweight role-based access control (RBAC) implementation in Golang
gosession252about 2 years agoThis 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
goth5,682almost 2 years agoprovides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box
jeff266over 3 years agoSimple, flexible, secure, and idiomatic web session management with pluggable backends
jwt357over 3 years agoLightweight JSON Web Token (JWT) library
jwt673about 2 years agoSafe, simple, and fast JSON Web Tokens for Go
jwt-auth233about 5 years agoJWT middleware for Golang http servers with many configuration options
jwt-go7,375almost 2 years agoA full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs
jwx1,963almost 2 years agoGo module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies
keto4,875almost 2 years agoOpen 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
loginsrv1,918over 5 years agoJWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam
oauth25,426almost 2 years agoSuccessor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support
oidc1,434almost 2 years agoEasy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
openfga3,050almost 2 years agoImplementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by
osin1,911almost 2 years agoGolang OAuth2 server library
otpgen138over 2 years agoLibrary to generate TOTP/HOTP codes
otpgo71over 5 years agoTime-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go
paseto865over 3 years agoGolang implementation of Platform-Agnostic Security Tokens (PASETO)
permissions2512almost 2 years agoLibrary for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt
scope41over 5 years agoEasily Manage OAuth2 Scopes In Go
scs2,186almost 2 years agoSession Manager for HTTP servers
securecookie80over 3 years agoEfficient secure cookie encoding/decoding
session118about 2 years agoGo session management for web servers (including support for Google App Engine - GAE)
sessions78about 3 years agoDead simple, highly performant, highly customizable sessions service for go http servers
sessionup125over 4 years agoSimple, yet effective HTTP session management and identification package
sjwt120over 2 years agoSimple jwt generator and parser

Awesome Go / Blockchain

cometbft661almost 2 years agoA distributed, Byzantine fault-tolerant, deterministic state machine replication engine. It is a fork of Tendermint Core and implements the Tendermint consensus algorithm
cosmos-sdk6,332almost 2 years agoA Framework for Building Public Blockchains in the Cosmos Ecosystem
gno903almost 2 years agoA comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains
go-ethereum47,891almost 2 years agoOfficial Go implementation of the Ethereum protocol
gosemble12almost 2 years agoA Go-based framework for building Polkadot/Substrate-compatible runtimes
gossamer435almost 2 years agoA Go implementation of the Polkadot Host
kubo16,231almost 2 years agoA 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
lnd7,740almost 2 years agoA complete implementation of a Lightning Network node
solana-go987almost 2 years agoGo library to interface with Solana JSON RPC and WebSocket interfaces
tendermint5,729almost 2 years agoHigh-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

bot799almost 2 years agoZero-dependencies Telegram Bot library with additional UI components
echotron379almost 2 years agoAn elegant and concurrent library for Telegram Bots in Go
ephemeral-roles90over 2 years agoA Discord bot for managing ephemeral roles based upon voice channel member presence
go-chat-bot826over 2 years agoIRC, Slack & Telegram bot written in Go
go-joeA general-purpose bot library inspired by Hubot but written in Go
go-sarah261almost 2 years agoFramework to build a bot for desired chat services including LINE, Slack, Gitter, and more
go-tg110almost 2 years agoGenerated from official docs Go client library for accessing Telegram Bot API, with batteries for building complex bots included
go-tgbot120about 8 years agoPure Golang Telegram Bot API wrapper, generated from swagger file, session-based router, and middleware
go-twitch-irc362almost 2 years agoLibrary to write bots for twitch.tv chat
Golang CryptoTrading Bot1,092over 2 years agoA golang implementation of a console-based trading bot for cryptocurrency exchanges
govkbot50almost 3 years agoSimple Go bot library
hanu154over 3 years agoFramework for writing Slack bots
Kelp1,106almost 3 years agoofficial trading and market-making bot for the DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies
larry161over 2 years agoLarry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go
margelet86about 4 years agoFramework for building Telegram bots
micha30about 2 years agoGo Library for Telegram bot api
olivia3,689almost 3 years agoA chatbot built with an artificial neural network
slack-bot185almost 2 years agoReady to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github
slacker43almost 2 years agoEasy to use framework to create Slack bots
slackscot55over 3 years agoAnother framework for building Slack bots
tbot357almost 3 years agoTelegram bot server with API similar to net/http
telebot4,079almost 2 years agoTelegram bot framework is written in Go
telego581almost 2 years agoTelegram Bot API library for Golang with full one-to-one API implementation
telegram-bot-api5,883about 2 years agoSimple and clean Telegram bot client
teleterm38about 3 years agoTelegram Bot Exec Terminal Command
Tenyks176over 3 years agoService oriented IRC bot using Redis and JSON for messaging
wayback1,839almost 2 years agoA bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages

Awesome Go / Build Automation

1build227over 3 years agoCommand line tool to frictionlessly manage project-specific commands
air18,518almost 2 years agoAir - Live reload for Go apps
anko39over 5 years agoSimple application watcher for multiple programming languages
gaper81about 3 years agoBuilds and restarts a Go project when it crashes or some watched file changes
gilbertBuild system and task runner for Go projects
gob11almost 2 years ago/ like build tool for Go projects
goyek576almost 2 years agoCreate build pipelines in Go
mage4,186almost 2 years agoMage is a make/rake-like build tool using Go
mmake1,724about 3 years agoModern Make
realize4,462over 5 years agoGo build a system with file watchers and live to reload. Run, build and watch file changes with custom paths
Task11,701almost 2 years agosimple "Make" alternative
taskctl299over 2 years agoConcurrent task runner
xc1,206about 2 years agoTask runner with README.md defined tasks, executable markdown

Awesome Go / Command Line / Advanced Console UIs

asciigraph2,698almost 2 years agoGo package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies
aurora1,430almost 4 years agoANSI terminal colors that support fmt.Printf/Sprintf
box-cli-maker539about 2 years agoMake Highly Customized Boxes for your CLI
bubble-table457almost 2 years agoAn interactive table component for bubbletea
bubbles5,712almost 2 years agoTUI components for bubbletea
bubbletea28,510almost 2 years agoGo framework to build terminal apps, based on The Elm Architecture
cfmt103almost 8 years agoContextual fmt inspired by bootstrap color classes
cfmt69about 5 years agoSimple and convenient formatted stylized output fully compatible with fmt library
chalk452about 7 years agoIntuitive package for prettifying terminal/console output
colourize27about 4 years agoGo library for ANSI colour text in terminals
crab-config-files-templating7about 4 years agoDynamic configuration file templating tool for kubernetes manifest or general configuration files
ctc46over 3 years agoThe non-invasive cross-platform terminal color library does not need to modify the Print method
go-ataman17over 5 years agoGo library for rendering ANSI colored text templates in terminals
go-colorable775almost 2 years agoColorable writer for windows
go-colortext214over 6 years agoGo library for color output in terminals
go-isatty841about 2 years agoisatty for golang
go-palette17over 3 years agoGo library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the for nice terminal layouts
go-prompt5,303about 2 years agoLibrary for building a powerful interactive prompt, inspired by
gocui9,988about 2 years agoMinimalist Go library aimed at creating Console User Interfaces
gommon/color544almost 3 years agoStyle terminal text
gookit/color1,517almost 2 years agoTerminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows
lipgloss8,306almost 2 years agoDeclaratively define styles for color, format and layout in the terminal
marker48almost 3 years agoEasiest way to match and mark strings for colorful terminal outputs
mpb2,333about 2 years agoMulti progress bar for terminal applications
progressbar4,181almost 2 years agoBasic thread-safe progress bar that works in every OS
pterm4,896almost 2 years agoA library to beautify console output on every platform with many combinable components
simpletable532over 5 years agoSimple tables in a terminal with Go
spinner2,371almost 2 years agoGo package to easily provide a terminal spinner with options
tabby355over 5 years agoA tiny library for super simple Golang tables
table50over 3 years agoSmall library for terminal color based tables
tabular76over 3 years agoPrint ASCII tables from command line utilities without the need to pass large sets of data to the API
termbox-go4,685over 4 years agoTermbox is a library for creating cross-platform text-based interfaces
termdash2,737almost 2 years agoGo terminal dashboard based on and inspired by
termenv1,765almost 2 years agoAdvanced ANSI style & color support for your terminal applications
termui13,232about 2 years agoGo terminal dashboard based on and inspired by
uilive1,700about 3 years agoLibrary for updating terminal output in real time
uiprogress2,117over 2 years agoFlexible library to render progress bars in terminal applications
uitable736almost 4 years agoLibrary to improve readability in terminal apps using tabular data
yacspin439over 4 years agoYet Another CLi Spinner package, for working with terminal spinners

Awesome Go / Command Line / Standard CLI

acmd116over 2 years agoSimple, useful, and opinionated CLI package in Go
argparse617almost 4 years agoCommand line argument parser inspired by Python's argparse module
argv41over 6 years agoGo library to split command line string as arguments array using the bash syntax
carapace443almost 2 years agoCommand argument completion generator for spf13/cobra
carapace-bin985almost 2 years agoMulti-shell multi-command argument completer
carapace-spec19almost 2 years agoDefine simple completions using a spec file
climax217about 6 years agoAlternative CLI with "human face", in spirit of Go command
clîr183over 2 years agoA Simple and Clear CLI library. Dependency free
cmd40almost 6 years agoExtends the standard package to support sub commands and more in idiomatic way
cmdr136almost 2 years agoA POSIX/GNU style, getopt-like command-line UI Go library
cobra38,579almost 2 years agoCommander for modern Go CLI interactions
command-chain62over 3 years agoA go library for configure and run command chains - such as pipelining in unix shells
commandeer174about 4 years agoDev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags
complete929about 3 years agoWrite bash completions in Go + Go command bash completion
console76almost 2 years agoClosed-loop application library for Cobra commands, with oh-my-posh prompts, and more
Dnote2,808about 2 years agoA simple command line notebook with multi-device sync
elvish5,759almost 2 years agoAn expressive programming language and a versatile interactive shell
env115over 2 years agoTag-based environment configuration for structs
flag131over 5 years agoSimple but powerful command line option parsing library for Go supporting subcommand
flaggy860over 3 years agoA robust and idiomatic flags package with excellent subcommand support
flagvar43almost 2 years agoA collection of flag argument types for Go's standard package
go-andotp30over 3 years agoA CLI program to encrypt/decrypt files. Can be used as a library as well
go-arg2,046almost 2 years agoStruct-based argument parsing in Go
go-commander35over 6 years agoGo library to simplify CLI workflow
go-flags2,608about 2 years agogo command line option parser
go-getoptions56almost 2 years agoGo option parser inspired by the flexibility of Perl’s GetOpt::Long
gocmd65over 3 years agoGo library for building command line applications
hashicorp/cli15almost 2 years agoGo library for implementing command-line interfaces
hiboot cli181almost 2 years agocli application framework with auto configuration and dependency injection
job147about 6 years agoJOB, make your short-term command as a long-term job
kingpin3,511almost 2 years agoCommand line and flag parser supporting sub commands (superseded by ; see below)
liner1,054about 3 years agoGo readline-like library for command-line interfaces
mcli34over 2 years agoA minimal but very powerful cli library for Go
mkideal/cli732over 2 years agoFeature-rich and easy to use command-line package based on golang struct tags
mow.cli871over 2 years agoGo library for building CLI applications with sophisticated flag and argument parsing and validation
ops1,303almost 2 years agoUnikernel Builder/Orchestrator
pflag2,441about 2 years agoDrop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags
readline92almost 2 years agoShell library with modern and easy to use UI features
sand27almost 8 years agoSimple API for creating interpreters and so much more
sflags156almost 2 years agoStruct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries
strumt62almost 2 years agoLibrary to create prompt chain
subcmd8about 2 years agoAnother approach to parsing and running subcommands. Works alongside the standard package
survey4,099over 2 years agoBuild interactive and accessible prompts with full support for windows and posix terminals
teris-io/cli130over 5 years agoSimple and complete API for building command line interfaces in Go
ts20about 7 years agoTimestamp convert & compare tool
ukautz/clif129over 7 years agoSmall command line interface framework
urfave/cli22,463almost 2 years agoSimple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli)
version102about 3 years agoCollects and displays CLI version information in multiple formats along with upgrade notice
wlog66almost 2 years agoSimple logging interface that supports cross-platform color and concurrency
wmenu216almost 2 years agoEasy to use menu structure for cli applications that prompt users to make choices

Awesome Go / Configuration

aconfig553almost 2 years agoSimple, useful and opinionated config loader
bcl19almost 2 years agoBCL is a configuration language similar to HCL
cleanenv1,690about 2 years agoMinimalistic configuration reader (from files, ENV, and wherever you want)
config337over 4 years agoCloud native application configuration. Bind ENV to structs in only two lines
config51almost 3 years agoconfigure your app using file, environment variables, or flags in two lines of code
configuration108almost 2 years agoLibrary for initializing configuration structs from env variables, files, flags and 'default' tag
configure56over 7 years agoProvides configuration through multiple sources, including JSON, flags and environment variables
configuro95almost 4 years agoopinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications
confiq35almost 2 years agoStructured data format to config struct decoder library for Go - supporting multiple data formats
confita496over 2 years agoLoad configuration in cascade from multiple backends into a struct
conflate34about 3 years agoLibrary/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
env4,995almost 2 years agoParse environment variables to Go structs (with defaults)
env67about 2 years agoA lightweight package for loading environment variables into structs
env6almost 2 years agoAn environment utility package with support for unmarshaling into structs
envconfig241almost 5 years agoRead your configuration from environment variables
envh99almost 2 years agoHelpers to manage environment variables
fig381over 2 years agoTiny library for reading configuration from a file and from environment variables (with validation & defaults)
genv40about 7 years agoRead environment variables easily with dotenv support
go-array20over 2 years agoA Go package that read or set data from map, slice or json
go-aws-ssm59over 2 years agoGo package that fetches parameters from AWS System Manager - Parameter Store
go-cfg43about 2 years agoThe 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-conf11almost 2 years agoSimple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters
go-ini14almost 2 years agoA Go package that marshals and unmarshals INI-files
go-ssm-config22almost 3 years agoGo utility for loading configuration parameters from AWS SSM (Parameter Store)
go-up43over 6 years agoA simple configuration library with recursive placeholders resolution and no magic
GoCfg6about 2 years agoConfig manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple
godotenv8,541almost 2 years agoGo port of Ruby's dotenv library (Loads environment variables from )
gofigure68about 7 years agoGo application configuration made easy
GoLobby/Config367over 3 years agoGoLobby Config is a lightweight yet powerful configuration manager for the Go programming language
gone/jconf50over 5 years agoModular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization
gonfig9about 5 years agoTag-based configuration parser which loads values from different providers into typesafe struct
gookit/config543over 2 years agoapplication config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge
harvester132almost 2 years agoHarvester, an easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration
hjson333over 2 years agoHuman JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments
hocon79about 2 years agoConfiguration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files
ingo38over 9 years agoFlags persisted in an ini-like config file
ini3,471over 2 years agoGo package to read and write INI files
ini15about 3 years agoINI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file
joshbetz/config215almost 5 years agoSmall configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP
kelseyhightower/envconfig5,092about 2 years agoGo library for managing configuration data from environment variables
koanf2,845almost 2 years agoLight weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line
konf252almost 2 years agoThe simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP)
konfig648almost 6 years agoComposable, observable and performant config handling for Go for the distributed processing era
kong2,178almost 2 years agoCommand-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to )
mini35over 7 years agoGolang package for parsing ini-style configuration files
nasermirzaei89/env18almost 2 years agoSimple useful package for read environment variables
nfigure8almost 2 years agoPer-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML
onion118over 3 years agoLayer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP
piper8almost 5 years agoViper wrapper with config inheritance and key generation
sonic7,038almost 2 years agoA blazingly fast JSON serializing & deserializing library
store274about 3 years agoLightweight configuration manager for Go
swap8almost 5 years agoInstantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env)
typenv9over 3 years agoMinimalistic, zero dependency, typed environment variables library
uConfig69over 2 years agoLightweight, zero-dependency, and extendable configuration management
viper27,450almost 2 years agoGo configuration with fangs
xdg726almost 2 years agoGo implementation of the and
xdg79almost 6 years agoCross platform package that follows the
yamagiconf18almost 2 years agoThe "safe subset" of YAML for Go configs

Awesome Go / Continuous Integration

abstruse940over 2 years agoAbstruse is a distributed CI platform
BencherA suite of continuous benchmarking tools designed to catch performance regressions in CI
CDS4,620almost 2 years agoEnterprise-Grade CI/CD and DevOps Automation Open Source Platform
dot24about 2 years agoA minimal, local first continuous integration system that uses Docker to run jobs concurrently in stages
drone32,320almost 2 years agoDrone is a Continuous Integration platform built on Docker, written in Go
go-beautiful-html-coverage13over 2 years agoA GitHub Action to track code coverage in your pull requests, with a beautiful HTML preview, for free
go-fuzz-action15over 2 years agoUse Go 1.18's built-in fuzz testing in GitHub Actions
go-semver-release10almost 2 years agoAutomate the semantic versioning of Git repositories
go-test-coverage99almost 2 years agoTool and GitHub action which reports issues when test coverage is below set threshold
gomason65about 2 years agoTest, Build, Sign, and Publish your go binaries from a clean workspace
gotestfmt521over 3 years agogo test output for humans
goveralls788over 3 years agoGo integration for Coveralls.io continuous code coverage tracking system
muffet2,521almost 2 years agoFast website link checker in Go, see
overalls115over 6 years agoMulti-Package go project coverprofile for tools like goveralls
roveralls20almost 9 years agoRecursive coverage testing tool
woodpecker4,378almost 2 years agoWoodpecker is a community fork of the Drone CI system

Awesome Go / CSS Preprocessors

gcss496over 2 years agoPure Go CSS Preprocessor
go-libsass206almost 3 years agoGo wrapper to the 100% Sass compatible libsass project

Awesome Go / Data Integration Frameworks

Benthos8,165almost 2 years agoA message streaming bridge between a range of protocols
CloudQueryA high-performance ELT data integration framework with pluggable architecture
omniparser980about 2 years agoA 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

bingo41almost 2 years agoFast, zero-allocation, lexicographical-order-preserving packing of native types to bytes
binpacker221almost 5 years agoBinary packer and unpacker helps user build custom binary stream
bit159over 3 years agoGolang set data structure with bonus bit-twiddling functions
crunch97over 3 years agoGo package implementing buffers for handling various datatypes easily
go-ef32over 2 years agoA Go implementation of the Elias-Fano encoding
roaring2,562almost 2 years agoGo package implementing compressed bitsets

Awesome Go / Data Structures and Algorithms / Bit Sets

bitmap316almost 3 years agoDense, zero-allocation, SIMD-enabled bitmap/bitset in Go
bitset1,363almost 2 years agoGo package implementing bitsets

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

bloom2,456almost 2 years agoGo package implementing Bloom filters
bloom146over 8 years agoBloom filters implemented in Go
bloom86over 9 years agoGolang Bloom filter implementation
bloomfilter17about 2 years agoYet another Bloomfilter implementation in Go, compatible with Java's Guava library
boomfilters1,596over 5 years agoProbabilistic data structures for processing continuous, unbounded streams
cuckoo-filter296about 3 years agoCuckoo filter: a comprehensive cuckoo filter, which is configurable and space optimized compared with other implements, and all features mentioned in original paper are available
cuckoofilter1,146about 2 years agoCuckoo filter: a good alternative to a counting bloom filter implemented in Go
ring138about 6 years agoGo implementation of a high performance, thread safe bloom filter

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

algorithms806over 5 years agoAlgorithms and data structures.CLRS study
go-datastructures7,708over 2 years agoCollection of useful, performant, and thread-safe data structures
gods16,459about 2 years agoGo Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc
gostl1,058about 2 years agoData structure and algorithm library for go, designed to provide functions similar to C++ STL

Awesome Go / Data Structures and Algorithms / Iterators

goterator16about 2 years agoIterator implementation to provide map and reduce functionalities
iter187over 4 years agoGo implementation of C++ STL iterators and algorithms

Awesome Go / Data Structures and Algorithms / Maps

cmap92almost 3 years agoa thread-safe concurrent map for go, support using as key and auto scale up shards
dict45almost 2 years agoPython-like dictionaries (dict) for Go
go-shelve8almost 2 years agoA persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores
goradd/maps47almost 2 years agoGo 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-writer55almost 9 years agoHighly concurrent drop-in replacement for
conjungo127over 3 years agoA small, powerful and flexible merge library
count-min-log66over 9 years agoGo implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory)
fsm66over 3 years agoFinite-State Machine package
genfuncs52about 4 years agoGo 1.18+ generics package inspired by Kotlin's Sequence and Map
go-generics76about 2 years agoGeneric slice, map, set, iterator, and goroutine utilities
go-geoindex355over 8 years agoIn-memory geo index
go-rampart101about 2 years agoDetermine how intervals relate to each other
go-rquad134about 4 years agoRegion quadtrees with efficient point location and neighbour finding
go-tuple82about 3 years agoGeneric tuple implementation for Go 1.18+
go18ds46almost 3 years agoGo Data Structures using Go 1.18 generics
gofal19almost 7 years agofractional api for Go
gogu100over 3 years agoA comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library
gota3,088about 3 years agoImplementation of dataframes, series, and data wrangling methods for Go
hide69almost 5 years agoID type with marshalling to/from hash to prevent sending IDs to clients
hilbert279about 4 years agoGo package for mapping values to and from space-filling curves, such as Hilbert and Peano curves
hyperloglog946almost 2 years agoHyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction
quadtree37about 3 years agoGeneric, zero-alloc, 100%-test covered quadtree
slices17almost 6 years agoFunctions that operate on slices; like but adapted to work with slices
slices20about 4 years agoPure, generic functions for slices

Awesome Go / Data Structures and Algorithms / Nullable Types

nan85about 3 years agoZero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers
null36almost 5 years agoNullable Go types that can be marshalled/unmarshalled to/from JSON
typ46almost 5 years agoNull Types, Safe primitive type conversion and fetching value from complex structures

Awesome Go / Data Structures and Algorithms / Queues

deque187about 3 years agoA highly optimized double-ended queue
deque621almost 2 years agoFast ring-buffer deque (double-ended queue)
goconcurrentqueue404over 3 years agoConcurrent FIFO queue
hatchet4,349almost 2 years agoDistributed, Fault-tolerant task queue
memlog123almost 2 years agoAn easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka
queue276about 2 years agoMultiple thread-safe, generic queue implementations for Go

Awesome Go / Data Structures and Algorithms / Sets

dsu15over 4 years agoDisjoint Set data structure implementation in Go
golang-set4,277almost 2 years agoThread-Safe and Non-Thread-Safe high-performance sets for Go
goset52almost 6 years agoA useful Set collection implementation for Go
set27about 4 years agoSimple set data structure implementation in Go using LinkedHashMap

Awesome Go / Data Structures and Algorithms / Text Analysis

bleve10,136almost 2 years agoModern text indexing library for go
go-adaptive-radix-tree375almost 2 years agoGo implementation of Adaptive Radix Tree
go-edlib488about 4 years agoGo string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode
levenshtein86almost 6 years agoLevenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix
levenshtein364almost 2 years agoImplementation to calculate levenshtein distance in Go
mspm25over 8 years agoMulti-String Pattern Matching Algorithm for information retrieval
parsefields7over 7 years agoTools for parse JSON-like logs for collecting unique fields and events
ptrie41over 2 years agoAn implementation of prefix tree
trie766about 2 years agoTrie implementation in Go

Awesome Go / Data Structures and Algorithms / Trees

hashsplitSplit byte streams into chunks, and arrange chunks into trees, with boundaries determined by content, not position
merkle19about 2 years agoSpace-efficient computation of Merkle root hashes and inclusion proofs
skiplist279over 3 years agoVery fast Go Skiplist implementation
skiplist84almost 12 years agoSkiplist implementation in Go
treap27almost 7 years agoPersistent, fast ordered map using tree heaps
treemap61over 4 years agoGeneric key-sorted map using a red-black tree under the hood

Awesome Go / Data Structures and Algorithms / Pipes

ordered-concurrently38over 3 years agoGo module that processes work concurrently and returns output in a channel in the order of input
parapipe33almost 2 years agoFIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results
pipeline56almost 5 years agoAn implementation of pipelines with fan-in and fan-out

Awesome Go / Database / Caches

2q42over 3 years ago2Q in-memory cache implementation
bcache156over 3 years agoEventually consistent distributed in-memory cache Go library
BigCache7,606about 2 years agoEfficient key/value cache for gigabytes of data
cache186almost 4 years agoIn-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage
cache2go2,134about 2 years agoIn-memory key:value cache which supports automatic invalidation based on timeouts
cachego371over 2 years agoGolang Cache component for multiple drivers
clusteredBigCache45over 8 years agoBigCache with clustering support and individual item expiration
coherence-go-client10almost 2 years agoFull implementation of Oracle Coherence cache API for Go applications using gRPC as network transport
couchcache64over 2 years agoRESTful caching micro-service backed by Couchbase server
EchoVault429almost 2 years agoEmbeddable Distributed in-memory data store compatible with Redis clients
fastcache2,145about 2 years agofast thread-safe inmemory cache for big number of entries. Minimizes GC overhead
GCache2,613over 2 years agoCache library with support for expirable Cache, LFU, LRU and ARC
gdcache13almost 5 years agoA pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache
go-cache141about 3 years agoA flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern
go-freelru215almost 2 years agoA GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration
go-mcache97over 6 years agoFast in-memory key:value store/cache library. Pointer caches
gocache2,515almost 2 years agoA complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more
gocache9about 2 years agoA data race free Go ache library with high performance and auto pruge functionality
groupcache12,988almost 2 years agoGroupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases
icache19over 2 years agoA High Performance, Generic, thread-safe, zero-dependency cache package
imcache123about 2 years agoA generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding
nscache11almost 2 years agoA Go caching framework that supports multiple data source drivers
otter1,746almost 2 years agoA high performance lockless cache for Go. Many times faster than Ristretto and friends
pocache213almost 2 years agoPocache is a minimal cache package which focuses on a preemptive optimistic caching strategy
sturdyc346almost 2 years agoA caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant
theine281almost 2 years agoHigh performance, near optimal in-memory cache with proactive TTL expiration and generics
timedmap72over 2 years agoMap with expiring key-value pairs
ttlcache975almost 2 years agoAn in-memory cache with item expiration and generics
ttlcache9almost 4 years agoIn-memory key value storage with TTL for each record

Awesome Go / Database / Databases Implemented in Go

badger14,083almost 2 years agoFast key-value store in Go
bbolt8,360almost 2 years agoAn embedded key/value database for Go
BitcaskBitcask 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)
buntdb4,599about 2 years agoFast, embeddable, in-memory key/value database for Go with custom indexing and spatial support
clover706about 2 years agoA lightweight document-oriented NoSQL database written in pure Golang
cockroach30,270almost 2 years agoScalable, Geo-Replicated, Transactional Datastore
Coffer39over 3 years agoSimple ACID key-value database that supports transactions
column1,442over 2 years agoHigh-performance, columnar, embeddable in-memory store with bitmap indexing and transactions
CovenantSQL1,500over 3 years agoCovenantSQL is a SQL database on blockchain
Databunker1,259almost 2 years agoPersonally identifiable information (PII) storage service built to comply with GDPR and CCPA
dgraph20,516almost 2 years agoScalable, Distributed, Low Latency, High Throughput Graph Database
diskv1,411almost 5 years agoHome-grown disk-backed key-value store
dolt18,052almost 2 years agoDolt – It's Git for Data
dtf212over 4 years agoA distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages
eliasdb1,006about 4 years agoDependency-free, transactional graph database with REST API, phrase search and SQL-like query language
godis3,537almost 2 years agoA Golang implemented high-performance Redis server and cluster
goleveldb6,175over 2 years agoImplementation of the key/value database in Go
hare94over 5 years agoA simple database management system that stores each table as a text file of line-delimited JSON
immudb8,650almost 2 years agoimmudb is a lightweight, high-speed immutable database for systems and applications written in Go
influxdb29,126almost 2 years agoScalable datastore for metrics, events, and real-time analytics
ledisdb4,102almost 3 years agoLedisdb is a high performance NoSQL like Redis based on LevelDB
levigo415over 4 years agoLevigo is a Go wrapper for LevelDB
libradb171over 2 years agoLibraDB is a simple database with less than 1000 lines of code for learning
LinDB3,010almost 2 years agoLinDB is a scalable, high performance, high availability distributed time series database
lotusdb2,094almost 2 years agoFast k/v database compatible with lsm and b+tree
Milvus31,283almost 2 years agoMilvus is a vector database for embedding management, analytics and search
moss978almost 2 years agoMoss is a simple LSM key-value storage engine written in 100% Go
nutsdb3,420almost 2 years agoNutsdb 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-go1,107about 2 years agoHigh-performance embedded Object Database (NoSQL) with Go API
pebble5,030almost 2 years agoRocksDB/LevelDB inspired key-value database in Go
piladb206almost 6 years agoLightweight RESTful database engine based on stack data structures
pogreb1,313about 2 years agoEmbedded key-value store for read-heavy workloads
prometheus56,244almost 2 years agoMonitoring system and time series database
pudge371about 5 years agoFast and simple key/value store written using Go's standard library
redka3,551almost 2 years agoRedis re-implemented with SQLite
rosedb4,647almost 2 years agoAn embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset
rotom41almost 2 years agoA tiny Redis server built with Golang, compatible with RESP protocols
rqlite15,906almost 2 years agoThe lightweight, distributed, relational database built on SQLite
tempdb19over 8 years agoKey-value store for temporary items
tidb37,447almost 2 years agoTiDB is a distributed SQL database. Inspired by the design of Google F1
tiedot2,725about 5 years agoYour NoSQL database powered by Golang
unitdb120over 3 years agoFast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application
Vasto261over 7 years agoA distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption
VictoriaMetrics12,774almost 2 years agofast, 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

atlas6,124almost 2 years agoA Database Toolkit. A CLI designed to help companies better work with their data
avro46almost 2 years agoDiscover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes
bytebase11,605almost 2 years agoSafe database schema change and version control for DevOps teams
darwin144over 3 years agoDatabase schema evolution library for Go
dbmate5,539almost 2 years agoA lightweight, framework-agnostic database migration tool
go-fixtures29over 6 years agoDjango style fixtures for Golang's excellent built-in database/sql library
go-pg-migrate10almost 3 years agoCLI-friendly package for go-pg migrations management
go-pg-migrations84almost 2 years agoA Go package to help write migrations with go-pg/pg
goavro989over 2 years agoA Go package that encodes and decodes Avro data
godfish8almost 2 years agoDatabase migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3
goose7,307almost 2 years agoDatabase migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts
gorm-seeder13almost 4 years agoSimple database seeder for Gorm ORM
gormigrate1,055almost 2 years agoDatabase schema migration helper for Gorm ORM
libschema15almost 2 years agoDefine your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL
migrate15,714almost 2 years agoDatabase migrations. CLI and Golang library
migrator170over 2 years agoDead simple Go database migration library
migrator25about 4 years agoMySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code
schema36almost 2 years agoLibrary to embed schema migrations for database/sql-compatible databases inside your Go binaries
skeema1,273almost 2 years agoPure-SQL schema management system for MySQL, with support for sharding and external online schema change tools
soda1,453about 2 years agoDatabase migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
sql-migrate3,248almost 2 years agoDatabase migration tool. Allows embedding migrations into the application using go-bindata
sqlize107almost 2 years agoDatabase migration generator. Allows generate sql migration from model and existing sql by differ them

Awesome Go / Database / Database Tools

chproxy1,297almost 2 years agoHTTP proxy for ClickHouse database
clickhouse-bulk478almost 2 years agoCollects small inserts and sends big requests to ClickHouse servers
dbbench102almost 2 years agoDatabase benchmarking tool with support for several databases and scripts
dg32about 2 years agoA fast data generator that produces CSV files from generated relational data
dynago12about 3 years agoSimplify working with AWS DynamoDB
gatewayd231almost 2 years agoCloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases
go-mysql4,630almost 2 years agoGo toolset to handle MySQL protocol and replication
gorm-multitenancy47almost 2 years agoMulti-tenancy support for GORM managed databases
hasqlLibrary for accessing multi-host SQL database installations
octillery194almost 3 years agoGo package for sharding databases ( Supports every ORM or raw SQL )
onedump111almost 2 years agoDatabase backup from different drivers to different destinations with one command and configuration
pg_timetable1,103almost 2 years agoAdvanced scheduling for PostgreSQL
pgweb8,678almost 2 years agoWeb-based PostgreSQL database browser
prep33almost 9 years agoUse prepared SQL statements without changing your code
pREST4,247almost 2 years agoSimplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new
rdb402about 2 years agoRedis RDB file parser for secondary development and memory analysis
rwdb19almost 9 years agorwdb provides read replica capability for multiple database servers setup
vitess18,777almost 2 years agovitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services
wescale254almost 2 years agoWeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications

Awesome Go / Database / SQL Query Builders

bqb155almost 2 years agoLightweight and easy to learn query builder
buildsqlx172over 2 years agoGo database query builder library for PostgreSQL
builq91over 2 years agoEasily build SQL queries in Go
dbq406over 5 years agoZero boilerplate database operations for Go
Dotsql742almost 3 years agoGo library that helps you keep sql files in one place and use them with ease
gendry1,622about 2 years agoNon-invasive SQL builder and powerful data binder
godbal59over 7 years agoDatabase Abstraction Layer (dbal) for go. Support SQL builder and get result easily
goqu2,424over 2 years agoIdiomatic SQL builder and query library
gosql32over 4 years agoSQL Query builder with better null values support
Hotcoal22over 2 years agoSecure your handcrafted SQL against injection
igor125over 2 years agoAbstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax
jet2,741almost 2 years agoFramework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure
ormlite16over 3 years agoLightweight package containing some ORM-like features and helpers for sqlite databases
ozzo-dbx638over 3 years agoPowerful data retrieval methods as well as DB-agnostic query building capabilities
qry35over 2 years agoTool that generates constants from files with raw SQL queries
sg6over 4 years agoA SQL Gen for generating standard SQLs(supports: CRUD) written in Go
sq196over 3 years agoType-safe SQL builder and struct mapper for Go
sqlc13,704almost 2 years agoGenerate type-safe code from SQL
sqlf146almost 2 years agoFast SQL query builder
sqlingo416almost 2 years agoA lightweight DSL to build SQL in Go
sqrl279over 3 years agoSQL query builder, fork of Squirrel with improved performance
SqualusThin layer over the Go SQL package that makes it easier to perform queries
Squirrel7,053over 2 years agoGo library that helps you build SQL queries
xo3,748over 2 years agoGenerate 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

cayley14,868almost 2 years agoGraph database with support for multiple backends
dsc32almost 2 years agoDatastore connectivity for SQL, NoSQL, structured files
dynamo19almost 2 years agoA simple key-value abstraction to store algebraic and linked-data data types at AWS storage services: AWS DynamoDB and AWS S3
go-transaction-manager240almost 2 years agoTransaction manager with multiple adapters (sql, sqlx, gorm, mongo, ...) controls transaction boundaries
gokv751almost 2 years agoSimple 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

avatica120almost 2 years agoApache Avatica/Phoenix SQL driver for database/sql
bgc21over 2 years agoDatastore Connectivity for BigQuery for go
firebirdsql231almost 2 years agoFirebird RDBMS SQL driver for Go
go-adodb143over 4 years agoMicrosoft ActiveX Object DataBase driver for go that uses database/sql
go-mssqldb1,832over 2 years agoMicrosoft MSSQL driver for Go
go-oci8632almost 3 years agoOracle driver for go that uses database/sql
go-sql-driver/mysql14,580almost 2 years agoMySQL driver for Go
go-sqlite38,093almost 2 years agoSQLite3 driver for go that uses database/sql
godror538almost 2 years agoOracle driver for Go, using the ODPI-C driver
gofreetds113almost 6 years agoMicrosoft MSSQL driver. Go wrapper over
KSQL324almost 2 years agoA Simple and Powerful Golang SQL Library
pgx10,954almost 2 years agoPostgreSQL driver supporting features beyond those exposed by database/sql
pig16over 5 years agoSimple wrapper to execute and query results easily
pq9,193almost 2 years agoPure Go Postgres driver for database/sql
Sqinn-Go434over 2 years agoSQLite with pure Go
sqlhooks652about 2 years agoAttach hooks to any database/sql driver
surrealdb.go250almost 2 years agoSurrealDB Driver for Go
ydb-go-sdk145almost 2 years agonative and database/sql driver YDB (Yandex Database)

Awesome Go / Database Drivers / NoSQL Database Drivers

aerospike-client-go439almost 2 years agoAerospike client in Go language
arangolite72over 5 years agoLightweight golang driver for ArangoDB
asc10about 2 years agoDatastore Connectivity for Aerospike for go
forestdb37almost 10 years agoGo bindings for ForestDB
go-couchbase321over 2 years agoCouchbase client in Go
go-mongox150almost 2 years agoA 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-pilosa57almost 4 years agoGo client library for Pilosa
go-rejson344over 2 years agoGolang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease
gocb371almost 2 years agoOfficial Couchbase Go SDK
gocosmos22almost 2 years agoREST client and standard driver for Azure Cosmos DB
gocqlGo language driver for Apache Cassandra
godis111over 6 years agoredis client implement by golang, inspired by jedis
godscache11over 7 years agoA wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached
gomemcache1,772about 2 years agomemcache client library for the Go programming language
gomemcached19over 2 years agoA binary Memcached client for Go with support for sharding using consistent hashing, along with SASL
gorethink1,654almost 2 years agoGo language driver for RethinkDB
goriak30about 5 years agoGo language driver for Riak KV
Kivik316almost 2 years agoKivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases
mgm756almost 3 years agoMongoDB model-based ODM for Go (based on official MongoDB driver)
mgo1,973almost 5 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-driver8,200almost 2 years agoOfficial MongoDB driver for the Go language
neo4j28over 11 years agoNeo4j Rest API Bindings for Golang
Neo4j-GO79over 8 years agoNeo4j REST Client in golang
neoism388over 6 years agoNeo4j client for Golang
qmgo1,327almost 2 years agoThe MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo
redeo442over 3 years agoRedis-protocol compatible TCP servers/services
redigo9,763over 2 years agoRedigo is a Go client for the Redis database
redis20,260almost 2 years agoRedis client for Golang
rueidisFast Redis RESP3 client with auto pipelining and server-assisted client side caching
xredis19over 7 years agoTypesafe, customizable, clean & easy to use Redis client

Awesome Go / Database Drivers / Search and Analytic Databases

clickhouse-go2,931almost 2 years agoClickHouse SQL client for Go with a compatibility
effdsl27almost 2 years agoElasticsearch query builder for Go
elastic7,434about 2 years agoElasticsearch client for Go
elasticsql1,182about 3 years agoConvert sql to elasticsearch dsl in Go
elastigo944over 7 years agoElasticsearch client library
go-elasticsearch5,718almost 2 years agoOfficial Elasticsearch client for Go
goes31almost 6 years agoLibrary to interact with Elasticsearch
skizze89over 10 years agoprobabilistic data-structures service and storage
zoekt760almost 2 years agoFast trigram based code search

Awesome Go / Date and Time

approx13almost 2 years agoA Duration extension supporting parsing/printing durations in days, weeks and years
carbon4,888almost 2 years agoA simple, semantic and developer-friendly golang package for datetime
carbon775over 2 years agoSimple Time extension with a lot of util methods, ported from PHP Carbon library
cronrange18about 4 years agoParses Cron-style time range expressions, checks if the given time is within any ranges
date136almost 2 years agoAugments Time for working with dates, date ranges, time spans, periods, and time-of-day
dateparse2,050over 2 years agoParse date's without knowing format in advance
durafmt496over 5 years agoTime duration formatting library for Go
feiertage48over 2 years agoSet of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving
go-anytime23over 3 years agoParse dates/times like "next dec 22nd at 3pm" and ranges like "from today until next thursday" without knowing the format in advance
go-datebin4almost 2 years agoA simple datetime parse pkg
go-persian-calendar206about 2 years agoThe implementation of the Persian (Solar Hijri) Calendar in Go (golang)
go-str2duration104almost 3 years agoConvert string to duration. Support time.Duration returned string and more
go-sunrise149over 2 years agoCalculate the sunrise and sunset times for a given location
go-week9almost 5 years agoAn efficient package to work with ISO8601 week dates
gostradamus203over 2 years agoA Go package for working with dates
iso8601148almost 2 years agoEfficiently parse ISO8601 date-times without regex
kair24over 6 years agoDate and Time - Golang Formatting Library
now4,458over 3 years agoNow is a time toolkit for golang
strftime13over 8 years agoC99-compatible strftime formatter
timespan83over 7 years agoFor interacting with intervals of time, defined as a start time and a duration
timeutil192over 7 years agoUseful extensions (Timedelta, Strftime, ...) to the golang's time package
tuesday12over 5 years agoRuby-compatible Strftime function

Awesome Go / Distributed Systems

arpc975almost 2 years agoMore effective network communication, support two-way-calling, notify, broadcast
bedrock7almost 2 years agoProvides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go
capillaries62almost 2 years agodistributed batch data processing framework
celeriac72about 2 years agoLibrary for adding support for interacting and monitoring Celery workers, tasks and events in Go
consistent702almost 3 years agoConsistent hashing with bounded loads
consistenthash27over 2 years agoConsistent hashing with configurable replicas
dht314almost 2 years agoBitTorrent Kademlia DHT implementation
digota510over 5 years agogrpc ecommerce microservice
dot87almost 7 years agodistributed sync using operational transformation/OT
doublejump103almost 4 years agoA revamped Google's jump consistent hash
dragonboat5,106about 2 years agoA feature complete and high performance multi-group Raft library in Go
Dragonfly2,311almost 2 years agoProvide 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
drmaa48about 2 years agoJob submission library for cluster schedulers based on the DRMAA standard
dynamolockDynamoDB-backed distributed locking implementation
dynatomic17almost 6 years agoA library for using DynamoDB as an atomic counter
emitter-io3,875almost 2 years agoHigh performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love
evans4,304over 2 years agoEvans: more expressive universal gRPC client
failured12about 5 years agoadaptive accrual failure detector for distributed systems
flowgraph60over 5 years agoflow-based programming package
gleam3,469almost 2 years agoFast 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
glow3,206almost 8 years agoEasy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go
gmsec25almost 2 years agoA Go distributed systems development framework
go-doudou1,430almost 2 years agoA 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-eagle2,197almost 2 years agoA Go framework for the API or Microservice with handy scaffolding tools
go-health751almost 3 years agoLibrary for enabling asynchronous dependency health checks in your service
go-jump383almost 5 years agoPort of Google's "Jump" Consistent Hash function
go-kit26,684about 2 years agoMicroservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc
go-micro22,020almost 2 years agoA distributed systems development framework
go-mysql-lock62over 2 years agoMySQL based distributed lock
go-pdu47about 2 years agoA decentralized identity-based social network
go-sundheit550about 2 years agoA library built to provide support for defining async service health checks for golang services
go-zero29,481almost 2 years agoA 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
gorpc706almost 4 years agoSimple, fast and scalable RPC library for high load
grpc-go21,208almost 2 years agoThe Go language implementation of gRPC. HTTP/2 based RPC
hprose1,260over 2 years agoVery newbility RPC Library, support 25+ languages now
jsonrpc187over 3 years agoThe jsonrpc package helps implement of JSON-RPC 2.0
jsonrpc336about 2 years agoJSON-RPC 2.0 HTTP client implementation
K8gb899almost 2 years agoA cloud native Kubernetes Global Balancer
Kitex7,112almost 2 years agoA 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
Kratos23,457almost 2 years agoA modular-designed and easy-to-use microservices framework in Go
liftbridge2,580over 2 years agoLightweight, fault-tolerant message streams for NATS
lura6,393almost 2 years agoUltra performant API Gateway framework with middlewares
micro12,172almost 2 years agoA distributed systems runtime for the cloud and beyond
mochi mqtt1,318almost 2 years agoFully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub
NATS16,147almost 2 years agoNATS is a simple, secure, and performant communications system for digital systems, services, and devices
outboxer160almost 2 years agoOutboxer is a go library that implements the outbox pattern
pglockPostgreSQL-backed distributed locking implementation
pjrpcGolang JSON-RPC Server-Client with Protobuf spec
raft8,321almost 2 years agoGolang implementation of the Raft consensus protocol, by HashiCorp
raft694almost 2 years agoGo implementation of the Raft consensus protocol, by CoreOS
rain985almost 2 years agoBitTorrent client and library
redis-lock1,495over 2 years agoSimplified distributed locking implementation using Redis
resgateRealtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly
ringpop-go836about 3 years agoScalable, fault-tolerant application-layer sharding for Go applications
rpcx8,134almost 2 years agoDistributed pluggable RPC service framework like alibaba Dubbo
Semaphore94over 3 years agoA straightforward (micro) service orchestrator
sleuth375about 3 years agoLibrary for master-less p2p auto-discovery and RPC between HTTP services (using )
sponge1,510almost 2 years agoA distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks
Tarmac329almost 2 years agoFramework for writing functions, microservices, or monoliths with WebAssembly
Temporal550almost 2 years agoDurable execution system for making code fault-tolerant and simple
torrent5,599almost 2 years agoBitTorrent client package
trpc-go844about 2 years agoThe Go language implementation of tRPC, which is a pluggable, high-performance RPC framework

Awesome Go / Dynamic DNS

DDNS258over 2 years agoPersonal DDNS client with Digital Ocean Networking DNS as backend
dyndnsBackground 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
GoDNS1,520almost 2 years agoA dynamic DNS client tool, supports DNSPod & HE.net, written in Go

Awesome Go / Email

chasquidSMTP server written in Go
douceur248about 4 years agoCSS inliner for your HTML emails
email2,674over 2 years agoA robust and flexible email library for Go
email-verifier1,250almost 2 years agoA Go library for email verification without sending any emails
go-dkim98over 2 years agoDKIM library, to sign & verify email
go-email-normalizer64almost 2 years agoGolang library for providing a canonical representation of email address
go-email-validator51about 3 years agoModular email validator for syntax, disposable, smtp, etc... checking
go-imap2,110almost 2 years agoIMAP library for clients and servers
go-mail732almost 2 years agoA simple Go library for sending mails in Go
go-message389almost 2 years agoStreaming library for the Internet Message Format and mail messages
go-premailer145almost 2 years agoInline styling for HTML mail in Go
go-simple-mail651about 2 years agoVery simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send
Hectane223almost 6 years agoLightweight SMTP client providing an HTTP API
hermes2,839about 3 years agoGolang package that generates clean, responsive HTML e-mails
Maddy5,208almost 2 years agoAll-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server
mailchain143over 4 years agoSend encrypted emails to blockchain addresses written in Go
mailgun-go703almost 2 years agoGo library for sending mail with the Mailgun API
MailHog14,193over 2 years agoEmail and SMTP testing with web and API interface
Mailpit6,239almost 2 years agoEmail and SMTP testing tool for developers
mailx19almost 2 years agoMailx is a library that makes it easier to send email via SMTP. It is an enhancement of the golang standard library
mox3,731almost 2 years agoModern full-featured secure mail server for low-maintenance, self-hosted email
SendGrid986almost 2 years agoSendGrid's Go library for sending email
smtp75almost 5 years agoSMTP server protocol state machine
smtpmock132almost 2 years agoLightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment
truemail-go106about 2 years agoConfigurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more

Awesome Go / Embeddable Scripting Languages

anko1,482almost 3 years agoScriptable interpreter written in Go
binder77about 4 years agoGo to Lua binding library, based on
cel-go2,330almost 2 years agoFast, portable, non-Turing complete expression evaluation with gradual typing
ecal43over 5 years agoA simple embeddable scripting language which supports concurrent event processing
expr6,402almost 2 years agoExpression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing
gentee136almost 3 years agoEmbeddable scripting programming language
gisp514about 9 years agoSimple LISP in Go
go-duktape778almost 5 years agoDuktape JavaScript engine bindings for Go
go-lua3,157over 2 years agoPort of the Lua 5.2 VM to pure Go
go-php936almost 5 years agoPHP bindings for Go
go-python1,527about 3 years agonaive go bindings to the CPython C-API
goalAn embeddable scripting array language
goja5,690almost 2 years agoECMAScript 5.1(+) implementation in Go
golua652almost 2 years agoGo bindings for Lua C API
gopher-lua6,322almost 2 years agoLua 5.1 VM and compiler written in Go
gval758almost 2 years agoA highly customizable expression language written in Go
metacall1,590almost 2 years agoCross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more
ngaro29over 8 years agoEmbeddable Ngaro VM implementation enabling scripting in Retro
prolog634almost 2 years agoEmbeddable Prolog
purl41almost 12 years agoPerl 5.18.2 embedded in Go
starlark-go2,377almost 2 years agoGo implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution
starlet24almost 2 years agoGo wrapper for that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions
tengo3,563over 2 years agoBytecode compiled script language for Go
Wa/凹语言1,313almost 2 years agoThe Wa Programming Language embedded in Go

Awesome Go / Error Handling

emperror347almost 6 years agoError handling tools and best practices for Go libraries and applications
eris1,506over 3 years agoA better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors
errlog460about 3 years agoHackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place
errors198over 4 years agoDrop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives
errors6about 7 years agoSimple golang error handling with classification primitives
errors7over 4 years agoThe most simple error wrapper with awesome performance and minimal memory overhead
errorsProviding errors with a stack trace and optional structured details. Compatible with github.com/pkg/errors API but does not use it internally
errors67almost 2 years agoDrop-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
errors2,129about 2 years agoGo error library with error portability over the network
errorx1,223almost 2 years agoA feature rich error package with stack traces, composition of errors and more
exception34almost 4 years agoA simple utility package for exception handling with try-catch in Golang
Falcon11almost 7 years agoA Simple Yet Highly Powerful Package For Error Handling
Fault168over 2 years agoAn ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values
go-multierror2,367almost 2 years agoGo (golang) package for representing a list of errors as a single error
multierr1,057over 2 years agoPackage for representing a list of errors as a single error
oops469almost 2 years agoError handling with context, stack trace and source fragments
tracerr1,042over 2 years agoGolang errors with stack trace and source fragments

Awesome Go / File Handling

afero6,005about 2 years agoFileSystem Abstraction System for Go
afs306over 2 years agoAbstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go
baraka58almost 4 years agoA library to process http file uploads easily
bigfile252over 3 years agoA file transfer system, support to manage files with http api, rpc call and ftp client
checksum105almost 3 years agoCompute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files
copy730almost 2 years agoCopy directory recursively
flop33almost 5 years agoFile operations library which aims to mirror feature parity with
gdu4,048almost 2 years agoDisk usage analyzer with console interface
go-csv-tag121over 2 years agoLoad csv file using tag
go-decent-copy22over 6 years agoCopy files for humans
go-exiftool255about 2 years agoGo bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...)
go-gtfs45about 3 years agoLoad gtfs files in go
go-wkhtmltopdf1,065about 2 years agoA package to convert an HTML template to a PDF file
gofs487almost 2 years agoA cross-platform real-time file synchronization tool out of the box
gut/yos27almost 6 years agoSimple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links
higgs24over 4 years agoA tiny cross-platform Go library to hide/unhide files and directories
iso9660265over 2 years agoA package for reading and creating ISO9660 disk images
notify912over 2 years agoFile system event notification library with simple API, similar to os/signal
opc75almost 3 years agoLoad Open Packaging Conventions (OPC) files for Go
parquet111almost 2 years agoRead and write files
pathtype13about 5 years agoTreat paths as their own type instead of using strings
pdfcpu7,091almost 2 years agoPDF processor
skywalker102about 5 years agoPackage to allow one to concurrently go through a filesystem with ease
todotxt23about 3 years agoGo library for Gina Trapani's files, supports parsing and manipulating of task lists in the
vfs311almost 2 years agoA 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

accounting879about 4 years agomoney and currency formatting for golang
ach465almost 2 years agoA reader, writer, and validator for Automated Clearing House (ACH) files
bbgo1,262almost 2 years agoA crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies
currency562almost 2 years agoHandles currency amounts, provides currency information and formatting
currency61almost 2 years agoHigh performant & accurate currency computation package
decimal6,459about 2 years agoArbitrary-precision fixed-point decimal numbers
decimal105almost 2 years agoImmutable decimal numbers with panic-free arithmetic
fpdecimal31almost 2 years agoFast and precise serialization and arithmetic for small fixed-point decimals
fpmoney30almost 2 years agoFast and simple ISO4217 fixed-point decimal money
go-finance177almost 5 years agoLibrary of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations
go-finance26almost 2 years agoModule to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers
go-finnhub91over 6 years agoClient 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-money1,691about 2 years agoImplementation of Fowler's Money pattern
go-nowpayments3over 3 years agoLibrary for the crypto NOWPayments API
money23about 2 years agoImmutable monetary amounts and exchange rates with panic-free arithmetic
ofxgo138over 2 years agoQuery OFX servers and/or parse the responses (with example command-line client)
orderbook447over 2 years agoMatching Engine for Limit Order Book in Golang
payme85about 2 years agoQR code generator (ASCII & PNG) for SEPA payments
sleet139over 2 years agoOne unified interface for multiple Payment Service Providers (PsP) to process online payment
swiftOffline validity check of IBAN (International Bank Account Number) and retrieval of BIC (for some countries)
techan843about 3 years agoTechnical analysis library with advanced market analysis and trading strategies
ticker5,030almost 2 years agoTerminal stock watcher and stock position tracker
transaction132over 2 years agoEmbedded transactional database of accounts, running in multithreaded mode
udecimal115almost 2 years agoHigh performance, high precision, zero allocation fixed-point decimal library for financial applications
vat111almost 3 years agoVAT number validation & EU VAT rates

Awesome Go / Forms

bind31about 12 years agoBind form data to any Go values
checker10almost 2 years agoChecker helps validating user input through rules defined in struct tags or directly through functions
conform323over 2 years agoKeeps user input in check. Trims, sanitizes & scrubs data based on struct tags
form781over 2 years agoDecodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support
formam192almost 4 years agodecode form's values into a struct
forms138almost 4 years agoFramework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files
gbind10over 4 years agoBind data to any Go value. Can use built-in and custom expression binding capabilities; supports data validation
gorilla/csrf1,062over 2 years agoCSRF protection for Go web applications & services
httpin324over 2 years agoDecode an HTTP request into a custom struct, including querystring, forms, HTTP headers, etc
nosurf1,603over 2 years agoCSRF protection middleware for Go
qs76over 2 years agoGo module for encoding structs into URL query parameters
queryparam19almost 6 years agoDecode into usable struct values of standard or custom types

Awesome Go / Functional

fp-go304almost 4 years agoCollection of Functional Programming helpers powered by Golang 1.18+ generics
fpGo349almost 2 years agoMonad, Functional Programming features for Golang
fuego143over 2 years agoFunctional Experiment in Go
go-functional464almost 2 years agoFunctional programming in Go using generics
go-underscore1,301over 3 years agoUseful collection of helpfully functional Go collection utilities
gofp148over 5 years agoA lodash like powerful utility library for Golang
mo2,704almost 2 years agoMonads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...)
underscore110almost 2 years agoFunctional programming helpers for Go 1.18 and beyond
valor17about 3 years agoGeneric option and result types that optionally contain a value

Awesome Go / Game Development

Azul3D618almost 5 years ago3D game engine written in Go
Ebitengine11,186almost 2 years agodead simple 2D game engine in Go
ecs129about 2 years agoBuild your own Game-Engine based on the Entity Component System concept in Golang
engo1,756about 2 years agoEngo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm
fantasyname33about 2 years agoFantasy names generator
g3n2,826about 2 years agoGo 3D Game Engine
go-astar601over 4 years agoGo implementation of the A* path finding algorithm
go-sdl22,238almost 2 years agoGo bindings for the
go3d317over 2 years agoPerformance oriented 2D/3D math package for Go
gonet1,272about 2 years agoGame server skeleton implemented with golang
goworld2,576almost 3 years agoScalable game server engine, featuring space-entity framework and hot-swapping
grid18about 2 years agoGeneric 2D grid with ray-casting, shadow-casting and path finding
Harfang3D586about 3 years ago3D engine for the Go language, works on Windows and Linux ( )
Leaf5,321over 2 years agoLightweight game server framework
nano2,896over 2 years agoLightweight, facility, high performance golang based game server framework
Oak1,567almost 2 years agoPure Go game engine
Pitaya2,388almost 2 years agoScalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK
Pixel254almost 2 years agoHand-crafted 2D game library in Go
prototype88about 2 years agoCross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API
raylib-go1,666almost 2 years agoGo bindings for , a simple and easy-to-use library to learn videogames programming
termloop1,437about 2 years agoTerminal-based game engine for Go, built on top of Termbox
tile166almost 2 years agoData-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export

Awesome Go / Generators

convergen43about 2 years agoFeature rich type-to-type copy code generator
copygen357over 2 years agoGenerate type-to-type and type-based code without reflection
generis43over 4 years agoCode generation tool providing generics, free-form macros, conditional compilation and HTML templating
go-enum771almost 2 years agoCode generation for enums from code comments
go-linq3,532about 4 years ago.NET LINQ-like query methods for Go
goderive1,246over 2 years agoDerives functions from input types
goverter576almost 2 years agoGenerate converters by defining an interface
GoWrap1,105almost 2 years agoGenerate decorators for Go interfaces using simple templates
interfaces423almost 2 years agoCommand line tool for generating interface definitions
jennifer3,389about 2 years agoGenerate arbitrary Go code without templates
oapi-codegen6,424almost 2 years agoThis package contains a set of utilities for generating Go boilerplate code for services based on OpenAPI 3.0 API definitions
typeregistry23over 6 years agoA library to create type dynamically

Awesome Go / Geographic

geoos618about 2 years agoA library provides spatial data and geometric algorithms
geoserver91over 3 years agogeoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API
gismanager54almost 8 years agoPublish Your GIS Data(Vector Data) to PostGIS and Geoserver
godal141almost 2 years agoGo wrapper for GDAL
H3322almost 2 years agoGo bindings for H3, a hierarchical hexagonal geospatial indexing system
H3 GeoJSON4over 4 years agoConversion utilities between H3 indexes and GeoJSON
H3GeoDist2over 4 years agoDistribution of Uber H3geo cells by virtual nodes
mbtileserver662almost 2 years agoA simple Go-based server for map tiles stored in mbtiles format
osm379over 2 years agoLibrary for reading, writing and working with OpenStreetMap data and APIs
pbf47almost 2 years agoOpenStreetMap PBF golang encoder/decoder
S2 geojson30about 2 years agoConvert geojson to s2 cells & demonstrating some S2 geometry features on map
S2 geometry1,708about 2 years agoS2 geometry library in Go
simplefeatures134almost 2 years agosimplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them
Tile389,185almost 2 years agoGeolocation DB with spatial index and realtime geofencing
Web-Mercator-Projection9over 4 years agoA project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection
WGS84130about 2 years agoLibrary for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM)

Awesome Go / Go Compilers

c2go304over 2 years agoConvert C code to Go code
c4go365about 2 years agoTranspile C code to Go code
esp3287about 2 years agoTranspile Go into Arduino code
f4go47about 3 years agoTranspile FORTRAN 77 code to Go code
gopherjs12,785almost 2 years agoCompiler from Go to JavaScript
tardisgo432almost 10 years agoGolang to Haxe to CPP/CSharp/Java/JavaScript transpiler

Awesome Go / Goroutines

ants13,076almost 2 years agoA high-performance and low-cost goroutine pool in Go
artifex208about 2 years agoSimple in-memory job queue for Golang using worker-based dispatching
async6almost 2 years agoAn asynchronous task package with async/await style for Go
async226about 2 years agoAn alternative sync library for Go (Future, Promise, Locks)
async137almost 6 years agoA safe way to execute functions asynchronously, recovering them in case of panic
async-job10over 4 years agoAsyncJob is an asynchronous queue job manager with light code, clear and speed
breaker18about 5 years agoFlexible mechanism to make execution flow interruptible
channelify32over 5 years agoTransform your function to return channels for easy and powerful parallel processing
conc9,474over 2 years agois your toolbelt for structured concurrency in go, making common tasks easier and safer
concurrency-limiter17over 3 years agoConcurrency limiter with support for timeouts, dynamic priority and context cancellation of goroutines
conexec16about 6 years agoA 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
cyclicbarrier148about 6 years agoCyclicBarrier for golang
execpool29about 5 years agoA 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
flowmatic370almost 2 years agoStructured concurrency made easy
go-accumulator7about 2 years agoSolution for accumulation of events and their subsequent processing
go-actor161almost 2 years agoA tiny library for writing concurrent programs using actor model
go-floc269about 5 years agoOrchestrate goroutines with ease
go-flow219over 7 years agoControl goroutines execution order
go-tools/multithreading15over 7 years agoManage a pool of goroutines using this lightweight library with a simple API
go-trylock35over 5 years agoTryLock support on read-write lock for Golang
go-waitgroup48almost 2 years agoLike with error handling and concurrency control
go-workerpool13about 4 years agoInspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines
go-workers165over 4 years agoEasily and safely run workers for large data processing pipelines
goccm71over 3 years agoGo Concurrency Manager package limits the number of goroutines that allowed to run concurrently
gohive52almost 3 years agoA highly performant and easy to use Goroutine pool for Go
gollback125over 3 years agoasynchronous simple function utilities, for managing execution of closures and callbacks
gowl69almost 3 years agoGowl 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
goworker2,805about 4 years agogoworker is a Go-based background worker
gowp519almost 2 years agogowp is concurrency limiting goroutine pool
gpool90almost 7 years agomanages a resizeable pool of context-aware goroutines to bound concurrency
grpool745over 7 years agoLightweight Goroutine pool
hands10over 4 years agoA process controller used to control the execution and return strategies of multiple goroutines
Hunch104about 4 years agoHunch provides functions like: , , , etc., that makes asynchronous flow control more intuitive
kyoo51over 3 years agoProvides an unlimited job queue and concurrent worker pools
neilotoole/errgroup162over 3 years agoDrop-in alternative to , limited to a pool of N worker goroutines
nursery68about 5 years agoStructured concurrency in Go
oversightOversight is a complete implementation of the Erlang supervision trees
parallel-fn36over 8 years agoRun functions in parallel
pond1,560almost 2 years agoMinimalistic and High-performance goroutine worker pool written in Go
pool727about 5 years agoLimited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation
rill1,440almost 2 years agoGo toolkit for clean, composable, channel-based concurrency
routine240almost 2 years agois 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
routine61over 2 years agogo routine control with context, support: Main, Go, Pool and some useful Executors
semaphore103over 6 years agoSemaphore pattern implementation with timeout of lock/unlock operations based on channel and context
semaphore176over 5 years agoFast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations)
stl30about 6 years agoSoftware transactional locks based on Software Transactional Memory (STM) concurrency control mechanism
threadpool102over 6 years agoGolang threadpool implementation
tunny3,921over 3 years agoGoroutine pool for golang
worker-pool92over 5 years agogoworker is a Go simple async worker pool
workerpool1,342almost 2 years agoGoroutine pool that limits the concurrency of task execution, not the number of tasks queued

Awesome Go / GUI

app8,027almost 2 years agoPackage to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress
cimgui-go359almost 2 years agoAuto generated Go wrapper for via
Cogent Core1,779almost 2 years agoA framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web
DarwinKit5,051about 2 years agoBuild native macOS applications using Go
energy393almost 2 years agoCross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)
fyne25,363almost 2 years agoCross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android
gioGio 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-gtkGo bindings for GTK
go-sciter2,581over 3 years agoGo bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform
GoeyCross platform UI toolkit aggregator for Windows / Linux / Mac. GTK, Cocoa, Windows API
goradd/html5tag10almost 3 years agoLibrary for outputting HTML5 tags
gotk32,119about 2 years agoGo bindings for GTK3
gowd433over 3 years agoRapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform
qt10,511over 2 years agoQt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi)
Spot1,123almost 2 years agoReactive, cross-platform desktop GUI toolkit
ui8,341over 4 years agoPlatform-native GUI library for Go. Cross platform
unison212almost 2 years agoA unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported
WailsMac, Windows, Linux desktop apps with HTML UI using built-in OS HTML renderer
walk6,882over 2 years agoWindows application library kit for Go
webview12,737almost 2 years agoCross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux)
AppIndicator Go6about 4 years agoGo bindings for libappindicator3 C library
gosx-notifier588over 6 years agoOSX Desktop Notifications library for Go
mac-activity-tracker29almost 3 years agoOSX library to notify about any (pluggable) activity on your machine
mac-sleep-notifier36over 7 years agoOSX Sleep/Wake notifications in golang
robotgo9,739almost 2 years agoGo Native cross-platform GUI system automation. Control the mouse, keyboard and other
systray3,354about 2 years agoCross platform Go library to place an icon and menu in the notification area
trayhost254almost 3 years agoCross-platform Go library to place an icon in the host operating system's taskbar
zenity742almost 2 years agoCross-platform Go library and CLI to create simple dialogs that interact graphically with the user

Awesome Go / Hardware

arduino-cli4,403almost 2 years agoOfficial Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects
emgo1,077almost 5 years agoGo-like language for programming embedded systems (e.g. STM32 MCU)
ghw1,655almost 2 years agoGolang hardware discovery/inspection library
go-osc202over 3 years agoOpen Sound Control (OSC) bindings for Go
go-rpio2,204almost 3 years agoGPIO for Go, doesn't require cgo
goroslib341almost 2 years agoRobot Operating System (ROS) library for Go
joystick63over 3 years agoa polled API to read the state of an attached joystick
sysinfo533almost 2 years agoA pure Go library providing Linux OS / kernel / hardware system information

Awesome Go / Images

bild4,023almost 2 years agoCollection of image processing algorithms in pure Go
bimg2,738over 2 years agoSmall package for fast and efficient image processing using libvips
cameron123about 4 years agoAn avatar generator for Go
canvas1,524almost 2 years agoVector graphics to PDF, SVG or rasterized image
color-extractor94about 3 years agoDominant color extractor with no external dependencies
darkroom226almost 2 years agoAn image proxy with changeable storage backends and image processing engines with focus on speed and resiliency
draft582about 5 years agoGenerate High Level Microservice Architecture diagrams for GraphViz using simple YAML syntax
geopattern1,271over 7 years agoCreate beautiful generative image patterns from a string
gg4,464almost 3 years ago2D rendering in pure Go
gift1,760about 3 years agoPackage of image processing filters
gltf247almost 2 years agoEfficient and robust glTF 2.0 reader, writer and validator
go-cairo146over 2 years agoGo binding for the cairo graphics library
go-gd59over 8 years agoGo binding for GD library
go-nude415almost 3 years agoNudity detection with Go
go-qrcode587almost 2 years agoGenerate QR codes with personalized styles, allowing adjustments to color, block size, shape, and icons
go-webcolors28about 11 years agoPort of webcolors library from Python to Go
go-webp232almost 2 years agoLibrary for encode and decode webp pictures, using libwebp
gocv6,765almost 2 years agoGo package for computer vision using OpenCV 3.3+
goimagehash755over 2 years agoGo Perceptual image hashing package
goimghdr40over 7 years agoThe imghdr module determines the type of image contained in a file for Go
govatar588almost 4 years agoLibrary and CMD tool for generating funny avatars
govips1,321almost 2 years agoA lightning fast image processing and resizing library for Go
gowitness3,395almost 2 years agoScreenshoting webpages using go and headless chrome on command line
gridder77almost 5 years agoA Grid based 2D Graphics library
image2ascii892about 4 years agoConvert image to ASCII
imagick1,789almost 2 years agoGo binding to ImageMagick's MagickWand C API
imaginary5,685almost 2 years agoFast and simple HTTP microservice for image resizing
imaging5,305about 3 years agoSimple Go image processing package
imagor3,480almost 2 years agoFast, secure image processing server and Go library, using libvips
img155over 11 years agoSelection of image manipulation tools
ln3,285about 7 years ago3D line art rendering in Go
mergi236almost 2 years agoTool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate)
mort512over 3 years agoStorage and image processing server written in Go
mpo17over 3 years agoDecoder and conversion tool for MPO 3D Photos
picfit2,145almost 2 years agoAn image resizing server written in Go
pt2,084over 7 years agoPath tracing engine written in Go
rez213about 9 years agoImage resizing in pure Go and SIMD
scout15about 2 years agoScout is a standalone open source software solution for DIY video security
smartcrop1,820about 3 years agoFinds good crops for arbitrary images and crop sizes
steganography319over 2 years agoPure Go Library for LSB steganography
stegify1,210over 3 years agoGo tool for LSB steganography, capable of hiding any file within an image
svgo2,158almost 4 years agoGo Language Library for SVG generation
tga34over 11 years agoPackage tga is a TARGA image format decoder/encoder
transformimgs235almost 2 years agoTransformimgs resizes and optimises images for Web using next-generation formats
webp-server73over 5 years agoSimple and minimal image server capable of storing, resizing, converting and caching images

Awesome Go / IoT (Internet of Things)

connectordb407about 4 years agoOpen-Source Platform for Quantified Self & IoT
devices264about 10 years agoSuite of libraries for IoT devices, experimental for x/exp/io
ekuiper1,505almost 2 years agoLightweight data stream processing engine for IoT edge
eywa64over 9 years agoProject Eywa is essentially a connection manager that keeps track of connected devices
flogo2,436over 2 years agoProject Flogo is an Open Source Framework for IoT Edge Apps & Integration
gatt1,145about 4 years agoGatt is a Go package for building Bluetooth Low Energy peripherals
gobot9,005almost 2 years agoGobot is a framework for robotics, physical computing, and the Internet of Things
huego250about 3 years agoAn extensive Philips Hue client library for Go
iot66almost 7 years agoIoT is a simple framework for implementing a Google IoT Core device
mainflux44about 2 years agoIndustrial IoT Messaging and Device Management Server
periphPeripherals I/O to interface with low-level board facilities
rulego909almost 2 years agoRuleGo is a lightweight, high-performance, embedded, orchestrable component-based rule engine for IoT edge
sensorbee231almost 7 years agoLightweight stream processing engine for IoT
shifu1,291almost 2 years agoKubernetes native IoT development framework
smart-home87almost 2 years agoSoftware package for IoT automation

Awesome Go / Job Scheduler

cdule55almost 2 years agoJob scheduler library with database support
cheek166almost 2 years agoA simple crontab like scheduler that aims to offer a KISS approach to job scheduling
clockwerk160almost 2 years agoGo package to schedule periodic jobs using a simple, fluent syntax
cronticker16over 5 years agoA ticker implementation to support cron schedules
go-cron233over 6 years agoSimple 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-quartz1,805almost 2 years agoSimple, zero-dependency scheduling library for Go
gocron5,742almost 2 years agoEasy and fluent Go job scheduling. This is an actively maintained fork of
goflow396almost 2 years agoA simple but powerful DAG scheduler and dashboard
gron1,033over 3 years agoDefine time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly
gronx422almost 2 years agoCron expression parser, task runner and daemon consuming crontab like task list
JobRunner1,057almost 6 years agoSmart and featureful cron job scheduler with job queuing and live monitoring built in
leprechaun104about 4 years agoJob scheduler that supports webhooks, crons and classic scheduling
sched28almost 2 years agoA job scheduler with the ability to fast-forward time
scheduler450about 4 years agoCronjobs scheduling made easy
tasks304about 2 years agoAn easy to use in-process scheduler for recurring tasks in Go

Awesome Go / JSON

ajson249almost 2 years agoAbstract JSON for golang with JSONPath support
ask48about 3 years agoEasy 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
dynjson16over 3 years agoClient-customizable JSON formats for dynamic APIs
ej10over 6 years agoWrite and read JSON from different sources succinctly
epoch14over 2 years agoContains primitives for marshaling/unmarshalling Unix timestamp/epoch to/from build-in time.Time type in JSON
fastjson2,310over 2 years agoFast JSON parser and validator for Go. No custom structs, no code generation, no reflection
gabs3,479over 2 years agoFor parsing, creating and editing unknown or dynamic JSON in Go
gjo127over 5 years agoSmall utility to create JSON objects
GJSON14,487almost 2 years agoGet a JSON value with one line of code
go-jsonerror16almost 7 years agoGo-JsonError is meant to allow us to easily create json response errors that follow the JsonApi spec
go-respond55almost 5 years agoGo package for handling common HTTP JSON responses
gojmapr22over 3 years agoGet simple struct from complex json by json path
gojq191about 3 years agoJSON query in Golang
gojson2,668about 5 years agoAutomatically generate Go (golang) struct definitions from example JSON
htmljson7about 2 years agoRich rendering of JSON as HTML in Go
JayDiff106over 2 years agoJSON diff utility written in Go
jettison175about 3 years agoFast and flexible JSON encoder for Go
jscan90over 2 years agoHigh performance zero-allocation JSON iterator
JSON-to-GoConvert JSON to Go struct
JSON-to-ProtoConvert JSON to Protobuf online
json2go132almost 5 years agoAdvanced JSON to Go struct conversion. Provides package that can parse multiple JSON documents and create struct to fit them all
jsonapi-errors14almost 10 years agoGo bindings based on the JSON API errors reference
jsoncolor46over 2 years agoDrop-in replacement for that outputs colorized JSON
jsondiff530almost 2 years agoJSON diff library for Go based on RFC6902 (JSON Patch)
jsonf65almost 6 years agoConsole tool for highlighted formatting and struct query fetching JSON
jsongo109almost 5 years agoFluent API to make it easier to create Json objects
jsonhal14over 6 years agoSimple Go package to make custom structs marshal into HAL compatible JSON responses
jsonhandlers2over 3 years agoJSON library to expose simple handlers that lets you easily read and write json from various sources
jsonic11over 5 years agoUtilities to handle and query JSON without defining structs in a type safe manner
jsonvalue190almost 2 years agoA fast and convenient library for unstructured JSON data, replacing
jzon11almost 2 years agoJSON library with standard compatible API/behavior
kazaam283over 4 years agoAPI for arbitrary transformation of JSON documents
mapslice-json20over 2 years agoGo MapSlice for ordered marshal/ unmarshal of maps in JSON
marshmallow377about 3 years agoPerformant JSON unmarshalling for flexible use cases
mp47over 10 years agoSimple cli email parser. It currently takes stdin and outputs JSON
OjG862almost 2 years agoOptimized JSON for Go is a high performance parser with a variety of additional JSON tools including JSONPath
omg.jsonparser6almost 5 years agoSimple JSON parser with validation by condition via golang struct fields tags
ujson77over 2 years agoFast and minimal JSON parser and transformer that works on unstructured JSON
vjson41over 2 years agoGo package for validating JSON objects with declaring a JSON schema with fluent API

Awesome Go / Logging

distillog31about 8 years agodistilled levelled logging (think of it as stdlib + log levels)
glg190about 2 years agoglg is simple and fast leveled logging library for Go
glo16over 7 years agoPHP Monolog inspired logging facility with identical severity levels
glog3,554almost 2 years agoLeveled execution logs for Go
go-cronowriter56over 5 years agoSimple writer that rotate log files automatically based on current date and time, like cronolog
go-log10almost 2 years agoA logging library with stack traces, object dumping and optional timestamps
go-log14over 8 years agoSimple and configurable Logging in Go, with level, formatters and writers
go-log35over 7 years agoLog lib supports level and multi handlers
go-log43over 8 years agoLog4j implementation in Go
go-logger290over 7 years agoSimple logger of Go Programs, with level handlers
gomol19over 7 years agoMultiple-output, structured logging for Go with extensible logging outputs
gone/log50over 5 years agoFast, extendable, full-featured, std-lib source compatible log library
httpretty402almost 2 years agoPretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest)
journald41over 5 years agoGo implementation of systemd Journal's native API for logging
kemba12almost 2 years agoA tiny debug logging tool inspired by , great for CLI tools and applications
log10almost 7 years agoAn O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection)
log1,368almost 3 years agoStructured logging package for Go
log292about 3 years agoSimple, configurable and scalable Structured Logging for Go
log26almost 9 years agoStructured log interface for Go cleanly separates logging facade from its implementation
log16almost 4 years agoSimple leveled logging wrapper around standard log package
log3almost 2 years agoA simple logging framework out of the box
log-voyage94over 9 years agoFull-featured logging saas written in golang
log151,101over 3 years agoSimple, powerful logging for Go
logdump11over 8 years agoPackage for multi-level logging
logex43over 2 years agoGolang log lib, supports tracking and level, wrap by standard log lib
logger157almost 5 years agoMinimalistic logging library for Go
logo12over 5 years agoGolang logger to different configurable writers
logrus24,825almost 2 years agoStructured logger for Go
logrusiowriter16almost 2 years agoimplementation using logger
logrusly28about 5 years agoplug-in to send errors to a
logur204almost 6 years agoAn opinionated logger interface and collection of logging best practices with adapters and integrations for well-known libraries ( , , , , etc)
logutils368almost 2 years agoUtilities for slightly better logging in Go (Golang) extending the standard logger
logxi359over 6 years ago12-factor app logger that is fast and makes you happy
lumberjack4,899about 2 years agoSimple rolling logger, implements io.WriteCloser
mlog33about 8 years agoSimple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output
noodlog44over 3 years agoParametrized 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
onelog414over 7 years agoOnelog 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-log122over 5 years agoHigh performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail)
phuslu/log694almost 2 years agoHigh performance structured logging
pp1,873almost 2 years agoColored pretty printer for Go language
rollingwriter297almost 3 years agoRollingWriter is an auto-rotate implementation with multi policies to provide log file rotation
seelog1,639over 7 years agoLogging functionality with flexible dispatching, filtering, and formatting
slf4g3almost 2 years agoSimple Logging Facade for Golang: Simple structured logging; but powerful, extendable and customizable, with huge amount of learnings from decades of past logging frameworks
slog405almost 2 years agoLightweight, configurable, extensible logger for Go
slog-formatter133almost 2 years agoCommon formatters for slog and helpers to build your own
slog-multi404almost 2 years agoChain of slog.Handler (pipeline, fanout...)
slogorA colorful slog handler
spew6,104over 2 years agoImplements a deep pretty printer for Go data structures to aid in debugging
sqldb-logger364over 2 years agoA logger for Go SQL database driver without modify existing *sql.DB stdlib usage
stdlog48about 11 years agoStdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs
structy/log5over 4 years agoA simple to use log system, minimalist but with features for debugging and differentiation of messages
tail2,728almost 4 years agoGo package striving to emulate the features of the BSD tail program
tint842almost 2 years agoA slog.Handler that writes tinted logs
xlog8over 7 years agoPlugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format
xlog138about 2 years agoStructured logger for aware HTTP handlers with flexible dispatching
xylog16over 3 years agoLeveled and structured logging, dynamic fields, high performance, zone management, simple configuration, and readable syntax
yell1over 4 years agoYet another minimalistic logging library
zap22,167almost 2 years agoFast, structured, leveled logging in Go
zax26almost 2 years agoIntegrate Context with Zap logger, which leads to more flexibility in Go logging
zerolog10,738almost 2 years agoZero-allocation JSON logger
zkits-logger26over 3 years agoA powerful zero-dependency JSON logger
zl6almost 2 years agoHigh Developer Experience, zap based logger. It offers rich functionality but is easy to configure

Awesome Go / Machine Learning

bayesian806almost 3 years agoNaive Bayesian Classification for Golang
CloudForest740over 4 years agoFast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go
ddt37over 5 years agoDynamic decision tree, create trees defining customizable rules
eaopt890over 2 years agoAn evolutionary optimization library
evoli33almost 5 years agoGenetic Algorithm and Particle Swarm Optimization library
fonet83over 5 years agoA Deep Neural Network library written in Go
go-cluster43almost 4 years agoGo implementation of the k-modes and k-prototypes clustering algorithms
go-deep536about 2 years agoA feature-rich neural network library in Go
go-fann116over 11 years agoGo bindings for Fast Artificial Neural Networks(FANN) library
go-featureprocessing121almost 2 years agoFast and convenient feature processing for low latency machine learning in Go
go-galib200over 10 years agoGenetic Algorithms library written in Go / golang
go-pr67over 13 years agoPattern recognition package in Go lang
gobrain561almost 6 years agoNeural Networks written in go
godist40over 11 years agoVarious probability distributions, and associated methods
goga220over 4 years agoGenetic algorithm library for Go
GoLearn9,308over 2 years agoGeneral Machine Learning library for Go
golinear45about 8 years agoliblinear bindings for Go
GoMind84over 4 years agoA simplistic Neural Network Library in Go
goml1,574about 4 years agoOn-line Machine Learning in Go
GoMLX553almost 2 years agoAn accelerated Machine Learning framework for Go
gonet82over 6 years agoNeural Network for Go
Goptuna262about 2 years agoBayesian optimization framework for black-box functions written in Go. Everything will be optimized
goRecommend206about 12 years agoRecommendation Algorithms library written in Go
gorgonia5,582about 2 years agograph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms
gorse8,652almost 2 years agoAn offline recommender system backend based on collaborative filtering written in Go
goscore99about 7 years agoGo Scoring API for PMML
gosseract2,751about 2 years agoGo package for OCR (Optical Character Recognition), by using Tesseract C++ library
hugot298almost 2 years agoHuggingface transformer pipelines for golang with onnxruntime
libsvm73over 10 years agolibsvm golang version derived work based on LIBSVM 3.14
m2cgen2,826about 2 years agoA CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support
neural-go70about 6 years agoMultilayer perceptron network implemented in Go, with training via backpropagation
ocrserver708about 5 years agoA simple OCR API server, seriously easy to be deployed by Docker and Heroku
onnx-go726about 2 years agoGo Interface to Open Neural Network Exchange (ONNX)
probab20about 11 years agoProbability distribution functions. Bayesian inference. Written in pure Go
randomforest47over 2 years agoEasy to use Random Forest library for Go
regommend314about 7 years agoRecommendation & collaborative filtering engine
shield158over 6 years agoBayesian text classifier with flexible tokenizers and storage backends for Go
tfgo2,432over 2 years agoEasy 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
Varis55about 8 years agoGolang Neural Network

Awesome Go / Messaging

ami28over 6 years agoGo client to reliable queues based on Redis Cluster Streams
amqp1,588about 2 years agoGo RabbitMQ Client Library
APNs23,017almost 2 years agoHTTP/2 Apple Push Notification provider for Go — Send push notifications to iOS, tvOS, Safari and OSX apps
Asynq10,212almost 2 years agoA simple, reliable, and efficient distributed task queue for Go built on top of Redis
Beaver1,551almost 2 years agoA real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps
Bus337over 3 years agoMinimalist message bus implementation for internal communication
Centrifugo8,485almost 2 years agoReal-time messaging (Websockets or SockJS) server in Go
Chanify1,280over 3 years agoA push notification server send message to your iOS devices
Commander66over 5 years agoA high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka
Confluent Kafka Golang Client4,683almost 2 years agoconfluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform
dbus998almost 2 years agoNative Go bindings for D-Bus
drone-line80over 3 years agoSending notifications using a binary, docker or Drone CI
emitter510over 3 years agoEmits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins
event58over 8 years agoImplementation of the pattern observer
EventBus1,763over 2 years agoThe lightweight event bus with async compatibility
gaurun-client11about 5 years agoGaurun Client written in Go
Glue417over 6 years agoRobust Go and Javascript Socket Library (Alternative to Socket.io)
go-eventbus5almost 2 years agoSimple Event Bus package for Go
Go-MediatR213about 2 years agoA library for handling mediator patterns and simplified CQRS patterns within an event-driven architecture, inspired by csharp MediatR library
go-mq92almost 3 years agoRabbitMQ client with declarative configuration
go-notify69almost 6 years agoNative implementation of the freedesktop notification spec
go-nsq2,598about 2 years agothe official Go package for NSQ
go-res63almost 2 years agoPackage for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate
go-socket.io5,755almost 2 years agosocket.io library for golang, a realtime application framework
go-vitotrol23about 2 years agoClient library to Viessmann Vitotrol web service
Gollum939over 3 years agoA n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations
golongpoll657about 3 years agoHTTP longpoll server library that makes web pub-sub simple
gopush-cluster2,082over 9 years agogopush-cluster is a go push server cluster
gorush8,112almost 2 years agoPush notification server using and google
gosd25about 4 years agoA library for scheduling when to dispatch a message to a channel
guble158almost 9 years agoMessaging 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
hare53about 4 years agoA user friendly library for sending messages and listening to TCP sockets
hub147almost 6 years agoA Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges
hypermatch22almost 2 years agoA very fast and efficient Go library for matching events to a large set of rules
jazz18over 7 years agoA simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages
machinery7,585about 2 years agoAsynchronous task queue/job queue based on distributed message passing
mangos687almost 2 years agoPure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability
melody3,785about 2 years agoMinimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling
Mercure3,997almost 2 years agoServer and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events)
messagebus273over 5 years agomessagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD
NATS Go Client5,617almost 2 years agoGo client for the NATS messaging system
nsq-event-bus79over 8 years agoA tiny wrapper around NSQ topic and channel
oplog111almost 2 years agoGeneric oplog/replication system for REST APIs
pubsub431over 2 years agoSimple pubsub package for go
Quamina412almost 2 years agoFast pattern-matching for filtering messages and events
rabbitroutine110over 2 years agoLightweight library that handles RabbitMQ auto-reconnect and publishing retries. The library takes into account the need to re-declare entities in RabbitMQ after reconnection
rabbus97about 7 years agoA tiny wrapper over amqp exchanges and queues
rabtap265almost 2 years agoRabbitMQ swiss army knife cli app
RapidMQ68almost 9 years agoRapidMQ is a lightweight and reliable library for managing of the local messages queue
Ratus109almost 2 years agoRatus is a RESTful asynchronous task queue server
redisqueue131over 2 years agoredisqueue provides a producer and consumer of a queue that uses Redis streams
rmqconn23over 6 years agoRabbitMQ 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
sarama11,629almost 2 years agoGo library for Apache Kafka
Uniqush-Push1,540over 6 years agoRedis backed unified push service for server-side notifications to mobile devices
Watermill7,907almost 2 years agoWorking 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
zmq41,184over 2 years agoGo interface to ZeroMQ version 4. Also available for and

Awesome Go / Microsoft Office

unioffice4,404almost 2 years agoPure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents

Awesome Go / Microsoft Office / Microsoft Excel

excelize18,485almost 2 years agoGolang library for reading and writing Microsoft Excel™ (XLSX) files
exl30over 2 years agoExcel binding to struct written in Go.(Only supports Go1.18+)
go-excel193about 3 years agoA simple and light reader to read a relate-db-like excel as a table
goxlsxwriter21over 4 years agoGolang bindings for libxlsxwriter for writing XLSX (Microsoft Excel) files
xlsx5,887almost 2 years agoLibrary to simplify reading the XML format used by recent version of Microsoft Excel in Go programs
xlsx174almost 6 years agoFast and safe way to read/update your existing Microsoft Excel files in Go programs

Awesome Go / Microsoft Office / Microsoft Word

godocx114about 2 years agoLibrary for reading and writing Microsoft Word (Docx) files

Awesome Go / Miscellaneous / Dependency Injection

alice50over 9 years agoAdditive dependency injection container for Golang
autowire10about 2 years agoDependency injection using Generics and reflection
boot-goComponent-based development with dependency injection using reflections for Go developers
componego26almost 2 years agoA dependency injection framework based on components, allowing dynamic dependency replacement without duplicating code in tests
cosban/diA code generation based dependency injection wiring tool
di234almost 3 years agoA dependency injection container for go programming language
dig3,968about 2 years agoA reflection based dependency injection toolkit for Go
dingo182almost 2 years agoA dependency injection toolkit for Go, based on Guice
do1,889almost 2 years agoA dependency injection framework based on Generics
fx5,982almost 2 years agoA dependency injection based application framework for Go (built on top of dig)
gocontainer20over 6 years agoSimple Dependency Injection Container
goioc/di363almost 2 years agoSpring-inspired Dependency Injection Container
GoLobby/Container566about 2 years agoGoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language
gontainer40almost 2 years agoA dependency injection service container for Go projects
gontainer/gontainer15about 2 years agoA YAML-based Dependency Injection container for GO. It supports dependencies' scopes, and auto-detection of circular dependencies. Gontainer is concurrent-safe
google/wire13,186about 2 years agoAutomated Initialization in Go
HnH/di9almost 2 years agoDI container library that is focused on clean API and flexibility
kinit10over 5 years agoCustomizable dependency injection container with the global mode, cascade initialization and panic-safe finalization
kod173almost 2 years agoA generics based dependency injection framework for Go
linker36over 2 years agoA reflection based dependency injection and inversion of control library with components lifecycle support
nject29almost 2 years agoA type safe, reflective framework for libraries, tests, http endpoints, and service startup
ore13almost 2 years agoLightweight, generic & simple dependency injection (DI) container
wire37about 5 years agoStrict Runtime Dependency Injection for Golang

Awesome Go / Miscellaneous / Project Layout

ardanlabs/service3,616almost 2 years agoA for building production grade scalable web service applications
cookiecutter-golang693over 2 years agoA Go application boilerplate template for quick starting projects following production best practices
go-blueprint6,136almost 2 years agoAllows users to spin up a quick Go project using a popular framework
go-module30almost 2 years agoTemplate for a typical module written on Go
go-sample130over 7 years agoA sample layout for Go application projects with the real code
go-starter507over 2 years agoAn opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers
go-todo-backend321over 3 years agoGo Todo Backend example using modular project layout for product microservice
gobase61over 3 years agoA simple skeleton for golang application with basic setup for real golang application
golang-standards/project-layout49,931almost 2 years agoSet 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/seed486almost 2 years agoGo application GitHub repository template
goxygen3,531almost 2 years agoGenerate a modern Web project with Go and Angular, React, or Vue in seconds
insidieux/inizio18over 3 years agoGolang project layout generator with plugins
kickstart.go76almost 2 years agoMinimalistic single-file Go HTTP server template without third-party dependencies
modern-go-application1,861almost 2 years agoGo application boilerplate and example applying modern practices
nunu1,994about 2 years agoNunu is a scaffolding tool for building Go applications
pagoda2,229almost 2 years agoRapid, easy full-stack web development starter kit built in Go
scaffold149over 7 years agoScaffold generates a starter Go project layout. Lets you focus on business logic implemented
wangyoucao577/go-project-layout26over 5 years agoSet of practices and discussions on how to structure Go project layout

Awesome Go / Miscellaneous / Strings

bexp20almost 2 years agoGo implementation of Brace Expansion mechanism to generate arbitrary strings
caps54over 2 years agoA case conversion library
go-formatterImplements surrounded by curly braces format strings
gobeam/Stringy235over 2 years agoString manipulation library to convert string to camel case, snake case, kebab case / slugify etc
strcase6almost 2 years agoCase-insensitive implementation of the standard library's strings/bytes packages
strutil207over 4 years agoString utilities
sttr966almost 2 years agocross-platform, cli app to perform various operations on string
xstrings1,406over 2 years agoCollection of useful string functions ported from other languages

Awesome Go / Miscellaneous / Uncategorized

anagent15about 8 years agoMinimalistic, pluggable Golang evloop/timer handler with dependency-injection
antch261over 6 years agoA fast, powerful and extensible web crawling & scraping framework
archiver4,442almost 2 years agoLibrary and command for making and extracting .zip and .tar.gz archives
autoflags41over 4 years agoGo package to automatically define command line flags from struct fields
avgRating17about 9 years agoCalculate average score and rating based on Wilson Score Equation
banner453over 5 years agoAdd beautiful banners into your Go applications
base64Captcha2,155about 2 years agoBase64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha
basexx5about 3 years agoConvert to, from, and between digit strings in various number bases
battery250almost 3 years agoCross-platform, normalized battery information library
bitio246over 3 years agoHighly optimized bit-level Reader and Writer for Go
browscap_go49over 3 years agoGoLang Library for
captcha156over 2 years agoPackage captcha provides an easy to use, unopinionated API for captcha generation
common4almost 2 years agoA library for server framework
conv383about 5 years agoPackage conv provides fast and intuitive conversions across Go types
datacounter49over 3 years agoGo counters for readers/writer/http.ResponseWriter
faker95almost 3 years agoRandom fake data and struct generator for Go
ffmt308almost 5 years agoBeautify data display for Humans
gatus6,711almost 2 years agoAutomated service health dashboard
go-commandbus12over 4 years agoA slight and pluggable command-bus for Go
go-commons-pool1,229over 3 years agoGeneric object pool for Golang
go-openapiCollection of packages to parse and utilize open-api schemas
go-resiliency2,234about 2 years agoResiliency patterns for golang
go-unarr284almost 2 years agoDecompression library for RAR, TAR, ZIP and 7z archives
gofakeit4,608almost 2 years agoRandom data generator written in go
gommit112almost 2 years agoAnalyze git commit messages to ensure they follow defined patterns
gopsutil10,711almost 2 years agoCross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc)
gosh36over 3 years agoProvide Go Statistics Handler, Struct, Measure Method
gosms1,453over 5 years agoYour own local SMS gateway in Go that can be used to send SMS
gotoprom109almost 2 years agoType-safe metrics builder wrapper library for the official Prometheus client
gountries407over 2 years agoPackage that exposes country and subdivision data
gtree246almost 2 years agoProvide CLI, Package and Web for tree output and directories creation from Markdown or programmatically
health782almost 2 years agoA simple and flexible health check library for Go
health452almost 3 years agoEasy to use, extensible health check library
healthcheck269almost 3 years agoAn opinionated and concurrent health-check HTTP handler for RESTful services
hostutils12over 2 years agoA golang library for packing and unpacking FQDNs list
indigo109over 3 years agoDistributed unique ID generator of using Sonyflake and encoded by Base58
lk373over 3 years agoA simple licensing library for golang
llvm1,200almost 2 years agoLibrary for interacting with LLVM IR in pure Go
metrics28over 3 years agoLibrary for metrics instrumentation and Prometheus exposition
morse83about 4 years agoLibrary to convert to and from morse code
numa31almost 2 years agoNUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code
openapi11over 3 years agoOpenAPI 3.x parser
pdfgen71over 8 years agoHTTP service to generate PDF from Json requests
persian87over 2 years agoSome utilities for Persian language in go
sandid47about 4 years agoEvery grain of sand on earth has its own ID
shellwords24over 3 years agoA Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell
shortid937over 4 years agoDistributed generation of super short, unique, non-sequential, URL friendly IDs
shoutrrr1,050about 2 years agoNotification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others
sitemap-format4almost 4 years agoA simple sitemap generator, with a little syntactic sugar
stateless981about 2 years agoA fluent library for creating state machines
stats170about 10 years agoMonitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc
turtle160almost 5 years agoEmojis for Go
url-shortener48over 3 years agoA modern, powerful, and robust URL shortener microservice with mysql support
VarHandler5over 9 years agoGenerate boilerplate http input and output handling
varint14almost 3 years agoA faster varying length integer encoder/decoder than the one provided in the standard library
xdg45over 2 years agoFreeDesktop.org (xdg) Specs implemented in Go
xkg57over 11 years agoX Keyboard Grabber
xz487about 2 years agoPure golang package for reading and writing xz-compressed files

Awesome Go / Natural Language Processing / Language Detection

detectlanguage25over 4 years agoLanguage Detection API Go Client. Supports batch requests, short phrase or single word language detection
getlang171over 5 years agoFast natural language detection package
guesslanguage58almost 9 years agoFunctions to determine the natural language of a unicode text
lingua-go1,192almost 2 years agoAn accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text
whatlanggo644over 3 years agoNatural 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-stem79over 8 years agoImplementation of the porter stemming algorithm
go2vec56about 8 years agoReader and utility functions for word2vec embeddings
golibstemmer20over 12 years agoGo bindings for the snowball libstemmer library including porter 2
gosentiwordnet10over 5 years agoSentiment analyzer using sentiwordnet lexicon in Go
govader44over 3 years agoGo implementation of
govader-backend6over 2 years agoMicroservice implementation of
kagome833almost 2 years agoJP morphological analyzer written in pure Go
libtextcat13over 13 years agoCgo binding for libtextcat C library. Guaranteed compatibility with version 2.2
nlp387about 9 years agoExtract values from strings and fill your structs with nlp
nlp451over 5 years agoGo Natural Language Processing library supporting LSA (Latent Semantic Analysis)
paicehusk29almost 13 years agoGolang implementation of the Paice/Husk Stemming Algorithm
porter12almost 13 years agoThis is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm
porter247almost 6 years agoReally fast Porter 2 stemmer
RAKE.go117over 6 years agoGo port of the Rapid Automatic Keyword Extraction Algorithm (RAKE)
snowball38about 9 years agoSnowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality
spaGO1,759over 2 years agoSelf-contained Machine Learning and Natural Language Processing library in Go
spelling-corrector2over 4 years agoA spelling corrector for the Spanish language or create your own

Awesome Go / Natural Language Processing / Slugifiers

go-slugify94over 6 years agoMake pretty slug with multiple languages support
slug1,177over 2 years agoURL-friendly slugify with multiple languages support
Slugify33over 8 years agoGo slugify application that handles string

Awesome Go / Natural Language Processing / Tokenizers

gojieba2,457almost 2 years agoThis is a Go implementation of which a Chinese word splitting algorithm
gotokenizer21over 7 years agoA tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)
gse2,600about 2 years agoGo efficient text segmentation; support english, chinese, japanese and other
MMSEGO63over 14 years agoThis is a GO implementation of which a Chinese word splitting algorithm
prose3,063over 3 years agoLibrary for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only
segment89almost 4 years agoGo library for performing Unicode Text Segmentation as described in
sentences441over 2 years agoSentence tokenizer: converts text into a list of sentences
shamoji13almost 4 years agoThe shamoji is word filtering package written in Go
stemmer53almost 10 years agoStemmer packages for Go programming language. Includes English and German stemmers
textcat73almost 2 years agoGo package for n-gram based text categorization, with support for utf-8 and raw text

Awesome Go / Natural Language Processing / Translation

ctxi18n50almost 2 years agoContext aware i18n with a short and consise API, pluralization, interpolation, and support. YAML locale definitions are based on
go-i18n3,044almost 2 years agoPackage and an accompanying tool to work with localized text
go-mystem33almost 10 years agoCGo bindings to Yandex.Mystem - russian morphology analyzer
go-pinyin1,642about 3 years agoCN Hanzi to Hanyu Pinyin converter
go-words6over 2 years agoA words table and text resource library for Golang projects
gotext438almost 2 years agoGNU gettext utilities for Go
iuliia-go50over 5 years agoTransliterate Cyrillic → Latin in every possible way
spreak58almost 3 years agoFlexible translation and humanization library for Go, based on the concepts behind gettext
t20over 2 years agoAnother 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

enca16over 10 years agoMinimal cgo bindings for , which detects character encodings
go-unidecode132over 3 years agoASCII transliterations of Unicode text
gounidecode80almost 11 years agoUnicode transliterator (also known as unidecode) for Go
transliterator44over 2 years agoProvides one-way string transliteration with supporting of language-specific transliteration rules

Awesome Go / Networking

arp367almost 4 years agoPackage arp implements the ARP protocol, as described in RFC 826
bart37almost 2 years agoPackage bart provides a fast routing table algorithm
buffstreams254about 6 years agoStreaming protocolbuffer data over TCP made easy
canopus155over 8 years agoCoAP Client/Server implementation (RFC 7252)
cidranger908over 3 years agoFast IP to CIDR lookup for Go
cloudflared9,455almost 2 years agoCloudflare Tunnel client (formerly Argo Tunnel)
dhcp677over 3 years agoPackage dhcp6 implements a DHCPv6 server, as described in RFC 3315
dns8,112almost 2 years agoGo library for working with DNS
dnsmonster317almost 2 years agoPassive DNS Capture/Monitoring Framework
easytcp815over 2 years agoA light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful
ether80over 10 years agoCross-platform Go package for sending and receiving ethernet frames
ethernet278over 4 years agoPackage ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags
event153over 2 years agoSimple I/O event notification library written in Golang
fasthttp22,015almost 2 years agoPackage fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http
fortio3,377almost 2 years agoLoad 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
ftp1,315almost 2 years agoPackage ftp implements a FTP client as described in
ftpserverlib425almost 2 years agoFully featured FTP server library
fullproxy80about 3 years agoA fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols
fwdctl57about 2 years agoA simple and intuitive CLI to manage IPTables forwards in your Linux server
gaio829almost 2 years agoHigh performance async-io networking for Golang in proactor mode
gev1,735over 3 years agogev is a lightweight, fast non-blocking TCP network library based on Reactor mode
gldap111almost 2 years agogldap provides an ldap server implementation and you provide handlers for its ldap operations
gmqtt989almost 3 years agoGmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1
gnet9,825almost 2 years agois a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go
gnet20almost 2 years agois a high-performance networking framework,especially for game servers
gNxI263about 2 years agoA collection of tools for Network Management that use the gNMI and gNOI protocols
go-getter1,665almost 2 years agoGo library for downloading files or directories from various sources using a URL
go-multiproxy6about 2 years agoLibrary 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-powerdns90almost 2 years agoPowerDNS API bindings for Golang
go-sse12over 3 years agoGo client and server implementation of HTML server-sent events
go-stun684about 2 years agoGo implementation of the STUN client (RFC 3489 and RFC 5389)
gobgp3,667almost 2 years agoBGP implemented in the Go Programming Language
gopacket6,375about 2 years agoGo library for packet processing with libpcap bindings
gopcap490over 5 years agoGo wrapper for libpcap
goshark19almost 9 years agoPackage goshark use tshark to decode IP packet and create data struct to analyse packet
gosnmp1,148almost 2 years agoNative Go library for performing SNMP actions
gotcp512about 3 years agoGo package for quickly writing tcp applications
grab1,409over 2 years agoGo package for managing file downloads
graval28almost 6 years agoExperimental FTP server framework
gws1,442about 2 years agoHigh-Performance WebSocket Server & Client With AsyncIO Supporting
HTTPLab4,057over 2 years agoHTTPLabs let you inspect HTTP requests and forge responses
httpproxy28about 2 years agoHTTP proxy handler and dialer
iplib144over 2 years agoLibrary for working with IP addresses (net.IP, net.IPNet), inspired by python and ruby
jazigo217almost 3 years agoJazigo is a tool written in Go for retrieving configuration for multiple network devices
kcp-go4,133almost 2 years agoKCP - Fast and Reliable ARQ Protocol
kcptun13,982almost 2 years agoExtremely simple & fast udp tunnel based on KCP protocol
lhttp691over 8 years agoPowerful websocket framework, build your IM server more easily
linkio53about 9 years agoNetwork link speed simulation for Reader/Writer interfaces
llb15over 10 years agoIt'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
mdns1,204almost 2 years agoSimple mDNS (Multicast DNS) client/server library in Golang
mqttPahoThe Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets
natiu-mqtt89almost 2 years agoA dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems
nbio2,255almost 2 years agoPure 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
netThis repository holds supplementary Go networking libraries
netpoll4,093almost 2 years agoA high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance
NFF-Go1,388almost 4 years agoFramework for rapid development of performant network functions for cloud and bare-metal (former YANFF)
packet80almost 7 years agoSend packets over TCP and UDP. It can buffer messages and hot-swap connections if needed
peerdiscovery648almost 2 years agoPure Go library for cross-platform local peer discovery using UDP multicast
portproxy57almost 12 years agoSimple TCP proxy which adds CORS support to API's which don't support it
psql-wire110almost 2 years agoPostgreSQL server wire protocol. Build your own server and start serving connections
publicip28over 9 years agoPackage publicip returns your public facing IPv4 address (internet egress)
quic-go10,222almost 2 years agoAn implementation of the QUIC protocol in pure Go
raw425over 4 years agoPackage raw enables reading and writing data at the device driver level for a network interface
sdns964almost 2 years agoA high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy
sftp1,527almost 2 years agoPackage sftp implements the SSH File Transfer Protocol as described in
ssh3,733almost 2 years agoHigher-level API for building SSH servers (wraps crypto/ssh)
sslb149over 2 years agoIt's a Super Simples Load Balancer, just a little project to achieve some kind of performance
stun494over 5 years agoGo implementation of RFC 5389 STUN protocol
tcp_server426almost 5 years agoGo library for building tcp servers faster
tcpack172almost 3 years agotcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program
tspool14almost 8 years agoA TCP Library use worker pool to improve performance and protect your server
tun2socks3,474almost 2 years agoA pure go implementation of tun2socks powered by TCP/IP stack
utp176over 3 years agoGo uTP micro transport protocol implementation
vssh964almost 3 years agoGo library for building network and server automation over SSH protocol
water1,963about 2 years agoSimple TUN/TAP library
webhooked37almost 2 years agoA webhook receiver on steroids: handle, secure, format and store a Webhook payload has never been easier
webrtc14,002almost 2 years agoA pure Go implementation of the WebRTC API
winrm424about 2 years agoGo WinRM client to remotely execute commands on Windows machines
xtcp154over 6 years agoTCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol

Awesome Go / Networking / HTTP Clients

fast-shot72almost 2 years agoHit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client
gentleman1,086almost 3 years agoFull-featured plugin-driven HTTP client library
go-cleanhttp377almost 2 years agoGet easily stdlib HTTP client, which does not share any state with other clients
go-http-client80over 2 years agoMake http calls simply and easily
go-otelroundtripper83almost 2 years agoGo http.RoundTripper that emits open telemetry metrics for HTTP requests
go-req22about 4 years agoDeclarative golang HTTP client
go-retryablehttp2,020almost 2 years agoRetryable HTTP client in Go
go-zoox/fetch71almost 2 years agoA Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API
grequests2,145over 2 years agoA Go "clone" of the great and famous Requests library
heimdall2,637over 2 years agoAn enhanced http client with retry and hystrix capabilities
httpretry48over 2 years agoEnriches the default go HTTP client with retry functionality
pester650over 4 years agoGo HTTP client calls with retries, backoff, and concurrency
req4,327almost 2 years agoSimple Go HTTP client with Black Magic (Less code and More efficiency)
request291almost 2 years agoHTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency
requests1,533almost 2 years agoHTTP 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
resty10,268almost 2 years agoSimple HTTP and REST client for Go inspired by Ruby rest-client
rq52about 7 years agoA nicer interface for golang stdlib HTTP client
sling1,690almost 2 years agoSling is a Go HTTP client library for creating and sending API requests

Awesome Go / OpenGL

gl1,099about 2 years agoGo bindings for OpenGL (generated via glow)
glfw1,584over 2 years agoGo bindings for GLFW 3
go-glmatrix11over 5 years agoGo port of library
goxjs/gl177about 3 years agoGo cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android)
goxjs/glfw83about 3 years agoGo cross-platform glfw library for creating an OpenGL context and receiving events
mathgl563almost 2 years agoPure Go math package specialized for 3D math, with inspiration from GLM

Awesome Go / ORM

bob825almost 2 years agoSQL query builder and ORM/Factory generator for Go. Successor of SQLBoiler
bun3,890almost 2 years agoSQL-first Golang ORM. Successor of go-pg
cacheme23almost 5 years agoSchema based, typed Redis caching/memoize framework for Go
CQL17over 2 years agoBuilt on top of GORM, adds compile-time verified queries based on auto-generated code
ent15,734almost 2 years agoAn entity framework for Go. Simple, yet powerful ORM for modeling and querying data
go-dbw14almost 2 years agoA simple package that encapsulates database operations
go-firestorm52almost 5 years agoA simple ORM for Google/Firebase Cloud Firestore
go-sql177over 4 years agoA easy ORM for mysql
go-sqlbuilder1,477almost 2 years agoA flexible and powerful SQL string builder library plus a zero-config ORM
go-store112over 9 years agoSimple and fast Redis backed key-value store library for Go
golobby/orm160about 3 years agoSimple, fast, type-safe, generic orm for developer happiness
GORM37,145almost 2 years agoThe fantastic ORM library for Golang, aims to be developer friendly
gormt2,372almost 2 years agoMysql database to golang gorm struct
gorp3,739almost 2 years agoGo Relational Persistence, ORM-ish library for Go
grimoire164almost 5 years agoGrimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3)
lore14almost 9 years agoSimple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go
marlow13about 6 years agoGenerated ORM from project structs for compile time safety assurances
pop/soda1,453about 2 years agoDatabase migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite
Prisma2,191almost 2 years agoPrisma Client Go, Typesafe database access for Go
reform1,442over 3 years agoBetter ORM for Go, based on non-empty interfaces and code generation
rel772almost 2 years agoModern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
SQLBoiler6,776almost 2 years agoORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema
upper.io/db3,551almost 2 years agoSingle interface for interacting with different data sources through the use of adapters that wrap mature database drivers
XORMSimple and powerful ORM for Go. (Support: MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql and Oracle)
Zoom309over 3 years agoBlazing-fast datastore and querying engine built on Redis

Awesome Go / Package Management

go modulesModules 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
glide8,148about 2 years agoManage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip
godep5,533over 8 years agodependency tool for go, godep helps build packages reproducibly by fixing their dependencies
goop777almost 11 years agoSimple dependency manager for Go (golang), inspired by Bundler
gop49over 7 years agoBuild and manage your Go applications out of GOPATH
gopm2,468about 7 years agoGo Package Manager
govendor4,931over 6 years agoGo Package Manager. Go vendor tool that works with the standard vendor file
gpm1,188almost 9 years agoBarebones dependency manager for Go
gup355almost 2 years agoUpdate binaries installed by "go install"
johnny-deps213almost 6 years agoMinimal dependency version using Git
modgv491over 3 years agoConverts 'go mod graph' output into Graphviz's DOT language
mvn-golang163about 2 years agoplugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure
syft6,371almost 2 years agoA CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems
VenGO124about 10 years agocreate and manage exportable isolated go virtual environments

Awesome Go / Performance

go-instrument232almost 2 years agoAutomatically add spans to all methods and functions
jaeger20,651almost 2 years agoA distributed tracing system
mm-go150about 2 years agoGeneric manual memory management for golang
pixie5,651almost 2 years agoNo instrumentation tracing for Golang applications via eBPF
profile2,013almost 4 years agoSimple profiling support package for Go
statsviz3,232over 2 years agoLive visualization of your Go application runtime statistics
tracer86over 5 years agoSimple, lightweight tracing

Awesome Go / Query Language

api-fu55about 2 years agoComprehensive GraphQL implementation
dasel7,248almost 2 years agoQuery 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
gojsonq2,194almost 4 years agoA simple Go package to Query over JSON Data
goven60over 4 years agoA drop-in query language for any database schema
gqlgen10,018almost 2 years agogo generate based graphql server library
grapher3about 3 years agoA GraphQL field builder utilizing Go generics with extra utilities and features
graphql57over 9 years agographql parser + utilities
graphql4,662almost 2 years agoGraphQL server with a focus on ease of use
graphql-go9,949almost 2 years agoImplementation of GraphQL for Go
gws6about 6 years agoApollos' "GraphQL over Websocket" client and server implementation
jsonpath24almost 3 years agoA query library for retrieving part of JSON based on JSONPath syntax
jsonql276almost 6 years agoJSON query expression library in Golang
jsonslice86almost 2 years agoJsonpath queries with advanced filters
mql45almost 2 years agoModel Query Language (mql) is a query language for your database models
rql343about 2 years agoResource Query Language for REST API
rqp78almost 3 years agoQuery Parser for REST API. Filtering, validations, both , operations are supported directly in the query
straf39over 6 years agoEasily Convert Golang structs to GraphQL objects

Awesome Go / Reflection

copy49over 5 years agoPackage for fast copying structs of different types
Deepcopier452over 6 years agoSimple struct copying for Go
go-deepcopy35almost 2 years agoFast deep copy library
goenum12about 2 years agoA common enumeration struct based on generics and reflection that allows you to quickly define enumerations and use a set of useful default methods
gotype62almost 2 years agoGolang source code parsing, usage like reflect package
gpath40over 9 years agoLibrary to simplify access struct fields with Go's expression in reflection
objwalker3over 4 years agoWalk by go objects with reflection
reflectutils8almost 2 years agoHelpers for working with reflection: struct tag parsing; recursive walking; fill value from string

Awesome Go / Resource Embedding

debme33over 5 years agoCreate an from an existing subdirectory
fileb0x635over 3 years agoSimple tool to embed files in go with focus on "customization" and ease to use
go-resources176almost 4 years agoUnfancy resources embedding with Go
go.rice2,421almost 4 years agogo.rice is a Go package that makes working with resources such as HTML, JS, CSS, images, and templates very easy
mule15about 5 years agoEmbed external resources like images, movies ... into Go source code to create single file binaries using . Focused on simplicity
packr3,411almost 5 years agoThe simple and easy way to embed static files into Go binaries
rebed29over 4 years agoRecreate folder structures and files from Go 1.16's type
statik3,768almost 3 years agoEmbeds static files into a Go executable
templify30about 5 years agoEmbed external template files into Go code to create single file binaries
vfsgen984almost 3 years agoGenerates a vfsdata.go file that statically implements the given virtual filesystem

Awesome Go / Science and Data Analysis

assocentity15over 3 years agoPackage assocentity returns the average distance from words to a given entity
bradleyterry11over 7 years agoProvides a Bradley-Terry Model for pairwise comparisons
calendarheatmap401almost 2 years agoCalendar heatmap in plain Go inspired by Github contribution activity
chart772over 5 years agoSimple Chart Plotting library for Go. Supports many graphs types
dataframe-go1,206over 4 years agoDataframes for machine-learning and statistics (similar to pandas)
decimal42about 4 years agoPackage decimal implements arbitrary-precision decimal floating-point arithmetic
evaler51about 8 years agoSimple floating point arithmetic expression evaluator
ewma440almost 3 years agoExponentially-weighted moving averages
geom56over 8 years ago2D geometry for golang
go-dsp862almost 3 years agoDigital Signal Processing for Go
go-estimate114about 2 years agoState estimation and filtering algorithms in Go
go-gt11about 11 years agoGraph theory algorithms written in "Go" language
go-hep232almost 2 years agoA set of libraries and tools for performing High Energy Physics analyses with ease
godesim23over 4 years agoExtended/multivariable ODE solver framework for event-based simulations with simple API
goent35over 7 years agoGO Implementation of Entropy Measures
gograph71about 2 years agoA golang generic graph library that provides mathematical graph-theory and algorithms
gohistogram175almost 6 years agoApproximate histograms for data streams
gonum7,690almost 2 years agoGonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more
gonum/plot2,756almost 2 years agogonum/plot provides an API for building and drawing plots in Go
goraph739over 4 years agoPure Go graph theory library(data structure, algorithm visualization)
gosl1,837almost 2 years agoGo scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more
GoStats22over 7 years agoGoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions
graph712over 3 years agoLibrary of basic graph algorithms
jsonl-graph74about 2 years agoTool to manipulate JSONL graphs with graphviz support
ode22over 9 years agoOrdinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions
orb918about 2 years ago2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support
pagerank85over 5 years agoWeighted PageRank algorithm implemented in Go
piecewiselinear27almost 3 years agoTiny linear interpolation library
PiHex20almost 2 years agoImplementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi
Poly676almost 2 years agoA Go package for engineering organisms
rootfinding11over 6 years agoroot-finding algorithms library for finding roots of quadratic functions
sparse160about 5 years agoGo Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries
stats2,934over 2 years agoStatistics package with common functions missing from the Golang standard library
streamtools1,312almost 3 years agogeneral purpose, graphical tool for dealing with streams of data
TextRank206about 5 years agoTextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support
topk4almost 2 years agoSliding-window and regular top-K sketches, based on the HeavyKeeper algorithm
triangolatte36about 5 years ago2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs

Awesome Go / Security

acmetool2,056over 3 years agoACME (Let's Encrypt) client tool with automatic renewal
acopw-goSmall cryptographically secure password generator package for Go
acra1,368about 2 years agoNetwork encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system
age17,611almost 2 years agoA simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability
argon2-hashing20over 2 years agolight wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package
argon2pw90about 5 years agoArgon2 password hash generation with constant-time password comparison
autocertAuto provision Let's Encrypt certificates and start a TLS server
BadActor320over 6 years agoIn-memory, application-driven jailer built in the spirit of fail2ban
beelzebub703almost 2 years agoA secure low code honeypot framework, leveraging AI for System Virtualization
booster515almost 2 years agoFast initramfs generator with full-disk encryption support
Cameradar4,143almost 2 years agoTool and library to remotely hack RTSP streams from surveillance cameras
certificates38over 3 years agoAn opinionated tool for generating tls certificates
CertMagic5,068almost 2 years agoMature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal
Coraza2,319almost 2 years agoEnterprise-ready, modsecurity and OWASP CRS compatible WAF library
dongle953almost 2 years agoA simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption
encid3over 2 years agoEncode and decode encrypted integer IDs
firewalld-rest337over 2 years agoA rest application to dynamically update firewalld rules on a linux server
go-generate-password55over 4 years agoPassword generator that can be used on the cli or as a library
go-htpasswd39almost 2 years agoApache htpasswd Parser for Go
go-password-validator507almost 4 years agoPassword validator based on raw cryptographic entropy values
go-peer270almost 2 years agoA software library for creating secure and anonymous decentralized systems
go-yara361about 2 years agoGo Bindings for , the "pattern matching swiss knife for malware researchers (and everyone else)"
goArgonPass18almost 6 years agoArgon2 password hash and verification designed to be compatible with existing Python and PHP implementations
goSecretBoxPassword59about 4 years agoA probably paranoid package for securely hashing and encrypting passwords
Interpol5over 4 years agoRule-based data generator for fuzzing and penetration testing
lego8,092almost 2 years agoPure Go ACME client library and CLI tool (for use with Let's Encrypt)
luks.go89over 2 years agoPure Golang library to manage LUKS partitions
memguard2,562over 2 years agoA pure Go library for handling sensitive values in memory
multikey6over 2 years agoAn n-out-of-N keys encryption/decryption framework based on Shamir's Secret Sharing algorithm
nacl545about 2 years agoGo implementation of the NaCL set of API's
optimus-go363over 6 years agoID hashing and Obfuscation using Knuth's Algorithm
passlib288over 5 years agoFutureproof password hashing library
passwap54almost 2 years agoProvides a unified implementation between different password hashing algorithms
qrand16over 2 years agoClient for the ANU Quantum Numbers (AQN) API, providing quantum-mechanically secure random data
secret29about 2 years agoPrevent your secrets from leaking into logs, std* etc
secure2,288almost 2 years agoHTTP middleware for Go that facilitates some quick security wins
secureio33about 6 years agoAn keyexchanging+authenticating+encrypting wrapper and multiplexer for based on XChaCha20-poly1305, ECDH and ED25519
simple-scrypt198over 5 years agoScrypt package with a simple, obvious API and automatic cost calibration built-in
ssh-vault453almost 2 years agoencrypt/decrypt using ssh keys
sslmgr26about 2 years agoSSL certificates made easy with a high level wrapper around acme/autocert
teler-waf358almost 2 years agoteler-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
themis1,879about 2 years agohigh-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

asn155over 7 years agoAsn.1 BER and DER encoding library for golang
bambam65almost 10 years agogenerator for Cap'n Proto schemas from go
bel42about 2 years agoGenerate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC
binstruct99almost 2 years agoGolang binary decoder for mapping data into the structure
cbor750almost 2 years agoSmall, safe, and easy CBOR encoding and decoding library
colfer746about 2 years agoCode generation for the Colfer binary format
csvutil944about 2 years agoHigh Performance, idiomatic CSV record encoding and decoding to native Go structures
elastic23over 5 years agoConvert slices, maps or any other unknown value across different types at run-time, no matter what
fixedwidth9almost 7 years agoFixed-width text formatting (UTF-8 supported)
fwencoder27over 3 years agoFixed width file parser (encoding and decoding library) for Go
go-capnproto288over 6 years agoCap'n Proto library and parser for go
go-codec1,868over 2 years agoHigh Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support
go-csvlib17almost 2 years agoHigh level and rich functionalities CSV serialization/deserialization library
gogoprotobuf5,669about 3 years agoProtocol Buffers for Go with Gadgets
goprotobuf9,817about 2 years agoGo support, in the form of a library and protocol compiler plugin, for Google's protocol buffers
gotiny21over 2 years agoEfficient Go serialization library, gotiny is almost as fast as serialization libraries that generate code
jsoniter13,484over 2 years agoHigh-performance 100% compatible drop-in replacement of "encoding/json"
mapstructure7,936about 2 years agoGo library for decoding generic map values into native Go structures
php_session_decoder165almost 8 years agoGoLang library for working with PHP session format and PHP Serialize/Unserialize functions
pletter19almost 3 years agoA standard way to wrap a proto message for message brokers
structomap144over 7 years agoLibrary to easily and dynamically generate maps from static structures
unitpacking7about 3 years agoLibrary to pack unit vectors into as fewest bytes as possible

Awesome Go / Server Applications

algernon2,849almost 2 years agoHTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber
Caddy59,088almost 2 years agoCaddy is an alternative, HTTP/2 web server that's easy to configure and use
Clace524almost 2 years agoClace makes internal tool deployment and management easy by implementing an app server for containerized webapps
consulConsul is a tool for service discovery, monitoring and configuration
cortex-tenant111almost 2 years agoPrometheus remote write proxy that adds add Cortex tenant ID header based on metric labels
devd3,441over 2 years agoLocal webserver for developers
discovery1,782about 3 years agoA registry for resilient mid-tier load balancing and failover
dudeldu143about 7 years agoA simple SHOUTcast server
dummy178over 3 years agoRun mock server based off an API contract with one command
Easegress5,789almost 2 years agoA cloud native high availability/performance traffic orchestration system with observability and extensibility
Engity's BifröstHighly customizable SSH server with several ways to authorize a user how to execute its session (local or in containers)
etcd48,056almost 2 years agoHighly-available key value store for shared configuration and service discovery
Euterpe541almost 2 years agoSelf-hosted music streaming server with built-in web UI and REST API
Fider3,073almost 2 years agoFider is an open platform to collect and organize customer feedback
Flagr2,445almost 2 years agoFlagr is an open-source feature flagging and A/B testing service
flipt3,860almost 2 years agoA self contained feature flag solution written in Go and Vue.js
go-feature-flag1,508almost 2 years agoA simple, complete and lightweight self-hosted feature flag solution 100% Open Source
go-proxy-cache132almost 2 years agoSimple Reverse Proxy with Caching, written in Go, using Redis
gondola7about 2 years agoA YAML based golang reverse proxy
jackal1,439about 3 years agoAn XMPP server written in Go
lets-proxy296over 2 years agoReverse proxy for handle https with issue certificates in fly from lets-encrypt
minio48,833almost 2 years agoMinio is a distributed object storage server
Moxy15over 4 years agoMoxy 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-prometheus40about 6 years agoNginx log parser and exporter to Prometheus
nsqA realtime distributed messaging platform
pocketbase42,111almost 2 years agoPocketBase is a realtime backend in 1 file consisting of embedded database (SQLite) with realtime subscriptions, built-in auth management and much more
protoxy35almost 6 years agoA proxy server that converts JSON request bodies to Protocol Buffers
psql-streamer58over 6 years agoStream database events from PostgreSQL to Kafka
riemann-relay2almost 7 years agoRelay to load-balance Riemann events and/or convert them to Carbon
RoadRunner7,965almost 2 years agoHigh-performance PHP application server, load-balancer and process manager
SFTPGo9,632almost 2 years agoFully 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-provider38over 3 years agoSimple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management
Trickster1,996about 2 years agoHTTP reverse proxy cache and time series accelerator
Wish3,714almost 2 years agoMake SSH apps, just like that!

Awesome Go / Stream Processing

go-streams1,935almost 2 years agoGo stream processing library
goio83about 3 years agoAn implementation of IO, Stream, Fiber for Golang, inspired by awesome Scala libraries cats and fs2
machine159almost 2 years agoGo library for writing and generating stream workers with built in metrics and traceability
stream90over 2 years agoGo Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce

Awesome Go / Template Engines

ego582over 3 years agoLightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled
extemplate58almost 4 years agoTiny wrapper around html/template to allow for easy file-based template inheritance
fasttemplate849about 3 years agoSimple and fast template engine. Substitutes template placeholders up to 10x faster than
gomponentsHTML 5 components in pure Go, that look something like this:
got32almost 2 years agoA Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more
goview429almost 3 years agoGoview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application
htmgobuild simple and scalable systems with go + htmx
jet1,272over 2 years agoJet template engine
liquid291almost 2 years agoGo implementation of Shopify Liquid templates
maroto2,266almost 2 years agoA maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple
pongo22,890about 2 years agoDjango-like template-engine for Go
quicktemplate3,138about 2 years agoFast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it
raymond610about 2 years agoComplete handlebars implementation in Go
Razor859almost 2 years agoRazor view engine for Golang
Soy172over 2 years agoClosure templates (aka Soy templates) for Go, following the
sprout99almost 2 years agoUseful template functions for Go templates
tbd25about 5 years agoA really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata
templ8,505almost 2 years agoA HTML templating language that has great developer tooling

Awesome Go / Testing / Testing Frameworks

apitestSimple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams
arch-go1almost 2 years agoArchitecture testing tool for Go projects
assert63about 4 years agoBasic Assertion Library used along side native go testing, with building blocks for custom assertions
baloo777about 4 years agoExpressive and versatile end-to-end HTTP API testing made easy
be103almost 2 years agoThe minimalist generic test assertion library
biff14over 3 years agoBifurcation testing framework, BDD compatible
charlatan203almost 3 years agoTool to generate fake interface implementations for tests
commander226over 2 years agoTool for testing cli applications on windows, linux and osx
cupaloy311over 3 years agoSimple snapshot testing addon for your test framework
dbcleaner161almost 5 years agoClean database for testing purpose, inspired by in Ruby
dft15almost 2 years agoLightweight, zero dependency docker containers for testing (or more)
dsunit45over 2 years agoDatastore testing for SQL, NoSQL, structured files
embedded-postgres883almost 2 years agoRun a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test
endly265almost 2 years agoDeclarative end to end functional testing
envite5about 2 years agoDev and testing environment management framework
fixenv30about 2 years agoFixture manage engine, inspired by pytest fixtures
fluentassert46almost 2 years agoExtensible, type-safe, fluent assertion Go library
flute21almost 2 years agoHTTP client testing framework
frisby278over 6 years agoREST API testing framework
gherkingen77about 2 years agoBDD boilerplate generator and framework
ginkgoBDD Testing Framework for Go
gnomock1,400almost 2 years agointegration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks
go-carpet246almost 2 years agoTool for viewing test coverage in terminal
go-cmp4,247almost 2 years agoPackage for comparing Go values in tests
go-hit255about 2 years agoHit is an http integration test framework written in golang
go-mutesting650about 2 years agoMutation testing for Go source code
go-mysql-test-container3almost 4 years agoGolang MySQL testcontainer to help with MySQL integration testing
go-snapsJest-like snapshot testing in Golang
go-testdeep436about 2 years agoExtremely flexible golang deep comparison, extends the go testing package
go-testpredicate5almost 2 years agoTest predicate style assertions library with extensive diagnostics output
go-vcr1,265almost 2 years agoRecord and replay your HTTP interactions for fast, deterministic and accurate tests
goblin887almost 4 years agoMocha like testing framework of Go
goc824almost 2 years agoGoc is a comprehensive coverage testing system for The Go Programming Language
gocheckMore advanced testing framework alternative to gotest
GoConvey8,282about 2 years agoBDD-style framework with web UI and live reload
gocrest106about 2 years agoComposable hamcrest-like matchers for Go assertions
godog2,334almost 2 years agoCucumber BDD framework for Go
gofight442almost 2 years agoAPI Handler Testing for Golang Router framework
gogiven15over 3 years agoYATSPEC-like BDD testing framework for Go
gomatch47over 5 years agolibrary created for testing JSON against patterns
gomegaRspec like matcher/assertion library
Gont78almost 2 years agoGo network testing toolkit for testing building complex network topologies using Linux namespaces
gospecify52almost 15 years agoThis provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec
gosuite12almost 10 years agoBrings lightweight test suites with setup/teardown facilities to by leveraging Go1.7's Subtests
got265over 2 years agoAn enjoyable golang test framework
gotest.tools518about 2 years agoA collection of packages to augment the go testing package and support common patterns
Hamcrest30over 5 years agofluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results
httpexpect2,569almost 2 years agoConcise, declarative, and easy to use end-to-end HTTP and REST API testing
is1,809over 2 years agoProfessional lightweight testing mini-framework for Go
jsonassert127almost 2 years agoPackage for verifying that your JSON payloads are serialized correctly
keploy5,196almost 2 years agoGenerate Testcase and Data Mocks from API calls automatically
omg.testingtools1almost 5 years agoThe simple library for change a values of private fields for testing
restit55over 2 years agoGo micro framework to help writing RESTful API integration test
schema21almost 7 years agoQuick and easy expression matching for JSON schemas used in requests and responses
stop-and-go10almost 2 years agoTesting helper for concurrency
testcase121almost 2 years agoIdiomatic testing framework for Behavior Driven Development
testcerts70almost 2 years agoDynamically generate self-signed certificates and certificate authorities within your test functions
testcontainers-go3,718almost 2 years agoA 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
testfixtures1,125almost 2 years agoA helper for Rails' like test fixtures to test database applications
Testify23,652almost 2 years agoSacred extension to the standard go testing package
testsql17almost 7 years agoGenerate test data from SQL files before testing and clear it after finished
testza419about 3 years agoFull-featured test framework with nice colorized output
trial6almost 4 years agoQuick and easy extendable assertions without introducing much boilerplate
Tt8over 2 years agoSimple and colorful test tools
wstest102over 5 years agoWebsocket client for unit-testing a websocket http.Handler

Awesome Go / Testing / Mock

counterfeiter1,008almost 2 years agoTool for generating self-contained mock objects
genmockGo mocking system with code generator for building calls of the interface methods
go-localstack79almost 2 years agoTool for using localstack in AWS testing
go-sqlmock6,181about 2 years agoMock SQL driver for testing database interactions
go-txdb676about 2 years agoSingle transaction based database driver mainly for testing purposes
gock2,116almost 2 years agoVersatile HTTP mocking made easy
gomock9,329over 2 years agoMocking framework for the Go programming language
govcr177almost 2 years agoHTTP mock for Golang: record and replay HTTP interactions for offline testing
hoverfly2,366almost 2 years agoHTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI
httpmock1,951almost 2 years agoEasy mocking of HTTP responses from external resources
minimock649almost 2 years agoMock generator for Go interfaces
mockery6,215almost 2 years agoTool to generate Go interfaces
mockhttp23almost 12 years agoMock object for Go http.ResponseWriter
mooncake18about 4 years agoA simple way to generate mocks for multiple purposes
moq2,009almost 2 years agoUtility that generates a struct from any interface. The struct can be used in test code as a mock of the interface
timex70about 6 years agoA test-friendly replacement for the native package
xgo371almost 2 years agoA general pureposed function mocking library

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

go-fuzz4,790almost 2 years agoRandomized testing system
gofuzz1,496almost 4 years agoLibrary for populating go objects with random values
Tavor245almost 8 years agoGeneric fuzzing and delta-debugging framework

Awesome Go / Testing / Selenium and browser control tools

cdp731almost 2 years agoType-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it
chromedp11,178almost 2 years agoa way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol
ggr314over 2 years agoa lightweight server that routes and proxies Selenium WebDriver requests to multiple Selenium hubs
playwright-go2,291almost 2 years agobrowser automation library to control Chromium, Firefox and WebKit with a single API
rod5,502almost 2 years agoA Devtools driver to make web automation and scraping easy
selenoid2,618about 2 years agoalternative Selenium hub server that launches browsers within containers

Awesome Go / Testing / Fail injection

failpoint824over 2 years agoAn implementation of for Golang

Awesome Go / Text Processing / Formatters

address74almost 2 years agoHandles address representation, validation and formatting
align84about 5 years agoA general purpose application that aligns text
bytes544almost 3 years agoFormats and parses numeric byte values (10K, 2M, 3G, etc.)
go-fixedwidth82over 2 years agoFixed-width text formatting (encoder/decoder with reflection)
go-humanize4,383over 2 years agoFormatters for time, numbers, and memory size to human readable format
gotabulate334over 5 years agoEasily pretty-print your tabular data with Go
textwrap5about 7 years agoWraps text at end of lines. Implementation of module from Python

Awesome Go / Text Processing / Markup Languages

bafi105over 2 years agoUniversal JSON, BSON, YAML, XML translator to ANY format using templates
bbConvert12about 2 years agoConverts bbCode to HTML that allows you to add support for custom bbCode tags
blackfriday5,476over 2 years agoMarkdown processor in Go
go-output-format17over 2 years agoOutput go structures into multiple formats (YAML/JSON/etc) in your command line app
go-toml1,751almost 2 years agoGo library for the TOML format with query support and handy cli tools
goldmark3,750almost 2 years agoA Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured
goq262about 5 years agoDeclarative unmarshalling of HTML using struct tags with jQuery syntax (uses GoQuery)
html-to-markdown2,427almost 2 years agoConvert HTML to Markdown. Even works with entire websites and can be extended through rules
htmlquery744almost 2 years agoAn XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression
htmlyaml5about 2 years agoRich rendering of YAML as HTML in Go
htree4almost 2 years agoTraverse, navigate, filter, and otherwise process trees of objects
mxj624over 2 years agoEncode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages
toml4,607almost 2 years agoTOML configuration format (encoder/decoder with reflection)

Awesome Go / Text Processing / Parsers/Encoders/Decoders

allot59over 4 years agoPlaceholder and wildcard text parsing for CLI tools and bots
codetree24almost 7 years agoParses indented code (python, pixy, scarlet, etc.) and returns a tree structure
commonregex896almost 7 years agoA collection of common regular expressions for Go
did91over 3 years agoDID (Decentralized Identifiers) Parser and Stringer in Go
doi10about 9 years agoDocument object identifier (doi) parser in Go
editorconfig-core-go144almost 2 years agoEditorconfig file parser and manipulator for Go
encdec9almost 7 years agoPackage provides a generic interface to encoders and decoders
go-fasttld32almost 2 years agoHigh performance effective top level domains (eTLD) extraction module
go-nmea227almost 2 years agoNMEA parser library for the Go language
go-querystring2,006almost 2 years agoGo library for encoding structs into URL query parameters
go-vcard108almost 2 years agoParse and format vCard
godump174almost 2 years agoPretty print any GO variable with ease, an alternative to Go's
gofeed2,598about 2 years agoParse RSS and Atom feeds in Go
gographviz555over 3 years agoParses the Graphviz DOT language
gonameparts42almost 2 years agoParses human names into individual name parts
ltsv9almost 2 years agoHigh performance reader for Go
normalize46over 5 years agoSanitize, normalize and compare fuzzy text
parseargs-go10over 9 years agostring argument parser that understands quotes and backslashes
parth0over 2 years agoURL path segmentation parsing
prattle7almost 3 years agoScan and parse LL(1) grammars simply and efficiently
sdp113over 6 years agoSDP: Session Description Protocol [ ]
sh7,376almost 2 years agoShell parser and formatter
tokenizer103almost 2 years agoParse any string, slice or infinite buffer to any tokens
vdf44almost 2 years agoA Lexer and Parser for Valves Data Format (known as vdf) written in Go
when1,414almost 2 years agoNatural EN and RU language date/time parser with pluggable rules
xj2go34almost 5 years agoConvert xml or json to go struct

Awesome Go / Text Processing / Regular Expressions

genex77over 6 years agoCount and expand Regular Expressions into all matching Strings
go-wildcard82about 3 years agoSimple and lightweight wildcard pattern matching
goregen90over 4 years agoLibrary for generating random strings from regular expressions
regroup147almost 2 years agoMatch regex expression named groups into go struct using struct tags and automatic parsing
rex197almost 2 years agoRegular expressions builder

Awesome Go / Text Processing / Sanitation

bluemonday3,241about 2 years agoHTML Sanitizer
gofuckyourself67over 3 years agoA sanitization-based swear filter for Go

Awesome Go / Text Processing / Scrapers

colly23,444about 2 years agoFast and Elegant Scraping Framework for Gophers
dataflowkit667over 3 years agoWeb scraping Framework to turn websites into structured data
go-recipe27over 3 years agoA package for scraping recipes from websites
GoQuery14,135almost 2 years agoGoQuery brings a syntax and a set of features similar to jQuery to the Go language
pagser105almost 3 years agoPagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler
Tagify38about 2 years agoProduces a set of tags from given source
walker11over 3 years agoSeamlessly fetch paginated data from any source. Simple and high performance API scraping included
xurls1,193almost 2 years agoExtract urls from text

Awesome Go / Text Processing / RSS

podcast133almost 6 years agoiTunes Compliant and RSS 2.0 Podcast Generator in Golang

Awesome Go / Text Processing / Utility/Miscellaneous

go-runewidth613about 2 years agoFunctions to get fixed width of the character or string
go-zero-width109about 6 years agoZero-width character detection and removal for Go
kace20about 8 years agoCommon case conversions covering common initialisms
petrovich47almost 3 years agoPetrovich is the library which inflects Russian names to given grammatical case
radix192over 8 years agoFast string sorting algorithm
TySug18over 3 years agoAlternative suggestions with respect to keyboard layouts
w2vgrep1,125about 2 years agoA 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

airtable77over 2 years agoGo client library for the
anaconda1,144over 2 years agoGo client library for the Twitter 1.1 API
appstore-sdk-go5over 2 years agoUnofficial Golang SDK for AppStore Connect API
aws-encryption-sdk-go20almost 2 years agoUnofficial Go SDK implementation of the
aws-sdk-go2,704almost 2 years agoThe official AWS SDK for the Go programming language
bqwriter16about 3 years agoHigh Level Go Library to write data into at a high throughout
brewerydb19over 11 years agoGo library for accessing the BreweryDB API
cachet91about 5 years agoGo client library for
circleci65over 2 years agoGo client library for interacting with CircleCI's API
clarifai55almost 2 years agoGo client library for interfacing with the Clarifai API
codeship-go18almost 6 years agoGo client library for interacting with Codeship's API v2
coinpaprika-go23almost 3 years agoGo client library for interacting with Coinpaprika's API
device-check-go24almost 2 years agoGo client library for interacting with v1
discordgo5,141almost 2 years agoGo bindings for the Discord Chat API
disgo89about 3 years agoGo API Wrapper for the Discord API
dusupay-sdk-go3almost 4 years agoUnofficial Dusupay payment gateway API Client for Go
ethrpc269over 2 years agoGo bindings for Ethereum JSON RPC API
facebook1,339almost 2 years agoGo Library that supports the Facebook Graph API
fasapay-sdk-go2over 4 years agoUnofficial Fasapay payment gateway XML API Client for Golang
fcm51over 6 years agoGo library for Firebase Cloud Messaging
gads50almost 5 years agoGoogle Adwords Unofficial API
gami33about 8 years agoGo library for Asterisk Manager Interface
gcm31almost 11 years agoGo library for Google Cloud Messaging
geo-golang518about 2 years agoGo Library to access , , , , , , and geocoding / reverse geocoding APIs
github10,488almost 2 years agoGo library for accessing the GitHub REST API v3
githubql1,130about 2 years agoGo library for accessing the GitHub GraphQL API v4
go-atlassian134almost 2 years agoGo library for accessing the services (Jira, Jira Service Management, Jira Agile, Confluence, Admin Cloud)
go-aws-news17over 2 years agoGo application and library to fetch what's new from AWS
go-chronos8over 8 years agoGo library for interacting with the Job Scheduler
go-gerrit96almost 2 years agoGo cient library for
go-hacknews17about 9 years agoTiny Go client for HackerNews API
go-here13about 6 years agoGo client library around the HERE location based APIs
go-hibp6over 2 years agoSimple Go binding to the "Have I Been Pwned" APIs
go-imgur24about 2 years agoGo client library for
go-jira1,489almost 2 years agoGo client library for
go-lark207almost 2 years agoAn easy-to-use unofficial SDK for and Open Platform
go-marathon199almost 6 years agoGo library for interacting with Mesosphere's Marathon PAAS
go-myanimelist39over 2 years agoGo client library for accessing the
go-openai9,346almost 2 years agoOpenAI ChatGPT, DALL·E, Whisper API library for Go
go-openproject17almost 4 years agoGo client library for interacting with API
go-postman-collection82over 2 years agoGo module to work with (compatible with Insomnia)
go-redoc75over 2 years agoEmbedded OpenAPI/Swagger documentation ui for Go using
go-restcountries3almost 5 years agoGo library for the
go-salesforce33almost 2 years agoGo client library for interacting with the
go-sophos12over 4 years agoGo client library for the with zero dependencies
go-swagger-ui11almost 4 years agoGo library containing precompiled for serving swagger json
go-telegraphTelegraph publishing platform API client
go-trending143over 2 years agoGo library for accessing and at Github
go-twitter1,587almost 4 years agoGo client library for the Twitter v1.1 APIs
go-unsplash75over 3 years agoGo client library for the API
go-xkcd51almost 4 years agoGo client for the xkcd API
go-yaplaGo client library for the Yapla v2.0 API
goagi9over 2 years agoGo library to build Asterisk PBX agi/fastagi applications
goami214over 2 years agoAMI v2 library for Asterisk PBX
GoFreeDB36almost 3 years agoGolang library providing common and simple database abstractions on top of Google Sheets
gogtrends82over 3 years agoGoogle Trends Unofficial API
golang-tmdb127almost 2 years agoGolang wrapper for The Movie Database API v3
golyrics42about 8 years agoGolyrics is a Go library to fetch music lyrics data from the Wikia website
gomalshare12over 7 years agoGo library MalShare API
GoMusicBrainz59over 3 years agoGo MusicBrainz WS2 client library
google4,056almost 2 years agoAuto-generated Google APIs for Go
google-analytics15over 11 years agoSimple wrapper for easy google analytics reporting
google-cloud3,809almost 2 years agoGoogle Cloud APIs Go Client Library
google-email-audit-api8almost 10 years agoGo client library for
google-play-scraper83almost 3 years agoGet data from Google Play Store
gopaapi516over 6 years agoGo Client Library for
gopensky2almost 2 years agoGo client implementation for live's API (airspace ADS-B and Mode S data)
gosip146almost 2 years agoClient library for SharePoint
gostorm129almost 9 years agoGoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells
hipchat104over 10 years agoThis project implements a golang client library for the Hipchat API
hipchat (xmpp)111over 9 years agoA golang package to communicate with HipChat over XMPP
igdb83over 3 years agoGo client for the
ip2location-io-go10about 2 years agoGo wrapper for the IP2Location.io API
jokeapi-go24over 2 years agoGo client for
lark422about 2 years ago/ Open API Go SDK, Support ALL Open API and Event Callback
lastpass-go35over 3 years agoGo client library for the API
libgoffi9about 6 years agoLibrary adapter toolbox for native integration
Medium141almost 8 years agoGolang SDK for Medium's OAuth2 API
megos54about 5 years agoClient library for accessing an cluster
minio-go2,532almost 2 years agoMinio Go Library for Amazon S3 compatible cloud storage
mixpanel61over 3 years agoMixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications
newsapi-go7almost 2 years agoGo client for
openaigo291over 2 years agoOpenAI GPT3/GPT3.5 ChatGPT API client library for Go
patreon-go42about 4 years agoGo library for Patreon API
paypal697almost 2 years agoWrapper for PayPal payment API
playlyfe2over 10 years agoThe Playlyfe Rest API Go SDK
pushover143over 2 years agoGo wrapper for the Pushover API
rawg-sdk-go12over 4 years agoGo library for the API
rrdaclient10about 12 years agoGo Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP
shopify25almost 6 years agoGo Library to make CRUD request to the Shopify API
simples3155about 2 years agoSimple no frills AWS S3 Library using REST with V4 Signing written in Go
slack4,702almost 2 years agoSlack API in Go
smite11about 12 years agoGo package to wraps access to the Smite game API
spotify51about 2 years agoGo Library to access Spotify WEB API
steam32over 2 years agoGo Library to interact with Steam game servers
stripe2,177almost 2 years agoGo client for the Stripe API
swag47over 2 years agoNo 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
textbelt20about 11 years agoGo client for the textbelt.com txt messaging API
translate33over 10 years agoGo online translation package
Trello220over 2 years agoGo wrapper for the Trello API
TripAdvisor2almost 7 years agoGo wrapper for the TripAdvisor API
tumblr8almost 10 years agoGo wrapper for the Tumblr v2 API
twitter-scraper909almost 3 years agoScrape the Twitter Frontend API without authentication and limits
uptimerobot56over 3 years agoGo wrapper and command-line client for the Uptime Robot v2 API
vl-go2over 5 years agoGo client library around the VerifID identity verification layer API
webhooks963about 2 years agoWebhook receiver for GitHub and Bitbucket
wit-go159about 2 years agoGo client for wit.ai HTTP API
ynab70over 2 years agoGo wrapper for the YNAB API
zooz7over 2 years agoGo client for the Zooz API

Awesome Go / Utilities

apm167almost 10 years agoProcess manager for Golang applications with an HTTP API
backscanner64almost 2 years agoA scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward
bed1,277almost 2 years agoA Vim-like binary editor written in Go
blank12about 7 years agoVerify or remove blanks and whitespace from strings
bleep11over 5 years agoPerform any number of actions on any set of OS signals in Go
boilr1,727over 3 years agoBlazingly fast CLI tool for creating projects from boilerplate templates
changie705almost 2 years agoAutomated changelog tool for preparing releases with lots of customization options
chyle158almost 2 years agoChangelog generator using a git repository with multiple configuration possibilities
circuit770almost 2 years agoAn efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern
circuitbreaker1,128over 2 years agoCircuit Breakers in Go
clipboard633about 2 years ago📋 cross-platform clipboard package in Go
clockwork675almost 2 years agoA simple fake clock for golang
cmd154over 2 years agoLibrary for executing shell commands on osx, windows and linux
command13over 10 years agoCommand pattern for Go with thread safe serial and parallel dispatcher
config-file-validator351almost 2 years agoCross Platform tool to validate configuration files
cookie111almost 2 years agoCookie struct parsing and helper package
copy-pasta50over 6 years agoUniversal multi-workstation clipboard that uses S3 like backend for the storage
countries414over 2 years agoFull implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards
countries87almost 3 years agoAll you need when you are working with countries in Go
create-go-app2,628about 2 years agoA powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command
cryptgo156almost 5 years agoCrytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
ctop15,641about 2 years agointerface (e.g. htop) for container metrics
ctxutil25over 6 years agoA collection of utility functions for contexts
cvt48almost 2 years agoEasy and safe convert any value to another type
dbt62over 2 years agoA framework for running self-updating signed binaries from a central, trusted repository
Death196over 4 years agoManaging go application shutdown with signals
delve641about 2 years agoGo debugger
dive48,436about 2 years agoA tool for exploring each layer in a Docker image
dlog17about 9 years agoCompile-time controlled logger to make your release smaller without removing debug calls
EaseProbe2,186almost 2 years agoA 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
equalizer88over 2 years agoQuota manager and rate limiter collection for Go
ergo627about 2 years agoThe management of multiple local services running over different ports made easy
evaluator41over 3 years agoEvaluate an expression dynamically based on s-expression. It's simple and easy to extend
Failsafe-go1,696almost 2 years agoFault tolerance and resilience patterns for Go
filetype2,136over 2 years agoSmall package to infer the file type checking the magic numbers signature
filler18over 9 years agosmall utility to fill structs using "fill" tag
filter151almost 2 years agoprovide filtering, sanitizing, and conversion of Go data
fzf66,191almost 2 years agoCommand-line fuzzy finder written in Go
generate30over 9 years agoruns go generate recursively on a specified path or environment variable and can filter by regex
ghokin44almost 2 years agoParallelized formatter with no external dependencies for gherkin (cucumber, behat...)
git-time-metric981over 4 years agoSimple, seamless, lightweight time tracking for Git
gitbatch1,542over 3 years agomanage your git repositories in one place
gitcs118over 2 years agoGit Commits Visualizer, CLI tool to visualize your Git commits on your local machine
go-actuator15over 4 years agoProduction ready features for Go based web frameworks
go-astitodo64over 2 years agoParse TODOs in your GO code
go-bind-plugin184about 7 years agogo:generate tool for wrapping symbols exported by golang plugins (1.8 only)
go-bsdiff161over 7 years agoPure Go bsdiff and bspatch libraries and CLI tools
go-clip13over 5 years agoA minimalistic clipboard manager for Mac
go-convert22over 2 years agoPackage go-convert enables you to convert a value into another type
go-countries15almost 6 years agoLightweight lookup over ISO-3166 codes
go-dry486almost 3 years agoDRY (don't repeat yourself) package for Go
go-events2almost 2 years agoA go event and event'subscribe package, like wordpress hook functions
go-funk4,827about 2 years agoModern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...)
go-health96over 4 years agoHealth package simplifies the way you add health check to your services
go-httpheader46about 3 years agoGo library for encoding structs into Header fields
go-lambda-cleanup91almost 2 years agoA CLI for removing unused or previous versions of AWS Lambdas
go-lock117over 4 years agogo-lock is a lock library implementing read-write mutex and read-write trylock without starvation
go-pattern-match93about 3 years agoA Pattern matching library inspired by ts-pattern
go-pkg7about 4 years agoA go toolkit
go-problemdetails17over 6 years agoGo package for working with Problem Details
go-qr34almost 2 years agoA native, high-quality and minimalistic QR code generator
go-rate400over 4 years agoTimed rate limiter for Go
go-sitemap-generator220about 2 years agoXML Sitemap generator written in Go
go-trigger246over 9 years agoGo-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project
go-tripper12over 2 years agoTripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits
go-type19almost 2 years agoLibrary providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types
goback49over 5 years agoGo simple exponential backoff package
goctx10almost 6 years agoGet your context value with high performance
godaemon493about 5 years agoUtility to write daemons
godropbox4,175over 2 years agoCommon libraries for writing Go services/applications from Dropbox
gofn52almost 2 years agoHigh performance utility functions written using Generics for Go 1.18+
golarm52about 11 years agoFire alarms with system events
golog61over 7 years agoEasy and lightweight CLI tool to time track your tasks
gopencils451over 7 years agoSmall and simple package to easily consume REST APIs
goplaceholder28over 10 years agoa small golang lib to generate placeholder images
goreadability69over 7 years agoWebpage summary extractor using Facebook Open Graph and arc90's readability
goreleaser13,954almost 2 years agoDeliver Go binaries as fast and easily as possible
goreporter3,128almost 8 years agoGolang tool that does static analysis, unit testing, code review and generate code quality report
goseaweedfs113almost 4 years agoSeaweedFS client library with almost full features
gostrutils45about 2 years agoCollections of string manipulation and conversion functions
gotenv300almost 2 years agoLoad environment variables from or any in Go
goval160about 2 years agoEvaluate arbitrary expressions in Go
graterm26almost 4 years agoProvides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application
grofer357over 3 years agoA system and resource monitoring tool written in Golang!
gubrak485over 3 years agoGolang utility library with syntactic sugar. It's like lodash, but for golang
handy81almost 6 years agoMany utilities and helpers like string handlers/formatters and validators
hostctl1,108over 2 years agoA CLI tool to manage /etc/hosts with easy commands
htcat553over 7 years agoParallel and Pipelined HTTP GET Utility
hub22,851over 2 years agowrap git commands with additional functionality to interact with github from the terminal
immortal806about 2 years ago*nix cross-platform (OS agnostic) supervisor
jet6almost 2 years agoJust Edit Text: a fast and powerful tool for finding and replacing file content and names using regular expressions
jsend21about 5 years agoJSend's implementation written in Go
json-log-viewer127almost 2 years agoInteractive viewer for JSON logs
jump1,805over 2 years agoJump helps you navigate faster by learning your habits
just32about 2 years agoJust a collection of useful functions for working with generic data structures
koazee529almost 6 years agoLibrary inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays
lancet4,791almost 2 years agoA comprehensive, efficient, and reusable util function library of go
lets-go7over 5 years agoGo module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities
limiters474almost 2 years agoRate limiters for distributed applications in Golang with configurable back-ends and distributed locks
lo18,166almost 2 years agoA Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...)
loncha11about 4 years agoA high-performance slice Utilities
lrserver127over 2 years agoLiveReload server for Go
mani449almost 2 years agoCLI tool to help you manage multiple repositories
mc2,897almost 2 years agoMinio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems
mergo2,900almost 2 years agoHelper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements
mimemagic100almost 3 years agoPure Go ultra performant MIME sniffing library/utility
mimesniffer33about 4 years agoA MIME type sniffer for Go
mimetype1,695almost 2 years agoPackage for MIME type detection based on magic numbers
minify3,767almost 2 years agoFast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats
minquery62over 3 years agoMongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off)
moldova169about 9 years agoUtility for generating random data based on an input template
mole1,697over 2 years agocli app to easily create ssh tunnels
mongo-go-pagination130over 3 years agoMongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines
mssqlx103over 2 years agoDatabase client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind
multitick70almost 3 years agoMultiplexor for aligned tickers
myhttp34over 8 years agoSimple API to make HTTP GET requests with timeout support
netbug72almost 11 years agoEasy remote profiling of your services
nfdump11almost 2 years agoRead nfdump netflow files
nostromo143about 2 years agoCLI for building powerful aliases
okrun16almost 12 years agogo run error steamroller
olaf5over 7 years agoTwitter Snowflake implemented in Go
onecache136over 6 years agoCaching library with support for multiple backend stores (Redis, Memcached, filesystem etc)
panicparse3,533almost 2 years agoGroups similar goroutines and colorizes stack dump
pattern-match246over 3 years agoPattern matching library
peco7,699over 2 years agoSimplistic interactive filtering tool
pgo86over 2 years agoConvenient functions for PHP community
pm79almost 3 years agoProcess (i.e. goroutine) manager with an HTTP API
pointer42almost 2 years agoPackage pointer contains helper routines for simplifying the creation of optional fields of basic type
ptr27over 3 years agoPackage that provide functions for simplified creation of pointers from constants of basic types
rclient35almost 7 years agoReadable, flexible, simple-to-use client for REST APIs
remote-touchpad537almost 2 years agoControl mouse and keyboard from a smartphone
repeat85about 6 years agoGo implementation of different backoff strategies useful for retrying operations and heartbeating
request426almost 7 years agoGo HTTP Requests for Humans™
rerun167over 8 years agoRecompiling and rerunning go apps when source changes
rest-go16about 6 years agoA package that provide many helpful methods for working with rest api
retry341over 2 years agoThe most advanced functional mechanism to perform actions repetitively until successful
retry10over 3 years agoA simple but highly configurable retry package for Go
retry66over 4 years agoSimple and easy retry mechanism package for Go
retry12over 6 years agoA pretty simple library to ensure your work to be done
retry-go2,478almost 2 years agoSimple library for retry mechanism
retry-go50almost 8 years agoRetrying made simple and easy for golang
robustly159almost 3 years agoRuns functions resiliently, catching and restarting panics
rospo312almost 2 years agoSimple and reliable ssh tunnels with embedded ssh server in Golang
scan565almost 2 years agoScan golang directly to structs, slices, or primitive types
scan63over 2 years agoScan sql rows into any type powered by generics
scany1,321almost 2 years agoLibrary for scanning data from a database into Go structs and more
serve334almost 2 years agoA static http server anywhere you need
sesh716almost 2 years agoSesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide
set47over 4 years agoPerformant and flexible struct mapping and loose type conversion
shutdown59over 4 years agoApp shutdown hooks for handling
silk14over 4 years agoRead silk netflow files
slice51over 6 years agoType-safe functions for common Go slice operations
sliceconv10over 6 years agoSlice conversion between primitive types
slicer46about 5 years agoMakes working with slices easier
sorty133over 2 years agoFast Concurrent / Parallel Sorting
sqlx16,405about 2 years agoprovides a set of extensions on top of the excellent built-in database/sql package
sshman50almost 4 years agoSSH Manager for authorized_keys files on multiple remote servers
statiks11almost 6 years agoFast, zero-configuration, static HTTP filer server
Storm2,068over 2 years agoSimple and powerful toolkit for BoltDB
structs24almost 9 years agoImplement simple functions to manipulate structs
throttle39about 5 years agoThrottle is an object that will perform exactly one action per duration
tik5almost 6 years agoSimple and easy timing wheel package for Go
tome35over 4 years agoTome was designed to paginate simple RESTful APIs
toolbox198almost 2 years agoSlice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer
UNIS70over 9 years agoCommon Architecture™ for String Utilities in Go
upterm873almost 2 years agoA 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
usql9,125almost 2 years agousql is a universal command-line interface for SQL databases
util292about 4 years agoCollection of useful utility functions. (strings, concurrency, manipulations, ...)
watchhttp33about 2 years agoRun command periodically and expose latest STDOUT or its rich delta as HTTP endpoint
wifiqr263over 2 years agoWi-Fi QR Code Generator
wuzz10,584about 2 years agoInteractive cli tool for HTTP inspection
xferspdy101over 5 years agoXferspdy provides binary diff and patch library in golang
yogo43almost 2 years agoCheck yopmail mails from command line

Awesome Go / UUID

fastuuid0over 3 years agoFast generate UUIDv4 as string or bytes
goid41over 7 years agoGenerate and Parse RFC4122 compliant V4 UUIDs
gouid24almost 2 years agoGenerate cryptographically secure random string IDs with just one allocation
nanoid62about 4 years agoA tiny and efficient Go unique string ID generator
sno91almost 5 years agoCompact, sortable and fast unique IDs with embedded metadata
ulid4,553over 2 years agoGo implementation of ULID (Universally Unique Lexicographically Sortable Identifier)
uniqNo hassle safe, fast unique identifiers with commands
uuid18over 6 years agoGenerate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier
uuid1,592almost 2 years agoImplementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid
uuid5,394almost 2 years agoGo package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services
uuidcheck3almost 2 years agoA tiny, dependency-free Go library that validates UUIDs against standard RFC 4122 formatting, converts UUIDv7() into UTC timestamps
wuid534over 2 years agoAn extremely fast globally unique number generator
xid3,978almost 2 years agoXid is a globally unique id generator library, ready to be safely used directly in your server code

Awesome Go / Validation

checkdigit110over 3 years agoProvide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.)
go-validator22almost 2 years agoValidation library using Generics
gody91almost 2 years agoA lightweight struct validator for Go
govalid51almost 2 years agoFast, tag-based validation for structs
govalidator6,061about 2 years agoValidators and sanitizers for strings, numerics, slices and structs
govalidator1,324over 2 years agoValidate Golang request data with simple rules. Highly inspired by Laravel's request validation
hvalid11over 2 years agohvalid 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
jio112about 2 years agojio is a json schema validator similar to
ozzo-validation3,795over 2 years agoSupports 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
validate1,079almost 2 years agoGo package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features
validate95almost 4 years agoThis package provides a framework for writing validations for Go applications
validator17,080almost 2 years agoGo Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving
Validator7about 2 years agoA lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex
valix29almost 3 years agoGo package for validating requests
Zog210almost 2 years agoA inspired schema builder for runtime value parsing and validation

Awesome Go / Version Control

cliAn open-source GitLab command line tool bringing GitLab's cool features to your command line
froggit-go45almost 2 years agoFroggit-Go is a Go library, allowing to perform actions on VCS providers
git2go1,939over 2 years agoGo bindings for libgit2
githooks105almost 2 years agoPer-repo and shared Git hooks with version control and auto update
go-git6,070almost 2 years agohighly extensible Git implementation in pure Go
go-vcs80about 3 years agomanipulate and inspect VCS repositories in Go
hercules2,643over 3 years agogaining advanced insights from Git repository history
hgo16about 11 years agoHgo is a collection of Go packages providing read-access to local Mercurial repositories

Awesome Go / Video

gmf891about 4 years agoGo bindings for FFmpeg av* libraries
go-astiav408almost 2 years agoBetter C bindings for ffmpeg in GO
go-astisub600almost 2 years agoManipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.)
go-astits544almost 3 years agoParse and demux MPEG Transport Streams (.ts) natively in GO
go-m3u828about 4 years agoParser and generator library for Apple m3u8 playlists. Actively maintained version of quangngotan95/go-m3u8 with improvements and latest HLS playlist parsing compatibility
go-mpd23almost 3 years agoParser and generator library for MPEG-DASH manifest files
goav2,108over 4 years agoComprehensive Go bindings for FFmpeg
gortsplib706almost 2 years agoPure Go RTSP server and client library
libvlc-go438almost 2 years agoGo bindings for libvlc 2.X/3.X/4.X (used by the VLC media player)
m3u81,239almost 2 years agoParser and generator library of M3U8 playlists for Apple HLS
mp4ff482almost 2 years agoLibrary and tools for working with MP4 files containing video, audio, subtitles, or metadata
v4l80over 2 years agoVideo capture library for Linux, written in Go

Awesome Go / Web Frameworks

Atreugo1,245almost 2 years agoHigh performance and extensible micro web framework with zero memory allocations in hot paths
Beego31,683almost 2 years agobeego is an open-source, high-performance web framework for the Go programming language
Confetti FrameworkConfetti is a Go web application framework with an expressive, elegant syntax. Confetti combines the elegance of Laravel and the simplicity of Go
Don55almost 2 years agoA highly performant and simple to use API framework
Echo30,085almost 2 years agoHigh performance, minimalist Go web framework
Fastschema361almost 2 years agoA flexible Go web framework and Headless CMS
Fiber34,302almost 2 years agoAn Express.js inspired web framework build on Fasthttp
Flamingo487almost 2 years agoFramework 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 Commerce523almost 2 years agoProviding e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications
Fuego975almost 2 years agoThe framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code
Gin79,433almost 2 years agoGin 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
Ginrpc291almost 2 years agoGin parameter automatic binding tool,gin rpc tools
Goa5,719almost 2 years agoGoa provides a holistic approach for developing remote APIs and microservices in Go
GoFr3,771almost 2 years agoGofr is an opinionated microservice development framework
GoFrame11,819almost 2 years agoGoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang
golamb7over 2 years agoGolamb makes it easier to write API endpoints for use with AWS Lambda and API Gateway
Gone133almost 2 years agoA lightweight dependency injection and web framework inspired by Spring
goravel3,041almost 2 years agoA Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features
Goyave1,644almost 2 years agoFeature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities
Hertz5,442almost 2 years agoA high-performance and strong-extensibility Go HTTP framework that helps developers build microservices
hiboot181almost 2 years agohiboot is a high performance web application framework with auto configuration and dependency injection support
Huma2,399almost 2 years agoFramework for modern REST/GraphQL APIs with built-in OpenAPI 3, generated documentation, and a CLI
iWF544almost 2 years agoiWF 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
Lit25over 2 years agoHighly performant declarative web framework for Golang, aiming for simplicity and quality of life
Microservice114almost 2 years agoThe framework for the creation of microservices, written in Golang
patron123almost 2 years agoPatron is a microservice framework following best cloud practices with a focus on productivity
PnutmuxPnutmux 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
Revel13,156almost 3 years agoHigh-productivity web framework for the Go language
rk-boot523almost 2 years agoA bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily
rux99almost 2 years agoSimple and fast web framework for build golang HTTP applications
uAdmin344almost 2 years agoFully featured web framework for Golang, inspired by Django
WebGo303almost 2 years agoA micro-framework to build web apps with handler chaining, middleware, and context injection. With standard library-compliant HTTP handlers (i.e., )
Yokai495almost 2 years agoSimple, modular, and observable Go framework for backend applications

Awesome Go / Web Frameworks / Middlewares

client-timing24over 6 years agoAn HTTP client for Server-Timing header
CORS2,698almost 2 years agoEasily add CORS capabilities to your API
echo-middleware15almost 2 years agoMiddleware for Echo framework with logging and metrics
formjson39almost 11 years agoTransparently handle JSON input as a standard form POST
go-fault507almost 2 years agoFault injection middleware for Go
go-server-timing862almost 3 years agoAdd/parse Server-Timing header
Limiter2,125almost 2 years agoDead simple rate limit middleware for Go
ln-paywall151over 7 years agoGo middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin)
mid9about 4 years agoMiscellaneous HTTP middleware features: idiomatic error return from handlers; receive/respond with JSON data; request tracing; and more
rk-gin46over 2 years agoMiddleware for Gin framework with logging, metrics, auth, tracing etc
rk-grpc75almost 3 years agoMiddleware for gRPC with logging, metrics, auth, tracing etc
Tollbooth2,717almost 2 years agoRate limit HTTP request handler
XFF98over 4 years agoHandle header and friends
alice3,142over 2 years agoPainless middleware chaining for Go
catena9about 8 years agohttp.Handler wrapper catenation (same API as "chain")
chain63about 8 years agoHandler wrapper chaining with scoped data (net/context-based "middleware")
gores104over 5 years agoGo package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs
interpose294almost 10 years agoMinimalist net/http middleware for golang
mediary88about 6 years agoadd interceptors to to allow dumping/shaping/tracing/... of requests/responses
muxchain207over 7 years agoLightweight middleware for net/http
negroni7,479over 2 years agoIdiomatic HTTP middleware for Golang
render1,945almost 2 years agoGo package for easily rendering JSON, XML, and HTML template responses
renderer263over 5 years agoSimple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go
rye102over 3 years agoTiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context
stats594almost 4 years agoGo middleware that stores various information about your web application

Awesome Go / Web Frameworks / Routers

alien132over 2 years agoLightweight and fast http router from outer space
bellt54about 4 years agoA simple Go HTTP router
Bone1,288over 7 years agoLightning Fast HTTP Multiplexer
Bxog101about 4 years agoSimple 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
chi18,767almost 2 years agoSmall, fast and expressive HTTP router built on net/context
fasthttprouter872over 7 years agoHigh performance router forked from . The first router fit for
FastRouter23almost 9 years agoa fast, flexible HTTP router written in Go
goblin78over 2 years agoA golang http router based on trie tree
gocraft/web1,509almost 6 years agoMux and middleware package in Go
Goji968about 4 years agoGoji is a minimalistic and flexible HTTP request multiplexer with support for
GoLobby/Router22over 4 years agoGoLobby Router is a lightweight yet powerful HTTP router for the Go programming language
goroute9over 6 years agoSimple yet powerful HTTP request multiplexer
GoRouter154about 2 years agoGoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting
gowww/router185about 3 years agoLightning fast HTTP router fully compatible with the net/http.Handler interface
httprouter16,666about 2 years agoHigh performance router. Use this and the standard http handlers to form a very high performance web framework
httptreemux617about 2 years agoHigh-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter
lars385over 7 years agoIs a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks
mux20,970about 2 years agoPowerful URL router and dispatcher for golang
nchi15almost 2 years agochi-like router built on httprouter with dependency injection based middleware wrappers
ngamux68almost 2 years agoSimple HTTP router for Go
ozzo-routing456over 4 years agoAn extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs
pure150about 3 years agoIs a lightweight HTTP router that sticks to the std "net/http" implementation
Siesta349almost 3 years agoComposable framework to write middleware and handlers
vestigo268almost 6 years agoPerformant, stand-alone, HTTP compliant URL Router for go web applications
violetear107almost 4 years agoGo HTTP router
xmux99over 9 years agoHigh performance muxer based on with support
xujiajun/gorouter532almost 7 years agoA simple and fast HTTP router for Go

Awesome Go / WebAssembly

dom491almost 7 years agoDOM library
Extism Go SDK92almost 2 years agoUniversal, cross-language WebAssembly framework for building plug-in systems and polyglot apps
go-canvas246almost 6 years agoLibrary to use HTML5 Canvas, with all drawing within go code
tinygo15,577almost 2 years agoGo compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM
vert102almost 4 years agoInterop between Go and JS values
wasmbrowsertest192almost 2 years agoRun Go WASM tests in your browser
webapi176almost 4 years agoBindings for DOM and HTML generated from WebIDL

Awesome Go / Windows

d3d9159over 3 years agoGo bindings for Direct3D9
go-ole1,177almost 2 years agoWin32 OLE implementation for golang
gosddl11over 7 years agoConverter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL

Awesome Go / Workflow Frameworks

Cadence-client354almost 2 years agoA framework for authoring workflows and activities running on top of the Cadence orchestration engine made by Uber
Dagu1,688almost 2 years agoNo-code workflow executor. it executes DAGs defined in a simple YAML format
go-dag23about 2 years agoA framework developed in Go that manages the execution of workflows described by directed acyclic graphs
go-taskflow337almost 2 years agoA taskflow-like General-purpose Task-parallel Programming Framework with integrated visualizer and profiler
workflow124almost 2 years agoA tech stack agnostic Event Driven Workflow framework

Awesome Go / XML

XML-Comp21about 8 years agoSimple command line XML comparer that generates diffs of folders, files and tags
xml2map62almost 5 years agoXML to MAP converter written Golang
xmlwriter28over 3 years agoProcedural XML generation API based on libxml2's xmlwriter module
xpath696almost 2 years agoXPath package for Go
xquery158over 8 years agoXQuery lets you extract data from HTML/XML documents using XPath expression
zek756almost 2 years agoGenerate a Go struct from XML

Awesome Go / Zero Trust

Cosign4,566almost 2 years agoContainer Signing, Verification and Storage in an OCI registry
in-toto133almost 2 years agoGo implementation of the in-toto (provides a framework to protect the integrity of the software supply chain) python reference implementation
OpenZiti2,921almost 2 years agoA 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-Vault85almost 2 years agoUtilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication
Spire1,827almost 2 years agoSPIRE (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

apicompat178over 9 years agoChecks recent changes to a Go project for backwards incompatible changes
asty82over 3 years agoConverts golang AST to JSON and JSON to AST
blanketblanket is a tool that helps you catch functions which don't have direct unit tests in your Go packages
ChainJacking56over 4 years agoFind which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack
Chronos429over 4 years agoDetects race conditions statically
dupl346over 2 years agoTool for code clone detection
errcheck2,361almost 2 years agoErrcheck is a program for checking for unchecked errors in Go programs
fatcontext13almost 2 years agoFatcontext detects nested contexts in loops or function literals
gcvis1,102over 7 years agoVisualise Go program GC trace data in real time
go-checkstyle130over 5 years agocheckstyle 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-cleanarch885almost 5 years agogo-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects
go-critic1,867almost 2 years agosource code linter that brings checks that are currently not implemented in other linters
go-mod-outdated653over 3 years agoAn easy way to find outdated dependencies of your Go projects
goast-viewer773almost 3 years agoWeb based Golang AST visualizer
goimportsTool to fix (add, remove) your Go imports automatically
golang-ifood-sdk12about 4 years agoiFood API SDK
golangci-lint15,863almost 2 years 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
golines947almost 2 years agoFormatter that automatically shortens long lines in Go code
GoPlantUML1,887about 2 years agoLibrary and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them
goreturns531almost 3 years agoAdds zero-value return statements to match the func return types
gostatus243almost 3 years agoCommand line tool, shows the status of repositories that contain Go packages
lint67almost 8 years agoRun linters as part of go test
php-parser942over 5 years agoA Parser for PHP written in Go
revive4,844almost 2 years ago– ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for
staticcheck6,252almost 2 years agostaticcheck is on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#
testifylint105almost 2 years ago– A linter that checks usage of
tickgit324almost 3 years agoCLI and go package for surfacing code comment TODOs (in any language) and applying a to identify the author
todocheck428almost 3 years agoStatic code analyser which links TODO comments in code with issues in your issue tracker
unconvert380almost 2 years agoRemove unnecessary type conversions from Go source
usestdlibvars43over 2 years agoA linter that detect the possibility to use variables/constants from the Go standard library
vacuum652almost 2 years agoAn ultra-super-fast, lightweight OpenAPI linter and quality checking tool
validate61about 3 years agoAutomatically validates struct fields with tags
wrapcheck310almost 2 years agoA linter to check that errors from external packages are wrapped

Awesome Go / Editor Plugins

coc-go language server extension for Vim/Neovim568almost 2 years agoThis plugin adds features to Vim/Neovim
Go Doc8over 2 years agoA Visual Studio Code extension for showing definition in output and generating go doc
Go plugin for JetBrains IDEsGo plugin for JetBrains IDEs
go-language-server32over 7 years agoA wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol
go-mode1,392about 2 years agoGo mode for GNU/Emacs
go-plus1,509over 5 years agoGo (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting
gocode5,014over 2 years agoAutocompletion daemon for the Go programming language
goimports-reviser613almost 2 years agoFormatting tool for imports
goprofilingThis extension adds benchmark profiling support for the Go language to VS Code
GoSublime3,419about 6 years agoGolang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features
gounit-vim24almost 8 years agoVim plugin for generating Go tests based on the function's or method's signature
vim-compiler-go89about 10 years agoVim plugin to highlight syntax errors on save
vim-go16,041almost 2 years agoGo development plugin for Vim
vscode-go3,915almost 2 years agoExtension for Visual Studio Code (VS Code) which provides support for the Go language
Watch202over 3 years agoRuns a command in an acme win on file changes

Awesome Go / Go Generate Tools

envdoc68almost 2 years agogenerate documentation for environment variables from Go source files
generic48over 5 years agoflexible data type for Go
genny1,710about 5 years agoElegant generics for Go
gocontracts111over 7 years agobrings design-by-contract to Go by synchronizing the code with the documentation
godal18almost 5 years agoGenerate orm models corresponding to golang by specifying sql ddl file, which can be used by gorm
gonerics114almost 12 years agoIdiomatic Generics in Go
gotests4,975about 3 years agoGenerate Go tests from your source code
gounit81about 8 years agoGenerate Go tests using your own templates
hasgo141over 5 years agoGenerate Haskell inspired functions for your slices
options-gen81almost 2 years agoFunctional options described by Dave Cheney's post "Functional options for friendly APIs"
re2dfaTransform regular expressions into finite state machines and output Go source code
sqlgen84about 3 years agoGenerate gorm, xorm, sqlx, bun, sql code from SQL file or DSN
TOML-to-GoTranslates TOML into a Go type in the browser instantly
xgen340about 2 years agoXSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator

Awesome Go / Go Tools

colorgo113about 6 years agoWrapper around command for colorized output
decouple22over 2 years agoFind “overspecified” function parameters that could be generalized with interface types
depth951over 4 years agoVisualize dependency trees of any package by analyzing imports
docs42over 3 years agoAutomatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard
go-callvis6,016about 2 years agoVisualize call graph of your Go program using dot format
go-size-analyzer1,346almost 2 years agoAnalyze and visualize the size of dependencies in compiled Golang binaries, providing insight into their impact on the final build
go-swagger9,583almost 2 years agoSwagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API
godbg202over 7 years agoImplementation of Rusts macro for quick and easy debugging during development
gomodrun36over 2 years agoGo tool that executes and caches binaries included in go.mod files
gotemplate.ioOnline tool to preview templates live
gotestdox122over 2 years agoShow Go test results as readable sentences
gothanks126over 3 years agoGoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers
igo66over 6 years agoAn igo to go transpiler (new language features for Go language!)
modver19almost 2 years agoCompare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to rules
MoniGO243almost 2 years agoA performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀
OctoLinker5,287almost 3 years agoNavigate through go files efficiently with the OctoLinker browser extension for GitHub
richgo851about 2 years agoEnrich outputs with text decorations
roumon188about 2 years agoMonitor current state of all active goroutines via a command line interface
rts248almost 4 years agoRTS: response to struct. Generates Go structs from server responses
textra6over 3 years agoExtract Go struct field names, types and tags for filtering and exporting
typex203about 3 years agoExamine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration

Awesome Go / Software Packages / DevOps Tools

abbreviate220about 2 years agoabbreviate is a tool turning long strings in to shorter ones with configurable separators, for example to embed branch names in to deployment stack IDs
alaz660almost 2 years agoEffortless, Low-Overhead, eBPF-based Kubernetes Monitoring
aptly13almost 7 years agoaptly is a Debian repository management tool
aurora600about 5 years agoCross-platform web-based Beanstalkd queue server console
awsenv35about 8 years agoSmall binary that loads Amazon (AWS) environment variables for a profile
Balerter301about 2 years agoA self-hosted script-based alerting manager
Blast218over 8 years agoA simple tool for API load testing and batch jobs
bombardier6,090about 2 years agoFast cross-platform HTTP benchmarking tool
bosun3,409about 2 years agoTime Series Alerting Framework
cassowary775about 2 years agoModern cross-platform HTTP load-testing tool written in Go
Ddosify8,446almost 2 years agoHigh-performance load testing tool, written in Golang
decompose88almost 2 years agotool to generate and process Docker containers connections graphs
DepCharge23over 4 years agoHelps orchestrating the execution of commands across the many dependencies in larger projects
DockerOpen platform for distributed applications for developers and sysadmins
docker-go-mingw46almost 2 years agoDocker image for building Go binaries for Windows with MinGW toolchain
Dockerfile-Generator172over 4 years agoA go library and an executable that produces valid Dockerfiles using various input channels
dogo268over 7 years agoMonitoring changes in the source file and automatically compile and run (restart)
drone-jenkins39almost 2 years agoTrigger downstream Jenkins jobs using a binary, docker or Drone CI
drone-scp145almost 2 years agoCopy files and artifacts via SSH using a binary, docker or Drone CI
Dropship64about 8 years agoTool for deploying code via cdn
easyssh-proxy326almost 2 years agoGolang package for easy remote execution through SSH and SCP downloading via
fac1,842over 2 years agoCommand-line user interface to fix git merge conflicts
Flannel8,863almost 2 years agoFlannel is a network fabric for containers, designed for Kubernetes
Fleet device management3,202almost 2 years agoLightweight, programmable telemetry for servers and workstations
gaia5,204about 3 years agoBuild powerful pipelines in any programming language
ghorg1,609almost 2 years agoQuickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket
Gitea45,631almost 2 years agoFork of Gogs, entirely community driven
gitea-github-migratorMigrate all your GitHub repositories, issues, milestones and labels to your Gitea instance
go-furnace98almost 5 years agoHosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean
go-rocket-update103almost 2 years agoA simple way to make self updating Go applications - Supports Github and Gitlab
go-selfupdate1,538about 2 years agoEnable your Go applications to self update
gobrew192over 6 years agogobrew lets you easily switch between multiple versions of go
gobrew381almost 2 years agoGo version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash
godbg228about 8 years agoWeb-based gdb front-end application
GogsA Self Hosted Git Service in the Go Programming Language
gonative339about 10 years agoTool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages
govvv539over 3 years ago“go build” wrapper to easily add version information into Go binaries
gox4,601over 3 years agoDead simple, no frills Go cross compile tool
grapes169about 2 years agoLightweight tool designed to distribute commands over ssh with ease
GVM10,422about 2 years agoGVM provides an interface to manage Go versions
Hey18,306about 2 years agoHey is a tiny program that sends some load to a web application
httpref38almost 2 years agohttpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports
jcli392almost 2 years agoJenkins CLI allows you manage your Jenkins as an easy way
k3d5,516almost 2 years agoLittle helper to run CNCF's k3s in Docker
k3s28,361almost 2 years agoLightweight Kubernetes
k626,297almost 2 years agoA modern load testing tool, using Go and JavaScript
kala2,140over 2 years agoSimplistic, modern, and performant job scheduler
kcli216over 6 years agoCommand line tool for inspecting kafka topics/partitions/messages
kind13,596almost 2 years agoKubernetes IN Docker - local clusters for testing Kubernetes
ko7,705almost 2 years agoCommand line tool for building and deploying Go applications on Kubernetes
kool668almost 2 years agoCommand line tool for managing Docker environments as an easy way
kubeblocks2,241almost 2 years agoKubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s
kubernetes111,689almost 2 years agoContainer Cluster Manager from Google
kubeshark11,112almost 2 years agoAPI traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes
KubeVela6,486almost 2 years agoCloud native application delivery
KubeVPN578almost 2 years agoKubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network
KusionStack912almost 2 years agoA unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach
kwatch965almost 2 years agoMonitor & detect crashes in your Kubernetes(K8s) cluster instantly
lstags334over 3 years agoTool and API to sync Docker images across different registries
lwc32about 4 years agoA live-updating version of the UNIX wc command
manssh298over 4 years agomanssh is a command line tool for managing your ssh alias config easily
Mantil110almost 4 years agoGo specific framework for building serverless applications on AWS that enables you to focus on pure Go code while Mantil takes care of the infrastructure
minikube29,636almost 2 years agoRun Kubernetes locally
Moby68,896almost 2 years agoCollaborative project for the container ecosystem to assemble container-based systems
Mora315over 2 years agoREST server for accessing MongoDB documents and meta data
ostent180almost 4 years agocollects and displays system metrics and optionally relays to Graphite and/or InfluxDB
Packer15,152almost 2 years agoPacker is a tool for creating identical machine images for multiple platforms from a single source configuration
Pewpew423over 2 years agoFlexible HTTP command line stress tester
PipeCD1,099almost 2 years agoA GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications
podinfo5,440almost 2 years agoPodinfo 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
Pomerium4,078almost 2 years agoPomerium is an identity-aware access proxy
Rodent33over 9 years agoRodent helps you manage Go versions, projects and track dependencies
s3-proxy310almost 2 years agoS3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth)
s3gof3r1,143about 5 years agoSmall utility/library optimized for high speed transfer of large objects into and out of Amazon S3
s5cmd2,740almost 2 years agoBlazing fast S3 and local filesystem execution tool
Scaleway-cli890almost 2 years agoManage BareMetal Servers from Command Line (as easily as with Docker)
script5,589almost 2 years agoMaking it easy to write shell-like scripts in Go for DevOps and system administration tasks
sg8almost 10 years agoBenchmarks 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
skm958over 3 years agoSKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
StatusOK1,626about 5 years agoMonitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected
tau3,595almost 2 years agoEasily 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-openapi275almost 3 years agoTerraform 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-profile156almost 2 years agoProfiler for Terraform runs. Generate global stats, resource-level stats or visualizations
tlm1,242about 2 years agoLocal cli copilot, powered by CodeLLaMa
traefik51,813almost 2 years agoReverse proxy and load balancer with support for multiple backends
trubka333over 3 years agoA 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
uTask1,219almost 2 years agoAutomation engine that models and executes business processes declared in yaml
Vegeta23,718almost 2 years agoHTTP load testing tool and library. It's over 9000!
wait-for17over 3 years agoWait for something to happen (from the command line) before continuing. Easy orchestration of Docker services and other things
webhook10,502almost 2 years agoTool which allows user to create HTTP endpoints (hooks) that execute commands on the server
WideWeb-based IDE for Teams using Golang
winrm-cli163over 4 years agoCli tool to remotely execute commands on Windows machines

Awesome Go / Software Packages / Other Software

Better Go PlaygroundGo playground with syntax highlight, code completion and other features
blocky4,855almost 2 years agoFast and lightweight DNS proxy as ad-blocker for local network with many features
borg1,603over 8 years agoTerminal based search engine for bash snippets
boxed79about 8 years agoDropbox based blog engine
Cherry301about 9 years agoTiny webchat server in Go
Circuit1,985almost 3 years agoCircuit 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
Comcast10,322over 2 years agoSimulate bad network connections
confd8,361about 2 years agoManage local application configuration files using templates and data from etcd or consul
crawley268almost 2 years agoWeb scraper/crawler for cli
croc28,340almost 2 years agoEasily and securely send files or folders from one computer to another
Documize2,177over 2 years agoModern wiki software that integrates data from SaaS tools
dp80over 3 years agoThrough SDK for data exchange with blockchain, developers can get easy access to DAPP development
drive6,694over 2 years agoGoogle Drive client for the commandline
Duplicacy5,279almost 2 years agoA cross-platform network and cloud backup tool based on the idea of lock-free deduplication
fjira152almost 2 years agoA fuzzy-search based terminal UI application for Attlasian Jira
Gebug635over 2 years agoA tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly
gfile744over 3 years agoSecurely transfer files between two computers, without any third party, over WebRTC
Go Package Store898almost 3 years agoApp that displays updates for the Go packages in your GOPATH
go-peerflix472over 3 years agoVideo streaming torrent client
goblinGolang binaries in a curl, built by goblins
GoBoy2,609over 3 years agoNintendo Game Boy Color emulator written in Go
gocc621over 3 years agoGocc is a compiler kit for Go written in Go
GoDocTooltip13almost 4 years agoChrome extension for Go Doc sites, which shows function description as tooltip at function list
Gokapi1,729almost 2 years agoLightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload
GoLandFull featured cross-platform Go IDE
GoNB697almost 2 years agoInteractive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab)
Gor18,700almost 2 years agoHttp traffic replication tool, for replaying traffic from production to stage/dev environments in real-time
Guora673over 3 years agoA self-hosted Quora like web application written in Go
hoofli8about 2 years agoGenerate PlantUML diagrams from Chrome or Firefox network inspections
hotswap363over 2 years agoA complete solution to reload your go code without restarting your server, interrupting or blocking any ongoing procedure
hugoFast and Modern Static Website Engine
ide359almost 4 years agoBrowser accessible IDE. Designed for Go with Go
ipe366over 5 years agoOpen source Pusher server implementation compatible with Pusher client libraries written in GO
joincap212almost 2 years agoCommand-line utility for merging multiple pcap files together
JuiceFS11,030almost 2 years agoDistributed POSIX file system built on top of Redis and AWS S3
JujuCloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more
Leaps753over 3 years agoPair programming service using Operational Transforms
lgo2,442almost 6 years agoInteractive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility
limetextLime 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
LiteIDE7,620about 2 years agoLiteIDE is a simple, open source, cross-platform Go IDE
mockingjay560over 4 years agoFake 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
myLG2,697over 6 years agoCommand Line Network Diagnostic tool written in Go
naclpipe23almost 8 years agoSimple NaCL EC25519 based crypto pipe tool written in Go
Neo-cowsay318over 2 years ago🐮 cowsay is reborn. for a New Era
nes5,463about 2 years agoNintendo Entertainment System (NES) emulator written in Go
Orbit185over 5 years agoA simple tool for running commands and generating files from templates
peg1,028almost 2 years agoPeg, Parsing Expression Grammar, is an implementation of a Packrat parser generator
Plik1,497about 2 years agoPlik is a temporary file upload system (Wetransfer like) in Go
portal1,514about 2 years agoPortal is a quick and easy command-line file transfer utility from any computer to another
protoncheck6over 4 years agoProtonMail module for waybar/polybar/yabar/i3blocks
restic26,921almost 2 years agoDe-duplicating backup program
sake658almost 3 years agosake is a command runner for local and remote hosts
scc6,855almost 2 years agoSloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates
Seaweed File System23,207almost 2 years agoFast, Simple and Scalable Distributed File System with O(1) disk seek
shell2http1,356almost 2 years agoExecuting shell commands via http server (for prototyping or remote control)
Snitch17about 8 years agoSimple way to notify your team and many tools when someone has deployed any application via Tsuru
sonic2,028over 2 years agoSonic is a Go Blogging Platform. Simple and Powerful
Stack Up2,486over 2 years agoStack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers
stew198over 2 years agoAn independent package manager for compiled binaries
syncthingOpen, decentralized file synchronization tool and protocol
tcpdog254about 5 years agoeBPF based TCP observability
tcpprobe355over 5 years agoTCP tool for network performance and path monitoring, including socket statistics
term-quiz26almost 8 years agoQuizzes for your terminal
toxiproxy10,918almost 2 years agoProxy to simulate network and system conditions for automated tests
tsuruExtensible and open source Platform as a Service software
vaku153almost 2 years agoCLI & API for folder-based functions in Vault like copy, move, and search
vFlow1,107about 2 years agoHigh-performance, scalable and reliable IPFIX, sFlow and Netflow collector
Wave TerminalWave is an open-source, AI-native terminal built for seamless developer workflows with inline rendering, a modern UI, and persistent sessions
wellington302over 3 years agoSass project management tool, extends the language with sprite functions (like Compass)
woke460over 2 years agoDetect non-inclusive language in your source code
yai691about 2 years agoAI powered terminal assistant
zsan extremely minimal static site generator

Resources / Benchmarks

autobench99about 12 years agoFramework to compare the performance between different Go versions
go-benchmark-app27over 9 years agoPowerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results
go-benchmarks147over 10 years agoFew miscellaneous Go microbenchmarks. Compare some language features to alternative approaches
go-http-routing-benchmark1,654about 3 years agoGo HTTP request router benchmark and comparison
go-json-benchmark9almost 6 years agoGo JSON benchmark
go-ml-benchmarks30over 2 years agobenchmarks for machine learning inference in Go
go-web-framework-benchmark2,083about 2 years agoGo web framework benchmark
go_serialization_benchmarks1,576about 2 years agoBenchmarks of Go serialization methods
gocostmodel61over 5 years agoBenchmarks of common basic operations for the Go language
golang-benchmarks133almost 2 years agoa collection of golang benchmarks
golang-sql-benchmark65over 4 years agoCollection of benchmarks for popular Go database/SQL utilities
gospeed121over 2 years agoGo micro-benchmarks for calculating the speed of language constructs
kvbench26almost 7 years agoKey/Value database benchmark
skynet1,048almost 3 years agoSkynet 1M threads microbenchmark
speedtest-resize240almost 6 years agoCompare various Image resize algorithms for the Go language

Resources / Conferences

GoConTokyo, Japan
GoDaysBerlin, Germany
GoLabFlorence, Italy
GopherChinaShanghai, China
GopherConDenver, USA
GopherCon AustraliaSydney, Australia
GopherCon BrazilFlorianópolis, Brazil
GopherCon EuropeBerlin, Germany
GopherCon IndiaPune, India
GopherCon IsraelTel Aviv, Israel
GopherCon RussiaMoscow, Russia
GopherCon SingaporeMapletree Business City, Singapore
GopherCon UKLondon, UK
GopherCon VietnamHo Chi Minh City, Vietnam
GoWest ConferenceLehi, USA

Resources / E-Books / E-books for purchase

100 Go Mistakes: How to Avoid Them
Black Hat GoGo programming for hackers and pentesters
Build an Orchestrator in Go
Continuous Delivery in GoThis 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 WebAssemblyAn introduction into the TinyGo compiler with projects involving Arduino and WebAssembly
Effective Go: Elegant, efficient, and testable codeUnlock Go’s unique perspective on program design, and start writing simple, maintainable, and testable Go code
For the Love of GoAn introductory book for Go beginners
Go in Practice, Second EditionYour 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: GenericsA guide to understanding and using generics in Go
Lets-GoA step-by-step guide to creating fast, secure and maintanable web applications with Go
Lets-Go-FurtherAdvanced patterns for building APIs and web applications in Go
The Power of Go: TestsA guide to testing in Go
The Power of Go: ToolsA guide to writing command-line tools in Go
Writing A Compiler In Go
Writing An Interpreter In GoBook 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 gRPC284almost 2 years agoThe 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 101A book focusing on Go syntax/semantics and all kinds of details
Go AST Book (Chinese)5,396almost 2 years agoA book focusing on Go packages
Go FasterThis book seeks to shorten your learning curve and help you become a proficient Go programmer, faster
Go Succinctly22almost 8 years agoin Persian
Go with the domainA book showing how to apply DDD, Clean Architecture, and CQRS by practical refactoring
GoBooks17,269almost 2 years agoA curated list of Go books
How To Code in Go eBookA 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,501over 3 years ago
Web Application with Go the Anti-Textbook3,186almost 3 years ago

Resources / Gophers

Free Gophers Pack3,539almost 2 years agoGopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster
Go-gopher-Vector69over 8 years agoGo gopher Vector Data [.ai, .svg]
gopher-logos125about 5 years agoadorable gopher logos
gopher-stickers590almost 7 years ago
gophericons617over 8 years ago
gopherize.me713about 5 years agoGopherize yourself
gophers2,970over 7 years agoGopher artworks by Ashley McNamara
gophers3,522about 4 years agoFree gophers
gophers58about 6 years agorandom gopher graphics
gophers148over 3 years agoGopher amigurumi toy pattern
gophers34over 2 years agoGophers 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-styleguide1,499about 2 years ago
CockroachDB30,270almost 2 years ago
GitLab
Google
Hyperledger15,805almost 2 years ago
Magnetico3,065over 4 years ago
Thanos
Trybe310over 4 years ago
Uber16,005almost 2 years ago

Resources / Social Media / Twitter

@GoDiscussions
@golang
@golang_news
@golangch
@golangweekly

Resources / Social Media / Reddit

r/golang

Resources / Websites

Awesome Go @LibHuntYour go-to Go Toolbox
Awesome Golang Workshops513about 5 years agoA curated list of awesome golang workshops
Awesome Remote Job35,459almost 2 years agoCurated list of awesome remote jobs. A lot of them are looking for Go hackers
awesome-awesomeness32,173over 2 years agoList of other amazingly awesome lists
awesome-go-extra23about 4 years agoParse awesome-go README file and generate a new README file with repo info
Code with MukeshSoftware Engineer and Blogs @ codewithmukesh.com
Coding MysterySolve exciting escape-room-inspired programming challenges using Go
CodinGameLearn Go by solving interactive tasks using small games as practical examples
Go BlogThe official Go blog
Go Code ClubA group of Gophers read and discuss a different Go project every week
Go Community on HashnodeCommunity of Gophers on Hashnode
Go ForumForum to discuss Go
Go Projects124,564almost 2 years agoList of projects on the Go community wiki
Go ProverbsGo Proverbs by Rob Pike
Go Report CardA report card for your Go package
go.devA hub for Go developers
gocryforhelp41almost 9 years agoCollection of Go projects that needs help. Good place to start your open-source way in Go
Golang Developer JobsDeveloper Jobs exclusively for Golang related Roles
Golang NewsLinks and news about Go programming
Golang NuggetA weekly roundup of the best Go content, delivered to your inbox every Monday
Golang ResourcesA curation of the best articles, exercises, talks and videos to learn Go
Golang WeeklyEach monday projects, tutorials and articles about Go
golang-nutsGo mailing list
Google Plus CommunityThe Google+ community for #golang enthusiasts
Gopher Community ChatJoin Our New Slack Community For Gophers ( )
GophercisesFree coding exercises for budding gophers
json2goAdvanced JSON to Go struct conversion - online tool
justforfuncYoutube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy
Learn Go ProgrammingLearn Go concepts with illustrations
Made with Golang
pkg.go.devDocumentation for open source Go packages
r/GolangNews about Go
studygolangThe community of studygolang in China
Trending Go repositories on GitHub todayGood place to find new Go libraries
TutorialEdge - Golang

Resources / Websites / Tutorials

50 Shades of GoTraps, Gotchas, and Common Mistakes for New Golang Devs
A Comprehensive Guide to Structured Logging in GoDelve 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-CommerceBuilding a Golang site for e-commerce (demo included)
A Tour of GoInteractive tour of Go
Build a Database in 1000 lines of codeBuild a NoSQL Database From Zero in 1000 Lines of Code
Build web application with Golang43,360over 2 years agoGolang ebook intro how to build a web app with golang
Building and Testing a REST API in Go with Gorilla Mux and PostgreSQLWe’ll write an API with the help of the powerful Gorilla Mux
Building Go Web Applications and Microservices Using GinGet familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline
Caching Slow Database QueriesHow to cache slow database queries
Canceling MySQLHow to cancel MySQL queries
CodeCrafters Golang TrackAchieve 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 Go120over 3 years agoCollection of programming design patterns implemented in Go
Ethereum Development with Go1,745almost 4 years agoA little e-book on Ethereum Development with Go
Games With GoA video series teaching programming and game development
Go By ExampleHands-on introduction to Go using annotated example programs
Go Cheat Sheet8,467almost 3 years agoGo's reference card
Go database/sql tutorialIntroduction to database/sql
Go in 7 days144about 6 years agoLearn everything about Go in 7 days (from a Nodejs developer)
Go Language TutorialLearn Go language Tutorial
Go TutorialLearn Go programming
Go WebAssembly Tutorial - Building a Simple Calculator
go-clean-template6,372about 2 years agoClean Architecture template for Golang services
go-patterns25,639over 2 years agoCurated list of Go design patterns, recipes and idioms
goapp926almost 2 years agoAn opinionated guideline to structure & develop a Go web application/service
Golang for Node.js Developers4,643over 3 years agoExamples of Golang compared to Node.js for learning
Golang Tutorial GuideA List of Free Courses to Learn the Go Programming Language
golang-examples1,584almost 2 years agoMany examples to learn Golang
GolangbotTutorials to get started with programming in Go
GopherCodingCollection of code snippets and tutorials to help tackle every day issues
GopherSnippetsCode snippets with tests and testable examples for the Go programming language
GosamplesCollection of code snippets that let you solve everyday code problems
GraphQL with GoLearn how to create a Go GraphQL server and client with code generation. Also includes creating REST endpoints
Hackr.ioLearn Go from the best online golang tutorials submitted & voted by the golang programming community
Hex Monscape72about 2 years agoGetting started guidelines in writing maintainable code using Hexagonal Architecture
How to Benchmark: dbq vs sqlx vs GORMLearn how to benchmark in Go. As a case-study, we will benchmark dbq, sqlx and GORM
How To Deploy a Go Web Application with DockerLearn how to use Docker for Go development and how to build production Docker images
How to Use Godog for Behavior-driven Development in GoGet started with Godog — a Behavior-driven development framework for building and testing Go applications
Learn Go with 1000+ Exercises18,987over 2 years agoLearn Go with thousands of examples, exercises, and quizzes
Learn Go with TDD22,299almost 2 years agoLearn Go with test-driven development
Learning Go by examplesSeries of articles in order to learn Golang language by concrete applications as example
Microservices with GoDive deep into building microservices using Go, including gRPC
package mainYouTube channel about Programming in Go
Programming with Google GoCoursera Specialization to learn about Go from scratch
Scaling Go ApplicationsEverything about building, deploying and scaling Go applications in production
The world’s easiest introduction to WebAssembly with Golang
Understanding Go in a visual wayLearn Go visually
W3basic Go TutorialsW3Basic provides an in-depth tutorial and well-organized content to learn Golang programming
Working with Go1,152over 6 years agoIntro to go for experienced programmers
Your basic GoHuge collection of tutorials and how to's

Resources / Websites / Guided Learning

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

Backlinks from these awesome lists:

More related projects: