Awesome Go

Search

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

2,739 results

go-commander

Go library to simplify CLI workflow.

35Command LineLibraries for building standard or basic Command Line applications.
mini

Golang package for parsing ini-style configuration files.

35ConfigurationLibraries for configuration parsing.
Resoursea

REST framework for quickly writing resource based services.

35Web FrameworksFull stack web frameworks.
tga

Package tga is a TARGA image format decoder/encoder.

33ImagesLibraries for manipulating images.
go-language-server

A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.

32Editor PluginsPlugin for text editors and IDEs.
go-andotp

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

30Command LineLibraries for building standard or basic Command Line applications.
colourize

Go library for ANSI colour text in terminals.

27Command LineLibraries for building Console Applications and Console User Interfaces.
treap

Persistent, fast ordered map using tree heaps.

27Data Structures and AlgorithmsFrameworks for performing ELT / ETL
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).

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

ugo is slice toolbox with concise syntax for Go.

27UtilitiesGeneral utilities and tools to make your life easier.
sand

Simple API for creating interpreters and so much more.

26Command LineLibraries for building standard or basic Command Line applications.
term-quiz

Quizzes for your terminal.

26Software PackagesSoftware written in Go.
ts

Timestamp convert & compare tool.

20Command LineLibraries for building standard or basic Command Line applications.
gomol

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

19LoggingLibraries for generating and working with log files.
blanket

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

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

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

17Data Structures and AlgorithmsFrameworks for performing ELT / ETL
contextplus

Package contextplus provide more easy to use functions for contexts.

16UtilitiesGeneral utilities and tools to make your life easier.
dynago

Simplify working with AWS DynamoDB.

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

aptly is a Debian repository management tool.

12Software PackagesSoftware written in Go.
openapi

OpenAPI 3.x parser.

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

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

10Third-party APIsLibraries for accessing third party APIs.
protoncheck

ProtonMail module for waybar/polybar/yabar/i3blocks.

6Software PackagesSoftware written in Go.
goal

An embeddable scripting array language.

3Embeddable Scripting LanguagesEmbedding other languages inside your go code.
Ergo

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

Actor ModelActor Model
Goakt

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

Actor ModelActor Model
Hollywood

Blazingly fast and light-weight Actor engine written in Golang

Actor ModelActor Model
ProtoActor

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

Actor ModelActor Model
chromem-go

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

Artificial IntelligenceArtificial Intelligence
langchaingo

LangChainGo is a framework for developing applications powered by language models

Artificial IntelligenceArtificial Intelligence
LocalAI

Open Source OpenAI alternative, self-host AI models

Artificial IntelligenceArtificial Intelligence
Ollama

Run large language models locally

Artificial IntelligenceArtificial Intelligence
OllamaFarm

Manage, load-balance, and failover packs of Ollamas

Artificial IntelligenceArtificial Intelligence
flac

Native Go FLAC encoder/decoder with support for FLAC streams

Audio and MusicAudio and Music
gaad

Native Go AAC bitstream parser

Audio and MusicAudio and Music
GoAudio

Native Go Audio Processing Library

Audio and MusicAudio and Music
gosamplerate

libsamplerate bindings for go

Audio and MusicAudio and Music
id3v2

ID3 decoding and encoding library for Go

Audio and MusicAudio and Music
malgo

Mini audio library

Audio and MusicAudio and Music
minimp3

Lightweight MP3 decoder library

Audio and MusicAudio and Music
Oto

A low-level library to play sound on multiple platforms

Audio and MusicAudio and Music
PortAudio

Go bindings for the PortAudio audio I/O library

Audio and MusicAudio and Music
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

Authentication and AuthorizationAuthentication and Authorization
branca

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

Authentication and AuthorizationAuthentication and Authorization
casbin

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

Authentication and AuthorizationAuthentication and Authorization
cookiestxt

provides a parser of cookies.txt file format

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

Authentication and AuthorizationAuthentication and Authorization
go-jose

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

Authentication and AuthorizationAuthentication and Authorization
gologin

chainable handlers for login with OAuth1 and OAuth2 authentication providers

Authentication and AuthorizationAuthentication and Authorization
gorbac

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

Authentication and AuthorizationAuthentication and Authorization
goth

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

Authentication and AuthorizationAuthentication and Authorization