Cute Gopher Mascot

Awesome Go 🚀

Search for amazing Go language libraries and tools! 🔍✨

Refine Your Search

Search Results 🔍

Found 1540 Go libraries matching your search!

Ergo

3611

An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang.

Actor ModelLibraries for building actor-based programs.

Goakt

177

Fast and Distributed Actor framework using protocol buffers as message for Golang.

Actor ModelLibraries for building actor-based programs.

Hollywood

1180

Blazingly fast and light-weight Actor engine written in Golang.

Actor ModelLibraries for building actor-based programs.

ProtoActor

5055

Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin.

Actor ModelLibraries for building actor-based programs.

chromem-go

235

Embeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence.

Artificial IntelligenceLibraries for building programs that leverage AI.

langchaingo

4428

LangChainGo is a framework for developing applications powered by language models.

Artificial IntelligenceLibraries for building programs that leverage AI.

LocalAI

23787

Open Source OpenAI alternative, self-host AI models.

Artificial IntelligenceLibraries for building programs that leverage AI.

Ollama

92508

Run large language models locally.

Artificial IntelligenceLibraries for building programs that leverage AI.

OllamaFarm

29

Manage, load-balance, and failover packs of Ollamas

Artificial IntelligenceLibraries for building programs that leverage AI.

flac

316

Native Go FLAC encoder/decoder with support for FLAC streams.

Audio and MusicLibraries for manipulating audio.

gaad

126

Native Go AAC bitstream parser.

Audio and MusicLibraries for manipulating audio.

GoAudio

346

Native Go Audio Processing Library.

Audio and MusicLibraries for manipulating audio.

jwt-go

7085

A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs.

Authentication and OAuthLibraries for implementing authentication schemes.

jwx

1928

Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies

Authentication and OAuthLibraries for implementing authentication schemes.

gno

886

A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains.

BlockchainTools for building blockchains.

gosamplerate

34

libsamplerate bindings for go.

Audio and MusicLibraries for manipulating audio.

id3v2

336

ID3 decoding and encoding library for Go.

Audio and MusicLibraries for manipulating audio.

malgo

294

Mini audio library.

Audio and MusicLibraries for manipulating audio.

minimp3

125

Lightweight MP3 decoder library.

Audio and MusicLibraries for manipulating audio.

Oto

1567

A low-level library to play sound on multiple platforms.

Audio and MusicLibraries for manipulating audio.

PortAudio

700

Go bindings for the PortAudio audio I/O library.

Audio and MusicLibraries for manipulating audio.

authboss

3833

Modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure it, and start building your app without having to build an authentication system each time.

Authentication and OAuthLibraries for implementing authentication schemes.

cosmos-sdk

6231

A Framework for Building Public Blockchains in the Cosmos Ecosystem.

BlockchainTools for building blockchains.

branca

84

branca token [specification implementation](https://github.com/tuupola/branca-spec) for Golang 1.15+.

Authentication and OAuthLibraries for implementing authentication schemes.

casbin

17616

Authorization library that supports access control models like ACL, RBAC, and ABAC.

Authentication and OAuthLibraries for implementing authentication schemes.

cookiestxt

16

provides a parser of cookies.txt file format.

Authentication and OAuthLibraries for implementing authentication schemes.

go-guardian

552

Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.

Authentication and OAuthLibraries for implementing authentication schemes.

go-jose

318

Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.

Authentication and OAuthLibraries for implementing authentication schemes.

gologin

1815

chainable handlers for login with OAuth1 and OAuth2 authentication providers.

Authentication and OAuthLibraries for implementing authentication schemes.

gorbac

1601

provides a lightweight role-based access control (RBAC) implementation in Golang.

Authentication and OAuthLibraries for implementing authentication schemes.

gosession

254

This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, or at least it tries to become one.

Authentication and OAuthLibraries for implementing authentication schemes.

goth

5487

provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.

Authentication and OAuthLibraries for implementing authentication schemes.

jeff

265

Simple, flexible, secure, and idiomatic web session management with pluggable backends.

Authentication and OAuthLibraries for implementing authentication schemes.

jwt

354

Lightweight JSON Web Token (JWT) library.

Authentication and OAuthLibraries for implementing authentication schemes.

jwt

665

Safe, simple, and fast JSON Web Tokens for Go.

Authentication and OAuthLibraries for implementing authentication schemes.

jwt-auth

231

JWT middleware for Golang http servers with many configuration options.

Authentication and OAuthLibraries for implementing authentication schemes.

keto

4806

Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models.

Authentication and OAuthLibraries for implementing authentication schemes.

loginsrv

1919

JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam.

Authentication and OAuthLibraries for implementing authentication schemes.

oauth2

5345

Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support.

Authentication and OAuthLibraries for implementing authentication schemes.

oidc

1362

Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation

Authentication and OAuthLibraries for implementing authentication schemes.

openfga

2800

Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by [CNCF](https://www.cncf.io/).

Authentication and OAuthLibraries for implementing authentication schemes.

osin

1906

Golang OAuth2 server library.

Authentication and OAuthLibraries for implementing authentication schemes.

otpgen

137

Library to generate TOTP/HOTP codes.

Authentication and OAuthLibraries for implementing authentication schemes.

otpgo

67

Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.

Authentication and OAuthLibraries for implementing authentication schemes.

paseto

852

Golang implementation of Platform-Agnostic Security Tokens (PASETO).

Authentication and OAuthLibraries for implementing authentication schemes.

permissions2

513

Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt.

Authentication and OAuthLibraries for implementing authentication schemes.

scope

38

Easily Manage OAuth2 Scopes In Go.

Authentication and OAuthLibraries for implementing authentication schemes.

scs

2122

Session Manager for HTTP servers.

Authentication and OAuthLibraries for implementing authentication schemes.

securecookie

79

Efficient secure cookie encoding/decoding.

Authentication and OAuthLibraries for implementing authentication schemes.

session

117

Go session management for web servers (including support for Google App Engine - GAE).

Authentication and OAuthLibraries for implementing authentication schemes.

sessions

78

Dead simple, highly performant, highly customizable sessions service for go http servers.

Authentication and OAuthLibraries for implementing authentication schemes.

sessionup

124

Simple, yet effective HTTP session management and identification package.

Authentication and OAuthLibraries for implementing authentication schemes.

sjwt

118

Simple jwt generator and parser.

Authentication and OAuthLibraries for implementing authentication schemes.

cometbft

629

A distributed, Byzantine fault-tolerant, deterministic state machine replication engine. It is a fork of Tendermint Core and implements the Tendermint consensus algorithm.

BlockchainTools for building blockchains.

go-ethereum

47309

Official Go implementation of the Ethereum protocol.

BlockchainTools for building blockchains.

gosemble

11

A Go-based framework for building Polkadot/Substrate-compatible runtimes.

BlockchainTools for building blockchains.

gossamer

428

A Go implementation of the Polkadot Host.

BlockchainTools for building blockchains.

kubo

16096

A blockchain framework implemented in Go. It provides content-addressable storage which can be used for decentralized storage in DApps. It is based on the IPFS protocol.

BlockchainTools for building blockchains.

lnd

7653

A complete implementation of a Lighting Network node.

BlockchainTools for building blockchains.

solana-go

823

Go library to interface with Solana JSON RPC and WebSocket interfaces.

BlockchainTools for building blockchains.

tendermint

5707

High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols.

BlockchainTools for building blockchains.

bot

684

Zero-dependencies Telegram Bot library with additional UI components

Bot BuildingLibraries for building and working with bots.

echotron

367

An elegant and concurrent library for Telegram Bots in Go.

Bot BuildingLibraries for building and working with bots.

ephemeral-roles

90

A Discord bot for managing ephemeral roles based upon voice channel member presence.

Bot BuildingLibraries for building and working with bots.

go-chat-bot

825

IRC, Slack & Telegram bot written in Go.

Bot BuildingLibraries for building and working with bots.

go-sarah

261

Framework to build a bot for desired chat services including LINE, Slack, Gitter, and more.

Bot BuildingLibraries for building and working with bots.

go-tg

101

Generated from official docs Go client library for accessing Telegram Bot API, with batteries for building complex bots included.

Bot BuildingLibraries for building and working with bots.

go-tgbot

121

Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router, and middleware.

Bot BuildingLibraries for building and working with bots.

go-twitch-irc

357

Library to write bots for twitch.tv chat

Bot BuildingLibraries for building and working with bots.

Golang CryptoTrading Bot

1069

A golang implementation of a console-based trading bot for cryptocurrency exchanges.

Bot BuildingLibraries for building and working with bots.

govkbot

50

Simple Go [VK](https://vk.com) bot library.

Bot BuildingLibraries for building and working with bots.

hanu

155

Framework for writing Slack bots.

Bot BuildingLibraries for building and working with bots.

Kelp

1097

official trading and market-making bot for the [Stellar](https://www.stellar.org/) DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.

Bot BuildingLibraries for building and working with bots.

larry

160

Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go.

Bot BuildingLibraries for building and working with bots.

margelet

86

Framework for building Telegram bots.

Bot BuildingLibraries for building and working with bots.

micha

30

Go Library for Telegram bot api.

Bot BuildingLibraries for building and working with bots.

olivia

3676

A chatbot built with an artificial neural network.

Bot BuildingLibraries for building and working with bots.

slack-bot

180

Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github...

Bot BuildingLibraries for building and working with bots.

slacker

40

Easy to use framework to create Slack bots.

Bot BuildingLibraries for building and working with bots.

slackscot

56

Another framework for building Slack bots.

Bot BuildingLibraries for building and working with bots.

tbot

355

Telegram bot server with API similar to net/http.

Bot BuildingLibraries for building and working with bots.

telebot

3960

Telegram bot framework is written in Go.

Bot BuildingLibraries for building and working with bots.

telego

535

Telegram Bot API library for Golang with full one-to-one API implementation.

Bot BuildingLibraries for building and working with bots.

telegram-bot-api

5767

Simple and clean Telegram bot client.

Bot BuildingLibraries for building and working with bots.

teleterm

37

Telegram Bot Exec Terminal Command.

Bot BuildingLibraries for building and working with bots.

Tenyks

178

Service oriented IRC bot using Redis and JSON for messaging.

Bot BuildingLibraries for building and working with bots.

wayback

1768

A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages.

Bot BuildingLibraries for building and working with bots.

1build

226

Command line tool to frictionlessly manage project-specific commands.

Build AutomationLibraries and tools help with build automation.

air

17659

Air - Live reload for Go apps.

Build AutomationLibraries and tools help with build automation.

anko

38

Simple application watcher for multiple programming languages.

Build AutomationLibraries and tools help with build automation.

gaper

80

Builds and restarts a Go project when it crashes or some watched file changes.

Build AutomationLibraries and tools help with build automation.

gob

9

[Gradle](https://docs.gradle.org/)/[Maven](https://maven.apache.org/) like build tool for Go projects.

Build AutomationLibraries and tools help with build automation.

goyek

561

Create build pipelines in Go.

Build AutomationLibraries and tools help with build automation.

mage

4127

Mage is a make/rake-like build tool using Go.

Build AutomationLibraries and tools help with build automation.

mmake

1718

Modern Make.

Build AutomationLibraries and tools help with build automation.

realize

4459

Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths.

Build AutomationLibraries and tools help with build automation.

Task

11207

simple "Make" alternative.

Build AutomationLibraries and tools help with build automation.

taskctl

293

Concurrent task runner.

Build AutomationLibraries and tools help with build automation.

xc

1166

Task runner with README.md defined tasks, executable markdown.

Build AutomationLibraries and tools help with build automation.

asciigraph

2655

Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

Command LineLibraries for building Console Applications and Console User Interfaces.

aurora

1420

ANSI terminal colors that support fmt.Printf/Sprintf.

Command LineLibraries for building Console Applications and Console User Interfaces.

box-cli-maker

531

Make Highly Customized Boxes for your CLI.

Command LineLibraries for building Console Applications and Console User Interfaces.

bubble-table

445

An interactive table component for bubbletea.

Command LineLibraries for building Console Applications and Console User Interfaces.

bubbles

5451

TUI components for bubbletea.

Command LineLibraries for building Console Applications and Console User Interfaces.

bubbletea

27287

Go framework to build terminal apps, based on The Elm Architecture.

Command LineLibraries for building Console Applications and Console User Interfaces.

cfmt

103

Contextual fmt inspired by bootstrap color classes.

Command LineLibraries for building Console Applications and Console User Interfaces.

cfmt

66

Simple and convenient formatted stylized output fully compatible with fmt library.

Command LineLibraries for building Console Applications and Console User Interfaces.

chalk

449

Intuitive package for prettifying terminal/console output.

Command LineLibraries for building Console Applications and Console User Interfaces.

colourize

27

Go library for ANSI colour text in terminals.

Command LineLibraries for building Console Applications and Console User Interfaces.

crab-config-files-templating

7

Dynamic configuration file templating tool for kubernetes manifest or general configuration files.

Command LineLibraries for building Console Applications and Console User Interfaces.

simpletable

528

Simple tables in a terminal with Go.

Command LineLibraries for building Console Applications and Console User Interfaces.

spinner

2333

Go package to easily provide a terminal spinner with options.

Command LineLibraries for building Console Applications and Console User Interfaces.

ctc

47

The non-invasive cross-platform terminal color library does not need to modify the Print method.

Command LineLibraries for building Console Applications and Console User Interfaces.

go-ataman

17

Go library for rendering ANSI colored text templates in terminals.

Command LineLibraries for building Console Applications and Console User Interfaces.

go-colorable

762

Colorable writer for windows.

Command LineLibraries for building Console Applications and Console User Interfaces.

go-colortext

214

Go library for color output in terminals.

Command LineLibraries for building Console Applications and Console User Interfaces.

go-isatty

827

isatty for golang.

Command LineLibraries for building Console Applications and Console User Interfaces.

go-palette

17

Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the [fmt library](https://pkg.go.dev/fmt) for nice terminal layouts.

Command LineLibraries for building Console Applications and Console User Interfaces.

go-prompt

5273

Library for building a powerful interactive prompt, inspired by [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit).

Command LineLibraries for building Console Applications and Console User Interfaces.

gocui

9875

Minimalist Go library aimed at creating Console User Interfaces.

Command LineLibraries for building Console Applications and Console User Interfaces.

gookit/color

1503

Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.

Command LineLibraries for building Console Applications and Console User Interfaces.

lipgloss

7979

Declaratively define styles for color, format and layout in the terminal.

Command LineLibraries for building Console Applications and Console User Interfaces.

marker

48

Easiest way to match and mark strings for colorful terminal outputs.

Command LineLibraries for building Console Applications and Console User Interfaces.

mpb

2300

Multi progress bar for terminal applications.

Command LineLibraries for building Console Applications and Console User Interfaces.

progressbar

4082

Basic thread-safe progress bar that works in every OS.

Command LineLibraries for building Console Applications and Console User Interfaces.

pterm

4780

A library to beautify console output on every platform with many combinable components.

Command LineLibraries for building Console Applications and Console User Interfaces.

tabby

355

A tiny library for super simple Golang tables.

Command LineLibraries for building Console Applications and Console User Interfaces.

table

50

Small library for terminal color based tables.

Command LineLibraries for building Console Applications and Console User Interfaces.

tabular

75

Print ASCII tables from command line utilities without the need to pass large sets of data to the API.

Command LineLibraries for building Console Applications and Console User Interfaces.

termbox-go

4666

Termbox is a library for creating cross-platform text-based interfaces.

Command LineLibraries for building Console Applications and Console User Interfaces.

termdash

2704

Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui).

Command LineLibraries for building Console Applications and Console User Interfaces.

termenv

1734

Advanced ANSI style & color support for your terminal applications.

Command LineLibraries for building Console Applications and Console User Interfaces.

termui

13164

Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib).

Command LineLibraries for building Console Applications and Console User Interfaces.

uilive

1692

Library for updating terminal output in real time.

Command LineLibraries for building Console Applications and Console User Interfaces.

uiprogress

2099

Flexible library to render progress bars in terminal applications.

Command LineLibraries for building Console Applications and Console User Interfaces.

wmenu

216

Easy to use menu structure for cli applications that prompt users to make choices.

Command LineLibraries for building standard or basic Command Line applications.

uitable

735

Library to improve readability in terminal apps using tabular data.

Command LineLibraries for building Console Applications and Console User Interfaces.

yacspin

439

Yet Another CLi Spinner package, for working with terminal spinners.

Command LineLibraries for building Console Applications and Console User Interfaces.

acmd

115

Simple, useful, and opinionated CLI package in Go.

Command LineLibraries for building standard or basic Command Line applications.

argparse

605

Command line argument parser inspired by Python's argparse module.

Command LineLibraries for building standard or basic Command Line applications.

argv

41

Go library to split command line string as arguments array using the bash syntax.

Command LineLibraries for building standard or basic Command Line applications.

carapace

321

Command argument completion generator for spf13/cobra.

Command LineLibraries for building standard or basic Command Line applications.

harvester

131

Harvester, an easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration.

ConfigurationLibraries for configuration parsing.

hjson

331

Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.

ConfigurationLibraries for configuration parsing.

hocon

77

Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files.

ConfigurationLibraries for configuration parsing.

ingo

38

Flags persisted in an ini-like config file.

ConfigurationLibraries for configuration parsing.

carapace-bin

863

Multi-shell multi-command argument completer.

Command LineLibraries for building standard or basic Command Line applications.

carapace-spec

17

Define simple completions using a spec file.

Command LineLibraries for building standard or basic Command Line applications.

climax

216

Alternative CLI with "human face", in spirit of Go command.

Command LineLibraries for building standard or basic Command Line applications.

clîr

177

A Simple and Clear CLI library. Dependency free.

Command LineLibraries for building standard or basic Command Line applications.

cmd

41

Extends the standard `flag` package to support sub commands and more in idiomatic way.

Command LineLibraries for building standard or basic Command Line applications.

cmdr

135

A POSIX/GNU style, getopt-like command-line UI Go library.

Command LineLibraries for building standard or basic Command Line applications.

cobra

37824

Commander for modern Go CLI interactions.

Command LineLibraries for building standard or basic Command Line applications.

command-chain

60

A go library for configure and run command chains - such as pipelining in unix shells.

Command LineLibraries for building standard or basic Command Line applications.

commandeer

173

Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.

Command LineLibraries for building standard or basic Command Line applications.

complete

928

Write bash completions in Go + Go command bash completion.

Command LineLibraries for building standard or basic Command Line applications.

Dnote

2775

A simple command line notebook with multi-device sync.

Command LineLibraries for building standard or basic Command Line applications.

elvish

5654

An expressive programming language and a versatile interactive shell.

Command LineLibraries for building standard or basic Command Line applications.

env

114

Tag-based environment configuration for structs.

Command LineLibraries for building standard or basic Command Line applications.

flag

131

Simple but powerful command line option parsing library for Go supporting subcommand.

Command LineLibraries for building standard or basic Command Line applications.

flaggy

856

A robust and idiomatic flags package with excellent subcommand support.

Command LineLibraries for building standard or basic Command Line applications.

flagvar

43

A collection of flag argument types for Go's standard `flag` package.

Command LineLibraries for building standard or basic Command Line applications.

go-andotp

30

A CLI program to encrypt/decrypt [andOTP](https://github.com/andOTP/andOTP) files. Can be used as a library as well.

Command LineLibraries for building standard or basic Command Line applications.

go-arg

2005

Struct-based argument parsing in Go.

Command LineLibraries for building standard or basic Command Line applications.

go-commander

35

Go library to simplify CLI workflow.

Command LineLibraries for building standard or basic Command Line applications.

go-flags

2570

go command line option parser.

Command LineLibraries for building standard or basic Command Line applications.

go-getoptions

55

Go option parser inspired by the flexibility of Perl’s GetOpt::Long.

Command LineLibraries for building standard or basic Command Line applications.

gocmd

66

Go library for building command line applications.

Command LineLibraries for building standard or basic Command Line applications.

sonic

6802

A blazingly fast JSON serializing & deserializing library.

ConfigurationLibraries for configuration parsing.

gdcache

13

A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

sqrl

275

SQL query builder, fork of Squirrel with improved performance.

DatabaseLibraries for building and using SQL.

job

145

JOB, make your short-term command as a long-term job.

Command LineLibraries for building standard or basic Command Line applications.

kingpin

3488

Command line and flag parser supporting sub commands (superseded by `kong`; see below).

Command LineLibraries for building standard or basic Command Line applications.

liner

1045

Go readline-like library for command-line interfaces.

Command LineLibraries for building standard or basic Command Line applications.

mcli

30

A minimal but very powerful cli library for Go.

Command LineLibraries for building standard or basic Command Line applications.

mitchellh/cli

1730

Go library for implementing command-line interfaces.

Command LineLibraries for building standard or basic Command Line applications.

mkideal/cli

731

Feature-rich and easy to use command-line package based on golang struct tags.

Command LineLibraries for building standard or basic Command Line applications.

mow.cli

871

Go library for building CLI applications with sophisticated flag and argument parsing and validation.

Command LineLibraries for building standard or basic Command Line applications.

ops

1276

Unikernel Builder/Orchestrator.

Command LineLibraries for building standard or basic Command Line applications.

pflag

2402

Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.

Command LineLibraries for building standard or basic Command Line applications.

sand

26

Simple API for creating interpreters and so much more.

Command LineLibraries for building standard or basic Command Line applications.

sflags

150

Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries.

Command LineLibraries for building standard or basic Command Line applications.

strumt

60

Library to create prompt chain.

Command LineLibraries for building standard or basic Command Line applications.

subcmd

8

Another approach to parsing and running subcommands. Works alongside the standard `flag` package.

Command LineLibraries for building standard or basic Command Line applications.

survey

4088

Build interactive and accessible prompts with full support for windows and posix terminals.

Command LineLibraries for building standard or basic Command Line applications.

teris-io/cli

129

Simple and complete API for building command line interfaces in Go.

Command LineLibraries for building standard or basic Command Line applications.

ts

20

Timestamp convert & compare tool.

Command LineLibraries for building standard or basic Command Line applications.

ukautz/clif

129

Small command line interface framework.

Command LineLibraries for building standard or basic Command Line applications.

urfave/cli

22251

Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).

Command LineLibraries for building standard or basic Command Line applications.

version

97

Collects and displays CLI version information in multiple formats along with upgrade notice.

Command LineLibraries for building standard or basic Command Line applications.

wlog

66

Simple logging interface that supports cross-platform color and concurrency.

Command LineLibraries for building standard or basic Command Line applications.

aconfig

540

Simple, useful and opinionated config loader.

ConfigurationLibraries for configuration parsing.

bcl

19

BCL is a configuration language similar to HCL.

ConfigurationLibraries for configuration parsing.

cleanenv

1621

Minimalistic configuration reader (from files, ENV, and wherever you want).

ConfigurationLibraries for configuration parsing.

config

336

Cloud native application configuration. Bind ENV to structs in only two lines.

ConfigurationLibraries for configuration parsing.

config

49

configure your app using file, environment variables, or flags in two lines of code

ConfigurationLibraries for configuration parsing.

configuration

108

Library for initializing configuration structs from env variables, files, flags and 'default' tag.

ConfigurationLibraries for configuration parsing.

configure

56

Provides configuration through multiple sources, including JSON, flags and environment variables.

ConfigurationLibraries for configuration parsing.

configuro

94

opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications.

ConfigurationLibraries for configuration parsing.

confiq

35

Structured data format to config struct decoder library for Go - supporting multiple data formats

ConfigurationLibraries for configuration parsing.

confita

495

Load configuration in cascade from multiple backends into a struct.

ConfigurationLibraries for configuration parsing.

conflate

32

Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema.

ConfigurationLibraries for configuration parsing.

env

4850

Parse environment variables to Go structs (with defaults).

ConfigurationLibraries for configuration parsing.

env

63

A lightweight package for loading environment variables into structs.

ConfigurationLibraries for configuration parsing.

env

4

An environment utility package with support for unmarshaling into structs

ConfigurationLibraries for configuration parsing.

envconfig

240

Read your configuration from environment variables.

ConfigurationLibraries for configuration parsing.

envh

99

Helpers to manage environment variables.

ConfigurationLibraries for configuration parsing.

fig

377

Tiny library for reading configuration from a file and from environment variables (with validation & defaults).

ConfigurationLibraries for configuration parsing.

genv

38

Read environment variables easily with dotenv support.

ConfigurationLibraries for configuration parsing.

omniparser

932

A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema.

Data Integration FrameworksFrameworks for performing ELT / ETL

go-array

19

A Go package that read or set data from map, slice or json.

ConfigurationLibraries for configuration parsing.

go-aws-ssm

58

Go package that fetches parameters from AWS System Manager - Parameter Store.

ConfigurationLibraries for configuration parsing.

go-cfg

42

The library provides a unified way to read configuration data into a structure from various sources, such as env, flags, and configuration files (.json, .yaml, .toml, .env).

ConfigurationLibraries for configuration parsing.

go-conf

10

Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters.

ConfigurationLibraries for configuration parsing.

go-ini

14

A Go package that marshals and unmarshals INI-files.

ConfigurationLibraries for configuration parsing.

go-ssm-config

22

Go utility for loading configuration parameters from AWS SSM (Parameter Store).

ConfigurationLibraries for configuration parsing.

go-up

43

A simple configuration library with recursive placeholders resolution and no magic.

ConfigurationLibraries for configuration parsing.

GoCfg

6

Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple.

ConfigurationLibraries for configuration parsing.

godotenv

8254

Go port of Ruby's dotenv library (Loads environment variables from `.env`).

ConfigurationLibraries for configuration parsing.

gofigure

68

Go application configuration made easy.

ConfigurationLibraries for configuration parsing.

GoLobby/Config

364

GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language.

ConfigurationLibraries for configuration parsing.

gonfig

9

Tag-based configuration parser which loads values from different providers into typesafe struct.

ConfigurationLibraries for configuration parsing.

gookit/config

535

application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.

ConfigurationLibraries for configuration parsing.

ini

3449

Go package to read and write INI files.

ConfigurationLibraries for configuration parsing.

ini

15

INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file.

ConfigurationLibraries for configuration parsing.

joshbetz/config

215

Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.

ConfigurationLibraries for configuration parsing.

kelseyhightower/envconfig

5026

Go library for managing configuration data from environment variables.

ConfigurationLibraries for configuration parsing.

koanf

2720

Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.

ConfigurationLibraries for configuration parsing.

konf

227

The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP).

ConfigurationLibraries for configuration parsing.

konfig

648

Composable, observable and performant config handling for Go for the distributed processing era.

ConfigurationLibraries for configuration parsing.

kong

2095

Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to `kingpin`).

ConfigurationLibraries for configuration parsing.

mini

35

Golang package for parsing ini-style configuration files.

ConfigurationLibraries for configuration parsing.

nasermirzaei89/env

18

Simple useful package for read environment variables.

ConfigurationLibraries for configuration parsing.

nfigure

7

Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML

ConfigurationLibraries for configuration parsing.

onion

116

Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP.

ConfigurationLibraries for configuration parsing.

piper

8

Viper wrapper with config inheritance and key generation.

ConfigurationLibraries for configuration parsing.

store

273

Lightweight configuration manager for Go.

ConfigurationLibraries for configuration parsing.

swap

8

Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).

ConfigurationLibraries for configuration parsing.

typenv

9

Minimalistic, zero dependency, typed environment variables library.

ConfigurationLibraries for configuration parsing.

uConfig

70

Lightweight, zero-dependency, and extendable configuration management.

ConfigurationLibraries for configuration parsing.

viper

26951

Go configuration with fangs.

ConfigurationLibraries for configuration parsing.

xdg

686

Go implementation of the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/) and [XDG user directories](https://wiki.archlinux.org/index.php/XDG_user_directories).

ConfigurationLibraries for configuration parsing.

xdg

79

Cross platform package that follows the [XDG Standard](https://specifications.freedesktop.org/basedir-spec/latest/).

ConfigurationLibraries for configuration parsing.

yamagiconf

16

The "safe subset" of YAML for Go configs.

ConfigurationLibraries for configuration parsing.

bingo

40

Fast, zero-allocation, lexicographical-order-preserving packing of native types to bytes.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bit

157

Golang set data structure with bonus bit-twiddling functions.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

Squirrel

6889

Go library that helps you build SQL queries.

DatabaseLibraries for building and using SQL.

abstruse

937

Abstruse is a distributed CI platform.

Continuous IntegrationTools for help with continuous integration.

CDS

4565

Enterprise-Grade CI/CD and DevOps Automation Open Source Platform.

Continuous IntegrationTools for help with continuous integration.

dot

18

A minimal, local first continuous integration system that uses Docker to run jobs concurrently in stages.

Continuous IntegrationTools for help with continuous integration.

drone

32164

Drone is a Continuous Integration platform built on Docker, written in Go.

Continuous IntegrationTools for help with continuous integration.

go-beautiful-html-coverage

12

A GitHub Action to track code coverage in your pull requests, with a beautiful HTML preview, for free.

Continuous IntegrationTools for help with continuous integration.

go-fuzz-action

15

Use Go 1.18's built-in fuzz testing in GitHub Actions.

Continuous IntegrationTools for help with continuous integration.

go-semver-release

10

Automate the semantic versioning of Git repositories.

Continuous IntegrationTools for help with continuous integration.

go-test-coverage

84

Tool and GitHub action which reports issues when test coverage is below set threshold.

Continuous IntegrationTools for help with continuous integration.

gomason

65

Test, Build, Sign, and Publish your go binaries from a clean workspace.

Continuous IntegrationTools for help with continuous integration.

gotestfmt

506

go test output for humans.

Continuous IntegrationTools for help with continuous integration.

goveralls

789

Go integration for Coveralls.io continuous code coverage tracking system.

Continuous IntegrationTools for help with continuous integration.

muffet

2496

Fast website link checker in Go, see [alternatives](https://github.com/lycheeverse/lychee#features).

Continuous IntegrationTools for help with continuous integration.

binpacker

220

Binary packer and unpacker helps user build custom binary stream.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

crunch

96

Go package implementing buffers for handling various datatypes easily.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

overalls

114

Multi-Package go project coverprofile for tools like goveralls.

Continuous IntegrationTools for help with continuous integration.

roveralls

20

Recursive coverage testing tool.

Continuous IntegrationTools for help with continuous integration.

woodpecker

4176

Woodpecker is a community fork of the Drone CI system.

Continuous IntegrationTools for help with continuous integration.

gcss

496

Pure Go CSS Preprocessor.

CSS PreprocessorsLibraries for preprocessing CSS files.

go-libsass

205

Go wrapper to the 100% Sass compatible libsass project.

CSS PreprocessorsLibraries for preprocessing CSS files.

Benthos

8102

A message streaming bridge between a range of protocols.

Data Integration FrameworksFrameworks for performing ELT / ETL

CloudQuery

5817

A high-performance ELT data integration framework with pluggable architecture.

Data Integration FrameworksFrameworks for performing ELT / ETL

go-ef

31

A Go implementation of the Elias-Fano encoding.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

roaring

2480

Go package implementing compressed bitsets.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bitmap

304

Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bitset

1329

Go package implementing bitsets.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bloom

2416

Go package implementing Bloom filters.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bloom

147

Bloom filters implemented in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bloom

86

Golang Bloom filter implementation.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bloomfilter

17

Yet another Bloomfilter implementation in Go, compatible with Java's Guava library.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

boomfilters

1592

Probabilistic data structures for processing continuous, unbounded streams.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

cuckoo-filter

294

Cuckoo filter: a comprehensive cuckoo filter, which is configurable and space optimized compared with other implements, and all features mentioned in original paper are available.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

goradd/maps

39

Go 1.18+ generic map interface for maps; safe maps; ordered maps; ordered, safe maps; etc.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-cache

138

A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

cuckoofilter

1117

Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

ring

138

Go implementation of a high performance, thread safe bloom filter.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

algorithms

803

Algorithms and data structures.CLRS study.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-datastructures

7650

Collection of useful, performant, and thread-safe data structures.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

gods

16211

Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

gostl

1045

Data structure and algorithm library for go, designed to provide functions similar to C++ STL.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

goterator

16

Iterator implementation to provide map and reduce functionalities.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

iter

186

Go implementation of C++ STL iterators and algorithms.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

cmap

91

a thread-safe concurrent map for go, support using `interface{}` as key and auto scale up shards.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

dict

45

Python-like dictionaries (dict) for Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-shelve

6

A persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

concurrent-writer

54

Highly concurrent drop-in replacement for `bufio.Writer`.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

conjungo

127

A small, powerful and flexible merge library.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

count-min-log

66

Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

fsm

63

Finite-State Machine package.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

genfuncs

51

Go 1.18+ generics package inspired by Kotlin's Sequence and Map.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-generics

73

Generic slice, map, set, iterator, and goroutine utilities.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-geoindex

355

In-memory geo index.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-rampart

101

Determine how intervals relate to each other.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-rquad

134

Region quadtrees with efficient point location and neighbour finding.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-tuple

82

Generic tuple implementation for Go 1.18+.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go18ds

45

Go Data Structures using Go 1.18 generics.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

memlog

118

An easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

Vasto

261

A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

go-micro

21864

A distributed systems development framework.

Distributed SystemsPackages that help with building Distributed Systems.

gofal

18

fractional api for Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

gogu

97

A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

gota

3040

Implementation of dataframes, series, and data wrangling methods for Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

hide

69

ID type with marshalling to/from hash to prevent sending IDs to clients.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

hilbert

278

Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

hyperloglog

939

HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

quadtree

36

Generic, zero-alloc, 100%-test covered quadtree.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

queue

267

Multiple thread-safe, generic queue implementations for Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

xo

3718

Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.

DatabaseLibraries for building and using SQL.

slices

17

Functions that operate on slices; like `package strings` but adapted to work with slices.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

slices

20

Pure, generic functions for slices.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

nan

85

Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

null

36

Nullable Go types that can be marshalled/unmarshalled to/from JSON.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

typ

46

Null Types, Safe primitive type conversion and fetching value from complex structures.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

deque

180

A highly optimized double-ended queue.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

deque

570

Fast ring-buffer deque (double-ended queue).

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

goconcurrentqueue

392

Concurrent FIFO queue.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

dsu

14

Disjoint Set data structure implementation in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

golang-set

4153

Thread-Safe and Non-Thread-Safe high-performance sets for Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

goset

52

A useful Set collection implementation for Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

set

27

Simple set data structure implementation in Go using LinkedHashMap.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bleve

10032

Modern text indexing library for go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-adaptive-radix-tree

359

Go implementation of Adaptive Radix Tree.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

go-edlib

476

Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

levenshtein

85

Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

levenshtein

351

Implementation to calculate levenshtein distance in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

bcache

152

Eventually consistent distributed in-memory cache Go library.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

BigCache

7499

Efficient key/value cache for gigabytes of data.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

VictoriaMetrics

12056

fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

goriak

30

Go language driver for Riak KV.

Database DriversLibraries for building and using SQL.

mspm

25

Multi-String Pattern Matching Algorithm for information retrieval.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

parsefields

8

Tools for parse JSON-like logs for collecting unique fields and events.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

ptrie

39

An implementation of prefix tree.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

trie

758

Trie implementation in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

hashsplit

29

Split byte streams into chunks, and arrange chunks into trees, with boundaries determined by content, not position.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

merkle

17

Space-efficient computation of Merkle root hashes and inclusion proofs.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

skiplist

276

Very fast Go Skiplist implementation.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

Kivik

314

Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases.

Database DriversLibraries for building and using SQL.

skiplist

84

Skiplist implementation in Go.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

treap

27

Persistent, fast ordered map using tree heaps.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

treemap

59

Generic key-sorted map using a red-black tree under the hood.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

ordered-concurrently

38

Go module that processes work concurrently and returns output in a channel in the order of input.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

parapipe

31

FIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

pipeline

57

An implementation of pipelines with fan-in and fan-out.

Data Structures and AlgorithmsFrameworks for performing ELT / ETL

2q

40

2Q in-memory cache implementation.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

cache

184

In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

cache2go

2114

In-memory key:value cache which supports automatic invalidation based on timeouts.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

cachego

369

Golang Cache component for multiple drivers.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

clusteredBigCache

45

BigCache with clustering support and individual item expiration.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

coherence-go-client

10

Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

couchcache

63

RESTful caching micro-service backed by Couchbase server.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

EchoVault

393

Embeddable Distributed in-memory data store compatible with Redis clients.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

fastcache

2111

fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

GCache

2592

Cache library with support for expirable Cache, LFU, LRU and ARC.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

go-mcache

97

Fast in-memory key:value store/cache library. Pointer caches.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

gocache

2437

A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

gocache

9

A data race free Go ache library with high performance and auto pruge functionality

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

groupcache

12898

Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

icache

16

A High Performance, Generic, thread-safe, zero-dependency cache package.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

imcache

122

A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

nscache

10

A Go caching framework that supports multiple data source drivers.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

otter

1666

A high performance lockless cache for Go. Many times faster than Ristretto and friends.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

remember-go

139

A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory).

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

sturdyc

322

A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

theine

255

High performance, near optimal in-memory cache with proactive TTL expiration and generics.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

timedmap

71

Map with expiring key-value pairs.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

ttlcache

932

An in-memory cache with item expiration and generics.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

atlas

5780

A Database Toolkit. A CLI designed to help companies better work with their data.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

avro

45

Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

bytebase

11215

Safe database schema change and version control for DevOps teams.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

darwin

144

Database schema evolution library for Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

ttlcache

9

In-memory key value storage with TTL for each record.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

badger

13848

Fast key-value store in Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

bbolt

8176

An embedded key/value database for Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

Bitcask

27

Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL).

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

buntdb

4549

Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

clover

677

A lightweight document-oriented NoSQL database written in pure Golang.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

cockroach

29985

Scalable, Geo-Replicated, Transactional Datastore.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

Coffer

38

Simple ACID key-value database that supports transactions.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

column

1429

High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

CovenantSQL

1494

CovenantSQL is a SQL database on blockchain.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

Databunker

1249

Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dgraph

20364

Scalable, Distributed, Low Latency, High Throughput Graph Database.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

diskv

1400

Home-grown disk-backed key-value store.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dolt

17825

Dolt – It's Git for Data.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dtf

211

A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

eliasdb

998

Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

godis

3470

A Golang implemented high-performance Redis server and cluster.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dbmate

5316

A lightweight, framework-agnostic database migration tool.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

mgm

747

MongoDB model-based ODM for Go (based on official MongoDB driver).

Database DriversLibraries for building and using SQL.

mgo

1972

(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.

Database DriversLibraries for building and using SQL.

goleveldb

6143

Implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

hare

93

A simple database management system that stores each table as a text file of line-delimited JSON.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

immudb

8571

immudb is a lightweight, high-speed immutable database for systems and applications written in Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

influxdb

28745

Scalable datastore for metrics, events, and real-time analytics.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

ledisdb

4097

Ledisdb is a high performance NoSQL like Redis based on LevelDB.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

levigo

414

Levigo is a Go wrapper for LevelDB.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

libradb

168

LibraDB is a simple database with less than 1000 lines of code for learning.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

LinDB

2997

LinDB is a scalable, high performance, high availability distributed time series database.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

skeema

1264

Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

sql-migrate

3200

Database migration tool. Allows embedding migrations into the application using go-bindata.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

sqlize

97

Database migration generator. Allows generate sql migration from model and existing sql by differ them.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

mongo-go-driver

8127

Official MongoDB driver for the Go language.

Database DriversLibraries for building and using SQL.

go-mysql-lock

61

MySQL based distributed lock.

Distributed SystemsPackages that help with building Distributed Systems.

lotusdb

2056

Fast k/v database compatible with lsm and b+tree.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

Milvus

29801

Milvus is a vector database for embedding management, analytics and search.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

moss

955

Moss is a simple LSM key-value storage engine written in 100% Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

nutsdb

3378

Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

objectbox-go

1095

High-performance embedded Object Database (NoSQL) with Go API.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

pebble

4811

RocksDB/LevelDB inspired key-value database in Go.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

piladb

206

Lightweight RESTful database engine based on stack data structures.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

pogreb

1300

Embedded key-value store for read-heavy workloads.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

prometheus

55174

Monitoring system and time series database.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

pudge

368

Fast and simple key/value store written using Go's standard library.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

rosedb

4578

An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

rotom

40

A tiny Redis server built with Golang, compatible with RESP protocols.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

rqlite

15661

The lightweight, distributed, relational database built on SQLite.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

tempdb

19

Key-value store for temporary items.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

tidb

37016

TiDB is a distributed SQL database. Inspired by the design of Google F1.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

tiedot

2721

Your NoSQL database powered by Golang.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

unitdb

119

Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

go-fixtures

29

Django style fixtures for Golang's excellent built-in database/sql library.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

go-pg-migrate

10

CLI-friendly package for go-pg migrations management.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

go-pg-migrations

84

A Go package to help write migrations with go-pg/pg.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

goavro

974

A Go package that encodes and decodes Avro data.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

godfish

7

Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

goose

6829

Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

gorm-seeder

13

Simple database seeder for Gorm ORM.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

gormigrate

1038

Database schema migration helper for Gorm ORM.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

libschema

15

Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

migrate

15191

Database migrations. CLI and Golang library.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

migrator

170

Dead simple Go database migration library.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

migrator

25

MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

schema

33

Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

chproxy

1276

HTTP proxy for ClickHouse database.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

clickhouse-bulk

474

Collects small inserts and sends big requests to ClickHouse servers.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dbbench

100

Database benchmarking tool with support for several databases and scripts.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dg

31

A fast data generator that produces CSV files from generated relational data.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

dynago

12

Simplify working with AWS DynamoDB.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

gatewayd

218

Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

go-mysql

4580

Go toolset to handle MySQL protocol and replication.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

gorm-multitenancy

39

Multi-tenancy support for GORM managed databases.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

octillery

192

Go package for sharding databases ( Supports every ORM or raw SQL ).

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

onedump

92

Database backup from different drivers to different destinations with one command and configuration.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

pg_timetable

1085

Advanced scheduling for PostgreSQL.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

pgweb

8599

Web-based PostgreSQL database browser.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

prep

33

Use prepared SQL statements without changing your code.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

pREST

4207

Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

rdb

387

Redis RDB file parser for secondary development and memory analysis.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

rwdb

19

rwdb provides read replica capability for multiple database servers setup.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

vitess

18486

vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

wescale

199

WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications.

DatabaseData stores with expiring records, in-memory distributed data stores, or in-memory subsets of file-based databases.

bqb

147

Lightweight and easy to learn query builder.

DatabaseLibraries for building and using SQL.

buildsqlx

170

Go database query builder library for PostgreSQL.

DatabaseLibraries for building and using SQL.

builq

89

Easily build SQL queries in Go.

DatabaseLibraries for building and using SQL.

dbq

404

Zero boilerplate database operations for Go.

DatabaseLibraries for building and using SQL.

Dotsql

737

Go library that helps you keep sql files in one place and use them with ease.

DatabaseLibraries for building and using SQL.

gendry

1616

Non-invasive SQL builder and powerful data binder.

DatabaseLibraries for building and using SQL.

sqlc

12529

Generate type-safe code from SQL.

DatabaseLibraries for building and using SQL.

sqlf

143

Fast SQL query builder.

DatabaseLibraries for building and using SQL.

godbal

59

Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.

DatabaseLibraries for building and using SQL.

goqu

2376

Idiomatic SQL builder and query library.

DatabaseLibraries for building and using SQL.

gosql

32

SQL Query builder with better null values support.

DatabaseLibraries for building and using SQL.

Hotcoal

19

Secure your handcrafted SQL against injection.

DatabaseLibraries for building and using SQL.

igor

125

Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.

DatabaseLibraries for building and using SQL.

jet

2538

Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure.

DatabaseLibraries for building and using SQL.

ormlite

14

Lightweight package containing some ORM-like features and helpers for sqlite databases.

DatabaseLibraries for building and using SQL.

ozzo-dbx

634

Powerful data retrieval methods as well as DB-agnostic query building capabilities.

DatabaseLibraries for building and using SQL.

qry

35

Tool that generates constants from files with raw SQL queries.

DatabaseLibraries for building and using SQL.

sg

6

A SQL Gen for generating standard SQLs(supports: CRUD) written in Go.

DatabaseLibraries for building and using SQL.

sq

196

Type-safe SQL builder and struct mapper for Go.

DatabaseLibraries for building and using SQL.

sqlingo

407

A lightweight DSL to build SQL in Go.

DatabaseLibraries for building and using SQL.

heimdall

2622

An enhanced http client with retry and hystrix capabilities.

NetworkingLibraries for making HTTP requests.

cayley

14847

Graph database with support for multiple backends.

Database DriversLibraries for building and using SQL.

dsc

33

Datastore connectivity for SQL, NoSQL, structured files.

Database DriversLibraries for building and using SQL.

dynamo

18

A simple key-value abstraction to store algebraic and linked-data data types at AWS storage services: AWS DynamoDB and AWS S3.

Database DriversLibraries for building and using SQL.

go-transaction-manager

226

Transaction manager with multiple adapters (sql, sqlx, gorm, mongo, ...) controls transaction boundaries.

Database DriversLibraries for building and using SQL.

gokv

738

Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more).

Database DriversLibraries for building and using SQL.

avatica

118

Apache Avatica/Phoenix SQL driver for database/sql.

Database DriversLibraries for building and using SQL.

bgc

21

Datastore Connectivity for BigQuery for go.

Database DriversLibraries for building and using SQL.

firebirdsql

227

Firebird RDBMS SQL driver for Go.

Database DriversLibraries for building and using SQL.

go-adodb

142

Microsoft ActiveX Object DataBase driver for go that uses database/sql.

Database DriversLibraries for building and using SQL.

go-mssqldb

1817

Microsoft MSSQL driver for Go.

Database DriversLibraries for building and using SQL.

go-pdu

47

A decentralized identity-based social network.

Distributed SystemsPackages that help with building Distributed Systems.

go-sundheit

536

A library built to provide support for defining async service health checks for golang services.

Distributed SystemsPackages that help with building Distributed Systems.

golua

640

Go bindings for Lua C API.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

go-oci8

630

Oracle driver for go that uses database/sql.

Database DriversLibraries for building and using SQL.

go-sql-driver/mysql

14485

MySQL driver for Go.

Database DriversLibraries for building and using SQL.

go-sqlite3

7914

SQLite3 driver for go that uses database/sql.

Database DriversLibraries for building and using SQL.

godror

528

Oracle driver for Go, using the ODPI-C driver.

Database DriversLibraries for building and using SQL.

gofreetds

113

Microsoft MSSQL driver. Go wrapper over [FreeTDS](https://www.freetds.org).

Database DriversLibraries for building and using SQL.

KSQL

309

A Simple and Powerful Golang SQL Library

Database DriversLibraries for building and using SQL.

pgx

10495

PostgreSQL driver supporting features beyond those exposed by database/sql.

Database DriversLibraries for building and using SQL.

pig

16

Simple [pgx](https://github.com/jackc/pgx) wrapper to execute and [scan](https://github.com/georgysavva/scany) query results easily.

Database DriversLibraries for building and using SQL.

pq

9047

Pure Go Postgres driver for database/sql.

Database DriversLibraries for building and using SQL.

Sqinn-Go

420

SQLite with pure Go.

Database DriversLibraries for building and using SQL.

sqlhooks

650

Attach hooks to any database/sql driver.

Database DriversLibraries for building and using SQL.

surrealdb.go

237

SurrealDB Driver for Go.

Database DriversLibraries for building and using SQL.

ydb-go-sdk

138

native and database/sql driver YDB (Yandex Database)

Database DriversLibraries for building and using SQL.

aerospike-client-go

432

Aerospike client in Go language.

Database DriversLibraries for building and using SQL.

arangolite

72

Lightweight golang driver for ArangoDB.

Database DriversLibraries for building and using SQL.

asc

10

Datastore Connectivity for Aerospike for go.

Database DriversLibraries for building and using SQL.

forestdb

37

Go bindings for ForestDB.

Database DriversLibraries for building and using SQL.

go-zero

29025

A web and rpc framework. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.

Distributed SystemsPackages that help with building Distributed Systems.

gorpc

696

Simple, fast and scalable RPC library for high load.

Distributed SystemsPackages that help with building Distributed Systems.

grpc-go

20967

The Go language implementation of gRPC. HTTP/2 based RPC.

Distributed SystemsPackages that help with building Distributed Systems.

go-couchbase

321

Couchbase client in Go.

Database DriversLibraries for building and using SQL.

go-mongox

121

A Go Mongo library based on the official driver, featuring streamlined document operations, generic binding of structs to collections, built-in CRUD, aggregation, automated field updates, struct validation, hooks, and plugin-based programming.

Database DriversLibraries for building and using SQL.

go-pilosa

58

Go client library for Pilosa.

Database DriversLibraries for building and using SQL.

go-rejson

343

Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.

Database DriversLibraries for building and using SQL.

gocb

368

Official Couchbase Go SDK.

Database DriversLibraries for building and using SQL.

gocosmos

22

REST client and standard `database/sql` driver for Azure Cosmos DB.

Database DriversLibraries for building and using SQL.

godis

111

redis client implement by golang, inspired by jedis.

Database DriversLibraries for building and using SQL.

godscache

11

A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.

Database DriversLibraries for building and using SQL.

gomemcached

19

A binary Memcached client for Go with support for sharding using consistent hashing, along with SASL.

Database DriversLibraries for building and using SQL.

gorethink

1648

Go language driver for RethinkDB.

Database DriversLibraries for building and using SQL.

neo4j

28

Neo4j Rest API Bindings for Golang.

Database DriversLibraries for building and using SQL.

Neo4j-GO

78

Neo4j REST Client in golang.

Database DriversLibraries for building and using SQL.

neoism

390

Neo4j client for Golang.

Database DriversLibraries for building and using SQL.

qmgo

1300

The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo.

Database DriversLibraries for building and using SQL.

redeo

438

Redis-protocol compatible TCP servers/services.

Database DriversLibraries for building and using SQL.

redigo

9747

Redigo is a Go client for the Redis database.

Database DriversLibraries for building and using SQL.

redis

19968

Redis client for Golang.

Database DriversLibraries for building and using SQL.

rueidis

2392

Fast Redis RESP3 client with auto pipelining and server-assisted client side caching.

Database DriversLibraries for building and using SQL.

xredis

19

Typesafe, customizable, clean & easy to use Redis client.

Database DriversLibraries for building and using SQL.

effdsl

25

Elasticsearch query builder for Go.

Database DriversLibraries for building and using SQL.

elastic

7399

Elasticsearch client for Go.

Database DriversLibraries for building and using SQL.

elasticsql

1167

Convert sql to elasticsearch dsl in Go.

Database DriversLibraries for building and using SQL.

elastigo

942

Elasticsearch client library.

Database DriversLibraries for building and using SQL.

go-elasticsearch

5655

Official Elasticsearch client for Go.

Database DriversLibraries for building and using SQL.

strftime

12

C99-compatible strftime formatter.

Date and TimeLibraries for working with dates and times.

timespan

83

For interacting with intervals of time, defined as a start time and a duration.

Date and TimeLibraries for working with dates and times.

goes

31

Library to interact with Elasticsearch.

Database DriversLibraries for building and using SQL.

skizze

89

probabilistic data-structures service and storage.

Database DriversLibraries for building and using SQL.

approx

12

A Duration extension supporting parsing/printing durations in days, weeks and years.

Date and TimeLibraries for working with dates and times.

carbon

4705

A simple, semantic and developer-friendly golang package for datetime.

Date and TimeLibraries for working with dates and times.

carbon

774

Simple Time extension with a lot of util methods, ported from PHP Carbon library.

Date and TimeLibraries for working with dates and times.

cronrange

18

Parses Cron-style time range expressions, checks if the given time is within any ranges.

Date and TimeLibraries for working with dates and times.

date

131

Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.

Date and TimeLibraries for working with dates and times.

dateparse

2037

Parse date's without knowing format in advance.

Date and TimeLibraries for working with dates and times.

anko

1468

Scriptable interpreter written in Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

durafmt

494

Time duration formatting library for Go.

Date and TimeLibraries for working with dates and times.

feiertage

48

Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...

Date and TimeLibraries for working with dates and times.

go-anytime

20

Parse dates/times like "next dec 22nd at 3pm" and ranges like "from today until next thursday" without knowing the format in advance.

Date and TimeLibraries for working with dates and times.

go-datebin

4

A simple datetime parse pkg.

Date and TimeLibraries for working with dates and times.

go-persian-calendar

204

The implementation of the Persian (Solar Hijri) Calendar in Go (golang).

Date and TimeLibraries for working with dates and times.

go-str2duration

101

Convert string to duration. Support time.Duration returned string and more.

Date and TimeLibraries for working with dates and times.

timeutil

192

Useful extensions (Timedelta, Strftime, ...) to the golang's time package.

Date and TimeLibraries for working with dates and times.

binder

75

Go to Lua binding library, based on [gopher-lua](https://github.com/yuin/gopher-lua).

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

go-sunrise

145

Calculate the sunrise and sunset times for a given location.

Date and TimeLibraries for working with dates and times.

go-week

9

An efficient package to work with ISO8601 week dates.

Date and TimeLibraries for working with dates and times.

gostradamus

202

A Go package for working with dates.

Date and TimeLibraries for working with dates and times.

iso8601

144

Efficiently parse ISO8601 date-times without regex.

Date and TimeLibraries for working with dates and times.

kair

24

Date and Time - Golang Formatting Library.

Date and TimeLibraries for working with dates and times.

now

4433

Now is a time toolkit for golang.

Date and TimeLibraries for working with dates and times.

cel-go

2226

Fast, portable, non-Turing complete expression evaluation with gradual typing.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

ecal

42

A simple embeddable scripting language which supports concurrent event processing.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

expr

6170

Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

tuesday

12

Ruby-compatible Strftime function.

Date and TimeLibraries for working with dates and times.

arpc

950

More effective network communication, support two-way-calling, notify, broadcast.

Distributed SystemsPackages that help with building Distributed Systems.

bedrock

6

Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go.

Distributed SystemsPackages that help with building Distributed Systems.

capillaries

61

distributed batch data processing framework.

Distributed SystemsPackages that help with building Distributed Systems.

celeriac

72

Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.

Distributed SystemsPackages that help with building Distributed Systems.

consistent

690

Consistent hashing with bounded loads.

Distributed SystemsPackages that help with building Distributed Systems.

consistenthash

27

Consistent hashing with configurable replicas.

Distributed SystemsPackages that help with building Distributed Systems.

dht

310

BitTorrent Kademlia DHT implementation.

Distributed SystemsPackages that help with building Distributed Systems.

digota

509

grpc ecommerce microservice.

Distributed SystemsPackages that help with building Distributed Systems.

doublejump

102

A revamped Google's jump consistent hash.

Distributed SystemsPackages that help with building Distributed Systems.

dragonboat

5062

A feature complete and high performance multi-group Raft library in Go.

Distributed SystemsPackages that help with building Distributed Systems.

Dragonfly

2223

Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures.

Distributed SystemsPackages that help with building Distributed Systems.

drmaa

48

Job submission library for cluster schedulers based on the DRMAA standard.

Distributed SystemsPackages that help with building Distributed Systems.

gmsec

25

A Go distributed systems development framework.

Distributed SystemsPackages that help with building Distributed Systems.

Fiber

33471

An Express.js inspired web framework build on Fasthttp.

Web FrameworksFull stack web frameworks.

dynatomic

17

A library for using DynamoDB as an atomic counter.

Distributed SystemsPackages that help with building Distributed Systems.

emitter-io

3841

High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.

Distributed SystemsPackages that help with building Distributed Systems.

evans

4251

Evans: more expressive universal gRPC client.

Distributed SystemsPackages that help with building Distributed Systems.

failured

12

adaptive accrual failure detector for distributed systems.

Distributed SystemsPackages that help with building Distributed Systems.

flowgraph

59

flow-based programming package.

Distributed SystemsPackages that help with building Distributed Systems.

gleam

3441

Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed.

Distributed SystemsPackages that help with building Distributed Systems.

glow

3201

Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.

Distributed SystemsPackages that help with building Distributed Systems.

go-doudou

1430

A gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. Built-in go-doudou cli focusing on low-code and rapid dev can power up your productivity.

Distributed SystemsPackages that help with building Distributed Systems.

go-health

748

Library for enabling asynchronous dependency health checks in your service.

Distributed SystemsPackages that help with building Distributed Systems.

go-jump

383

Port of Google's "Jump" Consistent Hash function.

Distributed SystemsPackages that help with building Distributed Systems.

go-kit

26540

Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.

Distributed SystemsPackages that help with building Distributed Systems.

hprose

1260

Very newbility RPC Library, support 25+ languages now.

Distributed SystemsPackages that help with building Distributed Systems.

jsonrpc

188

The jsonrpc package helps implement of JSON-RPC 2.0.

Distributed SystemsPackages that help with building Distributed Systems.

jsonrpc

327

JSON-RPC 2.0 HTTP client implementation.

Distributed SystemsPackages that help with building Distributed Systems.

K8gb

866

A cloud native Kubernetes Global Balancer.

Distributed SystemsPackages that help with building Distributed Systems.

Kitex

6959

A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices. If the performance and extensibility are the main concerns when you develop microservices, Kitex can be a good choice.

Distributed SystemsPackages that help with building Distributed Systems.

Kratos

23202

A modular-designed and easy-to-use microservices framework in Go.

Distributed SystemsPackages that help with building Distributed Systems.

liftbridge

2569

Lightweight, fault-tolerant message streams for NATS.

Distributed SystemsPackages that help with building Distributed Systems.

lura

6323

Ultra performant API Gateway framework with middlewares.

Distributed SystemsPackages that help with building Distributed Systems.

micro

12120

A distributed systems runtime for the cloud and beyond.

Distributed SystemsPackages that help with building Distributed Systems.

mochi mqtt

1226

Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub.

Distributed SystemsPackages that help with building Distributed Systems.

NATS

15715

Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.

Distributed SystemsPackages that help with building Distributed Systems.

outboxer

157

Outboxer is a go library that implements the outbox pattern.

Distributed SystemsPackages that help with building Distributed Systems.

raft

8183

Golang implementation of the Raft consensus protocol, by HashiCorp.

Distributed SystemsPackages that help with building Distributed Systems.

raft

645

Go implementation of the Raft consensus protocol, by CoreOS.

Distributed SystemsPackages that help with building Distributed Systems.

rain

966

BitTorrent client and library.

Distributed SystemsPackages that help with building Distributed Systems.

redis-lock

1440

Simplified distributed locking implementation using Redis.

Distributed SystemsPackages that help with building Distributed Systems.

gentee

133

Embeddable scripting programming language.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

go-php

929

PHP bindings for Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

Fireball

60

More "natural" feeling web framework.

Web FrameworksFull stack web frameworks.

ringpop-go

828

Scalable, fault-tolerant application-layer sharding for Go applications.

Distributed SystemsPackages that help with building Distributed Systems.

rpcx

8088

Distributed pluggable RPC service framework like alibaba Dubbo.

Distributed SystemsPackages that help with building Distributed Systems.

Semaphore

94

A straightforward (micro) service orchestrator.

Distributed SystemsPackages that help with building Distributed Systems.

sleuth

373

Library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)).

Distributed SystemsPackages that help with building Distributed Systems.

sponge

1315

A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks.

Distributed SystemsPackages that help with building Distributed Systems.

Tarmac

327

Framework for writing functions, microservices, or monoliths with WebAssembly

Distributed SystemsPackages that help with building Distributed Systems.

Temporal

524

Durable execution system for making code fault-tolerant and simple.

Distributed SystemsPackages that help with building Distributed Systems.

torrent

5514

BitTorrent client package.

Distributed SystemsPackages that help with building Distributed Systems.

trpc-go

809

The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework.

Distributed SystemsPackages that help with building Distributed Systems.

DDNS

253

Personal DDNS client with Digital Ocean Networking DNS as backend.

Dynamic DNSTools for updating dynamic DNS records.

GoDNS

1505

A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.

Dynamic DNSTools for updating dynamic DNS records.

douceur

246

CSS inliner for your HTML emails.

EmailLibraries and tools that implement email creation and sending.

go-python

1523

naive go bindings to the CPython C-API.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

goal

3

An embeddable scripting array language.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

email

2649

A robust and flexible email library for Go.

EmailLibraries and tools that implement email creation and sending.

email-verifier

1191

A Go library for email verification without sending any emails.

EmailLibraries and tools that implement email creation and sending.

go-dkim

98

DKIM library, to sign & verify email.

EmailLibraries and tools that implement email creation and sending.

go-email-normalizer

63

Golang library for providing a canonical representation of email address.

EmailLibraries and tools that implement email creation and sending.

go-email-validator

51

Modular email validator for syntax, disposable, smtp, etc... checking.

EmailLibraries and tools that implement email creation and sending.

go-imap

2076

IMAP library for clients and servers.

EmailLibraries and tools that implement email creation and sending.

go-mail

627

A simple Go library for sending mails in Go.

EmailLibraries and tools that implement email creation and sending.

go-message

382

Streaming library for the Internet Message Format and mail messages.

EmailLibraries and tools that implement email creation and sending.

goja

5500

ECMAScript 5.1(+) implementation in Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

go-premailer

140

Inline styling for HTML mail in Go.

EmailLibraries and tools that implement email creation and sending.

go-simple-mail

645

Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send.

EmailLibraries and tools that implement email creation and sending.

hermes

2819

Golang package that generates clean, responsive HTML e-mails.

EmailLibraries and tools that implement email creation and sending.

Maddy

5040

All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server

EmailLibraries and tools that implement email creation and sending.

mailchain

143

Send encrypted emails to blockchain addresses written in Go.

EmailLibraries and tools that implement email creation and sending.

mailgun-go

696

Go library for sending mail with the Mailgun API.

EmailLibraries and tools that implement email creation and sending.

MailHog

13939

Email and SMTP testing with web and API interface.

EmailLibraries and tools that implement email creation and sending.

Mailpit

5499

Email and SMTP testing tool for developers.

EmailLibraries and tools that implement email creation and sending.

mailx

19

Mailx is a library that makes it easier to send email via SMTP. It is an enhancement of the golang standard library `net/smtp`.

EmailLibraries and tools that implement email creation and sending.

mox

3560

Modern full-featured secure mail server for low-maintenance, self-hosted email.

EmailLibraries and tools that implement email creation and sending.

SendGrid

982

SendGrid's Go library for sending email.

EmailLibraries and tools that implement email creation and sending.

smtp

74

SMTP server protocol state machine.

EmailLibraries and tools that implement email creation and sending.

smtpmock

123

Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment.

EmailLibraries and tools that implement email creation and sending.

truemail-go

102

Configurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more.

EmailLibraries and tools that implement email creation and sending.

gopher-lua

6232

Lua 5.1 VM and compiler written in Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

gval

731

A highly customizable expression language written in Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

metacall

1561

Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

ngaro

28

Embeddable Ngaro VM implementation enabling scripting in Retro.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

prolog

613

Embeddable Prolog.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

purl

41

Perl 5.18.2 embedded in Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

starlark-go

2317

Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

starlet

19

Go wrapper for [starlark-go](https://github.com/google/starlark-go) that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

tengo

3525

Bytecode compiled script language for Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

Wa/凹语言

1093

The Wa Programming Language embedded in Go.

Embeddable Scripting LanguagesEmbedding other languages inside your go code.

emperror

341

Error handling tools and best practices for Go libraries and applications.

Error HandlingLibraries for handling errors.

eris

1491

A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors.

Error HandlingLibraries for handling errors.

errlog

459

Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.

Error HandlingLibraries for handling errors.

errors

196

Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives.

Error HandlingLibraries for handling errors.

errors

6

Simple golang error handling with classification primitives.

Error HandlingLibraries for handling errors.

errors

7

The most simple error wrapper with awesome performance and minimal memory overhead.

Error HandlingLibraries for handling errors.

errors

64

Drop-in replacement for builtin Go errors. This is a minimal error handling package with custom error types, user friendly messages, Unwrap & Is. With very easy to use and straightforward helper functions.

Error HandlingLibraries for handling errors.

errors

2089

Go error library with error portability over the network.

Error HandlingLibraries for handling errors.

errorx

1123

A feature rich error package with stack traces, composition of errors and more.

Error HandlingLibraries for handling errors.

exception

31

A simple utility package for exception handling with try-catch in Golang.

Error HandlingLibraries for handling errors.

Falcon

11

A Simple Yet Highly Powerful Package For Error Handling.

Error HandlingLibraries for handling errors.

Fault

162

An ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values.

Error HandlingLibraries for handling errors.

go-multierror

2322

Go (golang) package for representing a list of errors as a single error.

Error HandlingLibraries for handling errors.

multierr

1021

Package for representing a list of errors as a single error.

Error HandlingLibraries for handling errors.

oops

410

Error handling with context, stack trace and source fragments.

Error HandlingLibraries for handling errors.

tracerr

983

Golang errors with stack trace and source fragments.

Error HandlingLibraries for handling errors.

afero

5928

FileSystem Abstraction System for Go.

File HandlingLibraries for handling files and file systems.

afs

302

Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go.

File HandlingLibraries for handling files and file systems.

currency

539

Handles currency amounts, provides currency information and formatting.

FinancialPackages for accounting and finance.

baraka

55

A library to process http file uploads easily.

File HandlingLibraries for handling files and file systems.

bigfile

252

A file transfer system, support to manage files with http api, rpc call and ftp client.

File HandlingLibraries for handling files and file systems.

checksum

104

Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files.

File HandlingLibraries for handling files and file systems.

copy

717

Copy directory recursively.

File HandlingLibraries for handling files and file systems.

flop

33

File operations library which aims to mirror feature parity with [GNU cp](https://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html).

File HandlingLibraries for handling files and file systems.

gdu

3879

Disk usage analyzer with console interface.

File HandlingLibraries for handling files and file systems.

go-csv-tag

121

Load csv file using tag.

File HandlingLibraries for handling files and file systems.

go-decent-copy

22

Copy files for humans.

File HandlingLibraries for handling files and file systems.

go-exiftool

249

Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).

File HandlingLibraries for handling files and file systems.

currency

61

High performant & accurate currency computation package.

FinancialPackages for accounting and finance.

decimal

6310

Arbitrary-precision fixed-point decimal numbers.

FinancialPackages for accounting and finance.

decimal

73

Immutable decimal numbers with panic-free arithmetic.

FinancialPackages for accounting and finance.

go-gtfs

44

Load gtfs files in go.

File HandlingLibraries for handling files and file systems.

go-wkhtmltopdf

1048

A package to convert an HTML template to a PDF file.

File HandlingLibraries for handling files and file systems.

gofs

467

A cross-platform real-time file synchronization tool out of the box.

File HandlingLibraries for handling files and file systems.

gut/yos

27

Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links.

File HandlingLibraries for handling files and file systems.

higgs

24

A tiny cross-platform Go library to hide/unhide files and directories.

File HandlingLibraries for handling files and file systems.

iso9660

262

A package for reading and creating ISO9660 disk images

File HandlingLibraries for handling files and file systems.

notify

906

File system event notification library with simple API, similar to os/signal.

File HandlingLibraries for handling files and file systems.

fpdecimal

30

Fast and precise serialization and arithmetic for small fixed-point decimals

FinancialPackages for accounting and finance.

fpmoney

29

Fast and simple ISO4217 fixed-point decimal money.

FinancialPackages for accounting and finance.

raylib-go

1571

Go bindings for [raylib](https://www.raylib.com/), a simple and easy-to-use library to learn videogames programming.

Game DevelopmentAwesome game development libraries.

termloop

1429

Terminal-based game engine for Go, built on top of Termbox.

Game DevelopmentAwesome game development libraries.

tile

154

Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.

Game DevelopmentAwesome game development libraries.

go-enum

738

Code generation for enums from code comments.

GeneratorsTools that generate Go code.

go-linq

3501

.NET LINQ-like query methods for Go.

GeneratorsTools that generate Go code.

opc

75

Load Open Packaging Conventions (OPC) files for Go.

File HandlingLibraries for handling files and file systems.

parquet

105

Read and write [parquet](https://parquet.apache.org) files.

File HandlingLibraries for handling files and file systems.

pathtype

13

Treat paths as their own type instead of using strings.

File HandlingLibraries for handling files and file systems.

pdfcpu

6825

PDF processor.

File HandlingLibraries for handling files and file systems.

skywalker

100

Package to allow one to concurrently go through a filesystem with ease.

File HandlingLibraries for handling files and file systems.

todotxt

23

Go library for Gina Trapani's [_todo.txt_](http://todotxt.org/) files, supports parsing and manipulating of task lists in the [_todo.txt_ format](https://github.com/todotxt/todo.txt).

File HandlingLibraries for handling files and file systems.

vfs

301

A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.

File HandlingLibraries for handling files and file systems.

accounting

877

money and currency formatting for golang.

FinancialPackages for accounting and finance.

ach

456

A reader, writer, and validator for Automated Clearing House (ACH) files.

FinancialPackages for accounting and finance.

bbgo

1195

A crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies.

FinancialPackages for accounting and finance.

go-finance

176

Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.

FinancialPackages for accounting and finance.

go-finance

27

Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.

FinancialPackages for accounting and finance.

go-finnhub

91

Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.

FinancialPackages for accounting and finance.

go-money

1657

Implementation of Fowler's Money pattern.

FinancialPackages for accounting and finance.

orderbook

428

Matching Engine for Limit Order Book in Golang.

FinancialPackages for accounting and finance.

payme

85

QR code generator (ASCII & PNG) for SEPA payments.

FinancialPackages for accounting and finance.

sleet

140

One unified interface for multiple Payment Service Providers (PsP) to process online payment.

FinancialPackages for accounting and finance.

techan

831

Technical analysis library with advanced market analysis and trading strategies.

FinancialPackages for accounting and finance.

ticker

4962

Terminal stock watcher and stock position tracker.

FinancialPackages for accounting and finance.

transaction

134

Embedded transactional database of accounts, running in multithreaded mode.

FinancialPackages for accounting and finance.

Pitaya

2328

Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.

Game DevelopmentAwesome game development libraries.

Pixel

4456

Hand-crafted 2D game library in Go.

Game DevelopmentAwesome game development libraries.

prototype

88

Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.

Game DevelopmentAwesome game development libraries.

goderive

1235

Derives functions from input types

GeneratorsTools that generate Go code.

vat

113

VAT number validation & EU VAT rates.

FinancialPackages for accounting and finance.

bind

30

Bind form data to any Go values.

FormsLibraries for working with forms.

binding

795

Binds form and JSON data from net/http Request to struct.

FormsLibraries for working with forms.

checker

9

Checker helps validating user input through rules defined in struct tags or directly through functions.

FormsLibraries for working with forms.

conform

319

Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.

FormsLibraries for working with forms.

form

762

Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.

FormsLibraries for working with forms.

formam

189

decode form's values into a struct.

FormsLibraries for working with forms.

forms

137

Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.

FormsLibraries for working with forms.

gbind

9

Bind data to any Go value. Can use built-in and custom expression binding capabilities; supports data validation

FormsLibraries for working with forms.

gorilla/csrf

1044

CSRF protection for Go web applications & services.

FormsLibraries for working with forms.

httpin

314

Decode an HTTP request into a custom struct, including querystring, forms, HTTP headers, etc.

FormsLibraries for working with forms.

nosurf

1578

CSRF protection middleware for Go.

FormsLibraries for working with forms.

qs

76

Go module for encoding structs into URL query parameters.

FormsLibraries for working with forms.

queryparam

19

Decode `url.Values` into usable struct values of standard or custom types.

FormsLibraries for working with forms.

fp-go

300

Collection of Functional Programming helpers powered by Golang 1.18+ generics.

FunctionalPackages to support functional programming in Go.

go-functional

433

Functional programming in Go using generics

FunctionalPackages to support functional programming in Go.

go-underscore

1297

Useful collection of helpfully functional Go collection utilities.

FunctionalPackages to support functional programming in Go.

gofp

145

A lodash like powerful utility library for Golang.

FunctionalPackages to support functional programming in Go.

mo

2612

Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...).

FunctionalPackages to support functional programming in Go.

underscore

109

Functional programming helpers for Go 1.18 and beyond.

FunctionalPackages to support functional programming in Go.

ecs

119

Build your own Game-Engine based on the Entity Component System concept in Golang.

Game DevelopmentAwesome game development libraries.

engo

1746

Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.

Game DevelopmentAwesome game development libraries.

fantasyname

33

Fantasy names generator.

Game DevelopmentAwesome game development libraries.

g3n

2779

Go 3D Game Engine.

Game DevelopmentAwesome game development libraries.

go-astar

596

Go implementation of the A\* path finding algorithm.

Game DevelopmentAwesome game development libraries.

Harfang3D

560

3D engine for the Go language, works on Windows and Linux ([Harfang on Go.dev](https://github.com/harfang3d/harfang-go)).

Game DevelopmentAwesome game development libraries.

Leaf

5280

Lightweight game server framework.

Game DevelopmentAwesome game development libraries.

nano

2834

Lightweight, facility, high performance golang based game server framework.

Game DevelopmentAwesome game development libraries.

Oak

1546

Pure Go game engine.

Game DevelopmentAwesome game development libraries.

goverter

505

Generate converters by defining an interface.

GeneratorsTools that generate Go code.

GoWrap

1059

Generate decorators for Go interfaces using simple templates.

GeneratorsTools that generate Go code.

interfaces

421

Command line tool for generating interface definitions.

GeneratorsTools that generate Go code.

jennifer

3314

Generate arbitrary Go code without templates.

GeneratorsTools that generate Go code.

oapi-codegen

6139

This package contains a set of utilities for generating Go boilerplate code for services based on OpenAPI 3.0 API definitions.

GeneratorsTools that generate Go code.

typeregistry

23

A library to create type dynamically.

GeneratorsTools that generate Go code.

geoos

615

A library provides spatial data and geometric algorithms.

GeographicGeographic tools and servers

geoserver

88

geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.

GeographicGeographic tools and servers

H3

305

Go bindings for H3, a hierarchical hexagonal geospatial indexing system.

GeographicGeographic tools and servers

H3 GeoJSON

3

Conversion utilities between H3 indexes and GeoJSON.

GeographicGeographic tools and servers

esp32

84

Transpile Go into Arduino code.

Go CompilersTools for compiling Go to other languages.

f4go

45

Transpile FORTRAN 77 code to Go code.

Go CompilersTools for compiling Go to other languages.

gopherjs

12682

Compiler from Go to JavaScript.

Go CompilersTools for compiling Go to other languages.

H3GeoDist

2

Distribution of Uber H3geo cells by virtual nodes.

GeographicGeographic tools and servers

mbtileserver

646

A simple Go-based server for map tiles stored in mbtiles format.

GeographicGeographic tools and servers

osm

373

Library for reading, writing and working with OpenStreetMap data and APIs.

GeographicGeographic tools and servers

pbf

48

OpenStreetMap PBF golang encoder/decoder.

GeographicGeographic tools and servers

S2 geojson

28

Convert geojson to s2 cells & demonstrating some S2 geometry features on map.

GeographicGeographic tools and servers

S2 geometry

1680

S2 geometry library in Go.

GeographicGeographic tools and servers

simplefeatures

130

simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them.

GeographicGeographic tools and servers

Tile38

9094

Geolocation DB with spatial index and realtime geofencing.

GeographicGeographic tools and servers

WGS84

126

Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).

GeographicGeographic tools and servers

c2go

307

Convert C code to Go code.

Go CompilersTools for compiling Go to other languages.

c4go

365

Transpile C code to Go code.

Go CompilersTools for compiling Go to other languages.

tardisgo

432

Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.

Go CompilersTools for compiling Go to other languages.

ants

12792

A high-performance and low-cost goroutine pool in Go.

GoroutinesTools for managing and working with Goroutines.

artifex

200

Simple in-memory job queue for Golang using worker-based dispatching.

GoroutinesTools for managing and working with Goroutines.

async

4

An asynchronous task package with async/await style for Go.

GoroutinesTools for managing and working with Goroutines.

async

216

An alternative sync library for Go (Future, Promise, Locks).

GoroutinesTools for managing and working with Goroutines.

async

137

A safe way to execute functions asynchronously, recovering them in case of panic.

GoroutinesTools for managing and working with Goroutines.

darkroom

225

An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.

ImagesLibraries for manipulating images.

gg

4403

2D rendering in pure Go.

ImagesLibraries for manipulating images.

gift

1748

Package of image processing filters.

ImagesLibraries for manipulating images.

gltf

242

Efficient and robust glTF 2.0 reader, writer and validator.

ImagesLibraries for manipulating images.

ore

7

Lightweight, generic & simple dependency injection (DI) container.

MiscellaneousLibraries for working with dependency injection.

go-blueprint

3947

Allows users to spin up a quick Go project using a popular framework.

Miscellaneous**Unofficial** set of patterns for structuring projects.

async-job

10

AsyncJob is an asynchronous queue job manager with light code, clear and speed.

GoroutinesTools for managing and working with Goroutines.

breaker

18

Flexible mechanism to make execution flow interruptible.

GoroutinesTools for managing and working with Goroutines.

channelify

31

Transform your function to return channels for easy and powerful parallel processing.

GoroutinesTools for managing and working with Goroutines.

conc

8971

`conc` is your toolbelt for structured concurrency in go, making common tasks easier and safer.

GoroutinesTools for managing and working with Goroutines.

execpool

22

A pool built around exec.Cmd that spins up a given number of processes in advance and attaches stdin and stdout to them when needed. Very similar to FastCGI or Apache Prefork MPM but works for any command.

GoroutinesTools for managing and working with Goroutines.

go-floc

269

Orchestrate goroutines with ease.

GoroutinesTools for managing and working with Goroutines.

go-flow

220

Control goroutines execution order.

GoroutinesTools for managing and working with Goroutines.

gohive

52

A highly performant and easy to use Goroutine pool for Go.

GoroutinesTools for managing and working with Goroutines.

gollback

124

asynchronous simple function utilities, for managing execution of closures and callbacks.

GoroutinesTools for managing and working with Goroutines.

gowl

69

Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.

GoroutinesTools for managing and working with Goroutines.

goworker

2796

goworker is a Go-based background worker.

GoroutinesTools for managing and working with Goroutines.

gowp

499

gowp is concurrency limiting goroutine pool.

GoroutinesTools for managing and working with Goroutines.

gpool

90

manages a resizeable pool of context-aware goroutines to bound concurrency.

GoroutinesTools for managing and working with Goroutines.

go-webcolors

27

Port of webcolors library from Python to Go.

ImagesLibraries for manipulating images.

grpool

746

Lightweight Goroutine pool.

GoroutinesTools for managing and working with Goroutines.

hands

10

A process controller used to control the execution and return strategies of multiple goroutines.

GoroutinesTools for managing and working with Goroutines.

Hunch

103

Hunch provides functions like: `All`, `First`, `Retry`, `Waterfall` etc., that makes asynchronous flow control more intuitive.

GoroutinesTools for managing and working with Goroutines.

kyoo

51

Provides an unlimited job queue and concurrent worker pools.

GoroutinesTools for managing and working with Goroutines.

neilotoole/errgroup

161

Drop-in alternative to `sync/errgroup`, limited to a pool of N worker goroutines.

GoroutinesTools for managing and working with Goroutines.

nursery

65

Structured concurrency in Go.

GoroutinesTools for managing and working with Goroutines.

parallel-fn

36

Run functions in parallel.

GoroutinesTools for managing and working with Goroutines.

pond

1481

Minimalistic and High-performance goroutine worker pool written in Go.

GoroutinesTools for managing and working with Goroutines.

pool

726

Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.

GoroutinesTools for managing and working with Goroutines.

rill

499

Go concurrency with channel transformations. No boilerplate, type safety, batching and error handling.

GoroutinesTools for managing and working with Goroutines.

routine

228

`routine` is a `ThreadLocal` for go library. It encapsulates and provides some easy-to-use, non-competitive, high-performance `goroutine` context access interfaces, which can help you access coroutine context information more gracefully.

GoroutinesTools for managing and working with Goroutines.

routine

61

go routine control with context, support: Main, Go, Pool and some useful Executors.

GoroutinesTools for managing and working with Goroutines.

semaphore

102

Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.

GoroutinesTools for managing and working with Goroutines.

app

7915

Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.

GUIToolkits

cimgui-go

334

Auto generated Go wrapper for [Dear ImGui](https://github.com/ocornut/imgui) via [cimgui](https://github.com/cimgui/cimgui).

GUIToolkits

JobRunner

1042

Smart and featureful cron job scheduler with job queuing and live monitoring built in.

Job SchedulerLibraries for scheduling jobs.

Cogent Core

1712

A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web.

GUIToolkits

DarwinKit

4994

Build native macOS applications using Go.

GUIToolkits

energy

364

Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)

GUIToolkits

fyne

24823

Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.

GUIToolkits

goradd/html5tag

10

Library for outputting HTML5 tags.

GUIToolkits

gotk3

2099

Go bindings for GTK3.

GUIToolkits

gowd

430

Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.

GUIToolkits

qt

10416

Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).

GUIToolkits

Spot

1099

Reactive, cross-platform desktop GUI toolkit.

GUIToolkits

ui

8335

Platform-native GUI library for Go. Cross platform.

GUIToolkits

unison

195

A unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported.

GUIToolkits

walk

6835

Windows application library kit for Go.

GUIToolkits

webview

12565

Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).

GUIToolkits

AppIndicator Go

6

Go bindings for libappindicator3 C library.

GUIInteraction

gosx-notifier

588

OSX Desktop Notifications library for Go.

GUIInteraction

mac-activity-tracker

28

OSX library to notify about any (pluggable) activity on your machine.

GUIInteraction

jobs

500

Persistent and flexible background jobs library.

Job SchedulerLibraries for scheduling jobs.

leprechaun

104

Job scheduler that supports webhooks, crons and classic scheduling.

Job SchedulerLibraries for scheduling jobs.

go-module

30

Template for a typical module written on Go.

Miscellaneous**Unofficial** set of patterns for structuring projects.

go-starter

492

An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers.

Miscellaneous**Unofficial** set of patterns for structuring projects.

mac-sleep-notifier

33

OSX Sleep/Wake notifications in golang.

GUIInteraction

robotgo

9602

Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.

GUIInteraction

arduino-cli

4334

Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects.

HardwareLibraries, tools, and tutorials for interacting with hardware.

emgo

1068

Go-like language for programming embedded systems (e.g. STM32 MCU).

HardwareLibraries, tools, and tutorials for interacting with hardware.

ghw

1628

Golang hardware discovery/inspection library.

HardwareLibraries, tools, and tutorials for interacting with hardware.

goroslib

324

Robot Operating System (ROS) library for Go.

HardwareLibraries, tools, and tutorials for interacting with hardware.

joystick

59

a polled API to read the state of an attached joystick.

HardwareLibraries, tools, and tutorials for interacting with hardware.

sysinfo

522

A pure Go library providing Linux OS / kernel / hardware system information.

HardwareLibraries, tools, and tutorials for interacting with hardware.

bild

3989

Collection of image processing algorithms in pure Go.

ImagesLibraries for manipulating images.

bimg

2677

Small package for fast and efficient image processing using libvips.

ImagesLibraries for manipulating images.

color-extractor

93

Dominant color extractor with no external dependencies.

ImagesLibraries for manipulating images.

go-webp

220

Library for encode and decode webp pictures, using libwebp.

ImagesLibraries for manipulating images.

gocv

6631

Go package for computer vision using OpenCV 3.3+.

ImagesLibraries for manipulating images.

goimagehash

738

Go Perceptual image hashing package.

ImagesLibraries for manipulating images.

goimghdr

40

The imghdr module determines the type of image contained in a file for Go.

ImagesLibraries for manipulating images.

govatar

586

Library and CMD tool for generating funny avatars.

ImagesLibraries for manipulating images.

govips

1262

A lightning fast image processing and resizing library for Go.

ImagesLibraries for manipulating images.

ln

3270

3D line art rendering in Go.

ImagesLibraries for manipulating images.

mergi

231

Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).

ImagesLibraries for manipulating images.

mort

507

Storage and image processing server written in Go.

ImagesLibraries for manipulating images.

sched

28

A job scheduler with the ability to fast-forward time.

Job SchedulerLibraries for scheduling jobs.

mpo

17

Decoder and conversion tool for MPO 3D Photos.

ImagesLibraries for manipulating images.

scout

15

Scout is a standalone open source software solution for DIY video security.

ImagesLibraries for manipulating images.

smartcrop

1813

Finds good crops for arbitrary images and crop sizes.

ImagesLibraries for manipulating images.

steganography

313

Pure Go Library for LSB steganography.

ImagesLibraries for manipulating images.

stegify

1201

Go tool for LSB steganography, capable of hiding any file within an image.

ImagesLibraries for manipulating images.

svgo

2146

Go Language Library for SVG generation.

ImagesLibraries for manipulating images.

tga

33

Package tga is a TARGA image format decoder/encoder.

ImagesLibraries for manipulating images.

transformimgs

221

Transformimgs resizes and optimises images for Web using next-generation formats.

ImagesLibraries for manipulating images.

webp-server

73

Simple and minimal image server capable of storing, resizing, converting and caching images.

ImagesLibraries for manipulating images.

connectordb

404

Open-Source Platform for Quantified Self & IoT.

IoT (Internet of Things)Libraries for programming devices of the IoT.

cdule

48

Job scheduler library with database support

Job SchedulerLibraries for scheduling jobs.

cheek

149

A simple crontab like scheduler that aims to offer a KISS approach to job scheduling.

Job SchedulerLibraries for scheduling jobs.

clockwerk

146

Go package to schedule periodic jobs using a simple, fluent syntax.

Job SchedulerLibraries for scheduling jobs.

cronticker

16

A ticker implementation to support cron schedules.

Job SchedulerLibraries for scheduling jobs.

Dagu

1540

No-code workflow executor. it executes DAGs defined in a simple YAML format.

Job SchedulerLibraries for scheduling jobs.

gron

1026

Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.

Job SchedulerLibraries for scheduling jobs.

gronx

402

Cron expression parser, task runner and daemon consuming crontab like task list.

Job SchedulerLibraries for scheduling jobs.

scheduler

446

Cronjobs scheduling made easy.

Job SchedulerLibraries for scheduling jobs.

tasks

295

An easy to use in-process scheduler for recurring tasks in Go.

Job SchedulerLibraries for scheduling jobs.

ajson

234

Abstract JSON for golang with JSONPath support.

JSONLibraries for working with JSON.

ask

44

Easy access to nested values in maps and slices. Works in combination with encoding/json and other packages that "Unmarshal" arbitrary data into Go data-types.

JSONLibraries for working with JSON.

dynjson

16

Client-customizable JSON formats for dynamic APIs.

JSONLibraries for working with JSON.

fastjson

2262

Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection.

JSONLibraries for working with JSON.

go-jsonerror

16

Go-JsonError is meant to allow us to easily create json response errors that follow the JsonApi spec.

JSONLibraries for working with JSON.

go-respond

55

Go package for handling common HTTP JSON responses.

JSONLibraries for working with JSON.

gojmapr

22

Get simple struct from complex json by json path.

JSONLibraries for working with JSON.

gojq

191

JSON query in Golang.

JSONLibraries for working with JSON.

gojson

2660

Automatically generate Go (golang) struct definitions from example JSON.

JSONLibraries for working with JSON.

htmljson

7

Rich rendering of JSON as HTML in Go.

JSONLibraries for working with JSON.

logdump

11

Package for multi-level logging.

LoggingLibraries for generating and working with log files.

lumberjack

4812

Simple rolling logger, implements io.WriteCloser.

LoggingLibraries for generating and working with log files.

go-todo-backend

316

Go Todo Backend example using modular project layout for product microservice.

Miscellaneous**Unofficial** set of patterns for structuring projects.

health

775

A simple and flexible health check library for Go.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

jsonapi-errors

14

Go bindings based on the JSON API errors reference.

JSONLibraries for working with JSON.

jsoncolor

45

Drop-in replacement for `encoding/json` that outputs colorized JSON.

JSONLibraries for working with JSON.

jsondiff

517

JSON diff library for Go based on RFC6902 (JSON Patch).

JSONLibraries for working with JSON.

jsonf

65

Console tool for highlighted formatting and struct query fetching JSON.

JSONLibraries for working with JSON.

jsongo

109

Fluent API to make it easier to create Json objects.

JSONLibraries for working with JSON.

jsonhal

14

Simple Go package to make custom structs marshal into HAL compatible JSON responses.

JSONLibraries for working with JSON.

jzon

11

JSON library with standard compatible API/behavior.

JSONLibraries for working with JSON.

kazaam

279

API for arbitrary transformation of JSON documents.

JSONLibraries for working with JSON.

mapslice-json

19

Go MapSlice for ordered marshal/ unmarshal of maps in JSON.

JSONLibraries for working with JSON.

OjG

847

Optimized JSON for Go is a high performance parser with a variety of additional JSON tools including JSONPath.

JSONLibraries for working with JSON.

structy/log

5

A simple to use log system, minimalist but with features for debugging and differentiation of messages.

LoggingLibraries for generating and working with log files.

omg.jsonparser

6

Simple JSON parser with validation by condition via golang struct fields tags.

JSONLibraries for working with JSON.

ujson

76

Fast and minimal JSON parser and transformer that works on unstructured JSON.

JSONLibraries for working with JSON.

vjson

41

Go package for validating JSON objects with declaring a JSON schema with fluent API.

JSONLibraries for working with JSON.

distillog

31

distilled levelled logging (think of it as stdlib + log levels).

LoggingLibraries for generating and working with log files.

glg

190

glg is simple and fast leveled logging library for Go.

LoggingLibraries for generating and working with log files.

glo

15

PHP Monolog inspired logging facility with identical severity levels.

LoggingLibraries for generating and working with log files.

glog

3536

Leveled execution logs for Go.

LoggingLibraries for generating and working with log files.

go-cronowriter

56

Simple writer that rotate log files automatically based on current date and time, like cronolog.

LoggingLibraries for generating and working with log files.

boot-go

32

Component-based development with dependency injection using reflections for Go developers.

MiscellaneousLibraries for working with dependency injection.

go-log

10

A logging library with stack traces, object dumping and optional timestamps.

LoggingLibraries for generating and working with log files.

go-log

14

Simple and configurable Logging in Go, with level, formatters and writers.

LoggingLibraries for generating and working with log files.

go-log

34

Log lib supports level and multi handlers.

LoggingLibraries for generating and working with log files.

go-log

43

Log4j implementation in Go.

LoggingLibraries for generating and working with log files.

go-logger

288

Simple logger of Go Programs, with level handlers.

LoggingLibraries for generating and working with log files.

gomol

19

Multiple-output, structured logging for Go with extensible logging outputs.

LoggingLibraries for generating and working with log files.

kemba

13

A tiny debug logging tool inspired by [debug](https://github.com/visionmedia/debug), great for CLI tools and applications.

LoggingLibraries for generating and working with log files.

log

10

An O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection).

LoggingLibraries for generating and working with log files.

log

1366

Structured logging package for Go.

LoggingLibraries for generating and working with log files.

log

16

Simple leveled logging wrapper around standard log package.

LoggingLibraries for generating and working with log files.

mlog

34

Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.

LoggingLibraries for generating and working with log files.

phuslu/log

660

High performance structured logging.

LoggingLibraries for generating and working with log files.

pp

1843

Colored pretty printer for Go language.

LoggingLibraries for generating and working with log files.

rollingwriter

295

RollingWriter is an auto-rotate `io.Writer` implementation with multi policies to provide log file rotation.

LoggingLibraries for generating and working with log files.

seelog

1638

Logging functionality with flexible dispatching, filtering, and formatting.

LoggingLibraries for generating and working with log files.

slf4g

3

Simple Logging Facade for Golang: Simple structured logging; but powerful, extendable and customizable, with huge amount of learnings from decades of past logging frameworks.

LoggingLibraries for generating and working with log files.

slog

391

Lightweight, configurable, extensible logger for Go.

LoggingLibraries for generating and working with log files.

slog-formatter

111

Common formatters for slog and helpers to build your own.

LoggingLibraries for generating and working with log files.

slog-multi

363

Chain of slog.Handler (pipeline, fanout...).

LoggingLibraries for generating and working with log files.

spew

6056

Implements a deep pretty printer for Go data structures to aid in debugging.

LoggingLibraries for generating and working with log files.

sqldb-logger

350

A logger for Go SQL database driver without modify existing \*sql.DB stdlib usage.

LoggingLibraries for generating and working with log files.

stdlog

47

Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.

LoggingLibraries for generating and working with log files.

componego

27

A dependency injection framework based on components, allowing dynamic dependency replacement without duplicating code in tests.

MiscellaneousLibraries for working with dependency injection.

gtree

239

Provide CLI, Package and Web for tree output and directories creation from Markdown or programmatically.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

tail

2712

Go package striving to emulate the features of the BSD tail program.

LoggingLibraries for generating and working with log files.

tint

732

A slog.Handler that writes tinted logs.

LoggingLibraries for generating and working with log files.

xylog

16

Leveled and structured logging, dynamic fields, high performance, zone management, simple configuration, and readable syntax.

LoggingLibraries for generating and working with log files.

yell

1

Yet another minimalistic logging library.

LoggingLibraries for generating and working with log files.

zap

21816

Fast, structured, leveled logging in Go.

LoggingLibraries for generating and working with log files.

zax

24

Integrate Context with Zap logger, which leads to more flexibility in Go logging.

LoggingLibraries for generating and working with log files.

zerolog

10470

Zero-allocation JSON logger.

LoggingLibraries for generating and working with log files.

zkits-logger

26

A powerful zero-dependency JSON logger.

LoggingLibraries for generating and working with log files.

zl

5

High Developer Experience, zap based logger. It offers rich functionality but is easy to configure.

LoggingLibraries for generating and working with log files.

eaopt

885

An evolutionary optimization library.

Machine LearningLibraries for Machine Learning.

go-deep

532

A feature-rich neural network library in Go.

Machine LearningLibraries for Machine Learning.

go-fann

116

Go bindings for Fast Artificial Neural Networks(FANN) library.

Machine LearningLibraries for Machine Learning.

go-featureprocessing

118

Fast and convenient feature processing for low latency machine learning in Go.

Machine LearningLibraries for Machine Learning.

go-galib

198

Genetic Algorithms library written in Go / golang.

Machine LearningLibraries for Machine Learning.

go-pr

65

Pattern recognition package in Go lang.

Machine LearningLibraries for Machine Learning.

goga

217

Genetic algorithm library for Go.

Machine LearningLibraries for Machine Learning.

GoLearn

9271

General Machine Learning library for Go.

Machine LearningLibraries for Machine Learning.

gorse

8500

An offline recommender system backend based on collaborative filtering written in Go.

Machine LearningLibraries for Machine Learning.

goscore

97

Go Scoring API for PMML.

Machine LearningLibraries for Machine Learning.

gosseract

2682

Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.

Machine LearningLibraries for Machine Learning.

m2cgen

2805

A CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support.

Machine LearningLibraries for Machine Learning.

neat

71

Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).

Machine LearningLibraries for Machine Learning.

neural-go

69

Multilayer perceptron network implemented in Go, with training via backpropagation.

Machine LearningLibraries for Machine Learning.

gontainer

39

A dependency injection service container for Go projects.

MiscellaneousLibraries for working with dependency injection.

shield

156

Bayesian text classifier with flexible tokenizers and storage backends for Go.

Machine LearningLibraries for Machine Learning.

tfgo

2415

Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python.

Machine LearningLibraries for Machine Learning.

Varis

55

Golang Neural Network.

Machine LearningLibraries for Machine Learning.

ami

28

Go client to reliable queues based on Redis Cluster Streams.

MessagingLibraries that implement messaging systems.

amqp

1495

Go RabbitMQ Client Library.

MessagingLibraries that implement messaging systems.

Beaver

1543

A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.

MessagingLibraries that implement messaging systems.

Bus

335

Minimalist message bus implementation for internal communication.

MessagingLibraries that implement messaging systems.

Centrifugo

8324

Real-time messaging (Websockets or SockJS) server in Go.

MessagingLibraries that implement messaging systems.

Chanify

1265

A push notification server send message to your iOS devices.

MessagingLibraries that implement messaging systems.

Commander

66

A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.

MessagingLibraries that implement messaging systems.

drone-line

80

Sending [Line](https://at.line.me/en) notifications using a binary, docker or Drone CI.

MessagingLibraries that implement messaging systems.

emitter

505

Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.

MessagingLibraries that implement messaging systems.

event

58

Implementation of the pattern observer.

MessagingLibraries that implement messaging systems.

Glue

415

Robust Go and Javascript Socket Library (Alternative to Socket.io).

MessagingLibraries that implement messaging systems.

go-eventbus

4

Simple Event Bus package for Go.

MessagingLibraries that implement messaging systems.

Go-MediatR

208

A library for handling mediator patterns and simplified CQRS patterns within an event-driven architecture, inspired by csharp MediatR library.

MessagingLibraries that implement messaging systems.

go-mq

91

RabbitMQ client with declarative configuration.

MessagingLibraries that implement messaging systems.

gontainer/gontainer

15

A YAML-based Dependency Injection container for GO. It supports dependencies' scopes, and auto-detection of circular dependencies. Gontainer is concurrent-safe.

MiscellaneousLibraries for working with dependency injection.

kod

150

A generics based dependency injection framework for Go.

MiscellaneousLibraries for working with dependency injection.

nject

29

A type safe, reflective framework for libraries, tests, http endpoints, and service startup.

MiscellaneousLibraries for working with dependency injection.

go-notify

69

Native implementation of the freedesktop notification spec.

MessagingLibraries that implement messaging systems.

go-nsq

2588

the official Go package for NSQ.

MessagingLibraries that implement messaging systems.

go-res

63

Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate.

MessagingLibraries that implement messaging systems.

gorush

8000

Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm).

MessagingLibraries that implement messaging systems.

gosd

24

A library for scheduling when to dispatch a message to a channel.

MessagingLibraries that implement messaging systems.

guble

158

Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.

MessagingLibraries that implement messaging systems.

hare

53

A user friendly library for sending messages and listening to TCP sockets.

MessagingLibraries that implement messaging systems.

hub

146

A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.

MessagingLibraries that implement messaging systems.

hypermatch

19

A very fast and efficient Go library for matching events to a large set of rules

MessagingLibraries that implement messaging systems.

jazz

18

A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.

MessagingLibraries that implement messaging systems.

machinery

7517

Asynchronous task queue/job queue based on distributed message passing.

MessagingLibraries that implement messaging systems.

messagebus

272

messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.

MessagingLibraries that implement messaging systems.

pubsub

425

Simple pubsub package for go.

MessagingLibraries that implement messaging systems.

rabtap

264

RabbitMQ swiss army knife cli app.

MessagingLibraries that implement messaging systems.

RapidMQ

68

RapidMQ is a lightweight and reliable library for managing of the local messages queue.

MessagingLibraries that implement messaging systems.

rmqconn

23

RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.

MessagingLibraries that implement messaging systems.

sarama

11453

Go library for Apache Kafka.

MessagingLibraries that implement messaging systems.

unioffice

4352

Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.

Microsoft OfficeLibraries that implement messaging systems.

excelize

18063

Golang library for reading and writing Microsoft Excel&trade; (XLSX) files.

Microsoft OfficeLibraries for working with Microsoft Excel.

exl

30

Excel binding to struct written in Go.(Only supports Go1.18+)

Microsoft OfficeLibraries for working with Microsoft Excel.

autowire

8

Dependency injection using Generics and reflection.

MiscellaneousLibraries for working with dependency injection.

di

232

A dependency injection container for go programming language.

MiscellaneousLibraries for working with dependency injection.

dig

3885

A reflection based dependency injection toolkit for Go.

MiscellaneousLibraries for working with dependency injection.

dingo

180

A dependency injection toolkit for Go, based on Guice.

MiscellaneousLibraries for working with dependency injection.

do

1832

A dependency injection framework based on Generics.

MiscellaneousLibraries for working with dependency injection.

fx

5726

A dependency injection based application framework for Go (built on top of dig).

MiscellaneousLibraries for working with dependency injection.

gocontainer

20

Simple Dependency Injection Container.

MiscellaneousLibraries for working with dependency injection.

goioc/di

355

Spring-inspired Dependency Injection Container.

MiscellaneousLibraries for working with dependency injection.

GoLobby/Container

558

GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language.

MiscellaneousLibraries for working with dependency injection.

gobase

62

A simple skeleton for golang application with basic setup for real golang application.

Miscellaneous**Unofficial** set of patterns for structuring projects.

golang-standards/project-layout

48819

Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see [this issue](https://github.com/golang-standards/project-layout/issues/117) for more information. Nonetheless, some may find the layout useful.

Miscellaneous**Unofficial** set of patterns for structuring projects.

golang-templates/seed

472

Go application GitHub repository template.

Miscellaneous**Unofficial** set of patterns for structuring projects.

goxygen

3475

Generate a modern Web project with Go and Angular, React, or Vue in seconds.

Miscellaneous**Unofficial** set of patterns for structuring projects.

insidieux/inizio

18

Golang project layout generator with plugins.

Miscellaneous**Unofficial** set of patterns for structuring projects.

modern-go-application

1835

Go application boilerplate and example applying modern practices.

Miscellaneous**Unofficial** set of patterns for structuring projects.

wangyoucao577/go-project-layout

26

Set of practices and discussions on how to structure Go project layout.

Miscellaneous**Unofficial** set of patterns for structuring projects.

strutil

206

String utilities.

MiscellaneousLibraries for working with strings.

sttr

941

cross-platform, cli app to perform various operations on string.

MiscellaneousLibraries for working with strings.

xstrings

1393

Collection of useful string functions ported from other languages.

MiscellaneousLibraries for working with strings.

anagent

15

Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

antch

259

A fast, powerful and extensible web crawling & scraping framework.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

archiver

4348

Library and command for making and extracting .zip and .tar.gz archives.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

autoflags

39

Go package to automatically define command line flags from struct fields.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

avgRating

16

Calculate average score and rating based on Wilson Score Equation.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

datacounter

48

Go counters for readers/writer/http.ResponseWriter.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gatus

6146

Automated service health dashboard.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

go-commandbus

12

A slight and pluggable command-bus for Go.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gommit

113

Analyze git commit messages to ensure they follow defined patterns.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gopsutil

10536

Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gosh

36

Provide Go Statistics Handler, Struct, Measure Method.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gosms

1449

Your own local SMS gateway in Go that can be used to send SMS.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gotoprom

108

Type-safe metrics builder wrapper library for the official Prometheus client.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gountries

408

Package that exposes country and subdivision data.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

health

451

Easy to use, extensible health check library.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

healthcheck

268

An opinionated and concurrent health-check HTTP handler for RESTful services.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

hostutils

12

A golang library for packing and unpacking FQDNs list.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

llvm

1185

Library for interacting with LLVM IR in pure Go.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

openapi

11

OpenAPI 3.x parser.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

pdfgen

71

HTTP service to generate PDF from Json requests.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

stateless

944

A fluent library for creating state machines.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

stats

170

Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

url-shortener

48

A modern, powerful, and robust URL shortener microservice with mysql support.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

varint

14

A faster varying length integer encoder/decoder than the one provided in the standard library.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

xdg

41

FreeDesktop.org (xdg) Specs implemented in Go.

MiscellaneousThese libraries were placed here because none of the other categories seemed to fit.

gounidecode

80

Unicode transliterator (also known as unidecode) for Go.

Natural Language ProcessingLibraries for working with human languages.

req

4249

Simple Go HTTP client with Black Magic (Less code and More efficiency).

NetworkingLibraries for making HTTP requests.

Hex Monscape

66

Getting started guidelines in writing maintainable code using Hexagonal Architecture.

WebsitesOther

getlang

170

Fast natural language detection package.

Natural Language ProcessingLibraries for working with human languages.

guesslanguage

58

Functions to determine the natural language of a unicode text.

Natural Language ProcessingLibraries for working with human languages.

lingua-go

1172

An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text.

Natural Language ProcessingLibraries for working with human languages.

whatlanggo

637

Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).

Natural Language ProcessingLibraries for working with human languages.

go-stem

78

Implementation of the porter stemming algorithm.

Natural Language ProcessingLibraries for working with human languages.

gosentiwordnet

10

Sentiment analyzer using sentiwordnet lexicon in Go.

Natural Language ProcessingLibraries for working with human languages.

govader

40

Go implementation of [VADER Sentiment Analysis](https://github.com/cjhutto/vaderSentiment).

Natural Language ProcessingLibraries for working with human languages.

libtextcat

13

Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.

Natural Language ProcessingLibraries for working with human languages.

nlp

389

Extract values from strings and fill your structs with nlp.

Natural Language ProcessingLibraries for working with human languages.

nlp

447

Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).

Natural Language ProcessingLibraries for working with human languages.

RAKE.go

115

Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).

Natural Language ProcessingLibraries for working with human languages.

request

288

HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.

NetworkingLibraries for making HTTP requests.

snowball

38

Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/).

Natural Language ProcessingLibraries for working with human languages.

spaGO

1748

Self-contained Machine Learning and Natural Language Processing library in Go.

Natural Language ProcessingLibraries for working with human languages.

spelling-corrector

2

A spelling corrector for the Spanish language or create your own.

Natural Language ProcessingLibraries for working with human languages.

gse

2554

Go efficient text segmentation; support english, chinese, japanese and other.

Natural Language ProcessingLibraries for working with human languages.

MMSEGO

63

This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm.

Natural Language ProcessingLibraries for working with human languages.

prose

3052

Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.

Natural Language ProcessingLibraries for working with human languages.

segment

89

Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](https://www.unicode.org/reports/tr29/)

Natural Language ProcessingLibraries for working with human languages.

sentences

436

Sentence tokenizer: converts text into a list of sentences.

Natural Language ProcessingLibraries for working with human languages.

go-glmatrix

11

Go port of [glMatrix](https://glmatrix.net/) library.

OpenGLLibraries for using OpenGL in Go.

go-store

112

Simple and fast Redis backed key-value store library for Go.

ORMLibraries that implement Object-Relational Mapping or datamapping techniques.

grimoire

164

Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).

ORMLibraries that implement Object-Relational Mapping or datamapping techniques.

Zoom

309

Blazing-fast datastore and querying engine built on Redis.

ORMLibraries that implement Object-Relational Mapping or datamapping techniques.

glide

8150

Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.

Package ManagementUnofficial libraries for package and dependency management.

shamoji

13

The shamoji is word filtering package written in Go.

Natural Language ProcessingLibraries for working with human languages.

stemmer

52

Stemmer packages for Go programming language. Includes English and German stemmers.

Natural Language ProcessingLibraries for working with human languages.

textcat

72

Go package for n-gram based text categorization, with support for utf-8 and raw text.

Natural Language ProcessingLibraries for working with human languages.

t

20

Another i18n pkg for golang, which follows GNU gettext style and supports .po/.mo files: `t.T (gettext)`, `t.N (ngettext)`, etc. And it contains a cmd tool [xtemplate](https://github.com/youthlin/t/blob/main/cmd/xtemplate), which can extract messages as a pot file from text/html template.

Natural Language ProcessingLibraries for working with human languages.

enca

16

Minimal cgo bindings for [libenca](https://cihar.com/software/enca/), which detects character encodings.

Natural Language ProcessingLibraries for working with human languages.

go-unidecode

128

ASCII transliterations of Unicode text.

Natural Language ProcessingLibraries for working with human languages.

godep

5542

dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.

Package ManagementUnofficial libraries for package and dependency management.

Flamingo Commerce

506

Providing e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications.

Web FrameworksFull stack web frameworks.

transliterator

43

Provides one-way string transliteration with supporting of language-specific transliteration rules.

Natural Language ProcessingLibraries for working with human languages.

arp

362

Package arp implements the ARP protocol, as described in RFC 826.

NetworkingLibraries for working with various layers of the network.

buffstreams

253

Streaming protocolbuffer data over TCP made easy.

NetworkingLibraries for working with various layers of the network.

canopus

155

CoAP Client/Server implementation (RFC 7252).

NetworkingLibraries for working with various layers of the network.

dnsmonster

315

Passive DNS Capture/Monitoring Framework.

NetworkingLibraries for working with various layers of the network.

easytcp

806

A light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.

NetworkingLibraries for working with various layers of the network.

ether

80

Cross-platform Go package for sending and receiving ethernet frames.

NetworkingLibraries for working with various layers of the network.

ethernet

274

Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.

NetworkingLibraries for working with various layers of the network.

gldap

109

gldap provides an ldap server implementation and you provide handlers for its ldap operations.

NetworkingLibraries for working with various layers of the network.

gmqtt

986

Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.

NetworkingLibraries for working with various layers of the network.

gnet

9544

`gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.

NetworkingLibraries for working with various layers of the network.

gnet

19

`gnet` is a high-performance networking framework,especially for game servers.

NetworkingLibraries for working with various layers of the network.

tspool

14

A TCP Library use worker pool to improve performance and protect your server.

NetworkingLibraries for working with various layers of the network.

gNxI

258

A collection of tools for Network Management that use the gNMI and gNOI protocols.

NetworkingLibraries for working with various layers of the network.

go-getter

1647

Go library for downloading files or directories from various sources using a URL.

NetworkingLibraries for working with various layers of the network.

go-multiproxy

6

Library for making HTTP requests through a pool of proxies offering fault tolerance, load balancing, automatic retries, cookie management, and more, via http.Get/Post replacement or http.Client RoundTripper drop-in

NetworkingLibraries for working with various layers of the network.

go-powerdns

88

PowerDNS API bindings for Golang.

NetworkingLibraries for working with various layers of the network.

gopacket

6306

Go library for packet processing with libpcap bindings.

NetworkingLibraries for working with various layers of the network.

gopcap

487

Go wrapper for libpcap.

NetworkingLibraries for working with various layers of the network.

goshark

19

Package goshark use tshark to decode IP packet and create data struct to analyse packet.

NetworkingLibraries for working with various layers of the network.

gosnmp

1124

Native Go library for performing SNMP actions.

NetworkingLibraries for working with various layers of the network.

grab

1396

Go package for managing file downloads.

NetworkingLibraries for working with various layers of the network.

jazigo

215

Jazigo is a tool written in Go for retrieving configuration for multiple network devices.

NetworkingLibraries for working with various layers of the network.

kcp-go

4071

KCP - Fast and Reliable ARQ Protocol.

NetworkingLibraries for working with various layers of the network.

kcptun

13886

Extremely simple & fast udp tunnel based on KCP protocol.

NetworkingLibraries for working with various layers of the network.

lhttp

691

Powerful websocket framework, build your IM server more easily.

NetworkingLibraries for working with various layers of the network.

water

1937

Simple TUN/TAP library.

NetworkingLibraries for working with various layers of the network.

webhooked

36

A webhook receiver on steroids: handle, secure, format and store a Webhook payload has never been easier.

NetworkingLibraries for working with various layers of the network.

winrm

423

Go WinRM client to remotely execute commands on Windows machines.

NetworkingLibraries for working with various layers of the network.

xtcp

152

TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.

NetworkingLibraries for working with various layers of the network.

fast-shot

62

Hit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client.

NetworkingLibraries for making HTTP requests.

grequests

2134

A Go "clone" of the great and famous Requests library.

NetworkingLibraries for making HTTP requests.

linkio

53

Network link speed simulation for Reader/Writer interfaces.

NetworkingLibraries for working with various layers of the network.

llb

15

It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.

NetworkingLibraries for working with various layers of the network.

natiu-mqtt

85

A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems.

NetworkingLibraries for working with various layers of the network.

nbio

2174

Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.

NetworkingLibraries for working with various layers of the network.

NFF-Go

1380

Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).

NetworkingLibraries for working with various layers of the network.

packet

79

Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.

NetworkingLibraries for working with various layers of the network.

peerdiscovery

641

Pure Go library for cross-platform local peer discovery using UDP multicast.

NetworkingLibraries for working with various layers of the network.

portproxy

57

Simple TCP proxy which adds CORS support to API's which don't support it.

NetworkingLibraries for working with various layers of the network.

raw

425

Package raw enables reading and writing data at the device driver level for a network interface.

NetworkingLibraries for working with various layers of the network.

sdns

953

A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy.

NetworkingLibraries for working with various layers of the network.

sftp

1509

Package sftp implements the SSH File Transfer Protocol as described in <https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt>.

NetworkingLibraries for working with various layers of the network.

gom

1382

Go Manager - bundle for go.

Package ManagementUnofficial libraries for package and dependency management.

goop

779

Simple dependency manager for Go (golang), inspired by Bundler.

Package ManagementUnofficial libraries for package and dependency management.

gop

49

Build and manage your Go applications out of GOPATH.

Package ManagementUnofficial libraries for package and dependency management.

mvn-golang

163

plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.

Package ManagementUnofficial libraries for package and dependency management.

nut

232

Vendor Go dependencies.

Package ManagementUnofficial libraries for package and dependency management.

jaeger

20283

A distributed tracing system.

PerformanceUnofficial libraries for package and dependency management.

mm-go

146

Generic manual memory management for golang.

PerformanceUnofficial libraries for package and dependency management.

pixie

5521

No instrumentation tracing for Golang applications via eBPF.

PerformanceUnofficial libraries for package and dependency management.

statsviz

3204

Live visualization of your Go application runtime statistics.

PerformanceUnofficial libraries for package and dependency management.

tracer

86

Simple, lightweight tracing.

PerformanceUnofficial libraries for package and dependency management.

api-fu

55

Comprehensive GraphQL implementation.

Query LanguageUnofficial libraries for package and dependency management.

goven

60

A drop-in query language for any database schema.

Query LanguageUnofficial libraries for package and dependency management.

gqlgen

9910

go generate based graphql server library.

Query LanguageUnofficial libraries for package and dependency management.

grapher

3

A GraphQL field builder utilizing Go generics with extra utilities and features.

Query LanguageUnofficial libraries for package and dependency management.

debme

32

Create an `embed.FS` from an existing `embed.FS` subdirectory.

Resource EmbeddingUnofficial libraries for package and dependency management.

esc

637

Embeds files into Go programs and provides http.FileSystem interfaces to them.

Resource EmbeddingUnofficial libraries for package and dependency management.

fileb0x

634

Simple tool to embed files in go with focus on "customization" and ease to use.

Resource EmbeddingUnofficial libraries for package and dependency management.

rebed

29

Recreate folder structures and files from Go 1.16's `embed.FS` type

Resource EmbeddingUnofficial libraries for package and dependency management.

vfsgen

981

Generates a vfsdata.go file that statically implements the given virtual filesystem.

Resource EmbeddingUnofficial libraries for package and dependency management.

decimal

40

Package decimal implements arbitrary-precision decimal floating-point arithmetic.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

evaler

51

Simple floating point arithmetic expression evaluator.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

ewma

435

Exponentially-weighted moving averages.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

go-hep

231

A set of libraries and tools for performing High Energy Physics analyses with ease.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

godesim

23

Extended/multivariable ODE solver framework for event-based simulations with simple API.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

Failsafe-go

1640

Fault tolerance and resilience patterns for Go.

UtilitiesGeneral utilities and tools to make your life easier.

ghokin

43

Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).

UtilitiesGeneral utilities and tools to make your life easier.

git-time-metric

976

Simple, seamless, lightweight time tracking for Git.

UtilitiesGeneral utilities and tools to make your life easier.

Fuego

833

The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code.

Web FrameworksFull stack web frameworks.

goent

34

GO Implementation of Entropy Measures.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

gograph

61

A golang generic graph library that provides mathematical graph-theory and algorithms.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

gohistogram

174

Approximate histograms for data streams.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

ode

22

Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

PiHex

20

Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

Poly

671

A Go package for engineering organisms.

Science and Data AnalysisLibraries for scientific computing and data analyzing.

argon2-hashing

20

light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package.

SecurityLibraries that are used to help make your application more secure.

Coraza

2186

Enterprise-ready, modsecurity and OWASP CRS compatible WAF library.

SecurityLibraries that are used to help make your application more secure.

dongle

882

A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption.

SecurityLibraries that are used to help make your application more secure.

firewalld-rest

338

A rest application to dynamically update firewalld rules on a linux server.

SecurityLibraries that are used to help make your application more secure.

go-httpheader

47

Go library for encoding structs into Header fields.

UtilitiesGeneral utilities and tools to make your life easier.

go-qr

29

A native, high-quality and minimalistic QR code generator.

UtilitiesGeneral utilities and tools to make your life easier.

ssh-vault

443

encrypt/decrypt using ssh keys.

SecurityLibraries that are used to help make your application more secure.

sslmgr

26

SSL certificates made easy with a high level wrapper around acme/autocert.

SecurityLibraries that are used to help make your application more secure.

teler-waf

348

teler-waf is a Go HTTP middleware that provide teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications.

SecurityLibraries that are used to help make your application more secure.

bambam

65

generator for Cap'n Proto schemas from go.

SerializationLibraries and tools for binary serialization.

bel

38

Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.

SerializationLibraries and tools for binary serialization.

binstruct

97

Golang binary decoder for mapping data into the structure.

SerializationLibraries and tools for binary serialization.

php_session_decoder

164

GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.

SerializationLibraries and tools for binary serialization.

protoxy

35

A proxy server that converts JSON request bodies to Protocol Buffers.

Server ApplicationsLibraries and tools for binary serialization.

SFTPGo

9220

Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage.

Server ApplicationsLibraries and tools for binary serialization.

simple-jwt-provider

39

Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.

Server ApplicationsLibraries and tools for binary serialization.

apicompat

179

Checks recent changes to a Go project for backwards incompatible changes.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

asty

80

Converts golang AST to JSON and JSON to AST.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

blanket

18

blanket is a tool that helps you catch functions which don't have direct unit tests in your Go packages.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

go-streams

1876

Go stream processing library.

Stream ProcessingLibraries and tools for stream processing and reactive programming.

goio

82

An implementation of IO, Stream, Fiber for Golang, inspired by awesome Scala libraries cats and fs2.

Stream ProcessingLibraries and tools for stream processing and reactive programming.

gospin

59

Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations.

Template EnginesLibraries and tools for templating and lexing.

goview

422

Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.

Template EnginesLibraries and tools for templating and lexing.

jet

1250

Jet template engine.

Template EnginesLibraries and tools for templating and lexing.

liquid

287

Go implementation of Shopify Liquid templates.

Template EnginesLibraries and tools for templating and lexing.

sprout

87

Useful template functions for Go templates.

Template EnginesLibraries and tools for templating and lexing.

baloo

776

Expressive and versatile end-to-end HTTP API testing made easy.

TestingLibraries for testing codebases and generating test data.

be

103

The minimalist generic test assertion library.

TestingLibraries for testing codebases and generating test data.

commander

226

Tool for testing cli applications on windows, linux and osx.

TestingLibraries for testing codebases and generating test data.

endly

265

Declarative end to end functional testing.

TestingLibraries for testing codebases and generating test data.

flute

19

HTTP client testing framework.

TestingLibraries for testing codebases and generating test data.

go-size-analyzer

1184

Analyze and visualize the size of dependencies in compiled Golang binaries, providing insight into their impact on the final build.

Go ToolsPlugin for text editors and IDEs.

go-swagger

9495

Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.

Go ToolsPlugin for text editors and IDEs.

Duplicacy

5141

A cross-platform network and cloud backup tool based on the idea of lock-free deduplication.

Software PackagesSoftware written in Go.

fjira

133

A fuzzy-search based terminal UI application for Attlasian Jira

Software PackagesSoftware written in Go.

Gebug

635

A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.

Software PackagesSoftware written in Go.

gfile

742

Securely transfer files between two computers, without any third party, over WebRTC.

Software PackagesSoftware written in Go.

go-cmp

4181

Package for comparing Go values in tests.

TestingLibraries for testing codebases and generating test data.

go-hit

255

Hit is an http integration test framework written in golang.

TestingLibraries for testing codebases and generating test data.

go-vcr

1248

Record and replay your HTTP interactions for fast, deterministic and accurate tests.

TestingLibraries for testing codebases and generating test data.

gocrest

105

Composable hamcrest-like matchers for Go assertions.

TestingLibraries for testing codebases and generating test data.

gogiven

15

YATSPEC-like BDD testing framework for Go.

TestingLibraries for testing codebases and generating test data.

testcase

121

Idiomatic testing framework for Behavior Driven Development.

TestingLibraries for testing codebases and generating test data.

testfixtures

1105

A helper for Rails' like test fixtures to test database applications.

TestingLibraries for testing codebases and generating test data.

trial

6

Quick and easy extendable assertions without introducing much boilerplate.

TestingLibraries for testing codebases and generating test data.

go-sqlmock

6093

Mock SQL driver for testing database interactions.

TestingLibraries for testing codebases and generating test data.

govcr

172

HTTP mock for Golang: record and replay HTTP interactions for offline testing.

TestingLibraries for testing codebases and generating test data.

hoverfly

2350

HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.

TestingLibraries for testing codebases and generating test data.

httpmock

1922

Easy mocking of HTTP responses from external resources.

TestingLibraries for testing codebases and generating test data.

minimock

634

Mock generator for Go interfaces.

TestingLibraries for testing codebases and generating test data.

mockery

6046

Tool to generate Go interfaces.

TestingLibraries for testing codebases and generating test data.

encdec

9

Package provides a generic interface to encoders and decoders.

Text ProcessingLibraries for parsing and manipulating texts.

sh

7208

Shell parser and formatter.

Text ProcessingLibraries for parsing and manipulating texts.

tokenizer

94

Parse any string, slice or infinite buffer to any tokens.

Text ProcessingLibraries for parsing and manipulating texts.

KubeVPN

545

KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network.

Software PackagesSoftware written in Go.

genex

77

Count and expand Regular Expressions into all matching Strings.

Text ProcessingLibraries for parsing and manipulating texts.

go-wildcard

82

Simple and lightweight wildcard pattern matching.

Text ProcessingLibraries for parsing and manipulating texts.

goregen

90

Library for generating random strings from regular expressions.

Text ProcessingLibraries for parsing and manipulating texts.

regroup

145

Match regex expression named groups into go struct using struct tags and automatic parsing.

Text ProcessingLibraries for parsing and manipulating texts.

appstore-sdk-go

5

Unofficial Golang SDK for AppStore Connect API.

Third-party APIsLibraries for accessing third party APIs.

aws-sdk-go

2613

The official AWS SDK for the Go programming language.

Third-party APIsLibraries for accessing third party APIs.

goagi

10

Go library to build Asterisk PBX agi/fastagi applications.

Third-party APIsLibraries for accessing third party APIs.

goami2

15

AMI v2 library for Asterisk PBX.

Third-party APIsLibraries for accessing third party APIs.

GoFreeDB

36

Golang library providing common and simple database abstractions on top of Google Sheets.

Third-party APIsLibraries for accessing third party APIs.

google

3995

Auto-generated Google APIs for Go.

Third-party APIsLibraries for accessing third party APIs.

google-analytics

15

Simple wrapper for easy google analytics reporting.

Third-party APIsLibraries for accessing third party APIs.

gosip

141

Client library for SharePoint.

Third-party APIsLibraries for accessing third party APIs.

gostorm

129

GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells.

Third-party APIsLibraries for accessing third party APIs.

igdb

81

Go client for the [Internet Game Database API](https://api.igdb.com/).

Third-party APIsLibraries for accessing third party APIs.

KusionStack

869

A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach.

Software PackagesSoftware written in Go.

kwatch

960

Monitor & detect crashes in your Kubernetes(K8s) cluster instantly.

Software PackagesSoftware written in Go.

pushover

141

Go wrapper for the Pushover API.

Third-party APIsLibraries for accessing third party APIs.

rawg-sdk-go

12

Go library for the [RAWG Video Games Database](https://rawg.io/) API

Third-party APIsLibraries for accessing third party APIs.

rrdaclient

10

Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.

Third-party APIsLibraries for accessing third party APIs.

backscanner

64

A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.

UtilitiesGeneral utilities and tools to make your life easier.

contextplus

16

Package contextplus provide more easy to use functions for contexts.

UtilitiesGeneral utilities and tools to make your life easier.

cookie

110

Cookie struct parsing and helper package.

UtilitiesGeneral utilities and tools to make your life easier.

evaluator

39

Evaluate an expression dynamically based on s-expression. It's simple and easy to extend.

UtilitiesGeneral utilities and tools to make your life easier.

go-rate

397

Timed rate limiter for Go.

UtilitiesGeneral utilities and tools to make your life easier.

godropbox

4168

Common libraries for writing Go services/applications from Dropbox.

UtilitiesGeneral utilities and tools to make your life easier.

gofn

46

High performance utility functions written using Generics for Go 1.18+.

UtilitiesGeneral utilities and tools to make your life easier.

gohper

255

Various tools/modules help for development.

UtilitiesGeneral utilities and tools to make your life easier.

hub

22797

wrap git commands with additional functionality to interact with github from the terminal.

UtilitiesGeneral utilities and tools to make your life easier.

moldova

168

Utility for generating random data based on an input template.

UtilitiesGeneral utilities and tools to make your life easier.

mole

1693

cli app to easily create ssh tunnels.

UtilitiesGeneral utilities and tools to make your life easier.

mssqlx

103

Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.

UtilitiesGeneral utilities and tools to make your life easier.

multitick

70

Multiplexor for aligned tickers.

UtilitiesGeneral utilities and tools to make your life easier.

set

47

Performant and flexible struct mapping and loose type conversion.

UtilitiesGeneral utilities and tools to make your life easier.

shutdown

58

App shutdown hooks for `os.Signal` handling.

UtilitiesGeneral utilities and tools to make your life easier.

toolbox

197

Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.

UtilitiesGeneral utilities and tools to make your life easier.

ugo

27

ugo is slice toolbox with concise syntax for Go.

UtilitiesGeneral utilities and tools to make your life easier.

hercules

2604

gaining advanced insights from Git repository history.

Version ControlLibraries for version control.

go-astisub

579

Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).

VideoLibraries for manipulating video.

go-astits

541

Parse and demux MPEG Transport Streams (.ts) natively in GO.

VideoLibraries for manipulating video.

goav

2097

Comprehensive Go bindings for FFmpeg.

VideoLibraries for manipulating video.

gortsplib

678

Pure Go RTSP server and client library.

VideoLibraries for manipulating video.

Aero

572

High-performance web framework for Go, reaches top scores in Lighthouse.

Web FrameworksFull stack web frameworks.

Golf

269

Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library.

Web FrameworksFull stack web frameworks.

Resoursea

35

REST framework for quickly writing resource based services.

Web FrameworksFull stack web frameworks.

REST Layer

1256

Framework to build REST/GraphQL API on top of databases with mostly configuration over code.

Web FrameworksFull stack web frameworks.

YARF

67

Fast micro-framework designed to build REST APIs and web services in a fast and simple way.

Web FrameworksFull stack web frameworks.

Yokai

371

Simple, modular, and observable Go framework for backend applications.

Web FrameworksFull stack web frameworks.

client-timing

24

An HTTP client for Server-Timing header.

Web FrameworksFull stack web frameworks.

CORS

2652

Easily add CORS capabilities to your API.

Web FrameworksFull stack web frameworks.

echo-middleware

15

Middleware for Echo framework with logging and metrics.

Web FrameworksFull stack web frameworks.

formjson

39

Transparently handle JSON input as a standard form POST.

Web FrameworksFull stack web frameworks.

Tollbooth

2665

Rate limit HTTP request handler.

Web FrameworksFull stack web frameworks.

XFF

98

Handle `X-Forwarded-For` header and friends.

Web FrameworksFull stack web frameworks.

interpose

294

Minimalist net/http middleware for golang.

Web FrameworksFull stack web frameworks.

negroni

7462

Idiomatic HTTP middleware for Golang.

Web FrameworksFull stack web frameworks.

render

1933

Go package for easily rendering JSON, XML, and HTML template responses.

Web FrameworksFull stack web frameworks.

gocraft/web

1510

Mux and middleware package in Go.

Web FrameworksFull stack web frameworks.

lstags

327

Tool and API to sync Docker images across different registries.

Software PackagesSoftware written in Go.

lwc

32

A live-updating version of the UNIX wc command.

Software PackagesSoftware written in Go.

GoRouter

154

GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting `net/context`.

Web FrameworksFull stack web frameworks.

mux

20743

Powerful URL router and dispatcher for golang.

Web FrameworksFull stack web frameworks.

nchi

13

chi-like router built on httprouter with dependency injection based middleware wrappers

Web FrameworksFull stack web frameworks.

ngamux

66

Simple HTTP router for Go.

Web FrameworksFull stack web frameworks.

vestigo

268

Performant, stand-alone, HTTP compliant URL Router for go web applications.

Web FrameworksFull stack web frameworks.

violetear

107

Go HTTP router.

Web FrameworksFull stack web frameworks.

xmux

98

High performance muxer based on `httprouter` with `net/context` support.

Web FrameworksFull stack web frameworks.

xujiajun/gorouter

533

A simple and fast HTTP router for Go.

Web FrameworksFull stack web frameworks.

dom

486

DOM library.

WebAssemblyFull stack web frameworks.

Extism Go SDK

77

Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps.

WebAssemblyFull stack web frameworks.

go-canvas

244

Library to use HTML5 Canvas, with all drawing within go code.

WebAssemblyFull stack web frameworks.

xquery

158

XQuery lets you extract data from HTML/XML documents using XPath expression.

XMLLibraries and tools for manipulating XML.

webapi

174

Bindings for DOM and HTML generated from WebIDL.

WebAssemblyFull stack web frameworks.

d3d9

159

Go bindings for Direct3D9.

WindowsFull stack web frameworks.

go-ole

1159

Win32 OLE implementation for golang.

WindowsFull stack web frameworks.

gosddl

11

Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.

WindowsFull stack web frameworks.

XML-Comp

21

Simple command line XML comparer that generates diffs of folders, files and tags.

XMLLibraries and tools for manipulating XML.

xml2map

62

XML to MAP converter written Golang.

XMLLibraries and tools for manipulating XML.

xmlwriter

28

Procedural XML generation API based on libxml2's xmlwriter module.

XMLLibraries and tools for manipulating XML.

xpath

687

XPath package for Go.

XMLLibraries and tools for manipulating XML.

zek

747

Generate a Go struct from XML.

XMLLibraries and tools for manipulating XML.

Spiffe-Vault

84

Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication.

Zero TrustLibraries and tools to implement Zero Trust architectures.

Spire

1784

SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms.

Zero TrustLibraries and tools to implement Zero Trust architectures.

ChainJacking

55

Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

Chronos

425

Detects race conditions statically

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

dupl

344

Tool for code clone detection.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

errcheck

2345

Errcheck is a program for checking for unchecked errors in Go programs.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

go-cleanarch

859

go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

go-critic

1844

source code linter that brings checks that are currently not implemented in other linters.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

go-outdated

43

Console application that displays outdated packages.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

goast-viewer

766

Web based Golang AST visualizer.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

manssh

297

manssh is a command line tool for managing your ssh alias config easily.

Software PackagesSoftware written in Go.

Mantil

110

Go specific framework for building serverless applications on AWS that enables you to focus on pure Go code while Mantil takes care of the infrastructure.

Software PackagesSoftware written in Go.

minikube

29291

Run Kubernetes locally.

Software PackagesSoftware written in Go.

Moby

68570

Collaborative project for the container ecosystem to assemble container-based systems.

Software PackagesSoftware written in Go.

golang-ifood-sdk

11

iFood API SDK.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

golines

914

Formatter that automatically shortens long lines in Go code.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

GoPlantUML

1842

Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

goreturns

531

Adds zero-value return statements to match the func return types.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

gostatus

244

Command line tool, shows the status of repositories that contain Go packages.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

todocheck

425

Static code analyser which links TODO comments in code with issues in your issue tracker.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

unconvert

377

Remove unnecessary type conversions from Go source.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

usestdlibvars

43

A linter that detect the possibility to use variables/constants from the Go standard library.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

vacuum

581

An ultra-super-fast, lightweight OpenAPI linter and quality checking tool.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

validate

61

Automatically validates struct fields with tags.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

wrapcheck

303

A linter to check that errors from external packages are wrapped.

Code AnalysisSource code analysis tools, also known as Static Application Security Testing (SAST) Tools.

coc-go language server extension for Vim/Neovim

564

This plugin adds [gopls](https://github.com/golang/tools/blob/master/gopls/README.md) features to Vim/Neovim.

Editor PluginsPlugin for text editors and IDEs.

Go Doc

8

A Visual Studio Code extension for showing definition in output and generating go doc.

Editor PluginsPlugin for text editors and IDEs.

go-language-server

32

A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.

Editor PluginsPlugin for text editors and IDEs.

go-mode

1386

Go mode for GNU/Emacs.

Editor PluginsPlugin for text editors and IDEs.

go-plus

1511

Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.

Editor PluginsPlugin for text editors and IDEs.

gocode

5010

Autocompletion daemon for the Go programming language.

Editor PluginsPlugin for text editors and IDEs.

goimports-reviser

587

Formatting tool for imports.

Editor PluginsPlugin for text editors and IDEs.

vim-compiler-go

89

Vim plugin to highlight syntax errors on save.

Editor PluginsPlugin for text editors and IDEs.

vim-go

15988

Go development plugin for Vim.

Editor PluginsPlugin for text editors and IDEs.

vscode-go

3867

Extension for Visual Studio Code (VS Code) which provides support for the Go language.

Editor PluginsPlugin for text editors and IDEs.

Watch

201

Runs a command in an acme win on file changes.

Editor PluginsPlugin for text editors and IDEs.

envdoc

56

generate documentation for environment variables from Go source files.

Go Generate ToolsPlugin for text editors and IDEs.

generic

48

flexible data type for Go.

Go Generate ToolsPlugin for text editors and IDEs.

genny

1708

Elegant generics for Go.

Go Generate ToolsPlugin for text editors and IDEs.

gocontracts

110

brings design-by-contract to Go by synchronizing the code with the documentation.

Go Generate ToolsPlugin for text editors and IDEs.

godal

18

Generate orm models corresponding to golang by specifying sql ddl file, which can be used by gorm.

Go Generate ToolsPlugin for text editors and IDEs.

gonerics

114

Idiomatic Generics in Go.

Go Generate ToolsPlugin for text editors and IDEs.

gotests

4935

Generate Go tests from your source code.

Go Generate ToolsPlugin for text editors and IDEs.

gounit

80

Generate Go tests using your own templates.

Go Generate ToolsPlugin for text editors and IDEs.

hasgo

141

Generate Haskell inspired functions for your slices.

Go Generate ToolsPlugin for text editors and IDEs.

options-gen

77

Functional options described by Dave Cheney's post "Functional options for friendly APIs".

Go Generate ToolsPlugin for text editors and IDEs.

sqlgen

82

Generate gorm, xorm, sqlx, bun, sql code from SQL file or DSN.

Go Generate ToolsPlugin for text editors and IDEs.

xgen

332

XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.

Go Generate ToolsPlugin for text editors and IDEs.

colorgo

113

Wrapper around `go` command for colorized `go build` output.

Go ToolsPlugin for text editors and IDEs.

decouple

21

Find “overspecified” function parameters that could be generalized with interface types.

Go ToolsPlugin for text editors and IDEs.

depth

928

Visualize dependency trees of any package by analyzing imports.

Go ToolsPlugin for text editors and IDEs.

docs

39

Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard.

Go ToolsPlugin for text editors and IDEs.

go-callvis

5943

Visualize call graph of your Go program using dot format.

Go ToolsPlugin for text editors and IDEs.

Mora

315

REST server for accessing MongoDB documents and meta data.

Software PackagesSoftware written in Go.

godbg

202

Implementation of Rusts `dbg!` macro for quick and easy debugging during development.

Go ToolsPlugin for text editors and IDEs.

gotestdox

112

Show Go test results as readable sentences.

Go ToolsPlugin for text editors and IDEs.

gothanks

124

GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.

Go ToolsPlugin for text editors and IDEs.

igo

66

An igo to go transpiler (new language features for Go language!)

Go ToolsPlugin for text editors and IDEs.

modver

18

Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to [semver](https://semver.org/) rules.

Go ToolsPlugin for text editors and IDEs.

MoniGO

207

A performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀

Go ToolsPlugin for text editors and IDEs.

OctoLinker

5272

Navigate through go files efficiently with the OctoLinker browser extension for GitHub.

Go ToolsPlugin for text editors and IDEs.

richgo

848

Enrich `go test` outputs with text decorations.

Go ToolsPlugin for text editors and IDEs.

roumon

184

Monitor current state of all active goroutines via a command line interface.

Go ToolsPlugin for text editors and IDEs.

rts

249

RTS: response to struct. Generates Go structs from server responses.

Go ToolsPlugin for text editors and IDEs.

textra

6

Extract Go struct field names, types and tags for filtering and exporting.

Go ToolsPlugin for text editors and IDEs.

typex

199

Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.

Go ToolsPlugin for text editors and IDEs.

abbreviate

219

abbreviate is a tool turning long strings in to shorter ones with configurable separators, for example to embed branch names in to deployment stack IDs.

Software PackagesSoftware written in Go.

alaz

644

Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring.

Software PackagesSoftware written in Go.

aptly

12

aptly is a Debian repository management tool.

Software PackagesSoftware written in Go.

aurora

597

Cross-platform web-based Beanstalkd queue server console.

Software PackagesSoftware written in Go.

ostent

179

collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.

Software PackagesSoftware written in Go.

awsenv

35

Small binary that loads Amazon (AWS) environment variables for a profile.

Software PackagesSoftware written in Go.

Balerter

300

A self-hosted script-based alerting manager.

Software PackagesSoftware written in Go.

Blast

217

A simple tool for API load testing and batch jobs.

Software PackagesSoftware written in Go.

bombardier

5930

Fast cross-platform HTTP benchmarking tool.

Software PackagesSoftware written in Go.

Ddosify

8389

High-performance load testing tool, written in Golang.

Software PackagesSoftware written in Go.

decompose

85

tool to generate and process Docker containers connections graphs.

Software PackagesSoftware written in Go.

DepCharge

23

Helps orchestrating the execution of commands across the many dependencies in larger projects.

Software PackagesSoftware written in Go.

docker-go-mingw

45

Docker image for building Go binaries for Windows with MinGW toolchain.

Software PackagesSoftware written in Go.

Dockerfile-Generator

170

A go library and an executable that produces valid Dockerfiles using various input channels.

Software PackagesSoftware written in Go.

dogo

267

Monitoring changes in the source file and automatically compile and run (restart).

Software PackagesSoftware written in Go.

Packer

15059

Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

Software PackagesSoftware written in Go.

Pewpew

417

Flexible HTTP command line stress tester.

Software PackagesSoftware written in Go.

PipeCD

1069

A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications.

Software PackagesSoftware written in Go.

podinfo

5369

Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops.

Software PackagesSoftware written in Go.

portal

1446

Portal is a quick and easy command-line file transfer utility from any computer to another.

Software PackagesSoftware written in Go.

drone-jenkins

38

Trigger downstream Jenkins jobs using a binary, docker or Drone CI.

Software PackagesSoftware written in Go.

drone-scp

142

Copy files and artifacts via SSH using a binary, docker or Drone CI.

Software PackagesSoftware written in Go.

Dropship

64

Tool for deploying code via cdn.

Software PackagesSoftware written in Go.

easyssh-proxy

320

Golang package for easy remote execution through SSH and SCP downloading via `ProxyCommand`.

Software PackagesSoftware written in Go.

fac

1839

Command-line user interface to fix git merge conflicts.

Software PackagesSoftware written in Go.

Flannel

8753

Flannel is a network fabric for containers, designed for Kubernetes.

Software PackagesSoftware written in Go.

Fleet device management

3012

Lightweight, programmable telemetry for servers and workstations.

Software PackagesSoftware written in Go.

gaia

5196

Build powerful pipelines in any programming language.

Software PackagesSoftware written in Go.

ghorg

1550

Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket.

Software PackagesSoftware written in Go.

Gitea

44461

Fork of Gogs, entirely community driven.

Software PackagesSoftware written in Go.

go-furnace

98

Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.

Software PackagesSoftware written in Go.

go-rocket-update

103

A simple way to make self updating Go applications - Supports Github and Gitlab.

Software PackagesSoftware written in Go.

go-selfupdate

1520

Enable your Go applications to self update.

Software PackagesSoftware written in Go.

gobrew

194

gobrew lets you easily switch between multiple versions of go.

Software PackagesSoftware written in Go.

gobrew

369

Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash.

Software PackagesSoftware written in Go.

godbg

228

Web-based gdb front-end application.

Software PackagesSoftware written in Go.

gonative

340

Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.

Software PackagesSoftware written in Go.

govvv

538

“go build” wrapper to easily add version information into Go binaries.

Software PackagesSoftware written in Go.

gox

4595

Dead simple, no frills Go cross compile tool.

Software PackagesSoftware written in Go.

goxc

1677

build tool for Go, with a focus on cross-compiling and packaging.

Software PackagesSoftware written in Go.

grapes

167

Lightweight tool designed to distribute commands over ssh with ease.

Software PackagesSoftware written in Go.

GVM

10190

GVM provides an interface to manage Go versions.

Software PackagesSoftware written in Go.

Hey

18017

Hey is a tiny program that sends some load to a web application.

Software PackagesSoftware written in Go.

httpref

37

httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports.

Software PackagesSoftware written in Go.

jcli

389

Jenkins CLI allows you manage your Jenkins as an easy way.

Software PackagesSoftware written in Go.

k3d

5381

Little helper to run CNCF's k3s in Docker.

Software PackagesSoftware written in Go.

k3s

27782

Lightweight Kubernetes.

Software PackagesSoftware written in Go.

k6

25566

A modern load testing tool, using Go and JavaScript.

Software PackagesSoftware written in Go.

kala

2130

Simplistic, modern, and performant job scheduler.

Software PackagesSoftware written in Go.

kcli

216

Command line tool for inspecting kafka topics/partitions/messages.

Software PackagesSoftware written in Go.

kind

13376

Kubernetes IN Docker - local clusters for testing Kubernetes.

Software PackagesSoftware written in Go.

ko

7587

Command line tool for building and deploying Go applications on Kubernetes

Software PackagesSoftware written in Go.

kool

663

Command line tool for managing Docker environments as an easy way.

Software PackagesSoftware written in Go.

kubeblocks

2079

KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s.

Software PackagesSoftware written in Go.

kubernetes

110308

Container Cluster Manager from Google.

Software PackagesSoftware written in Go.

kubeshark

10943

API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes.

Software PackagesSoftware written in Go.

KubeVela

6399

Cloud native application delivery.

Software PackagesSoftware written in Go.

woke

450

Detect non-inclusive language in your source code.

Software PackagesSoftware written in Go.

Pomerium

4032

Pomerium is an identity-aware access proxy.

Software PackagesSoftware written in Go.

Rodent

33

Rodent helps you manage Go versions, projects and track dependencies.

Software PackagesSoftware written in Go.

s3-proxy

298

S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth).

Software PackagesSoftware written in Go.

s3gof3r

1145

Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.

Software PackagesSoftware written in Go.

s5cmd

2607

Blazing fast S3 and local filesystem execution tool.

Software PackagesSoftware written in Go.

Scaleway-cli

882

Manage BareMetal Servers from Command Line (as easily as with Docker).

Software PackagesSoftware written in Go.

script

5476

Making it easy to write shell-like scripts in Go for DevOps and system administration tasks.

Software PackagesSoftware written in Go.

sg

8

Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response.

Software PackagesSoftware written in Go.

skm

952

SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!

Software PackagesSoftware written in Go.

StatusOK

1621

Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.

Software PackagesSoftware written in Go.

tau

3276

Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging.

Software PackagesSoftware written in Go.

terraform-provider-openapi

274

Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.

Software PackagesSoftware written in Go.

tf-profile

150

Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations.

Software PackagesSoftware written in Go.

tlm

1207

Local cli copilot, powered by CodeLLaMa

Software PackagesSoftware written in Go.

traefik

50708

Reverse proxy and load balancer with support for multiple backends.

Software PackagesSoftware written in Go.

trubka

331

A CLI tool to manage and troubleshoot Apache Kafka clusters with the ability of generically publishing/consuming protocol buffer and plain text events to/from Kafka.

Software PackagesSoftware written in Go.

uTask

1191

Automation engine that models and executes business processes declared in yaml.

Software PackagesSoftware written in Go.

Vegeta

23434

HTTP load testing tool and library. It's over 9000!

Software PackagesSoftware written in Go.

wait-for

18

Wait for something to happen (from the command line) before continuing. Easy orchestration of Docker services and other things.

Software PackagesSoftware written in Go.

webhook

10300

Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.

Software PackagesSoftware written in Go.

winrm-cli

164

Cli tool to remotely execute commands on Windows machines.

Software PackagesSoftware written in Go.

blocky

4670

Fast and lightweight DNS proxy as ad-blocker for local network with many features.

Software PackagesSoftware written in Go.

borg

1608

Terminal based search engine for bash snippets.

Software PackagesSoftware written in Go.

boxed

80

Dropbox based blog engine.

Software PackagesSoftware written in Go.

Cherry

301

Tiny webchat server in Go.

Software PackagesSoftware written in Go.

Circuit

1983

Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.

Software PackagesSoftware written in Go.

Comcast

10300

Simulate bad network connections.

Software PackagesSoftware written in Go.

confd

8337

Manage local application configuration files using templates and data from etcd or consul.

Software PackagesSoftware written in Go.

crawley

255

Web scraper/crawler for cli.

Software PackagesSoftware written in Go.

croc

27785

Easily and securely send files or folders from one computer to another.

Software PackagesSoftware written in Go.

Documize

2150

Modern wiki software that integrates data from SaaS tools.

Software PackagesSoftware written in Go.

dp

81

Through SDK for data exchange with blockchain, developers can get easy access to DAPP development.

Software PackagesSoftware written in Go.

drive

6683

Google Drive client for the commandline.

Software PackagesSoftware written in Go.

Go Package Store

899

App that displays updates for the Go packages in your GOPATH.

Software PackagesSoftware written in Go.

go-peerflix

473

Video streaming torrent client.

Software PackagesSoftware written in Go.

GoBoy

2603

Nintendo Game Boy Color emulator written in Go.

Software PackagesSoftware written in Go.

gocc

606

Gocc is a compiler kit for Go written in Go.

Software PackagesSoftware written in Go.

GoDocTooltip

13

Chrome extension for Go Doc sites, which shows function description as tooltip at function list.

Software PackagesSoftware written in Go.

Gokapi

1527

Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload.

Software PackagesSoftware written in Go.

GoNB

631

Interactive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab).

Software PackagesSoftware written in Go.

Gor

18597

Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.

Software PackagesSoftware written in Go.

Guora

668

A self-hosted Quora like web application written in Go.

Software PackagesSoftware written in Go.

Go-gopher-Vector

69

Go gopher Vector Data [.ai, .svg].

GophersWhere to discover new Go libraries.

hoofli

8

Generate PlantUML diagrams from Chrome or Firefox network inspections.

Software PackagesSoftware written in Go.

hotswap

344

A complete solution to reload your go code without restarting your server, interrupting or blocking any ongoing procedure.

Software PackagesSoftware written in Go.

ide

358

Browser accessible IDE. Designed for Go with Go.

Software PackagesSoftware written in Go.

ipe

367

Open source Pusher server implementation compatible with Pusher client libraries written in GO.

Software PackagesSoftware written in Go.

joincap

211

Command-line utility for merging multiple pcap files together.

Software PackagesSoftware written in Go.

JuiceFS

10665

Distributed POSIX file system built on top of Redis and AWS S3.

Software PackagesSoftware written in Go.

Leaps

752

Pair programming service using Operational Transforms.

Software PackagesSoftware written in Go.

lgo

2434

Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.

Software PackagesSoftware written in Go.

LiteIDE

7575

LiteIDE is a simple, open source, cross-platform Go IDE.

Software PackagesSoftware written in Go.

mockingjay

562

Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.

Software PackagesSoftware written in Go.

myLG

2692

Command Line Network Diagnostic tool written in Go.

Software PackagesSoftware written in Go.

naclpipe

23

Simple NaCL EC25519 based crypto pipe tool written in Go.

Software PackagesSoftware written in Go.

Neo-cowsay

309

🐮 cowsay is reborn. for a New Era.

Software PackagesSoftware written in Go.

nes

5440

Nintendo Entertainment System (NES) emulator written in Go.

Software PackagesSoftware written in Go.

Orbit

183

A simple tool for running commands and generating files from templates.

Software PackagesSoftware written in Go.

peg

1008

Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.

Software PackagesSoftware written in Go.

Plik

1471

Plik is a temporary file upload system (Wetransfer like) in Go.

Software PackagesSoftware written in Go.

protoncheck

6

ProtonMail module for waybar/polybar/yabar/i3blocks.

Software PackagesSoftware written in Go.

restic

26033

De-duplicating backup program.

Software PackagesSoftware written in Go.

sake

649

sake is a command runner for local and remote hosts.

Software PackagesSoftware written in Go.

scc

6603

Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.

Software PackagesSoftware written in Go.

Seaweed File System

22490

Fast, Simple and Scalable Distributed File System with O(1) disk seek.

Software PackagesSoftware written in Go.

shell2http

1329

Executing shell commands via http server (for prototyping or remote control).

Software PackagesSoftware written in Go.

Snitch

17

Simple way to notify your team and many tools when someone has deployed any application via Tsuru.

Software PackagesSoftware written in Go.

sonic

2010

Sonic is a Go Blogging Platform. Simple and Powerful.

Software PackagesSoftware written in Go.

Stack Up

2483

Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.

Software PackagesSoftware written in Go.

stew

160

An independent package manager for compiled binaries.

Software PackagesSoftware written in Go.

tcpdog

256

eBPF based TCP observability.

Software PackagesSoftware written in Go.

tcpprobe

355

TCP tool for network performance and path monitoring, including socket statistics.

Software PackagesSoftware written in Go.

term-quiz

26

Quizzes for your terminal.

Software PackagesSoftware written in Go.

toxiproxy

10637

Proxy to simulate network and system conditions for automated tests.

Software PackagesSoftware written in Go.

vaku

151

CLI & API for folder-based functions in Vault like copy, move, and search.

Software PackagesSoftware written in Go.

vFlow

1090

High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.

Software PackagesSoftware written in Go.

wellington

303

Sass project management tool, extends the language with sprite functions (like Compass).

Software PackagesSoftware written in Go.

yai

642

AI powered terminal assistant.

Software PackagesSoftware written in Go.

autobench

99

Framework to compare the performance between different Go versions.

BenchmarksWhere to discover new Go libraries.

go-benchmark-app

27

Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.

BenchmarksWhere to discover new Go libraries.

go-benchmarks

147

Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.

BenchmarksWhere to discover new Go libraries.

go-http-routing-benchmark

1650

Go HTTP request router benchmark and comparison.

BenchmarksWhere to discover new Go libraries.

go-json-benchmark

9

Go JSON benchmark.

BenchmarksWhere to discover new Go libraries.

go-ml-benchmarks

31

benchmarks for machine learning inference in Go.

BenchmarksWhere to discover new Go libraries.

go-web-framework-benchmark

2067

Go web framework benchmark.

BenchmarksWhere to discover new Go libraries.

go_serialization_benchmarks

1565

Benchmarks of Go serialization methods.

BenchmarksWhere to discover new Go libraries.

Awesome Remote Job

30699

Curated list of awesome remote jobs. A lot of them are looking for Go hackers.

WebsitesOther

awesome-awesomeness

31724

List of other amazingly awesome lists.

WebsitesOther

awesome-go-extra

23

Parse awesome-go README file and generate a new README file with repo info.

WebsitesOther

gocostmodel

61

Benchmarks of common basic operations for the Go language.

BenchmarksWhere to discover new Go libraries.

golang-benchmarks

131

a collection of golang benchmarks.

BenchmarksWhere to discover new Go libraries.

golang-sql-benchmark

65

Collection of benchmarks for popular Go database/SQL utilities.

BenchmarksWhere to discover new Go libraries.

gospeed

120

Go micro-benchmarks for calculating the speed of language constructs.

BenchmarksWhere to discover new Go libraries.

kvbench

26

Key/Value database benchmark.

BenchmarksWhere to discover new Go libraries.

skynet

1044

Skynet 1M threads microbenchmark.

BenchmarksWhere to discover new Go libraries.

speedtest-resize

237

Compare various Image resize algorithms for the Go language.

BenchmarksWhere to discover new Go libraries.

Go AST Book (Chinese)

5345

A book focusing on Go `go/*` packages.

E-BooksWhere to discover new Go libraries.

Go Succinctly

22

in Persian.

E-BooksWhere to discover new Go libraries.

GoBooks

16892

A curated list of Go books.

E-BooksWhere to discover new Go libraries.

Free Gophers Pack

3396

Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.

GophersWhere to discover new Go libraries.

gopher-logos

124

adorable gopher logos.

GophersWhere to discover new Go libraries.

gopherize.me

708

Gopherize yourself.

GophersWhere to discover new Go libraries.

gophers

2949

Gopher artworks by Ashley McNamara.

GophersWhere to discover new Go libraries.

gophers

3469

Free gophers.

GophersWhere to discover new Go libraries.

gophers

58

random gopher graphics.

GophersWhere to discover new Go libraries.

gophers

144

Gopher amigurumi toy pattern.

GophersWhere to discover new Go libraries.

gophers

34

Gophers by Aurélie Vache.

GophersWhere to discover new Go libraries.

Awesome Golang Workshops

505

A curated list of awesome golang workshops.

WebsitesOther

Ethereum Development with Go

1735

A little e-book on Ethereum Development with Go.

WebsitesOther

Go in 7 days

141

Learn everything about Go in 7 days (from a Nodejs developer).

WebsitesOther

go-clean-template

6262

Clean Architecture template for Golang services.

WebsitesOther

go-patterns

25237

Curated list of Go design patterns, recipes and idioms.

WebsitesOther

gocryforhelp

41

Collection of Go projects that needs help. Good place to start your open-source way in Go.

WebsitesOther

golang-graphics

139

Collection of Go images, graphics, and art.

WebsitesOther

Build web application with Golang

43245

Golang ebook intro how to build a web app with golang.

WebsitesOther

Design Patterns in Go

119

Collection of programming design patterns implemented in Go.

WebsitesOther

Go Cheat Sheet

8321

Go's reference card.

WebsitesOther

goapp

871

An opinionated guideline to structure & develop a Go web application/service.

WebsitesOther

Golang for Node.js Developers

4606

Examples of Golang compared to Node.js for learning.

WebsitesOther

golang-examples

1561

Many examples to learn Golang.

WebsitesOther

Learn Go with 1000+ Exercises

18806

Learn Go with thousands of examples, exercises, and quizzes.

WebsitesOther

Learn Go with TDD

22057

Learn Go with test-driven development.

WebsitesOther

Working with Go

1154

Intro to go for experienced programmers.

WebsitesOther