Utilities Go Libraries Ranking
General utilities and tools to make your life easier.
192 repositories, updated daily.
- wrap git commands with additional functionality to interact with github from the terminal.
- [Top-like](https://ctop.sh) interface (e.g. htop) for container metrics.
- provides a set of extensions on top of the excellent built-in database/sql package.
- Deliver Go binaries as fast and easily as possible.
- Modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...).
- Common libraries for writing Go services/applications from Dropbox.
- Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats.
- Golang tool that does static analysis, unit testing, code review and generate code quality report.
- Helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements.
- A powerful CLI for create a new production-ready project with backend (Golang), frontend (JavaScript, TypeScript) & deploy automation (Ansible, Docker) by running one command.
- Sesh is a CLI that helps you create and manage tmux sessions quickly and easily using zoxide.
- Small package to infer the file type checking the magic numbers signature.
- 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.
- Package for MIME type detection based on magic numbers.
- Jump helps you navigate faster by learning your habits.
tmrts/boilr
- Blazingly fast CLI tool for creating projects from boilerplate templates.
- Library for scanning data from a database into Go structs and more.
- 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.
- Simple, seamless, lightweight time tracking for Git.
- Automated changelog tool for preparing releases with lots of customization options.
- An efficient and feature complete Hystrix like Go implementation of the circuit breaker pattern.
- The management of multiple local services running over different ports made easy.
- Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks.
- Scan golang `sql.Rows` directly to structs, slices, or primitive types.
- Library inspired in Lazy evaluation and functional programming that takes the hassle out of working with arrays.
- Full implementation of ISO-3166-1, ISO-4217, ITU-T E.164, Unicode CLDR and IANA ccTLD standards.
- Visualize dependency graphs as physical tower structures, inspired by XKCD #2347.
- Golang utility library with syntactic sugar. It's like lodash, but for golang.
- Cross Platform tool to validate configuration files.
- Network device discovery and inventory with persistent labeling, multi-network scanning, and Tailscale integration.
ferama/rospo
- Simple and reliable ssh tunnels with embedded ssh server in Golang.
- The most advanced functional mechanism to perform actions repetitively until successful.
- Load environment variables from `.env` or any `io.Reader` in Go.
- Collection of useful utility functions. (strings, concurrency, manipulations, ...).
- Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project.
- Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer.
- A gh CLI extension that uploads images to GitHub issues, PRs, and READMEs from the command line, producing user-attachments URLs that respect repository visibility.
- go:generate tool for wrapping symbols exported by golang plugins (1.8 only).
- High-performance rate limiting library with token bucket and AIMD strategies.
- Process manager for Golang applications with an HTTP API.
- Utility for generating random data based on an input template.
antham/chyle
- Changelog generator using a git repository with multiple configuration possibilities.
- Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time!
- Library for executing shell commands on osx, windows and linux.
- Runs functions resiliently, catching and restarting panics.
- provide filtering, sanitizing, and conversion of Go data.
- Caching library with support for multiple backend stores (Redis, Memcached, filesystem etc).
knbr13/gitcs
- Git Commits Visualizer, CLI tool to visualize your Git commits on your local machine.
- Mongodb Pagination for official mongodb/mongo-go-driver package which supports both normal queries and Aggregation pipelines.
- go-lock is a lock library implementing read-write mutex and read-write trylock without starvation.
- Database client library, proxy for any master slave, master master structures. Lightweight and auto balancing in mind.
- A Pattern matching library inspired by ts-pattern.
- Pure Go ultra performant MIME sniffing library/utility.
- Xferspdy provides binary diff and patch library in golang.
- A CLI for removing unused or previous versions of AWS Lambdas.
- Health package simplifies the way you add health check to your services.
- Safe number type conversion library that prevents integer overflow and underflow (addresses gosec G115 and CWE-190).
- Generates interactive API documentation from Go HTTP handlers using static analysis of chi, gin, and net/http routers.
ssgreg/repeat
- Go implementation of different backoff strategies useful for retrying operations and heartbeating.
- Many utilities and helpers like string handlers/formatters and validators.
icza/backscanner
- A scanner similar to bufio.Scanner, but it reads and returns lines in reverse order, starting at a given position and going backward.
nikogura/dbt
- A framework for running self-updating signed binaries from a central, trusted repository.
- Webpage summary extractor using Facebook Open Graph and arc90's readability.
- Easy and lightweight CLI tool to time track your tasks.
- Simple, performant generic utilities for Go inspired by JavaScript and Python (map, filter, reduce, and more).
icza/minquery
- MongoDB / mgo.v2 query that supports efficient pagination (cursors to continue listing documents where we left off).
shoobyban/sshman
- SSH Manager for authorized_keys files on multiple remote servers.
antham/ghokin
- Parallelized formatter with no external dependencies for gherkin (cucumber, behat...).
- Universal multi-workstation clipboard that uses S3 like backend for the storage.
go-sqlex/sqlex
- Drop-in modernization of jmoiron/sqlx with fixed SQL lexer bugs, automatic IN-clause expansion, pluggable hooks, and unified DB/Tx/Conn interfaces.
tiendc/gofn
- High performance utility functions written using Generics for Go 1.18+.
xorcare/pointer
- Package pointer contains helper routines for simplifying the creation of optional fields of basic type.
ik5/gostrutils
- Collections of string manipulation and conversion functions.
- Go library for encoding structs into Header fields.
- Performant and flexible struct mapping and loose type conversion.
nullne/evaluator
- Evaluate an expression dynamically based on s-expression. It's simple and easy to extend.
yudppp/throttle
- Throttle is an object that will perform exactly one action per duration.
kazhuravlev/just
- Just a collection of useful functions for working with generic data structures.
zpatrick/rclient
- Readable, flexible, simple-to-use client for REST APIs.
- Run command periodically and expose latest STDOUT or its rich delta as HTTP endpoint.
- runs go generate recursively on a specified path or environment variable and can filter by regex.
gotidy/ptr
- Package that provide functions for simplified creation of pointers from constants of basic types.
- Provides primitives to perform ordered (sequential/concurrent) GRAceful TERMination (aka shutdown) in Go application.
- a small golang lib to generate placeholder images.
- Library providing Go types for store/validation and transfer of ISO-4217, ISO-3166, and other types.
- A simple yet powerful readiness test for Kubernetes.
Eun/go-convert
- Package go-convert enables you to convert a value into another type.
- Go package for working with Problem Details.
- Compile-time controlled logger to make your release smaller without removing debug calls.
- Tripper is a circuit breaker package for Go that allows you to circuit and control the status of circuits.
- A package that provide many helpful methods for working with rest api.
NicoNex/jet
- Just Edit Text: a fast and powerful tool for finding and replacing file content and names using regular expressions.
- Verify or remove blanks and whitespace from strings.
- Fast, zero-configuration, static HTTP filer server.
- Perform any number of actions on any set of OS signals in Go.
rfberaldo/sqlz
- Extension for the database/sql package, adding named queries, struct scanning, and batch operations.
deatil/go-events
- A go event and event'subscribe package, like wordpress hook functions.
- Abstractions and utilities to get rid of boilerplate code in business logic.
maxbolgarin/lang
- Generic one-liners to work with variables, slices and maps without boilerplate code.
- Go module that provides common utilities for Cloud Native REST API development. Also contains AWS Specific utilities.
- Drop-in context.Context replacement for graceful shutdown Go applications.
- Type-safe generic helpers for slices, maps, strings, errors, JSON, HTTP, and containers, organized as small independently adoptable packages.
- Production ready features for Go based web frameworks.
goioc/retro
- Handy retry-on-error library with extensive flexibility (backoff strategies, caps, etc).
- Generic typed constant sets with safe string parsing for Go's missing enum type.