This package provides a wrapper around go-yaml designed to enable a better way of handling YAML when marshaling to and from structs.
Package fuzzy provides fuzzy string matching optimized for filenames and code symbols in the style of Sublime Text, VSCode, IntelliJ IDEA et al.
Package scram provides client and server implementations of the Salted Challenge Response Authentication Mechanism described in RFC-5802 and RFC-7677.
fuzzy provides fuzzy string matching optimized for filenames and code symbols in the style of Sublime Text, VSCode, IntelliJ IDEA et al.
Package buffer provides a generic buffer or batching mechanism for flushing entries at a given size or interval, useful for cases such as batching log events.
Package builder provides a method for writing fluent immutable DSL builders. It uses immutable persistent data structures so that each step in the method chain can be reused.
This package implements an in-memory terminal emulator, designed to be used as a component within a larger application for displaying logs, running interactive shells, or rendering terminal output.
mango is a man-page generator for the Go flag, pflag, cobra, coral, and kong packages. It extracts commands, flags, and arguments from your program and enables it to self-document.
The deep package provides the deep.Equal function which is like reflect.DeepEqual but returns a list of differences. This is helpful when comparing complex types like structures and maps.
Native Go implementation of Austin Appleby's third MurmurHash revision (aka MurmurHash3). Reference algorithm has been slightly hacked as to support the streaming mode required by Go's standard Hash interface.
The liner Go package implements a simple command line editor with history, inspired by linenoise. Xterm as well as WIN32 terminal codes are supported.
This package provides a code generation tool for creating methods to serialize and de-serialize Go data structures to and from data interchange format - MessagePack.
The nsq Go module provides a high-level Consumer and Producer types as well as low-level functions to communicate over the NSQ protocol https://nsq.io/.
Package logr defines a general-purpose logging API and abstract interfaces to back that API. Packages in the Go ecosystem can depend on it, while callers can implement logging with whatever backend is appropriate.
This package provides an implementation of the PKCS#11 API. It wraps the library closely, but uses Go idiom where it makes sense. It has been tested with SoftHSM.
git-auto-commit-mode is an Emacs minor mode that tries to commit changes to a file after every save.
When gac-automatically-push-p is non-nil, it also tries to push to the current upstream.
This package provides a support of reading and writing of xz compressed streams. It includes also a gxz command for compressing and decompressing data. The package is completely written in Go and doesn't have any dependency on any C code.
go-opt is a library to parse command line arguments based on tag annotations on struct fields. It came as a spin-off from aerc to deal with its internal commands.
This package provides a IEEE 754 half-precision floating-point format (binary16) with IEEE 754 default rounding for conversions. IEEE 754-2008 refers to this 16-bit floating-point format as binary16.
Package sha1cd implements collision detection based on the whitepaper Counter-cryptanalysis from Marc Stevens. The original ubc implementation was done by Marc Stevens and Dan Shumow, and can be found at: @urlhttps://github.com/cr-marcstevens/sha1collisiondetection,https://github.com/cr-marcstevens/sha1collisiondetection.
This package is intended to support forward-only iteration in a variety of use cases while avoiding the normal errors and leaks that can happen with iterators in Go. It provides mechanisms for map/select filtering, background iteration through a goroutine, and error handling throughout.
The uuid package generates and inspects UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. This package now leverages the github.com/google/uuid package (which is based off an earlier version of this package).
SipHash is a family of pseudo-random functions optimized for speed on short messages. It computes a 64-bit or 128 bit message authentication code from a variable-length message and 128-bit secret key. This implementation uses the recommended parameters c=2 and d=4.
Package dbus implements bindings to the D-Bus message bus system. Features:
complete native implementation of the D-Bus message protocol
go-like API (channels for signals / asynchronous method calls, Goroutine-safe connections)
subpackages that help with the introspection / property interfaces