Awesome Go

Search

Find Go libraries and tools by name, category, or popularity.

2,739 results

go-mpris

Client for mpris dbus interfaces

Audio and MusicAudio and Music
music-theory

Music theory models in Go

Audio and MusicAudio and Music
authgate

A lightweight OAuth 2.0 Authorization Server supporting Device Authorization Grant ([RFC 8628](https://datatracker.ietf.org/doc/html/rfc8628)), Authorization Code Flow with PKCE ([RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749) + [RFC 7636](https://datatracker.ietf.org/doc/html/rfc7636)), and Client Credentials Grant for machine-to-machine authentication

Authentication and AuthorizationAuthentication and Authorization
go-githubauth

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

Authentication and AuthorizationAuthentication and Authorization
go-iam

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

Authentication and AuthorizationAuthentication and Authorization
go-jwt

A JWT (JSON Web Token) library for Go

Authentication and AuthorizationAuthentication and Authorization
go-jwt

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

Authentication and AuthorizationAuthentication and Authorization
goiabada

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

Authentication and AuthorizationAuthentication and Authorization
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

Authentication and AuthorizationAuthentication and Authorization
permissions

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

Authentication and AuthorizationAuthentication and Authorization
spicedb

A Zanzibar-inspired database that enables fine-grained authorization

Authentication and AuthorizationAuthentication and Authorization
x509proxy

Library to handle X509 proxy certificates

Authentication and AuthorizationAuthentication and Authorization
nview

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

BlockchainBlockchain
tronlib

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

BlockchainBlockchain
arikawa

A library and framework for the Discord API

Bot BuildingBot Building
telegram-bot-api

Simple and clean Telegram bot client

Bot BuildingBot Building
TG

Telegram Bot Framework for Go

Bot BuildingBot Building
ymsdk

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

Bot BuildingBot Building
Wisp

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

Bot BuildingBot Building
gaper

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

Build AutomationBuild Automation
box-cli-maker

Render highly customizable boxes in the terminal

Command LineAdvanced Console UIs
chroma16

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

Command LineAdvanced Console UIs
fx

Terminal JSON viewer & processor

Command LineAdvanced Console UIs
gommon/color

Style terminal text

Command LineAdvanced Console UIs
lazyenv

TUI for browsing, comparing, and editing .env files

Command LineAdvanced Console UIs
loom

Signal-based reactive components framework for building TUIs

Command LineAdvanced Console UIs
phoenix

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

Command LineAdvanced Console UIs
goscaf

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

Command LineAdvanced Console UIs
boa

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

Command LineStandard CLI
flash-flags

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

Command LineStandard CLI
getopt

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

Command LineStandard CLI
go-readline-ny

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

Command LineStandard CLI
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

Command LineStandard CLI
hashicorp/cli

Go library for implementing command-line interfaces

Command LineStandard CLI
hiboot cli

cli application framework with auto configuration and dependency injection

Command LineStandard CLI
orpheus

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

Command LineStandard CLI
readline

Shell library with modern and easy to use UI features

Command LineStandard CLI
structcli

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

Command LineStandard CLI
argus

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

ConfigurationConfiguration
azureappconfiguration

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

ConfigurationConfiguration
enflag

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

ConfigurationConfiguration
envyaml

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

ConfigurationConfiguration
go-config

Simple and convenient library for working with app configurations

ConfigurationConfiguration
goconfig

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

ConfigurationConfiguration
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

ConfigurationConfiguration
hedzr/store

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

ConfigurationConfiguration
zerocfg

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

ConfigurationConfiguration
go-test-coverage

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

Continuous IntegrationContinuous Integration
go-css

A very simple CSS parser, written in Go

CSS PreprocessorsCSS Preprocessors
ribbonGo

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

Data Structures and AlgorithmsBloom and Cuckoo Filters