Awesome Go 🚀
Search for amazing Go language libraries and tools! 🔍✨
Refine Your Search
Search Results 🔍
Found 1540 Go libraries matching your search!
Ergo
3611An actor-based Framework with network transparency for creating event-driven architecture in Golang. Inspired by Erlang.
Goakt
177Fast and Distributed Actor framework using protocol buffers as message for Golang.
Hollywood
1180Blazingly fast and light-weight Actor engine written in Golang.
ProtoActor
5055Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin.
chromem-go
235Embeddable vector database for Go with Chroma-like interface and zero third-party dependencies. In-memory with optional persistence.
langchaingo
4428LangChainGo is a framework for developing applications powered by language models.
LocalAI
23787Open Source OpenAI alternative, self-host AI models.
Ollama
92508Run large language models locally.
OllamaFarm
29Manage, load-balance, and failover packs of Ollamas
flac
316Native Go FLAC encoder/decoder with support for FLAC streams.
GoAudio
346Native Go Audio Processing Library.
jwt-go
7085A full featured implementation of JSON Web Tokens (JWT). This library supports the parsing and verification as well as the generation and signing of JWTs.
jwx
1928Go module implementing various JWx (JWA/JWE/JWK/JWS/JWT, otherwise known as JOSE) technologies
gno
886A comprehensive smart contract suite built with Golang and Gnolang, a deterministic, purpose-built Go variant for blockchains.
gosamplerate
34libsamplerate bindings for go.
id3v2
336ID3 decoding and encoding library for Go.
minimp3
125Lightweight MP3 decoder library.
Oto
1567A low-level library to play sound on multiple platforms.
PortAudio
700Go bindings for the PortAudio audio I/O library.
authboss
3833Modular 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.
cosmos-sdk
6231A Framework for Building Public Blockchains in the Cosmos Ecosystem.
branca
84branca token [specification implementation](https://github.com/tuupola/branca-spec) for Golang 1.15+.
casbin
17616Authorization library that supports access control models like ACL, RBAC, and ABAC.
cookiestxt
16provides a parser of cookies.txt file format.
go-guardian
552Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication that supports LDAP, Basic, Bearer token, and Certificate based authentication.
go-jose
318Fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs.
gologin
1815chainable handlers for login with OAuth1 and OAuth2 authentication providers.
gorbac
1601provides a lightweight role-based access control (RBAC) implementation in Golang.
gosession
254This is quick session for net/http in GoLang. This package is perhaps the best implementation of the session mechanism, or at least it tries to become one.
goth
5487provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple providers out of the box.
jeff
265Simple, flexible, secure, and idiomatic web session management with pluggable backends.
jwt
354Lightweight JSON Web Token (JWT) library.
jwt
665Safe, simple, and fast JSON Web Tokens for Go.
jwt-auth
231JWT middleware for Golang http servers with many configuration options.
keto
4806Open 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.
loginsrv
1919JWT login microservice with pluggable backends such as OAuth2 (Github), htpasswd, osiam.
oauth2
5345Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine, and App Engine support.
oidc
1362Easy to use OpenID Connect client and server library written for Go and certified by the OpenID Foundation
openfga
2800Implementation of fine-grained authorization based on the "Zanzibar: Google's Consistent, Global Authorization System" paper. Backed by [CNCF](https://www.cncf.io/).
osin
1906Golang OAuth2 server library.
otpgen
137Library to generate TOTP/HOTP codes.
otpgo
67Time-Based One-Time Password (TOTP) and HMAC-Based One-Time Password (HOTP) library for Go.
paseto
852Golang implementation of Platform-Agnostic Security Tokens (PASETO).
permissions2
513Library for keeping track of users, login states, and permissions. Uses secure cookies and bcrypt.
scope
38Easily Manage OAuth2 Scopes In Go.
scs
2122Session Manager for HTTP servers.
securecookie
79Efficient secure cookie encoding/decoding.
session
117Go session management for web servers (including support for Google App Engine - GAE).
sessions
78Dead simple, highly performant, highly customizable sessions service for go http servers.
sessionup
124Simple, yet effective HTTP session management and identification package.
sjwt
118Simple jwt generator and parser.
cometbft
629A distributed, Byzantine fault-tolerant, deterministic state machine replication engine. It is a fork of Tendermint Core and implements the Tendermint consensus algorithm.
go-ethereum
47309Official Go implementation of the Ethereum protocol.
gosemble
11A Go-based framework for building Polkadot/Substrate-compatible runtimes.
gossamer
428A Go implementation of the Polkadot Host.
kubo
16096A blockchain framework implemented in Go. It provides content-addressable storage which can be used for decentralized storage in DApps. It is based on the IPFS protocol.
lnd
7653A complete implementation of a Lighting Network node.
solana-go
823Go library to interface with Solana JSON RPC and WebSocket interfaces.
tendermint
5707High-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.
bot
684Zero-dependencies Telegram Bot library with additional UI components
echotron
367An elegant and concurrent library for Telegram Bots in Go.
ephemeral-roles
90A Discord bot for managing ephemeral roles based upon voice channel member presence.
go-chat-bot
825IRC, Slack & Telegram bot written in Go.
go-sarah
261Framework to build a bot for desired chat services including LINE, Slack, Gitter, and more.
go-tg
101Generated from official docs Go client library for accessing Telegram Bot API, with batteries for building complex bots included.
go-tgbot
121Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router, and middleware.
go-twitch-irc
357Library to write bots for twitch.tv chat
Golang CryptoTrading Bot
1069A golang implementation of a console-based trading bot for cryptocurrency exchanges.
govkbot
50Simple Go [VK](https://vk.com) bot library.
hanu
155Framework for writing Slack bots.
Kelp
1097official trading and market-making bot for the [Stellar](https://www.stellar.org/) DEX. Works out-of-the-box, written in Golang, compatible with centralized exchanges and custom trading strategies.
larry
160Larry 🐦 is a really simple Twitter bot generator that tweets random repositories from Github built in Go.
margelet
86Framework for building Telegram bots.
micha
30Go Library for Telegram bot api.
olivia
3676A chatbot built with an artificial neural network.
slack-bot
180Ready to use Slack Bot for lazy developers: Custom commands, Jenkins, Jira, Bitbucket, Github...
slacker
40Easy to use framework to create Slack bots.
slackscot
56Another framework for building Slack bots.
tbot
355Telegram bot server with API similar to net/http.
telebot
3960Telegram bot framework is written in Go.
telego
535Telegram Bot API library for Golang with full one-to-one API implementation.
telegram-bot-api
5767Simple and clean Telegram bot client.
teleterm
37Telegram Bot Exec Terminal Command.
Tenyks
178Service oriented IRC bot using Redis and JSON for messaging.
wayback
1768A bot for Telegram, Mastodon, Slack, and other messaging platforms archives webpages.
1build
226Command line tool to frictionlessly manage project-specific commands.
air
17659Air - Live reload for Go apps.
anko
38Simple application watcher for multiple programming languages.
gaper
80Builds and restarts a Go project when it crashes or some watched file changes.
gob
9[Gradle](https://docs.gradle.org/)/[Maven](https://maven.apache.org/) like build tool for Go projects.
goyek
561Create build pipelines in Go.
mage
4127Mage is a make/rake-like build tool using Go.
realize
4459Go build a system with file watchers and live to reload. Run, build and watch file changes with custom paths.
Task
11207simple "Make" alternative.
taskctl
293Concurrent task runner.
xc
1166Task runner with README.md defined tasks, executable markdown.
asciigraph
2655Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.
aurora
1420ANSI terminal colors that support fmt.Printf/Sprintf.
box-cli-maker
531Make Highly Customized Boxes for your CLI.
bubble-table
445An interactive table component for bubbletea.
bubbles
5451TUI components for bubbletea.
bubbletea
27287Go framework to build terminal apps, based on The Elm Architecture.
cfmt
103Contextual fmt inspired by bootstrap color classes.
cfmt
66Simple and convenient formatted stylized output fully compatible with fmt library.
chalk
449Intuitive package for prettifying terminal/console output.
colourize
27Go library for ANSI colour text in terminals.
crab-config-files-templating
7Dynamic configuration file templating tool for kubernetes manifest or general configuration files.
simpletable
528Simple tables in a terminal with Go.
spinner
2333Go package to easily provide a terminal spinner with options.
ctc
47The non-invasive cross-platform terminal color library does not need to modify the Print method.
go-ataman
17Go library for rendering ANSI colored text templates in terminals.
go-colorable
762Colorable writer for windows.
go-colortext
214Go library for color output in terminals.
go-isatty
827isatty for golang.
go-palette
17Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the [fmt library](https://pkg.go.dev/fmt) for nice terminal layouts.
go-prompt
5273Library for building a powerful interactive prompt, inspired by [python-prompt-toolkit](https://github.com/jonathanslenders/python-prompt-toolkit).
gocui
9875Minimalist Go library aimed at creating Console User Interfaces.
gookit/color
1503Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.
lipgloss
7979Declaratively define styles for color, format and layout in the terminal.
marker
48Easiest way to match and mark strings for colorful terminal outputs.
mpb
2300Multi progress bar for terminal applications.
progressbar
4082Basic thread-safe progress bar that works in every OS.
pterm
4780A library to beautify console output on every platform with many combinable components.
tabby
355A tiny library for super simple Golang tables.
table
50Small library for terminal color based tables.
tabular
75Print ASCII tables from command line utilities without the need to pass large sets of data to the API.
termbox-go
4666Termbox is a library for creating cross-platform text-based interfaces.
termdash
2704Go terminal dashboard based on **termbox-go** and inspired by [termui](https://github.com/gizak/termui).
termenv
1734Advanced ANSI style & color support for your terminal applications.
termui
13164Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib).
uilive
1692Library for updating terminal output in real time.
uiprogress
2099Flexible library to render progress bars in terminal applications.
wmenu
216Easy to use menu structure for cli applications that prompt users to make choices.
uitable
735Library to improve readability in terminal apps using tabular data.
yacspin
439Yet Another CLi Spinner package, for working with terminal spinners.
acmd
115Simple, useful, and opinionated CLI package in Go.
argparse
605Command line argument parser inspired by Python's argparse module.
argv
41Go library to split command line string as arguments array using the bash syntax.
carapace
321Command argument completion generator for spf13/cobra.
harvester
131Harvester, an easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration.
hjson
331Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments.
hocon
77Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files.
ingo
38Flags persisted in an ini-like config file.
carapace-bin
863Multi-shell multi-command argument completer.
carapace-spec
17Define simple completions using a spec file.
climax
216Alternative CLI with "human face", in spirit of Go command.
clîr
177A Simple and Clear CLI library. Dependency free.
cmd
41Extends the standard `flag` package to support sub commands and more in idiomatic way.
cmdr
135A POSIX/GNU style, getopt-like command-line UI Go library.
cobra
37824Commander for modern Go CLI interactions.
command-chain
60A go library for configure and run command chains - such as pipelining in unix shells.
commandeer
173Dev-friendly CLI apps: sets up flags, defaults, and usage based on struct fields and tags.
complete
928Write bash completions in Go + Go command bash completion.
Dnote
2775A simple command line notebook with multi-device sync.
elvish
5654An expressive programming language and a versatile interactive shell.
env
114Tag-based environment configuration for structs.
flag
131Simple but powerful command line option parsing library for Go supporting subcommand.
flaggy
856A robust and idiomatic flags package with excellent subcommand support.
flagvar
43A collection of flag argument types for Go's standard `flag` package.
go-andotp
30A CLI program to encrypt/decrypt [andOTP](https://github.com/andOTP/andOTP) files. Can be used as a library as well.
go-arg
2005Struct-based argument parsing in Go.
go-commander
35Go library to simplify CLI workflow.
go-flags
2570go command line option parser.
go-getoptions
55Go option parser inspired by the flexibility of Perl’s GetOpt::Long.
gocmd
66Go library for building command line applications.
sonic
6802A blazingly fast JSON serializing & deserializing library.
gdcache
13A pure non-intrusive cache library implemented by golang, you can use it to implement your own distributed cache.
sqrl
275SQL query builder, fork of Squirrel with improved performance.
job
145JOB, make your short-term command as a long-term job.
kingpin
3488Command line and flag parser supporting sub commands (superseded by `kong`; see below).
liner
1045Go readline-like library for command-line interfaces.
mcli
30A minimal but very powerful cli library for Go.
mitchellh/cli
1730Go library for implementing command-line interfaces.
mkideal/cli
731Feature-rich and easy to use command-line package based on golang struct tags.
mow.cli
871Go library for building CLI applications with sophisticated flag and argument parsing and validation.
ops
1276Unikernel Builder/Orchestrator.
pflag
2402Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags.
sand
26Simple API for creating interpreters and so much more.
sflags
150Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin, and other libraries.
strumt
60Library to create prompt chain.
subcmd
8Another approach to parsing and running subcommands. Works alongside the standard `flag` package.
survey
4088Build interactive and accessible prompts with full support for windows and posix terminals.
teris-io/cli
129Simple and complete API for building command line interfaces in Go.
ts
20Timestamp convert & compare tool.
ukautz/clif
129Small command line interface framework.
urfave/cli
22251Simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli).
version
97Collects and displays CLI version information in multiple formats along with upgrade notice.
wlog
66Simple logging interface that supports cross-platform color and concurrency.
aconfig
540Simple, useful and opinionated config loader.
bcl
19BCL is a configuration language similar to HCL.
cleanenv
1621Minimalistic configuration reader (from files, ENV, and wherever you want).
config
336Cloud native application configuration. Bind ENV to structs in only two lines.
config
49configure your app using file, environment variables, or flags in two lines of code
configuration
108Library for initializing configuration structs from env variables, files, flags and 'default' tag.
configure
56Provides configuration through multiple sources, including JSON, flags and environment variables.
configuro
94opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications.
confiq
35Structured data format to config struct decoder library for Go - supporting multiple data formats
confita
495Load configuration in cascade from multiple backends into a struct.
conflate
32Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema.
env
4850Parse environment variables to Go structs (with defaults).
env
63A lightweight package for loading environment variables into structs.
env
4An environment utility package with support for unmarshaling into structs
envconfig
240Read your configuration from environment variables.
envh
99Helpers to manage environment variables.
fig
377Tiny library for reading configuration from a file and from environment variables (with validation & defaults).
genv
38Read environment variables easily with dotenv support.
omniparser
932A 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.
go-array
19A Go package that read or set data from map, slice or json.
go-aws-ssm
58Go package that fetches parameters from AWS System Manager - Parameter Store.
go-cfg
42The library provides a unified way to read configuration data into a structure from various sources, such as env, flags, and configuration files (.json, .yaml, .toml, .env).
go-conf
10Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters.
go-ini
14A Go package that marshals and unmarshals INI-files.
go-ssm-config
22Go utility for loading configuration parameters from AWS SSM (Parameter Store).
go-up
43A simple configuration library with recursive placeholders resolution and no magic.
GoCfg
6Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple.
godotenv
8254Go port of Ruby's dotenv library (Loads environment variables from `.env`).
gofigure
68Go application configuration made easy.
GoLobby/Config
364GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language.
gonfig
9Tag-based configuration parser which loads values from different providers into typesafe struct.
gookit/config
535application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge.
ini
3449Go package to read and write INI files.
ini
15INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file.
joshbetz/config
215Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.
kelseyhightower/envconfig
5026Go library for managing configuration data from environment variables.
koanf
2720Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line.
konf
227The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP).
konfig
648Composable, observable and performant config handling for Go for the distributed processing era.
kong
2095Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to `kingpin`).
mini
35Golang package for parsing ini-style configuration files.
nasermirzaei89/env
18Simple useful package for read environment variables.
nfigure
7Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML
onion
116Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP.
piper
8Viper wrapper with config inheritance and key generation.
store
273Lightweight configuration manager for Go.
swap
8Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).
typenv
9Minimalistic, zero dependency, typed environment variables library.
uConfig
70Lightweight, zero-dependency, and extendable configuration management.
xdg
686Go implementation of the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/) and [XDG user directories](https://wiki.archlinux.org/index.php/XDG_user_directories).
xdg
79Cross platform package that follows the [XDG Standard](https://specifications.freedesktop.org/basedir-spec/latest/).
yamagiconf
16The "safe subset" of YAML for Go configs.
bingo
40Fast, zero-allocation, lexicographical-order-preserving packing of native types to bytes.
bit
157Golang set data structure with bonus bit-twiddling functions.
Squirrel
6889Go library that helps you build SQL queries.
abstruse
937Abstruse is a distributed CI platform.
CDS
4565Enterprise-Grade CI/CD and DevOps Automation Open Source Platform.
dot
18A minimal, local first continuous integration system that uses Docker to run jobs concurrently in stages.
drone
32164Drone is a Continuous Integration platform built on Docker, written in Go.
go-beautiful-html-coverage
12A GitHub Action to track code coverage in your pull requests, with a beautiful HTML preview, for free.
go-fuzz-action
15Use Go 1.18's built-in fuzz testing in GitHub Actions.
go-semver-release
10Automate the semantic versioning of Git repositories.
go-test-coverage
84Tool and GitHub action which reports issues when test coverage is below set threshold.
gomason
65Test, Build, Sign, and Publish your go binaries from a clean workspace.
gotestfmt
506go test output for humans.
goveralls
789Go integration for Coveralls.io continuous code coverage tracking system.
muffet
2496Fast website link checker in Go, see [alternatives](https://github.com/lycheeverse/lychee#features).
binpacker
220Binary packer and unpacker helps user build custom binary stream.
crunch
96Go package implementing buffers for handling various datatypes easily.
overalls
114Multi-Package go project coverprofile for tools like goveralls.
roveralls
20Recursive coverage testing tool.
woodpecker
4176Woodpecker is a community fork of the Drone CI system.
go-libsass
205Go wrapper to the 100% Sass compatible libsass project.
Benthos
8102A message streaming bridge between a range of protocols.
CloudQuery
5817A high-performance ELT data integration framework with pluggable architecture.
go-ef
31A Go implementation of the Elias-Fano encoding.
roaring
2480Go package implementing compressed bitsets.
bitmap
304Dense, zero-allocation, SIMD-enabled bitmap/bitset in Go.
bitset
1329Go package implementing bitsets.
bloom
2416Go package implementing Bloom filters.
bloom
147Bloom filters implemented in Go.
bloom
86Golang Bloom filter implementation.
bloomfilter
17Yet another Bloomfilter implementation in Go, compatible with Java's Guava library.
boomfilters
1592Probabilistic data structures for processing continuous, unbounded streams.
cuckoo-filter
294Cuckoo filter: a comprehensive cuckoo filter, which is configurable and space optimized compared with other implements, and all features mentioned in original paper are available.
goradd/maps
39Go 1.18+ generic map interface for maps; safe maps; ordered maps; ordered, safe maps; etc.
go-cache
138A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern.
cuckoofilter
1117Cuckoo filter: a good alternative to a counting bloom filter implemented in Go.
ring
138Go implementation of a high performance, thread safe bloom filter.
algorithms
803Algorithms and data structures.CLRS study.
go-datastructures
7650Collection of useful, performant, and thread-safe data structures.
gods
16211Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc.
gostl
1045Data structure and algorithm library for go, designed to provide functions similar to C++ STL.
goterator
16Iterator implementation to provide map and reduce functionalities.
iter
186Go implementation of C++ STL iterators and algorithms.
cmap
91a thread-safe concurrent map for go, support using `interface{}` as key and auto scale up shards.
dict
45Python-like dictionaries (dict) for Go.
go-shelve
6A persistent, map-like object for the Go programming language. Supports multiple embedded key-value stores.
concurrent-writer
54Highly concurrent drop-in replacement for `bufio.Writer`.
conjungo
127A small, powerful and flexible merge library.
count-min-log
66Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory).
fsm
63Finite-State Machine package.
genfuncs
51Go 1.18+ generics package inspired by Kotlin's Sequence and Map.
go-generics
73Generic slice, map, set, iterator, and goroutine utilities.
go-geoindex
355In-memory geo index.
go-rampart
101Determine how intervals relate to each other.
go-rquad
134Region quadtrees with efficient point location and neighbour finding.
go-tuple
82Generic tuple implementation for Go 1.18+.
go18ds
45Go Data Structures using Go 1.18 generics.
memlog
118An easy to use, lightweight, thread-safe and append-only in-memory data structure inspired by Apache Kafka.
Vasto
261A distributed high-performance key-value store. On Disk. Eventual consistent. HA. Able to grow or shrink without service interruption.
go-micro
21864A distributed systems development framework.
gofal
18fractional api for Go.
gogu
97A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library.
gota
3040Implementation of dataframes, series, and data wrangling methods for Go.
hide
69ID type with marshalling to/from hash to prevent sending IDs to clients.
hilbert
278Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
hyperloglog
939HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction.
quadtree
36Generic, zero-alloc, 100%-test covered quadtree.
queue
267Multiple thread-safe, generic queue implementations for Go.
xo
3718Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server.
slices
17Functions that operate on slices; like `package strings` but adapted to work with slices.
slices
20Pure, generic functions for slices.
nan
85Zero allocation Nullable structures in one library with handy conversion functions, marshallers and unmarshallers.
null
36Nullable Go types that can be marshalled/unmarshalled to/from JSON.
typ
46Null Types, Safe primitive type conversion and fetching value from complex structures.
deque
180A highly optimized double-ended queue.
deque
570Fast ring-buffer deque (double-ended queue).
goconcurrentqueue
392Concurrent FIFO queue.
dsu
14Disjoint Set data structure implementation in Go.
golang-set
4153Thread-Safe and Non-Thread-Safe high-performance sets for Go.
goset
52A useful Set collection implementation for Go.
set
27Simple set data structure implementation in Go using LinkedHashMap.
bleve
10032Modern text indexing library for go.
go-adaptive-radix-tree
359Go implementation of Adaptive Radix Tree.
go-edlib
476Go string comparison and edit distance algorithms library (Levenshtein, LCS, Hamming, Damerau levenshtein, Jaro-Winkler, etc.) compatible with Unicode.
levenshtein
85Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix.
levenshtein
351Implementation to calculate levenshtein distance in Go.
bcache
152Eventually consistent distributed in-memory cache Go library.
BigCache
7499Efficient key/value cache for gigabytes of data.
VictoriaMetrics
12056fast, resource-effective and scalable open source time series database. May be used as long-term remote storage for Prometheus. Supports PromQL.
goriak
30Go language driver for Riak KV.
mspm
25Multi-String Pattern Matching Algorithm for information retrieval.
parsefields
8Tools for parse JSON-like logs for collecting unique fields and events.
ptrie
39An implementation of prefix tree.
trie
758Trie implementation in Go.
hashsplit
29Split byte streams into chunks, and arrange chunks into trees, with boundaries determined by content, not position.
merkle
17Space-efficient computation of Merkle root hashes and inclusion proofs.
skiplist
276Very fast Go Skiplist implementation.
Kivik
314Kivik provides a common Go and GopherJS client library for CouchDB, PouchDB, and similar databases.
skiplist
84Skiplist implementation in Go.
treap
27Persistent, fast ordered map using tree heaps.
treemap
59Generic key-sorted map using a red-black tree under the hood.
ordered-concurrently
38Go module that processes work concurrently and returns output in a channel in the order of input.
parapipe
31FIFO Pipeline which parallels execution on each stage while maintaining the order of messages and results.
pipeline
57An implementation of pipelines with fan-in and fan-out.
2q
402Q in-memory cache implementation.
cache
184In-memory key:value store with expiration time, 0 dependencies, <100 LoC, 100% coverage.
cache2go
2114In-memory key:value cache which supports automatic invalidation based on timeouts.
cachego
369Golang Cache component for multiple drivers.
clusteredBigCache
45BigCache with clustering support and individual item expiration.
coherence-go-client
10Full implementation of Oracle Coherence cache API for Go applications using gRPC as network transport.
couchcache
63RESTful caching micro-service backed by Couchbase server.
EchoVault
393Embeddable Distributed in-memory data store compatible with Redis clients.
fastcache
2111fast thread-safe inmemory cache for big number of entries. Minimizes GC overhead.
GCache
2592Cache library with support for expirable Cache, LFU, LRU and ARC.
go-mcache
97Fast in-memory key:value store/cache library. Pointer caches.
gocache
2437A complete Go cache library with multiple stores (memory, memcache, redis, ...), chainable, loadable, metrics cache and more.
gocache
9A data race free Go ache library with high performance and auto pruge functionality
groupcache
12898Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases.
icache
16A High Performance, Generic, thread-safe, zero-dependency cache package.
imcache
122A generic in-memory cache Go library. It supports expiration, sliding expiration, max entries limit, eviction callbacks and sharding.
nscache
10A Go caching framework that supports multiple data source drivers.
otter
1666A high performance lockless cache for Go. Many times faster than Ristretto and friends.
remember-go
139A universal interface for caching slow database queries (backed by redis, memcached, ristretto, or in-memory).
sturdyc
322A caching library with advanced concurrency features designed to make I/O heavy applications robust and highly performant.
theine
255High performance, near optimal in-memory cache with proactive TTL expiration and generics.
timedmap
71Map with expiring key-value pairs.
ttlcache
932An in-memory cache with item expiration and generics.
atlas
5780A Database Toolkit. A CLI designed to help companies better work with their data.
avro
45Discover SQL schemas and convert them to AVRO schemas. Query SQL records into AVRO bytes.
bytebase
11215Safe database schema change and version control for DevOps teams.
darwin
144Database schema evolution library for Go.
ttlcache
9In-memory key value storage with TTL for each record.
badger
13848Fast key-value store in Go.
bbolt
8176An embedded key/value database for Go.
Bitcask
27Bitcask is an embeddable, persistent and fast key-value (KV) database written in pure Go with predictable read/write performance, low latency and high throughput thanks to the bitcask on-disk layout (LSM+WAL).
buntdb
4549Fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support.
clover
677A lightweight document-oriented NoSQL database written in pure Golang.
cockroach
29985Scalable, Geo-Replicated, Transactional Datastore.
Coffer
38Simple ACID key-value database that supports transactions.
column
1429High-performance, columnar, embeddable in-memory store with bitmap indexing and transactions.
CovenantSQL
1494CovenantSQL is a SQL database on blockchain.
Databunker
1249Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.
dgraph
20364Scalable, Distributed, Low Latency, High Throughput Graph Database.
diskv
1400Home-grown disk-backed key-value store.
dolt
17825Dolt – It's Git for Data.
dtf
211A distributed transaction manager. Support XA, TCC, SAGA, Reliable Messages.
eliasdb
998Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language.
godis
3470A Golang implemented high-performance Redis server and cluster.
dbmate
5316A lightweight, framework-agnostic database migration tool.
mgm
747MongoDB model-based ODM for Go (based on official MongoDB driver).
mgo
1972(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.
goleveldb
6143Implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in Go.
hare
93A simple database management system that stores each table as a text file of line-delimited JSON.
immudb
8571immudb is a lightweight, high-speed immutable database for systems and applications written in Go.
influxdb
28745Scalable datastore for metrics, events, and real-time analytics.
ledisdb
4097Ledisdb is a high performance NoSQL like Redis based on LevelDB.
levigo
414Levigo is a Go wrapper for LevelDB.
libradb
168LibraDB is a simple database with less than 1000 lines of code for learning.
LinDB
2997LinDB is a scalable, high performance, high availability distributed time series database.
skeema
1264Pure-SQL schema management system for MySQL, with support for sharding and external online schema change tools.
sql-migrate
3200Database migration tool. Allows embedding migrations into the application using go-bindata.
sqlize
97Database migration generator. Allows generate sql migration from model and existing sql by differ them.
mongo-go-driver
8127Official MongoDB driver for the Go language.
go-mysql-lock
61MySQL based distributed lock.
lotusdb
2056Fast k/v database compatible with lsm and b+tree.
Milvus
29801Milvus is a vector database for embedding management, analytics and search.
moss
955Moss is a simple LSM key-value storage engine written in 100% Go.
nutsdb
3378Nutsdb 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.
objectbox-go
1095High-performance embedded Object Database (NoSQL) with Go API.
pebble
4811RocksDB/LevelDB inspired key-value database in Go.
piladb
206Lightweight RESTful database engine based on stack data structures.
pogreb
1300Embedded key-value store for read-heavy workloads.
prometheus
55174Monitoring system and time series database.
pudge
368Fast and simple key/value store written using Go's standard library.
rosedb
4578An embedded k-v database based on LSM+WAL, supports string, list, hash, set, zset.
rotom
40A tiny Redis server built with Golang, compatible with RESP protocols.
rqlite
15661The lightweight, distributed, relational database built on SQLite.
tempdb
19Key-value store for temporary items.
tidb
37016TiDB is a distributed SQL database. Inspired by the design of Google F1.
tiedot
2721Your NoSQL database powered by Golang.
unitdb
119Fast timeseries database for IoT, realtime messaging applications. Access unitdb with pubsub over tcp or websocket using github.com/unit-io/unitd application.
go-fixtures
29Django style fixtures for Golang's excellent built-in database/sql library.
go-pg-migrate
10CLI-friendly package for go-pg migrations management.
go-pg-migrations
84A Go package to help write migrations with go-pg/pg.
goavro
974A Go package that encodes and decodes Avro data.
godfish
7Database migration manager, works with native query language. Support for cassandra, mysql, postgres, sqlite3.
goose
6829Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts.
gorm-seeder
13Simple database seeder for Gorm ORM.
gormigrate
1038Database schema migration helper for Gorm ORM.
libschema
15Define your migrations separately in each library. Migrations for open source libraries. MySQL & PostgreSQL.
migrate
15191Database migrations. CLI and Golang library.
migrator
170Dead simple Go database migration library.
migrator
25MySQL database migrator designed to run migrations to your features and manage database schema update with intuitive go code.
schema
33Library to embed schema migrations for database/sql-compatible databases inside your Go binaries.
chproxy
1276HTTP proxy for ClickHouse database.
clickhouse-bulk
474Collects small inserts and sends big requests to ClickHouse servers.
dbbench
100Database benchmarking tool with support for several databases and scripts.
dg
31A fast data generator that produces CSV files from generated relational data.
dynago
12Simplify working with AWS DynamoDB.
gatewayd
218Cloud-native database gateway and framework for building data-driven applications. Like API gateways, for databases.
go-mysql
4580Go toolset to handle MySQL protocol and replication.
gorm-multitenancy
39Multi-tenancy support for GORM managed databases.
octillery
192Go package for sharding databases ( Supports every ORM or raw SQL ).
onedump
92Database backup from different drivers to different destinations with one command and configuration.
pg_timetable
1085Advanced scheduling for PostgreSQL.
pgweb
8599Web-based PostgreSQL database browser.
prep
33Use prepared SQL statements without changing your code.
pREST
4207Simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new.
rdb
387Redis RDB file parser for secondary development and memory analysis.
rwdb
19rwdb provides read replica capability for multiple database servers setup.
vitess
18486vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services.
wescale
199WeScale is a database proxy designed to enhance the scalability, performance, security, and resilience of your applications.
bqb
147Lightweight and easy to learn query builder.
buildsqlx
170Go database query builder library for PostgreSQL.
dbq
404Zero boilerplate database operations for Go.
Dotsql
737Go library that helps you keep sql files in one place and use them with ease.
gendry
1616Non-invasive SQL builder and powerful data binder.
godbal
59Database Abstraction Layer (dbal) for go. Support SQL builder and get result easily.
goqu
2376Idiomatic SQL builder and query library.
gosql
32SQL Query builder with better null values support.
Hotcoal
19Secure your handcrafted SQL against injection.
igor
125Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax.
jet
2538Framework for writing type-safe SQL queries in Go, with ability to easily convert database query result into desired arbitrary object structure.
ormlite
14Lightweight package containing some ORM-like features and helpers for sqlite databases.
ozzo-dbx
634Powerful data retrieval methods as well as DB-agnostic query building capabilities.
qry
35Tool that generates constants from files with raw SQL queries.
sg
6A SQL Gen for generating standard SQLs(supports: CRUD) written in Go.
sq
196Type-safe SQL builder and struct mapper for Go.
sqlingo
407A lightweight DSL to build SQL in Go.
heimdall
2622An enhanced http client with retry and hystrix capabilities.
cayley
14847Graph database with support for multiple backends.
dsc
33Datastore connectivity for SQL, NoSQL, structured files.
dynamo
18A simple key-value abstraction to store algebraic and linked-data data types at AWS storage services: AWS DynamoDB and AWS S3.
go-transaction-manager
226Transaction manager with multiple adapters (sql, sqlx, gorm, mongo, ...) controls transaction boundaries.
gokv
738Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more).
avatica
118Apache Avatica/Phoenix SQL driver for database/sql.
bgc
21Datastore Connectivity for BigQuery for go.
firebirdsql
227Firebird RDBMS SQL driver for Go.
go-adodb
142Microsoft ActiveX Object DataBase driver for go that uses database/sql.
go-mssqldb
1817Microsoft MSSQL driver for Go.
go-pdu
47A decentralized identity-based social network.
go-sundheit
536A library built to provide support for defining async service health checks for golang services.
golua
640Go bindings for Lua C API.
go-oci8
630Oracle driver for go that uses database/sql.
go-sql-driver/mysql
14485MySQL driver for Go.
go-sqlite3
7914SQLite3 driver for go that uses database/sql.
godror
528Oracle driver for Go, using the ODPI-C driver.
gofreetds
113Microsoft MSSQL driver. Go wrapper over [FreeTDS](https://www.freetds.org).
KSQL
309A Simple and Powerful Golang SQL Library
pgx
10495PostgreSQL driver supporting features beyond those exposed by database/sql.
pig
16Simple [pgx](https://github.com/jackc/pgx) wrapper to execute and [scan](https://github.com/georgysavva/scany) query results easily.
pq
9047Pure Go Postgres driver for database/sql.
sqlhooks
650Attach hooks to any database/sql driver.
surrealdb.go
237SurrealDB Driver for Go.
ydb-go-sdk
138native and database/sql driver YDB (Yandex Database)
aerospike-client-go
432Aerospike client in Go language.
arangolite
72Lightweight golang driver for ArangoDB.
asc
10Datastore Connectivity for Aerospike for go.
forestdb
37Go bindings for ForestDB.
go-zero
29025A web and rpc framework. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
gorpc
696Simple, fast and scalable RPC library for high load.
grpc-go
20967The Go language implementation of gRPC. HTTP/2 based RPC.
go-couchbase
321Couchbase client in Go.
go-mongox
121A Go Mongo library based on the official driver, featuring streamlined document operations, generic binding of structs to collections, built-in CRUD, aggregation, automated field updates, struct validation, hooks, and plugin-based programming.
go-pilosa
58Go client library for Pilosa.
go-rejson
343Golang client for redislabs' ReJSON module using Redigo golang client. Store and manipulate structs as JSON objects in redis with ease.
gocosmos
22REST client and standard `database/sql` driver for Azure Cosmos DB.
godis
111redis client implement by golang, inspired by jedis.
godscache
11A wrapper for the Google Cloud Platform Go Datastore package that adds caching using memcached.
gomemcached
19A binary Memcached client for Go with support for sharding using consistent hashing, along with SASL.
gorethink
1648Go language driver for RethinkDB.
neo4j
28Neo4j Rest API Bindings for Golang.
Neo4j-GO
78Neo4j REST Client in golang.
qmgo
1300The MongoDB driver for Go. It‘s based on official MongoDB driver but easier to use like Mgo.
redeo
438Redis-protocol compatible TCP servers/services.
redigo
9747Redigo is a Go client for the Redis database.
rueidis
2392Fast Redis RESP3 client with auto pipelining and server-assisted client side caching.
xredis
19Typesafe, customizable, clean & easy to use Redis client.
effdsl
25Elasticsearch query builder for Go.
elastic
7399Elasticsearch client for Go.
elasticsql
1167Convert sql to elasticsearch dsl in Go.
elastigo
942Elasticsearch client library.
go-elasticsearch
5655Official Elasticsearch client for Go.
strftime
12C99-compatible strftime formatter.
timespan
83For interacting with intervals of time, defined as a start time and a duration.
goes
31Library to interact with Elasticsearch.
skizze
89probabilistic data-structures service and storage.
approx
12A Duration extension supporting parsing/printing durations in days, weeks and years.
carbon
4705A simple, semantic and developer-friendly golang package for datetime.
carbon
774Simple Time extension with a lot of util methods, ported from PHP Carbon library.
cronrange
18Parses Cron-style time range expressions, checks if the given time is within any ranges.
date
131Augments Time for working with dates, date ranges, time spans, periods, and time-of-day.
dateparse
2037Parse date's without knowing format in advance.
anko
1468Scriptable interpreter written in Go.
durafmt
494Time duration formatting library for Go.
feiertage
48Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving...
go-anytime
20Parse dates/times like "next dec 22nd at 3pm" and ranges like "from today until next thursday" without knowing the format in advance.
go-datebin
4A simple datetime parse pkg.
go-persian-calendar
204The implementation of the Persian (Solar Hijri) Calendar in Go (golang).
go-str2duration
101Convert string to duration. Support time.Duration returned string and more.
timeutil
192Useful extensions (Timedelta, Strftime, ...) to the golang's time package.
binder
75Go to Lua binding library, based on [gopher-lua](https://github.com/yuin/gopher-lua).
go-sunrise
145Calculate the sunrise and sunset times for a given location.
go-week
9An efficient package to work with ISO8601 week dates.
gostradamus
202A Go package for working with dates.
iso8601
144Efficiently parse ISO8601 date-times without regex.
kair
24Date and Time - Golang Formatting Library.
now
4433Now is a time toolkit for golang.
cel-go
2226Fast, portable, non-Turing complete expression evaluation with gradual typing.
ecal
42A simple embeddable scripting language which supports concurrent event processing.
expr
6170Expression evaluation engine for Go: fast, non-Turing complete, dynamic typing, static typing.
tuesday
12Ruby-compatible Strftime function.
arpc
950More effective network communication, support two-way-calling, notify, broadcast.
bedrock
6Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go.
capillaries
61distributed batch data processing framework.
celeriac
72Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
consistent
690Consistent hashing with bounded loads.
consistenthash
27Consistent hashing with configurable replicas.
dht
310BitTorrent Kademlia DHT implementation.
digota
509grpc ecommerce microservice.
doublejump
102A revamped Google's jump consistent hash.
dragonboat
5062A feature complete and high performance multi-group Raft library in Go.
Dragonfly
2223Provide 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.
drmaa
48Job submission library for cluster schedulers based on the DRMAA standard.
gmsec
25A Go distributed systems development framework.
Fiber
33471An Express.js inspired web framework build on Fasthttp.
dynatomic
17A library for using DynamoDB as an atomic counter.
emitter-io
3841High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love.
evans
4251Evans: more expressive universal gRPC client.
failured
12adaptive accrual failure detector for distributed systems.
flowgraph
59flow-based programming package.
gleam
3441Fast 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.
glow
3201Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go.
go-doudou
1430A gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. Built-in go-doudou cli focusing on low-code and rapid dev can power up your productivity.
go-health
748Library for enabling asynchronous dependency health checks in your service.
go-jump
383Port of Google's "Jump" Consistent Hash function.
go-kit
26540Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc.
hprose
1260Very newbility RPC Library, support 25+ languages now.
jsonrpc
188The jsonrpc package helps implement of JSON-RPC 2.0.
jsonrpc
327JSON-RPC 2.0 HTTP client implementation.
K8gb
866A cloud native Kubernetes Global Balancer.
Kitex
6959A 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.
Kratos
23202A modular-designed and easy-to-use microservices framework in Go.
liftbridge
2569Lightweight, fault-tolerant message streams for NATS.
lura
6323Ultra performant API Gateway framework with middlewares.
micro
12120A distributed systems runtime for the cloud and beyond.
mochi mqtt
1226Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub.
NATS
15715Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
outboxer
157Outboxer is a go library that implements the outbox pattern.
raft
8183Golang implementation of the Raft consensus protocol, by HashiCorp.
raft
645Go implementation of the Raft consensus protocol, by CoreOS.
rain
966BitTorrent client and library.
redis-lock
1440Simplified distributed locking implementation using Redis.
gentee
133Embeddable scripting programming language.
go-php
929PHP bindings for Go.
ringpop-go
828Scalable, fault-tolerant application-layer sharding for Go applications.
rpcx
8088Distributed pluggable RPC service framework like alibaba Dubbo.
Semaphore
94A straightforward (micro) service orchestrator.
sleuth
373Library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)).
sponge
1315A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks.
Tarmac
327Framework for writing functions, microservices, or monoliths with WebAssembly
Temporal
524Durable execution system for making code fault-tolerant and simple.
torrent
5514BitTorrent client package.
trpc-go
809The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework.
DDNS
253Personal DDNS client with Digital Ocean Networking DNS as backend.
GoDNS
1505A dynamic DNS client tool, supports DNSPod & HE.net, written in Go.
douceur
246CSS inliner for your HTML emails.
go-python
1523naive go bindings to the CPython C-API.
goal
3An embeddable scripting array language.
A robust and flexible email library for Go.
email-verifier
1191A Go library for email verification without sending any emails.
go-dkim
98DKIM library, to sign & verify email.
go-email-normalizer
63Golang library for providing a canonical representation of email address.
go-email-validator
51Modular email validator for syntax, disposable, smtp, etc... checking.
go-imap
2076IMAP library for clients and servers.
go-mail
627A simple Go library for sending mails in Go.
go-message
382Streaming library for the Internet Message Format and mail messages.
goja
5500ECMAScript 5.1(+) implementation in Go.
go-premailer
140Inline styling for HTML mail in Go.
go-simple-mail
645Very simple package to send emails with SMTP Keep Alive and two timeouts: Connect and Send.
hermes
2819Golang package that generates clean, responsive HTML e-mails.
Maddy
5040All-in-one (SMTP, IMAP, DKIM, DMARC, MTA-STS, DANE) email server
mailchain
143Send encrypted emails to blockchain addresses written in Go.
mailgun-go
696Go library for sending mail with the Mailgun API.
MailHog
13939Email and SMTP testing with web and API interface.
Mailpit
5499Email and SMTP testing tool for developers.
mailx
19Mailx is a library that makes it easier to send email via SMTP. It is an enhancement of the golang standard library `net/smtp`.
mox
3560Modern full-featured secure mail server for low-maintenance, self-hosted email.
SendGrid
982SendGrid's Go library for sending email.
smtp
74SMTP server protocol state machine.
smtpmock
123Lightweight configurable multithreaded fake SMTP server. Mimic any SMTP behaviour for your test environment.
truemail-go
102Configurable Golang email validator/verifier. Verify email via Regex, DNS, SMTP and even more.
gopher-lua
6232Lua 5.1 VM and compiler written in Go.
gval
731A highly customizable expression language written in Go.
metacall
1561Cross-platform Polyglot Runtime which supports NodeJS, JavaScript, TypeScript, Python, Ruby, C#, WebAssembly, Java, Cobol and more.
ngaro
28Embeddable Ngaro VM implementation enabling scripting in Retro.
prolog
613Embeddable Prolog.
purl
41Perl 5.18.2 embedded in Go.
starlark-go
2317Go implementation of Starlark: Python-like language with deterministic evaluation and hermetic execution.
starlet
19Go wrapper for [starlark-go](https://github.com/google/starlark-go) that simplifies script execution, offers data conversion, and useful Starlark libraries and extensions.
tengo
3525Bytecode compiled script language for Go.
Wa/凹语言
1093The Wa Programming Language embedded in Go.
emperror
341Error handling tools and best practices for Go libraries and applications.
eris
1491A better way to handle, trace, and log errors in Go. Compatible with the standard error library and github.com/pkg/errors.
errlog
459Hackable package that determines responsible source code for an error (and some other fast-debugging features). Pluggable to any logger in-place.
errors
196Drop-in replacement for the standard library errors package and github.com/pkg/errors. Provides various error handling primitives.
errors
6Simple golang error handling with classification primitives.
errors
7The most simple error wrapper with awesome performance and minimal memory overhead.
errors
64Drop-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.
errors
2089Go error library with error portability over the network.
errorx
1123A feature rich error package with stack traces, composition of errors and more.
exception
31A simple utility package for exception handling with try-catch in Golang.
Falcon
11A Simple Yet Highly Powerful Package For Error Handling.
Fault
162An ergonomic mechanism for wrapping errors in order to facilitate structured metadata and context for error values.
go-multierror
2322Go (golang) package for representing a list of errors as a single error.
multierr
1021Package for representing a list of errors as a single error.
oops
410Error handling with context, stack trace and source fragments.
tracerr
983Golang errors with stack trace and source fragments.
afero
5928FileSystem Abstraction System for Go.
afs
302Abstract File Storage (mem, scp, zip, tar, cloud: s3, gs) for Go.
currency
539Handles currency amounts, provides currency information and formatting.
baraka
55A library to process http file uploads easily.
bigfile
252A file transfer system, support to manage files with http api, rpc call and ftp client.
checksum
104Compute message digest, like MD5, SHA256, SHA1, CRC or BLAKE2s, for large files.
copy
717Copy directory recursively.
flop
33File operations library which aims to mirror feature parity with [GNU cp](https://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html).
gdu
3879Disk usage analyzer with console interface.
go-csv-tag
121Load csv file using tag.
go-decent-copy
22Copy files for humans.
go-exiftool
249Go bindings for ExifTool, the well-known library used to extract as much metadata as possible (EXIF, IPTC, ...) from files (pictures, PDF, office, ...).
currency
61High performant & accurate currency computation package.
decimal
6310Arbitrary-precision fixed-point decimal numbers.
decimal
73Immutable decimal numbers with panic-free arithmetic.
go-gtfs
44Load gtfs files in go.
go-wkhtmltopdf
1048A package to convert an HTML template to a PDF file.
gofs
467A cross-platform real-time file synchronization tool out of the box.
gut/yos
27Simple and reliable package for file operations like copy/move/diff/list on files, directories and symbolic links.
higgs
24A tiny cross-platform Go library to hide/unhide files and directories.
iso9660
262A package for reading and creating ISO9660 disk images
notify
906File system event notification library with simple API, similar to os/signal.
fpdecimal
30Fast and precise serialization and arithmetic for small fixed-point decimals
fpmoney
29Fast and simple ISO4217 fixed-point decimal money.
raylib-go
1571Go bindings for [raylib](https://www.raylib.com/), a simple and easy-to-use library to learn videogames programming.
termloop
1429Terminal-based game engine for Go, built on top of Termbox.
tile
154Data-oriented and cache-friendly 2D Grid library (TileMap), includes pathfinding, observers and import/export.
go-enum
738Code generation for enums from code comments.
opc
75Load Open Packaging Conventions (OPC) files for Go.
parquet
105Read and write [parquet](https://parquet.apache.org) files.
pathtype
13Treat paths as their own type instead of using strings.
skywalker
100Package to allow one to concurrently go through a filesystem with ease.
todotxt
23Go library for Gina Trapani's [_todo.txt_](http://todotxt.org/) files, supports parsing and manipulating of task lists in the [_todo.txt_ format](https://github.com/todotxt/todo.txt).
vfs
301A pluggable, extensible, and opinionated set of filesystem functionality for Go across a number of filesystem types such as os, S3, and GCS.
accounting
877money and currency formatting for golang.
ach
456A reader, writer, and validator for Automated Clearing House (ACH) files.
bbgo
1195A crypto trading bot framework written in Go. Including common crypto exchange API, standard indicators, back-testing and many built-in strategies.
go-finance
176Library of financial functions for time value of money (annuities), cash flow, interest rate conversions, bonds and depreciation calculations.
go-finance
27Module to fetch exchange rates, check VAT numbers via VIES and check IBAN bank account numbers.
go-finnhub
91Client for stock market, forex and crypto data from finnhub.io. Access real-time financial market data from 60+ stock exchanges, 10 forex brokers, and 15+ crypto exchanges.
go-money
1657Implementation of Fowler's Money pattern.
orderbook
428Matching Engine for Limit Order Book in Golang.
payme
85QR code generator (ASCII & PNG) for SEPA payments.
sleet
140One unified interface for multiple Payment Service Providers (PsP) to process online payment.
techan
831Technical analysis library with advanced market analysis and trading strategies.
ticker
4962Terminal stock watcher and stock position tracker.
transaction
134Embedded transactional database of accounts, running in multithreaded mode.
Pitaya
2328Scalable game server framework with clustering support and client libraries for iOS, Android, Unity and others through the C SDK.
Pixel
4456Hand-crafted 2D game library in Go.
prototype
88Cross-platform (Windows/Linux/Mac) library for creating desktop games using a minimal API.
vat
113VAT number validation & EU VAT rates.
binding
795Binds form and JSON data from net/http Request to struct.
checker
9Checker helps validating user input through rules defined in struct tags or directly through functions.
conform
319Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags.
form
762Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support.
forms
137Framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files.
gbind
9Bind data to any Go value. Can use built-in and custom expression binding capabilities; supports data validation
gorilla/csrf
1044CSRF protection for Go web applications & services.
httpin
314Decode an HTTP request into a custom struct, including querystring, forms, HTTP headers, etc.
qs
76Go module for encoding structs into URL query parameters.
queryparam
19Decode `url.Values` into usable struct values of standard or custom types.
fp-go
300Collection of Functional Programming helpers powered by Golang 1.18+ generics.
go-functional
433Functional programming in Go using generics
go-underscore
1297Useful collection of helpfully functional Go collection utilities.
gofp
145A lodash like powerful utility library for Golang.
mo
2612Monads and popular FP abstractions, based on Go 1.18+ Generics (Option, Result, Either...).
underscore
109Functional programming helpers for Go 1.18 and beyond.
ecs
119Build your own Game-Engine based on the Entity Component System concept in Golang.
engo
1746Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm.
fantasyname
33Fantasy names generator.
go-astar
596Go implementation of the A\* path finding algorithm.
Harfang3D
5603D engine for the Go language, works on Windows and Linux ([Harfang on Go.dev](https://github.com/harfang3d/harfang-go)).
Leaf
5280Lightweight game server framework.
nano
2834Lightweight, facility, high performance golang based game server framework.
goverter
505Generate converters by defining an interface.
GoWrap
1059Generate decorators for Go interfaces using simple templates.
interfaces
421Command line tool for generating interface definitions.
jennifer
3314Generate arbitrary Go code without templates.
oapi-codegen
6139This package contains a set of utilities for generating Go boilerplate code for services based on OpenAPI 3.0 API definitions.
typeregistry
23A library to create type dynamically.
geoos
615A library provides spatial data and geometric algorithms.
geoserver
88geoserver Is a Go Package For Manipulating a GeoServer Instance via the GeoServer REST API.
H3
305Go bindings for H3, a hierarchical hexagonal geospatial indexing system.
H3 GeoJSON
3Conversion utilities between H3 indexes and GeoJSON.
esp32
84Transpile Go into Arduino code.
f4go
45Transpile FORTRAN 77 code to Go code.
gopherjs
12682Compiler from Go to JavaScript.
H3GeoDist
2Distribution of Uber H3geo cells by virtual nodes.
mbtileserver
646A simple Go-based server for map tiles stored in mbtiles format.
osm
373Library for reading, writing and working with OpenStreetMap data and APIs.
S2 geojson
28Convert geojson to s2 cells & demonstrating some S2 geometry features on map.
simplefeatures
130simplesfeatures is a 2D geometry library that provides Go types that model geometries, as well as algorithms that operate on them.
Tile38
9094Geolocation DB with spatial index and realtime geofencing.
WGS84
126Library for Coordinate Conversion and Transformation (ETRS89, OSGB36, NAD83, RGF93, Web Mercator, UTM).
c4go
365Transpile C code to Go code.
tardisgo
432Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler.
ants
12792A high-performance and low-cost goroutine pool in Go.
artifex
200Simple in-memory job queue for Golang using worker-based dispatching.
async
4An asynchronous task package with async/await style for Go.
async
216An alternative sync library for Go (Future, Promise, Locks).
async
137A safe way to execute functions asynchronously, recovering them in case of panic.
darkroom
225An image proxy with changeable storage backends and image processing engines with focus on speed and resiliency.
gltf
242Efficient and robust glTF 2.0 reader, writer and validator.
ore
7Lightweight, generic & simple dependency injection (DI) container.
go-blueprint
3947Allows users to spin up a quick Go project using a popular framework.
async-job
10AsyncJob is an asynchronous queue job manager with light code, clear and speed.
breaker
18Flexible mechanism to make execution flow interruptible.
channelify
31Transform your function to return channels for easy and powerful parallel processing.
conc
8971`conc` is your toolbelt for structured concurrency in go, making common tasks easier and safer.
execpool
22A pool built around exec.Cmd that spins up a given number of processes in advance and attaches stdin and stdout to them when needed. Very similar to FastCGI or Apache Prefork MPM but works for any command.
go-floc
269Orchestrate goroutines with ease.
go-flow
220Control goroutines execution order.
gohive
52A highly performant and easy to use Goroutine pool for Go.
gollback
124asynchronous simple function utilities, for managing execution of closures and callbacks.
gowl
69Gowl is a process management and process monitoring tool at once. An infinite worker pool gives you the ability to control the pool and processes and monitor their status.
goworker
2796goworker is a Go-based background worker.
gowp
499gowp is concurrency limiting goroutine pool.
gpool
90manages a resizeable pool of context-aware goroutines to bound concurrency.
go-webcolors
27Port of webcolors library from Python to Go.
grpool
746Lightweight Goroutine pool.
hands
10A process controller used to control the execution and return strategies of multiple goroutines.
Hunch
103Hunch provides functions like: `All`, `First`, `Retry`, `Waterfall` etc., that makes asynchronous flow control more intuitive.
kyoo
51Provides an unlimited job queue and concurrent worker pools.
neilotoole/errgroup
161Drop-in alternative to `sync/errgroup`, limited to a pool of N worker goroutines.
nursery
65Structured concurrency in Go.
parallel-fn
36Run functions in parallel.
pond
1481Minimalistic and High-performance goroutine worker pool written in Go.
pool
726Limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation.
rill
499Go concurrency with channel transformations. No boilerplate, type safety, batching and error handling.
routine
228`routine` is a `ThreadLocal` for go library. It encapsulates and provides some easy-to-use, non-competitive, high-performance `goroutine` context access interfaces, which can help you access coroutine context information more gracefully.
routine
61go routine control with context, support: Main, Go, Pool and some useful Executors.
semaphore
102Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context.
app
7915Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.
cimgui-go
334Auto generated Go wrapper for [Dear ImGui](https://github.com/ocornut/imgui) via [cimgui](https://github.com/cimgui/cimgui).
JobRunner
1042Smart and featureful cron job scheduler with job queuing and live monitoring built in.
Cogent Core
1712A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web.
energy
364Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)
fyne
24823Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.
gowd
430Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.
qt
10416Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).
unison
195A unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported.
webview
12565Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).
mac-activity-tracker
28OSX library to notify about any (pluggable) activity on your machine.
jobs
500Persistent and flexible background jobs library.
leprechaun
104Job scheduler that supports webhooks, crons and classic scheduling.
go-module
30Template for a typical module written on Go.
go-starter
492An opinionated production-ready RESTful JSON backend template, highly integrated with VSCode DevContainers.
robotgo
9602Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.
arduino-cli
4334Official Arduino CLI and library. Can run standalone, or be incorporated into larger Go projects.
emgo
1068Go-like language for programming embedded systems (e.g. STM32 MCU).
ghw
1628Golang hardware discovery/inspection library.
goroslib
324Robot Operating System (ROS) library for Go.
joystick
59a polled API to read the state of an attached joystick.
sysinfo
522A pure Go library providing Linux OS / kernel / hardware system information.
bild
3989Collection of image processing algorithms in pure Go.
bimg
2677Small package for fast and efficient image processing using libvips.
color-extractor
93Dominant color extractor with no external dependencies.
go-webp
220Library for encode and decode webp pictures, using libwebp.
gocv
6631Go package for computer vision using OpenCV 3.3+.
goimagehash
738Go Perceptual image hashing package.
goimghdr
40The imghdr module determines the type of image contained in a file for Go.
govatar
586Library and CMD tool for generating funny avatars.
govips
1262A lightning fast image processing and resizing library for Go.
mergi
231Tool & Go library for image manipulation (Merge, Crop, Resize, Watermark, Animate).
mort
507Storage and image processing server written in Go.
sched
28A job scheduler with the ability to fast-forward time.
mpo
17Decoder and conversion tool for MPO 3D Photos.
scout
15Scout is a standalone open source software solution for DIY video security.
smartcrop
1813Finds good crops for arbitrary images and crop sizes.
steganography
313Pure Go Library for LSB steganography.
stegify
1201Go tool for LSB steganography, capable of hiding any file within an image.
tga
33Package tga is a TARGA image format decoder/encoder.
transformimgs
221Transformimgs resizes and optimises images for Web using next-generation formats.
webp-server
73Simple and minimal image server capable of storing, resizing, converting and caching images.
connectordb
404Open-Source Platform for Quantified Self & IoT.
cdule
48Job scheduler library with database support
cheek
149A simple crontab like scheduler that aims to offer a KISS approach to job scheduling.
clockwerk
146Go package to schedule periodic jobs using a simple, fluent syntax.
cronticker
16A ticker implementation to support cron schedules.
Dagu
1540No-code workflow executor. it executes DAGs defined in a simple YAML format.
gron
1026Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly.
gronx
402Cron expression parser, task runner and daemon consuming crontab like task list.
tasks
295An easy to use in-process scheduler for recurring tasks in Go.
ajson
234Abstract JSON for golang with JSONPath support.
ask
44Easy access to nested values in maps and slices. Works in combination with encoding/json and other packages that "Unmarshal" arbitrary data into Go data-types.
dynjson
16Client-customizable JSON formats for dynamic APIs.
fastjson
2262Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection.
go-jsonerror
16Go-JsonError is meant to allow us to easily create json response errors that follow the JsonApi spec.
go-respond
55Go package for handling common HTTP JSON responses.
gojmapr
22Get simple struct from complex json by json path.
gojson
2660Automatically generate Go (golang) struct definitions from example JSON.
logdump
11Package for multi-level logging.
lumberjack
4812Simple rolling logger, implements io.WriteCloser.
go-todo-backend
316Go Todo Backend example using modular project layout for product microservice.
health
775A simple and flexible health check library for Go.
jsonapi-errors
14Go bindings based on the JSON API errors reference.
jsoncolor
45Drop-in replacement for `encoding/json` that outputs colorized JSON.
jsondiff
517JSON diff library for Go based on RFC6902 (JSON Patch).
jsonf
65Console tool for highlighted formatting and struct query fetching JSON.
jsongo
109Fluent API to make it easier to create Json objects.
jsonhal
14Simple Go package to make custom structs marshal into HAL compatible JSON responses.
jzon
11JSON library with standard compatible API/behavior.
kazaam
279API for arbitrary transformation of JSON documents.
mapslice-json
19Go MapSlice for ordered marshal/ unmarshal of maps in JSON.
OjG
847Optimized JSON for Go is a high performance parser with a variety of additional JSON tools including JSONPath.
structy/log
5A simple to use log system, minimalist but with features for debugging and differentiation of messages.
omg.jsonparser
6Simple JSON parser with validation by condition via golang struct fields tags.
ujson
76Fast and minimal JSON parser and transformer that works on unstructured JSON.
vjson
41Go package for validating JSON objects with declaring a JSON schema with fluent API.
distillog
31distilled levelled logging (think of it as stdlib + log levels).
glg
190glg is simple and fast leveled logging library for Go.
glo
15PHP Monolog inspired logging facility with identical severity levels.
glog
3536Leveled execution logs for Go.
go-cronowriter
56Simple writer that rotate log files automatically based on current date and time, like cronolog.
boot-go
32Component-based development with dependency injection using reflections for Go developers.
go-log
10A logging library with stack traces, object dumping and optional timestamps.
go-log
14Simple and configurable Logging in Go, with level, formatters and writers.
go-log
34Log lib supports level and multi handlers.
go-log
43Log4j implementation in Go.
go-logger
288Simple logger of Go Programs, with level handlers.
gomol
19Multiple-output, structured logging for Go with extensible logging outputs.
kemba
13A tiny debug logging tool inspired by [debug](https://github.com/visionmedia/debug), great for CLI tools and applications.
log
10An O(1) logging system that allows you to connect one log to multiple writers (e.g. stdout, a file and a TCP connection).
log
1366Structured logging package for Go.
log
16Simple leveled logging wrapper around standard log package.
mlog
34Simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output.
phuslu/log
660High performance structured logging.
pp
1843Colored pretty printer for Go language.
rollingwriter
295RollingWriter is an auto-rotate `io.Writer` implementation with multi policies to provide log file rotation.
seelog
1638Logging functionality with flexible dispatching, filtering, and formatting.
slf4g
3Simple Logging Facade for Golang: Simple structured logging; but powerful, extendable and customizable, with huge amount of learnings from decades of past logging frameworks.
slog
391Lightweight, configurable, extensible logger for Go.
slog-formatter
111Common formatters for slog and helpers to build your own.
slog-multi
363Chain of slog.Handler (pipeline, fanout...).
spew
6056Implements a deep pretty printer for Go data structures to aid in debugging.
sqldb-logger
350A logger for Go SQL database driver without modify existing \*sql.DB stdlib usage.
stdlog
47Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs.
componego
27A dependency injection framework based on components, allowing dynamic dependency replacement without duplicating code in tests.
gtree
239Provide CLI, Package and Web for tree output and directories creation from Markdown or programmatically.
tail
2712Go package striving to emulate the features of the BSD tail program.
tint
732A slog.Handler that writes tinted logs.
xylog
16Leveled and structured logging, dynamic fields, high performance, zone management, simple configuration, and readable syntax.
yell
1Yet another minimalistic logging library.
zap
21816Fast, structured, leveled logging in Go.
zax
24Integrate Context with Zap logger, which leads to more flexibility in Go logging.
zerolog
10470Zero-allocation JSON logger.
zkits-logger
26A powerful zero-dependency JSON logger.
zl
5High Developer Experience, zap based logger. It offers rich functionality but is easy to configure.
eaopt
885An evolutionary optimization library.
go-deep
532A feature-rich neural network library in Go.
go-fann
116Go bindings for Fast Artificial Neural Networks(FANN) library.
go-featureprocessing
118Fast and convenient feature processing for low latency machine learning in Go.
go-galib
198Genetic Algorithms library written in Go / golang.
go-pr
65Pattern recognition package in Go lang.
GoLearn
9271General Machine Learning library for Go.
gorse
8500An offline recommender system backend based on collaborative filtering written in Go.
gosseract
2682Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
m2cgen
2805A CLI tool to transpile trained classic ML models into a native Go code with zero dependencies, written in Python with Go language support.
neat
71Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT).
neural-go
69Multilayer perceptron network implemented in Go, with training via backpropagation.
gontainer
39A dependency injection service container for Go projects.
shield
156Bayesian text classifier with flexible tokenizers and storage backends for Go.
tfgo
2415Easy to use Tensorflow bindings: simplifies the usage of the official Tensorflow Go bindings. Define computational graphs in Go, load and execute models trained in Python.
ami
28Go client to reliable queues based on Redis Cluster Streams.
Beaver
1543A real time messaging server to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
Bus
335Minimalist message bus implementation for internal communication.
Centrifugo
8324Real-time messaging (Websockets or SockJS) server in Go.
Chanify
1265A push notification server send message to your iOS devices.
Commander
66A high-level event driven consumer/producer supporting various "dialects" such as Apache Kafka.
drone-line
80Sending [Line](https://at.line.me/en) notifications using a binary, docker or Drone CI.
emitter
505Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins.
event
58Implementation of the pattern observer.
Glue
415Robust Go and Javascript Socket Library (Alternative to Socket.io).
go-eventbus
4Simple Event Bus package for Go.
Go-MediatR
208A library for handling mediator patterns and simplified CQRS patterns within an event-driven architecture, inspired by csharp MediatR library.
go-mq
91RabbitMQ client with declarative configuration.
gontainer/gontainer
15A YAML-based Dependency Injection container for GO. It supports dependencies' scopes, and auto-detection of circular dependencies. Gontainer is concurrent-safe.
kod
150A generics based dependency injection framework for Go.
nject
29A type safe, reflective framework for libraries, tests, http endpoints, and service startup.
go-notify
69Native implementation of the freedesktop notification spec.
go-nsq
2588the official Go package for NSQ.
go-res
63Package for building REST/real-time services where clients are synchronized seamlessly, using NATS and Resgate.
gorush
8000Push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm).
gosd
24A library for scheduling when to dispatch a message to a channel.
guble
158Messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence.
hare
53A user friendly library for sending messages and listening to TCP sockets.
hub
146A Message/Event Hub for Go applications, using publish/subscribe pattern with support for alias like rabbitMQ exchanges.
hypermatch
19A very fast and efficient Go library for matching events to a large set of rules
jazz
18A simple RabbitMQ abstraction layer for queue administration and publishing and consuming of messages.
machinery
7517Asynchronous task queue/job queue based on distributed message passing.
messagebus
272messagebus is a Go simple async message bus, perfect for using as event bus when doing event sourcing, CQRS, DDD.
pubsub
425Simple pubsub package for go.
rabtap
264RabbitMQ swiss army knife cli app.
RapidMQ
68RapidMQ is a lightweight and reliable library for managing of the local messages queue.
rmqconn
23RabbitMQ Reconnection. Wrapper over amqp.Connection and amqp.Dial. Allowing to do a reconnection when the connection is broken before forcing the call to the Close () method to be closed.
sarama
11453Go library for Apache Kafka.
unioffice
4352Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents.
excelize
18063Golang library for reading and writing Microsoft Excel™ (XLSX) files.
exl
30Excel binding to struct written in Go.(Only supports Go1.18+)
autowire
8Dependency injection using Generics and reflection.
di
232A dependency injection container for go programming language.
dig
3885A reflection based dependency injection toolkit for Go.
dingo
180A dependency injection toolkit for Go, based on Guice.
do
1832A dependency injection framework based on Generics.
fx
5726A dependency injection based application framework for Go (built on top of dig).
gocontainer
20Simple Dependency Injection Container.
goioc/di
355Spring-inspired Dependency Injection Container.
GoLobby/Container
558GoLobby Container is a lightweight yet powerful IoC dependency injection container for the Go programming language.
gobase
62A simple skeleton for golang application with basic setup for real golang application.
golang-standards/project-layout
48819Set of common historical and emerging project layout patterns in the Go ecosystem. Note: despite the org-name they do not represent official golang standards, see [this issue](https://github.com/golang-standards/project-layout/issues/117) for more information. Nonetheless, some may find the layout useful.
golang-templates/seed
472Go application GitHub repository template.
goxygen
3475Generate a modern Web project with Go and Angular, React, or Vue in seconds.
insidieux/inizio
18Golang project layout generator with plugins.
modern-go-application
1835Go application boilerplate and example applying modern practices.
wangyoucao577/go-project-layout
26Set of practices and discussions on how to structure Go project layout.
sttr
941cross-platform, cli app to perform various operations on string.
xstrings
1393Collection of useful string functions ported from other languages.
anagent
15Minimalistic, pluggable Golang evloop/timer handler with dependency-injection.
antch
259A fast, powerful and extensible web crawling & scraping framework.
archiver
4348Library and command for making and extracting .zip and .tar.gz archives.
autoflags
39Go package to automatically define command line flags from struct fields.
avgRating
16Calculate average score and rating based on Wilson Score Equation.
datacounter
48Go counters for readers/writer/http.ResponseWriter.
gatus
6146Automated service health dashboard.
go-commandbus
12A slight and pluggable command-bus for Go.
gommit
113Analyze git commit messages to ensure they follow defined patterns.
gopsutil
10536Cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc).
gosh
36Provide Go Statistics Handler, Struct, Measure Method.
gosms
1449Your own local SMS gateway in Go that can be used to send SMS.
gotoprom
108Type-safe metrics builder wrapper library for the official Prometheus client.
gountries
408Package that exposes country and subdivision data.
health
451Easy to use, extensible health check library.
healthcheck
268An opinionated and concurrent health-check HTTP handler for RESTful services.
hostutils
12A golang library for packing and unpacking FQDNs list.
llvm
1185Library for interacting with LLVM IR in pure Go.
openapi
11OpenAPI 3.x parser.
pdfgen
71HTTP service to generate PDF from Json requests.
stateless
944A fluent library for creating state machines.
stats
170Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc...
url-shortener
48A modern, powerful, and robust URL shortener microservice with mysql support.
varint
14A faster varying length integer encoder/decoder than the one provided in the standard library.
xdg
41FreeDesktop.org (xdg) Specs implemented in Go.
gounidecode
80Unicode transliterator (also known as unidecode) for Go.
req
4249Simple Go HTTP client with Black Magic (Less code and More efficiency).
Hex Monscape
66Getting started guidelines in writing maintainable code using Hexagonal Architecture.
getlang
170Fast natural language detection package.
guesslanguage
58Functions to determine the natural language of a unicode text.
lingua-go
1172An accurate natural language detection library, suitable for long and short text alike. Supports detecting multiple languages in mixed-language text.
whatlanggo
637Natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc).
go-stem
78Implementation of the porter stemming algorithm.
gosentiwordnet
10Sentiment analyzer using sentiwordnet lexicon in Go.
govader
40Go implementation of [VADER Sentiment Analysis](https://github.com/cjhutto/vaderSentiment).
libtextcat
13Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2.
nlp
389Extract values from strings and fill your structs with nlp.
nlp
447Go Natural Language Processing library supporting LSA (Latent Semantic Analysis).
RAKE.go
115Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE).
request
288HTTP client for golang. If you have experience about axios or requests, you will love it. No 3rd dependency.
snowball
38Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/).
spaGO
1748Self-contained Machine Learning and Natural Language Processing library in Go.
spelling-corrector
2A spelling corrector for the Spanish language or create your own.
gse
2554Go efficient text segmentation; support english, chinese, japanese and other.
MMSEGO
63This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm.
prose
3052Library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. English only.
segment
89Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](https://www.unicode.org/reports/tr29/)
sentences
436Sentence tokenizer: converts text into a list of sentences.
go-glmatrix
11Go port of [glMatrix](https://glmatrix.net/) library.
go-store
112Simple and fast Redis backed key-value store library for Go.
grimoire
164Grimoire is a database access layer and validation for golang. (Support: MySQL, PostgreSQL and SQLite3).
Zoom
309Blazing-fast datastore and querying engine built on Redis.
glide
8150Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip.
shamoji
13The shamoji is word filtering package written in Go.
stemmer
52Stemmer packages for Go programming language. Includes English and German stemmers.
textcat
72Go package for n-gram based text categorization, with support for utf-8 and raw text.
t
20Another i18n pkg for golang, which follows GNU gettext style and supports .po/.mo files: `t.T (gettext)`, `t.N (ngettext)`, etc. And it contains a cmd tool [xtemplate](https://github.com/youthlin/t/blob/main/cmd/xtemplate), which can extract messages as a pot file from text/html template.
enca
16Minimal cgo bindings for [libenca](https://cihar.com/software/enca/), which detects character encodings.
go-unidecode
128ASCII transliterations of Unicode text.
godep
5542dependency tool for go, godep helps build packages reproducibly by fixing their dependencies.
Flamingo Commerce
506Providing e-commerce features using clean architecture like DDD and ports and adapters, that you can use to build flexible e-commerce applications.
transliterator
43Provides one-way string transliteration with supporting of language-specific transliteration rules.
arp
362Package arp implements the ARP protocol, as described in RFC 826.
buffstreams
253Streaming protocolbuffer data over TCP made easy.
canopus
155CoAP Client/Server implementation (RFC 7252).
dnsmonster
315Passive DNS Capture/Monitoring Framework.
easytcp
806A light-weight TCP framework written in Go (Golang), built with message router. EasyTCP helps you build a TCP server easily fast and less painful.
ether
80Cross-platform Go package for sending and receiving ethernet frames.
ethernet
274Package ethernet implements marshaling and unmarshalling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags.
gldap
109gldap provides an ldap server implementation and you provide handlers for its ldap operations.
gmqtt
986Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.1.1.
gnet
9544`gnet` is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go.
gnet
19`gnet` is a high-performance networking framework,especially for game servers.
tspool
14A TCP Library use worker pool to improve performance and protect your server.
gNxI
258A collection of tools for Network Management that use the gNMI and gNOI protocols.
go-getter
1647Go library for downloading files or directories from various sources using a URL.
go-multiproxy
6Library for making HTTP requests through a pool of proxies offering fault tolerance, load balancing, automatic retries, cookie management, and more, via http.Get/Post replacement or http.Client RoundTripper drop-in
go-powerdns
88PowerDNS API bindings for Golang.
gopacket
6306Go library for packet processing with libpcap bindings.
gopcap
487Go wrapper for libpcap.
goshark
19Package goshark use tshark to decode IP packet and create data struct to analyse packet.
gosnmp
1124Native Go library for performing SNMP actions.
grab
1396Go package for managing file downloads.
jazigo
215Jazigo is a tool written in Go for retrieving configuration for multiple network devices.
kcp-go
4071KCP - Fast and Reliable ARQ Protocol.
kcptun
13886Extremely simple & fast udp tunnel based on KCP protocol.
lhttp
691Powerful websocket framework, build your IM server more easily.
water
1937Simple TUN/TAP library.
webhooked
36A webhook receiver on steroids: handle, secure, format and store a Webhook payload has never been easier.
winrm
423Go WinRM client to remotely execute commands on Windows machines.
xtcp
152TCP Server Framework with simultaneous full duplex communication, graceful shutdown, and custom protocol.
fast-shot
62Hit your API targets with rapid-fire precision using Go's fastest and simple HTTP Client.
grequests
2134A Go "clone" of the great and famous Requests library.
linkio
53Network link speed simulation for Reader/Writer interfaces.
llb
15It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response.
natiu-mqtt
85A dead-simple, non-allocating, low level implementation of MQTT well suited for embedded systems.
nbio
2174Pure Go 1000k+ connections solution, support tls/http1.x/websocket and basically compatible with net/http, with high-performance and low memory cost, non-blocking, event-driven, easy-to-use.
NFF-Go
1380Framework for rapid development of performant network functions for cloud and bare-metal (former YANFF).
packet
79Send packets over TCP and UDP. It can buffer messages and hot-swap connections if needed.
peerdiscovery
641Pure Go library for cross-platform local peer discovery using UDP multicast.
portproxy
57Simple TCP proxy which adds CORS support to API's which don't support it.
raw
425Package raw enables reading and writing data at the device driver level for a network interface.
sdns
953A high-performance, recursive DNS resolver server with DNSSEC support, focused on preserving privacy.
sftp
1509Package sftp implements the SSH File Transfer Protocol as described in <https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt>.
gom
1382Go Manager - bundle for go.
goop
779Simple dependency manager for Go (golang), inspired by Bundler.
gop
49Build and manage your Go applications out of GOPATH.
mvn-golang
163plugin that provides way for auto-loading of Golang SDK, dependency management and start build environment in Maven project infrastructure.
nut
232Vendor Go dependencies.
jaeger
20283A distributed tracing system.
mm-go
146Generic manual memory management for golang.
pixie
5521No instrumentation tracing for Golang applications via eBPF.
statsviz
3204Live visualization of your Go application runtime statistics.
tracer
86Simple, lightweight tracing.
api-fu
55Comprehensive GraphQL implementation.
goven
60A drop-in query language for any database schema.
gqlgen
9910go generate based graphql server library.
grapher
3A GraphQL field builder utilizing Go generics with extra utilities and features.
debme
32Create an `embed.FS` from an existing `embed.FS` subdirectory.
esc
637Embeds files into Go programs and provides http.FileSystem interfaces to them.
fileb0x
634Simple tool to embed files in go with focus on "customization" and ease to use.
rebed
29Recreate folder structures and files from Go 1.16's `embed.FS` type
vfsgen
981Generates a vfsdata.go file that statically implements the given virtual filesystem.
decimal
40Package decimal implements arbitrary-precision decimal floating-point arithmetic.
evaler
51Simple floating point arithmetic expression evaluator.
ewma
435Exponentially-weighted moving averages.
go-hep
231A set of libraries and tools for performing High Energy Physics analyses with ease.
godesim
23Extended/multivariable ODE solver framework for event-based simulations with simple API.
Failsafe-go
1640Fault tolerance and resilience patterns for Go.
ghokin
43Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).
git-time-metric
976Simple, seamless, lightweight time tracking for Git.
Fuego
833The framework for busy Go developers! Web framework generating OpenAPI 3 spec from source code.
goent
34GO Implementation of Entropy Measures.
gograph
61A golang generic graph library that provides mathematical graph-theory and algorithms.
gohistogram
174Approximate histograms for data streams.
ode
22Ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions.
PiHex
20Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi.
Poly
671A Go package for engineering organisms.
argon2-hashing
20light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package.
Coraza
2186Enterprise-ready, modsecurity and OWASP CRS compatible WAF library.
dongle
882A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption.
firewalld-rest
338A rest application to dynamically update firewalld rules on a linux server.
go-httpheader
47Go library for encoding structs into Header fields.
go-qr
29A native, high-quality and minimalistic QR code generator.
ssh-vault
443encrypt/decrypt using ssh keys.
sslmgr
26SSL certificates made easy with a high level wrapper around acme/autocert.
teler-waf
348teler-waf is a Go HTTP middleware that provide teler IDS functionality to protect against web-based attacks and improve the security of Go-based web applications. It is highly configurable and easy to integrate into existing Go applications.
bambam
65generator for Cap'n Proto schemas from go.
bel
38Generate TypeScript interfaces from Go structs/interfaces. Useful for JSON RPC.
binstruct
97Golang binary decoder for mapping data into the structure.
php_session_decoder
164GoLang library for working with PHP session format and PHP Serialize/Unserialize functions.
protoxy
35A proxy server that converts JSON request bodies to Protocol Buffers.
SFTPGo
9220Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support. It can serve local filesystem and Cloud Storage backends such as S3 and Google Cloud Storage.
simple-jwt-provider
39Simple and lightweight provider which exhibits JWTs, supports login, password-reset (via mail) and user management.
apicompat
179Checks recent changes to a Go project for backwards incompatible changes.
asty
80Converts golang AST to JSON and JSON to AST.
blanket
18blanket is a tool that helps you catch functions which don't have direct unit tests in your Go packages.
go-streams
1876Go stream processing library.
goio
82An implementation of IO, Stream, Fiber for Golang, inspired by awesome Scala libraries cats and fs2.
gospin
59Article spinning and spintax/spinning syntax engine, useful for A/B, testing pieces of text/articles and creating more natural conversations.
goview
422Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.
jet
1250Jet template engine.
liquid
287Go implementation of Shopify Liquid templates.
sprout
87Useful template functions for Go templates.
baloo
776Expressive and versatile end-to-end HTTP API testing made easy.
be
103The minimalist generic test assertion library.
commander
226Tool for testing cli applications on windows, linux and osx.
endly
265Declarative end to end functional testing.
flute
19HTTP client testing framework.
go-size-analyzer
1184Analyze and visualize the size of dependencies in compiled Golang binaries, providing insight into their impact on the final build.
go-swagger
9495Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API.
Duplicacy
5141A cross-platform network and cloud backup tool based on the idea of lock-free deduplication.
fjira
133A fuzzy-search based terminal UI application for Attlasian Jira
Gebug
635A tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly.
gfile
742Securely transfer files between two computers, without any third party, over WebRTC.
go-cmp
4181Package for comparing Go values in tests.
go-hit
255Hit is an http integration test framework written in golang.
go-vcr
1248Record and replay your HTTP interactions for fast, deterministic and accurate tests.
gocrest
105Composable hamcrest-like matchers for Go assertions.
gogiven
15YATSPEC-like BDD testing framework for Go.
testcase
121Idiomatic testing framework for Behavior Driven Development.
testfixtures
1105A helper for Rails' like test fixtures to test database applications.
trial
6Quick and easy extendable assertions without introducing much boilerplate.
go-sqlmock
6093Mock SQL driver for testing database interactions.
govcr
172HTTP mock for Golang: record and replay HTTP interactions for offline testing.
hoverfly
2350HTTP(S) proxy for recording and simulating REST/SOAP APIs with extensible middleware and easy-to-use CLI.
httpmock
1922Easy mocking of HTTP responses from external resources.
minimock
634Mock generator for Go interfaces.
mockery
6046Tool to generate Go interfaces.
encdec
9Package provides a generic interface to encoders and decoders.
sh
7208Shell parser and formatter.
tokenizer
94Parse any string, slice or infinite buffer to any tokens.
KubeVPN
545KubeVPN offers a Cloud-Native Dev Environment that seamlessly connects to your Kubernetes cluster network.
genex
77Count and expand Regular Expressions into all matching Strings.
go-wildcard
82Simple and lightweight wildcard pattern matching.
goregen
90Library for generating random strings from regular expressions.
regroup
145Match regex expression named groups into go struct using struct tags and automatic parsing.
appstore-sdk-go
5Unofficial Golang SDK for AppStore Connect API.
aws-sdk-go
2613The official AWS SDK for the Go programming language.
goagi
10Go library to build Asterisk PBX agi/fastagi applications.
goami2
15AMI v2 library for Asterisk PBX.
GoFreeDB
36Golang library providing common and simple database abstractions on top of Google Sheets.
Auto-generated Google APIs for Go.
google-analytics
15Simple wrapper for easy google analytics reporting.
gosip
141Client library for SharePoint.
gostorm
129GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells.
igdb
81Go client for the [Internet Game Database API](https://api.igdb.com/).
KusionStack
869A unified programmable configuration techstack to deliver modern app in 'platform as code' and 'infra as code' approach.
kwatch
960Monitor & detect crashes in your Kubernetes(K8s) cluster instantly.
pushover
141Go wrapper for the Pushover API.
rawg-sdk-go
12Go library for the [RAWG Video Games Database](https://rawg.io/) API
rrdaclient
10Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP.
backscanner
64A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.
contextplus
16Package contextplus provide more easy to use functions for contexts.
cookie
110Cookie struct parsing and helper package.
evaluator
39Evaluate an expression dynamically based on s-expression. It's simple and easy to extend.
go-rate
397Timed rate limiter for Go.
godropbox
4168Common libraries for writing Go services/applications from Dropbox.
gofn
46High performance utility functions written using Generics for Go 1.18+.
gohper
255Various tools/modules help for development.
hub
22797wrap git commands with additional functionality to interact with github from the terminal.
moldova
168Utility for generating random data based on an input template.
mole
1693cli app to easily create ssh tunnels.
mssqlx
103Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.
multitick
70Multiplexor for aligned tickers.
set
47Performant and flexible struct mapping and loose type conversion.
shutdown
58App shutdown hooks for `os.Signal` handling.
toolbox
197Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
ugo
27ugo is slice toolbox with concise syntax for Go.
hercules
2604gaining advanced insights from Git repository history.
go-astisub
579Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
go-astits
541Parse and demux MPEG Transport Streams (.ts) natively in GO.
gortsplib
678Pure Go RTSP server and client library.
Aero
572High-performance web framework for Go, reaches top scores in Lighthouse.
Golf
269Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library.
Resoursea
35REST framework for quickly writing resource based services.
REST Layer
1256Framework to build REST/GraphQL API on top of databases with mostly configuration over code.
YARF
67Fast micro-framework designed to build REST APIs and web services in a fast and simple way.
Yokai
371Simple, modular, and observable Go framework for backend applications.
client-timing
24An HTTP client for Server-Timing header.
CORS
2652Easily add CORS capabilities to your API.
echo-middleware
15Middleware for Echo framework with logging and metrics.
formjson
39Transparently handle JSON input as a standard form POST.
XFF
98Handle `X-Forwarded-For` header and friends.
interpose
294Minimalist net/http middleware for golang.
negroni
7462Idiomatic HTTP middleware for Golang.
render
1933Go package for easily rendering JSON, XML, and HTML template responses.
gocraft/web
1510Mux and middleware package in Go.
lstags
327Tool and API to sync Docker images across different registries.
lwc
32A live-updating version of the UNIX wc command.
GoRouter
154GoRouter is a Server/API micro framework, HTTP request router, multiplexer, mux that provides request router with middleware supporting `net/context`.
mux
20743Powerful URL router and dispatcher for golang.
nchi
13chi-like router built on httprouter with dependency injection based middleware wrappers
vestigo
268Performant, stand-alone, HTTP compliant URL Router for go web applications.
xmux
98High performance muxer based on `httprouter` with `net/context` support.
xujiajun/gorouter
533A simple and fast HTTP router for Go.
Extism Go SDK
77Universal, cross-language WebAssembly framework for building plug-in systems and polyglot apps.
go-canvas
244Library to use HTML5 Canvas, with all drawing within go code.
xquery
158XQuery lets you extract data from HTML/XML documents using XPath expression.
webapi
174Bindings for DOM and HTML generated from WebIDL.
gosddl
11Converter from SDDL-string to user-friendly JSON. SDDL consist of four part: Owner, Primary Group, DACL, SACL.
XML-Comp
21Simple command line XML comparer that generates diffs of folders, files and tags.
xml2map
62XML to MAP converter written Golang.
xmlwriter
28Procedural XML generation API based on libxml2's xmlwriter module.
Spiffe-Vault
84Utilizes Spiffe JWT authentication with Hashicorp Vault for secretless authentication.
Spire
1784SPIRE (the SPIFFE Runtime Environment) is a toolchain of APIs for establishing trust between software systems across a wide variety of hosting platforms.
ChainJacking
55Find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack.
Chronos
425Detects race conditions statically
dupl
344Tool for code clone detection.
errcheck
2345Errcheck is a program for checking for unchecked errors in Go programs.
go-cleanarch
859go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects.
go-critic
1844source code linter that brings checks that are currently not implemented in other linters.
go-outdated
43Console application that displays outdated packages.
goast-viewer
766Web based Golang AST visualizer.
manssh
297manssh is a command line tool for managing your ssh alias config easily.
Mantil
110Go specific framework for building serverless applications on AWS that enables you to focus on pure Go code while Mantil takes care of the infrastructure.
Moby
68570Collaborative project for the container ecosystem to assemble container-based systems.
golang-ifood-sdk
11iFood API SDK.
golines
914Formatter that automatically shortens long lines in Go code.
GoPlantUML
1842Library and CLI that generates text plantump class diagram containing information about structures and interfaces with the relationship among them.
goreturns
531Adds zero-value return statements to match the func return types.
gostatus
244Command line tool, shows the status of repositories that contain Go packages.
todocheck
425Static code analyser which links TODO comments in code with issues in your issue tracker.
unconvert
377Remove unnecessary type conversions from Go source.
usestdlibvars
43A linter that detect the possibility to use variables/constants from the Go standard library.
vacuum
581An ultra-super-fast, lightweight OpenAPI linter and quality checking tool.
validate
61Automatically validates struct fields with tags.
wrapcheck
303A linter to check that errors from external packages are wrapped.
coc-go language server extension for Vim/Neovim
564This plugin adds [gopls](https://github.com/golang/tools/blob/master/gopls/README.md) features to Vim/Neovim.
Go Doc
8A Visual Studio Code extension for showing definition in output and generating go doc.
go-language-server
32A wrapper to turn the VSCode go extension into a language server supporting the language-server-protocol.
go-plus
1511Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting.
gocode
5010Autocompletion daemon for the Go programming language.
goimports-reviser
587Formatting tool for imports.
vim-compiler-go
89Vim plugin to highlight syntax errors on save.
vim-go
15988Go development plugin for Vim.
vscode-go
3867Extension for Visual Studio Code (VS Code) which provides support for the Go language.
Watch
201Runs a command in an acme win on file changes.
envdoc
56generate documentation for environment variables from Go source files.
gocontracts
110brings design-by-contract to Go by synchronizing the code with the documentation.
godal
18Generate orm models corresponding to golang by specifying sql ddl file, which can be used by gorm.
gotests
4935Generate Go tests from your source code.
gounit
80Generate Go tests using your own templates.
hasgo
141Generate Haskell inspired functions for your slices.
options-gen
77Functional options described by Dave Cheney's post "Functional options for friendly APIs".
sqlgen
82Generate gorm, xorm, sqlx, bun, sql code from SQL file or DSN.
xgen
332XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator.
colorgo
113Wrapper around `go` command for colorized `go build` output.
decouple
21Find “overspecified” function parameters that could be generalized with interface types.
depth
928Visualize dependency trees of any package by analyzing imports.
docs
39Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard.
go-callvis
5943Visualize call graph of your Go program using dot format.
Mora
315REST server for accessing MongoDB documents and meta data.
godbg
202Implementation of Rusts `dbg!` macro for quick and easy debugging during development.
gotestdox
112Show Go test results as readable sentences.
gothanks
124GoThanks automatically stars your go.mod github dependencies, sending this way some love to their maintainers.
igo
66An igo to go transpiler (new language features for Go language!)
modver
18Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to [semver](https://semver.org/) rules.
MoniGO
207A performance monitoring library for Go applications. It provides real-time insights into application performance! 🚀
OctoLinker
5272Navigate through go files efficiently with the OctoLinker browser extension for GitHub.
richgo
848Enrich `go test` outputs with text decorations.
roumon
184Monitor current state of all active goroutines via a command line interface.
rts
249RTS: response to struct. Generates Go structs from server responses.
textra
6Extract Go struct field names, types and tags for filtering and exporting.
typex
199Examine Go types and their transitive dependencies, alternatively export results as TypeScript value objects (or types) declaration.
abbreviate
219abbreviate is a tool turning long strings in to shorter ones with configurable separators, for example to embed branch names in to deployment stack IDs.
alaz
644Effortless, Low-Overhead, eBPF-based Kubernetes Monitoring.
aptly
12aptly is a Debian repository management tool.
aurora
597Cross-platform web-based Beanstalkd queue server console.
ostent
179collects and displays system metrics and optionally relays to Graphite and/or InfluxDB.
awsenv
35Small binary that loads Amazon (AWS) environment variables for a profile.
Balerter
300A self-hosted script-based alerting manager.
Blast
217A simple tool for API load testing and batch jobs.
bombardier
5930Fast cross-platform HTTP benchmarking tool.
Ddosify
8389High-performance load testing tool, written in Golang.
decompose
85tool to generate and process Docker containers connections graphs.
DepCharge
23Helps orchestrating the execution of commands across the many dependencies in larger projects.
docker-go-mingw
45Docker image for building Go binaries for Windows with MinGW toolchain.
Dockerfile-Generator
170A go library and an executable that produces valid Dockerfiles using various input channels.
dogo
267Monitoring changes in the source file and automatically compile and run (restart).
Packer
15059Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
Pewpew
417Flexible HTTP command line stress tester.
PipeCD
1069A GitOps-style continuous delivery platform that provides consistent deployment and operations experience for any applications.
podinfo
5369Podinfo is a tiny web application made with Go that showcases best practices of running microservices in Kubernetes. Podinfo is used by CNCF projects like Flux and Flagger for end-to-end testing and workshops.
portal
1446Portal is a quick and easy command-line file transfer utility from any computer to another.
drone-jenkins
38Trigger downstream Jenkins jobs using a binary, docker or Drone CI.
drone-scp
142Copy files and artifacts via SSH using a binary, docker or Drone CI.
easyssh-proxy
320Golang package for easy remote execution through SSH and SCP downloading via `ProxyCommand`.
fac
1839Command-line user interface to fix git merge conflicts.
Flannel
8753Flannel is a network fabric for containers, designed for Kubernetes.
Fleet device management
3012Lightweight, programmable telemetry for servers and workstations.
gaia
5196Build powerful pipelines in any programming language.
ghorg
1550Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Gitea, and Bitbucket.
Gitea
44461Fork of Gogs, entirely community driven.
go-furnace
98Hosting solution written in Go. Deploy your Application with ease on AWS, GCP or DigitalOcean.
go-rocket-update
103A simple way to make self updating Go applications - Supports Github and Gitlab.
go-selfupdate
1520Enable your Go applications to self update.
gobrew
194gobrew lets you easily switch between multiple versions of go.
gobrew
369Go version manager. Super simple tool to install and manage Go versions. Install go without root. Gobrew doesn't require shell rehash.
gonative
340Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages.
govvv
538“go build” wrapper to easily add version information into Go binaries.
gox
4595Dead simple, no frills Go cross compile tool.
goxc
1677build tool for Go, with a focus on cross-compiling and packaging.
grapes
167Lightweight tool designed to distribute commands over ssh with ease.
GVM
10190GVM provides an interface to manage Go versions.
Hey
18017Hey is a tiny program that sends some load to a web application.
httpref
37httpref is a handy CLI reference for HTTP methods, status codes, headers, and TCP and UDP ports.
jcli
389Jenkins CLI allows you manage your Jenkins as an easy way.
k3d
5381Little helper to run CNCF's k3s in Docker.
k6
25566A modern load testing tool, using Go and JavaScript.
kala
2130Simplistic, modern, and performant job scheduler.
kcli
216Command line tool for inspecting kafka topics/partitions/messages.
kind
13376Kubernetes IN Docker - local clusters for testing Kubernetes.
ko
7587Command line tool for building and deploying Go applications on Kubernetes
kool
663Command line tool for managing Docker environments as an easy way.
kubeblocks
2079KubeBlocks is an open-source control plane that runs and manages databases, message queues and other data infrastructure on K8s.
kubernetes
110308Container Cluster Manager from Google.
kubeshark
10943API traffic analyzer for Kubernetes, inspired by Wireshark, purposely built for Kubernetes.
woke
450Detect non-inclusive language in your source code.
Pomerium
4032Pomerium is an identity-aware access proxy.
Rodent
33Rodent helps you manage Go versions, projects and track dependencies.
s3-proxy
298S3 Proxy with GET, PUT and DELETE methods and authentication (OpenID Connect and Basic Auth).
s3gof3r
1145Small utility/library optimized for high speed transfer of large objects into and out of Amazon S3.
s5cmd
2607Blazing fast S3 and local filesystem execution tool.
Scaleway-cli
882Manage BareMetal Servers from Command Line (as easily as with Docker).
script
5476Making it easy to write shell-like scripts in Go for DevOps and system administration tasks.
sg
8Benchmarks a set of HTTP endpoints (like ab), with possibility to use the response code and data between each call for specific server stress based on its previous response.
skm
952SKM is a simple and powerful SSH Keys Manager, it helps you to manage your multiple SSH keys easily!
StatusOK
1621Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected.
tau
3276Easily build Cloud Computing Platforms with features like Serverless WebAssembly Functions, Frontend Hosting, CI/CD, Object Storage, K/V Database, and Pub-Sub Messaging.
terraform-provider-openapi
274Terraform provider plugin that dynamically configures itself at runtime based on an OpenAPI document (formerly known as swagger file) containing the definitions of the APIs exposed.
tf-profile
150Profiler for Terraform runs. Generate global stats, resource-level stats or visualizations.
traefik
50708Reverse proxy and load balancer with support for multiple backends.
trubka
331A CLI tool to manage and troubleshoot Apache Kafka clusters with the ability of generically publishing/consuming protocol buffer and plain text events to/from Kafka.
uTask
1191Automation engine that models and executes business processes declared in yaml.
Vegeta
23434HTTP load testing tool and library. It's over 9000!
wait-for
18Wait for something to happen (from the command line) before continuing. Easy orchestration of Docker services and other things.
webhook
10300Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server.
winrm-cli
164Cli tool to remotely execute commands on Windows machines.
blocky
4670Fast and lightweight DNS proxy as ad-blocker for local network with many features.
borg
1608Terminal based search engine for bash snippets.
Circuit
1983Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications.
confd
8337Manage local application configuration files using templates and data from etcd or consul.
croc
27785Easily and securely send files or folders from one computer to another.
Documize
2150Modern wiki software that integrates data from SaaS tools.
dp
81Through SDK for data exchange with blockchain, developers can get easy access to DAPP development.
drive
6683Google Drive client for the commandline.
Go Package Store
899App that displays updates for the Go packages in your GOPATH.
GoBoy
2603Nintendo Game Boy Color emulator written in Go.
gocc
606Gocc is a compiler kit for Go written in Go.
GoDocTooltip
13Chrome extension for Go Doc sites, which shows function description as tooltip at function list.
Gokapi
1527Lightweight server to share files, which expire after a set amount of downloads or days. Similar to Firefox Send, but without public upload.
GoNB
631Interactive Go programming with Jupyter Notebooks (also works in VSCode, Binder and Google's Colab).
Gor
18597Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time.
Guora
668A self-hosted Quora like web application written in Go.
Go-gopher-Vector
69Go gopher Vector Data [.ai, .svg].
hoofli
8Generate PlantUML diagrams from Chrome or Firefox network inspections.
hotswap
344A complete solution to reload your go code without restarting your server, interrupting or blocking any ongoing procedure.
ide
358Browser accessible IDE. Designed for Go with Go.
ipe
367Open source Pusher server implementation compatible with Pusher client libraries written in GO.
joincap
211Command-line utility for merging multiple pcap files together.
JuiceFS
10665Distributed POSIX file system built on top of Redis and AWS S3.
Leaps
752Pair programming service using Operational Transforms.
lgo
2434Interactive Go programming with Jupyter. It supports code completion, code inspection and 100% Go compatibility.
LiteIDE
7575LiteIDE is a simple, open source, cross-platform Go IDE.
mockingjay
562Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests.
myLG
2692Command Line Network Diagnostic tool written in Go.
naclpipe
23Simple NaCL EC25519 based crypto pipe tool written in Go.
nes
5440Nintendo Entertainment System (NES) emulator written in Go.
Orbit
183A simple tool for running commands and generating files from templates.
peg
1008Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator.
Plik
1471Plik is a temporary file upload system (Wetransfer like) in Go.
protoncheck
6ProtonMail module for waybar/polybar/yabar/i3blocks.
sake
649sake is a command runner for local and remote hosts.
scc
6603Sloc Cloc and Code, a very fast accurate code counter with complexity calculations and COCOMO estimates.
Seaweed File System
22490Fast, Simple and Scalable Distributed File System with O(1) disk seek.
shell2http
1329Executing shell commands via http server (for prototyping or remote control).
Snitch
17Simple way to notify your team and many tools when someone has deployed any application via Tsuru.
sonic
2010Sonic is a Go Blogging Platform. Simple and Powerful.
Stack Up
2483Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers.
stew
160An independent package manager for compiled binaries.
tcpprobe
355TCP tool for network performance and path monitoring, including socket statistics.
toxiproxy
10637Proxy to simulate network and system conditions for automated tests.
vaku
151CLI & API for folder-based functions in Vault like copy, move, and search.
vFlow
1090High-performance, scalable and reliable IPFIX, sFlow and Netflow collector.
wellington
303Sass project management tool, extends the language with sprite functions (like Compass).
autobench
99Framework to compare the performance between different Go versions.
go-benchmark-app
27Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results.
go-benchmarks
147Few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches.
go-http-routing-benchmark
1650Go HTTP request router benchmark and comparison.
go-ml-benchmarks
31benchmarks for machine learning inference in Go.
go-web-framework-benchmark
2067Go web framework benchmark.
go_serialization_benchmarks
1565Benchmarks of Go serialization methods.
Awesome Remote Job
30699Curated list of awesome remote jobs. A lot of them are looking for Go hackers.
awesome-go-extra
23Parse awesome-go README file and generate a new README file with repo info.
gocostmodel
61Benchmarks of common basic operations for the Go language.
golang-benchmarks
131a collection of golang benchmarks.
golang-sql-benchmark
65Collection of benchmarks for popular Go database/SQL utilities.
gospeed
120Go micro-benchmarks for calculating the speed of language constructs.
skynet
1044Skynet 1M threads microbenchmark.
speedtest-resize
237Compare various Image resize algorithms for the Go language.
Go AST Book (Chinese)
5345A book focusing on Go `go/*` packages.
Free Gophers Pack
3396Gopher graphics pack by Maria Letta with illustrations and emotional characters in vector and raster.
gophers
2949Gopher artworks by Ashley McNamara.
Ethereum Development with Go
1735A little e-book on Ethereum Development with Go.
Go in 7 days
141Learn everything about Go in 7 days (from a Nodejs developer).
gocryforhelp
41Collection of Go projects that needs help. Good place to start your open-source way in Go.
Build web application with Golang
43245Golang ebook intro how to build a web app with golang.
Design Patterns in Go
119Collection of programming design patterns implemented in Go.
goapp
871An opinionated guideline to structure & develop a Go web application/service.
Golang for Node.js Developers
4606Examples of Golang compared to Node.js for learning.
Learn Go with 1000+ Exercises
18806Learn Go with thousands of examples, exercises, and quizzes.