
The Best Go Libraries For Utilities (188)
Discover the best Go libraries for Utilities! Find the perfect tools to streamline your development and boost productivity. From request to mongo-go-pagination, we've got you covered. Let the coding begin!
request
Go HTTP Requests for Humans™
mongo-go-pagination
Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines
upterm
A tool for developers to share terminal/tmux sessions securely over the web. It’s perfect for remote pair programming, accessing computers behind NATs/firewalls, remote debugging, and more
sesh
Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide
wifiqr
Wi-Fi QR Code Generator
ghokin
Parallelized formatter with no external dependencies for gherkin (cucumber, behat...)
git-time-metric
Simple, seamless, lightweight time tracking for Git
go-httpheader
Go library for encoding structs into Header fields
go-qr
A native, high-quality and minimalistic QR code generator
contextplus
Package contextplus provide more easy to use functions for contexts.
cookie
Cookie struct parsing and helper package
evaluator
Evaluate an expression dynamically based on s-expression. It's simple and easy to extend
gofn
High performance utility functions written using Generics for Go 1.18+
hub
wrap git commands with additional functionality to interact with github from the terminal
gohper
Various tools/modules help for development.
moldova
Utility for generating random data based on an input template
mssqlx
Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind
set
Performant and flexible struct mapping and loose type conversion
shutdown
App shutdown hooks for `os.Signal` handling
toolbox
Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer
ugo
ugo is slice toolbox with concise syntax for Go.
golog
Easy and lightweight CLI tool to time track your tasks
copy-pasta
Universal multi-workstation clipboard that uses S3 like backend for the storage
abstract
Abstractions and utilities to get rid of boilerplate code in business logic
bed
A Vim-like binary editor written in Go
blank
Verify or remove blanks and whitespace from strings
boilr
Blazingly fast CLI tool for creating projects from boilerplate templates
boring
Simple command-line SSH tunnel manager
circuit
An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern
circuitbreaker
Circuit Breakers in Go
clipboard
📋 cross-platform clipboard package in Go
cmd
Library for executing shell commands on osx, windows and linux
config-file-validator
Cross Platform tool to validate configuration files
contem
Drop-in context.Context replacement for graceful shutdown Go applications
go-actuator
Production ready features for Go based web frameworks
countries
All you need when you are working with countries in Go
cryptgo
Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
ctop
[Top-like](https://ctop.sh) interface (e.g. htop) for container metrics
ctxutil
A collection of utility functions for contexts
dbt
A framework for running self-updating signed binaries from a central, trusted repository
Death
Managing go application shutdown with signals
dive
A tool for exploring each layer in a Docker image
dlog
Compile-time controlled logger to make your release smaller without removing debug calls
EaseProbe
A simple, standalone, and lightWeight tool that can do health/status checking daemon, support HTTP/TCP/SSH/Shell/Client/... probes, and Slack/Discord/Telegram/SMS... notification
equalizer
Quota manager and rate limiter collection for Go
ergo
The management of multiple local services running over different ports made easy
filetype
Small package to infer the file type checking the magic numbers signature
filter
provide filtering, sanitizing, and conversion of Go data
fzf
Command-line fuzzy finder written in Go
git-tools
Tool to help manage git tags
go-astitodo
Parse TODOs in your GO code
go-clip
A minimalistic clipboard manager for Mac
go-convert
Package go-convert enables you to convert a value into another type
go-dry
DRY (don't repeat yourself) package for Go
go-funk
Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...)
go-lambda-cleanup
A CLI for removing unused or previous versions of AWS Lambdas
go-lock
go-lock is a lock library implementing read-write mutex and read-write trylock without starvation
go-pattern-match
A Pattern matching library inspired by ts-pattern
go-problemdetails
Go package for working with Problem Details
go-sitemap-generator
XML Sitemap generator written in Go
go-trigger
Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project
go-tripper
Tripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits
go-type
Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types
goctx
Get your context value with high performance
godaemon
Utility to write daemons
godoclive
Generates interactive API documentation from Go HTTP handlers using static analysis of chi, gin, and net/http routers
goreleaser
Deliver Go binaries as fast and easily as possible
gostrutils
Collections of string manipulation and conversion functions
gotenv
Load environment variables from `.env` or any `io.Reader` in Go
goval
Evaluate arbitrary expressions in Go
graterm
Provides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application
grofer
A system and resource monitoring tool written in Golang!
handy
Many utilities and helpers like string handlers/formatters and validators
healthcheck
A simple yet powerful readiness test for Kubernetes
hostctl
A CLI tool to manage /etc/hosts with easy commands
htcat
Parallel and Pipelined HTTP GET Utility
immortal
\*nix cross-platform (OS agnostic) supervisor
jet
Just Edit Text: a fast and powerful tool for finding and replacing file content and names using regular expressions
jsend
JSend's implementation written in Go
jump
Jump helps you navigate faster by learning your habits
koazee
Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays
lang
Generic one-liners to work with variables, slices and maps without boilerplate code
lo
A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...)
loncha
A high-performance slice Utilities
mani
CLI tool to help you manage multiple repositories
mc
Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems
mergo
Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements
mimemagic
Pure Go ultra performant MIME sniffing library/utility
mimetype
Package for MIME type detection based on magic numbers
minify
Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats
minquery
MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off)
netbug
Easy remote profiling of your services
nfdump
Read nfdump netflow files
nostromo
CLI for building powerful aliases
onecache
Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc)
panicparse
Groups similar goroutines and colorizes stack dump
peco
Simplistic interactive filtering tool
pgo
Convenient functions for PHP community
pm
Process (i.e. goroutine) manager with an HTTP API
pointer
Package pointer contains helper routines for simplifying the creation of optional fields of basic type
rclient
Readable, flexible, simple-to-use client for REST APIs
repeat
Go implementation of different backoff strategies useful for retrying operations and heartbeating
rest-go
A package that provide many helpful methods for working with rest api
retro
Handy retry-on-error library with extensive flexibility (backoff strategies, caps, etc)
retry
The most advanced functional mechanism to perform actions repetitively until successful
retry
Simple and easy retry mechanism package for Go
retry-go
Simple library for retry mechanism
robustly
Runs functions resiliently, catching and restarting panics
rospo
Simple and reliable ssh tunnels with embedded ssh server in Golang
scan
Scan golang `sql.Rows` directly to structs, slices, or primitive types
scan
Scan sql rows into any type powered by generics
scany
Library for scanning data from a database into Go structs and more
serve
A static http server anywhere you need
silk
Read silk netflow files
slice
Type-safe functions for common Go slice operations
sliceconv
Slice conversion between primitive types
sorty
Fast Concurrent / Parallel Sorting
sqlz
Extension for the database/sql package, adding named queries, struct scanning, and batch operations
sshman
SSH Manager for authorized_keys files on multiple remote servers
stacktower
Visualize dependency graphs as physical tower structures, inspired by XKCD #2347
statiks
Fast, zero-configuration, static HTTP filer server
Storm
Simple and powerful toolkit for BoltDB
structs
Implement simple functions to manipulate structs
UNIS
Common Architecture™ for String Utilities in Go
usql
usql is a universal command-line interface for SQL databases
util
Collection of useful utility functions. (strings, concurrency, manipulations, ...)
watchhttp
Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint
wuzz
Interactive cli tool for HTTP inspection
xpool
Yet another golang type safe object pool using generics
countries
Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards
create-go-app
A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command
go-bind-plugin
go:generate tool for wrapping symbols exported by golang plugins (1.8 only)
go-safecast
Safe number type conversion library that prevents integer overflow and underflow (addresses gosec G115 and CWE-190)
gopencils
Small and simple package to easily consume REST APIs
goreporter
Golang tool that does static analysis, unit testing, code review and generate code quality report
limiters
Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks
rate
High-performance rate limiting library with token bucket and AIMD strategies
sqlx
provides a set of extensions on top of the excellent built-in database/sql package
golarm
Fire alarms with system events
goplaceholder
a small golang lib to generate placeholder images
apm
Process manager for Golang applications with an HTTP API
backscanner
A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward
bleep
Perform any number of actions on any set of OS signals in Go
changie
Automated changelog tool for preparing releases with lots of customization options
chyle
Changelog generator using a git repository with multiple configuration possibilities
clockwork
A simple fake clock for golang
cvt
Easy and safe convert any value to another type
debounce
A zero-allocation debouncer written in Go
delve
Go debugger
Failsafe-go
Fault tolerance and resilience patterns for Go
filler
small utility to fill structs using "fill" tag
generate
runs go generate recursively on a specified path or environment variable and can filter by regex
gitbatch
manage your git repositories in one place
gitcs
Git Commits Visualizer, CLI tool to visualize your Git commits on your local machine
go-bsdiff
Pure Go bsdiff and bspatch libraries and CLI tools
go-countries
Lightweight lookup over ISO-3166 codes
go-events
A go event and event'subscribe package, like wordpress hook functions
goreadability
Webpage summary extractor using Facebook Open Graph and arc90's readability
go-health
Health package simplifies the way you add health check to your services
go-pkg
A go toolkit
go-rate
Timed rate limiter for Go
goback
Go simple exponential backoff package
godropbox
Common libraries for writing Go services/applications from Dropbox
goseaweedfs
SeaweedFS client library with almost full features
gubrak
Golang utility library with syntactic sugar. It's like lodash, but for golang
json-log-viewer
Interactive viewer for JSON logs
just
Just a collection of useful functions for working with generic data structures
olaf
Twitter Snowflake implemented in Go
lets-go
Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities
lrserver
LiveReload server for Go
mole
cli app to easily create ssh tunnels
multitick
Multiplexor for aligned tickers
okrun
go run error steamroller
optional
Optional struct fields and vars
pattern-match
Pattern matching library
ptr
Package that provide functions for simplified creation of pointers from constants of basic types
release
CLI for Keep-a-changelog formatted changelogs
remote-touchpad
Control mouse and keyboard from a smartphone
rerun
Recompiling and rerunning go apps when source changes
retry
A simple but highly configurable retry package for Go
retry
A pretty simple library to ensure your work to be done
retry-go
Retrying made simple and easy for golang
slicer
Makes working with slices easier
throttle
Throttle is an object that will perform exactly one action per duration
tik
Simple and easy timing wheel package for Go
tome
Tome was designed to paginate simple RESTful APIs
xferspdy
Xferspdy provides binary diff and patch library in golang
yogo
Check yopmail mails from command line