This package implements a functionality for creating, managing, inspecting, and destroying cgroups. The resources format for settings on the cgroup uses the OCI runtime-spec found here.
go-ipld-prime is an implementation of the IPLD spec interfaces, a batteries-included codec implementations of IPLD for CBOR and JSON, and tooling for basic operations on IPLD objects (traversals, etc).
@strongFlatBuffers is a cross platform serialization library architected for maximum memory efficiency. It allows you to directly access serialized data without parsing/unpacking it first, while still having great forwards/backwards compatibility.
Dasel (short for data-selector) allows you to query and modify data structures using selector strings. It's similar to jq/yq, but supports JSON, YAML, TOML, XML and CSV with zero runtime dependencies.
This package provides a a drop-in replacement to github.com/pkg/errors and Go's standard errors package. It also provides of error objects, in ways suitable for distributed systems with mixed-version software compatibility.
Package urlesc implements query escaping as per RFC 3986. It contains some parts of the net/url package, modified so as to allow some reserved characters incorrectly escaped by net/url.
jsonpatch is a library which provides functionality for both applying RFC6902 JSON patches against documents, as well as for calculating & applying RFC7396 JSON merge patches.
Package strcase converts between different kinds of naming formats such as camel case (CamelCase), snake case (snake_case) or kebab case (kebab-case). The package is designed to work only with strings consisting of standard ASCII letters.
Pebble is a LevelDB/RocksDB inspired key-value store focused on performance and internal usage by CockroachDB. Pebble inherits the RocksDB file formats and a few extensions such as range deletion tombstones, table-level bloom filters, and updates to the MANIFEST format.
This package provides a Go implementation of the Varlink protocol, a protocol for inter-process communication. Varlink utilizes a plain-text, JSON-based format for messages and is designed to be accessible to both humans and machines.
Package filepathx adds double-star globbing support to the Glob function from the core path/filepath package. You might recognize "**" recursive globs from things like your .gitignore file, and zsh. The "**" glob represents a recursive wildcard matching zero-or-more directory levels deep.
This package implements much of the decimal specification from the General Decimal Arithmetic description. This is the same specification implemented by Python’s decimal module and GCC’s decimal extension.
This package implements a functionality for fitting statistical model. Additional Go packages include glm for Generalized Liner Models and duration for survival analysis. All models can be fit with maximum (or quasi-maximum) likelihood estimation, with optional L1 (Lasso) or L2 (ridge) penalization.
This package is a brotli compressor and decompressor implemented in Go. It was translated from the reference implementation (https://github.com/google/brotli) with the c2go tool at https://github.com/andybalholm/c2go.
Yamux (Yet another Multiplexer) is a multiplexing library for Golang. It relies on an underlying connection to provide reliability and ordering, such as TCP or Unix domain sockets, and provides stream-oriented multiplexing. It is inspired by SPDY but is not interoperable with it.
Yamux (Yet another Multiplexer) is a multiplexing library for Golang. It relies on an underlying connection to provide reliability and ordering, such as TCP or Unix domain sockets, and provides stream-oriented multiplexing. It is inspired by SPDY but is not interoperable with it.
This package provides ciinfo, a tool to get details about the current Continuous Integration environment, including checking if running in a CI system, which CI system, build id, and more.
This is a reimplementation of ci-info in Go.
The yaml package enables Golang programs to comfortably encode and decode YAML values. It was developed within Canonical as part of the juju project, and is based on a pure Golang port of the libyaml C library to parse and generate YAML data quickly and reliably.
This package implements a functionality of managing the registration, marshaling, and unmarshaling of encoded types. It helps when types are sent over a ttrpc/GRPC API and marshaled as a protobuf Any.
Package decimal implements an arbitrary precision fixed-point decimal. Features:
the zero-value is 0, and is safe to use without initialization
addition, subtraction, multiplication with no loss of precision
division with specified precision
database/sql serialization/deserialization
JSON and XML serialization/deserialization
This package implements io.ReaderAt that makes HTTP Range Requests. It can be used for example with "archive/zip" package in Go standard library. Together they can be used to access remote (HTTP accessible) ZIP archives without needing to download the whole archive file.
cpuid provides information about the CPU running the current program. CPU features are detected on startup, and kept for fast access through the life of the application. Currently x86 / x64 (AMD64) is supported, and no external C (cgo) code is used, which should make the library very eas to use.