Awesome Go

Search

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

2,739 results

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

Error HandlingError Handling
metaerr

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

Error HandlingError Handling
fastwalk

Fast parallel directory traversal library (used by [fzf](https://github.com/junegunn/fzf))

File HandlingFile Handling
gulter

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

File HandlingFile Handling
gxpdf

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

File HandlingFile Handling
currency

High performant & accurate currency computation package

FinancialFinancial
dec128

High performance 128-bit fixed-point decimal numbers

FinancialFinancial
coinpaprika-go

Go client library for interacting with Coinpaprika's API

Third-party APIsThird-party APIs
go-nowpayments

Library for the crypto NOWPayments API

FinancialFinancial
gobl

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

FinancialFinancial
indicator

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

FinancialFinancial
ledger

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

FinancialFinancial
money

Immutable monetary amounts and exchange rates with panic-free arithmetic

FinancialFinancial
ofxgo

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

FinancialFinancial
udecimal

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

FinancialFinancial
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

FormsForms
fpGo

Monad, Functional Programming features for Golang

FunctionalFunctional
fuego

Functional Experiment in Go

FunctionalFunctional
FuncFrog

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

FunctionalFunctional
g

Functional programming framework for Go

FunctionalFunctional
valor

Generic option and result types that optionally contain a value

FunctionalFunctional
Ark

Archetype-based Entity Component System (ECS) for Go

Game DevelopmentGame Development
Ebitengine

dead simple 2D game engine in Go

Game DevelopmentGame Development
go-sdl2

Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/)

Game DevelopmentGame Development
go3d

Performance oriented 2D/3D math package for Go

Game DevelopmentGame Development
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](https://github.com/gogpu/gg), [ui](https://github.com/gogpu/ui), [wgpu](https://github.com/gogpu/wgpu), [naga](https://github.com/gogpu/naga))

Game DevelopmentGame Development
gonet

Game server skeleton implemented with golang

Game DevelopmentGame Development
goworld

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

Game DevelopmentGame Development
grid

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

Game DevelopmentGame Development
Pi

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

Game DevelopmentGame Development
Pixel

Hand-crafted 2D game library in Go

Game DevelopmentGame Development
convergen

Feature rich type-to-type copy code generator

GeneratorsGenerators
copygen

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

GeneratorsGenerators
generis

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

GeneratorsGenerators
go-enum-encoding

Code generation for enum encoding from code comments

GeneratorsGenerators
go-apispec

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

GeneratorsGenerators
protoc-gen-httpgo

Generate HTTP server and client from protobuf

GeneratorsGenerators
borders

Detects image borders and converts to GeoJSON for GIS operations

GeographicGeographic
gismanager

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

GeographicGeographic
godal

Go wrapper for GDAL

GeographicGeographic
bunster

Compile shell scripts to Go

Go CompilersGo Compilers
cxgo

Transpile C code to Go code

Go CompilersGo Compilers
go2hx

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

Go CompilersGo Compilers
anchor

Library to manage component lifecycle in microservice architectures

GoroutinesGoroutines
concurrency-limiter

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

GoroutinesGoroutines
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

GoroutinesGoroutines
cyclicbarrier

CyclicBarrier for golang

GoroutinesGoroutines
flowmatic

Structured concurrency made easy

GoroutinesGoroutines
go-accumulator

Solution for accumulation of events and their subsequent processing

GoroutinesGoroutines
go-actor

A tiny library for writing concurrent programs using actor model

GoroutinesGoroutines