awesome-go
It's a mirror of `avelino/awesome-go`, which sorts the repos by stars, while original `awesome-go` sorts by alphabet only.
https://github.com/vicanso/awesome-go
Last synced: 12 days ago
JSON representation
Actor Model
-
ProtoActor
- Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin. Stars:
5.3K. -
Ergo
- An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang. Stars:
4.2K. -
Hollywood
- Blazingly fast and light-weight Actor engine written in Golang. Stars:
2.1K.
Artificial Intelligence
-
LocalAI
- Open Source OpenAI alternative, self-host AI models. Stars:
35.5K. -
langchaingo
- LangChainGo is a framework for developing applications powered by language models. Stars:
7.7K. -
Ollama
- Run large language models locally. Stars:
153.1K.
Audio and Music
-
Oto
- A low-level library to play sound on multiple platforms. Stars:
1.8K.
Authentication and Authorization
-
jwt-go
- A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs. Stars:
8.5K. -
oauth2
- Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support. Stars:
5.7K. -
goth
- provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box. Stars:
6.2K. -
keto
- Open Source (Go) implementation of "Zanzibar: Google's Consistent, Global Authorization System". Ships gRPC, REST APIs, newSQL, and an easy and granular permission language. Supports ACL, RBAC, and other access models. Stars:
5.1K. -
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. Stars:
4.1K. -
openfga
- Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by CNCF. Stars:
4.2K. -
scs
- Session Manager for HTTP servers. Stars:
2.4K. -
osin
- Golang OAuth2 server library. Stars:
1.9K. -
gologin
- chainable handlers for login with OAuth1 and OAuth2 authentication providers. Stars:
1.9K. -
gorbac
- provides a lightweight role-based access control (RBAC) implementation in Golang. Stars:
1.6K. -
oidc
- Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation Stars:
1.7K. -
jwx
- Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies Stars:
2.2K. -
casbin
- Authorization library that supports access control models like ACL, RBAC, and ABAC. Stars:
19.2K. -
loginsrv
- JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam. Stars:
1.9K. -
spicedb
- A Zanzibar-inspired database that enables fine-grained authorization. Stars:
6.1K.
Benchmarks
Other Software
-
go-web-framework-benchmark
- Go web framework benchmark. Stars:
2.1K. -
go-http-routing-benchmark
- Go HTTP request router benchmark and comparison. Stars:
1.7K. -
go_serialization_benchmarks
- Benchmarks of Go serialization methods. Stars:
1.6K. -
skynet
- Skynet 1M threads microbenchmark. Stars:
1.1K.
Blockchain
-
go-ethereum
- Official Go implementation of the Ethereum protocol. Stars:
49.9K. -
kubo
- An IPFS implementation in Go. It provides content-addressable storage which can be used for decentralized storage in DApps. It is based on the IPFS protocol. Stars:
16.8K. -
cosmos-sdk
- A Framework for Building Public Blockchains in the Cosmos Ecosystem. Stars:
6.8K. -
tendermint
- High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols. Stars:
5.8K. -
lnd
- A complete implementation of a Lightning Network node. Stars:
8.0K. -
solana-go
- Go library to interface with Solana JSON RPC and WebSocket interfaces. Stars:
1.4K.
Bot Building
-
telebot
- Telegram bot framework is written in Go. Stars:
4.4K. -
wayback
- A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages. Stars:
2.1K. -
bot
- Zero-dependencies Telegram Bot library with additional UI components Stars:
1.4K. -
telegram-bot-api
- Simple and clean Telegram bot client. Stars:
6.3K.
Build Automation
-
Task
- simple "Make" alternative. Stars:
13.8K. -
mage
- Mage is a make/rake-like build tool using Go. Stars:
4.5K. -
mmake
- Modern Make. Stars:
1.7K. -
xc
- Task runner with README.md defined tasks, executable markdown. Stars:
1.3K. -
realize
- Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths. Stars:
4.5K. -
air
- Air - Live reload for Go apps. Stars:
21.8K.
Code Analysis
Routers
-
staticcheck
- staticcheck is
go veton steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#. Stars:6.6K. - golangci-lint
-
revive
- in replacement for
golint. Stars:5.3K. -
errcheck
- Errcheck is a program for checking for unchecked errors in Go programs. Stars:
2.4K. -
go-critic
- source code linter that brings checks that are currently not implemented in other linters. Stars:
2.0K. -
GoPlantUML
- Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them. Stars:
2.1K. -
golines
- Formatter that automatically shortens long lines in Go code. Stars:
1.1K.
Command Line
Advanced Console UIs
-
bubbletea
- Go framework to build terminal apps, based on The Elm Architecture. Stars:
35.3K. -
termui
- Go terminal dashboard based on termbox-go and inspired by blessed-contrib. Stars:
13.4K. -
gocui
- Minimalist Go library aimed at creating Console User Interfaces. Stars:
10.4K. -
lipgloss
- Declaratively define styles for color, format and layout in the terminal. Stars:
9.7K. -
go-prompt
- Library for building a powerful interactive prompt, inspired by python-prompt-toolkit. Stars:
5.4K. -
bubbles
- TUI components for bubbletea. Stars:
7.0K. -
termbox-go
- Termbox is a library for creating cross-platform text-based interfaces. Stars:
4.7K. -
pterm
- A library to beautify console output on every platform with many combinable components. Stars:
5.3K. -
progressbar
- Basic thread-safe progress bar that works in every OS. Stars:
4.5K. -
termdash
- Go terminal dashboard based on termbox-go and inspired by termui. Stars:
2.9K. -
asciigraph
- Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies. Stars:
2.9K. -
spinner
- Go package to easily provide a terminal spinner with options. Stars:
2.5K. -
mpb
- Multi progress bar for terminal applications. Stars:
2.4K. -
uiprogress
- Flexible library to render progress bars in terminal applications. Stars:
2.1K. -
uilive
- Library for updating terminal output in real time. Stars:
1.7K. -
termenv
- Advanced ANSI style & color support for your terminal applications. Stars:
1.9K. -
gookit/color
- Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows. Stars:
1.6K. -
aurora
- ANSI terminal colors that support fmt.Printf/Sprintf. Stars:
1.5K. -
fx
- Terminal JSON viewer & processor. Stars:
19.9K.
Standard CLI
-
cobra
- Commander for modern Go CLI interactions. Stars:
42.0K. -
urfave/cli
- Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). Stars:
23.5K. -
elvish
- An expressive programming language and a versatile interactive shell. Stars:
6.1K. -
kingpin
- Command line and flag parser supporting sub commands (superseded by
kong; see below). Stars:3.5K. -
Dnote
- A simple command line notebook with multi-device sync. Stars:
2.9K. -
go-flags
- go command line option parser. Stars:
2.7K. -
pflag
- Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. Stars:
2.6K. -
go-arg
- Struct-based argument parsing in Go. Stars:
2.2K. -
ops
- Unikernel Builder/Orchestrator. Stars:
1.4K. -
liner
- Go readline-like library for command-line interfaces. Stars:
1.1K. -
carapace-bin
- Multi-shell multi-command argument completer. Stars:
1.5K.
Configuration
Standard CLI
-
viper
- Go configuration with fangs. Stars:
29.3K. -
godotenv
- Go port of Ruby's dotenv library (Loads environment variables from
.env). Stars:9.8K. -
kelseyhightower/envconfig
- Go library for managing configuration data from environment variables. Stars:
5.3K. -
env
- Parse environment variables to Go structs (with defaults). Stars:
5.8K. -
ini
- Go package to read and write INI files. Stars:
3.5K. -
koanf
- Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line. Stars:
3.5K. -
kong
- Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to
kingpin). Stars:2.8K. -
cleanenv
- Minimalistic configuration reader (from files, ENV, and wherever you want). Stars:
1.9K. -
sonic
- A blazingly fast JSON serializing & deserializing library. Stars:
8.7K.
Continuous Integration
Standard CLI
-
CDS
- Enterprise-Grade CI/CD and DevOps Automation Open Source Platform. Stars:
4.8K. -
woodpecker
- Woodpecker is a community fork of the Drone CI system. Stars:
5.5K. -
muffet
- Fast website link checker in Go, see alternatives. Stars:
2.6K. -
drone
- Drone is a Continuous Integration platform built on Docker, written in Go. Stars:
33.3K.
Database
Caches
-
groupcache
- Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. Stars:
13.3K. -
BigCache
- Efficient key/value cache for gigabytes of data. Stars:
8.0K. -
GCache
- Cache library with support for expirable Cache, LFU, LRU and ARC. Stars:
2.7K. -
gocache
- A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more. Stars:
2.8K. -
cache2go
- In-memory key:value cache which supports automatic invalidation based on timeouts. Stars:
2.2K. -
fastcache
- fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead. Stars:
2.3K. -
otter
- A high performance lockless cache for Go. Many times faster than Ristretto and friends. Stars:
2.3K. -
sturdyc
- A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant. Stars:
1.2K. -
ttlcache
- An in-memory cache with item expiration and generics. Stars:
1.2K. -
ristretto
- A high performance memory-bound Go cache. Stars:
6.5K.
Database Schema Migration
-
migrate
- Database migrations. CLI and Golang library. Stars:
17.4K. -
bytebase
- Safe database schema change and version control for DevOps teams. Stars:
13.0K. -
goose
- Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. Stars:
9.2K. -
atlas
- A Database Toolkit. A CLI designed to help companies better work with their data. Stars:
7.4K. -
dbmate
- A lightweight, framework-agnostic database migration tool. Stars:
6.4K. -
sql-migrate
- Database migration tool. Allows embedding migrations into the application using go-bindata. Stars:
3.4K. -
skeema
- Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools. Stars:
1.3K. -
gormigrate
- Database schema migration helper for Gorm ORM. Stars:
1.1K. -
goavro
- A Go package that encodes and decodes Avro data. Stars:
1.0K. -
soda
- Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. Stars:
1.5K.
Databases Implemented in Go
-
prometheus
- Monitoring system and time series database. Stars:
60.5K. -
tidb
- TiDB is a distributed SQL database. Inspired by the design of Google F1. Stars:
39.1K. -
cockroach
- Scalable, Geo-Replicated, Transactional Datastore. Stars:
31.3K. -
Milvus
- Milvus is a vector database for embedding management, analytics and search. Stars:
37.7K. -
dolt
- Dolt – It's Git for Data. Stars:
19.1K. -
rqlite
- The lightweight, distributed, relational database built on SQLite. Stars:
17.0K. -
VictoriaMetrics
- fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL. Stars:
15.1K. -
immudb
- immudb is a lightweight, high-speed immutable database for systems and applications written in Go. Stars:
8.8K. -
bbolt
- An embedded key/value database for Go. Stars:
9.1K. -
goleveldb
- Implementation of the LevelDB key/value database in Go. Stars:
6.3K. -
pebble
- RocksDB/LevelDB inspired key-value database in Go. Stars:
5.5K. -
buntdb
- Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. Stars:
4.8K. -
godis
- A Golang implemented high-performance Redis server and cluster. Stars:
3.8K. -
LinDB
- LinDB is a scalable, high performance, high availability distributed time series database. Stars:
3.0K. -
tiedot
- Your NoSQL database powered by Golang. Stars:
2.7K. -
CovenantSQL
- CovenantSQL is a SQL database on blockchain. Stars:
1.5K. -
column
- High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions. Stars:
1.5K. -
diskv
- Home-grown disk-backed key-value store. Stars:
1.4K. -
pogreb
- Embedded key-value store for read-heavy workloads. Stars:
1.4K. -
objectbox-go
- High-performance embedded Object Database (NoSQL) with Go API. Stars:
1.2K. -
redka
- Redis re-implemented with SQLite. Stars:
4.2K. -
eliasdb
- Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. Stars:
1.0K. -
dgraph
- Scalable, Distributed, Low Latency, High Throughput Graph Database. Stars:
21.3K. -
moss
- Moss is a simple LSM key-value storage engine written in 100% Go. Stars:
1.0K. -
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. Stars:
10.6K. -
badger
- Fast key-value store in Go. Stars:
15.0K. -
ledisdb
- Ledisdb is a high performance NoSQL like Redis based on LevelDB. Stars:
4.1K. -
influxdb
- Scalable datastore for metrics, events, and real-time analytics. Stars:
30.7K. -
Databunker
- Personally identifiable information (PII) storage service built to comply with GDPR and CCPA. Stars:
1.3K. -
nutsdb
- Nutsdb is a simple, fast, embeddable, persistent key/value store written in pure Go. It supports fully serializable transactions and many data structures such as list, set, sorted set. Stars:
3.5K. -
rosedb
- An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset. Stars:
4.9K. -
lotusdb
- Fast k/v database compatible with lsm and b+tree. Stars:
2.2K.
Database Tools
-
pgweb
- Web-based PostgreSQL database browser. Stars:
9.0K. -
pREST
- Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new. Stars:
4.4K. -
pg_timetable
- Advanced scheduling for PostgreSQL. Stars:
1.2K. -
go-mysql
- Go toolset to handle MySQL protocol and replication. Stars:
4.8K. -
vitess
- vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. Stars:
20.2K. -
chproxy
- HTTP proxy for ClickHouse database. Stars:
1.4K.
SQL Query Builders
-
Squirrel
- Go library that helps you build SQL queries. Stars:
7.6K. -
goqu
- Idiomatic SQL builder and query library. Stars:
2.6K. -
jet
- Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure. Stars:
3.4K. -
gendry
- Non-invasive SQL builder and powerful data binder. Stars:
1.6K. -
sqlc
- Generate type-safe code from SQL. Stars:
16.0K. -
xo
- Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. Stars:
3.9K.
Database Drivers
Interfaces to Multiple Backends
-
cayley
- Graph database with support for multiple backends. Stars:
15.0K.
NoSQL Database Drivers
-
redis
- Redis client for Golang. Stars:
21.6K. -
redigo
- Redigo is a Go client for the Redis database. Stars:
9.8K. -
mongo-go-driver
- Official MongoDB driver for the Go language. Stars:
8.4K. -
mgo
- (unmaintained) MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms. Stars:
2.0K. -
qmgo
- The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo. Stars:
1.3K. -
gomemcache
- memcache client library for the Go programming language. Stars:
1.8K. -
gorethink
- Go language driver for RethinkDB. Stars:
1.6K.
Relational Database Drivers
-
go-sql-driver/mysql
- MySQL driver for Go. Stars:
15.1K. -
pgx
- PostgreSQL driver supporting features beyond those exposed by database/sql. Stars:
12.5K. -
pq
- Pure Go Postgres driver for database/sql. Stars:
9.6K. -
go-sqlite3
- SQLite3 driver for go that uses database/sql. Stars:
8.7K. -
go-mssqldb
- Microsoft MSSQL driver for Go. Stars:
1.9K.
Search and Analytic Databases
-
elastic
- Elasticsearch client for Go. Stars:
7.5K. -
go-elasticsearch
- Official Elasticsearch client for Go. Stars:
6.0K. -
elasticsql
- Convert sql to elasticsearch dsl in Go. Stars:
1.2K. -
zoekt
- Fast trigram based code search. Stars:
1.1K. -
clickhouse-go
- ClickHouse SQL client for Go with a
database/sqlcompatibility. Stars:3.2K.
Data Integration Frameworks
Standard CLI
-
omniparser
- A versatile ETL library that parses text input (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) in streaming fashion and transforms data into JSON output using data-driven schema. Stars:
1.1K. -
Benthos
- A message streaming bridge between a range of protocols. Stars:
8.5K.
Data Structures and Algorithms
Bit-packing and Compression
-
roaring
- Go package implementing compressed bitsets. Stars:
2.8K.
Bit Sets
-
bitset
- Go package implementing bitsets. Stars:
1.5K.
Bloom and Cuckoo Filters
-
bloom
- Go package implementing Bloom filters. Stars:
2.7K. -
boomfilters
- Probabilistic data structures for processing continuous, unbounded streams. Stars:
1.6K. -
cuckoofilter
- Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. Stars:
1.2K.
Data Structure and Algorithm Collections
-
gods
- Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. Stars:
17.2K. -
go-datastructures
- Collection of useful, performant, and thread-safe data structures. Stars:
7.8K. -
gostl
- Data structure and algorithm library for go, designed to provide functions similar to C++ STL. Stars:
1.1K.
Miscellaneous Data Structures and Algorithms
-
gota
- Implementation of dataframes, series, and data wrangling methods for Go. Stars:
3.2K.
Queues
-
hatchet
- Distributed, Fault-tolerant task queue. Stars:
6.1K.
Sets
-
golang-set
- Thread-Safe and Non-Thread-Safe high-performance sets for Go. Stars:
4.6K.
Text Analysis
-
bleve
- Modern text indexing library for go. Stars:
10.6K.
Date and Time
Search and Analytic Databases
Distributed Systems
Search and Analytic Databases
-
go-kit
- Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. Stars:
27.4K. -
Kratos
- A modular-designed and easy-to-use microservices framework in Go. Stars:
24.9K. -
go-micro
- A distributed systems development framework. Stars:
22.5K. -
grpc-go
- The Go language implementation of gRPC. HTTP/2 based RPC. Stars:
22.4K. -
raft
- Golang implementation of the Raft consensus protocol, by HashiCorp. Stars:
8.8K. -
rpcx
- Distributed pluggable RPC service framework like alibaba Dubbo. Stars:
8.3K. -
Kitex
- A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices. If the performance and extensibility are the main concerns when you develop microservices, Kitex can be a good choice. Stars:
7.7K. -
lura
- Ultra performant API Gateway framework with middlewares. Stars:
6.6K. -
torrent
- BitTorrent client package. Stars:
5.9K.