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.
@codetermenv lets you safely use advanced styling options on the terminal. It gathers information about the terminal environment in terms of its ANSI & 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.
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 is a SIMD accelerated MD5 package, allowing up to either 8 (AVX2) or 16 (AVX512) independent MD5 sums to be calculated on a single CPU core.
md5-simd
integrates a similar mechanism as described in minio/sha256-simd
for making it easy for clients to take advantages of the parallel nature of the MD5 calculation. This will result in reduced overall CPU load.
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
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.
The @codegofeed library is a robust feed parser that supports parsing both @urlhttps://en.wikipedia.org/wiki/RSS,RSS, @urlhttps://en.wikipedia.org/wiki/Atom_(standard),Atom and @urlhttps://jsonfeed.org/version/1,JSON feeds. The library provides a universal @codegofeed.Parser that will parse and convert all feed types into a hybrid @codegofeed.Feed model. You also have the option of utilizing the feed specific @codeatom.Parser or @coderss.Parser or @codejson.Parser parsers which generate @codeatom.Feed, @coderss.Feed and @codejson.Feed respectively.
This package implements functionality of mapping files into memory. It tries to provide a simple interface, but doesn't go out of its way to abstract away every little platform detail.
This specifically means:
forked processes may or may not inherit mappings
a file's timestamp may or may not be updated by writes through mappings
specifying a size larger than the file's actual size can increase the file's size
if the mapped file is being modified by another process while your program's running, don't expect consistent results between platforms
This package provides a GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way.