go-xdr
implements the data representation portion of the External Data Representation (XDR) standard protocol as specified in RFC 4506 (obsoletes RFC 1832 and RFC 1014) in pure Go.
deepcopy
implements a functionality of deep copies of things. A standard copy
will copy the pointers where deepcopy
copies the values pointed to. Unexported field values are not copied.
This package is a simple Go library that provides retry functionality for functions that may fail. It includes various customizable retry strategies, such as fixed delay, backoff delay, and random delay.
go-log
wraps zap to provide a logging facade. go-log
manages logging instances and allows for their levels to be controlled individually.
fgprof is a sampling Go profiler that allows you to analyze On-CPU as well as [Off-CPU](@urlhttp://www.brendangregg.com/offcpuanalysis.html,http://www.brendangregg.com/offcpuanalysis.html) (e.g. I/O) time together.
Package ssh wraps the crypto/ssh package with a higher-level API for building SSH servers. The goal of the API was to make it as simple as using net/http, so the API is very similar.
Package smetrics provides a bunch of algorithms for calculating the distance between strings. There are implementations for calculating the popular Levenshtein distance (aka Edit Distance or Wagner-Fischer), as well as the Jaro distance, the Jaro-Winkler distance, and more.
Package uuid provides implementation of Universally Unique Identifier. Supported versions are 1, 3, 4 and 5 (as specified in RFC 4122) and version 2 (as specified in DCE 1.1).
cty
(pronounced "see-tie") is a dynamic type system for applications written in Go that need to represent user-supplied values without losing type information. The primary intended use is for implementing configuration languages, but other uses may be possible too.
Package stack
implements utilities to capture, manipulate, and format call stacks. It provides a simpler API than package runtime
. The implementation takes care of the minutia and special cases of interpreting the program counter (pc) values returned by runtime.Callers
.
The errgo package provides a way to create and diagnose errors. It is compatible with the usual Go error idioms but adds a way to wrap errors so that they record source location information while retaining a consistent way for code to inspect errors to find out particular problems.
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.
lumin
is a simple command-line program which highlights matches to a specified pattern (string or regex) in the specified files. This is like grep
with --color
, except that lumin
shows all lines, not just matching lines. This package provides a CLI tool and colors
library.
termenv lets you safely use advanced styling options on the terminal. It gathers information about the terminal environment in terms of its ANSI and color support and offers you convenient methods to colorize and style your output, without you having to deal with all kinds of weird ANSI escape sequences and color conversions.
Package compress is a collection of compression libraries implementing Golang modules:
brotli
Implements the Brotli format, described in RFC 7932.
bzip2
Implements the BZip2 compressed data format.
flate
Implements the DEFLATE format, described in RFC 1951.
xflate
Implements the XFLATE format, an random-access extension to DEFLATE.
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 library enables complex data structure testing, specifically:
realtime transformation or casting of incompatible data types with directives system
consistent way of testing of unordered structures
contains, Range, RegExp support on any data structure deeph level
switch case directive to provide expected value alternatives based on actual switch/case input match
macro system enabling complex predicate and expression evaluation, and customization
This library enables complex data structure testing, specifically:
realtime transformation or casting of incompatible data types with directives system
consistent way of testing of unordered structures
contains, Range, RegExp support on any data structure deeph level
switch case directive to provide expected value alternatives based on actual switch/case input match
macro system enabling complex predicate and expression evaluation, and customization
This package implements HTTP request and response signing and verification. Supports the major MAC and asymmetric key signature algorithms. It has several safety restrictions: One, none of the widely known non-cryptographically safe algorithms are permitted; Two, the RSA SHA256 algorithms must be available in the binary (and it should, barring export restrictions); Finally, the library assumes either the Authorizationn or Signature headers are to be set (but not both).
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
This package implements functionality to generate static MarshalJSON
and UnmarshalJSON
functions for structures in Go. The generated functions reduce the reliance upon runtime reflection to do serialization and are generally 2 to 3 times faster. In cases where @codeffjson doesn't understand a Type involved, it falls back to @codeencoding/json, meaning it is a safe drop in replacement. By using ffjson
your JSON serialization just gets faster with no additional code changes.
A standalone binary that provides an easy way of installing and uninstalling plugins from Pragtical, as well as different versions of Pragtical.
The plugin
output contains a plugin_manager.lua plugin to integrate the binary with Pragtical in the form of an easy-to-use GUI. The binary is also included in this output.
Note: Plugins installed via Guix will show up as "bundled", as these plugins are installed in
$PREFIX
like bundled plugins.
Package webrtc implements the WebRTC
(Real-Time Communication in Browsers) 1.0 as defined in W3C WebRTC specification document. Features:
implementation of webrtc-pc and
https://www.w3.org/TR/webrtc-stats/,webrtc-stats
DataChannels
Send/Receive audio and video
Renegotiation
Plan-B and Unified Plan
SettingEngine for Pion specific extensions
implemented connectivity - Full ICE Agent, ICE Restart, Trickle ICE, STUN, TURN mDNS candidates
fgprof
is a sampling Go profiler providing analyze On-CPU as well as Off-CPU (e.g. I/O) time together.
Go's builtin sampling CPU profiler can only show On-CPU time, but it's better than fgprof at that. Go also includes tracing profilers that can analyze I/O, but they can't be combined with the CPU profiler.
fgprof is designed for analyzing applications with mixed I/O and CPU workloads. This kind of profiling is also known as wall-clock profiling.