Go Libraries
#
AI & ML
#
ollama
Get up and running with Llama 2 and other large language models locally
jmorganca/ollama
lingua-go
The most accurate natural language detection library for Go, suitable for long and short text alike.
It tells you which language some text is written in.
pemistahl/lingua-go
Cache
#
go-generic-cache
bigcache
clfu
Implementation of Constant Time LFU (least frequently used) cache in Go with concurrency safety.
Narasimha1997/clfu
Compiler & Runtime
#
gocompiler
wazero
ebitengine/purego
Data structure
#
GoDS
GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more
emirpasic/gods
go-merkletree
Go Merkle Tree. High performance, Supporting parallel run, OpenZeppelin sorting pairs.
txaty/go-merkletree
Database
#
ramsql
rqlite
pure go sqlite
Package sqlite is a CGo-free port of SQLite/SQLite3.
SQLite is an in-process implementation of a self-contained, serverless, zero-configuration, transactional SQL database engine.
cznic/sqlite
psql-wire
slashbase
Modern database IDE for your dev & data workflows. Supports MySQL, PostgreSQL & MongoDB.
slashbaseide/slashbase
pocketbase
rosedb
Lightweight, fast and reliable key/value storage engine based on Bitcask.
rosedblabs/rosedb
milvus
A cloud-native vector database, storage for next generation AI applications.
Milvus is an open-source vector database built to power embedding similarity search and AI applications.
milvus-io/milvus
column
High-performance, columnar, in-memory store with bitmap indexing in Go
kelindar/column
LinDB
m3db
M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform
m3db/m3
Datetime
#
carbon
Event & Message driven
#
watermil
RxGo
Interpreter & Evaluation
#
expr
Game
#
cardrank
Go types, funcs, and utilities for working with cards, decks, and evaluating poker hands (Holdem, Omaha, Stud, more)
cardrank/cardrank
GUI
#
go-app
gio ui
Gio is a library for writing cross-platform immediate mode GUI-s in Go. Gio supports all the major platforms: Linux, macOS, Windows, Android, iOS, FreeBSD, OpenBSD and WebAssembly.
https://gioui.org
Kafka
#
kafka-go
Kafka library in Go
segmentio/kafka-go
- sarama, which is by far the most popular but is quite difficult to work with. It is poorly documented, the API exposes low level concepts of the Kafka protocol, and it doesn’t support recent Go features like contexts. It also passes all values as pointers which causes large numbers of dynamic memory allocations, more frequent garbage collections, and higher memory usage.
- confluent-kafka-go is a cgo based wrapper around librdkafka, which means it introduces a dependency to a C library on all Go code that uses the package. It has much better documentation than sarama but still lacks support for Go contexts.
- goka is a more recent Kafka client for Go which focuses on a specific usage pattern. It provides abstractions for using Kafka as a message passing bus between services rather than an ordered log of events, but this is not the typical use case of Kafka for us at Segment. The package also depends on sarama for all interactions with Kafka.
sarama
Sarama is a Go library for Apache Kafka.
IBM/sarama
confluent-kafka-go
goka
Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.
lovoo/goka
Log
#
tint
log
tail
Go package for reading from continously updated files (tail -f)
hpcloud/tail
zincsearch
ZincSearch . A lightweight alternative to elasticsearch that requires minimal resources, written in Go.
zincsearch/zincsearch
macOS
#
gon
Sign, notarize, and package macOS CLI tools and applications written in any language. Available as both a CLI and a Go library.
mitchellh/gongo2rtc
Ultimate camera streaming application with support RTSP, RTMP, HTTP-FLV, WebRTC, MSE, HLS, MP4, MJPEG, HomeKit, FFmpeg, etc.
AlexxIT/go2rtc
Livekit (WebRTC)
Monitoring
#
goalive
Network
#
quic-go
ws
torrent
loxilb
eBPF based cloud-native load-balancer. Powering K8s|Edge|5G|IoT|XaaS Apps.
loxilb-io/loxilb
natiu-mqtt
A dead-simple, extensible MQTT implementation well suited for embedded systems.
soypat/natiu-mqtt
comqtt
A lightweight, high-performance go mqtt server(v3.0|v3.1.1|v5.0) supporting distributed cluster
wind-c/comqtt
easytcp
✨ 🚀 EasyTCP is a light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.
DarthPestilane/easytcp
OpenStreetMap
#
openmaptiles
tegola-omt
Security
#
life4/enc
🔑🔒 A modern and friendly CLI alternative to GnuPG: generate and download keys, encrypt, decrypt, and sign text and files, and more.
life4/enc
go-nanoid
Terminal
#
console
Closed-loop application library for Cobra commands (powerful, ready-to-run and easy to use)
reeflective/console
pterm
PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It’s completely configurable and 100% cross-platform compatible.
pterm/pterm
command line interactive libraries
go-pretty
artty
banner
Colorful Banners
- figlet : displays the banners
- lolcat : colorizes the banners
Utilities
#
go-git
duf
Disk Usage/Free Utility - a better ‘df’ alternative
muesli/duf
zellij
Visualization
#
D2
D2 is a modern diagram scripting language that turns text to diagrams
terrastruct/d2
go-echarts
uPlot
📈 A small, fast chart for time series, lines, areas, ohlc & bars
leeoniya/uPlot