An open API service indexing awesome lists of open source software.

awesome-go

A curated list of awesome Go frameworks, libraries and software
https://github.com/avelino/awesome-go

Last synced: 7 days ago
JSON representation

Actor Model

  • Ergo - An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang.
  • Goakt - Fast and Distributed Actor framework using protocol buffers as message for Golang.
  • Hollywood - Blazingly fast and light-weight Actor engine written in Golang.
  • ProtoActor - Distributed actors for Go, C#, and Java/Kotlin.
  • asyncmachine-go/pkg/machine - Graph control flow library (AOP, actor, state-machine).

Artificial Intelligence

  • langchaingo - LangChainGo is a framework for developing applications powered by language models.
  • LocalAI - Open Source OpenAI alternative, self-host AI models.
  • OllamaFarm - Manage, load-balance, and failover packs of Ollamas.
  • chromem-go - Embeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence.
  • Ollama - Run large language models locally.
  • goai - Go SDK for building AI applications. One SDK, 20+ providers. Inspired by Vercel AI SDK.
  • 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.
  • 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.
  • AegisFlow - AI gateway for routing, securing, and monitoring LLM traffic across 10+ providers. OpenAI-compatible API, WASM policy plugins, canary rollouts, real-time dashboard.
  • ai - A Go toolkit for building AI agents and applications across multiple providers with unified LLM, embeddings, tool calling, and MCP integration.
  • localaik - LocalStack-style local emulation of OpenAI and Gemini APIs; single Docker container, llama.cpp + Gemma 3 backend.
  • 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.
  • 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.
  • 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.
  • mcp-go - Go implementation of the Model Context Protocol for building MCP servers and clients in Go.
  • 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.
  • 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.
  • 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.
  • jargo - Framework for building real-time voice AI agents over WebRTC, wiring speech-to-text, LLMs, and text-to-speech into a streaming pipeline.
  • 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.
  • 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.
  • Smeldr - AI-native content backend with typed lifecycle management, native MCP tools for every content type, and zero runtime dependencies.
  • agy-mcp - Model Context Protocol (MCP) server wrapping the Antigravity CLI to run prompts and peer reviews.
  • crewai-go - Idiomatic Go port of CrewAI (multi-agent orchestration). Zero dependencies, stdlib only.
  • 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.
  • ai-gateway - OpenAI-compatible LLM gateway that routes requests across 30 providers with fallback, rate limiting, budgets, guardrails, and observability.
  • 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.
  • claude-code-go - Go library for driving the Claude Code CLI non-interactive prompt surface from Go programs.
  • 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.
  • Genkit - Framework created by Google for building AI-powered and agentic applications in idiomatic Go.
  • golem - Framework for building dependable AI agents with typed dependencies, zero external dependencies, and native MCP support.
  • thermal - Terminal contribution heatmap, streak tracker, and token leaderboard for AI coding assistants.
  • clai - Agentic harness focused on terminal workflows, following UNIX principles. No external dependencies, ideal for scripting/prototyping agentic apps, engine is also exposed as a package.

Audio and Music

  • flac - Native Go FLAC encoder/decoder with support for FLAC streams.
  • gaad - Native Go AAC bitstream parser.
  • GoAudio - Native Go Audio Processing Library.
  • gosamplerate - libsamplerate bindings for go.
  • malgo - Mini audio library.
  • minimp3 - Lightweight MP3 decoder library.
  • PortAudio - Go bindings for the PortAudio audio I/O library.
  • id3v2 - ID3 decoding and encoding library for Go.
  • go-mpris - Client for mpris dbus interfaces.
  • beep - A simple library for playback and audio manipulation.
  • Oto - A low-level library to play sound on multiple platforms.
  • music-theory - Music theory models in Go.
  • voxrai-ai - AI voice agents with a JSON configuration, STT → LLM → TTS pipelines over WebSocket and WebRTC.
  • go-resample - Pure-Go (no cgo) audio sample-rate converter with sinc, linear, and zero-order-hold converters.
  • 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-opus - Native Go implementation of the Opus audio codec (RFC 6716) with RFC-compliant decoder.
  • go-wav - Pure-Go WAV/RIFF reader and writer with RF64 and BW64 support for files larger than 4 GiB.
  • gocue - Audio analysis CLI that detects cue-in, cue-out, and overlay points and measures EBU R128 loudness, emitting JSON for Liquidsoap.

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.
  • branca - branca token specification implementation for Golang 1.15+.
  • cookiestxt - provides a parser of cookies.txt file format.
  • 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.
  • go-jose - Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
  • gologin - chainable handlers for login with OAuth1 and OAuth2 authentication providers.
  • gorbac - provides a lightweight role-based access control (RBAC) implementation in Golang.
  • 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.
  • goth - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
  • jeff - Simple, flexible, secure, and idiomatic web session management with pluggable backends.
  • jwt - Lightweight JSON Web Token (JWT) library.
  • jwt - Safe, simple, and fast JSON Web Tokens for Go.
  • jwt-auth - JWT middleware for Golang http servers with many configuration options.
  • 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.
  • jwx - Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies.
  • 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.
  • oauth2 - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support.
  • oidc - Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation.
  • openfga - Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by CNCF.
  • osin - Golang OAuth2 server library.
  • otpgo - Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
  • paseto - Golang implementation of Platform-Agnostic Security Tokens (PASETO).
  • scs - Session Manager for HTTP servers.
  • securecookie - Efficient secure cookie encoding/decoding.
  • session - Go session management for web servers (including support for Google App Engine - GAE).
  • sessions - Dead simple, highly performant, highly customizable sessions service for go http servers.
  • sjwt - Simple jwt generator and parser.
  • goiabada - An open-source authentication and authorization server supporting OAuth2 and OpenID Connect.
  • permissions - Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt.
  • casbin - Authorization library that supports access control models like ACL, RBAC, and ABAC.
  • loginsrv - JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam.
  • scope - Easily Manage OAuth2 Scopes In Go.
  • sessionup - Simple, yet effective HTTP session management and identification package.
  • x509proxy - Library to handle X509 proxy certificates.
  • spicedb - A Zanzibar-inspired database that enables fine-grained authorization.
  • go-iam - Developer-first Identity and Access Management system with a simple UI.
  • otpgen - Library to generate TOTP/HOTP codes.
  • go-githubauth - Utilities for GitHub authentication: generate and use GitHub application and installation tokens.
  • go-jwt - JWT authentication package providing access tokens and refresh tokens with fingerprinting, Redis storage, and automatic refresh capabilities.
  • 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.
  • go-jwt - A JWT (JSON Web Token) library for Go.
  • melange - Compiles OpenFGA authorization schemas into PL/pgSQL functions that run fine-grained relationship-based access control checks inside PostgreSQL.

Benchmarks

Other Software

  • 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.
  • go-web-framework-benchmark - Go web framework benchmark.
  • go_serialization_benchmarks - Benchmarks of Go serialization methods.
  • 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.
  • gocostmodel - Benchmarks of common basic operations for the Go language.
  • vizb - A CLI tool to visualize Go benchmark data in 4D.

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.
  • cosmos-sdk - A Framework for Building Public Blockchains in the Cosmos Ecosystem.
  • gno - A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains.
  • go-ethereum - Official Go implementation of the Ethereum protocol.
  • gosemble - A Go-based framework for building Polkadot/Substrate-compatible runtimes.
  • gossamer - A Go implementation of the Polkadot Host.
  • 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.
  • lnd - A complete implementation of a Lightning Network node.
  • solana-go - Go library to interface with Solana JSON RPC and WebSocket interfaces.
  • 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.
  • nview - Local monitoring tool for a Cardano Node. It's a TUI (terminal user interface) designed to fit most screens.
  • tronlib - A comprehensive, production-ready Go SDK for interacting with the TRON blockchain with TRC20 token support.
  • pactus - A full-node implementation of the Pactus blockchain in Go.

Bot Building

  • bot - Zero-dependencies Telegram Bot library with additional UI components.
  • echotron - An elegant and concurrent library for Telegram Bots in Go.
  • go-sarah - Framework to build a bot for desired chat services including LINE, Slack, Gitter, and more.
  • go-tg - Generated from official docs Go client library for accessing Telegram Bot API, with batteries for building complex bots included.
  • go-twitch-irc - Library to write bots for twitch.tv chat
  • micha - Go Library for Telegram bot api.
  • slack-bot - Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github...
  • slacker - Easy to use framework to create Slack bots.
  • telebot - Telegram bot framework is written in Go.
  • telego - Telegram Bot API library for Golang with full one-to-one API implementation.
  • wayback - A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages.
  • arikawa - A library and framework for the Discord API.
  • telegram-bot-api - Simple and clean Telegram bot client.
  • TG - Telegram Bot Framework for Go.
  • Wisp - Event-driven trading framework for Go. Spot, perpetual futures, prediction markets. Multi-exchange (Bybit, Hyperliquid, Polymarket).
  • ymsdk - Go SDK for Yandex Messenger Bot API with type-safe models, automatic retry, and rate-limit handling.
  • teleflow - Simple, type-safe Telegram bot framework with fluent flows and automatic state management.
  • go-joe - A general-purpose bot library inspired by Hubot but written in Go.

Build Automation

  • 1build - Command line tool to frictionlessly manage project-specific commands.
  • anko - Simple application watcher for multiple programming languages.
  • gob - Gradle/Maven like build tool for Go projects.
  • goyek - Create build pipelines in Go.
  • mage - Mage is a make/rake-like build tool using Go.
  • mmake - Modern Make.
  • Task - simple "Make" alternative.
  • taskctl - Concurrent task runner.
  • xc - Task runner with README.md defined tasks, executable markdown.
  • gaper - Builds and restarts a Go project when it crashes or some watched file changes.
  • gilbert - Build system and task runner for Go projects.
  • realize - Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths.
  • air - Air - Live reload for Go apps.
  • rex - Zero-config universal project runner. Detects your stack (Go, Node, Python, Rust, PHP, Zig, Elixir) and runs the right command.

Code Analysis

Routers

  • 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#.
  • goimports - Tool to fix (add, remove) your Go imports automatically.
  • apicompat - Checks recent changes to a Go project for backwards incompatible changes.
  • 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.
  • Chronos - Detects race conditions statically
  • dupl - Tool for code clone detection.
  • errcheck - Errcheck is a program for checking for unchecked errors in Go programs.
  • 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.
  • go-cleanarch - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
  • go-critic - source code linter that brings checks that are currently not implemented in other linters.
  • go-mod-outdated - An easy way to find outdated dependencies of your Go projects.
  • goast-viewer - Web based Golang AST visualizer.
  • golang-ifood-sdk - iFood API SDK.
  • golangci-lint
  • golines - Formatter that automatically shortens long lines in Go code.
  • GoPlantUML - Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.
  • 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.
  • php-parser - A Parser for PHP written in Go.
  • revive - in replacement for golint.
  • testifylint
  • 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.
  • unconvert - Remove unnecessary type conversions from Go source.
  • 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.
  • validate - Automatically validates struct fields with tags.
  • wrapcheck - A linter to check that errors from external packages are wrapped.
  • stto - A light-weight superfast line of code counter written in pure Go.
  • gomarklint - Markdown linter with built-in HTTP link validation, single binary, no Node.js required.
  • structalign - Shows how a struct's fields could be reordered to use less memory, printing a diff instead of rewriting files.
  • ast-metrics - Static code analyzer for Go and other languages: complexity, coupling, cohesion and maintainability metrics, with HTML, JSON, Markdown and SARIF reports.