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.
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).
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
dots is a Go package that provides advanced wildcard file and package matching, similar to the behavior used by tools like go test and golint. It helps to easily resolve file paths and packages using patterns with ... wildcards, and supports flexible exclusion rules.
Package sshsig implements signing/verifying armored SSH signatures. It may be used to sign data and verify signatures using SSH private keys or SSH agent. It gives the same output as using ssh-keygen, eg when signing ssh-keygen -Y sign -f keyfile -n namespace data.
pprof is a tool for visualization and analysis of profiling data.
It reads a collection of profiling samples in profile.proto format and generates reports to visualize and help analyze the data. It can generate both text and graphical reports (through the use of the dot visualization package).
Package quartz is a library for testing time related code. It exports an interface Clock that mimics the standard library time package functions. In production, an implementation that calls thru to the standard library is used. In testing, a Mock clock is used to precisely control and intercept time functions.
This package is a small set of interfaces for composing single-purpose units of work into larger programs, forming a process model for Golang. Each unit of work implements the Runner interface and each Runner can be invoked to create a Process which can be monitored and signaled to stop.
This package implements Go types for over 70 PostgreSQL types. It is the type system underlying the https://github.com/jackc/pgx PostgreSQL driver. These types support the binary format for enhanced performance with pgx. They also support the database/sql Scan and Value interfaces and can be used with https://github.com/lib/pq.
This package implements a pure Go driver and toolkit for PostgreSQL. It is different from other drivers such as pq because, while it can operate as a database/sql compatible driver, pgx is also usable directly. It offers a native interface similar to database/sql that offers better performance and more features.
Package gopoet is a library to assist with generating Go code. It includes a model of the Go language that is simpler, and thus easier to work with, than those provided by the go/ast and go/types packages. It also provides adapter methods to allow simple interoperability with elements from the go/types and reflect packages.
This package implements a pure Go driver and toolkit for PostgreSQL. It is different from other drivers such as pq because, while it can operate as a database/sql compatible driver, pgx is also usable directly. It offers a native interface similar to database/sql that offers better performance and more features.