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.
ZCrypto is a research and data collection cryptography library, designed to be used for measuring and analyzing cryptographic deployments on the Internet. It is largely centered around the WebPKI.
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/.
This package provides human-readable time duration formatting for Go. It converts raw time durations into a more readable format, such as 2 weeks 3 days 4 hours 5 minutes 6 seconds.
This package provides a man-page generator for the Go flag, pflag, cobra, coral, and kong packages. It extracts commands, flags, and arguments from the target program and enables it to self-document.
This package implements the data representation portion of the External Data Representation (XDR) standard protocol as specified in RFC4506 (obsoletes RFC 1832 and RFC 1014) in Go.
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.
This package is a small utility for dealing with dynamic or unknown JSON structures. It's pretty much just a helpful wrapper for navigating hierarchies of map[string]interface objects provided by the encoding/json package.
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.
Package jsonld implements encoding and decoding of JSON as defined in RFC 4627. The mapping between JSON and Go values is described in the documentation for the Marshal and Unmarshal functions.
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.
This package provides an implementation of REALITY protocol, which is intented to eliminate the detectable TLS fingerprint on the server side, while still maintain the secrecy. It achieves full real TLS that is undistingwishable with the specified SNI to the middleman.
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).