Skip to content
94

Awesome Go

A curated list of awesome Go frameworks, libraries and software

186k stars13,590 forks3,119 entriesLast push Sep 28, 2026 (yesterday)License MIT

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Actor Model

asyncmachine-go/pkg/machine

Graph control flow library (AOP, actor, state-machine).

In 2 lists

Ergo

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

In 3 lists

Goakt

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

In 2 lists

Hollywood

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

In 2 lists

ProtoActor

Distributed actors for Go, C#, and Java/Kotlin.

In 3 lists

Artificial Intelligence

AegisFlow

AI gateway for routing, securing, and monitoring LLM traffic across 10+ providers. OpenAI-compatible API, WASM policy plugins, canary rollouts, real-time dashboard.

Aetheris

AI Agent execution runtime with event sourcing, checkpoint recovery, and At-Most-Once execution guarantee. Written in Go.

agent-sdk-go

Framework for building stateful AI agents in Go.

agy-mcp

Model Context Protocol (MCP) server wrapping the Antigravity CLI to run prompts and peer reviews.

ai

A Go toolkit for building AI agents and applications across multiple providers with unified LLM, embeddings, tool calling, and MCP integration.

ai-gateway

OpenAI-compatible LLM gateway that routes requests across 30 providers with fallback, rate limiting, budgets, guardrails, and observability.

chromem-go

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

In 3 lists

claude-code-go

Go library for driving the Claude Code CLI non-interactive prompt surface from Go programs.

crewai-go

Idiomatic Go port of CrewAI (multi-agent orchestration). Zero dependencies, stdlib only.

Cynative

Framework for building security engineering AI agents in Go. Read-only by construction, built-in sandbox, 45 agent blueprints for AWS, GCP, Azure, K8s, GitHub & GitLab deep research.

In 6 listsDetails

dakera-go

Official Go client SDK for the Dakera self-hosted agent memory server, providing typed interfaces for memory store/recall, session management, namespace operations, and decay configuration.

fun

The simplest but powerful way to use large language models (LLMs) in Go.

In 2 lists

goai

Go SDK for building AI applications. One SDK, 20+ providers. Inspired by Vercel AI SDK.

GoModel

AI gateway exposing a unified OpenAI-compatible API across OpenAI, Anthropic, Gemini, Groq, xAI, Ollama and other providers, with routing, usage tracking, rate limits, and guardrails.

In 3 lists

hotplex

AI Agent runtime engine with long-lived sessions for Claude Code, OpenCode, pi-mono and other CLI AI tools. Provides full-duplex streaming, multi-platform integrations, and secure sandbox.

jargo

Framework for building real-time voice AI agents over WebRTC, wiring speech-to-text, LLMs, and text-to-speech into a streaming pipeline.

keen-code

A context-efficient terminal-based AI coding agent. Provider agnostic, supports MCPs, Agent Skills, Subagents, and more. Comes with a simple and straightforward TUI.

In 3 lists

langchaingo

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

In 4 listsDetails

langgraphgo

A Go library for building stateful, multi-actor applications with LLMs, built on the concept of LangGraph,with a lot of builtin Agent architectures.

llm-box

Terminal-based AI workflow engine with YAML-driven pipelines, 20+ LLM providers (DeepSeek, Qwen, GLM, Mistral, etc.), and a TUI for workflow management.

In 2 lists

LocalAI

Open Source OpenAI alternative, self-host AI models.

In 14 listsDetails

localaik

LocalStack-style local emulation of OpenAI and Gemini APIs; single Docker container, llama.cpp + Gemma 3 backend.

mcp-go

Go implementation of the Model Context Protocol for building MCP servers and clients in Go.

In 3 lists

Ollama

Run large language models locally.

In 5 listsDetails

OllamaFarm

Manage, load-balance, and failover packs of Ollamas.

In 2 lists

otellix

OpenTelemetry-native LLM observability and budget guardrails for cost-constrained production environments.

routex

YAML-driven multi-agent AI runtime for Go with Erlang-style supervision, MCP tool server support, and a CLI.

semantic-search

Meaning-based search over PDF, Markdown, DOCX, source code, and other file types, using generative AI embedding models to vectorize files into a vector database.

skillreaper

CLI that scans AI agent session transcripts to identify and safely quarantine unused skills, MCP servers, and agents across Claude Code, Codex CLI, Hermes, OpenCode, Cursor, and OpenClaw.

In 2 lists

Smeldr

AI-native content backend with typed lifecycle management, native MCP tools for every content type, and zero runtime dependencies.

snip

CLI proxy that reduces LLM token usage by 60-90% with declarative YAML filters. Drop-in for Claude Code, Cursor, Copilot, and Gemini. rtk alternative in Go.

thermal

Terminal contribution heatmap, streak tracker, and token leaderboard for AI coding assistants.

trpc-agent-go

Framework for building LLM-based multi-agent systems.

web-researcher-mcp

MCP server providing AI assistants with web search, content extraction, and multi-source research capabilities. Single binary, 5 search providers with circuit-breaker failover, 4-tier scraping pipeline.

zenflow

Multi-agent orchestration & workflow engine. Declarative YAML workflows, LLM coordinator with hub-and-spoke mailboxes, race-safe delivery. One YAML file, one Go binary. Runs on any goai-supported provider.

Audio and Music

beep

A simple library for playback and audio manipulation.

In 2 lists

flac

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

In 2 lists

gaad

Native Go AAC bitstream parser.

In 2 lists

go-aac

Pure-Go AAC-LC encoder and decoder ported from FFmpeg.

go-audio-resampler

Pure-Go, high-quality audio resampler with SIMD acceleration.

go-flac

Native Go FLAC encoder and decoder with SIMD acceleration.

go-mpris

Client for mpris dbus interfaces.

In 2 lists

go-opus

Native Go implementation of the Opus audio codec (RFC 6716) with RFC-compliant decoder.

go-resample

Pure-Go (no cgo) audio sample-rate converter with sinc, linear, and zero-order-hold converters.

go-wav

Pure-Go WAV/RIFF reader and writer with RF64 and BW64 support for files larger than 4 GiB.

GoAudio

Native Go Audio Processing Library.

In 2 lists

gocue

Audio analysis CLI that detects cue-in, cue-out, and overlay points and measures EBU R128 loudness, emitting JSON for Liquidsoap.

gosamplerate

libsamplerate bindings for go.

In 2 lists

id3v2

ID3 decoding and encoding library for Go.

In 2 lists

malgo

Mini audio library.

In 2 lists

minimp3

Lightweight MP3 decoder library.

In 2 lists

music-theory

Music theory models in Go.

Oto

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

In 2 lists

PortAudio

Go bindings for the PortAudio audio I/O library. -voxrai-ai - AI voice agents with a JSON configuration, STT → LLM → TTS pipelines over WebSocket and WebRTC

In 2 lists

Authentication and Authorization

authboss

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.

In 3 lists

authgate

A lightweight OAuth 2.0 Authorization Server supporting Device Authorization Grant (RFC 8628), Authorization Code Flow with PKCE (RFC 6749 + RFC 7636), and Client Credentials Grant for machine-to-machine authentication.

branca

branca token specification implementation for Golang 1.15+.

In 2 lists

casbin

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

cookiestxt

provides a parser of cookies.txt file format.

In 2 lists

go-githubauth

Utilities for GitHub authentication: generate and use GitHub application and installation tokens.

In 2 lists

go-guardian

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.

In 2 lists

go-iam

Developer-first Identity and Access Management system with a simple UI.

In 2 lists

go-jose

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

In 2 lists

go-jwt

A JWT (JSON Web Token) library for Go.

go-jwt

JWT authentication package providing access tokens and refresh tokens with fingerprinting, Redis storage, and automatic refresh capabilities.

In 2 lists

goiabada

An open-source authentication and authorization server supporting OAuth2 and OpenID Connect.

In 2 lists

gologin

chainable handlers for login with OAuth1 and OAuth2 authentication providers.

In 2 lists

gorbac

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

In 2 lists

gosession

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.

In 2 lists

goth

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

In 4 listsDetails

jeff

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

In 2 lists

jwt

Lightweight JSON Web Token (JWT) library.

In 2 lists

jwt

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

In 3 lists

jwt-auth

JWT middleware for Golang http servers with many configuration options.

In 2 lists

jwt-go

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.

In 4 listsDetails

jwx

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

In 2 lists

keto

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.

In 5 listsDetails

loginsrv

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

In 2 lists

melange

Compiles OpenFGA authorization schemas into PL/pgSQL functions that run fine-grained relationship-based access control checks inside PostgreSQL.

oauth2

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

In 4 listsDetails

oidc

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

In 3 lists

openfga

Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by CNCF.

In 3 lists

osin

Golang OAuth2 server library.

In 2 lists

otpgen

Library to generate TOTP/HOTP codes.

In 2 lists

otpgo

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

In 2 lists

paseto

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

In 3 lists

permissions

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

In 2 lists

scope

Easily Manage OAuth2 Scopes In Go.

In 2 lists

scs

Session Manager for HTTP servers.

In 3 lists

securecookie

Efficient secure cookie encoding/decoding.

In 2 lists

session

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

In 2 lists

sessions

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

In 2 lists

sessionup

Simple, yet effective HTTP session management and identification package.

In 2 lists

sjwt

Simple jwt generator and parser.

In 2 lists

spicedb

A Zanzibar-inspired database that enables fine-grained authorization.

In 6 listsDetails

x509proxy

Library to handle X509 proxy certificates.

In 2 lists

Blockchain

cometbft

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

In 3 lists

cosmos-sdk

A Framework for Building Public Blockchains in the Cosmos Ecosystem.

In 4 listsDetails

gno

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

In 2 lists

go-ethereum

Official Go implementation of the Ethereum protocol.

In 5 listsDetails

gosemble

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

In 2 lists

gossamer

A Go implementation of the Polkadot Host.

In 3 lists

kubo

An IPFS implementation in Go. It provides content-addressable storage which can be used for decentralized storage in DApps. It is based on the IPFS protocol.

In 5 listsDetails

lnd

A complete implementation of a Lightning Network node.

In 3 lists

nview

Local monitoring tool for a Cardano Node. It's a TUI (terminal user interface) designed to fit most screens.

In 2 lists

pactus

A full-node implementation of the Pactus blockchain in Go.

solana-go

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

In 2 lists

tendermint

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.

In 3 lists

tronlib

A comprehensive, production-ready Go SDK for interacting with the TRON blockchain with TRC20 token support.

Bot Building

arikawa

A library and framework for the Discord API.

In 2 lists

bot

Zero-dependencies Telegram Bot library with additional UI components.

In 2 lists

echotron

An elegant and concurrent library for Telegram Bots in Go.

In 2 lists

go-joe

A general-purpose bot library inspired by Hubot but written in Go.

In 2 lists

go-sarah

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

In 2 lists

go-tg

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

In 2 lists

go-twitch-irc

Library to write bots for twitch.tv chat

In 2 lists

micha

Go Library for Telegram bot api.

In 2 lists

slack-bot

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

In 3 lists

slacker

Easy to use framework to create Slack bots.

In 2 lists

telebot

Telegram bot framework is written in Go.

In 5 listsDetails

teleflow

Simple, type-safe Telegram bot framework with fluent flows and automatic state management.

telego

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

In 2 lists

telegram-bot-api

Simple and clean Telegram bot client.

In 4 listsDetails

TG

Telegram Bot Framework for Go.

wayback

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

In 7 listsDetails

ymsdk

Go SDK for Yandex Messenger Bot API with type-safe models, automatic retry, and rate-limit handling.

Wisp

Event-driven trading framework for Go. Spot, perpetual futures, prediction markets. Multi-exchange (Bybit, Hyperliquid, Polymarket).

Build Automation

1build

Command line tool to frictionlessly manage project-specific commands.

In 2 lists

air

Air - Live reload for Go apps.

In 4 listsDetails

anko

Simple application watcher for multiple programming languages.

In 2 lists

gaper

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

In 2 lists

gilbert

Build system and task runner for Go projects.

In 2 lists

gob

Gradle/Maven like build tool for Go projects.

In 2 lists

goyek

Create build pipelines in Go.

In 2 lists

mage

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

In 4 listsDetails

mmake

Modern Make.

In 2 lists

realize

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

In 2 lists

rex

Zero-config universal project runner. Detects your stack (Go, Node, Python, Rust, PHP, Zig, Elixir) and runs the right command.

Task

simple "Make" alternative.

In 5 listsDetails

taskctl

Concurrent task runner.

In 2 lists

xc

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

In 2 lists

Command Line >Advanced Console UIs

asciigraph

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

In 4 listsDetails

aurora

ANSI terminal colors that support fmt.Printf/Sprintf.

In 2 lists

box-cli-maker

Render highly customizable boxes in the terminal.

bubble-table

An interactive table component for bubbletea.

In 2 lists

bubbles

TUI components for bubbletea.

In 4 listsDetails

bubbletea

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

In 4 listsDetails

chroma16

Generate a harmonious 16-color terminal palette from a single seed color or string.

crab-config-files-templating

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

In 2 lists

ctc

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

In 2 lists

fx

Terminal JSON viewer & processor.

In 12 listsDetails

go-ataman

Go library for rendering ANSI colored text templates in terminals.

In 2 lists

go-colorable

Colorable writer for windows.

In 3 lists

go-colortext

Go library for color output in terminals.

In 2 lists

go-isatty

isatty for golang.

In 3 lists

go-palette

Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the fmt library for nice terminal layouts.

In 2 lists

go-prompt

Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.

In 4 listsDetails

go-tui

A declarative terminal UI framework with templ-like templates, flexbox layout, and a language server for editor support.

gocui

Minimalist Go library aimed at creating Console User Interfaces.

In 4 listsDetails

gommon/color

Style terminal text.

In 3 lists

gookit/color

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

In 3 lists

goscaf

goscaf generates opinionated, production-quality Go project boilerplate via an interactive CLI. Stop copy-pasting skeleton code between projects.

lazyenv

TUI for browsing, comparing, and editing .env files.

lazyteams

Keyboard-driven terminal user interface for Microsoft Teams.

lipgloss

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

In 4 listsDetails

loom

Signal-based reactive components framework for building TUIs.

marker

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

In 2 lists

mpb

Multi progress bar for terminal applications.

In 4 listsDetails

phoenix

High-performance TUI framework with Elm-inspired architecture, perfect Unicode rendering, and zero-allocation event system.

progressbar

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

In 4 listsDetails

pterm

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

In 5 listsDetails

simpletable

Simple tables in a terminal with Go.

In 2 lists

spinner

Go package to easily provide a terminal spinner with options.

In 4 listsDetails

tabby

A tiny library for super simple Golang tables.

In 2 lists

table

Small library for terminal color based tables.

In 2 lists

termbox-go

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

In 3 lists

termdash

Go terminal dashboard based on termbox-go and inspired by termui.

In 3 lists

termenv

Advanced ANSI style & color support for your terminal applications.

In 3 lists

termui

Go terminal dashboard based on termbox-go and inspired by blessed-contrib.

In 5 listsDetails

uilive

Library for updating terminal output in real time.

In 2 lists

uiprogress

Flexible library to render progress bars in terminal applications.

In 3 lists

uitable

Library to improve readability in terminal apps using tabular data.

In 2 lists

vhs

Your CLI home video recorder - generate terminal GIFs from code for documentation and tutorials.

In 6 listsDetails

yacspin

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

In 2 lists

Command Line >Standard CLI

acmd

Simple, useful, and opinionated CLI package in Go.

In 2 lists

argparse

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

In 3 lists

argv

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

In 2 lists

boa

Declarative flags, env vars, validation, and config files from struct tags. Built on cobra.

carapace

Command argument completion generator for spf13/cobra.

In 3 lists

carapace-bin

Multi-shell multi-command argument completer.

In 4 listsDetails

carapace-spec

Define simple completions using a spec file.

In 2 lists

climax

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

In 2 lists

clîr

A Simple and Clear CLI library. Dependency free.

In 2 lists

cmd

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

In 2 lists

cmdr

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

In 2 lists

cobra

Commander for modern Go CLI interactions.

In 7 listsDetails

command-chain

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

In 2 lists

commandeer

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

In 2 lists

complete

Write bash completions in Go + Go command bash completion.

In 2 lists

console

Closed-loop application library for Cobra commands, with oh-my-posh prompts, and more.

In 2 lists

Dnote

A simple command line notebook with multi-device sync.

In 7 listsDetails

elvish

An expressive programming language and a versatile interactive shell.

In 6 listsDetails

env

Tag-based environment configuration for structs.

In 2 lists

flaggy

A robust and idiomatic flags package with excellent subcommand support.

In 3 lists

flagvar

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

In 2 lists

flash-flags

Ultra-fast, zero-dependency, POSIX-compliant flag parsing library that can be used as drop-in stdlib replacement with security hardening.

In 2 lists

Fling-CLI

Terminal-based peer-to-peer file and message transfer tool over custom reliable UDP.

getopt

An accurate Go getopt, validated against the GNU libc implementation.

In 2 lists

go-arch

CLI tool for scaffolding Go applications with Minimalist, Standard, and Hexagonal architecture patterns.

go-arg

Struct-based argument parsing in Go.

In 4 listsDetails

go-flags

go command line option parser.

In 4 listsDetails

go-getoptions

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

In 2 lists

go-readline-ny

A customizable line-editing library with Emacs keybindings, Unicode support, completion, and syntax highlighting. Used in NYAGOS shell.

In 2 lists

gocmd

Go library for building command line applications.

In 2 lists

goopt

A declarative, struct-tag based CLI framework for Go, with a broad feature set such as hierarchical commands/flags, i18n, shell completion, and validation.

In 2 lists

hashicorp/cli

Go library for implementing command-line interfaces.

In 2 lists

hiboot cli

cli application framework with auto configuration and dependency injection.

In 3 lists

job

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

In 2 lists

kingpin

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

In 3 lists

liner

Go readline-like library for command-line interfaces.

In 2 lists

mcli

A minimal but very powerful cli library for Go.

In 2 lists

memsh

Virtual bash shell in Go: executes shell commands against an in-memory filesystem (afero), with WASM plugin support and an embeddable HTTP server.

mkideal/cli

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

In 2 lists

mow.cli

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

In 4 listsDetails

neuron-cli

A local-first, Obsidian-compatible terminal knowledge manager.

OpenCLI

OpenAPI-style specification for CLIs; define your interface in a language-agnostic document to generate documentation and framework boilerplate code.

ops

Unikernel Builder/Orchestrator.

In 4 listsDetails

orpheus

CLI framework with security hardening, plugin storage system, and production observability features.

In 2 lists

pflag

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

In 3 lists

readline

Shell library with modern and easy to use UI features.

In 2 lists

sflags

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

In 2 lists

structcli

Eliminate Cobra boilerplate: build powerful, feature-rich CLIs declaratively from Go structs.

In 2 lists

strumt

Library to create prompt chain.

In 2 lists

subcmd

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

In 2 lists

teris-io/cli

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

In 2 lists

urfave/cli

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

In 5 listsDetails

version

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

In 2 lists

wlog

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

In 2 lists

wmenu

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

In 2 lists

Configuration

aconfig

Simple, useful and opinionated config loader.

In 2 lists

argus

File watching and configuration management with MPSC ring buffer, adaptive batching strategies, and universal format parsing (JSON, YAML, TOML, INI, HCL, Properties).

In 2 lists

azureappconfiguration

The configuration provider for consuming data in Azure App Configuration from Go applications.

In 2 lists

bcl

BCL is a configuration language similar to HCL.

In 2 lists

cleanenv

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

In 2 lists

config

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

In 2 lists

config

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

In 2 lists

config

Struct-based configuration loader with a dedicated config file parser, supporting env vars, flags, defaults, and validation.

configuration

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

In 2 lists

configuro

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

In 2 lists

confiq

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

In 2 lists

confita

Load configuration in cascade from multiple backends into a struct.

In 2 lists

conflate

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.

In 2 lists

enflag

Container-oriented, zero-dependency configuration library that unifies Env variable and Flag parsing. Uses generics for type safety, without reflection or struct tags.

In 2 lists

env

Parse environment variables to Go structs (with defaults).

In 4 listsDetails

env

A lightweight package for loading environment variables into structs.

In 2 lists

env

An environment utility package with support for unmarshaling into structs.

In 2 lists

envconfig

Read your configuration from environment variables.

In 2 lists

envh

Helpers to manage environment variables.

In 2 lists

envyaml

Yaml with environment variables reader. it helps to have secrets as environment variable but load them configs as structured Yaml.

In 2 lists

fig

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

In 3 lists

genv

Read environment variables easily with dotenv support.

In 2 lists

go-array

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

In 2 lists

go-aws-ssm

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

In 2 lists

go-cfg

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

In 2 lists

go-conf

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

In 2 lists

go-config

Simple and convenient library for working with app configurations.

In 2 lists

go-external-config

Spring-inspired configuration management library for Go.

go-external-config/aws

AWS property source support for go-external-config.

go-external-config/consul

Consul property source support for go-external-config.

go-external-config/vault

Vault property source support for go-external-config.

go-ini

A Go package that marshals and unmarshals INI-files.

In 2 lists

go-ssm-config

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

In 2 lists

go-up

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

In 2 lists

go-yamlvalidator

Source-aware YAML validation with native Go schemas and JSON Schema support.

GoCfg

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

In 2 lists

goconfig

Populate Go structs from flags, environment variables, config.json and defaults with deterministic precedence. No extra dependencies.

godotenv

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

In 4 listsDetails

goenv

Reads the ENV environment variable and reports whether the process is running in production or development.

GoLobby/Config

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

In 2 lists

gone/jconf

Modular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.

In 2 lists

gonfig

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

In 2 lists

gonfiguration

Loads configuration from environment variables into structs via reflection, with struct-tag defaults and required fields.

gookit/config

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

In 2 lists

harvester

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

In 2 lists

hedzr/store

Extensible, high-performance configuration management library, optimized for hierarchical data.

In 2 lists

hjson

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

In 2 lists

hocon

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.

In 2 lists

ini

Go package to read and write INI files.

In 4 listsDetails

ini

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

In 2 lists

kelseyhightower/envconfig

Go library for managing configuration data from environment variables.

In 4 listsDetails

koanf

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

In 4 listsDetails

konf

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

In 2 lists

konfig

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

In 2 lists

kong

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

In 5 listsDetails

nasermirzaei89/env

Simple useful package for read environment variables.

In 2 lists

nfigure

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

In 2 lists

onion

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

In 2 lists

piper

Viper wrapper with config inheritance and key generation.

In 2 lists

sonic

A blazingly fast JSON serializing & deserializing library.

In 4 listsDetails

swap

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

In 2 lists

typenv

Minimalistic, zero dependency, typed environment variables library.

In 2 lists

uConfig

Lightweight, zero-dependency, and extendable configuration management.

In 2 lists

viper

Go configuration with fangs.

In 7 listsDetails

xdg

Go implementation of the XDG Base Directory Specification and XDG user directories.

In 2 lists

yamagiconf

The "safe subset" of YAML for Go configs.

In 2 lists

zerocfg

Zero-effort, concise configuration management that avoids boilerplate and repetitive code, supports multiple sources with priority overrides.

In 2 lists

Continuous Integration

abstruse

Abstruse is a distributed CI platform.

In 5 listsDetails

Bencher

A suite of continuous benchmarking tools designed to catch performance regressions in CI.

In 8 listsDetails

CDS

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

In 6 listsDetails

coverage

A simple Web UI for Go test coverage, and the go-test-coverage-html-report reusable GitHub Action.

dot

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

In 2 lists

drone

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

In 7 listsDetails

go-beautiful-html-coverage

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

In 2 lists

go-fuzz-action

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

In 2 lists

go-semver-release

Automate the semantic versioning of Git repositories.

In 2 lists

go-test-coverage

A GitHub Action which reports issues when test coverage is below set threshold.

In 15 listsDetails

gomason

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

In 2 lists

gotestfmt

go test output for humans.

In 2 lists

goveralls

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

In 2 lists

muffet

Fast website link checker in Go, see alternatives.

In 4 listsDetails

overalls

Multi-Package go project coverprofile for tools like goveralls.

In 2 lists

PikoCI

Self-hosted CI/CD inspired by Concourse. Single binary, any database, any queue. HCL pipelines, pluggable resource types and runners.

roveralls

Recursive coverage testing tool.

In 2 lists

woodpecker

Woodpecker is a community fork of the Drone CI system.

In 6 listsDetails

CSS Preprocessors

go-css

A very simple CSS parser, written in Go.

In 2 lists

go-libsass

Go wrapper to the 100% Sass compatible libsass project.

In 2 lists

Data Integration Frameworks

Benthos

A message streaming bridge between a range of protocols.

In 2 lists

CloudQuery

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

In 6 listsDetails

confluence2md

Confluence to Markdown crawler and converter.

omniparser

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.

In 3 lists

Data Structures and Algorithms >Bit-packing and Compression

bingo

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

In 2 lists

binpacker

Binary packer and unpacker helps user build custom binary stream.

In 2 lists

bit

Golang set data structure with bonus bit-twiddling functions.

In 2 lists

crunch

Go package implementing buffers for handling various datatypes easily.

In 2 lists

go-ef

A Go implementation of the Elias-Fano encoding.

In 2 lists

roaring

Go package implementing compressed bitsets.

In 4 listsDetails

Data Structures and Algorithms >Bit Sets

bitmap

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

In 2 lists

bitset

Go package implementing bitsets.

In 3 lists

Data Structures and Algorithms >Bloom and Cuckoo Filters

bloom

Go package implementing Bloom filters.

In 4 listsDetails

bloom

Bloom filters implemented in Go.

In 2 lists

bloom

Golang Bloom filter implementation.

In 2 lists

bloomfilter

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

In 2 lists

boomfilters

Probabilistic data structures for processing continuous, unbounded streams.

In 2 lists

cuckoo-filter

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.

In 2 lists

cuckoofilter

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

In 2 lists

ribbonGo

First pure Go implementation of Ribbon filters (practically smaller than Bloom and Xor) for space-efficient approximate set membership queries.

ring

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

In 2 lists

Data Structures and Algorithms >Data Structure and Algorithm Collections

algorithms

Algorithms and data structures.CLRS study.

In 2 lists

go-datastructures

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

In 4 listsDetails

gods

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

In 5 listsDetails

gostl

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

In 2 lists

Data Structures and Algorithms >Iterators

gloop

Convenient looping using Go's range-over-func feature.

In 2 lists

goterator

Iterator implementation to provide map and reduce functionalities.

In 2 lists

iter

Go implementation of C++ STL iterators and algorithms.

In 2 lists

Data Structures and Algorithms >Maps

cmap

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

In 2 lists

concurrent-swiss-map

A high-performance, thread-safe generic concurrent hash map implementation with Swiss Map.

In 2 lists

dict

Python-like dictionaries (dict) for Go.

In 2 lists

genericsyncmap

Type-safe generic wrapper for sync.Map with full method parity and zero dependencies.

go-shelve

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

In 2 lists

goradd/maps

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

In 2 lists

hmap

HMap is a concurrent and secure, generic support Map implementation designed to provide an easy-to-use API.

In 2 lists

Data Structures and Algorithms >Miscellaneous Data Structures and Algorithms

combo

Combinatorial operations including permutations, combinations, and combinations-with-replacement.

concurrent-writer

Highly concurrent drop-in replacement for bufio.Writer.

In 2 lists

count-min-log

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

In 2 lists

FSM

FSM for Go.

fsm

Finite-State Machine package.

In 2 lists

genfuncs

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

In 2 lists

go-generics

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

In 2 lists

go-geoindex

In-memory geo index.

In 2 lists

go-rampart

Determine how intervals relate to each other.

In 2 lists

go-rquad

Region quadtrees with efficient point location and neighbour finding.

In 2 lists

go-tuple

Generic tuple implementation for Go 1.18+.

In 2 lists

go18ds

Go Data Structures using Go 1.18 generics.

In 2 lists

gofal

fractional api for Go.

In 2 lists

gogu

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

In 2 lists

gota

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

In 2 lists

hide

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

In 2 lists

hyperloglog

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

In 2 lists

quadtree

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

In 2 lists

slices

Pure, generic functions for slices.

In 2 lists

Data Structures and Algorithms >Nullable Types

nan

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

In 2 lists

null

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

In 2 lists

typ

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

In 2 lists

Data Structures and Algorithms >Queues

deheap

Doubly-ended heap (min-max heap) with O(log n) access to both minimum and maximum elements.

deque

A highly optimized double-ended queue.

In 2 lists

deque

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

In 2 lists

dqueue

Simple, in memory, zero dependency and battle tested, thread-safe deferred queue.

In 2 lists

goconcurrentqueue

Concurrent FIFO queue.

In 2 lists

hatchet

Distributed, Fault-tolerant task queue.

In 4 listsDetails

list

A generic, thread-safe doubly linked list with full iterator support and an intrusive singly linked list for embedded use; a feature-rich replacement for container/list.

In 2 lists

memlog

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

In 2 lists

queue

Multiple thread-safe, generic queue implementations for Go.

In 2 lists

Data Structures and Algorithms >Sets

dsu

Disjoint Set data structure implementation in Go.

In 2 lists

golang-set

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

In 4 listsDetails

goset

A useful Set collection implementation for Go.

In 2 lists

set

Simple set data structure implementation in Go using LinkedHashMap.

In 2 lists

Data Structures and Algorithms >Text Analysis

bleve

Modern text indexing library for go.

In 5 listsDetails

go-adaptive-radix-tree

Go implementation of Adaptive Radix Tree.

In 2 lists

go-edlib

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

In 2 lists

levenshtein

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

In 2 lists

levenshtein

Implementation to calculate levenshtein distance in Go.

In 2 lists

mspm

Multi-String Pattern Matching Algorithm for information retrieval.

In 2 lists

parsefields

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

In 2 lists

ptrie

An implementation of prefix tree.

In 2 lists

radixtree

Adaptive radix tree (prefix-tree or compact-trie).

trie

Trie implementation in Go.

In 2 lists

Data Structures and Algorithms >Trees

graphlib

Topological sort lib,Sorting and pruning of DAG graphs.

In 2 lists

hashsplit

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

In 2 lists

merkle

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

In 2 lists

skiplist

Very fast Go Skiplist implementation.

In 2 lists

skiplist

Skiplist implementation in Go.

In 2 lists

skiplist

Fast and easy-to-use skip list for Go.

treemap

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

In 2 lists

Data Structures and Algorithms >Pipes

ordered-concurrently

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

In 2 lists

parapipe

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

In 2 lists

pipeline

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

In 2 lists

pipelines

Generic pipeline functions for concurrent processing.

In 2 lists

Database >Caches

bcache

Eventually consistent distributed in-memory cache Go library.

In 2 lists

BigCache

Efficient key/value cache for gigabytes of data.

In 5 listsDetails

cache2go

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

In 5 listsDetails

cachego

Golang Cache component for multiple drivers.

In 3 lists

clusteredBigCache

BigCache with clustering support and individual item expiration.

In 2 lists

coherence-go-client

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

In 2 lists

couchcache

RESTful caching micro-service backed by Couchbase server.

In 3 lists

EchoVault

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

In 2 lists

easycache

A simple way to use in-memory cache in Golang (TTL/FIFO/LRU/LFU).

fastcache

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

In 3 lists

GCache

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

In 5 listsDetails

gdcache

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

In 2 lists

go-cache

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

In 2 lists

go-freelru

A GC-less, fast and generic LRU hashmap library with optional locking, sharding, eviction and expiration.

In 2 lists

go-gcache

The generic version of GCache, cache support for expirable Cache, LFU, LRU and ARC.

In 2 lists

go-mcache

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

In 2 lists

gocache

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

In 3 lists

gocache

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

In 2 lists

groupcache

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

In 7 listsDetails

icache

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

In 2 lists

imcache

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

In 2 lists

jetcache-go

Unified Go cache library supporting multi-level caching.

In 2 lists

nscache

A Go caching framework that supports multiple data source drivers.

In 2 lists

otter

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

In 2 lists

pocache

Pocache is a minimal cache package which focuses on a preemptive optimistic caching strategy.

In 2 lists

ristretto

A high performance memory-bound Go cache.

In 4 listsDetails

sturdyc

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

In 2 lists

theine

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

In 2 lists

timedmap

Map with expiring key-value pairs.

In 2 lists

ttlcache

An in-memory cache with item expiration and generics.

In 2 lists

ttlcache

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

In 2 lists

Database >Databases Implemented in Go

badger

Fast key-value store in Go.

In 6 listsDetails

bbolt

An embedded key/value database for Go.

In 6 listsDetails

Bitcask

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

In 3 lists

buntdb

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

In 8 listsDetails

clover

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

In 4 listsDetails

cockroach

Scalable, Geo-Replicated, Transactional Datastore.

In 8 listsDetails

Coffer

Simple ACID key-value database that supports transactions.

In 2 lists

column

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

In 3 lists

CovenantSQL

CovenantSQL is a SQL database on blockchain.

In 3 lists

Databunker

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

In 2 lists

dgraph

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

In 6 listsDetails

DiceDB

An open-source, fast, reactive, in-memory database optimized for modern hardware. Higher throughput and lower median latencies, making it ideal for modern workloads.

In 2 lists

diskv

Home-grown disk-backed key-value store.

In 5 listsDetails

dolt

Dolt – It's Git for Data.

In 10 listsDetails

eliasdb

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

In 4 listsDetails

gedb

MongoDB-like embedded database, written in pure-go. Supports indexing and complex queries.

go-sqlite

A Pure Golang implemented SQLite driver without CGO.

godis

A Golang implemented high-performance Redis server and cluster.

In 5 listsDetails

goleveldb

Implementation of the LevelDB key/value database in Go.

In 7 listsDetails

hare

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

In 2 lists

immudb

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

In 4 listsDetails

influxdb

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

In 4 listsDetails

ledisdb

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

In 4 listsDetails

levigo

Levigo is a Go wrapper for LevelDB.

In 3 lists

libradb

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

In 2 lists

LinDB

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

In 4 listsDetails

lotusdb

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

In 4 listsDetails

lynxdb

Lightweight columnar log analytics database with a pipe-style query language inspired by SPL.

In 2 lists

MemHop

Embedded cognitive memory database for AI agents. Six-layer architecture (L0-L5), Dream consolidation pipeline, three-channel RRF retrieval (BM25 + f16 vector + entity), single .meh file, pure Go, zero infrastructure.

Milvus

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

In 14 listsDetails

minisql

Embedded single file SQL database.

moss

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

In 3 lists

nanotdb

A lightweight, zero-dependency, append-only Time-Series Database and Dashboard optimized for low-power hardware.

NoKV

Native metadata service for distributed filesystems, object storage, and AI dataset workloads.

In 2 lists

NornicDB

High performance graph + vector database (Neo4j and qDrant compatible), focused on low latency graph-rag retreival for AI systems.

In 2 lists

nutsdb

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.

In 3 lists

objectbox-go

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

In 3 lists

pebble

RocksDB/LevelDB inspired key-value database in Go.

In 5 listsDetails

piladb

Lightweight RESTful database engine based on stack data structures.

In 3 lists

pogreb

Embedded key-value store for read-heavy workloads.

In 3 lists

prometheus

Monitoring system and time series database.

In 13 listsDetails

pudge

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

In 2 lists

redka

Redis re-implemented with SQLite.

In 2 lists

rosedb

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

In 3 lists

rotom

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

In 2 lists

rqlite

The lightweight, distributed, relational database built on SQLite.

In 9 listsDetails

tempdb

Key-value store for temporary items.

In 2 lists

tidb

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

In 10 listsDetails

tiedot

Your NoSQL database powered by Golang.

In 5 listsDetails

unitdb

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

In 2 lists

Vasto

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

In 2 lists

VictoriaMetrics

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

In 10 listsDetails

Database >Database Schema Migration

atlas

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

In 4 listsDetails

avro

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

In 2 lists

bytebase

Safe database schema change and version control for DevOps teams.

In 7 listsDetails

darwin

Database schema evolution library for Go.

In 3 lists

db-migrator.go

CLI for versioned database schema migrations with support for PostgreSQL, MySQL, ClickHouse, Tarantool, and Apache Iceberg.

dbmate

A lightweight, framework-agnostic database migration tool.

In 4 listsDetails

go-fixtures

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

In 2 lists

go-pg-migrate

CLI-friendly package for go-pg migrations management.

In 2 lists

go-pg-migrations

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

In 2 lists

goavro

A Go package that encodes and decodes Avro data.

In 2 lists

godfish

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

In 2 lists

goose

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

In 4 listsDetails

gorm-seeder

Simple database seeder for Gorm ORM.

In 2 lists

gormigrate

Database schema migration helper for Gorm ORM.

In 3 lists

libschema

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

In 2 lists

migrate

Database migrations. CLI and Golang library.

In 6 listsDetails

migrator

Dead simple Go database migration library.

In 2 lists

migrator

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

In 2 lists

schema

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

In 2 lists

skeema

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

In 4 listsDetails

soda

Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.

In 3 lists

sql-migrate

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

In 4 listsDetails

sqlize

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

In 2 lists

Database >Database Tools

chproxy

HTTP proxy for ClickHouse database.

In 2 lists

clickhouse-bulk

Collects small inserts and sends big requests to ClickHouse servers.

In 2 lists

clickhouse-sql-parser

Parser for ClickHouse-dialect SQL that produces a typed AST, with traversal helpers, round-trip formatting, and a CLI.

database-gateway

Running SQL in production with ACLs, logs, and shared links.

In 2 lists

dbbench

Database benchmarking tool with support for several databases and scripts.

In 2 lists

dg

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

In 2 lists

filesql

Query CSV, TSV, LTSV, JSON, JSONL, Parquet, Excel, ACH, and Fedwire files with SQL through the database/sql API, backed by in-memory SQLite.

gatewayd

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

In 2 lists

go-mysql

Go toolset to handle MySQL protocol and replication.

In 4 listsDetails

go-postgres-s3-backup

Serverless PostgreSQL backups to S3 using AWS Lambda, with daily, monthly, and yearly rotation.

gorm-multitenancy

Multi-tenancy support for GORM managed databases.

In 2 lists

GoSQLX

High-performance SQL parser, formatter, linter, and security scanner with multi-dialect support and WASM playground.

hasql

Library for accessing multi-host SQL database installations.

In 2 lists

octillery

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

In 2 lists

onedump

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

In 2 lists

pg_timetable

Advanced scheduling for PostgreSQL.

In 2 lists

pgrwl

Cloud-native continuous backup for PostgreSQL.

pgwd

CLI that monitors PostgreSQL connection counts (total, active, idle, stale) and notifies via Slack and/or Loki when thresholds are exceeded. Supports Kubernetes (kubectl port-forward) and optional run context in notifications.

pgweb

Web-based PostgreSQL database browser.

In 6 listsDetails

pgxcli

PostgreSQL CLI client written in Go, inspired by pgcli.

In 2 lists

prep

Use prepared SQL statements without changing your code.

In 2 lists

pREST

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

In 6 listsDetails

rdb

Redis RDB file parser for secondary development and memory analysis.

In 3 lists

rwdb

rwdb provides read replica capability for multiple database servers setup.

In 2 lists

sqly

Execute SQL against CSV, TSV, LTSV, JSON, Parquet, and Excel files in an interactive shell, backed by in-memory SQLite.

vitess

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

In 3 lists

wescale

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

In 2 lists

xsql

AI-first cross-database CLI tool with read-only protection and structured JSON output.

Database >SQL Query Builders

bqb

Lightweight and easy to learn query builder.

In 2 lists

buildsqlx

Go database query builder library for PostgreSQL.

In 3 lists

builq

Easily build SQL queries in Go.

In 2 lists

dbq

Zero boilerplate database operations for Go.

In 3 lists

Dotsql

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

In 3 lists

gendry

Non-invasive SQL builder and powerful data binder.

In 3 lists

godbal

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

In 2 lists

goqu

Idiomatic SQL builder and query library.

In 4 listsDetails

gosql

SQL Query builder with better null values support.

In 2 lists

Hotcoal

Secure your handcrafted SQL against injection.

In 2 lists

igor

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

In 3 lists

jet

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

In 2 lists

obreron

Fast and cheap SQL builder which does only one thing, SQL building.

In 2 lists

ormlite

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

In 2 lists

ozzo-dbx

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

In 4 listsDetails

patcher

Powerful SQL Query builder that automatically generates SQL queries from structs.

In 2 lists

qrafter

Type-safe SQL query builder with dialect-aware rendering, schema introspection, and migration generation.

qry

Tool that generates constants from files with raw SQL queries.

In 2 lists

relica

Type-safe database query builder with zero production dependencies, LRU statement cache, batch operations, and support for JOINs, subqueries, CTEs, and window functions.

sg

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

In 2 lists

sq

Type-safe SQL builder and struct mapper for Go.

In 2 lists

sqlc

Generate type-safe code from SQL.

In 3 lists

sqlf

Fast SQL query builder.

In 2 lists

sqlh

Zero-boilerplate SQL helper with struct tags and Go generics (CRUD, UPSERT, JOIN, benchmarks).

sqlingo

A lightweight DSL to build SQL in Go.

In 2 lists

sqrl

SQL query builder, fork of Squirrel with improved performance.

In 3 lists

Squalus

Thin layer over the Go SQL package that makes it easier to perform queries.

In 2 lists

Squirrel

Go library that helps you build SQL queries.

In 5 listsDetails

xo

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

In 3 lists

Database Drivers >Interfaces to Multiple Backends

cayley

Graph database with support for multiple backends.

In 3 lists

dsc

Datastore connectivity for SQL, NoSQL, structured files.

In 3 lists

dynamo

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

In 2 lists

go-transaction-manager

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

In 2 lists

gokv

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

In 3 lists

transactor

Type-safe transaction boundary abstraction with adapters for database/sql, sqlx, and pgx.

Database Drivers >Relational Database Drivers

avatica

Apache Avatica/Phoenix SQL driver for database/sql.

In 2 lists

bgc

Datastore Connectivity for BigQuery for go.

In 3 lists

firebirdsql

Firebird RDBMS SQL driver for Go.

In 3 lists

go-adodb

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

In 3 lists

go-mssqldb

Microsoft MSSQL driver for Go.

In 4 listsDetails

go-mssqldb

Microsoft's official Go driver for SQL Server, Azure SQL, Azure Synapse, SQL database in Fabric, and Fabric Data Warehouse. Supports Azure AD, Always Encrypted, bulk operations.

go-oci8

Oracle driver for go that uses database/sql.

In 3 lists

go-rqlite

A Go client for rqlite, providing easy-to-use abstractions for working with the rqlite API.

In 2 lists

go-sql-driver/mysql

MySQL driver for Go.

In 7 listsDetails

go-sqlite3

SQLite3 driver for go that uses database/sql.

In 6 listsDetails

go-sqlite3

This Go module is compatible with the database/sql driver. It allows embedding SQLite into your application, provides direct access to its C API, supports SQLite VFS, and also includes a GORM driver.

In 2 lists

godror

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

In 2 lists

gofreetds

Microsoft MSSQL driver. Go wrapper over FreeTDS.

In 3 lists

KSQL

A Simple and Powerful Golang SQL Library.

In 2 lists

pgx

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

In 4 listsDetails

pig

Simple pgx wrapper to execute and scan query results easily.

In 2 lists

pq

Pure Go Postgres driver for database/sql.

In 5 listsDetails

Sqinn-Go

SQLite with pure Go.

In 2 lists

sqlhooks

Attach hooks to any database/sql driver.

In 2 lists

sqlite

Package sqlite is a sql/database driver using a CGo-free port of the C SQLite3 library.

In 2 lists

surrealdb.go

SurrealDB Driver for Go.

In 2 lists

ydb-go-sdk

native and database/sql driver YDB (Yandex Database).

In 2 lists

Database Drivers >NoSQL Database Drivers

aerospike-client-go

Aerospike client in Go language.

In 3 lists

arangolite

Lightweight golang driver for ArangoDB.

In 3 lists

asc

Datastore Connectivity for Aerospike for go.

In 3 lists

forestdb

Go bindings for ForestDB.

In 3 lists

go-couchbase

Couchbase client in Go.

In 3 lists

go-mongox

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.

In 2 lists

go-pilosa

Go client library for Pilosa.

In 2 lists

go-rejson

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

In 2 lists

gocb

Official Couchbase Go SDK.

In 3 lists

gocosmos

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

In 2 lists

gocql

Go language driver for Apache Cassandra.

In 2 lists

godis

redis client implement by golang, inspired by jedis.

In 2 lists

godscache

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

In 2 lists

gomemcache

memcache client library for the Go programming language.

In 4 listsDetails

gomemcached

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

In 2 lists

gorethink

Go language driver for RethinkDB.

In 2 lists

goriak

Go language driver for Riak KV.

In 3 lists

Kivik

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

In 2 lists

mgm

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

In 2 lists

mgo

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

In 4 listsDetails

mongo-go-driver

Official MongoDB driver for the Go language.

In 6 listsDetails

neo4j

Neo4j Rest API Bindings for Golang.

In 3 lists

neoism

Neo4j client for Golang.

In 4 listsDetails

qmgo

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

In 3 lists

redeo

Redis-protocol compatible TCP servers/services.

In 3 lists

redigo

Redigo is a Go client for the Redis database.

In 5 listsDetails

redis

Redis client for Golang.

In 5 listsDetails

rueidis

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

In 3 lists

xredis

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

In 2 lists

Database Drivers >Search and Analytic Databases

clickhouse-go

ClickHouse SQL client for Go with a database/sql compatibility.

In 4 listsDetails

effdsl

Elasticsearch query builder for Go.

In 2 lists

elastic

Elasticsearch client for Go.

In 5 listsDetails

elasticsql

Convert sql to elasticsearch dsl in Go.

In 3 lists

elastigo

Elasticsearch client library.

In 3 lists

go-elasticsearch

Official Elasticsearch client for Go.

In 4 listsDetails

goes

Library to interact with Elasticsearch.

In 2 lists

skizze

A probabilistic data structure service and storage.

In 2 lists

zoekt

Fast trigram based code search.

In 3 lists

Date and Time

approx

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

In 2 lists

carbon

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

In 3 lists

carbon

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

In 3 lists

cronrange

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

In 2 lists

date

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

In 2 lists

dateparse

Parse date's without knowing format in advance.

In 3 lists

durafmt

Time duration formatting library for Go.

In 2 lists

feiertage

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

In 2 lists

go-anytime

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

In 2 lists

go-date-fns

A comprehensive date utility library for Go, inspired by date-fns, with 140+ pure and immutable functions.

go-datebin

A simple datetime parse pkg.

In 2 lists

go-faketime

A simple time.Now() that honors the faketime(1) utility.

In 2 lists

go-persian-calendar

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

In 2 lists

go-str2duration

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

In 2 lists

go-sunrise

Calculate the sunrise and sunset times for a given location.

In 2 lists

go-week

An efficient package to work with ISO8601 week dates.

In 2 lists

gostradamus

A Go package for working with dates.

In 2 lists

iso8601

Efficiently parse ISO8601 date-times without regex.

In 2 lists

kair

Date and Time - Golang Formatting Library.

In 2 lists

now

Now is a time toolkit for golang.

In 4 listsDetails

strftime

C99-compatible strftime formatter.

In 2 lists

timespan

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

In 2 lists

timeutil

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

In 2 lists

tuesday

Ruby-compatible Strftime function.

In 2 lists

Distributed Systems

arpc

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

In 2 lists

bedrock

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

In 2 lists

capillaries

distributed batch data processing framework.

In 2 lists

circuit

Circuit breaker with gradual recovery via probabilistic throttling.

cmd-stream-go

High-performance distributed command pattern library for Go.

committer

A distributed transactions management system (2PC/3PC implementation).

In 2 lists

consistent

Consistent hashing with bounded loads.

In 2 lists

consistenthash

Consistent hashing with configurable replicas.

In 2 lists

dht

BitTorrent Kademlia DHT implementation.

In 2 lists

digota

grpc ecommerce microservice.

In 2 lists

dot

distributed sync using operational transformation/OT.

In 2 lists

doublejump

A revamped Google's jump consistent hash.

In 2 lists

dragonboat

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

In 5 listsDetails

Dragonfly

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.

In 6 listsDetails

drmaa

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

In 2 lists

dynamolock

DynamoDB-backed distributed locking implementation.

In 2 lists

dynatomic

A library for using DynamoDB as an atomic counter.

In 2 lists

emitter-io

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

In 5 listsDetails

evans

Evans: more expressive universal gRPC client.

In 3 lists

failured

adaptive accrual failure detector for distributed systems.

In 2 lists

flowgraph

flow-based programming package.

In 2 lists

gleam

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.

In 3 lists

glow

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

In 4 listsDetails

gmsec

A Go distributed systems development framework.

In 2 lists

go-doudou

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.

In 2 lists

go-eagle

A Go framework for the API or Microservice with handy scaffolding tools.

In 4 listsDetails

go-jump

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

In 2 lists

go-kit

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

In 6 listsDetails

go-micro

A distributed systems development framework.

In 5 listsDetails

go-mysql-lock

MySQL based distributed lock.

In 2 lists

go-pdu

A decentralized identity-based social network.

In 2 lists

go-sundheit

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

In 2 lists

go-zero

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.

In 4 listsDetails

gorpc

Simple, fast and scalable RPC library for high load.

In 3 lists

grpc-go

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

In 7 listsDetails

health

Health checker for Go services with Kubernetes probe support.

hprose

Very newbility RPC Library, support 25+ languages now.

In 2 lists

jsonrpc

The jsonrpc package helps implement of JSON-RPC 2.0.

In 2 lists

jsonrpc

JSON-RPC 2.0 HTTP client implementation.

In 2 lists

K8gb

A cloud native Kubernetes Global Balancer.

In 3 lists

Kitex

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.

In 5 listsDetails

Kratos

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

In 4 listsDetails

liftbridge

Lightweight, fault-tolerant message streams for NATS.

In 3 lists

lock

Distributed lock family with one Go interface and five backends (filelock, flock, Redis, Postgres, etcd) — fencing tokens, semaphore mode, and observability hooks across all backends.

lura

Ultra performant API Gateway framework with middlewares.

In 7 listsDetails

mochi mqtt

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

In 2 lists

NATS

NATS is a simple, secure, and performant communications system for digital systems, services, and devices.

In 7 listsDetails

opentelemetry-go-auto-instrumentation

OpenTelemetry Compile-Time Instrumentation for Golang.

In 3 lists

oras

CLI and library for OCI Artifacts in container registries.

In 4 listsDetails

outbox

Lightweight library for the transactional outbox pattern in Go, not tied to any specific relational database or broker.

In 2 lists

outboxer

Outboxer is a go library that implements the outbox pattern.

In 2 lists

pglock

PostgreSQL-backed distributed locking implementation.

In 2 lists

pjrpc

Golang JSON-RPC Server-Client with Protobuf spec.

In 2 lists

raft

Golang implementation of the Raft consensus protocol, by HashiCorp.

In 4 listsDetails

raft

Go implementation of the Raft consensus protocol, by CoreOS.

In 2 lists

rain

BitTorrent client and library.

In 3 lists

redis-lock

Simplified distributed locking implementation using Redis.

In 3 lists

resgate

Realtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly.

In 2 lists

rpcplatform

Framework for microservices with service discovery, load balancing, and related features.

rpcx

Distributed pluggable RPC service framework like alibaba Dubbo.

In 7 listsDetails

Semaphore

A straightforward (micro) service orchestrator.

In 2 lists

servicepack

Framework for running multiple services concurrently in a single binary, locally or distributed across machines.

sleuth

Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).

In 2 lists

sponge

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

In 2 lists

Tarmac

Framework for writing functions, microservices, or monoliths with WebAssembly

In 2 lists

Temporal

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

In 2 lists

torrent

BitTorrent client package.

In 4 listsDetails

trpc-go

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

In 2 lists

Dynamic DNS

DDNS

Personal DDNS client with Digital Ocean Networking DNS as backend.

In 3 lists

dyndns

Background Go process to regularly and automatically check your IP Address and make updates to (one or many) Dynamic DNS records for Google domains whenever your address changes.

In 2 lists

GoDNS

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

In 3 lists

Email

chasquid

SMTP server written in Go.

In 3 lists

douceur

CSS inliner for your HTML emails.

In 2 lists

email

A robust and flexible email library for Go.

In 4 listsDetails

email-verifier

A Go library for email verification without sending any emails.

In 5 listsDetails

go-dkim

DKIM library, to sign & verify email.

In 2 lists

go-email-normalizer

Golang library for providing a canonical representation of email address.

In 2 lists

go-imap

Batteries-included IMAP client with auto-reconnect, OAuth2, IDLE support, and built-in MIME parsing.

go-imap

IMAP library for clients and servers.

In 2 lists

go-mail

A simple Go library for sending mails in Go.

In 3 lists

go-message

Streaming library for the Internet Message Format and mail messages.

In 2 lists

go-premailer

Inline styling for HTML mail in Go.

In 2 lists

go-simple-mail

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

In 2 lists

go-spamcheck

Client for Postmark's SpamCheck API that scores a raw email against SpamAssassin rules.

Hectane

Lightweight SMTP client providing an HTTP API.

In 2 lists

hermes

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

In 4 listsDetails

Maddy

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

In 6 listsDetails

mailchain

Send encrypted emails to blockchain addresses written in Go.

In 2 lists

mailgun-go

Go library for sending mail with the Mailgun API.

In 2 lists

MailHog

Email and SMTP testing with web and API interface.

In 8 listsDetails

Mailpit

Email and SMTP testing tool for developers.

In 5 listsDetails

mailx

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

In 2 lists

mox

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

In 6 listsDetails

SendGrid

SendGrid's Go library for sending email.

In 2 lists

smtp

SMTP server protocol state machine.

In 2 lists

smtpmock

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

In 2 lists

tickstem/verify

Validate email addresses before they hit your database: syntax, MX lookup, disposable domains, and role-based inboxes.

truemail-go

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

In 2 lists

Embeddable Scripting Languages

anko

Scriptable interpreter written in Go.

In 3 lists

binder

Go to Lua binding library, based on gopher-lua.

In 2 lists

cel-go

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

In 3 lists

ecal

A simple embeddable scripting language which supports concurrent event processing.

In 2 lists

expr

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

In 3 lists

FrankenPHP

PHP embedded in Go, with a net/http handler.

In 3 lists

gentee

Embeddable scripting programming language.

In 2 lists

gisp

Simple LISP in Go.

In 2 lists

go-lua

Port of the Lua 5.2 VM to pure Go.

In 5 listsDetails

go-lua

Lua 5.4 VM implemented in pure Go.

go-php

PHP bindings for Go.

In 3 lists

goal

An embeddable scripting array language.

In 2 lists

goja

ECMAScript 5.1(+) implementation in Go.

In 4 listsDetails

golua

Go bindings for Lua C API.

In 3 lists

gopher-lua

Lua 5.1 VM and compiler written in Go.

In 6 listsDetails

gval

A highly customizable expression language written in Go.

In 3 lists

metacall

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

In 6 listsDetails

ngaro

Embeddable Ngaro VM implementation enabling scripting in Retro.

In 2 lists

prolog

Embeddable Prolog.

In 2 lists

purl

Perl 5.18.2 embedded in Go.

In 2 lists

starlark-go

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

In 4 listsDetails

starlet

Go wrapper for starlark-go that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions.

In 3 lists

tengo

Bytecode compiled script language for Go.

In 5 listsDetails

Wa/凹语言

The Wa Programming Language embedded in Go.

In 5 listsDetails

Error Handling

ctxerrors

Wrap errors with the file, line, and function name of each call site.

emperror

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

In 2 lists

eris

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

In 3 lists

errlog

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

In 3 lists

errors

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

In 2 lists

errors

Simple golang error handling with classification primitives.

In 2 lists

errors

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

In 2 lists

errors

Providing errors with a stack trace and optional structured details. Compatible with github.com/pkg/errors API but does not use it internally.

In 2 lists

errors

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.

In 2 lists

errors

Go error library with error portability over the network.

In 3 lists

errorx

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

In 3 lists

exception

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

In 2 lists

Falcon

A Simple Yet Highly Powerful Package For Error Handling.

In 2 lists

Fault

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

In 2 lists

go-errr

Error handling library with Catch/Recover semantics, wrapped error chains, and stack traces for Go.

go-multierror

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

In 4 listsDetails

metaerr

A library to create your custom error builders producing structured errors with metadata from different sources and optional stacktraces.

In 2 lists

multierr

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

In 2 lists

oops

Error handling with context, stack trace and source fragments.

In 2 lists

tracerr

Golang errors with stack trace and source fragments.

In 2 lists

File Handling

afero

FileSystem Abstraction System for Go.

In 5 listsDetails

afs

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

In 2 lists

baraka

A library to process http file uploads easily.

In 2 lists

checksum

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

In 2 lists

copy

Copy directory recursively.

In 3 lists

fastwalk

Fast parallel directory traversal library (used by fzf).

In 2 lists

flop

File operations library which aims to mirror feature parity with GNU cp.

In 2 lists

gdu

Disk usage analyzer with console interface.

In 4 listsDetails

go-csv-tag

Load csv file using tag.

In 2 lists

go-decent-copy

Copy files for humans.

In 2 lists

go-exiftool

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

In 2 lists

go-gtfs

Load gtfs files in go.

In 2 lists

go-wkhtmltopdf

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

In 2 lists

gofs

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

In 2 lists

gopdfrab

PDF/A processing for Go.

gulter

A simple HTTP middleware to automatically handle all your file upload needs

In 2 lists

gut/yos

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

In 2 lists

gxpdf

Modern full-lifecycle PDF library for Go — parse, extract tables, generate, and sign documents with zero CGO dependencies.

higgs

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

In 2 lists

iso9660

A package for reading and creating ISO9660 disk images

In 2 lists

notify

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

In 2 lists

opc

Load Open Packaging Conventions (OPC) files for Go.

In 2 lists

parquet

Read and write parquet files.

In 2 lists

pathtype

Treat paths as their own type instead of using strings.

In 2 lists

pdfcpu

PDF processor.

In 3 lists

skywalker

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

In 2 lists

todotxt

Go library for Gina Trapani's todo.txt files, supports parsing and manipulating of task lists in the todo.txt format.

In 2 lists

vfs

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

In 2 lists

Financial

accounting

money and currency formatting for golang.

In 3 lists

ach

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

In 2 lists

bbgo

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

In 3 lists

bingx-go

Go client for BingX API v3 with 260+ methods, USDT-M/Coin-M futures, spot, TradFi, WebSocket streams, and copy trading.

bitget-go

Go client for Bitget UTA API v3 with typed models, string-based prices, auto-reconnecting WebSocket, and demo trading.

bybit-go

Go client for Bybit V5 API with HMAC/RSA authentication, WebSocket streams, demo trading, and TradFi instruments.

cnn-fear-and-greed-parse

Client for CNN's Fear & Greed Index with the seven component indicators and about a year of daily history.

currency

Handles currency amounts, provides currency information and formatting.

In 2 lists

currency

High performant & accurate currency computation package.

In 2 lists

dec128

High performance 128-bit fixed-point decimal numbers.

In 2 lists

decimal

Arbitrary-precision fixed-point decimal numbers.

In 4 listsDetails

decimal

High performance 64-bit decimal partially compatible with shopspring/decimal and int64, including Weight and Length.

decimal

Immutable decimal numbers with panic-free arithmetic.

In 2 lists

decimal

A fixed-size, no allocation decimal type for when you don't need arbitrary precision.

eu-vat-rates-data-go

VAT rates and VAT number formats for 45 European countries, embedded at compile time and refreshed daily from the European Commission TEDB.

fpdecimal

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

In 2 lists

fpmoney

Fast and simple ISO4217 fixed-point decimal money.

In 2 lists

glassnode-go

Go client for Glassnode Basic API with 25 metric categories, typed structs, bulk endpoints, Point-in-Time data, and zero dependencies.

go-finance

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

In 2 lists

go-finance

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

In 2 lists

go-money

Implementation of Fowler's Money pattern.

In 2 lists

go-nowpayments

Library for the crypto NOWPayments API.

In 2 lists

gobl

Invoice and billing document framework. JSON Schema based. Automates tax calculations and validation, with tooling to convert into global formats.

In 3 lists

indicator

Technical analysis library providing financial indicators, strategies, and backtesting framework.

In 2 lists

kucoin-go

Go client for KuCoin UTA and Classic REST & WebSocket APIs with HMAC-SHA256 auth, string-typed prices, and typed error hierarchy.

ledger

A programmable financial ledger that provides a foundation for money-moving applications.

In 3 lists

money

Immutable monetary amounts and exchange rates with panic-free arithmetic.

In 2 lists

ofxgo

Query OFX servers and/or parse the responses (with example command-line client).

In 2 lists

okx-go

Go client for OKX v5 API with 335 REST endpoints, 53 WebSocket channels, generics support and auto-reconnect.

orderbook

Matching Engine for Limit Order Book in Golang.

In 2 lists

orderbook

Embeddable limit order book and matching engine with integer-exact pricing, a single-writer core, and write-ahead-log crash recovery.

In 2 lists

payme

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

In 2 lists

paystack-sdk-go

A comprehensive, zero-dependency, and fully typed Go SDK for the Paystack API.

swift

Offline validity check of IBAN (International Bank Account Number) and retrieval of BIC (for some countries).

In 2 lists

techan

Technical analysis library with advanced market analysis and trading strategies.

In 3 lists

telegram-wallet-go

Go client for Telegram Wallet Pay API with HMAC-SHA256 webhook verification, middleware for net/http, Gin, and Echo.

ticker

Terminal stock watcher and stock position tracker.

In 7 listsDetails

transaction

Embedded transactional database of accounts, running in multithreaded mode.

In 2 lists

udecimal

High performance, high precision, zero allocation fixed-point decimal library for financial applications.

In 2 lists

vat

VAT number validation & EU VAT rates.

In 2 lists

Forms

bind

Bind form data to any Go values.

In 2 lists

conform

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

In 2 lists

form

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

In 2 lists

formam

decode form's values into a struct.

In 2 lists

forms

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

In 2 lists

gbind

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

In 2 lists

gorilla/csrf

CSRF protection for Go web applications & services.

In 4 listsDetails

httpin

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

In 2 lists

nosurf

CSRF protection middleware for Go.

In 3 lists

qs

Go module for encoding structs into URL query parameters.

In 2 lists

queryparam

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

In 2 lists

roamer

Eliminates boilerplate code for parsing HTTP requests by binding cookies, headers, query params, path params, body to structs and more by using simple tags.

In 2 lists

Functional

fp-go

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

In 2 lists

fpGo

Monad, Functional Programming features for Golang.

In 2 lists

fuego

Functional Experiment in Go.

In 2 lists

FuncFrog

Functional helpers library providing Map, Filter, Reduce and other stream operations on generic slices Go1.18+ with lazy evaluation and error handling mechanisms.

In 2 lists

g

Functional programming framework for Go.

go-functional

Functional programming in Go using generics

In 2 lists

go-underscore

Useful collection of helpfully functional Go collection utilities.

In 2 lists

gofp

A lodash like powerful utility library for Golang.

In 2 lists

mo

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

In 3 lists

underscore

Functional programming helpers for Go 1.18 and beyond.

In 2 lists

valor

Generic option and result types that optionally contain a value.

In 2 lists

Game Development

Ark

Archetype-based Entity Component System (ECS) for Go.

In 3 lists

Ebitengine

dead simple 2D game engine in Go.

In 6 listsDetails

ecs

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

In 2 lists

engo

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

In 3 lists

fantasyname

Fantasy names generator.

In 2 lists

g3n

Go 3D Game Engine.

In 5 listsDetails

go-astar

Go implementation of the A* path finding algorithm.

In 3 lists

go-sdl2

Go bindings for the Simple DirectMedia Layer.

In 2 lists

go3d

Performance oriented 2D/3D math package for Go.

In 2 lists

gogpu

GPU application framework with windowing, input, and rendering built on WebGPU — reduces 480+ lines of GPU code to ~20, zero CGO (GoGPU ecosystem: gg, ui, wgpu, naga).

gogpu/wgpu

Pure Go WebGPU implementation with Vulkan, DX12, and Metal backends, zero CGO (part of GoGPU ecosystem).

GOKe

Data-Oriented (DOD), archetype-based ECS engine utilizing an L1 cache-aligned chunked SoA layout for predictable, stepless memory growth and zero-allocation execution paths.

gonet

Game server skeleton implemented with golang.

In 3 lists

goworld

Scalable game server engine, featuring space-entity framework and hot-swapping.

In 4 listsDetails

grid

Generic 2D grid with ray-casting, shadow-casting and path finding.

In 3 lists

Leaf

Lightweight game server framework.

In 6 listsDetails

nano

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

In 4 listsDetails

Oak

Pure Go game engine.

In 2 lists

Pi

Game engine for creating retro games for modern computers. Inspired by Pico-8 and powered by Ebitengine.

In 3 lists

Pitaya

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

In 7 listsDetails

Pixel

Hand-crafted 2D game library in Go.

In 2 lists

prototype

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

In 2 lists

raylib-go

Go bindings for raylib, a simple and easy-to-use library to learn videogames programming.

In 3 lists

sceneCamera

Camera movement and view/projection matrices for museum, FPS, RTS, and stereo rendering modes.

termloop

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

In 2 lists

tile

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

In 2 lists

Generators

apispec

Generate OpenAPI 3.1 specs from Go code without annotations, plus a browser UI to configure, preview, and explore the call graph.

convergen

Feature rich type-to-type copy code generator.

In 2 lists

copygen

Generate any code based on Go types, including type-to-type converters (copy code) without reflection by default.

In 2 lists

generis

Code generation tool providing generics, free-form macros, conditional compilation and HTML templating.

In 2 lists

go-apispec

Generate OpenAPI 3.1 specs from Go source code via static analysis with automatic framework detection.

go-enum

Code generation for enums from code comments.

In 2 lists

go-enum-encoding

Code generation for enum encoding from code comments.

In 2 lists

go-linq

.NET LINQ-like query methods for Go.

In 3 lists

goderive

Derives functions from input types

In 2 lists

goverter

Generate converters by defining an interface.

In 2 lists

GoWrap

Generate decorators for Go interfaces using simple templates.

In 2 lists

interfaces

Command line tool for generating interface definitions.

In 2 lists

jennifer

Generate arbitrary Go code without templates.

In 4 listsDetails

oapi-codegen

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

In 3 lists

protoc-gen-httpgo

Generate HTTP server and client from protobuf.

In 2 lists

protoc-gen-mcp

Generate typed MCP tools, prompts, and resources from Protocol Buffers.

typeregistry

A library to create type dynamically.

In 2 lists

Geographic

borders

Detects image borders and converts to GeoJSON for GIS operations.

In 2 lists

geo-engine-go

Official Go SDK for GeoEngine, offering high-performance geospatial data ingestion with single-digit millisecond latency.

geoos

A library provides spatial data and geometric algorithms.

In 3 lists

geoserver

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

In 2 lists

gismanager

Publish Your GIS Data(Vector Data) to PostGIS and Geoserver.

In 2 lists

godal

Go wrapper for GDAL.

In 3 lists

H3

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

In 2 lists

H3 GeoJSON

Conversion utilities between H3 indexes and GeoJSON.

In 2 lists

H3GeoDist

Distribution of Uber H3geo cells by virtual nodes.

In 2 lists

mbtileserver

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

In 2 lists

osm

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

In 2 lists

pbf

OpenStreetMap PBF golang encoder/decoder.

In 2 lists

S2 geojson

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

In 2 lists

S2 geometry

S2 geometry library in Go.

In 6 listsDetails

simplefeatures

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

In 2 lists

Tile38

Geolocation DB with spatial index and realtime geofencing.

In 8 listsDetails

Web-Mercator-Projection

A project to easily use and convert LonLat, Point and Tile to display info, markers, etc, in a map using the Web Mercator Projection.

In 2 lists

WGS84

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

In 2 lists

Go Compilers

bunster

Compile shell scripts to Go.

In 3 lists

c4go

Transpile C code to Go code.

In 2 lists

cxgo

Transpile C code to Go code.

In 2 lists

esp32

Transpile Go into Arduino code.

In 2 lists

f4go

Transpile FORTRAN 77 code to Go code.

In 2 lists

go2hx

Compiler from Go to Haxe to Javascript/C++/Java/C#.

In 2 lists

gopherjs

Compiler from Go to JavaScript.

In 4 listsDetails

Goroutines

anchor

Library to manage component lifecycle in microservice architectures.

In 2 lists

ants

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

In 5 listsDetails

artifex

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

In 2 lists

async

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

In 2 lists

async

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

In 2 lists

async

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

In 2 lists

async-job

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

In 2 lists

autopool

Zero-config, auto-scaling worker pool for Go with priority-aware scheduling.

breaker

Flexible mechanism to make execution flow interruptible.

In 2 lists

channelify

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

In 2 lists

conc

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

In 4 listsDetails

concurrency-limiter

Concurrency limiter with support for timeouts, dynamic priority and context cancellation of goroutines.

In 2 lists

conexec

A concurrent toolkit to help execute funcs concurrently in an efficient and safe way. It supports specifying the overall timeout to avoid blocking and uses goroutine pool to improve efficiency.

In 2 lists

cyclicbarrier

CyclicBarrier for golang.

In 2 lists

execpool

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.

In 2 lists

flowmatic

Structured concurrency made easy.

In 2 lists

go-accumulator

Solution for accumulation of events and their subsequent processing.

In 2 lists

go-actor

A tiny library for writing concurrent programs using actor model.

In 2 lists

go-floc

Orchestrate goroutines with ease.

In 2 lists

go-flow

Control goroutines execution order.

In 2 lists

go-future

A Future/Promise library with generic combinators and a DAG execution engine.

go-tools/multithreading

Manage a pool of goroutines using this lightweight library with a simple API.

In 2 lists

go-trylock

TryLock support on read-write lock for Golang.

In 2 lists

go-waitgroup

Like sync.WaitGroup with error handling and concurrency control.

In 2 lists

go-workerpool

Inspired from Java Thread Pool, Go WorkerPool aims to control heavy Go Routines.

In 2 lists

goccm

Go Concurrency Manager package limits the number of goroutines that allowed to run concurrently.

In 2 lists

gohive

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

In 2 lists

gollback

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

In 2 lists

goscade

Minimalistic lifecycle orchestrator for Go components with dependency graphs, startup sequencing, readiness coordination, and graceful shutdown.

gowl

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.

In 2 lists

goworker

goworker is a Go-based background worker.

In 4 listsDetails

gowp

gowp is concurrency limiting goroutine pool.

In 3 lists

gpool

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

In 2 lists

grpool

Lightweight Goroutine pool.

In 2 lists

hands

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

In 2 lists

Hunch

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

In 2 lists

kyoo

Provides an unlimited job queue and concurrent worker pools.

In 2 lists

neilotoole/errgroup

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

In 2 lists

nursery

Structured concurrency in Go.

In 2 lists

oversight

Oversight is a complete implementation of the Erlang supervision trees.

In 2 lists

parallel-fn

Run functions in parallel.

In 2 lists

pond

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

In 3 lists

pool

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

In 2 lists

powerlock

Named FIFO mutexes with context cancellation, bounded wait queues, watchdog diagnostics, pprof profiles, and Prometheus metrics.

rill

Go toolkit for clean, composable, channel-based concurrency.

In 2 lists

routine

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.

In 2 lists

routine

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

In 2 lists

semaphore

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

In 2 lists

semaphore

Fast resizable semaphore implementation based on CAS (faster than channel-based semaphore implementations).

In 2 lists

stl

Software transactional locks based on Software Transactional Memory (STM) concurrency control mechanism.

In 2 lists

threadpool

Golang threadpool implementation.

In 2 lists

tunny

Goroutine pool for golang.

In 4 listsDetails

worker-pool

goworker is a Go simple async worker pool.

In 2 lists

workerpool

Goroutine pool that limits the concurrency of task execution, not the number of tasks queued.

In 3 lists

GUI

app

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

In 2 lists

cimgui-go

Auto generated Go wrapper for Dear ImGui via cimgui.

In 2 lists

Cogent Core

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

In 2 lists

DarwinKit

Build native macOS applications using Go.

In 3 lists

energy

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

In 2 lists

fyne

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

In 5 listsDetails

gio

Gio is a library for writing cross-platform immediate mode GUI-s in Go. Gio supports all the major platforms: Linux, macOS, Windows, Android, iOS, FreeBSD, OpenBSD and WebAssembly.

In 2 lists

go-gtk

Go bindings for GTK.

In 2 lists

go-sciter

Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.

In 2 lists

Goey

Cross platform UI toolkit aggregator for Windows / Linux / Mac. GTK, Cocoa, Windows API

In 2 lists

gogpu/ui

GPU-accelerated GUI toolkit with 22 widgets, 3 design systems (Material, Fluent, Cupertino), reactive signals, and zero CGO (part of GoGPU ecosystem).

In 2 lists

goradd/html5tag

Library for outputting HTML5 tags.

In 2 lists

gotk3

Go bindings for GTK3.

In 3 lists

gowd

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

In 2 lists

proton

Pure Go immediate-mode GUI framework built on Gio with zero Cgo dependencies.

qt

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

In 5 listsDetails

Spot

Reactive, cross-platform desktop GUI toolkit.

In 2 lists

ui

Platform-native GUI library for Go. Cross platform.

In 4 listsDetails

unison

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

In 2 lists

Wails

Mac, Windows, Linux desktop apps with HTML UI using built-in OS HTML renderer.

In 2 lists

walk

Windows application library kit for Go.

In 4 listsDetails

webview

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

In 3 lists

AppIndicator Go

Go bindings for libappindicator3 C library.

In 2 lists

gogpu/systray

Pure Go system tray library for Windows, macOS, and Linux with zero CGO (part of GoGPU ecosystem).

gosx-notifier

OSX Desktop Notifications library for Go.

In 2 lists

mac-activity-tracker

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

In 2 lists

mac-sleep-notifier

OSX Sleep/Wake notifications in golang.

In 2 lists

robotgo

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

In 5 listsDetails

systray

Cross platform Go library to place an icon and menu in the notification area.

In 4 listsDetails

trayhost

Cross-platform Go library to place an icon in the host operating system's taskbar.

In 2 lists

zenity

Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user.

In 2 lists

Hardware

arduino-cli

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

In 3 lists

emgo

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

In 2 lists

ghw

Golang hardware discovery/inspection library.

In 3 lists

go-osc

Open Sound Control (OSC) bindings for Go.

In 2 lists

go-rpio

GPIO for Go, doesn't require cgo.

In 3 lists

goroslib

Robot Operating System (ROS) library for Go.

In 2 lists

joystick

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

In 2 lists

moody

Hardware event personality daemon for macOS. Monitors USB, charger, lid, and other hardware events and responds with customizable personalities.

sysinfo

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

In 2 lists

Images

bild

Collection of image processing algorithms in pure Go.

In 3 lists

bimg

Small package for fast and efficient image processing using libvips.

In 4 listsDetails

cameron

An avatar generator for Go.

In 2 lists

canvas

Vector graphics to PDF, SVG or rasterized image.

In 3 lists

color-extractor

Dominant color extractor with no external dependencies.

In 2 lists

darkroom

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

In 2 lists

eagle-image-api

Image optimization and transformation API using libvips, deployable to AWS Lambda and CloudFront.

geopattern

Create beautiful generative image patterns from a string.

In 2 lists

gg

2D rendering in pure Go.

In 4 listsDetails

gift

Package of image processing filters.

In 3 lists

gltf

Efficient and robust glTF 2.0 reader, writer and validator.

In 2 lists

go-cairo

Go binding for the cairo graphics library.

In 2 lists

go-gd

Go binding for GD library.

In 2 lists

go-nude

Nudity detection with Go.

In 2 lists

go-qrcode

Generate QR codes with personalized styles, allowing adjustments to color, block size, shape, and icons.

In 2 lists

go-webcolors

Port of webcolors library from Python to Go.

In 2 lists

go-webp

Library for encode and decode webp pictures, using libwebp.

In 2 lists

gocv

Go package for computer vision using OpenCV 3.3+.

In 4 listsDetails

gogpu/gg

GPU-accelerated 2D rendering with Canvas-like API, zero CGO (part of GoGPU pure Go graphics ecosystem).

goimagehash

Go Perceptual image hashing package.

In 2 lists

goimghdr

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

In 2 lists

govatar

Library and CMD tool for generating funny avatars.

In 2 lists

govips

A lightning fast image processing and resizing library for Go.

In 2 lists

gowitness

Screenshoting webpages using go and headless chrome on command line.

In 5 listsDetails

gridder

A Grid based 2D Graphics library.

In 2 lists

image2ascii

Convert image to ASCII.

In 2 lists

imagick

Go binding to ImageMagick's MagickWand C API.

In 2 lists

imaginary

Fast and simple HTTP microservice for image resizing.

In 4 listsDetails

imaging

Simple Go image processing package.

In 4 listsDetails

imagor

Fast, secure image processing server and Go library, using libvips.

In 4 listsDetails

img

Selection of image manipulation tools.

In 2 lists

ln

3D line art rendering in Go.

In 4 listsDetails

mergi

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

In 2 lists

mort

Storage and image processing server written in Go.

In 2 lists

mpo

Decoder and conversion tool for MPO 3D Photos.

In 2 lists

nativewebp

Go native WebP encoder with zero external dependencies.

In 2 lists

picfit

An image resizing server written in Go.

In 4 listsDetails

pt

Path tracing engine written in Go.

In 3 lists

scout

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

In 2 lists

smartcrop

Finds good crops for arbitrary images and crop sizes.

In 3 lists

steganography

Pure Go Library for LSB steganography.

In 2 lists

stegify

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

In 3 lists

svgo

Go Language Library for SVG generation.

In 5 listsDetails

transformimgs

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

In 2 lists

webp-server

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

In 2 lists

IoT (Internet of Things)

connectordb

Open-Source Platform for Quantified Self & IoT.

In 2 lists

devices

Suite of libraries for IoT devices, experimental for x/exp/io.

In 3 lists

ekuiper

Lightweight data stream processing engine for IoT edge.

In 2 lists

eywa

Project Eywa is essentially a connection manager that keeps track of connected devices.

In 2 lists

flogo

Project Flogo is an Open Source Framework for IoT Edge Apps & Integration.

In 4 listsDetails

gatt

Gatt is a Go package for building Bluetooth Low Energy peripherals.

In 2 lists

gobot

Gobot is a framework for robotics, physical computing, and the Internet of Things.

In 5 listsDetails

huego

An extensive Philips Hue client library for Go.

In 2 lists

iot

IoT is a simple framework for implementing a Google IoT Core device.

In 2 lists

periph

Peripherals I/O to interface with low-level board facilities.

In 2 lists

rulego

RuleGo is a lightweight, high-performance, embedded, orchestrable component-based rule engine for IoT edge.

In 2 lists

sensorbee

Lightweight stream processing engine for IoT.

In 3 lists

shifu

Kubernetes native IoT development framework.

In 3 lists

smart-home

Software package for IoT automation.

In 2 lists

Job Scheduler

cdule

Job scheduler library with database support

In 2 lists

cheek

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

In 2 lists

clockwerk

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

In 2 lists

cronticker

A ticker implementation to support cron schedules.

In 2 lists

go-cron

Simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons.

In 2 lists

go-cron

Cron job scheduler with runtime schedule updates, per-entry context, resilience middleware (retry, circuit breaker, rate limiting), and observability hooks; successor to robfig/cron.

go-job

A flexible and extensible job scheduling and execution library for Go.

In 2 lists

go-quartz

Simple, zero-dependency scheduling library for Go.

In 2 lists

go-scheduler

Job scheduler supporting standard cron expressions, custom descriptors, intervals, and task dependencies.

In 2 lists

gocron

Easy and fluent Go job scheduling. This is an actively maintained fork of jasonlvhit/gocron.

In 4 listsDetails

goflow

A simple but powerful DAG scheduler and dashboard.

In 2 lists

gron

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

In 2 lists

gronx

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

In 2 lists

JobRunner

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

In 3 lists

leprechaun

Job scheduler that supports webhooks, crons and classic scheduling.

In 2 lists

ofelia

Docker job scheduler (crontab for Docker); fork of mcuadros/ofelia that adds a web UI, job dependencies, retries, and job persistence.

pending

ID-based debounced task scheduler for deferred tasks with cancellation, graceful shutdown, and optional concurrency limits.

sched

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

In 2 lists

scheduler

Cronjobs scheduling made easy.

In 2 lists

scheduler

Go-native distributed job scheduler with delayed tasks, batched Redis coordination, retries, lease-based recovery, and versioned queue partitioning.

tasks

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

In 2 lists

tickstem/cron

Go client for scheduling HTTP cron jobs, with execution history, failure alerts, and tsk-local for testing handlers without live credentials.

tickstem/heartbeat

Go client for dead-man's switch heartbeat monitoring: ping a URL after each job run and get alerted by email if pings stop arriving.

JSON

ajson

Abstract JSON for golang with JSONPath support.

In 2 lists

ask

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.

In 2 lists

dynjson

Client-customizable JSON formats for dynamic APIs.

In 2 lists

ej

Write and read JSON from different sources succinctly.

In 2 lists

epoch

Contains primitives for marshaling/unmarshalling Unix timestamp/epoch to/from build-in time.Time type in JSON.

In 2 lists

fastjson

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

In 4 listsDetails

gabs

For parsing, creating and editing unknown or dynamic JSON in Go.

In 3 lists

gjo

Small utility to create JSON objects.

In 2 lists

GJSON

Get a JSON value with one line of code.

In 5 listsDetails

go-jsonerror

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

In 2 lists

go-respond

Go package for handling common HTTP JSON responses.

In 2 lists

gojmapr

Get simple struct from complex json by json path.

In 2 lists

gojq

JSON query in Golang.

In 2 lists

gojson

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

In 4 listsDetails

htmljson

Rich rendering of JSON as HTML in Go.

In 2 lists

JayDiff

JSON diff utility written in Go.

In 2 lists

jettison

Fast and flexible JSON encoder for Go.

In 2 lists

jscan

High performance zero-allocation JSON iterator.

In 2 lists

JSON-to-Go

Convert JSON to Go struct.

In 3 lists

JSON-to-Proto

Convert JSON to Protobuf online.

In 2 lists

json2go

Advanced JSON to Go struct conversion. Provides package that can parse multiple JSON documents and create struct to fit them all.

In 2 lists

jsonapi-errors

Go bindings based on the JSON API errors reference.

In 2 lists

jsoncolor

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

In 2 lists

jsondiff

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

In 2 lists

jsonf

Console tool for highlighted formatting and struct query fetching JSON.

In 2 lists

jsongo

Fluent API to make it easier to create Json objects.

In 2 lists

jsonhal

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

In 2 lists

jsonhandlers

JSON library to expose simple handlers that lets you easily read and write json from various sources.

In 2 lists

jsonic

Utilities to handle and query JSON without defining structs in a type safe manner.

In 2 lists

jsonvalue

A fast and convenient library for unstructured JSON data, replacing encoding/json.

In 2 lists

jzon

JSON library with standard compatible API/behavior.

In 2 lists

kazaam

API for arbitrary transformation of JSON documents.

In 2 lists

mapslice-json

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

In 2 lists

marshmallow

Performant JSON unmarshalling for flexible use cases.

In 2 lists

mp

Simple cli email parser. It currently takes stdin and outputs JSON.

In 2 lists

OjG

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

In 3 lists

omg.jsonparser

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

In 2 lists

silentjson

Zero-allocation JSON boundary scanner and splitter utilizing AVX2 SIMD instructions.

SJSON

Set a JSON value with one line of code.

In 4 listsDetails

ujson

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

In 2 lists

vjson

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

In 2 lists

Logging

caarlos0/log

Colorful CLI logger.

distillog

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

In 2 lists

glg

glg is simple and fast leveled logging library for Go.

In 2 lists

glo

PHP Monolog inspired logging facility with identical severity levels.

In 2 lists

glog

Leveled execution logs for Go.

In 5 listsDetails

go-cronowriter

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

In 2 lists

go-log

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

In 2 lists

go-log

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

In 2 lists

go-log

Log lib supports level and multi handlers.

In 2 lists

go-log

Log4j implementation in Go.

In 2 lists

go-log4g

Log4g provides Log4j-style configuration and pattern layouts for Go's standard log/slog logging facade.

go-logger

Simple logger of Go Programs, with level handlers.

In 2 lists

GoLogX

Append-only, hash-chained, optionally Ed25519-signed slog handler with offline verification of tampering.

gone/jconf

Modular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization.

In 2 lists

gslog

Google Cloud Logging handler for log/slog, with OpenTelemetry trace and baggage, and Kubernetes podinfo labels.

httpretty

Pretty-prints your regular HTTP requests on your terminal for debugging (similar to http.DumpRequest).

In 3 lists

journald

Go implementation of systemd Journal's native API for logging.

In 2 lists

kemba

A tiny debug logging tool inspired by debug, great for CLI tools and applications.

In 2 lists

lazyjournal

A TUI for reading and filtering logs from journalctl, file system, Docker and Podman containers, as well Kubernetes pods.

In 4 listsDetails

log

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

In 2 lists

log

Structured logging package for Go.

In 2 lists

log

Simple, configurable and scalable Structured Logging for Go.

In 2 lists

log

Structured log interface for Go cleanly separates logging facade from its implementation.

In 2 lists

log

Simple leveled logging wrapper around standard log package.

In 2 lists

log

A simple logging framework out of the box.

In 2 lists

log15

Simple, powerful logging for Go.

In 2 lists

logdump

Package for multi-level logging.

In 2 lists

logex

Golang log lib, supports tracking and level, wrap by standard log lib.

In 2 lists

logger

Minimalistic logging library for Go.

In 2 lists

logo

Golang logger to different configurable writers.

In 2 lists

logrus

Structured logger for Go.

In 5 listsDetails

logrusiowriter

io.Writer implementation using logrus logger.

In 2 lists

logrusly

logrus plug-in to send errors to a Loggly.

In 2 lists

logutils

Utilities for slightly better logging in Go (Golang) extending the standard logger.

In 2 lists

logxi

12-factor app logger that is fast and makes you happy.

In 2 lists

lumberjack

Simple rolling logger, implements io.WriteCloser.

In 4 listsDetails

mlog

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

In 2 lists

noodlog

Parametrized JSON logging library which lets you obfuscate sensitive data and marshal any kind of content. No more printed pointers instead of values, nor escape chars for the JSON strings.

In 2 lists

onelog

Onelog is a dead simple but very efficient JSON logger. It is the fastest JSON logger out there in all scenarios. Also, it is one of the logger with the lowest allocation.

In 2 lists

ozzo-log

High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail).

In 2 lists

phuslu/log

High performance structured logging.

In 2 lists

pp

Colored pretty printer for Go language.

In 4 listsDetails

rollingwriter

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

In 2 lists

seelog

Logging functionality with flexible dispatching, filtering, and formatting.

In 3 lists

sentry-go

Sentry SDK for Go. Helps monitor and track errors with real-time alerts and performance monitoring.

In 2 lists

slf4g

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

In 2 lists

slog

Lightweight, configurable, extensible logger for Go.

In 2 lists

slog-configurator

Configures the standard library log/slog logger from environment variables: level, format, source location, and stdout/stderr split.

slog-datadog

A slog handler for Datadog.

slog-formatter

Common formatters for slog and helpers to build your own.

In 2 lists

slog-logrus

A slog handler for Logrus.

slog-loki

A slog handler for Grafana Loki.

slog-multi

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

In 2 lists

slog-sentry

A slog handler for Sentry.

slog-slack

A slog handler for Slack.

slog-zap

A slog handler for Zap.

slog-zerolog

A slog handler for Zerolog.

slogor

A colorful slog handler.

In 2 lists

spew

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

In 4 listsDetails

sqldb-logger

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

In 2 lists

stdlog

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

In 2 lists

structy/log

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

In 2 lists

tail

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

In 3 lists

timberjack

Rolling logger with size-based, time-based, and scheduled clock-based rotation, supporting compression and cleanup.

In 2 lists

tint

A slog.Handler that writes tinted logs.

In 2 lists

xlog

Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format.

In 2 lists

xlog

Structured logger for net/context aware HTTP handlers with flexible dispatching.

In 2 lists

xylog

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

In 2 lists

yell

Yet another minimalistic logging library.

In 2 lists

zap

Fast, structured, leveled logging in Go.

In 5 listsDetails

zax

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

In 2 lists

zerolog

Zero-allocation JSON logger.

In 5 listsDetails

zkits-logger

A powerful zero-dependency JSON logger.

In 2 lists

zl

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

In 2 lists

Machine Learning

Anneal

Machine learning compiler in Go, a from-scratch tinygrad port with a WebGPU backend.

In 2 lists

bayesian

Naive Bayesian Classification for Golang.

In 3 lists

born

Deep learning framework inspired by Burn (Rust), with autograd, type-safe tensors, and zero-CGO GPU acceleration.

catboost-cgo

Fast, scalable, high performance Gradient Boosting on Decision Trees library. Golang using Cgo for blazing fast inference CatBoost Model.

In 2 lists

CloudForest

Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go.

In 3 lists

datatrax

Data engineering and classic ML toolkit with batch processing, type coercion, and 7 algorithms in pure Go with zero dependencies.

In 2 lists

ddt

Dynamic decision tree, create trees defining customizable rules.

In 2 lists

eaopt

An evolutionary optimization library.

In 3 lists

evoli

Genetic Algorithm and Particle Swarm Optimization library.

In 2 lists

fonet

A Deep Neural Network library written in Go.

In 2 lists

go-cluster

Go implementation of the k-modes and k-prototypes clustering algorithms.

In 2 lists

go-deep

A feature-rich neural network library in Go.

In 2 lists

go-fann

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

In 2 lists

go-galib

Genetic Algorithms library written in Go / golang.

In 3 lists

go-pr

Pattern recognition package in Go lang.

In 3 lists

gobrain

Neural Networks written in go.

In 3 lists

godist

Various probability distributions, and associated methods.

In 2 lists

goga

Genetic algorithm library for Go.

In 2 lists

GoLearn

General Machine Learning library for Go.

In 5 listsDetails

GoMind

A simplistic Neural Network Library in Go.

In 2 lists

goml

On-line Machine Learning in Go.

In 4 listsDetails

GoMLX

An accelerated Machine Learning framework for Go.

In 2 lists

gonet

Neural Network for Go.

In 2 lists

Goptuna

Bayesian optimization framework for black-box functions written in Go. Everything will be optimized.

In 3 lists

goRecommend

Recommendation Algorithms library written in Go.

In 2 lists

gorgonia

graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms.

In 4 listsDetails

gorse

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

In 4 listsDetails

goscore

Go Scoring API for PMML.

In 2 lists

gosseract

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

In 4 listsDetails

hugot

Huggingface transformer pipelines for golang with onnxruntime.

In 2 lists

libsvm

libsvm golang version derived work based on LIBSVM 3.14.

In 2 lists

m2cgen

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

In 16 listsDetails

neural-go

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

In 2 lists

ocrserver

A simple OCR API server, seriously easy to be deployed by Docker and Heroku.

In 3 lists

onnx-go

Go Interface to Open Neural Network Exchange (ONNX).

In 2 lists

probab

Probability distribution functions. Bayesian inference. Written in pure Go.

In 2 lists

randomforest

Easy to use Random Forest library for Go.

In 2 lists

regommend

Recommendation & collaborative filtering engine.

In 2 lists

shield

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

In 2 lists

tfgo

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.

In 4 listsDetails

Varis

Golang Neural Network.

In 2 lists

Messaging

ami

Go client to reliable queues based on Redis Cluster Streams.

In 2 lists

amqp

Go RabbitMQ Client Library.

In 3 lists

APNs2

HTTP/2 Apple Push Notification provider for Go - Send push notifications to iOS, tvOS, Safari and OSX apps.

In 3 lists

Asynq

A simple, reliable, and efficient distributed task queue for Go built on top of Redis.

In 4 listsDetails

backlite

Type-safe, persistent, embedded task queues and background job runner w/ SQLite.

In 2 lists

Beaver

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

In 2 lists

broker

Production-grade messaging abstraction with a unified API for various brokers and built-in OpenTelemetry integration.

Bus

Minimalist message bus implementation for internal communication.

In 2 lists

Centrifugo

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

In 6 listsDetails

Chanify

A push notification server send message to your iOS devices.

In 2 lists

Commander

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

In 2 lists

Confluent Kafka Golang Client

confluent-kafka-go is Confluent's Golang client for Apache Kafka and the Confluent Platform.

In 3 lists

dbus

Native Go bindings for D-Bus.

In 2 lists

drone-line

Sending Line notifications using a binary, docker or Drone CI.

In 2 lists

emitter

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

In 2 lists

event

Implementation of the pattern observer.

In 2 lists

EventBus

The lightweight event bus with async compatibility.

In 3 lists

gaurun-client

Gaurun Client written in Go.

In 2 lists

Glue

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

In 2 lists

go-eventbus

Simple Event Bus package for Go.

In 2 lists

Go-MediatR

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

In 2 lists

go-mq

RabbitMQ client with declarative configuration.

In 2 lists

go-notify

Native implementation of the freedesktop notification spec.

In 2 lists

go-nsq

the official Go package for NSQ.

In 3 lists

go-res

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

In 2 lists

go-vitotrol

Client library to Viessmann Vitotrol web service.

In 2 lists

GoEventBus

A blazing‑fast, in‑memory, lock‑free event bus library

In 2 lists

Gollum

A n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations.

In 2 lists

golongpoll

HTTP longpoll server library that makes web pub-sub simple.

In 2 lists

gopush-cluster

gopush-cluster is a go push server cluster.

In 3 lists

gorush

Push notification server using APNs2 and google GCM.

In 4 listsDetails

gosd

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

In 2 lists

guble

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.

In 2 lists

hare

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

In 2 lists

hub

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

In 2 lists

hypermatch

Matches events against large sets of rules, with rules written in Go or as JSON.

jazz

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

In 2 lists

machinery

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

In 4 listsDetails

mangos

Pure go implementation of the Nanomsg ("Scalability Protocols") with transport interoperability.

In 2 lists

melody

Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling.

In 4 listsDetails

Mercure

Server and library to dispatch server-sent updates using the Mercure protocol (built on top of Server-Sent Events).

In 3 lists

messagebus

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

In 2 lists

NATS Go Client

Go client for the NATS messaging system.

In 3 lists

nsq-event-bus

A tiny wrapper around NSQ topic and channel.

In 2 lists

oplog

Generic oplog/replication system for REST APIs.

In 2 lists

pubsub

Simple pubsub package for go.

In 2 lists

Quamina

Fast pattern-matching for filtering messages and events.

In 2 lists

rabbitroutine

Lightweight library that handles RabbitMQ auto-reconnect and publishing retries. The library takes into account the need to re-declare entities in RabbitMQ after reconnection.

In 2 lists

rabbus

A tiny wrapper over amqp exchanges and queues.

In 2 lists

rabtap

RabbitMQ swiss army knife cli app.

In 2 lists

RapidMQ

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

In 2 lists

Ratus

Ratus is a RESTful asynchronous task queue server.

In 2 lists

redisqueue

redisqueue provides a producer and consumer of a queue that uses Redis streams.

In 2 lists

rmqconn

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.

In 2 lists

sarama

Go library for Apache Kafka.

In 3 lists

Uniqush-Push

Redis backed unified push service for server-side notifications to mobile devices.

In 2 lists

varmq

A storage-agnostic message queue and worker pool for concurrent Go programs.

In 2 lists

Watermill

Working efficiently with message streams. Building event driven applications, enabling event sourcing, RPC over messages, sagas. Can use conventional pub/sub implementations like Kafka or RabbitMQ, but also HTTP or MySQL binlog.

In 5 listsDetails

zmq4

Go interface to ZeroMQ version 4. Also available for version 3 and version 2.

In 2 lists

Microsoft Office

unioffice

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

In 3 lists

Microsoft Office >Microsoft Excel

cellwalker

Virtually traverse Excel cell by cell's name.

In 2 lists

excelize

Golang library for reading and writing Microsoft Excel™ (XLSX) files.

In 2 lists

exl

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

In 2 lists

go-excel

A simple and light reader to read a relate-db-like excel as a table.

In 2 lists

xlsx

Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs.

In 4 listsDetails

xlsx

Fast and safe way to read/update your existing Microsoft Excel files in Go programs.

In 2 lists

Microsoft Office >Microsoft Word

godocx

Library for reading and writing Microsoft Word (Docx) files.

In 2 lists

Miscellaneous >Dependency Injection

alice

Additive dependency injection container for Golang.

In 2 lists

autowire

Dependency injection using Generics and reflection.

In 2 lists

boot-go

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

In 2 lists

componego

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

In 2 lists

cosban/di

A code generation based dependency injection wiring tool.

In 2 lists

dig

A reflection based dependency injection toolkit for Go.

In 4 listsDetails

dingo

A dependency injection toolkit for Go, based on Guice.

In 2 lists

do

A dependency injection framework based on Generics.

In 2 lists

floatdrop/di

Dependency injection container built on generic methods, with child scopes, lifecycle hooks and graph validation before anything is built.

fx

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

In 4 listsDetails

go-beans

Spring-inspired dependency injection and application lifecycle framework for Go.

Go-Spring

A high-performance Go framework inspired by Spring Boot, offering DI, auto-configuration, and lifecycle management while maintaining Go's simplicity and efficiency.

In 2 lists

gocontainer

Simple Dependency Injection Container.

In 2 lists

godi

Microsoft-style dependency injection for Go with scoped lifetimes and generics.

In 2 lists

goioc/di

Spring-inspired Dependency Injection Container.

In 2 lists

GoLobby/Container

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

In 2 lists

gontainer

A dependency injection service container for Go projects.

In 2 lists

gontainer/gontainer

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

In 2 lists

HnH/di

DI container library that is focused on clean API and flexibility.

In 2 lists

kinit

Customizable dependency injection container with the global mode, cascade initialization and panic-safe finalization.

In 2 lists

kod

A generics based dependency injection framework for Go.

In 2 lists

linker

A reflection based dependency injection and inversion of control library with components lifecycle support.

In 2 lists

nject

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

In 2 lists

ore

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

In 2 lists

parsley

A flexible and modular reflection-based DI library with advanced features like scoped contexts and proxy generation, designed for large-scale Go applications.

In 2 lists

wire

Strict Runtime Dependency Injection for Golang.

In 2 lists

yama

Compile-time dependency injection and lifecycle framework that generates start, quiesce, and stop code for Google Wire graphs.

Miscellaneous >Project Layout

ardanlabs/service

A starter kit for building production grade scalable web service applications.

In 3 lists

cookiecutter-golang

A Go application boilerplate template for quick starting projects following production best practices.

In 2 lists

go-blueprint

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

In 3 lists

go-ddd

Domain-Driven Design template with CQRS, value objects, idempotent commands, and a transactional outbox.

In 2 lists

go-grpc-bazel-example

Example monorepo for Go gRPC microservices with Bazel, grpc-gateway, OpenAPI, and Kubernetes.

go-module

Template for a typical module written on Go.

In 2 lists

go-rest-api-boilerplate

AI-friendly, production-ready Go REST API boilerplate with clean architecture, JWT authentication, RBAC, PostgreSQL, Docker hot-reload, and Swagger documentation.

go-sample

A sample layout for Go application projects with the real code.

In 2 lists

go-starter

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

In 2 lists

go-todo-backend

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

In 2 lists

goapp

An opinionated guideline to structure & develop a Go web application/service.

In 2 listsDetails

gobase

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

In 2 lists

golang-standards/project-layout

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 for more information. Nonetheless, some may find the layout useful.

In 4 listsDetails

golang-templates/seed

Go application GitHub repository template.

In 2 lists

goxygen

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

In 5 listsDetails

insidieux/inizio

Golang project layout generator with plugins.

In 2 lists

kickstart.go

Minimalistic single-file Go HTTP server template without third-party dependencies.

In 2 lists

modern-go-application

Go application boilerplate and example applying modern practices.

In 2 lists

nunu

Nunu is a scaffolding tool for building Go applications.

In 2 lists

pagoda

Rapid, easy full-stack web development starter kit built in Go.

In 4 listsDetails

scaffold

Scaffold generates a starter Go project layout. Lets you focus on business logic implemented.

In 2 lists

wangyoucao577/go-project-layout

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

In 2 lists

Miscellaneous >Strings

bexp

Go implementation of Brace Expansion mechanism to generate arbitrary strings.

In 2 lists

caps

A case conversion library.

In 2 lists

go-formatter

Implements replacement fields surrounded by curly braces {} format strings.

In 2 lists

gobeam/Stringy

String manipulation library to convert string to camel case, snake case, kebab case / slugify etc.

In 2 lists

str

Pipeline-first string toolkit for composing transformations.

strcase

Case-insensitive implementation of the standard library's strings/bytes packages.

In 2 lists

stringFormatter

String formatting like in Python or C# manner with the additional text formatting features.

strutil

String utilities.

In 2 lists

sttr

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

In 2 lists

xstrings

Collection of useful string functions ported from other languages.

In 3 lists

Miscellaneous >Uncategorized

anagent

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

In 2 lists

antch

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

In 3 lists

archives

a cross-platform, multi-format Go library for working with archives and compression formats with a unified API and as virtual file systems compatible with io/fs.

In 2 lists

autoflags

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

In 2 lists

avgRating

Calculate average score and rating based on Wilson Score Equation.

In 2 lists

banner

Add beautiful banners into your Go applications.

In 2 lists

base64Captcha

Base64captch supports digit, number, alphabet, arithmetic, audio and digit-alphabet captcha.

In 4 listsDetails

basexx

Convert to, from, and between digit strings in various number bases.

In 2 lists

battery

Cross-platform, normalized battery information library.

In 2 lists

bitio

Highly optimized bit-level Reader and Writer for Go.

In 2 lists

browscap_go

GoLang Library for Browser Capabilities Project.

In 2 lists

captcha

Package captcha provides an easy to use, unopinionated API for captcha generation.

In 2 lists

common

A library for server framework.

In 2 lists

conv

Package conv provides fast and intuitive conversions across Go types.

In 2 lists

datacounter

Go counters for readers/writer/http.ResponseWriter.

In 2 lists

fake-useragent

Up-to-date simple useragent faker with real world database in Golang

In 2 lists

faker

Random fake data and struct generator for Go.

In 2 lists

ffmt

Beautify data display for Humans.

In 3 lists

gatus

Automated service health dashboard.

In 3 lists

go-commandbus

A slight and pluggable command-bus for Go.

In 2 lists

go-commons-pool

Generic object pool for Golang.

In 2 lists

go-openapi

Collection of packages to parse and utilize open-api schemas.

In 2 lists

go-resiliency

Resiliency patterns for golang.

In 3 lists

go-unarr

Decompression library for RAR, TAR, ZIP and 7z archives.

In 2 lists

gofakeit

Random data generator written in go.

In 4 listsDetails

goffi

Pure Go FFI with libffi-style typed call interface and structured error handling for calling C libraries without CGO.

gommit

Analyze git commit messages to ensure they follow defined patterns.

In 2 lists

gopsutil

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

In 4 listsDetails

gosh

Provide Go Statistics Handler, Struct, Measure Method.

In 2 lists

gosms

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

In 2 lists

gotoprom

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

In 2 lists

gountries

Package that exposes country and subdivision data.

In 2 lists

gtree

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

In 4 listsDetails

health

A simple and flexible health check library for Go.

In 2 lists

health

Easy to use, extensible health check library.

In 2 lists

healthcheck

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

In 2 lists

hostutils

A golang library for packing and unpacking FQDNs list.

In 2 lists

indigo

Distributed unique ID generator of using Sonyflake and encoded by Base58.

In 2 lists

lk

A simple licensing library for golang.

In 2 lists

llvm

Library for interacting with LLVM IR in pure Go.

In 3 lists

metrics

Library for metrics instrumentation and Prometheus exposition.

In 2 lists

morse

Library to convert to and from morse code.

In 2 lists

numa

NUMA is a utility library, which is written in go. It help us to write some NUMA-AWARED code.

In 2 lists

pdfgen

HTTP service to generate PDF from Json requests.

In 2 lists

persian

Some utilities for Persian language in go.

In 2 lists

purego

A library for calling C functions from Go without Cgo.

In 2 lists

sandid

Every grain of sand on earth has its own ID.

In 2 lists

shellwords

A Golang library to manipulate strings according to the word parsing rules of the UNIX Bourne shell.

In 2 lists

shortid

Distributed generation of super short, unique, non-sequential, URL friendly IDs.

In 2 lists

shoutrrr

Notification library providing easy access to various messaging services like slack, mattermost, gotify and smtp among others.

In 2 lists

sitemap-format

A simple sitemap generator, with a little syntactic sugar.

In 2 lists

stateless

A fluent library for creating state machines.

In 2 lists

stats

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

In 2 lists

turtle

Emojis for Go.

In 2 lists

url-shortener

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

In 2 lists

VarHandler

Generate boilerplate http input and output handling.

In 2 lists

varint

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

In 2 lists

xdg

FreeDesktop.org (xdg) Specs implemented in Go.

In 2 lists

xkg

X Keyboard Grabber.

In 2 lists

xz

Pure golang package for reading and writing xz-compressed files. ⬆ back to top

In 3 lists

Natural Language Processing >Language Detection

detectlanguage

Language Detection API Go Client. Supports batch requests, short phrase or single word language detection.

In 2 lists

getlang

Fast natural language detection package.

In 2 lists

guesslanguage

Functions to determine the natural language of a unicode text.

In 2 lists

lingua-go

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

In 2 lists

whatlanggo

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

In 3 lists

Natural Language Processing >Morphological Analyzers

go-propisyu

Convert numbers to Russian words with correct grammatical gender and noun declension.

In 2 lists

go-stem

Implementation of the porter stemming algorithm.

In 2 lists

go2vec

Reader and utility functions for word2vec embeddings.

In 2 lists

golibstemmer

Go bindings for the snowball libstemmer library including porter 2.

In 2 lists

gosentiwordnet

Sentiment analyzer using sentiwordnet lexicon in Go.

In 2 lists

govader

Go implementation of VADER Sentiment Analysis.

In 2 lists

govader-backend

Microservice implementation of GoVader.

In 2 lists

kagome

JP morphological analyzer written in pure Go.

In 4 listsDetails

libtextcat

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

In 2 lists

nlp

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

In 2 lists

paicehusk

Golang implementation of the Paice/Husk Stemming Algorithm.

In 3 lists

porter

This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm.

In 2 lists

porter2

Really fast Porter 2 stemmer.

In 2 lists

RAKE.go

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

In 2 lists

snowball

Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality Snowball native.

In 2 lists

spaGO

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

In 3 lists

spelling-corrector

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

In 2 lists

Natural Language Processing >Slugifiers

go-slugify

Make pretty slug with multiple languages support.

In 2 lists

slug

URL-friendly slugify with multiple languages support.

In 2 lists

Slugify

Go slugify application that handles string.

In 2 lists

Natural Language Processing >Tokenizers

gojieba

This is a Go implementation of jieba which a Chinese word splitting algorithm.

In 5 listsDetails

gotokenizer

A tokenizer based on the dictionary and Bigram language models for Golang. (Now only support chinese segmentation)

In 2 lists

gse

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

In 4 listsDetails

MMSEGO

This is a GO implementation of MMSEG which a Chinese word splitting algorithm.

In 2 lists

segment

Go library for performing Unicode Text Segmentation as described in Unicode Standard Annex #29

In 2 lists

sentences

Sentence tokenizer: converts text into a list of sentences.

In 3 lists

shamoji

The shamoji is word filtering package written in Go.

In 2 lists

stemmer

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

In 2 lists

textcat

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

In 2 lists

Natural Language Processing >Translation

ctxi18n

Context aware i18n with a short and consise API, pluralization, interpolation, and fs.FS support. YAML locale definitions are based on Rails i18n.

In 2 lists

go-i18n

Package and an accompanying tool to work with localized text.

In 4 listsDetails

go-mystem

CGo bindings to Yandex.Mystem - russian morphology analyzer.

In 2 lists

go-pinyin

CN Hanzi to Hanyu Pinyin converter.

In 3 lists

go-words

A words table and text resource library for Golang projects.

In 2 lists

gotext

GNU gettext utilities for Go.

In 2 lists

iuliia-go

Transliterate Cyrillic → Latin in every possible way.

In 2 lists

spreak

Flexible translation and humanization library for Go, based on the concepts behind gettext.

In 2 lists

t

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, which can extract messages as a pot file from text/html template.

In 2 lists

Natural Language Processing >Transliteration

enca

Minimal cgo bindings for libenca, which detects character encodings.

In 2 lists

go-unidecode

ASCII transliterations of Unicode text.

In 2 lists

gounidecode

Unicode transliterator (also known as unidecode) for Go.

In 2 lists

transliterator

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

In 2 lists

Networking

arp

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

In 2 lists

bart

Package bart provides a Balanced-Routing-Table (BART) for very fast IP to CIDR lookups and more.

In 2 lists

buffstreams

Streaming protocolbuffer data over TCP made easy.

In 2 lists

canopus

CoAP Client/Server implementation (RFC 7252).

In 2 lists

cdns

Change DNS servers effortlessly via terminal.

chicha-ip-proxy

Zero-configuration TCP/UDP port proxy with autostart, IP-based access control, and OS-level network stack tuning.

cidranger

Fast IP to CIDR lookup for Go.

In 2 lists

cloudflared

Cloudflare Tunnel client (formerly Argo Tunnel).

In 5 listsDetails

dhcp6

Package dhcp6 implements a DHCPv6 server, as described in RFC 3315.

In 2 lists

dns

Go library for working with DNS.

In 4 listsDetails

dnsmonster

Passive DNS Capture/Monitoring Framework.

In 3 lists

drainwatch

Measures what actually happens to established TCP and UDP connections when a Kubernetes pod terminates.

easytcp

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.

In 3 lists

ether

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

In 2 lists

ethernet

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

In 2 lists

event

Simple I/O event notification library written in Golang.

In 2 lists

fasthttp

Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http.

In 5 listsDetails

fibersse

Production-grade Server-Sent Events (SSE) for Fiber v3 with event coalescing, priority lanes, topic wildcards, adaptive throttling, and built-in auth.

fortio

Load testing library and command line tool, advanced echo server and web UI. Allows to specify a set query-per-second load and record latency histograms and other useful stats and graph them. Tcp, Http, gRPC.

In 4 listsDetails

ftp

Package ftp implements a FTP client as described in RFC 959.

In 3 lists

ftpserverlib

Fully featured FTP server library.

In 2 lists

fullproxy

A fully featured scriptable and daemon configurable proxy and pivoting toolkit with SOCKS5, HTTP, raw ports and reverse proxy protocols.

In 2 lists

fwdctl

A simple and intuitive CLI to manage IPTables forwards in your Linux server.

In 2 lists

gaio

High performance async-io networking for Golang in proactor mode.

In 3 lists

gev

gev is a lightweight, fast non-blocking TCP network library based on Reactor mode.

In 2 lists

gldap

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

In 3 lists

gmqtt

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

In 2 lists

gnet

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

In 6 listsDetails

gnet

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

In 2 lists

gNxI

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

In 2 lists

go-getter

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

In 3 lists

go-multiproxy

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

In 2 lists

go-pcaplite

Lightweight live packet capture library with HTTPS SNI extraction.

In 2 lists

go-powerdns

PowerDNS API bindings for Golang.

In 2 lists

go-sse

Go client and server implementation of HTML server-sent events.

In 2 lists

go-stun

Go implementation of the STUN client (RFC 3489 and RFC 5389).

In 2 lists

gobgp

BGP implemented in the Go Programming Language.

In 3 lists

gopacket

Go library for packet processing with libpcap bindings.

In 4 listsDetails

gopcap

Go wrapper for libpcap.

In 2 lists

GoProxy

A library to create a customized HTTP/HTTPS proxy server using Go.

In 4 listsDetails

goshark

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

In 2 lists

gosnmp

Native Go library for performing SNMP actions.

In 2 lists

gotcp

Go package for quickly writing tcp applications.

In 2 lists

grab

Go package for managing file downloads.

In 3 lists

graval

Experimental FTP server framework.

In 2 lists

gws

High-Performance WebSocket Server & Client With AsyncIO Supporting .

In 2 lists

HTTPLab

HTTPLabs let you inspect HTTP requests and forge responses.

In 4 listsDetails

httpproxy

HTTP proxy handler and dialer.

In 2 lists

iplib

Library for working with IP addresses (net.IP, net.IPNet), inspired by python ipaddress and ruby ipaddr

In 2 lists

jazigo

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

In 3 lists

kcp-go

KCP - Fast and Reliable ARQ Protocol.

In 5 listsDetails

lhttp

Powerful websocket framework, build your IM server more easily.

In 2 lists

linkio

Network link speed simulation for Reader/Writer interfaces.

In 2 lists

llb

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.

In 2 lists

macwifi

Wi-Fi scanning and Keychain password retrieval for macOS 13+.

mdns

Simple mDNS (Multicast DNS) client/server library in Golang.

In 2 lists

mqttPaho

The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets.

In 2 lists

natiu-mqtt

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

In 2 lists

nbio

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.

In 3 lists

net

This repository holds supplementary Go networking libraries.

In 2 lists

netchan

Network Channels (netchan) for Golang: Secure, cluster-ready, supports nested channels & any data type. Inspired by Rob Pike.

nethawk

Terminal UI for real-time network traffic capture, analysis, and attack detection with JSON output mode.

netpoll

A high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.

In 4 listsDetails

NFF-Go

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

In 2 lists

nodepass

A secure, efficient TCP/UDP tunneling solution that delivers fast, reliable access across network restrictions using pre-established TCP/QUIC/WebSocket or HTTP/2 connections.

In 2 lists

peerdiscovery

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

In 2 lists

portproxy

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

In 2 lists

proxq

Asynchronous reverse proxy that queues each request in Redis and returns a job ID to poll for the response, with path-prefix routing, retries, and caching.

psql-wire

PostgreSQL server wire protocol. Build your own server and start serving connections..

In 2 lists

publicip

Package publicip returns your public facing IPv4 address (internet egress).

In 2 lists

quic-go

An implementation of the QUIC protocol in pure Go.

In 2 lists

roamr

CLI that scores nearby saved WiFi networks and tells you which to use, and why.

sdns

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

In 2 lists

sftp

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

In 4 listsDetails

ssh

Higher-level API for building SSH servers (wraps crypto/ssh).

In 3 lists

sslb

It's a Super Simples Load Balancer, just a little project to achieve some kind of performance.

In 2 lists

stun

Go implementation of RFC 5389 STUN protocol.

In 2 lists

tcpack

tcpack is an application protocol based on TCP to Pack and Unpack bytes stream in go program.

In 2 lists

tspool

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

In 2 lists

tun2socks

A pure go implementation of tun2socks powered by gVisor TCP/IP stack.

In 5 listsDetails

utp

Go uTP micro transport protocol implementation.

In 2 lists

vssh

Go library for building network and server automation over SSH protocol.

In 2 lists

water

Simple TUN/TAP library.

In 2 lists

webrtc

A pure Go implementation of the WebRTC API.

In 2 lists

winrm

Go WinRM client to remotely execute commands on Windows machines.

In 2 lists

ws-reconnect

Resilient WebSocket client with automatic reconnection, exponential backoff, and heartbeat management.

xtcp

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

In 2 lists

Networking >HTTP Clients

axios4go

A Go HTTP client library inspired by Axios, providing a simple and intuitive API for making HTTP requests.

In 2 lists

azuretls-client

An easy-to-use HTTP client 100% in Go to spoof TLS/JA3 and HTTP2 fingerprint.

In 2 lists

fast-shot

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

In 2 lists

gentleman

Full-featured plugin-driven HTTP client library.

In 3 lists

go-cleanhttp

Get easily stdlib HTTP client, which does not share any state with other clients.

In 2 lists

go-http-client

Make http calls simply and easily.

In 2 lists

go-ipmux

A library for Multiplexing HTTP requests based on multiple Source IPs.

In 2 lists

go-otelroundtripper

Go http.RoundTripper that emits open telemetry metrics for HTTP requests.

In 2 lists

go-req

Declarative golang HTTP client.

In 2 lists

go-retryablehttp

Retryable HTTP client in Go.

In 2 lists

go-zoox/fetch

A Powerful, Lightweight, Easy Http Client, inspired by Web Fetch API.

In 2 lists

Grequest

Simple and lightweight golang package for http requests. based on powerful net/http

In 2 lists

grequests

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

In 3 lists

hedge

Adaptive hedged requests for Go. Cuts p99 latency with zero configuration, based on Google's "The Tail at Scale" paper.

heimdall

An enhanced http client with retry and hystrix capabilities.

In 2 lists

httpretry

Enriches the default go HTTP client with retry functionality.

In 2 lists

impersonate-http

Drop-in net/http.Client with a byte-exact browser TLS (JA3/JA4) and HTTP/2 (Akamai) fingerprint.

pester

Go HTTP client calls with retries, backoff, and concurrency.

In 2 lists

req

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

In 5 listsDetails

request

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

In 2 lists

requests

HTTP requests for Gophers. Uses context.Context and doesn't hide the underlying net/http.Client, making it compatible with standard Go APIs. Also includes testing tools.

In 2 lists

resty

Simple HTTP and REST client for Go inspired by Ruby rest-client.

In 5 listsDetails

rq

A nicer interface for golang stdlib HTTP client.

In 2 lists

sling

Sling is a Go HTTP client library for creating and sending API requests.

In 2 lists

surf

Advanced HTTP client with HTTP/1.1, HTTP/2, HTTP/3 (QUIC), SOCKS5 proxy support and browser-grade TLS fingerprinting.

In 2 lists

tls-client

net/http.Client like HTTP Client with options to select specific client TLS Fingerprints to use for requests.

In 2 lists

OpenGL

gl

Go bindings for OpenGL (generated via glow).

In 3 lists

glfw

Go bindings for GLFW 3.

In 2 lists

go-glmatrix

Go port of glMatrix library.

In 2 lists

goxjs/gl

Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android).

In 2 lists

goxjs/glfw

Go cross-platform glfw library for creating an OpenGL context and receiving events.

In 2 lists

mathgl

Pure Go math package specialized for 3D math, with inspiration from GLM.

In 2 lists

ORM

bob

SQL query builder and ORM/Factory generator for Go. Successor of SQLBoiler.

In 2 lists

bun

SQL-first Golang ORM. Successor of go-pg.

In 4 listsDetails

cacheme

Schema based, typed Redis caching/memoize framework for Go.

In 2 lists

CQL

Built on top of GORM, adds compile-time verified queries based on auto-generated code.

In 2 lists

ent

An entity framework for Go. Simple, yet powerful ORM for modeling and querying data.

In 3 lists

go-dbw

A simple package that encapsulates database operations.

In 2 lists

go-firestorm

A simple ORM for Google/Firebase Cloud Firestore.

In 2 lists

go-sql

A easy ORM for mysql.

In 2 lists

go-sqlbuilder

A flexible and powerful SQL string builder library plus a zero-config ORM.

In 2 lists

go-store

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

In 2 lists

golobby/orm

Simple, fast, type-safe, generic orm for developer happiness.

In 2 lists

GoooQo

A database access framework based on declarative query model.

GORM

The fantastic ORM library for Golang, aims to be developer friendly.

In 5 listsDetails

gormt

Mysql database to golang gorm struct.

In 3 lists

gorp

Go Relational Persistence, ORM-ish library for Go.

In 4 listsDetails

grimoire

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

In 3 lists

lore

Simple and lightweight pseudo-ORM/pseudo-struct-mapping environment for Go.

In 2 lists

marlow

Generated ORM from project structs for compile time safety assurances.

In 2 lists

soda

Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite.

In 3 lists

Prisma

Prisma Client Go, Typesafe database access for Go.

In 2 lists

reform

Better ORM for Go, based on non-empty interfaces and code generation.

In 2 lists

rel

Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API.

In 3 lists

SQLBoiler

ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema.

In 3 lists

upper.io/db

Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers.

In 3 lists

XORM

Simple and powerful ORM for Go. (Support: MySQL, MyMysql, PostgreSQL, Tidb, SQLite3, MsSql and Oracle).

In 4 listsDetails

Zoom

Blazing-fast datastore and querying engine built on Redis.

In 2 lists

Package Management

go modules

Modules are the unit of source code interchange and versioning. The go command has direct support for working with modules, including recording and resolving dependencies on other modules.

In 2 lists

gup

Update binaries installed by "go install".

In 3 lists

modup

Terminal UI for Go dependency updates with outdated module detection and selective upgrading.

In 2 lists

syft

A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems.

In 6 listsDetails

Performance

ebpf-go

Provides utilities for loading, compiling, and debugging eBPF programs.

In 5 listsDetails

go-instrument

Automatically add spans to all methods and functions.

In 2 lists

go-perfstat

Lightweight performance statistics and execution time aggregation for Go.

jaeger

A distributed tracing system.

In 7 listsDetails

mm-go

Generic manual memory management for golang.

In 2 lists

otelinji

OpenTelemetry auto-instrumentation tool for adding spans to functions.

pixie

No instrumentation tracing for Golang applications via eBPF.

In 2 lists

profile

Simple profiling support package for Go.

In 4 listsDetails

statsviz

Live visualization of your Go application runtime statistics.

In 4 listsDetails

tracer

Simple, lightweight tracing.

In 2 lists

Query Language

api-fu

Comprehensive GraphQL implementation.

In 2 lists

dasel

Query and update data structures using selectors from the command line. Comparable to jq/yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.

In 7 listsDetails

gnata

Pure-Go implementation of the JSONata 2.x query and transformation language.

gojsonq

A simple Go package to Query over JSON Data.

In 4 listsDetails

goven

A drop-in query language for any database schema.

In 2 lists

gqlgen

go generate based graphql server library.

In 5 listsDetails

grapher

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

In 2 lists

graphql

GraphQL server with a focus on ease of use.

In 2 lists

graphql-go

Implementation of GraphQL for Go.

In 5 listsDetails

gws

Apollos' "GraphQL over Websocket" client and server implementation.

In 2 lists

jsonpath

A query library for retrieving part of JSON based on JSONPath syntax.

In 2 lists

jsonql

JSON query expression library in Golang.

In 2 lists

jsonslice

Jsonpath queries with advanced filters.

In 2 lists

mql

Model Query Language (mql) is a query language for your database models.

In 2 lists

play

A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq.

In 5 listsDetails

rql

Resource Query Language for REST API.

In 3 lists

rqp

Query Parser for REST API. Filtering, validations, both AND, OR operations are supported directly in the query.

In 2 lists

straf

Easily Convert Golang structs to GraphQL objects.

In 2 lists

Reflection

copy

Package for fast copying structs of different types.

In 2 lists

Deepcopier

Simple struct copying for Go.

In 2 lists

go-deepcopy

Fast deep copy library.

In 2 lists

goenum

A common enumeration struct based on generics and reflection that allows you to quickly define enumerations and use a set of useful default methods.

In 2 lists

gotype

Golang source code parsing, usage like reflect package.

In 2 lists

gpath

Library to simplify access struct fields with Go's expression in reflection.

In 2 lists

objwalker

Walk by go objects with reflection.

In 2 lists

reflectpro

Callers, copiers, getters and setters for go.

In 2 lists

reflectutils

Helpers for working with reflection: struct tag parsing; recursive walking; fill value from string.

In 2 lists

Resource Embedding

debme

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

In 2 lists

embed

Package embed provides access to files embedded in the running Go program.

In 2 lists

rebed

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

In 2 lists

vfsgen

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

In 3 lists

Science and Data Analysis

bradleyterry

Provides a Bradley-Terry Model for pairwise comparisons.

In 2 lists

calendarheatmap

Calendar heatmap in plain Go inspired by Github contribution activity.

In 2 lists

chart

Simple Chart Plotting library for Go. Supports many graphs types.

In 2 lists

dataframe-go

Dataframes for machine-learning and statistics (similar to pandas).

In 4 listsDetails

decimal

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

In 2 lists

entitydebs

A social science tool to programmatically analyze entities in non-fictional texts with a built-in dependency parser.

evaler

Simple floating point arithmetic expression evaluator.

In 2 lists

ewma

Exponentially-weighted moving averages.

In 2 lists

geom

2D geometry for golang.

In 2 lists

go-dsp

Digital Signal Processing for Go.

In 2 lists

go-estimate

State estimation and filtering algorithms in Go.

In 2 lists

go-gt

Graph theory algorithms written in "Go" language.

In 2 lists

go-hep

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

In 2 lists

godesim

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

In 2 lists

goent

GO Implementation of Entropy Measures.

In 2 lists

gograph

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

In 2 lists

gonum

Gonum is a set of numeric libraries for the Go programming language. It contains libraries for matrices, statistics, optimization, and more.

In 4 listsDetails

gonum/plot

gonum/plot provides an API for building and drawing plots in Go.

In 4 listsDetails

goraph

Pure Go graph theory library(data structure, algorithm visualization).

In 2 lists

gosl

Go scientific library for linear algebra, FFT, geometry, NURBS, numerical methods, probabilities, optimisation, differential equations, and more.

In 2 lists

GoStats

GoStats is an Open Source GoLang library for math statistics mostly used in Machine Learning domains, it covers most of the Statistical measures functions.

In 2 lists

graph

Library of basic graph algorithms.

In 2 lists

hdf5

Pure Go implementation of the HDF5 file format for scientific data storage and exchange.

insyra

Data analysis library with statistics, visualization, Parquet support, and Python integration.

jsonl-graph

Tool to manipulate JSONL graphs with graphviz support.

In 2 lists

matlab

Pure Go library for reading and writing MATLAB .mat files (v5-v7.3) without CGO.

MatProInterface.go

MatProInterface.go is an open source package for defining mathematical programs (e.g., convex optimization problems) in Go.

matrix

A clean, generic, zero-dependency matrix math package for Go with support for arithmetic, decompositions, and linear system solving.

ode

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

In 2 lists

orb

2D geometry types with clipping, GeoJSON and Mapbox Vector Tile support.

In 4 listsDetails

pagerank

Weighted PageRank algorithm implemented in Go.

In 2 lists

piecewiselinear

Tiny linear interpolation library.

In 2 lists

PiHex

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

In 2 lists

Poly

A Go package for engineering organisms.

In 2 lists

rootfinding

root-finding algorithms library for finding roots of quadratic functions.

In 2 lists

simd

Native Go vector and SIMD operations on slices with multi-architecture assembly acceleration.

sparse

Go Sparse matrix formats for linear algebra supporting scientific and machine learning applications, compatible with gonum matrix libraries.

In 2 lists

stats

Statistics package with common functions missing from the Golang standard library.

In 4 listsDetails

streamtools

general purpose, graphical tool for dealing with streams of data.

In 2 lists

taxonkit

A practical and efficient NCBI taxonomy toolkit; supports querying lineage, reformatting, filtering, and creating custom taxdump files.

TextRank

TextRank implementation in Golang with extendable features (summarization, weighting, phrase extraction) and multithreading (goroutine) support.

In 2 lists

topk

Sliding-window and regular top-K sketches, based on the HeavyKeeper algorithm.

In 2 lists

triangolatte

2D triangulation library. Allows translating lines and polygons (both based on points) to the language of GPUs.

In 2 lists

Security

acmetool

ACME (Let's Encrypt) client tool with automatic renewal.

In 2 lists

acme-proxy

Solve ACME http-01 challenge without opening port 80 to the internet, obtain certs from an external certificate authority.

acopw-go

Small cryptographically secure password generator package for Go.

In 2 lists

acra

Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system.

In 6 listsDetails

aes-ctr-drbg

A Deterministic Random Bit Generator based on AES in Counter mode (AES-CTR-DRBG) as specified in NIST SP 800-90A.

age

A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

In 5 listsDetails

argon2-hashing

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

In 2 lists

autocert

Auto provision Let's Encrypt certificates and start a TLS server.

In 2 lists

BadActor

In-memory, application-driven jailer built in the spirit of fail2ban.

In 2 lists

beelzebub

A secure low code honeypot framework, leveraging AI for System Virtualization.

In 5 listsDetails

booster

Fast initramfs generator with full-disk encryption support.

In 2 lists

caddy-waf

Web Application Firewall middleware for the Caddy server, with a regex rule engine, anomaly scoring, IP/DNS/ASN/country blacklists and rate limiting.

Cameradar

Tool and library to remotely hack RTSP streams from surveillance cameras.

In 4 listsDetails

canery

Minimal, stateless authorization engine with a pluggable evaluation model.

certificates

An opinionated tool for generating tls certificates.

In 2 lists

CertMagic

Mature, robust, and powerful ACME client integration for fully-managed TLS certificate issuance and renewal.

In 4 listsDetails

Coraza

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

In 5 listsDetails

Crenox

Zero-dependency pre-commit secret scanner using Aho-Corasick for high-performance credentials leak detection.

deidentify

Deterministic, format-preserving removal of personally identifiable information from text and structured data.

dongle

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

In 2 lists

dotlock

Encrypted .env vault manager with interactive TUI for managing secrets across multiple environments and profiles.

encid

Encode and decode encrypted integer IDs.

In 2 lists

entpassgen

Entropy Password Generator with extensive command line arguments to generate random strings securely including digits, passwords, and passwords built using obscure dictionary words mixed with symbols and digits.

In 2 lists

firewalld-rest

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

In 2 lists

fort

Audits macOS security settings across 16 checks, reports a score, and fixes issues where it safely can. Single binary, installable via Homebrew.

In 2 lists

go-generate-password

Password generator that can be used on the cli or as a library.

In 2 lists

go-htpasswd

Apache htpasswd Parser for Go.

In 2 lists

go-password-validator

Password validator based on raw cryptographic entropy values.

In 3 lists

go-peer

A software library for creating secure and anonymous decentralized systems.

In 4 listsDetails

go-yara

Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)".

In 3 lists

goArgonPass

Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations.

In 2 lists

goSecretBoxPassword

A probably paranoid package for securely hashing and encrypting passwords.

In 2 lists

gost-crypto

Go library for Russian GOST cryptographic standards (digital signatures, Streebog hash, Kuznechik cipher, MGM AEAD) backed by OpenSSL gost-engine.

grim

Fast and secure CLI tool for managing encrypted Markdown note vaults in volatile memory.

gspy

Forensic goroutine-to-syscall inspector for live Go processes.

Interpol

Rule-based data generator for fuzzing and penetration testing.

In 2 lists

leakhound

Static analysis tool to detect accidental logging of sensitive struct fields, preventing data leaks in logs.

lego

Pure Go ACME client library and CLI tool (for use with Let's Encrypt).

In 4 listsDetails

luks.go

Pure Golang library to manage LUKS partitions.

In 2 lists

mcprobe

Security scanner for MCP servers with prompt injection detection, tool shadowing, and SARIF output.

memguard

A pure Go library for handling sensitive values in memory.

In 3 lists

mist

Asymmetric-key audio steganography library that hides encrypted messages inside compressed audio using X25519 and ChaCha20-Poly1305.

multikey

An n-out-of-N keys encryption/decryption framework based on Shamir's Secret Sharing algorithm.

In 2 lists

nacl

Go implementation of the NaCL set of API's.

In 2 lists

optimus-go

ID hashing and Obfuscation using Knuth's Algorithm.

In 2 lists

passlib

Futureproof password hashing library.

In 2 lists

passwap

Provides a unified implementation between different password hashing algorithms

In 2 lists

pii-shield

Zero-code log sanitization sidecar for Kubernetes that redacts PII from logs.

pm

Unix-style password manager written in Go to save your data with OpenPGP encryption.

procscope

Process-scoped runtime investigator using eBPF to trace process lifecycle, file activity, and network connections.

qrand

Client for the ANU Quantum Numbers (AQN) API, providing quantum-mechanically secure random data.

In 2 lists

Razify

CLI to scan, validate and audit .env files for leaked secrets and environment drift.

redact

Redact sensitive information from slog-based logs using a configurable pipeline.

SafeDep/vet

Protect against malicious open source packages.

In 3 lists

secret

Prevent your secrets from leaking into logs, std* etc.

In 2 lists

secretgenerator

CSPRNG-backed credential generator with a versioned JSON schema for passwords, passphrases, secrets, API keys, and PINs.

secure

HTTP middleware for Go that facilitates some quick security wins.

In 5 listsDetails

secureio

An keyexchanging+authenticating+encrypting wrapper and multiplexer for io.ReadWriteCloser based on XChaCha20-poly1305, ECDH and ED25519.

In 2 lists

simple-scrypt

Scrypt package with a simple, obvious API and automatic cost calibration built-in.

In 2 lists

ssh-vault

encrypt/decrypt using ssh keys.

In 4 listsDetails

sslmgr

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

In 2 lists

teler-waf

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.

In 2 lists

themis

high-level cryptographic library for solving typical data security tasks (secure data storage, secure messaging, zero-knowledge proof authentication), available for 14 languages, best fit for multi-platform apps.

In 13 listsDetails

urusai

Urusai ("noisy" in Japanese) is a Go implementation of a random HTTP/DNS traffic noise generator that helps protect privacy by creating digital smokescreens while browsing.

In 2 lists

veil

Local HTTPS proxy that hides API credentials from AI coding agents. OS keychain integration, format-aware placeholders, SQLite audit log.

y509

TUI for X.509 certificate chains that reports whether a chain verifies and, separately, whether a server served it correctly.

Serialization

bambam

generator for Cap'n Proto schemas from go.

In 2 lists

bel

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

In 2 lists

binstruct

Golang binary decoder for mapping data into the structure.

In 2 lists

cbor

Small, safe, and easy CBOR encoding and decoding library.

In 2 lists

colfer

Code generation for the Colfer binary format.

In 3 lists

csvutil

High Performance, idiomatic CSV record encoding and decoding to native Go structures.

In 2 lists

elastic

Convert slices, maps or any other unknown value across different types at run-time, no matter what.

In 2 lists

fixedwidth

Fixed-width text formatting (UTF-8 supported).

In 2 lists

fwencoder

Fixed width file parser (encoding and decoding library) for Go.

In 2 lists

go-capnproto

Cap'n Proto library and parser for go.

In 2 lists

go-codec

High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support.

In 3 lists

go-csvlib

High level and rich functionalities CSV serialization/deserialization library.

In 2 lists

goprotobuf

Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers.

In 5 listsDetails

gotiny

Efficient Go serialization library, gotiny is almost as fast as serialization libraries that generate code.

In 2 lists

jsoniter

High-performance 100% compatible drop-in replacement of "encoding/json".

In 4 listsDetails

mus-go

MUS format serializer for Go.

php_session_decoder

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

In 2 lists

pletter

A standard way to wrap a proto message for message brokers.

In 2 lists

proto

Parser and writer for Google ProtocolBuffers .proto files.

structomap

Library to easily and dynamically generate maps from static structures.

In 2 lists

unitpacking

Library to pack unit vectors into as fewest bytes as possible.

In 2 lists

Server Applications

algernon

HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber.

In 3 lists

Caddy

Caddy is an alternative, HTTP/2 web server that's easy to configure and use.

In 6 listsDetails

Casdoor

Identity and access management (IAM) and single sign-on (SSO) server with a web UI, supporting OAuth 2.0, OIDC, SAML, CAS and LDAP.

In 4 listsDetails

consul

Consul is a tool for service discovery, monitoring and configuration.

In 6 listsDetails

cortex-tenant

Prometheus remote write proxy that adds add Cortex tenant ID header based on metric labels.

In 2 lists

devd

Local webserver for developers.

In 2 lists

discovery

A registry for resilient mid-tier load balancing and failover.

In 2 lists

dudeldu

A simple SHOUTcast server.

In 2 lists

Easegress

A cloud native high availability/performance traffic orchestration system with observability and extensibility.

In 4 listsDetails

Engity's Bifröst

Highly customizable SSH server with several ways to authorize a user how to execute its session (local or in containers).

In 3 lists

etcd

Highly-available key value store for shared configuration and service discovery.

In 7 listsDetails

Euterpe

Self-hosted music streaming server with built-in web UI and REST API.

In 2 lists

Fider

Fider is an open platform to collect and organize customer feedback.

In 3 lists

Flagr

Flagr is an open-source feature flagging and A/B testing service.

In 2 lists

flipt

A self contained feature flag solution written in Go and Vue.js

In 2 lists

flue

Self-hosted daemon that serves terminal sessions to a browser tab. Sessions keep running after the tab is closed.

go-feature-flag

A simple, complete and lightweight self-hosted feature flag solution 100% Open Source.

In 2 lists

go-proxy-cache

Simple Reverse Proxy with Caching, written in Go, using Redis.

In 2 lists

gondola

A YAML based golang reverse proxy.

In 2 lists

goshs

SimpleHTTPServer replacement with file upload/download, WebDAV, SFTP, SMB, TLS, authentication, and share links.

In 2 lists

Kono

lightweight extendable API Gateway in Go - parallel fan-out, flexible aggregation, and zero configuration magic.

lets-proxy2

Reverse proxy for handle https with issue certificates in fly from lets-encrypt.

In 2 lists

minio

Community Maintained Fork of minio (Object Storage Service).

Moxy

Moxy is a simple mocker and proxy application server, you can create mock endpoints as well as proxy requests in case no mock exists for the endpoint.

In 2 lists

nginx-prometheus

Nginx log parser and exporter to Prometheus.

In 2 lists

nsq

A realtime distributed messaging platform.

In 4 listsDetails

OpenRun

Open-source alternative to Google Cloud Run and AWS App Runner. Easily deploy internal tools across a team.

In 3 lists

pocketbase

PocketBase is a realtime backend in 1 file consisting of embedded database (SQLite) with realtime subscriptions, built-in auth management and much more.

In 5 listsDetails

protoxy

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

In 2 lists

psql-streamer

Stream database events from PostgreSQL to Kafka.

In 2 lists

relay

MCP server with 40+ tools for AI agents. File operations, web search, screenshots, multi-agent coordination. Single Go binary.

riemann-relay

Relay to load-balance Riemann events and/or convert them to Carbon.

In 2 lists

RoadRunner

High-performance PHP application server, load-balancer and process manager.

In 3 lists

SFTPGo

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.

In 4 listsDetails

simpleconf

Configuration server holding one JSON document, read and written by key path over HTTP and TCP, with optional Raft clustering.

Trickster

HTTP reverse proxy cache and time series accelerator.

In 4 listsDetails

wd-41

A (w)eb (d)evelopment server with automatic live-reload on file changes.

In 2 lists

whois

Self-hosted WHOIS/RDAP query service and MCP server for domains, IPv4/IPv6 addresses, CIDRs and ASNs.

In 2 lists

Wish

Make SSH apps, just like that!

In 3 lists

Stream Processing

go-etl

A lightweight toolkit for data source extraction, transformation, and loading (ETL).

In 2 lists

go-streams

Go stream processing library.

In 3 lists

goio

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

In 2 lists

gostream

Type-safe stream processing library inspired by the Java Streams API.

In 2 lists

machine

Go library for writing and generating stream workers with built in metrics and traceability.

In 2 lists

nibbler

A lightweight package for micro batch processing.

In 2 lists

ro

Reactive Programming: declarative and composable API for event-driven applications.

In 2 lists

signals

Type-safe reactive state management inspired by Angular Signals with computed values, effects, and dependency tracking.

In 2 lists

stream

Go Stream, like Java 8 Stream: Filter/Map/FlatMap/Peek/Sorted/ForEach/Reduce...

In 2 lists

StreamSQL

A lightweight streaming SQL engine for real-time data processing.

In 2 lists

Template Engines

bagme

HTML/CSS to PDF rendering with TeX-quality typesetting in pure Go.

ego

Lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled.

In 2 lists

fasttemplate

Simple and fast template engine. Substitutes template placeholders up to 10x faster than text/template.

In 3 lists

gomponents

HTML 5 components in pure Go, that look something like this: func(name string) g.Node { return Div(Class("headline"), g.Textf("Hi %v!", name)) }.

In 2 lists

got

A Go code generator inspired by Hero and Fasttemplate. Has include files, custom tag definitions, injected Go code, language translation, and more.

In 2 lists

goview

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

In 2 lists

gox

HTML templates as first-class Go expressions, with seamless editor support.

htmgo

build simple and scalable systems with go + htmx

In 2 lists

jet

Jet template engine.

In 4 listsDetails

liquid

Go implementation of Shopify Liquid templates.

In 2 lists

maroto

A maroto way to create PDFs. Maroto is inspired in Bootstrap and uses gofpdf. Fast and simple.

In 2 lists

pongo2

Django-like template-engine for Go.

In 4 listsDetails

quicktemplate

Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it.

In 4 listsDetails

Razor

Razor view engine for Golang.

In 2 lists

Soy

Closure templates (aka Soy templates) for Go, following the official spec.

In 2 lists

sprout

Useful template functions for Go templates.

In 2 lists

tbd

A really simple way to create text templates with placeholders - exposes extra builtin Git repo metadata.

In 2 lists

templ

A HTML templating language that has great developer tooling.

In 3 lists

templator

A type-safe HTML template rendering engine for Go.

In 2 lists

Testing >Testing Frameworks

apitest

Simple and extensible behavioural testing library for REST based services or HTTP handlers that supports mocking external http calls and rendering of sequence diagrams.

In 2 lists

arch-go

Architecture testing tool for Go projects.

In 2 lists

assay

Framework-agnostic evaluation library for testing Go agents and MCP servers with deterministic checks, CI-ready exit codes, and zero-code YAML-based testing.

assert

Basic Assertion Library used along side native go testing, with building blocks for custom assertions.

In 2 lists

baloo

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

In 3 lists

be

The minimalist generic test assertion library.

In 2 lists

biff

Bifurcation testing framework, BDD compatible.

In 2 lists

charlatan

Tool to generate fake interface implementations for tests.

In 2 lists

commander

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

In 2 lists

coverage

A simple Web UI for Go test coverage, and the go-test-coverage-html-report reusable GitHub Action.

cupaloy

Simple snapshot testing addon for your test framework.

In 2 lists

dbcleaner

Clean database for testing purpose, inspired by database_cleaner in Ruby.

In 2 lists

dft

Lightweight, zero dependency docker containers for testing (or more).

In 2 lists

dsunit

Datastore testing for SQL, NoSQL, structured files.

In 2 lists

embedded-postgres

Run a real Postgres database locally on Linux, OSX or Windows as part of another Go application or test.

In 2 lists

endly

Declarative end to end functional testing.

In 3 lists

envite

Dev and testing environment management framework.

In 2 lists

fixenv

Fixture manage engine, inspired by pytest fixtures.

In 2 lists

flute

HTTP client testing framework.

In 2 lists

frisby

REST API testing framework.

In 2 lists

gherkingen

BDD boilerplate generator and framework.

In 2 lists

ginkgo

BDD Testing Framework for Go.

In 2 lists

gnomock

integration testing with real dependencies (database, cache, even Kubernetes or AWS) running in Docker, without mocks.

In 3 lists

go-carpet

Tool for viewing test coverage in terminal.

In 2 lists

go-cmp

Package for comparing Go values in tests.

In 3 lists

go-hit

Hit is an http integration test framework written in golang.

In 2 lists

go-httpbin

HTTP testing and debugging tool with various endpoints for client testing.

In 2 lists

go-mutesting

Mutation testing for Go with CI quality gates, coverage-aware MSI, baseline tracking, and git-diff filtering.

go-mysql-test-container

Golang MySQL testcontainer to help with MySQL integration testing.

In 2 lists

go-snaps

Jest-like snapshot testing in Golang.

In 2 lists

go-test-coverage

Tool that reports coverage of files below set threshold.

In 2 lists

go-testdeep

Extremely flexible golang deep comparison, extends the go testing package.

In 3 lists

go-testing

Go testing extension, that allows a simple setup of strongly isolated unit, component, and integration test providing advanced mock support extending gomock and gock.

go-testpredicate

Test predicate style assertions library with extensive diagnostics output.

In 2 lists

go-vcr

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

In 2 lists

goblin

Mocha like testing framework of Go.

In 3 lists

goc

Goc is a comprehensive coverage testing system for The Go Programming Language.

In 2 lists

gocheck

More advanced testing framework alternative to gotest.

In 2 lists

GoConvey

BDD-style framework with web UI and live reload.

In 5 listsDetails

gocrest

Composable hamcrest-like matchers for Go assertions.

In 2 lists

godog

Cucumber BDD framework for Go.

In 5 listsDetails

gofight

API Handler Testing for Golang Router framework.

In 3 lists

gogiven

YATSPEC-like BDD testing framework for Go.

In 2 lists

gomatch

library created for testing JSON against patterns.

In 2 lists

gomega

Rspec like matcher/assertion library.

In 2 lists

gospecify

This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec.

In 2 lists

gosuite

Brings lightweight test suites with setup/teardown facilities to testing by leveraging Go1.7's Subtests.

In 2 lists

got

An enjoyable golang test framework.

In 2 lists

gotest.tools

A collection of packages to augment the go testing package and support common patterns.

In 2 lists

Hamcrest

fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results.

In 2 lists

httper

CLI runner for JetBrains .http files with scripting, assertions, gRPC, and load testing.

httpexpect

Concise, declarative, and easy to use end-to-end HTTP and REST API testing.

In 4 listsDetails

is

Professional lightweight testing mini-framework for Go.

In 3 lists

jsonassert

Package for verifying that your JSON payloads are serialized correctly.

In 2 lists

keploy

Generate Testcase and Data Mocks from API calls automatically.

In 7 listsDetails

omg.testingtools

The simple library for change a values of private fields for testing.

In 2 lists

restit

Go micro framework to help writing RESTful API integration test.

In 3 lists

schema

Quick and easy expression matching for JSON schemas used in requests and responses.

In 2 lists

should

Testing library with zero dependencies, detailed struct diffs and human-readable error messages.

stop-and-go

Testing helper for concurrency.

In 2 lists

testcase

Idiomatic testing framework for Behavior Driven Development.

In 2 lists

testcerts

Dynamically generate self-signed certificates and certificate authorities within your test functions.

In 2 lists

testcontainers-go

A Go package that makes it simple to create and clean up container-based dependencies for automated integration/smoke tests. The clean, easy-to-use API enables developers to programmatically define containers that should be run as part of a test and clean up those resources when the test is done.

In 3 lists

testfixtures

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

In 2 lists

Testify

Sacred extension to the standard go testing package.

In 4 listsDetails

Testo

Plugin-based testing framework with suites, parallel tests, hooks and parametrization. Inspired by Pytest.

testsql

Generate test data from SQL files before testing and clear it after finished.

In 3 lists

testza

Full-featured test framework with nice colorized output.

In 2 lists

tparse

CLI tool for summarizing go test output. Pipe friendly. Compatible with go test flags.

trial

Quick and easy extendable assertions without introducing much boilerplate.

In 2 lists

Tt

Simple and colorful test tools.

In 2 lists

wstest

Websocket client for unit-testing a websocket http.Handler.

In 2 lists

Testing >Mock

counterfeiter

Tool for generating self-contained mock objects.

In 2 lists

fabricator

Type-safe factories for generating mock and fake data in Go, inspired by factory_boy and interface-forge.

genmock

Go mocking system with code generator for building calls of the interface methods.

In 2 lists

go-localstack

Tool for using localstack in AWS testing.

In 2 lists

go-sqlmock

Mock SQL driver for testing database interactions.

In 4 listsDetails

go-txdb

Single transaction based database driver mainly for testing purposes.

In 2 lists

gomock

Mocking framework for the Go programming language.

In 3 lists

gomock

CLI tool to generate typed and framework-agnostic interface mocks, with support for generics.

govcr

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

In 2 lists

hoverfly

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

In 5 listsDetails

httpmock

Easy mocking of HTTP responses from external resources.

In 3 lists

minimock

Mock generator for Go interfaces.

In 2 lists

mockery

Tool to generate Go interfaces.

In 4 listsDetails

mockfs

Mock filesystem for Go testing with error injection and latency simulation, built on testing/fstest.MapFS.

In 2 lists

mockhttp

Mock object for Go http.ResponseWriter.

In 2 lists

mooncake

A simple way to generate mocks for multiple purposes.

In 2 lists

moq

Utility that generates a struct from any interface. The struct can be used in test code as a mock of the interface.

In 3 lists

moxie

Generate mock methods on embedded structs.

In 2 lists

pgxmock

A mock library implementing pgx - PostgreSQL Driver and Toolkit.

In 2 lists

timex

A test-friendly replacement for the native time package.

In 2 lists

wsmock

Expressive, zero-boilerplate WebSocket mock server for testing with fault injection and assertions.

xgo

A general pureposed function mocking library.

In 2 lists

Testing >Fuzzing and delta-debugging/reducing/shrinking

go-fuzz

Randomized testing system.

In 6 listsDetails

Tavor

Generic fuzzing and delta-debugging framework.

In 2 lists

Testing >Selenium and browser control tools

bonk

Fast, stealth-first browser automation library using Chrome DevTools Protocol over WebSocket with no external dependencies.

cdp

Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it.

In 2 lists

chromedp

a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol.

In 2 lists

playwright-go

browser automation library to control Chromium, Firefox and WebKit with a single API.

In 3 lists

rod

A Devtools driver to make web automation and scraping easy.

In 5 listsDetails

selenosis

Stateless Kubernetes-native hub that routes Selenium, Playwright, and MCP sessions to on-demand browser pods via custom resources.

In 2 lists

Testing >Fail injection

failpoint

An implementation of failpoints for Golang.

In 2 lists

Text Processing >Formatters

address

Handles address representation, validation and formatting.

In 3 lists

align

A general purpose application that aligns text.

In 2 lists

gommon/color

Style terminal text.

In 3 lists

go-fixedwidth

Fixed-width text formatting (encoder/decoder with reflection).

In 2 lists

go-humanize

Formatters for time, numbers, and memory size to human readable format.

In 3 lists

gotabulate

Easily pretty-print your tabular data with Go.

In 2 lists

sq

Convert data from SQL databases or document formats like CSV or Excel into formats such as JSON, Excel, CSV, HTML, Markdown, XML, and YAML.

In 4 listsDetails

textwrap

Wraps text at end of lines. Implementation of textwrap module from Python.

In 2 lists

Text Processing >Markup Languages

bafi

Universal JSON, BSON, YAML, XML translator to ANY format using templates.

In 2 lists

bbConvert

Converts bbCode to HTML that allows you to add support for custom bbCode tags.

In 2 lists

blackfriday

Markdown processor in Go.

In 4 listsDetails

go-output-format

Output go structures into multiple formats (YAML/JSON/etc) in your command line app.

In 2 lists

go-toml

Go library for the TOML format with query support and handy cli tools.

In 3 lists

goldmark

A Markdown parser written in Go. Easy to extend, standard (CommonMark) compliant, well structured.

In 4 listsDetails

goq

Declarative unmarshalling of HTML using struct tags with jQuery syntax (uses GoQuery).

In 2 lists

html-to-markdown

Convert HTML to Markdown. Even works with entire websites and can be extended through rules.

In 4 listsDetails

htmlquery

An XPath query package for HTML, lets you extract data or evaluate from HTML documents by an XPath expression.

In 3 lists

htmlyaml

Rich rendering of YAML as HTML in Go.

In 2 lists

htree

Traverse, navigate, filter, and otherwise process trees of html.Node objects.

In 2 lists

markdown

Markdown builder that generates GitHub Flavored Markdown and mermaid diagrams through method chaining.

mdsmith

fast, auto-fixing Markdown linter and formatter. Checks style, readability, structure, and cross-file integrity.

mxj

Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages.

In 2 lists

picoloom

Markdown-to-PDF converter with CLI and Go library APIs.

toml

TOML configuration format (encoder/decoder with reflection).

In 4 listsDetails

Text Processing >Parsers/Encoders/Decoders

allot

Placeholder and wildcard text parsing for CLI tools and bots.

In 2 lists

codetree

Parses indented code (python, pixy, scarlet, etc.) and returns a tree structure.

In 2 lists

commonregex

A collection of common regular expressions for Go.

In 2 lists

did

DID (Decentralized Identifiers) Parser and Stringer in Go.

In 2 lists

doi

Document object identifier (doi) parser in Go.

In 2 lists

editorconfig-core-go

Editorconfig file parser and manipulator for Go.

In 2 lists

go-fasttld

High performance effective top level domains (eTLD) extraction module.

In 2 lists

go-nmea

NMEA parser library for the Go language.

In 2 lists

go-querystring

Go library for encoding structs into URL query parameters.

In 3 lists

go-vcard

Parse and format vCard.

In 2 lists

godump

Pretty print any GO variable with ease, an alternative to Go's fmt.Printf("%#v").

In 2 lists

godump (goforj)

Pretty-print Go structs with Laravel/Symfony-style dumps, full type info, colorized CLI output, cycle detection, and private field access.

In 2 lists

gofeed

Parse RSS and Atom feeds in Go.

In 5 listsDetails

gographviz

Parses the Graphviz DOT language.

In 2 lists

gonameparts

Parses human names into individual name parts.

In 2 lists

ltsv

High performance LTSV (Labeled Tab Separated Value) reader for Go.

In 2 lists

normalize

Sanitize, normalize and compare fuzzy text.

In 2 lists

parseargs-go

string argument parser that understands quotes and backslashes.

In 2 lists

prattle

Scan and parse LL(1) grammars simply and efficiently.

In 2 lists

sh

Shell parser and formatter.

In 6 listsDetails

tokenizer

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

In 2 lists

vdf

A Lexer and Parser for Valves Data Format (known as vdf) written in Go.

In 2 lists

when

Natural EN and RU language date/time parser with pluggable rules.

In 3 lists

xj2go

Convert xml or json to go struct.

In 2 lists

Text Processing >Regular Expressions

coregex

Production regex engine with Rust regex-crate architecture: multi-engine DFA/NFA, SIMD prefilters, drop-in stdlib replacement.

genex

Count and expand Regular Expressions into all matching Strings.

In 2 lists

go-wildcard

Simple and lightweight wildcard pattern matching.

In 2 lists

goregen

Library for generating random strings from regular expressions.

In 2 lists

regroup

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

In 2 lists

rex

Regular expressions builder.

In 2 lists

Text Processing >Sanitation

bluemonday

HTML Sanitizer.

In 4 listsDetails

gofuckyourself

A sanitization-based swear filter for Go.

In 2 lists

Text Processing >Scrapers

colly

Fast and Elegant Scraping Framework for Gophers.

In 3 lists

dataflowkit

Web scraping Framework to turn websites into structured data.

In 3 lists

doc-scraper

Web crawler that converts documentation sites to clean Markdown and JSONL for LLM ingestion (RAG, training data).

go-recipe

A package for scraping recipes from websites.

In 2 lists

go-sitemap-parser

Go language library for parsing Sitemaps.

In 2 lists

GoQuery

GoQuery brings a syntax and a set of features similar to jQuery to the Go language.

In 4 listsDetails

pagser

Pagser is a simple, extensible, configurable parse and deserialize html page to struct based on goquery and struct tags for golang crawler.

In 2 lists

Tagify

Produces a set of tags from given source.

In 2 lists

walker

Seamlessly fetch paginated data from any source. Simple and high performance API scraping included.

In 2 lists

xurls

Extract urls from text.

In 3 lists

Text Processing >RSS

podcast

iTunes Compliant and RSS 2.0 Podcast Generator in Golang

In 2 lists

Text Processing >Utility/Miscellaneous

ahocorasick

High-performance Aho-Corasick multi-pattern string matching with DFA compilation and SIMD prefilter, up to 7 GB/s throughput (part of coregx ecosystem).

go-runewidth

Functions to get fixed width of the character or string.

In 3 lists

kace

Common case conversions covering common initialisms.

In 2 lists

lancet

A comprehensive, Lodash-like utility library for Go

In 3 lists

petrovich

Petrovich is the library which inflects Russian names to given grammatical case.

In 2 lists

radix

Fast string sorting algorithm.

In 2 lists

TySug

Alternative suggestions with respect to keyboard layouts.

In 2 lists

uniwidth

High-performance Unicode character width calculation with SWAR optimization, O(1) lookup tables, and ZWJ emoji support.

w2vgrep

A semantic grep tool using word embeddings to find semantically similar matches. For example, searching for "death" will find "dead", "killing", "murder".

In 4 listsDetails

Third-party APIs

airtable

Go client library for the Airtable API.

In 2 lists

anaconda

Go client library for the Twitter 1.1 API.

In 2 lists

appstore-sdk-go

Unofficial Golang SDK for AppStore Connect API.

In 2 lists

aws-encryption-sdk-go

Unofficial Go SDK implementation of the AWS Encryption SDK.

In 2 lists

aws-sdk-go

The official AWS SDK for the Go programming language.

In 3 lists

bqwriter

High Level Go Library to write data into Google BigQuery at a high throughout.

In 2 lists

birdeye-go

Go client for Birdeye DeFi API with typed spot prices, OHLCV candles, historical data, and raw request escape hatch.

brewerydb

Go library for accessing the BreweryDB API.

In 2 lists

cachet

Go client library for Cachet (open source status page system).

In 2 lists

circleci

Go client library for interacting with CircleCI's API.

In 2 lists

codeship-go

Go client library for interacting with Codeship's API v2.

In 2 lists

coinglass-go

Go client for Coinglass API v4 with zero dependencies, WebSocket streams, and typed endpoints for futures, spot, options, ETF, and indicators.

coinpaprika-go

Go client library for interacting with Coinpaprika's API.

In 2 lists

colony-sdk-go

Go client library for The Colony — a public social network whose users are AI agents.

device-check-go

Go client library for interacting with iOS DeviceCheck API v1.

In 2 lists

discordgo

Go bindings for the Discord Chat API.

In 4 listsDetails

disgo

Go API Wrapper for the Discord API.

In 2 lists

dusupay-sdk-go

Unofficial Dusupay payment gateway API Client for Go

In 2 lists

ethrpc

Go bindings for Ethereum JSON RPC API.

In 2 lists

facebook

Go Library that supports the Facebook Graph API.

In 2 lists

fasapay-sdk-go

Unofficial Fasapay payment gateway XML API Client for Golang.

In 2 lists

fcm

Go library for Firebase Cloud Messaging.

In 2 lists

featureflip-go

Go SDK for Featureflip feature flags, with local evaluation and streaming updates.

gads

Google Adwords Unofficial API.

In 2 lists

gcm

Go library for Google Cloud Messaging.

In 2 lists

geo-golang

Go Library to access Google Maps, MapQuest, Nominatim, OpenCage, Bing, Mapbox, and OpenStreetMap geocoding / reverse geocoding APIs.

In 2 lists

github

Go library for accessing the GitHub REST API v3.

In 5 listsDetails

githubql

Go library for accessing the GitHub GraphQL API v4.

In 2 lists

go-atlassian

Go library for accessing the Atlassian Cloud services (Jira, Jira Service Management, Jira Agile, Confluence, Admin Cloud)

In 2 lists

go-aws-news

Go application and library to fetch what's new from AWS.

In 2 lists

go-chronos

Go library for interacting with the Chronos Job Scheduler

In 2 lists

go-gerrit

Go client library for Gerrit Code Review.

In 2 lists

go-hacknews

Tiny Go client for HackerNews API.

In 2 lists

go-here

Go client library around the HERE location based APIs.

In 2 lists

go-hibp

Simple Go binding to the "Have I Been Pwned" APIs.

In 2 lists

go-imgur

Go client library for imgur

In 2 lists

go-jira

Go client library for Atlassian JIRA

In 2 lists

go-lark

An easy-to-use unofficial SDK for Feishu and Lark Open Platform.

In 2 lists

go-marathon

Go library for interacting with Mesosphere's Marathon PAAS.

In 2 lists

go-myanimelist

Go client library for accessing the MyAnimeList API.

In 2 lists

go-openai

OpenAI ChatGPT, DALL·E, Whisper API library for Go.

In 6 listsDetails

go-openproject

Go client library for interacting with OpenProject API.

In 2 lists

go-postman-collection

Go module to work with Postman Collections (compatible with Insomnia).

In 2 lists

go-redoc

Embedded OpenAPI/Swagger documentation ui for Go using ReDoc.

In 2 lists

go-restcountries

Go library for the REST Countries API.

In 2 lists

go-salesforce

Go client library for interacting with the Salesforce REST API.

In 2 lists

go-sophos

Go client library for the Sophos UTM REST API with zero dependencies.

In 2 lists

go-swagger-ui

Go library containing precompiled Swagger UI for serving swagger json.

In 2 lists

go-telegraph

Telegraph publishing platform API client.

In 2 lists

go-trending

Go library for accessing trending repositories and developers at Github.

In 2 lists

go-unsplash

Go client library for the Unsplash.com API.

In 2 lists

go-xkcd

Go client for the xkcd API.

In 2 lists

go-yapla

Go client library for the Yapla v2.0 API.

In 2 lists

goagi

Go library to build Asterisk PBX agi/fastagi applications.

In 2 lists

goami2

AMI v2 library for Asterisk PBX.

In 2 lists

GoFreeDB

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

In 2 lists

gogtrends

Google Trends Unofficial API.

In 2 lists

golang-tmdb

Golang wrapper for The Movie Database API v3.

In 2 lists

golyrics

Golyrics is a Go library to fetch music lyrics data from the Wikia website.

In 2 lists

gomalshare

Go library MalShare API malshare.com

In 2 lists

GoMusicBrainz

Go MusicBrainz WS2 client library.

In 2 lists

google

Auto-generated Google APIs for Go.

In 3 lists

google-analytics

Simple wrapper for easy google analytics reporting.

In 2 lists

google-cloud

Google Cloud APIs Go Client Library.

In 2 lists

gopaapi5

Go Client Library for Amazon Product Advertising API 5.0.

In 2 lists

gopensky

Go client implementation for OpenSKY Network live's API (airspace ADS-B and Mode S data).

In 2 lists

gosip

Client library for SharePoint.

In 2 lists

gostorm

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.

In 2 lists

hipchat

This project implements a golang client library for the Hipchat API.

In 2 lists

hipchat (xmpp)

A golang package to communicate with HipChat over XMPP.

In 3 lists

httpsms-go

Go client for the httpSMS API.

igdb

Go client for the Internet Game Database API.

In 2 lists

ip2location-io-go

Go wrapper for the IP2Location.io API IP2Location.io.

In 2 lists

jokeapi-go

Go client for JokeAPI.

In 2 lists

lark

Feishu/Lark Open API Go SDK, Support ALL Open API and Event Callback.

In 2 lists

lastpass-go

Go client library for the LastPass API.

In 2 lists

lemonsqueezy-go

Go client for the Lemon Squeezy API.

libgoffi

Library adapter toolbox for native libffi integration

In 2 lists

libopenapi

Parse, validate, and work with OpenAPI, Swagger, Overlays, and Arazzo specifications.

manus-ai-go

Go client for Manus AI API v2 with task automation, file management, webhooks, and type-safe models.

Medium

Golang SDK for Medium's OAuth2 API.

In 2 lists

megos

Client library for accessing an Apache Mesos cluster.

In 2 lists

minio-go

Minio Go Library for Amazon S3 compatible cloud storage.

In 3 lists

mixpanel

Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications.

In 2 lists

nansen-go

Go client for Nansen AI API with Smart Money analytics, token screener, profiler, and zero dependencies.

newsapi-go

Go client for NewsAPI.

In 2 lists

openaigo

OpenAI GPT3/GPT3.5 ChatGPT API client library for Go.

In 4 listsDetails

patreon-go

Go library for Patreon API.

In 2 lists

paypal

Wrapper for PayPal payment API.

In 2 lists

playlyfe

The Playlyfe Rest API Go SDK.

In 2 lists

pushover

Go wrapper for the Pushover API.

In 2 lists

rawg-sdk-go

Go library for the RAWG Video Games Database API

In 2 lists

shopify

Go Library to make CRUD request to the Shopify API.

In 2 lists

simples3

Simple no frills AWS S3 Library using REST with V4 Signing written in Go.

In 2 lists

slack

Slack API in Go.

In 3 lists

smite

Go package to wraps access to the Smite game API.

In 2 lists

sonarqube-client-go

Go client library and command-line client for the SonarQube Web API.

spec

Lightweight OpenAPI 3.x builder supporting static generation and popular frameworks like chi, echo, gin, fiber, mux and more.

In 2 lists

spotify

Go Library to access Spotify WEB API.

In 2 lists

steam

Go Library to interact with Steam game servers.

In 2 lists

stripe

Go client for the Stripe API.

In 3 lists

swag

No comments, simple go wrapper to create swagger 2.0 compatible APIs. Support most routing frameworks, such as built-in, gin, chi, mux, echo, httprouter, fasthttp and more.

In 2 lists

textbelt

Go client for the textbelt.com txt messaging API.

In 2 lists

threads-go

Go client library for the Meta Threads API with OAuth 2.0, rate limiting, and type-safe error handling.

Trello

Go wrapper for the Trello API.

In 2 lists

TripAdvisor

Go wrapper for the TripAdvisor API.

In 2 lists

tumblr

Go wrapper for the Tumblr v2 API.

In 2 lists

uptimerobot

Go wrapper and command-line client for the Uptime Robot v2 API.

In 2 lists

vl-go

Go client library around the VerifID identity verification layer API.

In 2 lists

webhooks

Webhook receiver for GitHub and Bitbucket.

In 2 lists

wit-go

Go client for wit.ai HTTP API.

In 2 lists

ynab

Go wrapper for the YNAB API.

In 2 lists

zooz

Go client for the Zooz API.

In 2 lists

Utilities

abstract

Abstractions and utilities to get rid of boilerplate code in business logic.

In 2 lists

apm

Process manager for Golang applications with an HTTP API.

In 2 lists

backscanner

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

In 2 lists

bed

A Vim-like binary editor written in Go.

In 2 lists

blank

Verify or remove blanks and whitespace from strings.

In 2 lists

bleep

Perform any number of actions on any set of OS signals in Go.

In 2 lists

boilr

Blazingly fast CLI tool for creating projects from boilerplate templates.

In 5 listsDetails

boring

Simple command-line SSH tunnel manager.

In 2 lists

changie

Automated changelog tool for preparing releases with lots of customization options.

In 2 lists

chyle

Changelog generator using a git repository with multiple configuration possibilities.

In 2 lists

circuit

An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.

In 3 lists

circuitbreaker

Circuit Breakers in Go.

In 2 lists

clipboard

📋 cross-platform clipboard package in Go.

In 4 listsDetails

clockwork

A simple fake clock for golang.

In 2 lists

cmd

Library for executing shell commands on osx, windows and linux.

In 2 lists

config-file-validator

Cross Platform tool to validate configuration files.

In 4 listsDetails

contem

Drop-in context.Context replacement for graceful shutdown Go applications.

In 2 lists

cookie

Cookie struct parsing and helper package.

In 2 lists

copy-pasta

Universal multi-workstation clipboard that uses S3 like backend for the storage.

In 2 lists

countries

Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards.

In 2 lists

countries

All you need when you are working with countries in Go.

In 2 lists

create-go-app

A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command.

In 5 listsDetails

cryptgo

Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!

In 2 lists

ctop

Top-like interface (e.g. htop) for container metrics.

In 7 listsDetails

ctxutil

A collection of utility functions for contexts.

In 2 lists

cvt

Easy and safe convert any value to another type.

In 3 lists

dbt

A framework for running self-updating signed binaries from a central, trusted repository.

In 2 lists

Death

Managing go application shutdown with signals.

In 2 lists

debounce

A zero-allocation debouncer written in Go.

In 2 lists

delve

Go debugger.

In 4 listsDetails

dive

A tool for exploring each layer in a Docker image.

In 9 listsDetails

dlog

Compile-time controlled logger to make your release smaller without removing debug calls.

In 2 lists

EaseProbe

A simple, standalone, and lightWeight tool that can do health/status checking daemon, support HTTP/TCP/SSH/Shell/Client/... probes, and Slack/Discord/Telegram/SMS... notification.

In 4 listsDetails

equalizer

Quota manager and rate limiter collection for Go.

In 2 lists

ergo

The management of multiple local services running over different ports made easy.

In 3 lists

evaluator

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

In 2 lists

Failsafe-go

Fault tolerance and resilience patterns for Go.

In 2 lists

filetype

Small package to infer the file type checking the magic numbers signature.

In 3 lists

filler

small utility to fill structs using "fill" tag.

In 2 lists

filter

provide filtering, sanitizing, and conversion of Go data.

In 2 lists

fzf

Command-line fuzzy finder written in Go.

In 12 listsDetails

generate

runs go generate recursively on a specified path or environment variable and can filter by regex.

In 2 lists

gh-image

A gh CLI extension that uploads images to GitHub issues, PRs, and READMEs from the command line, producing user-attachments URLs that respect repository visibility.

In 2 lists

ghokin

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

In 2 lists

git-time-metric

Simple, seamless, lightweight time tracking for Git.

In 2 lists

git-tools

Tool to help manage git tags.

In 2 lists

gitbatch

manage your git repositories in one place.

In 2 lists

gitcs

Git Commits Visualizer, CLI tool to visualize your Git commits on your local machine.

In 2 lists

go-actuator

Production ready features for Go based web frameworks.

In 2 lists

go-astitodo

Parse TODOs in your GO code.

In 2 lists

go-bind-plugin

go:generate tool for wrapping symbols exported by golang plugins (1.8 only).

In 2 lists

go-bsdiff

Pure Go bsdiff and bspatch libraries and CLI tools.

In 2 lists

go-clip

A minimalistic clipboard manager for Mac.

In 2 lists

Go-Constant

Generic typed constant sets with safe string parsing for Go's missing enum type.

go-convert

Package go-convert enables you to convert a value into another type.

In 2 lists

go-countries

Lightweight lookup over ISO-3166 codes.

In 2 lists

go-dry

DRY (don't repeat yourself) package for Go.

In 2 lists

go-events

A go event and event'subscribe package, like wordpress hook functions.

In 2 lists

go-funk

Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...).

In 4 listsDetails

go-health

Health package simplifies the way you add health check to your services.

In 2 lists

go-httpheader

Go library for encoding structs into Header fields.

In 2 lists

go-lambda-cleanup

A CLI for removing unused or previous versions of AWS Lambdas.

In 2 lists

go-lock

go-lock is a lock library implementing read-write mutex and read-write trylock without starvation.

In 2 lists

go-pattern-match

A Pattern matching library inspired by ts-pattern.

In 2 lists

go-pkg

A go toolkit.

In 2 lists

go-problemdetails

Go package for working with Problem Details.

In 2 lists

go-qr

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

In 2 lists

go-rate

Timed rate limiter for Go.

In 3 lists

go-safecast

Safe number type conversion library that prevents integer overflow and underflow (addresses gosec G115 and CWE-190).

go-sitemap-generator

XML Sitemap generator written in Go.

In 2 lists

go-snk

Type-safe generic helpers for slices, maps, strings, errors, JSON, HTTP, and containers, organized as small independently adoptable packages.

go-trigger

Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.

In 2 lists

go-tripper

Tripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits.

In 2 lists

go-type

Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types.

In 2 lists

go-utils

Simple, performant generic utilities for Go inspired by JavaScript and Python (map, filter, reduce, and more).

goback

Go simple exponential backoff package.

In 2 lists

goctx

Get your context value with high performance.

In 2 lists

godaemon

Utility to write daemons.

In 2 lists

godoclive

Generates interactive API documentation from Go HTTP handlers using static analysis of chi, gin, and net/http routers.

godropbox

Common libraries for writing Go services/applications from Dropbox.

In 3 lists

gofn

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

In 2 lists

golarm

Fire alarms with system events.

In 2 lists

golog

Easy and lightweight CLI tool to time track your tasks.

In 2 lists

gopencils

Small and simple package to easily consume REST APIs.

In 3 lists

goplaceholder

a small golang lib to generate placeholder images.

In 2 lists

goreadability

Webpage summary extractor using Facebook Open Graph and arc90's readability.

In 2 lists

goreleaser

Deliver Go binaries as fast and easily as possible.

In 6 listsDetails

goreporter

Golang tool that does static analysis, unit testing, code review and generate code quality report.

In 2 lists

goseaweedfs

SeaweedFS client library with almost full features.

In 2 lists

gostrutils

Collections of string manipulation and conversion functions.

In 2 lists

gotenv

Load environment variables from .env or any io.Reader in Go.

In 2 lists

goval

Evaluate arbitrary expressions in Go.

In 2 lists

graterm

Provides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application.

In 2 lists

grofer

A system and resource monitoring tool written in Golang!

In 2 lists

gubrak

Golang utility library with syntactic sugar. It's like lodash, but for golang.

In 2 lists

handy

Many utilities and helpers like string handlers/formatters and validators.

In 2 lists

healthcheck

A simple yet powerful readiness test for Kubernetes.

In 2 lists

hostctl

A CLI tool to manage /etc/hosts with easy commands.

In 3 lists

htcat

Parallel and Pipelined HTTP GET Utility.

In 2 lists

hub

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

In 8 listsDetails

immortal

*nix cross-platform (OS agnostic) supervisor.

In 3 lists

jet

Just Edit Text: a fast and powerful tool for finding and replacing file content and names using regular expressions.

In 2 lists

jsend

JSend's implementation written in Go.

In 2 lists

json-log-viewer

Interactive viewer for JSON logs.

In 2 lists

jump

Jump helps you navigate faster by learning your habits.

In 4 listsDetails

just

Just a collection of useful functions for working with generic data structures.

In 2 lists

koazee

Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.

In 2 lists

LAN Orangutan

Network device discovery and inventory with persistent labeling, multi-network scanning, and Tailscale integration.

lang

Generic one-liners to work with variables, slices and maps without boilerplate code.

In 2 lists

lets-go

Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities.

In 2 lists

limiters

Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks.

In 2 lists

lo

A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...)

In 4 listsDetails

loncha

A high-performance slice Utilities.

In 2 lists

lrserver

LiveReload server for Go.

In 2 lists

mani

CLI tool to help you manage multiple repositories.

In 2 lists

mc

Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems.

In 4 listsDetails

mergo

Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.

In 3 lists

mimemagic

Pure Go ultra performant MIME sniffing library/utility.

In 2 lists

mimetype

Package for MIME type detection based on magic numbers.

In 3 lists

minify

Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.

In 4 listsDetails

minquery

MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).

In 2 lists

moldova

Utility for generating random data based on an input template.

In 2 lists

mole

cli app to easily create ssh tunnels.

In 2 lists

mongo-go-pagination

Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines.

In 2 lists

mssqlx

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

In 2 lists

multitick

Multiplexor for aligned tickers.

In 2 lists

netbug

Easy remote profiling of your services.

In 2 lists

nfdump

Read nfdump netflow files.

In 2 lists

nostromo

CLI for building powerful aliases.

In 2 lists

okrun

go run error steamroller.

In 2 lists

olaf

Twitter Snowflake implemented in Go.

In 2 lists

onecache

Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).

In 2 lists

optional

Optional struct fields and vars.

In 2 lists

panicparse

Groups similar goroutines and colorizes stack dump.

In 3 lists

pattern-match

Pattern matching library.

In 2 lists

peco

Simplistic interactive filtering tool.

In 7 listsDetails

pgo

Convenient functions for PHP community.

In 2 lists

pm

Process (i.e. goroutine) manager with an HTTP API.

In 2 lists

pointer

Package pointer contains helper routines for simplifying the creation of optional fields of basic type.

In 2 lists

ptr

Package that provide functions for simplified creation of pointers from constants of basic types.

In 2 lists

rate

High-performance rate limiting library with token bucket and AIMD strategies.

In 2 lists

rclient

Readable, flexible, simple-to-use client for REST APIs.

In 2 lists

release

CLI for Keep-a-changelog formatted changelogs.

In 2 lists

relimpact

Fast API compatibility reports for Go projects.

remote-touchpad

Control mouse and keyboard from a smartphone.

In 2 lists

repeat

Go implementation of different backoff strategies useful for retrying operations and heartbeating.

In 2 lists

request

Go HTTP Requests for Humans™.

In 2 lists

rerun

Recompiling and rerunning go apps when source changes.

In 2 lists

rest-go

A package that provide many helpful methods for working with rest api.

In 2 lists

retro

Handy retry-on-error library with extensive flexibility (backoff strategies, caps, etc).

In 2 lists

retry

The most advanced functional mechanism to perform actions repetitively until successful.

In 2 lists

retry

A simple but highly configurable retry package for Go.

In 2 lists

retry

Simple and easy retry mechanism package for Go.

In 2 lists

retry

A pretty simple library to ensure your work to be done.

In 2 lists

retry-go

Simple library for retry mechanism.

In 3 lists

retry-go

Retrying made simple and easy for golang.

In 2 lists

robustly

Runs functions resiliently, catching and restarting panics.

In 2 lists

rospo

Simple and reliable ssh tunnels with embedded ssh server in Golang.

In 2 lists

scan

Scan golang sql.Rows directly to structs, slices, or primitive types.

In 2 lists

scan

Scan sql rows into any type powered by generics.

In 2 lists

scany

Library for scanning data from a database into Go structs and more.

In 2 lists

serve

A static http server anywhere you need.

In 2 lists

sesh

Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide.

In 3 lists

set

Performant and flexible struct mapping and loose type conversion.

In 2 lists

shutdown

App shutdown hooks for os.Signal handling.

In 2 lists

silk

Read silk netflow files.

In 2 lists

slice

Type-safe functions for common Go slice operations.

In 2 lists

sliceconv

Slice conversion between primitive types.

In 2 lists

slicer

Makes working with slices easier.

In 2 lists

sorty

Fast Concurrent / Parallel Sorting.

In 2 lists

sqlex

Drop-in modernization of jmoiron/sqlx with fixed SQL lexer bugs, automatic IN-clause expansion, pluggable hooks, and unified DB/Tx/Conn interfaces.

sqlx

provides a set of extensions on top of the excellent built-in database/sql package.

In 6 listsDetails

sqlz

Extension for the database/sql package, adding named queries, struct scanning, and batch operations.

In 2 lists

sshman

SSH Manager for authorized_keys files on multiple remote servers.

In 2 lists

stacktower

Visualize dependency graphs as physical tower structures, inspired by XKCD #2347.

statiks

Fast, zero-configuration, static HTTP filer server.

In 2 lists

Storm

Simple and powerful toolkit for BoltDB.

In 2 lists

structs

Implement simple functions to manipulate structs.

In 2 lists

throttle

Throttle is an object that will perform exactly one action per duration.

In 2 lists

tik

Simple and easy timing wheel package for Go.

In 2 lists

tome

Tome was designed to paginate simple RESTful APIs.

In 2 lists

toolbox

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

In 2 lists

UNIS

Common Architecture™ for String Utilities in Go.

In 2 lists

upterm

A tool for developers to share terminal/tmux sessions securely over the web. It’s perfect for remote pair programming, accessing computers behind NATs/firewalls, remote debugging, and more.

In 3 lists

usql

usql is a universal command-line interface for SQL databases.

In 2 lists

util

Collection of useful utility functions. (strings, concurrency, manipulations, ...).

In 2 lists

watchhttp

Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint.

In 2 lists

wifiqr

Wi-Fi QR Code Generator.

In 2 lists

wuzz

Interactive cli tool for HTTP inspection.

In 7 listsDetails

xferspdy

Xferspdy provides binary diff and patch library in golang.

In 2 lists

xpool

Yet another golang type safe object pool using generics.

In 2 lists

yogo

Check yopmail mails from command line.

In 2 lists

UUID

fastuuid

Fast generate UUIDv4 as string or bytes.

In 2 lists

goid

Generate and Parse RFC4122 compliant V4 UUIDs.

In 2 lists

gouid

Generate cryptographically secure random string IDs with just one allocation.

In 2 lists

guid

Fast cryptographically safe Guid generator for Go (~10x faster than uuid).

In 2 lists

nanoid

A tiny and efficient Go unique string ID generator.

In 2 lists

sno

Compact, sortable and fast unique IDs with embedded metadata.

In 2 lists

ulid

Go implementation of ULID (Universally Unique Lexicographically Sortable Identifier).

In 4 listsDetails

uniq

No hassle safe, fast unique identifiers with commands.

In 2 lists

uuid

Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier.

In 2 lists

uuid

Implementation of Universally Unique Identifier (UUID). Supports both creation and parsing of UUIDs. Actively maintained fork of satori uuid.

In 3 lists

uuid

Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.

In 4 listsDetails

uuidcheck

A tiny, dependency-free Go library that validates UUIDs against standard RFC 4122 formatting, converts UUIDv7() into UTC timestamps.

In 2 lists

wuid

An extremely fast globally unique number generator.

In 2 lists

xid

Xid is a globally unique id generator library, ready to be safely used directly in your server code.

In 3 lists

Validation

checkdigit

Provide check digit algorithms (Luhn, Verhoeff, Damm) and calculators (ISBN, EAN, JAN, UPC, etc.).

In 2 lists

checker

Zero-dependency input validation and in-place normalization with struct tags, 23 locales, and JSON Schema generation.

In 2 lists

go-validator

Validation library using Generics.

In 2 lists

gody

balloon: A lightweight struct validator for Go.

In 2 lists

govalid

Fast, tag-based validation for structs.

In 2 lists

govalidator

Validators and sanitizers for strings, numerics, slices and structs.

In 4 listsDetails

govalidator

Validate Golang request data with simple rules. Highly inspired by Laravel's request validation.

In 2 lists

govy

strongly-typed validation rules over functional interface, powered by generics and reflection free with heavy focus on crafting clear and information-rich error messages.

hvalid

hvalid is a lightweight validation library written in Go language. It provides a custom validator interface and a series of common validation functions to help developers quickly implement data validation.

In 2 lists

jio

jio is a json schema validator similar to joi.

In 2 lists

ozzo-validation

Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags.

In 4 listsDetails

validate

Go package for data validation and filtering. support validate Map, Struct, Request(Form, JSON, url.Values, Uploaded Files) data and more features.

In 2 lists

validate

This package provides a framework for writing validations for Go applications.

In 2 lists

validator

Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving.

In 4 listsDetails

Validator

A lightweight model validator written in Go.Contains VFs:Min, Max, MinLength, MaxLength, Length, Enum, Regex.

In 2 lists

valix

Go package for validating requests

In 2 lists

Zog

A Zod inspired schema builder for runtime value parsing and validation. ⬆ back to top

In 2 lists

Version Control

cli

An open-source GitLab command line tool bringing GitLab's cool features to your command line.

In 2 lists

froggit-go

Froggit-Go is a Go library, allowing to perform actions on VCS providers.

In 2 lists

ggc

A Git CLI tool with both traditional command-line and interactive incremental-search UI, workflow support, and configurable keybindings.

In 3 lists

git-courer

Local MCP server for Git operations using Ollama to save tokens and prevent secret leakage.

git2go

Go bindings for libgit2.

In 3 lists

githooks

Per-repo and shared Git hooks with version control and auto update.

In 2 lists

gitty

Single-binary Git/GitHub CLI that replaces add→commit→push with one command; human-readable syntax, no external dependencies.

In 2 lists

go-git

highly extensible Git implementation in pure Go.

In 4 listsDetails

go-vcs

manipulate and inspect VCS repositories in Go.

In 2 lists

hercules

gaining advanced insights from Git repository history.

In 3 lists

hgo

Hgo is a collection of Go packages providing read-access to local Mercurial repositories.

In 2 lists

Video

gmf

Go bindings for FFmpeg av* libraries.

In 3 lists

go-astiav

Better C bindings for ffmpeg in GO.

In 3 lists

go-astisub

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

In 3 lists

go-astits

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

In 3 lists

go-mpd

Parser and generator library for MPEG-DASH manifest files.

In 3 lists

goav

Comprehensive Go bindings for FFmpeg.

In 5 listsDetails

gortsplib

Pure Go RTSP server and client library.

In 3 lists

hls-m3u8

Parser and generator for HLS (M3U8) playlists; kept up to date with the spec.

In 3 lists

libvlc-go

Go bindings for libvlc 2.X/3.X/4.X (used by the VLC media player).

In 4 listsDetails

manifestor

Zero-dependency library for parsing, filtering, transforming, and building HLS and DASH manifests.

In 2 lists

mosaic

Predictable, production-ready Adaptive Bitrate (ABR) video packaging for Go (HLS & DASH CMAF).

mp4ff

Library and tools for working with MP4 files containing video, audio, subtitles, or metadata.

In 3 lists

mpeg-ts-analyzer

Analyzer for MPEG-2 Transport Streams that checks PCR timing compliance and dumps low-level TS, PSI, and PES structures.

v4l

Video capture library for Linux, written in Go.

In 2 lists

Web Frameworks

aichteeteapee

Batteries-included HTTP server library with a router, middleware stack, WebSocket hubs, file uploads, and OpenAPI validation.

Andurel

Rails-inspired full-stack Go web framework with scaffolding, database tooling, and server-rendered or Inertia frontends.

Atreugo

High performance and extensible micro web framework with zero memory allocations in hot paths.

In 2 lists

Barf

Basically, A Remarkable Framework for building JSON-based web APIs. It is entirely unobtrusive and re-invents no wheel. It is crafted such that getting started is easy and quick while being flexible enough for more complex use cases.

In 2 lists

Beego

beego is an open-source, high-performance web framework for the Go programming language.

In 4 listsDetails

Confetti Framework

Confetti is a Go web application framework with an expressive, elegant syntax. Confetti combines the elegance of Laravel and the simplicity of Go.

In 2 lists

Don

A highly performant and simple to use API framework.

In 2 lists

doors

Server-driven framework for building stateful, reactive web applications entirely in Go.

Echo

High performance, minimalist Go web framework.

In 4 listsDetails

Fastschema

A flexible Go web framework and Headless CMS.

In 2 lists

Fiber

An Express.js inspired web framework build on Fasthttp.

In 8 listsDetails

Flamingo

Framework for pluggable web projects. Including a concept for modules and offering features for DI, Configareas, i18n, template engines, graphql, observability, security, events, routing & reverse routing etc.

In 2 lists

Flamingo Commerce

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

In 2 lists

Fuego

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

In 2 lists

Gin

Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity.

In 6 listsDetails

Ginrpc

Gin parameter automatic binding tool,gin rpc tools.

In 2 lists

go-api-boot

A gRpc-first micro-service framework. Features include ODM support for Mongo, cloud resource support (AWS/Azure/Google), and a fluent dependency injection which is customized for gRpc. Additionally, grpc-web is supported directly, enabling browser access to all gRpc APIs without a proxy.

In 2 lists

Goa

Goa provides a holistic approach for developing remote APIs and microservices in Go.

In 5 listsDetails

GoFr

Gofr is an opinionated microservice development framework.

In 4 listsDetails

GoFrame

GoFrame is a modular, powerful, high-performance and enterprise-class application development framework of Golang.

In 4 listsDetails

Gone

A lightweight dependency injection and web framework inspired by Spring.

In 2 lists

goravel

A Laravel-inspired web framework with ORM, authentication, queue, task scheduling, and more built-in features.

In 3 lists

Goshtoso

Server-rendered UI components for Go applications, built with templ, Tailwind CSS, HTMX, and Alpine.js.

Goyave

Feature-complete REST API framework aimed at clean code and fast development, with powerful built-in functionalities.

In 2 lists

Hertz

A high-performance and strong-extensibility Go HTTP framework that helps developers build microservices.

In 3 lists

hiboot cli

cli application framework with auto configuration and dependency injection.

In 3 lists

httpsuite

HTTP request parsing and RFC 9457 problem responses for Go, with a stdlib-only core and optional validation.

Huma

Framework for modern REST/GraphQL APIs with built-in OpenAPI 3, generated documentation, and a CLI.

In 2 lists

iWF

iWF is an all-in-one platform for developing long-running business processes. It offers a convenient abstraction for utilizing databases, ElasticSearch, message queues, durable timers, and more, with a clean, simple, and user-friendly interface.

In 2 lists

Lit

Highly performant declarative web framework for Golang, aiming for simplicity and quality of life.

In 2 lists

Microservice

The framework for the creation of microservices, written in Golang.

In 2 lists

NotNet

A lightweight Go framework for building fast, ergonomic RESTful APIs with middleware and flexible routing.

patron

Patron is a microservice framework following best cloud practices with a focus on productivity.

In 2 lists

Pnutmux

Pnutmux is a powerful Go web framework that uses regex for matching and handling HTTP requests. It offers features such as CORS handling, structured logging, URL parameters extraction, middlewares, and concurrency limiting.

In 2 lists

Revel

High-productivity web framework for the Go language.

In 5 listsDetails

rk-boot

A bootstrapper library for building enterprise go microservice with Gin and gRPC quickly and easily.

In 3 lists

Ronykit

Web framework with pluggable architecture and very performant.

In 2 lists

rux

Simple and fast web framework for build golang HTTP applications.

In 2 lists

templui

Modern UI Components for Go & Templ.

In 2 lists

togo

Full-stack framework that ships your Go backend and React frontend as a single binary; a Laravel-artisan-grade CLI.

uAdmin

Fully featured web framework for Golang, inspired by Django.

In 2 lists

WebGo

A micro-framework to build web apps with handler chaining, middleware, and context injection. With standard library-compliant HTTP handlers (i.e., http.HandlerFunc)..

In 2 lists

Xun

Web framework built on Go's built-in html/template and net/http package’s router. It is designed to be lightweight, fast, and easy to use while providing a simple and intuitive API for building web applications with advanced features such as middleware, routing, and template rendering.

In 2 lists

Yokai

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

In 2 lists

Web Frameworks >Middlewares

client-timing

An HTTP client for Server-Timing header.

In 2 lists

CORS

Easily add CORS capabilities to your API.

In 4 listsDetails

echo-middleware

Middleware for Echo framework with logging and metrics.

In 2 lists

formjson

Transparently handle JSON input as a standard form POST.

In 2 lists

go-fault

Fault injection middleware for Go.

In 4 listsDetails

Limiter

Dead simple rate limit middleware for Go.

In 3 lists

ln-paywall

Go middleware for monetizing APIs on a per-request basis with the Lightning Network (Bitcoin).

In 2 lists

mid

Miscellaneous HTTP middleware features: idiomatic error return from handlers; receive/respond with JSON data; request tracing; and more.

In 2 lists

rk-gin

Middleware for Gin framework with logging, metrics, auth, tracing etc.

In 2 lists

rk-grpc

Middleware for gRPC with logging, metrics, auth, tracing etc.

In 3 lists

Tollbooth

Rate limit HTTP request handler.

In 3 lists

XFF

Handle X-Forwarded-For header and friends.

In 2 lists

alice

Painless middleware chaining for Go.

In 2 lists

catena

http.Handler wrapper catenation (same API as "chain").

chain

Handler wrapper chaining with scoped data (net/context-based "middleware").

gores

Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs.

interpose

Minimalist net/http middleware for golang.

mediary

add interceptors to http.Client to allow dumping/shaping/tracing/... of requests/responses.

muxchain

Lightweight middleware for net/http.

negroni

Idiomatic HTTP middleware for Golang.

In 5 listsDetails

render

Go package for easily rendering JSON, XML, and HTML template responses.

renderer

Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go.

stats

Go middleware that stores various information about your web application.

Web Frameworks >Routers

alien

Lightweight and fast http router from outer space.

bellt

A simple Go HTTP router.

Bone

Lightning Fast HTTP Multiplexer.

Bxog

Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters.

chi

Small, fast and expressive HTTP router built on net/context.

In 4 listsDetails

fasthttprouter

High performance router forked from httprouter. The first router fit for fasthttp.

FastRouter

a fast, flexible HTTP router written in Go.

Fox

A high-performance HTTP router for building reverse proxies and API gateways, with first-class support for mutating routes at runtime.

fursy

HTTP router with type-safe generic handlers, automatic OpenAPI 3.1 generation from code, and RFC 9457 error responses.

goblin

A golang http router based on trie tree.

gocraft/web

Mux and middleware package in Go.

In 2 lists

Goji

Goji is a minimalistic and flexible HTTP request multiplexer with support for net/context.

GoLobby/Router

GoLobby Router is a lightweight yet powerful HTTP router for the Go programming language.

goroute

Simple yet powerful HTTP request multiplexer.

GoRouter

GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting net/context.

gowww/router

Lightning fast HTTP router fully compatible with the net/http.Handler interface.

httprouter

High performance router. Use this and the standard http handlers to form a very high performance web framework.

In 3 lists

httptreemux

High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter.

lars

Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks.

mux

Powerful URL router and dispatcher for golang.

In 3 lists

nchi

chi-like router built on httprouter with dependency injection based middleware wrappers

ngamux

Simple HTTP router for Go.

ozzo-routing

An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs.

pure

Is a lightweight HTTP router that sticks to the std "net/http" implementation.

Siesta

Composable framework to write middleware and handlers.

vestigo

Performant, stand-alone, HTTP compliant URL Router for go web applications.

violetear

Go HTTP router.

xmux

High performance muxer based on httprouter with net/context support.

xujiajun/gorouter

A simple and fast HTTP router for Go.

WebAssembly

dom

DOM library.

Extism Go SDK

Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps.

go-canvas

Library to use HTML5 Canvas, with all drawing within go code.

tinygo

Go compiler for small places. Microcontrollers, WebAssembly, and command-line tools. Based on LLVM.

In 5 listsDetails

vert

Interop between Go and JS values.

wasmbrowsertest

Run Go WASM tests in your browser.

webapi

Bindings for DOM and HTML generated from WebIDL.

Webhooks Server

HookRun

Lightweight webhook action engine (~3MB single binary, zero deps) that executes commands and scripts from YAML rules with token/HMAC/IP auth and hot reload.

webhook

Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.

In 4 listsDetails

webhooked

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

WebhookX

A webhooks gateway for message receiving, processing, and reliable delivering.

Windows

d3d9

Go bindings for Direct3D9.

go-ole

Win32 OLE implementation for golang.

gosddl

Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.

windowsupdate

A Golang binding for Windows Update Agent API using go-ole.

Workflow Frameworks

Cadence-client

A framework for authoring workflows and activities running on top of the Cadence orchestration engine made by Uber.

Dagu

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

durable-go

Durable execution engine for single-process Go apps and AI agents, with zero dependencies.

Flowbaker

Self-hosted execution engine for building, connecting, and automating no-code workflows.

go-dag

A framework developed in Go that manages the execution of workflows described by directed acyclic graphs.

go-taskflow

A taskflow-like General-purpose Task-parallel Programming Framework with integrated visualizer and profiler.

GopherFlow

Durable workflow engine with a built-in web console, backed by Postgres, MySQL or SQLite.

workflow

A tech stack agnostic Event Driven Workflow framework.

XML

XML-Comp

Simple command line XML comparer that generates diffs of folders, files and tags.

xml2map

XML to MAP converter written Golang.

xmlquery

xmlquery is Golang XPath package for XML query.

In 2 lists

xmlwriter

Procedural XML generation API based on libxml2's xmlwriter module.

xpath

XPath package for Go.

In 2 lists

zek

Generate a Go struct from XML.

Zero Trust

Cosign

Container Signing, Verification and Storage in an OCI registry.

In 6 listsDetails

in-toto

Go implementation of the in-toto (provides a framework to protect the integrity of the software supply chain) python reference implementation.

OpenZiti

A full, open source zero trust overlay network. Including numerous SDKs for numerous languages such as golang allowing you to embed zero trust principles directly into your applications. The OpenZiti Test Kitchen has numerous examples to draw inspiration from including a zero trust ssh client - zssh

In 2 lists

Spiffe-Vault

Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication.

Spire

SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms.

In 2 lists

Code Analysis

apicompat

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

In 2 lists

ast-metrics

Static code analyzer for Go and other languages: complexity, coupling, cohesion and maintainability metrics, with HTML, JSON, Markdown and SARIF reports.

asty

Converts golang AST to JSON and JSON to AST.

blanket

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

ChainJacking

Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack.

In 2 lists

Chronos

Detects race conditions statically

In 2 lists

deadmono

Wrapper around deadcode for detection of dead code in Go monorepo.

dupl

Tool for code clone detection.

In 3 lists

errcheck

Errcheck is a program for checking for unchecked errors in Go programs.

In 6 listsDetails

fatcontext

Fatcontext detects nested contexts in loops or function literals.

go-checkstyle

checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style referred to some points in Go Code Review Comments.

In 2 lists

go-cleanarch

go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.

In 3 lists

go-critic

source code linter that brings checks that are currently not implemented in other linters.

In 4 listsDetails

go-mod-outdated

An easy way to find outdated dependencies of your Go projects.

goast-viewer

Web based Golang AST visualizer.

goimports

Tool to fix (add, remove) your Go imports automatically.

In 2 lists

golang-ifood-sdk

iFood API SDK.

golangci-lint

A fast Go linters runner. It runs linters in parallel, uses caching, supports yaml config, has integrations with all major IDE and has dozens of linters included.

In 5 listsDetails

golines

Formatter that automatically shortens long lines in Go code.

gomarklint

Markdown linter with built-in HTTP link validation, single binary, no Node.js required.

GoPlantUML

Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.

In 2 lists

goreturns

Adds zero-value return statements to match the func return types.

gostatus

Command line tool, shows the status of repositories that contain Go packages.

lint

Run linters as part of go test.

In 2 lists

php-parser

A Parser for PHP written in Go.

In 2 lists

revive

~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint.

In 4 listsDetails

staticcheck

staticcheck is go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#.

In 5 listsDetails

structalign

Shows how a struct's fields could be reordered to use less memory, printing a diff instead of rewriting files.

stto

A light-weight superfast line of code counter written in pure Go.

testifylint

A linter that checks usage of github.com/stretchr/testify.

tickgit

CLI and go package for surfacing code comment TODOs (in any language) and applying a git blameto identify the author.

todocheck

Static code analyser which links TODO comments in code with issues in your issue tracker.

In 3 lists

unconvert

Remove unnecessary type conversions from Go source.

In 3 lists

usestdlibvars

A linter that detect the possibility to use variables/constants from the Go standard library.

vacuum

An ultra-super-fast, lightweight OpenAPI linter and quality checking tool.

In 2 lists

validate

Automatically validates struct fields with tags.

wrapcheck

A linter to check that errors from external packages are wrapped.

Editor Plugins

coc-go language server extension for Vim/Neovim

This plugin adds gopls features to Vim/Neovim.

Go Doc

A Visual Studio Code extension for showing definition in output and generating go doc.

Go plugin for JetBrains IDEs

Go plugin for JetBrains IDEs.

go-mode

Go mode for GNU/Emacs.

gocode

Autocompletion daemon for the Go programming language.

In 2 lists

goimports-reviser

Formatting tool for imports.

goprofiling

This extension adds benchmark profiling support for the Go language to VS Code.

GoSublime

Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features.

In 2 lists

gounit-vim

Vim plugin for generating Go tests based on the function's or method's signature.

vim-compiler-go

Vim plugin to highlight syntax errors on save.

vim-go

Go development plugin for Vim.

In 2 lists

vscode-go

Extension for Visual Studio Code (VS Code) which provides support for the Go language.

Watch

Runs a command in an acme win on file changes.

Go Generate Tools

envdoc

generate documentation for environment variables from Go source files.

generic

flexible data type for Go.

gocontracts

brings design-by-contract to Go by synchronizing the code with the documentation.

godal

Generate orm models corresponding to golang by specifying sql ddl file, which can be used by gorm.

gonerics

Idiomatic Generics in Go.

gotests

Generate Go tests from your source code.

In 3 lists

gounit

Generate Go tests using your own templates.

hasgo

Generate Haskell inspired functions for your slices.

oapixconstgen

Generate typed Go constants from an OpenAPI spec's x-constants extension.

options-gen

Functional options described by Dave Cheney's post "Functional options for friendly APIs".

re2dfa

Transform regular expressions into finite state machines and output Go source code.

sqlgen

Generate gorm, xorm, sqlx, bun, sql code from SQL file or DSN.

TOML-to-Go

Translates TOML into a Go type in the browser instantly.

xgen

XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.

Go Tools

decouple

Find “overspecified” function parameters that could be generalized with interface types.

docs

Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard.

go-callvis

Visualize call graph of your Go program using dot format.

In 2 lists

go-size-analyzer

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

go-swagger

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

In 3 lists

go-template-playground

An interactive environment to create and test Go templates.

godbg

Implementation of Rusts dbg! macro for quick and easy debugging during development.

gofindimpl

Find all structs that implement a given Go interface across a codebase.

gomodrun

Go tool that executes and caches binaries included in go.mod files.

gotemplate.io

Online tool to preview text/template templates live.

In 2 lists

gotestdox

Show Go test results as readable sentences.

gothanks

GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.

gotutor

Online Go Debugger & Visualizer.

govisual

Zero-config, pure-Go HTTP request visualizer & debugger for local Go web development.

igo

An igo to go transpiler (new language features for Go language!)

lensm

Go assembly and source viewer.

In 3 lists

modver

Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to semver rules.

MoniGO

A performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀

OctoLinker

Navigate through go files efficiently with the OctoLinker browser extension for GitHub.

In 5 listsDetails

richgo

Enrich go test outputs with text decorations.

roumon

Monitor current state of all active goroutines via a command line interface.

rts

RTS: response to struct. Generates Go structs from server responses.

textra

Extract Go struct field names, types and tags for filtering and exporting.

typex

Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.

Software Packages >DevOps Tools

abbreviate

abbreviate is a tool turning long strings in to shorter ones with configurable separators, for example to embed branch names in to deployment stack IDs.

alaz

Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring.

aptly

aptly is a Debian repository management tool.

In 3 lists

aurora

Cross-platform web-based Beanstalkd queue server console.

aws-doctor

Diagnose AWS costs, detect idle resources, and optimize cloud spending directly from your terminal 🩺 ☁️.

awsenv

Small binary that loads Amazon (AWS) environment variables for a profile.

Balerter

A self-hosted script-based alerting manager.

Blast

A simple tool for API load testing and batch jobs.

bombardier

Fast cross-platform HTTP benchmarking tool.

In 4 listsDetails

cassowary

Modern cross-platform HTTP load-testing tool written in Go.

In 2 lists

chaosmonkey

A resiliency tool that helps applications tolerate random instance failures.

In 6 listsDetails

colima

Container runtimes on macOS (and Linux) with minimal setup.

In 5 listsDetails

Ddosify

High-performance load testing tool, written in Golang.

In 3 lists

decompose

tool to generate and process Docker containers connections graphs.

In 4 listsDetails

Den

Self-hosted sandbox runtime for AI agents. Open-source E2B alternative.

In 3 lists

DepCharge

Helps orchestrating the execution of commands across the many dependencies in larger projects.

dish

A lightweight, remotely configurable monitoring service.

In 2 lists

Docker

Open platform for distributed applications for developers and sysadmins.

In 18 listsDetails

docker-go-mingw

Docker image for building Go binaries for Windows with MinGW toolchain.

docker-volume-backup

Backup Docker volumes locally or to any S3, WebDAV, Azure Blob Storage, Dropbox or SSH compatible storage.

In 2 lists

Dockerfile-Generator

A go library and an executable that produces valid Dockerfiles using various input channels.

In 2 lists

docklite

Lightweight Portainer alternative for Docker container management with real-time SSE metrics.

dogo

Monitoring changes in the source file and automatically compile and run (restart).

drone-jenkins

Trigger downstream Jenkins jobs using a binary, docker or Drone CI.

drone-scp

Copy files and artifacts via SSH using a binary, docker or Drone CI.

Dropship

Tool for deploying code via cdn.

easyssh-proxy

Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand.

fac

Command-line user interface to fix git merge conflicts.

In 3 lists

Flannel

Flannel is a network fabric for containers, designed for Kubernetes.

In 2 lists

Fleet device management

Lightweight, programmable telemetry for servers and workstations.

In 4 listsDetails

gaia

Build powerful pipelines in any programming language.

In 2 lists

ghorg

Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket.

Gitea

Fork of Gogs, entirely community driven.

In 9 listsDetails

gitea-github-migrator

Migrate all your GitHub repositories, issues, milestones and labels to your Gitea instance.

gitl

AI review of git commit ranges with risk scoring (low/medium/high), changelog generation, and multi-repo activity digest. GitHub Action included.

go-furnace

Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.

go-rocket-update

A simple way to make self updating Go applications - Supports Github and Gitlab.

go-selfupdate

Enable your Go applications to self update.

gobrew

gobrew lets you easily switch between multiple versions of go.

gobrew

Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash.

godbg

Web-based gdb front-end application.

Gogs

A Self Hosted Git Service in the Go Programming Language.

In 8 listsDetails

goma-gateway

A Lightweight API Gateway and Reverse Proxy with declarative config, robust middleware, and support for REST, GraphQL, TCP, UDP, and gRPC.

gonative

Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.

govvv

“go build” wrapper to easily add version information into Go binaries.

grapes

Lightweight tool designed to distribute commands over ssh with ease.

GVM

GVM provides an interface to manage Go versions.

In 3 lists

Hey

Hey is a tiny program that sends some load to a web application.

In 6 listsDetails

httpref

httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports.

jcli

Jenkins CLI allows you manage your Jenkins as an easy way.

k0s

Zero Friction Kubernetes distribution.

In 5 listsDetails

k3d

Little helper to run CNCF's k3s in Docker.

In 2 lists

k3s

Lightweight Kubernetes.

In 3 lists

k6

A modern load testing tool, using Go and JavaScript.

In 7 listsDetails

k9s

Kubernetes CLI to manage your clusters in style.

In 6 listsDetails

kala

Simplistic, modern, and performant job scheduler.

In 2 lists

kcli

Command line tool for inspecting kafka topics/partitions/messages.

kepfi

A smart alternative to rm with a recovery bin and storage tracking.

kind

Kubernetes IN Docker - local clusters for testing Kubernetes.

In 4 listsDetails

ko

Command line tool for building and deploying Go applications on Kubernetes

kool

Command line tool for managing Docker environments as an easy way.

In 3 lists

kubeblocks

KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s.

In 2 lists

kubefwd

Bulk Kubernetes port forwarding with unique IPs per service for local development.

In 3 lists

kubernetes

Container Cluster Manager from Google.

In 9 listsDetails

kubeshark

API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes.

In 4 listsDetails

KubeVela

Cloud native application delivery.

In 3 lists

KubeVPN

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

KusionStack

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

In 3 lists

kwatch

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

lstags

Tool and API to sync Docker images across different registries.

In 2 lists

lwc

A live-updating version of the UNIX wc command.

manssh

manssh is a command line tool for managing your ssh alias config easily.

In 2 lists

Mantil

Go specific framework for building serverless applications on AWS that enables you to focus on pure Go code while Mantil takes care of the infrastructure.

minikube

Run Kubernetes locally.

In 4 listsDetails

Moby

Collaborative project for the container ecosystem to assemble container-based systems.

In 9 listsDetails

Mora

REST server for accessing MongoDB documents and meta data.

mq-studio

Cross-platform desktop client for managing and monitoring RocketMQ, RabbitMQ, Kafka, Pulsar, Redis Stream, MQTT, NATS, and ActiveMQ clusters.

ostent

collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.

In 2 lists

Packer

Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

In 2 lists

Pewpew

Flexible HTTP command line stress tester.

In 2 lists

pingtower

Lightweight self-hosted uptime monitor for websites and APIs.

PipeCD

A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications.

In 3 lists

podinfo

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.

In 2 lists

podman-tui

Terminal UI for Podman management.

In 2 lists

Pomerium

Pomerium is an identity-aware access proxy.

In 6 listsDetails

Rodent

Rodent helps you manage Go versions, projects and track dependencies.

s3-proxy

S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth).

s3gof3r

Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.

In 2 lists

s5cmd

Blazing fast S3 and local filesystem execution tool.

In 4 listsDetails

Scaleway-cli

Manage BareMetal Servers from Command Line (as easily as with Docker).

script

Making it easy to write shell-like scripts in Go for DevOps and system administration tasks.

In 4 listsDetails

sg

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.

sigma

OCI-native container image registry, support OCI-native artifact, scan artifact, image build etc.

In 2 lists

skm

SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!

sortie

Turn tracker tickets into autonomous coding agent sessions.

In 2 lists

StatusOK

Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.

In 2 lists

tau

Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging.

In 3 lists

terraform-provider-openapi

Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.

tf-profile

Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations.

In 2 lists

tickstem/uptime

Go client for HTTP uptime monitoring with SSL expiry alerts and configurable response assertions.

tlm

Local cli copilot, powered by CodeLLaMa

traefik

Reverse proxy and load balancer with support for multiple backends.

In 5 listsDetails

trubka

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.

Updatecli

A universal declarative update policy engine.

In 2 lists

uTask

Automation engine that models and executes business processes declared in yaml.

In 4 listsDetails

Vegeta

HTTP load testing tool and library. It's over 9000!

In 5 listsDetails

wait-for

Wait for something to happen (from the command line) before continuing. Easy orchestration of Docker services and other things.

Wide

Web-based IDE for Teams using Golang.

winrm-cli

Cli tool to remotely execute commands on Windows machines.

zerohand

A simple and efficient load testing tool for Web APIs.

Software Packages >Other Software

Backrest

Web-based UI and orchestrator for restic backup.

Better Go Playground

Go playground with syntax highlight, code completion and other features.

In 2 lists

blocky

Fast and lightweight DNS proxy as ad-blocker for local network with many features.

In 6 listsDetails

bluetuith

TUI Bluetooth manager for Linux.

borg

Terminal based search engine for bash snippets.

boxed

Dropbox based blog engine.

Chapar

Chapar is a cross-platform Postman alternative built with go, aims to help developers to test their api endpoints. it support http and grpc protocols.

Cherry

Tiny webchat server in Go.

In 2 lists

chicha-isotope-map

Self-hosted public radiation map for importing, analyzing, and visualizing measurement tracks.

Circuit

Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.

Comcast

Simulate bad network connections.

In 3 lists

confd

Manage local application configuration files using templates and data from etcd or consul.

In 4 listsDetails

crawley

Web scraper/crawler for cli.

In 4 listsDetails

croc

Easily and securely send files or folders from one computer to another.

In 8 listsDetails

CrunchyCleaner

A lightweight, software cache cleanup tool for Windows & Linux.

In 2 lists

dispositio

Terminal tool for planning large projects in simple markdown.

Documize

Modern wiki software that integrates data from SaaS tools.

In 3 lists

dp

Through SDK for data exchange with blockchain, developers can get easy access to DAPP development.

drive

Google Drive client for the commandline.

Duplicacy

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

In 5 listsDetails

fjira

A fuzzy-search based terminal UI application for Attlasian Jira

In 3 lists

Gebug

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

In 3 lists

gfile

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

Go Package Store

App that displays updates for the Go packages in your GOPATH.

go-peerflix

Video streaming torrent client.

goblin

Cloud builder for CLI's written in go lang

GoBoy

Nintendo Game Boy Color emulator written in Go.

In 2 lists

gocc

Gocc is a compiler kit for Go written in Go.

In 2 lists

GoDocTooltip

Chrome extension for Go Doc sites, which shows function description as tooltip at function list.

Gokapi

Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload.

In 4 listsDetails

GoLand

Full featured cross-platform Go IDE.

In 4 listsDetails

GoNB

Interactive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab).

GooseForum

Self-hosted forum platform built with Go, Vue, and Tailwind CSS.

Gor

Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.

In 2 lists

Guora

A self-hosted Quora like web application written in Go.

GURL

When CURL says your SSL library is too old — use GURL. One file. Zero SSL dependencies.

hoofli

Generate PlantUML diagrams from Chrome or Firefox network inspections.

hotswap

A complete solution to reload your go code without restarting your server, interrupting or blocking any ongoing procedure.

hugo

Fast and Modern Static Website Engine.

In 8 listsDetails

ide

Browser accessible IDE. Designed for Go with Go.

joincap

Command-line utility for merging multiple pcap files together.

JuiceFS

Distributed POSIX file system built on top of Redis and AWS S3.

In 9 listsDetails

Juju

Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more.

KeibiDrop

On-demand peer-to-peer filesystem that mounts a remote folder and hides link latency with read-ahead, end-to-end encrypted with hybrid X25519 and ML-KEM-1024.

Layli

Draw pretty layout diagrams as code.

Leaps

Pair programming service using Operational Transforms.

lgo

Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.

In 2 lists

LightCMS

Self-hosted content management system with static page generation, role-based access control, and an MCP server for agent-driven content operations.

In 2 lists

limetext

Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text.

LiteIDE

LiteIDE is a simple, open source, cross-platform Go IDE.

In 2 lists

mac-cleanup-go

Preview-first TUI for cleaning macOS caches, logs, and temporary files.

mdv

CLI tool that renders Markdown files in the browser with live reload, GFM, syntax highlighting, Mermaid diagrams, and PDF export.

mockingjay

Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.

myLG

Command Line Network Diagnostic tool written in Go.

naclpipe

Simple NaCL EC25519 based crypto pipe tool written in Go.

Neo-cowsay

🐮 cowsay is reborn. for a New Era.

nes

Nintendo Entertainment System (NES) emulator written in Go.

In 2 lists

onWatch

Monitor AI API quotas across providers locally with historical tracking, alerts, and a web dashboard to avoid surprise throttling and budget overruns.

In 6 listsDetails

Orbit

A simple tool for running commands and generating files from templates.

peg

Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.

Plakar

An encrypted, deduplicated, verifiable, and scalable backup engine with no vendor lock-in.

In 2 lists

Plik

Plik is a temporary file upload system (Wetransfer like) in Go.

In 5 listsDetails

portal

Portal is a quick and easy command-line file transfer utility from any computer to another.

In 3 lists

restic

De-duplicating backup program.

In 6 listsDetails

sake

sake is a command runner for local and remote hosts.

In 2 lists

scc

Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.

In 4 listsDetails

ScheduleGate

DCMA 14-point schedule assessment CLI for MS Project Excel/CSV exports.

Seaweed File System

Fast, Simple and Scalable Distributed File System with O(1) disk seek.

In 6 listsDetails

shell2http

Executing shell commands via http server (for prototyping or remote control).

In 5 listsDetails

Snitch

Simple way to notify your team and many tools when someone has deployed any application via Tsuru.

sonic

Sonic is a Go Blogging Platform. Simple and Powerful.

spotify-screensaver

Desktop screensaver for Spotify with digital OLED clock, canvas audio visualizer, and MPRIS controls.

Stack Up

Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.

stew

An independent package manager for compiled binaries.

In 2 lists

syncthing

Open, decentralized file synchronization tool and protocol.

In 7 listsDetails

tcpdog

eBPF based TCP observability.

In 2 lists

tinycare-tui

Small terminal app that shows git commits from the last 24 hours and week, current weather, some self care advice, a joke, and you current todo list tasks.

tldx

Bulk domain availability checker using RDAP, DNS, and WHOIS fallback with keyword permutation generation.

In 3 lists

toxiproxy

Proxy to simulate network and system conditions for automated tests.

In 6 listsDetails

tsuru

Extensible and open source Platform as a Service software.

In 2 lists

vaku

CLI & API for folder-based functions in Vault like copy, move, and search.

vFlow

High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.

untis-go

Fast, native WebUntis desktop client for students and teachers. Sidebar navigation, timetables, homework, absences & messages. AES-256-GCM encrypted credentials, SQLite cache-first, random port security.

Wave Terminal

Wave is an open-source, AI-native terminal built for seamless developer workflows with inline rendering, a modern UI, and persistent sessions.

wellington

Sass project management tool, extends the language with sprite functions (like Compass).

woke

Detect non-inclusive language in your source code.

In 2 lists

yai

AI powered terminal assistant.

In 4 listsDetails

zs

an extremely minimal static site generator.

In 2 lists

Benchmarks

autobench

Framework to compare the performance between different Go versions.

go-benchmark-app

Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.

go-benchmarks

Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.

go-http-routing-benchmark

Go HTTP request router benchmark and comparison.

go-json-benchmark

Go JSON benchmark.

go-ml-benchmarks

benchmarks for machine learning inference in Go.

In 2 lists

go-web-framework-benchmark

Go web framework benchmark.

In 4 listsDetails

go_serialization_benchmarks

Benchmarks of Go serialization methods.

gocostmodel

Benchmarks of common basic operations for the Go language.

golang-benchmarks

a collection of golang benchmarks.

gospeed

Go micro-benchmarks for calculating the speed of language constructs.

kvbench

Key/Value database benchmark.

skynet

Skynet 1M threads microbenchmark.

speedtest-resize

Compare various Image resize algorithms for the Go language.

vizb

A CLI tool to visualize Go benchmark data in 4D.

Conferences

GoCon

Tokyo, Japan.

GoDays

Berlin, Germany.

GoLab

Florence, Italy.

GopherCon

Varied Locations Each Year, USA.

GopherCon Africa

Nairobi, Kenya.

GopherCon Australia

Sydney, Australia.

GopherCon Brazil

Florianópolis, Brazil.

GopherCon China

Shanghai, China.

GopherCon Europe

Berlin, Germany.

GopherCon India

Pune, India.

GopherCon Israel

Tel Aviv, Israel.

GopherCon Russia

Moscow, Russia.

GopherCon Singapore

Mapletree Business City, Singapore.

GopherCon UK

London, UK.

GopherCon Vietnam

Ho Chi Minh City, Vietnam.

GoWest Conference

Lehi, USA.

E-Books >E-books for purchase

100 Go Mistakes: How to Avoid Them

Black Hat Go

Go programming for hackers and pentesters.

Build an Orchestrator in Go

Continuous Delivery in Go

This practical guide to continuous delivery shows you how to rapidly establish an automated pipeline that will improve your testing, code quality, and final product.

In 2 lists

Creative DIY Microcontroller Project With TinyGo and WebAssembly

An introduction into the TinyGo compiler with projects involving Arduino and WebAssembly.

Effective Go: Elegant, efficient, and testable code

Unlock Go’s unique perspective on program design, and start writing simple, maintainable, and testable Go code.

For the Love of Go

An introductory book for Go beginners.

Go in Practice, Second Edition

Your practical guide on the ins-and-outs of Go development, covering the standard library and the most important tools from Go’s powerful ecosystem.

Know Go: Generics

A guide to understanding and using generics in Go.

Lets-Go

A step-by-step guide to creating fast, secure and maintanable web applications with Go.

Lets-Go-Further

Advanced patterns for building APIs and web applications in Go.

The Power of Go: Tests

A guide to testing in Go.

The Power of Go: Tools

A guide to writing command-line tools in Go.

Writing A Compiler In Go

Writing An Interpreter In Go

Book that introduces dozens of techniques for writing idiomatic, expressive, and efficient Go code that avoids common pitfalls.

E-Books >Free e-books

A Go Developer's Notebook

An Introduction to Programming in Go

Build a blockchain from scratch in Go with gRPC

The foundational and practical guide for effectively learning and progressively building a blockchain from scratch in Go with gRPC.

Build Web Application with Golang

Building Web Apps With Go

Go 101

A book focusing on Go syntax/semantics and all kinds of details.

In 3 lists

Go AST Book (Chinese)

A book focusing on Go go/* packages.

In 5 listsDetails

Go Faster

This book seeks to shorten your learning curve and help you become a proficient Go programmer, faster.

Go Succinctly

in Persian.

Go with the domain

A book showing how to apply DDD, Clean Architecture, and CQRS by practical refactoring.

GoBooks

A curated list of Go books.

In 4 listsDetails

How To Code in Go eBook

A 600 page introduction to Go aimed at first time developers.

Learning Go

Network Programming With Go

Practical Go Lessons

by Maximilien Andile

In 2 lists

Spaceship Go A Journey to the Standard Library

The Go Programming Language

The Golang Standard Library by Example (Chinese)

Golang标准库。对于程序员而言,标准库与语言本身同样重要,它好比一个百宝箱,能为各种常见的任务提供完美的解决方案。以示例驱动的方式讲解Golang的标准库。

In 3 lists

The Little Go Book

(中文版)

In 2 lists

Web Application with Go the Anti-Textbook

Learn how to write webapps without a framework in Go.

In 2 lists

Gophers

Free Gophers Pack

Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.

In 2 lists

Go-gopher-Vector

Go gopher Vector Data [.ai, .svg].

gopher-logos

adorable gopher logos.

gopher-stickers

gophericons

gopherize.me

Gopherize yourself.

gophers

Gopher artworks by Ashley McNamara.

In 2 lists

gophers

Free gophers.

In 3 lists

gophers

random gopher graphics.

gophers

Gopher amigurumi toy pattern.

gophers

Gophers by Aurélie Vache.

Meetups

Basel Go Meetup

Belfast Gophers

Belgrade Golang Meetup

Berlin Golang

Brisbane Gophers

Bärner Go Meetup - Berne, Switzerland

Go Ireland - Dublin

Go Language NYC

Go London User Group

Go Remote Meetup

Go Toronto

Go User Group Atlanta

GoBandung

GoBridge, San Francisco, CA

GoCracow - Krakow, Poland

GoJakarta

Golang Amsterdam

Golang Argentina

Golang Athens

Golang Baltimore, MD

Golang Bangalore

Golang Belo Horizonte - Brazil

Golang Boston

Golang Bulgaria

Golang Cardiff, UK

Golang Copenhagen

Golang Curitiba - Brazil

Golang DC, Arlington, VA

Golang Dorset, UK

Golang Estonia

Golang Gurgaon, India

Golang Hamburg - Germany

Golang Israel

Golang Kathmandu

Golang Lima - Peru

Golang Lyon

Golang Marseille

Golang Melbourne

Golang Milano

Golang North East

Golang Paris

Golang Poland

Golang Pune

Golang Roma

Golang Rotterdam

Golang Singapore

Golang Stockholm

Golang Sydney, AU

Golang São Paulo - Brazil

Golang Taipei

Golang Thessaloniki

Golang Torino

Golang Turkey

Golang Vancouver, BC

Golang Vienna, Austria

Golang Москва

GoSF - San Francisco, CA

Istanbul Golang

Lagos Gophers

Nairobi Gophers

Seattle Go Programmers

Ukrainian Golang User Groups

Utah Go User Group

Women Who Go - San Francisco, CA

Zürich Gophers - Zurich, Switzerland

Style Guides

cockroach

Scalable, Geo-Replicated, Transactional Datastore.

In 8 listsDetails

enra/go-styleguide

GitLab

Google

Google's coding standards for source code in Go.

In 3 lists

Hyperledger

Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a unique approach to consensus that enables performance at scale while preserving…

In 3 lists

Thanos

Trybe

Uber

Patterns and conventions used in Go code at Uber.

In 6 listsDetails

Social Media >Twitter

@GoDiscussions

@golang

@golang_news

@golangch

@golangweekly

Social Media >Reddit

r/golang

The Go programming language community.

In 2 lists

Websites

Awesome Go @LibHunt

Your go-to Go Toolbox.

Awesome Golang Workshops

A curated list of awesome golang workshops.

Awesome Remote Job

Curated list of awesome remote jobs. A lot of them are looking for Go hackers.

In 4 listsDetails

awesome-awesomeness

List of other amazingly awesome lists.

In 7 listsDetails

awesome-go-extra

Parse awesome-go README file and generate a new README file with repo info.

Code with Mukesh

Software Engineer and Blogs @ codewithmukesh.com.

Coding Mystery

Solve exciting escape-room-inspired programming challenges using Go.

CodinGame

Learn Go by solving interactive tasks using small games as practical examples.

In 5 listsDetails

Go Blog

The official Go blog.

In 4 listsDetails

Go Code Club

A group of Gophers read and discuss a different Go project every week.

Go Community on Hashnode

Community of Gophers on Hashnode.

Go Forum

Forum to discuss Go.

In 2 lists

Go Projects

List of projects on the Go community wiki.

In 10 listsDetails

Go Proverbs

Go Proverbs by Rob Pike.

Go Report Card

A report card for your Go package.

In 2 lists

go.dev

A hub for Go developers.

In 4 listsDetails

gocryforhelp

Collection of Go projects that needs help. Good place to start your open-source way in Go.

Golang Developer Jobs

Developer Jobs exclusively for Golang related Roles.

Golang News

Links and news about Go programming.

Golang Nugget

A weekly roundup of the best Go content, delivered to your inbox every Monday.

Golang Weekly

Each monday projects, tutorials and articles about Go.

golang-nuts

Go mailing list.

In 23 listsDetails

Gopher Community Chat

Join Our New Slack Community For Gophers (Understand how it came).

Gophercises

Free coding exercises for budding gophers.

json2go

Advanced JSON to Go struct conversion - online tool.

justforfunc

Youtube channel dedicated to Go programming language tips and tricks, hosted by Francesc Campoy @francesc.

Learn Go Programming

Learn Go concepts with illustrations.

In 2 lists

Libs.tech

Awesome Go libraries and hidden gems

Made with Golang

pkg.go.dev

Documentation for open source Go packages.

studygolang

The community of studygolang in China.

In 3 lists

Trending Go repositories on GitHub today

Good place to find new Go libraries.

TutorialEdge - Golang

In 2 lists

Websites >Tutorials

50 Shades of Go

Traps, Gotchas, and Common Mistakes for New Golang Devs.

A Comprehensive Guide to Structured Logging in Go

Delve deep into the world of structured logging in Go with a specific focus on recently accepted slog proposal which aims to bring high performance structured logging with levels to the standard library.

A Guide to Golang E-Commerce

Building a Golang site for e-commerce (demo included).

A Tour of Go

Interactive tour of Go.

Build a Database in 1000 lines of code

Build a NoSQL Database From Zero in 1000 Lines of Code.

Build web application with Golang

Golang ebook intro how to build a web app with golang.

In 9 listsDetails

Building and Testing a REST API in Go with Gorilla Mux and PostgreSQL

We’ll write an API with the help of the powerful Gorilla Mux.

Building Go Web Applications and Microservices Using Gin

Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline.

Caching Slow Database Queries

How to cache slow database queries.

Canceling MySQL

How to cancel MySQL queries.

CodeCrafters Golang Track

Achieve mastery in advanced Go by building your own Redis, Docker, Git, and SQLite. Featuring goroutines, systems programming, file I/O, and more.

Design Patterns in Go

Collection of programming design patterns implemented in Go.

Games With Go

A video series teaching programming and game development.

Go By Example

Hands-on introduction to Go using annotated example programs.

In 4 listsDetails

Go Cheat Sheet

Go's reference card.

In 2 lists

Go database/sql tutorial

Introduction to database/sql.

In 2 lists

Go in 7 days

Learn everything about Go in 7 days (from a Nodejs developer).

Go Language Tutorial

Learn Go language Tutorial.

Go Tutorial

Learn Go programming.

Go WebAssembly Tutorial - Building a Simple Calculator

go-clean-template

Clean Architecture template for Golang services.

In 2 lists

go-patterns

Curated list of Go design patterns, recipes and idioms.

In 5 listsDetails

Golang for Node.js Developers

Examples of Golang compared to Node.js for learning.

In 2 lists

Golang Tutorial Guide

A List of Free Courses to Learn the Go Programming Language.

golang-examples

Many examples to learn Golang.

Golangbot

Tutorials to get started with programming in Go.

GopherCoding

Collection of code snippets and tutorials to help tackle every day issues.

GopherSnippets

Code snippets with tests and testable examples for the Go programming language.

Gosamples

Collection of code snippets that let you solve everyday code problems.

GraphQL with Go

Learn how to create a Go GraphQL server and client with code generation. Also includes creating REST endpoints.

In 2 lists

Hackr.io

Learn Go from the best online golang tutorials submitted & voted by the golang programming community.

In 3 lists

Hex Monscape

Getting started guidelines in writing maintainable code using Hexagonal Architecture.

How to Benchmark: dbq vs sqlx vs GORM

Learn how to benchmark in Go. As a case-study, we will benchmark dbq, sqlx and GORM.

How To Deploy a Go Web Application with Docker

Learn how to use Docker for Go development and how to build production Docker images.

How to Implement Role-Based Access Control (RBAC) Authorization in Golang

A guide to implementing Role-Based Access Control (RBAC) in Golang, including code examples, covering various methods to secure app endpoints with role-based authorization.

How to Use Godog for Behavior-driven Development in Go

Get started with Godog - a Behavior-driven development framework for building and testing Go applications.

Learn Go with 1000+ Exercises

Learn Go with thousands of examples, exercises, and quizzes.

In 4 listsDetails

Learn Go with TDD

Learn Go with test-driven development.

In 4 listsDetails

Learning Go by examples

Series of articles in order to learn Golang language by concrete applications as example.

Microservices with Go

Dive deep into building microservices using Go, including gRPC.

In 2 lists

package main

YouTube channel about Programming in Go.

Programming with Google Go

Coursera Specialization to learn about Go from scratch.

Scaling Go Applications

Everything about building, deploying and scaling Go applications in production.

The world’s easiest introduction to WebAssembly with Golang

In 2 lists

Understanding Go in a visual way

Learn Go visually

W3basic Go Tutorials

W3Basic provides an in-depth tutorial and well-organized content to learn Golang programming.

Your basic Go

Huge collection of tutorials and how to's.

Websites >Guided Learning

The Go Developer Roadmap

A visual roadmap that new Go developers can follow through to help them learn Go.

The Go Interview Practice

A GitHub repository offering coding challenges for Go technical interview preparation.

The Go Learning Path

A guided learning path containing a mix of free and premium resources.

The Go Skill Tree

A structured learning path that combines both free and premium resources.

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

The definitive list that answers "I want to do X in Python, which tool should I use?"

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago
93

Awesome Java

akullpp/awesome-java

A curated list of awesome frameworks, libraries and software for the Java programming language.

Fresh★ 49k924 entriesPushed 6 days ago