Awesome Go

Search

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

3,042 results

gleam

Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed

3,569Distributed SystemsDistributed Systems
kingpin

Command line and flag parser supporting sub commands (superseded by `kong`; see below)

3,567Command LineStandard CLI
go-i18n

Package and an accompanying tool to work with localized text

3,549Natural Language ProcessingTranslation
ini

Go package to read and write INI files

3,541ConfigurationConfiguration
playwright-go

browser automation library to control Chromium, Firefox and WebKit with a single API

3,532TestingSelenium and browser control tools
gabs

For parsing, creating and editing unknown or dynamic JSON in Go

3,529JSONJSON
mc

Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems

3,508UtilitiesUtilities
ln

3D line art rendering in Go

3,492ImagesImages
devd

Local webserver for developers

3,473Server ApplicationsServer Applications
go-lua

Port of the Lua 5.2 VM to pure Go

3,459Embeddable Scripting LanguagesEmbeddable Scripting Languages
mo

Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...)

3,431FunctionalFunctional
gomock

Mocking framework for the Go programming language

3,426TestingMock
sql-migrate

Database migration tool. Allows embedding migrations into the application using go-bindata

3,415DatabaseDatabase Schema Migration
GoSublime

Golang plugin collection for the text editor SublimeText 3 providing code completion and other IDE-like features

3,398Editor PluginsEditor Plugins
alice

Painless middleware chaining for Go

3,373Web FrameworksMiddlewares
Dragonfly

Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures

3,356Distributed SystemsDistributed Systems
clickhouse-go

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

3,355Database DriversSearch and Analytic Databases
quicktemplate

Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it

3,324Template EnginesTemplate Engines
gota

Implementation of dataframes, series, and data wrangling methods for Go

3,260Data Structures and AlgorithmsMiscellaneous Data Structures and Algorithms
nano

Lightweight, facility, high performance golang based game server framework

3,225Game DevelopmentGame Development
glow

Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go

3,217Distributed SystemsDistributed Systems
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`)

3,192ConfigurationConfiguration
APNs2

HTTP/2 Apple Push Notification provider for Go - Send push notifications to iOS, tvOS, Safari and OSX apps

3,192MessagingMessaging
kubeblocks

KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s

3,154Software PackagesDevOps Tools
gosseract

Go package for OCR (Optical Character Recognition), by using Tesseract C++ library

3,139Machine LearningMachine Learning
goreporter

Golang tool that does static analysis, unit testing, code review and generate code quality report

3,123UtilitiesUtilities
g3n

Go 3D Game Engine

3,117Game DevelopmentGame Development
mergo

Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements

3,108UtilitiesUtilities
asciigraph

Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies

3,099Command LineAdvanced Console UIs
Dnote

A simple command line notebook with multi-device sync

3,088Command LineStandard CLI
pongo2

Django-like template-engine for Go

3,082Template EnginesTemplate Engines
gophers

Gopher artworks by Ashley McNamara

3,079GophersGophers
LinDB

LinDB is a scalable, high performance, high availability distributed time series database

3,066DatabaseDatabases Implemented in Go
prose

Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.

3,052Natural Language ProcessingLibraries for working with human languages.
termdash

Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui)

3,044Command LineAdvanced Console UIs
hermes

Golang package that generates clean, responsive HTML e-mails

3,039EmailEmail
bimg

Small package for fast and efficient image processing using libvips

3,039ImagesImages
algernon

HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber

3,032Server ApplicationsServer Applications
stats

Statistics package with common functions missing from the Golang standard library

3,031Science and Data AnalysisScience and Data Analysis
minio-go

Minio Go Library for Amazon S3 compatible cloud storage

3,010Third-party APIsThird-party APIs
m2cgen

A CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support

2,999Machine LearningMachine Learning
rueidis

Fast Redis RESP3 client with auto pipelining and server-assisted client side caching

2,991Database DriversNoSQL Database Drivers
gonum/plot

gonum/plot provides an API for building and drawing plots in Go

2,971Science and Data AnalysisScience and Data Analysis
retry-go

Simple library for retry mechanism

2,964UtilitiesUtilities
pagoda

Rapid, easy full-stack web development starter kit built in Go

2,958MiscellaneousProject Layout
roaring

Go package implementing compressed bitsets

2,953Data Structures and AlgorithmsBit-packing and Compression
Gokapi

Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload

2,924Software PackagesOther Software
sesh

Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide

2,903UtilitiesUtilities
CORS

Easily add CORS capabilities to your API

2,898Web FrameworksMiddlewares
aptly

aptly is a Debian repository management tool

2,890Software PackagesDevOps Tools