Ginkgo is a Behaviour-Driven Development testing framework for Go. It builds on top of Go's builtin testing library and is complemented by the Gomega matcher library.
This package provides a cross-platform Go library and command-line tool for working with Windows Security Descriptors, providing conversion between binary and SDDL (Security Descriptor Definition Language) string formats.
Package retry provides a framework for retrying actions. It does not itself invoke the action to be retried, but is intended to be used in a retry loop.
go-xdr implements the data representation portion of the External Data Representation (XDR) standard protocol as specified in RFC 4506 (obsoletes RFC 1832 and RFC 1014) in pure Go.
This package is a simple Go library that provides retry functionality for functions that may fail. It includes various customizable retry strategies, such as fixed delay, backoff delay, and random delay.
This package implements a speed-optimized natural sorting (natsort) in Golang. This implementation does not allocate memory, does not depend on sort and hence doesn't depend on reflect.
deepcopy implements a functionality of deep copies of things. A standard copy will copy the pointers where deepcopy copies the values pointed to. Unexported field values are not copied.
This package provides a Golang library to determine the real client IP address by inspecting common headers such as X-Forwarded-For and X-Real-IP, with safe fallbacks in the presence of proxies.
go-log wraps zap to provide a logging facade. go-log manages logging instances and allows for their levels to be controlled individually.
This package provides a multi-format Go library for working with archives and compression formats with a unified API and as virtual file systems compatible with io/fs.
Package ssh wraps the crypto/ssh package with a higher-level API for building SSH servers. The goal of the API was to make it as simple as using net/http, so the API is very similar.
Package ssh wraps the crypto/ssh package with a higher-level API for building SSH servers. The goal of the API was to make it as simple as using net/http, so the API is very similar.
This package provides a MySQL client API written entirely in Go. It is designed to work with the MySQL protocol version 4.1 or greater. It definitely works well with MySQL server version 5.0 and 5.1.
Package smetrics provides a bunch of algorithms for calculating the distance between strings. There are implementations for calculating the popular Levenshtein distance (aka Edit Distance or Wagner-Fischer), as well as the Jaro distance, the Jaro-Winkler distance, and more.
Package uuid provides implementation of Universally Unique Identifier. Supported versions are 1, 3, 4 and 5 (as specified in RFC 4122) and version 2 (as specified in DCE 1.1).
This package implements high-performance external sorting library for Go that enables sorting of arbitrarily large datasets that don't fit entirely in memory. The library operates on channels and uses temporary disk storage to handle datasets larger than available RAM.
This package is a simple mDNS client/server library in Go. mDNS can be used to discover services on the local network without the use of an authoritative DNS server. This enables peer-to-peer discovery.
cty (pronounced "see-tie") is a dynamic type system for applications written in Go that need to represent user-supplied values without losing type information. The primary intended use is for implementing configuration languages, but other uses may be possible too.
tint implements a zero-dependency @url/log/slog#Handler,slog.Handler that writes tinted (colorized) logs. The output format is inspired by the @urlhttps://pkg.go.dev/github.com/rs/zerolog#ConsoleWriter,zerolog.ConsoleWriter and @url/log/slog#TextHandler,slog.TextHandler.
Package stack implements utilities to capture, manipulate, and format call stacks. It provides a simpler API than package runtime. The implementation takes care of the minutia and special cases of interpreting the program counter (pc) values returned by runtime.Callers.
go-redis is the official Redis client library for the Go programming language. It offers a straightforward interface for interacting with Redis servers. github.com/redis/go-redis and github.com/go-redis/redis are distributed from the same source.
gronx is cron expression parser ported from adhocore/cron-expr with task runner and daemon that supports crontab like task list file. It may be used programatically in Golang or as standalone binary instead of crond.
lz4 provides a streaming interface to LZ4 data streams as well as low level compress and uncompress functions for LZ4 data blocks. The implementation is based on the reference C one.
lumin is a simple command-line program which highlights matches to a specified pattern (string or regex) in the specified files. This is like grep with --color, except that lumin shows all lines, not just matching lines. This package provides a CLI tool and colors library.