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.
@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.
Package compress is a collection of compression libraries implementing Golang modules:
brotliImplements the Brotli format, described in RFC 7932.
bzip2Implements the BZip2 compressed data format.
flateImplements the DEFLATE format, described in RFC 1951.
xflateImplements 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
$PREFIXlike 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-statsDataChannels
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-statsDataChannels
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.
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
ACMEz is a lightweight, fully-compliant RFC 8555 (ACME) implementation, that provides an API for getting certificates. ACMEz is suitable for large-scale enterprise deployments. It also supports common IETF-standardized ACME extensions.
This module has two primary packages:
acmezis a high-level wrapper for getting certificates. It implements the ACME order flow described in RFC 8555 including challenge solving using pluggable solvers.acmeis a low-level RFC 8555 implementation that provides the fundamental ACME operations, mainly useful if you have advanced or niche requirements.
Main features:
Go API that thoroughly documented with spec citations.
Structured error values (problems as defined in RFC 7807.)
Smart retries (resilient against network and server hiccups.)
Challenge plasticity (randomized challenges, and will retry others if one fails.)
Context cancellation (suitable for high-frequency config changes or reloads.)
Highly flexible and customizable.
External Account Binding (EAB) support.
Tested with numerous ACME CAs (more than just Let's Encrypt.)
Implements niche aspects of RFC 8555 (such as alt cert chains and account key rollover.)
Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
Utility functions for solving challenges: device attestation challenges (draft-acme-device-attest-02), RFC 8737 (tls-alpn-01 challenge), RFC 8823 (email-reply-00 challenge; S/MIME.)
ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
ACMEz is a lightweight, fully-compliant RFC 8555 (ACME) implementation, that provides an API for getting certificates. ACMEz is suitable for large-scale enterprise deployments. It also supports common IETF-standardized ACME extensions.
This module has two primary packages:
acmezis a high-level wrapper for getting certificates. It implements the ACME order flow described in RFC 8555 including challenge solving using pluggable solvers.acmeis a low-level RFC 8555 implementation that provides the fundamental ACME operations, mainly useful if you have advanced or niche requirements.
Main features:
Go API that thoroughly documented with spec citations.
Structured error values (problems as defined in RFC 7807.)
Smart retries (resilient against network and server hiccups.)
Challenge plasticity (randomized challenges, and will retry others if one fails.)
Context cancellation (suitable for high-frequency config changes or reloads.)
Highly flexible and customizable.
External Account Binding (EAB) support.
Tested with numerous ACME CAs (more than just Let's Encrypt.)
Implements niche aspects of RFC 8555 (such as alt cert chains and account key rollover.)
Efficient solving of large SAN lists (e.g. for slow DNS record propagation.)
Utility functions for solving challenges: device attestation challenges (draft-acme-device-attest-02), RFC 8737 (tls-alpn-01 challenge), RFC 8823 (email-reply-00 challenge; S/MIME.)
ACME Renewal Information (ARI) support (draft-ietf-acme-ari-03.)
Minimalist assertion library
This package provides a GitLab API client enabling Go programs to interact with GitLab in a simple and uniform way.
This package is a Go language toolkit for reading and writing files using the Git pkt-line format used in various Git operations.
SOCKS5 server in Golang
Package percent escapes strings using percent-encoding.