Package crawlspace provides a means to dynamically interact with registered Go objects in a live process, using small scripting language based around the reflect package inspired by Twisted's manhole library .
Package expect provides an expect-like interface to automate control of applications. It is unlike expect in that it does not spawn or manage process lifecycle. This package only focuses on expecting output and sending input through it's psuedoterminal.
This package generates UUID-format strings using high quality bytes. It is not intended to be RFC compliant, merely to use a well-understood string representation of a 128-bit value. It can also parse UUID-format strings into their component bytes.
This package exposes a registry of data types to support string formats in the go-openapi toolkit. strfmt represents a well known string format such as credit card or email. The Go toolkit for OpenAPI specifications knows how to deal with those.
This package provides a verity Go packages.
buffer - provides a thin wrapper around a byte slice
log - provides support for logging to stdout, stderr and file
pid - provides structure and helper functions to create and remove PID file
Package iso8601 is a utility for parsing ISO8601 datetime strings into native Go times. The standard library's RFC3339 reference layout can be too strict for working with 3rd party APIs, especially ones written in other languages.
This package implements Swiss Tables as described in https://abseil.io/about/design/swisstables. It provides pseudo-randomized iteration (iteration order will change from one iteration to the next) and iteration stability akin to Go's builtin map if the map is mutated during iteration.
The cmdtest package simplifies testing of command-line interfaces. It provides a simple, cross-platform, shell-like language to express command execution. It can compare actual output with the expected output, and can also update a file with new "golden" output that is deemed correct.
This package implements a functionality to generate barcodes.
Supported Barcode Types:
2 of 5
Aztec Code
Codabar
Code 128
Code 39
Code 93
Datamatrix
EAN 13
EAN 8
PDF 417
QR Code
This package implements a functinality to help filling out plain html forms during testing. Will automatically take the existing values from the form so there is no need to manually set things like csrf tokens. Alerts about missing required fields, or when pattern validation does not match.
This package implements functionality for encoding and decoding Concise Binary Object Representation (RFC 8949) and CBOR Sequences, with CBOR tags, Golang struct tags (toarray, keyasint, omitempty), float64/32/16, and big.Intp.
This package provides a Golang library for parsing Intel HEX files, implementing features like:
robust intelhex parsing (full test coverage)
support i32hex format
two-way converting hex<->bin
trivial but powerful api (only the most commonly used functions)
interface-based IO functions
Package terminal is a vt10x terminal emulation backend, influenced largely by st, rxvt, xterm, and iTerm as reference. Use it for terminal muxing, a terminal emulation frontend, or wherever else you need terminal emulation.
It's an active fork of https://github.com/james4k/terminal.
Keyring provides utility functions for and a common interface to a range of secure credential storage services. Originally developed as part of AWS Vault, a command line tool for securely managing AWS access from developer workstations.
Currently Keyring supports the following backends: macOS/OSX Keychain, Windows pcredential store, Pass, Secret Service, KDE Wallet, Encrypted File.
This package provides a Go implementation of JSON Web Tokens and supports the parsing and verification as well as the generation and signing of JSON Web Tokens. The currently supported signing algorithms are HMAC SHA, RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.
This package provides a Go implementation of JSON Web Tokens and supports the parsing and verification as well as the generation and signing of JSON Web Tokens. The currently supported signing algorithms are HMAC SHA, RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own.
Datastore is a generic layer of abstraction for data store and database access. It is a simple API with the aim to enable application development in a datastore-agnostic way, allowing datastores to be swapped seamlessly without changing application code. Thus, one can leverage different datastores with different strengths without committing the application to one datastore throughout its lifetime.
Datastore is a generic layer of abstraction for data store and database access. It is a simple API with the aim to enable application development in a datastore-agnostic way, allowing datastores to be swapped seamlessly without changing application code. Thus, one can leverage different datastores with different strengths without committing the application to one datastore throughout its lifetime.
Package errors provides a robust error handling library with support for error wrapping, stack traces, context storage, and retry mechanisms. It extends the standard library's error interface with features like HTTP-like status codes, error categorization, and JSON serialization, while maintaining compatibility with `errors.Is`, `errors.As`, and `errors.Unwrap`. The package is thread-safe and optimized with object pooling for performance.
This package provides Go libraries that are shared across Prometheus components.
config- common configuration structuresexpfmt- decoding and encoding for the exposition formatmodel- shared data structurespromslog- a logging wrapper around log/slogroute- a routing wrapper around httprouter using context.Contextserver- common serversversionversion information and metrics
Suture provides Erlang-ish supervisor trees for Go. "Supervisor trees" -> "sutree" -> "suture" -> holds your code together when it's trying to die.
It is intended to deal gracefully with the real failure cases that can occur with supervision trees (such as burning all your CPU time endlessly restarting dead services), while also making no unnecessary demands on the "service" code, and providing hooks to perform adequate logging with in a production environment
ChunkReader is a io.Reader wrapper that minimizes IO reads and memory allocations. It allocates memory in chunks and will read as much as will fit in the current buffer in a single call regardless of how large a read is actually requested. The memory returned via Next is owned by the caller. This avoids the need for an additional copy. It extracted from original implementation in https://github.com/jackc/pgx.
DHCPv4 and DHCPv6 decoding/encoding library for Golang. This package is split in several logical parts:
dhcpv4- implementation of DHCPv4 packet, client and servernetboot- network booting wrappers on top of dhcpv6 and dhcpv4iana- several IANA constants, and helpers used by dhcpv6 and dhcpv4rfc1035label- simple implementation of RFC1035 labels, used by dhcpv6 and dhcpv4interfaces- a thin layer of wrappers around network interfaces