# Packages
Package cache contains an interface for a cache around a typed value, and various cache implementations that implement that interface.
Package cibuild reports runtime CI information.
Package clientmetric provides client-side metrics whose values get occasionally logged.
Package cloudenv reports which known cloud environment we're running in.
Package cmpver implements a variant of debian version number comparison.
Package codegen contains shared utilities for generating code.
Package cstruct provides a helper for decoding binary data that is in the form of a padded C structure.
ctxkey provides type-safe key-value pairs for use with [context.Context].
Package deephash hashes a Go value recursively, in a predictable order, without looping.
Package dirwalk contains code to walk a directory.
Package dnsname contains string functions for working with DNS names.
Package execqueue implements an ordered asynchronous queue for executing functions.
Package expvarx provides some extensions to the [expvar] package.
The goroutines package contains utilities for getting active goroutines.
Package groupmember verifies group membership of the provided user on the local system.
Package hashx provides a concrete implementation of [hash.Hash] that operates on a particular block size.
Package httphdr implements functionality for parsing and formatting standard HTTP headers.
Package httpm has shorter names for HTTP method constants.
Package jsonutil provides utilities to improve JSON performance.
Package limiter provides a keyed token bucket rate limiter.
Package lineiter iterates over lines in things.
Package lineread reads lines from files.
Package linuxfw returns the kind of firewall being used by the kernel.
Package lru contains a typed Least-Recently-Used cache.
Package mak helps make maps.
Package multierr provides a simple multiple-error type.
Package must assists in calling functions that must succeed.
nocasemaps provides efficient functions to set and get entries in Go maps keyed by a string, where the string is always lower-case.
Package osdiag provides loggers for OS-specific diagnostic information.
No description provided by the author
Package osuser implements OS user lookup.
Package pidowner handles lookups from process ID to its owning user.
Package pool contains a generic type for managing a pool of resources; for example, connections to a database, or to a remote service.
Package precompress provides build- and serving-time support for precompressed static resources, to avoid the cost of repeatedly compressing unchanging resources.
Package progresstracking provides wrappers around io.Reader and io.Writer that track progress.
Package quarantine sets platform specific "quarantine" attributes on files that are received from other hosts.
Package race contains a helper to "race" two functions, returning the first successful result.
Package racebuild exports a constant about whether the current binary was built with the race detector.
Package rands contains utility functions for randomness.
Package reload contains functions that allow periodically reloading a value (e.g.
Package ringbuffer contains a fixed-size concurrency-safe generic ring buffer.
Package set contains set types.
Package singleflight provides a duplicate function call suppression mechanism.
Package slicesx contains some helpful generic slice functions.
Package syspolicy facilitates retrieval of the current policy settings applied to the device or user and receiving notifications when the policy changes.
Package sysresources provides OS-independent methods of determining the resources available to the current system.
Package systemd contains a minimal wrapper around systemd-notify to enable
applications to signal readiness and status to systemd.
Package testenv provides utility functions for tests.
Package topk defines a count-min sketch and a cheap probabilistic top-K data structure that uses the count-min sketch to track the top K items in constant memory and O(log(k)) time.
Package truncate provides a utility function for safely truncating UTF-8 strings to a fixed length, respecting multi-byte codepoints.
Package uniq provides removal of adjacent duplicate elements in slices.
Package usermetric provides a container and handler for user-facing metrics.
Package vizerror provides types and utility funcs for handling visible errors that are safe to display to end users.
Package winutil contains misc Windows/Win32 helper functions.
Package zstdframe provides functionality for encoding and decoding independently compressed zstandard frames.