Implementation in Go of the CID spec. It is used in go-ipfs and related packages to refer to a typed hunk of data.
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.
go-log wraps zap to provide a logging facade. go-log manages logging instances and allows for their levels to be controlled individually.
This package is a request router and dispatcher with a pat-like interface. It is an alternative to gorilla/mux that showcases how it can be used as a base for different API flavors.
noise implements the Noise protocol framework. Noise is a low-level framework for building crypto protocols. Noise protocols support mutual and optional authentication, identity hiding, forward secrecy, zero round-trip encryption, and other advanced features.
This package is a drop in replacement for the built-in Go log package. All the functionality of the built-in package still exists and is unchanged. This package contains a series of small enhancements and additions.
The uniseg package provides a tool to iterate over grapheme clusters. This may be used to determine the number of user-perceived characters, to split strings in their intended places, or to extract individual characters which form a unit.
This package provides a library for embedding human-meaningful graphics in QR codes. However, instead of scribbling on redundant pieces and relying on error correction to preserve the meaning, qart engineers the encoded values to create the picture in a code with no inherent errors.
Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project. The goal of the project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.
lz4 provides a streaming interface to LZ4 data streams as well as low level compress and uncompress functions for LZ4 data blocks. The implementation is based on the reference C one.
Pflag is library to replace Go's flag package. It implements POSIX/GNU-style command-line options with double hyphens. It is is compatible with the GNU extensions to the POSIX recommendations for command-line options.
Package status implements errors returned by gRPC. These errors are serialized and transmitted on the wire between server and client, and allow for additional data to be transmitted via the Details field in the status proto. gRPC service handlers should return an error created by this package, and gRPC clients should expect a corresponding error to be returned from the RPC call.
Tengo is a small, dynamic, fast, secure script language for Go. Features:
simple and highly readable syntax
dynamic typing with type coercion
higher-order functions and closures
immutable values
securely embeddable and extensible
compiler/runtime written in native Go (no external deps or cgo)
executable as a standalone language/REPL
use cases: rules engine, state machine, data pipeline, transpiler
goupnp is a Universal Plug and Play client library for Go.
Core components:
goupnp: core library - contains datastructures and utilities typically used by the implemented DCPshttpu: HTTPU implementation, underlies SSDPssdp: SSDP client implementation (simple service discovery protocol) - used to discover UPnP services on a networksoap: SOAP client implementation (simple object access protocol) - used to communicate with discovered services
golib is a collection of unrelated libraries. This package provides a following list of Golang models:
bufpipeImplements a buffered pipe.
cronParses and runs cron schedules.
hashmergeMerges hash checksums.
jsoncsImplements JSON Canonicalization Scheme (JCS) as specified in RFC 8785.
jsonfmtImplements a JSON formatter.
memfileImplements an in-memory emulation of
os.File.unitconvImplements string conversion functionality for unit prefixes.
This package provides a set of APIs implementing the de facto standard for L4/L7 data plane configuration, similar to the role played by OpenFlow at L2/L3/L4 in Software-defined networking.
The xDS transport protocol provides a low latency versioned streaming gRPC delivery of xDS resources. The data model covers common data plane concerns such as service discovery, load balancing assignments, routing discovery, listener configuration, secret discovery, load reporting, health check delegation, etc.
This package provides a wrapper around go-yaml designed to enable a better way of handling YAML when marshaling to and from structs.
It first converts YAML to JSON using go-yaml and then uses json.Marshal and json.Unmarshal to convert to or from the struct. This means that it effectively reuses the JSON struct tags as well as the custom JSON methods MarshalJSON and UnmarshalJSON unlike go-yaml.
Package gitea implements a client for the Gitea API. The version corresponds to the highest supported version of the gitea API, but backwards-compatibility is mostly given.
Documentation at https://melpa.org/#/speedbar-git-respect
Documentation at https://melpa.org/#/bug-reference-github