Awesome Go

Search

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

2,739 results

gloop

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

Data Structures and AlgorithmsIterators
concurrent-swiss-map

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

Data Structures and AlgorithmsMaps
hmap

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

Data Structures and AlgorithmsMaps
combo

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

Data Structures and AlgorithmsMiscellaneous Data Structures and Algorithms
FSM

FSM for Go

Data Structures and AlgorithmsMiscellaneous Data Structures and Algorithms
deheap

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

Data Structures and AlgorithmsQueues
dqueue

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

Data Structures and AlgorithmsQueues
hatchet

Distributed, Fault-tolerant task queue

Data Structures and AlgorithmsQueues
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

Data Structures and AlgorithmsQueues
graphlib

Topological sort lib,Sorting and pruning of DAG graphs

Data Structures and AlgorithmsTrees
pipelines

Generic pipeline functions for concurrent processing

Data Structures and AlgorithmsPipes
go-gcache

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

DatabaseCaches
jetcache-go

Unified Go cache library supporting multi-level caching

DatabaseCaches
pocache

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

DatabaseCaches
ristretto

A high performance memory-bound Go cache

DatabaseCaches
sturdyc

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

DatabaseCaches
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

DatabaseDatabases Implemented in Go
NoKV

High-performance distributed KV storage based on LSM Tree

DatabaseDatabases Implemented in Go
redka

Redis re-implemented with SQLite

DatabaseDatabases Implemented in Go
minisql

Embedded single file SQL database

DatabaseDatabases Implemented in Go
soda

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

DatabaseDatabase Schema Migration
database-gateway

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

DatabaseDatabase Tools
GoSQLX

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

DatabaseDatabase Tools
obreron

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

DatabaseSQL Query Builders
patcher

Powerful SQL Query builder that automatically generates SQL queries from structs

DatabaseSQL Query Builders
relica

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

DatabaseSQL Query Builders
go-rqlite

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

Database DriversRelational Database Drivers
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

Database DriversRelational Database Drivers
gomemcache

memcache client library for the Go programming language

Database DriversNoSQL Database Drivers
clickhouse-go

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

Database DriversSearch and Analytic Databases
zoekt

Fast trigram based code search

Database DriversSearch and Analytic Databases
carbon

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

Date and TimeDate and Time
go-date-fns

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

Date and TimeDate and Time
go-faketime

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

Date and TimeDate and Time
circuit

Circuit breaker with gradual recovery via probabilistic throttling

Distributed SystemsDistributed Systems
committer

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

Distributed SystemsDistributed Systems
dot

distributed sync using operational transformation/OT

Distributed SystemsDistributed Systems
go-eagle

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

Distributed SystemsDistributed Systems
health

Health checker for Go services with Kubernetes probe support

Distributed SystemsDistributed Systems
NATS

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

Distributed SystemsDistributed Systems
opentelemetry-go-auto-instrumentation

OpenTelemetry Compile-Time Instrumentation for Golang

Distributed SystemsDistributed Systems
oras

CLI and library for OCI Artifacts in container registries

Distributed SystemsDistributed Systems
outbox

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

Distributed SystemsDistributed Systems
rpcplatform

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

Distributed SystemsDistributed Systems
go-imap

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

EmailEmail
Hectane

Lightweight SMTP client providing an HTTP API

EmailEmail
FrankenPHP

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

Embeddable Scripting LanguagesEmbeddable Scripting Languages
gisp

Simple LISP in Go

Embeddable Scripting LanguagesEmbeddable Scripting Languages
go-lua

Port of the Lua 5.2 VM to pure Go

Embeddable Scripting LanguagesEmbeddable Scripting Languages
go-lua

Lua 5.4 VM implemented in pure Go

Embeddable Scripting LanguagesEmbeddable Scripting Languages