Utilities

General utilities and tools to make your life easier.

fzf67.1K

Command-line fuzzy finder written in Go.

dive49K

A tool for exploring each layer in a Docker image.

hub22.9K

wrap git commands with additional functionality to interact with github from the terminal.

lo18.4K

A Lodash like Go library based on Go 1.18+ Generics (map, filter, contains, find...)

sqlx16.5K

provides a set of extensions on top of the excellent built-in database/sql package.

ctop15.7K

Top-like interface (e.g. htop) for container metrics.

goreleaser14.1K

Deliver Go binaries as fast and easily as possible.

wuzz10.6K

Interactive cli tool for HTTP inspection.

usql9.2K

usql is a universal command-line interface for SQL databases.

peco7.7K

Simplistic interactive filtering tool.

lancet4.9K

A comprehensive, efficient, and reusable util function library of go.

go-funk4.8K

Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...).

godropbox4.2K

Common libraries for writing Go services/applications from Dropbox.

minify3.8K

Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.

panicparse3.5K

Groups similar goroutines and colorizes stack dump.

goreporter3.1K

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

mc2.9K

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

mergo2.9K

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

create-go-app2.6K

A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command.

retry-go2.5K

Simple library for retry mechanism.

EaseProbe2.2K

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.

filetype2.1K

Small package to infer the file type checking the magic numbers signature.

Storm2.1K

Simple and powerful toolkit for BoltDB.

jump1.8K

Jump helps you navigate faster by learning your habits.

boilr1.7K

Blazingly fast CLI tool for creating projects from boilerplate templates.

Failsafe-go1.7K

Fault tolerance and resilience patterns for Go.

mimetype1.7K

Package for MIME type detection based on magic numbers.

mole1.7K

cli app to easily create ssh tunnels.

gitbatch1.5K

manage your git repositories in one place.

scany1.3K

Library for scanning data from a database into Go structs and more.

bed1.3K

A Vim-like binary editor written in Go.

circuitbreaker1.1K

Circuit Breakers in Go.

hostctl1.1K

A CLI tool to manage /etc/hosts with easy commands.

git-time-metric982

Simple, seamless, lightweight time tracking for Git.

upterm883

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.

immortal807

*nix cross-platform (OS agnostic) supervisor.

sesh791

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

circuit772

An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.

changie711

Automated changelog tool for preparing releases with lots of customization options.

clockwork678

A simple fake clock for golang.

delve642

Go debugger.

clipboard640

? cross-platform clipboard package in Go.

ergo631

The management of multiple local services running over different ports made easy.

scan571

Scan golang sql.Rows directly to structs, slices, or primitive types.

remote-touchpad566

Control mouse and keyboard from a smartphone.

htcat553

Parallel and Pipelined HTTP GET Utility.

koazee529

Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.

limiters494

Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks.

godaemon493

Utility to write daemons.

gubrak492

Golang utility library with syntactic sugar. It's like lodash, but for golang.

go-dry488

DRY (don't repeat yourself) package for Go.

mani455

CLI tool to help you manage multiple repositories.

gopencils452

Small and simple package to easily consume REST APIs.

request426

Go HTTP Requests for Humans™.

countries417

Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards.

go-rate400

Timed rate limiter for Go.

grofer359

A system and resource monitoring tool written in Golang!

config-file-validator355

Cross Platform tool to validate configuration files.

retry342

The most advanced functional mechanism to perform actions repetitively until successful.

serve336

A static http server anywhere you need.

rospo318

Simple and reliable ssh tunnels with embedded ssh server in Golang.

gotenv300

Load environment variables from .env or any io.Reader in Go.

util294

Collection of useful utility functions. (strings, concurrency, manipulations, ...).

wifiqr265

Wi-Fi QR Code Generator.

go-trigger247

Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.

pattern-match246

Pattern matching library.

go-sitemap-generator222

XML Sitemap generator written in Go.

toolbox198

Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.

Death196

Managing go application shutdown with signals.

go-bind-plugin183

go:generate tool for wrapping symbols exported by golang plugins (1.8 only).

moldova169

Utility for generating random data based on an input template.

apm167

Process manager for Golang applications with an HTTP API.

rerun166

Recompiling and rerunning go apps when source changes.

go-bsdiff161

Pure Go bsdiff and bspatch libraries and CLI tools.

goval160

Evaluate arbitrary expressions in Go.

robustly159

Runs functions resiliently, catching and restarting panics.

chyle157

Changelog generator using a git repository with multiple configuration possibilities.

cmd155

Library for executing shell commands on osx, windows and linux.

cryptgo155

Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!

filter151

provide filtering, sanitizing, and conversion of Go data.

nostromo144

CLI for building powerful aliases.

onecache136

Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).

sorty134

Fast Concurrent / Parallel Sorting.

json-log-viewer131

Interactive viewer for JSON logs.

mongo-go-pagination130

Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines.

lrserver128

LiveReload server for Go.

gitcs121

Git Commits Visualizer, CLI tool to visualize your Git commits on your local machine.

go-lock117

go-lock is a lock library implementing read-write mutex and read-write trylock without starvation.

goseaweedfs113

SeaweedFS client library with almost full features.

cookie111

Cookie struct parsing and helper package.

mssqlx103

Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.

xferspdy101

Xferspdy provides binary diff and patch library in golang.

mimemagic99

Pure Go ultra performant MIME sniffing library/utility.

go-health96

Health package simplifies the way you add health check to your services.

go-pattern-match93

A Pattern matching library inspired by ts-pattern.

go-lambda-cleanup91

A CLI for removing unused or previous versions of AWS Lambdas.

equalizer89

Quota manager and rate limiter collection for Go.

countries87

All you need when you are working with countries in Go.

pgo86

Convenient functions for PHP community.

repeat85

Go implementation of different backoff strategies useful for retrying operations and heartbeating.

handy81

Many utilities and helpers like string handlers/formatters and validators.

pm79

Process (i.e. goroutine) manager with an HTTP API.

netbug72

Easy remote profiling of your services.

multitick70

Multiplexor for aligned tickers.

UNIS70

Common Architecture™ for String Utilities in Go.

goreadability69

Webpage summary extractor using Facebook Open Graph and arc90's readability.

retry66

Simple and easy retry mechanism package for Go.

go-astitodo65

Parse TODOs in your GO code.

backscanner64

A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.

dbt63

A framework for running self-updating signed binaries from a central, trusted repository.

scan63

Scan sql rows into any type powered by generics.

golog62

Easy and lightweight CLI tool to time track your tasks.

minquery62

MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).

shutdown59

App shutdown hooks for os.Signal handling.

golarm53

Fire alarms with system events.

gofn52

High performance utility functions written using Generics for Go 1.18+.

copy-pasta51

Universal multi-workstation clipboard that uses S3 like backend for the storage.

slice51

Type-safe functions for common Go slice operations.

retry-go50

Retrying made simple and easy for golang.

sshman50

SSH Manager for authorized_keys files on multiple remote servers.

cvt49

Easy and safe convert any value to another type.

goback49

Go simple exponential backoff package.

go-httpheader47

Go library for encoding structs into Header fields.

set47

Performant and flexible struct mapping and loose type conversion.

gostrutils46

Collections of string manipulation and conversion functions.

slicer46

Makes working with slices easier.

ghokin45

Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).

yogo43

Check yopmail mails from command line.

pointer42

Package pointer contains helper routines for simplifying the creation of optional fields of basic type.

evaluator41

Evaluate an expression dynamically based on s-expression. It's simple and easy to extend.

throttle39

Throttle is an object that will perform exactly one action per duration.

go-qr35

A native, high-quality and minimalistic QR code generator.

rclient35

Readable, flexible, simple-to-use client for REST APIs.

tome35

Tome was designed to paginate simple RESTful APIs.

myhttp34

Simple API to make HTTP GET requests with timeout support.

mimesniffer33

A MIME type sniffer for Go.

watchhttp33

Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint.

just32

Just a collection of useful functions for working with generic data structures.

generate30

runs go generate recursively on a specified path or environment variable and can filter by regex.

goplaceholder29

a small golang lib to generate placeholder images.

ptr27

Package that provide functions for simplified creation of pointers from constants of basic types.

graterm26

Provides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application.

ctxutil25

A collection of utility functions for contexts.

structs24

Implement simple functions to manipulate structs.

go-convert22

Package go-convert enables you to convert a value into another type.

jsend22

JSend's implementation written in Go.

go-type19

Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types.

filler18

small utility to fill structs using "fill" tag.

dlog17

Compile-time controlled logger to make your release smaller without removing debug calls.

go-problemdetails17

Go package for working with Problem Details.

go-countries16

Lightweight lookup over ISO-3166 codes.

okrun16

go run error steamroller.

rest-go16

A package that provide many helpful methods for working with rest api.

go-actuator15

Production ready features for Go based web frameworks.

silk14

Read silk netflow files.

command13

Command pattern for Go with thread safe serial and parallel dispatcher.

go-clip13

A minimalistic clipboard manager for Mac.

blank12

Verify or remove blanks and whitespace from strings.

go-tripper12

Tripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits.

retry12

A pretty simple library to ensure your work to be done.

bleep11

Perform any number of actions on any set of OS signals in Go.

loncha11

A high-performance slice Utilities.

nfdump11

Read nfdump netflow files.

statiks11

Fast, zero-configuration, static HTTP filer server.

goctx10

Get your context value with high performance.

retry10

A simple but highly configurable retry package for Go.

sliceconv10

Slice conversion between primitive types.

jet9

Just Edit Text: a fast and powerful tool for finding and replacing file content and names using regular expressions.

go-pkg7

A go toolkit.

lets-go7

Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities.

olaf5

Twitter Snowflake implemented in Go.

tik5

Simple and easy timing wheel package for Go.

xpool3

Yet another golang type safe object pool using generics.

go-events2

A go event and event'subscribe package, like wordpress hook functions.