Sprig provides over 100 functions that extend the Go template system. Slim-Sprig is a fork of Sprig that removes all external dependencies to make the library more lightweight.
Package logging implements a logging infrastructure for Go. It supports different logging backends like syslog, file and memory. Multiple backends can be utilized with different log levels per backend and logger.
This package provides a functionality to generate type-safe converters for Go. The project is meant as alternative to jinzhu/copier that doesn't use reflection.
@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.
gomock is a mocking framework for the Go programming language. It integrates well with Go's built-in testing
package, but can be used in other contexts too.
This repository contains utilities for efficiently performing Win32 IO operations in Go. Currently, this is focused on accessing named pipes and other file handles, and for using named pipes as a net transport.
This package provides a Golang implementation of the Javascript Object Signing and Encryption set of standards. This includes support for JSON Web Encryption, JSON Web Signature, and JSON Web Token standards.
This package provides a Golang implementation of the Javascript Object Signing and Encryption set of standards. This includes support for JSON Web Encryption, JSON Web Signature, and JSON Web Token standards.
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).
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.
@codejsonpatch is a library which provides functionality for both applying @urlhttp://tools.ietf.org/html/rfc6902,RFC6902 JSON patches against documents, as well as for calculating & applying @urlhttps://tools.ietf.org/html/rfc7396,RFC7396 JSON merge patches.
Package httpstat traces HTTP latency information (DNSLookup, TCP Connection and so on) on any golang HTTP request. It uses `httptrace` package. Just create `go-httpstat` powered `context.Context` and give it your `http.Request` (no big code modification is required).
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.
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 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.
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
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.