Package p2phttp allows to serve HTTP endpoints and make HTTP requests through LibP2P using Go's standard http and net stacks.
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.
This Go library automatically wraps words onto multiple lines. It's primary goal is to format command-line output, but of course word wrapping is a generally useful thing to do.
This package provides a library to work with network connections in the Go language. In particular it provides tools to deal with network address translation (NAT), proxies, sockets, and transport layer security (TLS).
This is a Go parser for ssh_config files. Importantly, this parser attempts to preserve comments in a given file, so you can manipulate a ssh_config file from a program.
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.
These packages provide more specialized math routines than are available in the standard Go math package. go-moremath currently focuses on statistical routines, with particular focus on high-quality implementations and APIs for non-parametric methods.
Package atomicfile provides the ability to write a file with an eventual rename on Close (using os.Rename). This allows for a file to always be in a consistent state and never represent an in-progress write.
This package provides Protocol Buffer models and associated libraries for working with API description formats supported by gnostic. It exists to provide a lightweight distribution of these models with minimal dependencies.
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.
Pebble is a LevelDB/RocksDB inspired key-value store focused on performance and internal usage by CockroachDB. Pebble inherits the RocksDB file formats and a few extensions such as range deletion tombstones, table-level bloom filters, and updates to the MANIFEST format.
containerd is a container runtime with an emphasis on simplicity, robustness, and portability. It is available as a daemon, which can manage the complete container lifecycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc.
reflectwalk is a Go library for "walking" a value in Go using reflection, in the same way a directory tree can be "walked" on the file system. Walking a complex structure can allow you to do manipulations on unknown structures such as those decoded from JSON.
This package offers overflow-checked integer arithmetic operations for int,int32, and int64. Each of the operations returns a result,bool combination. This was prompted by the need to know when to flow into higher precision types from the math.big library.
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.
The semver package provides the ability to work with semantic versions. Specifically it provides the ability to:
Parse semantic versions
Sort semantic versions
Check if a semantic version fits within a set of constraints
Optionally work with a
vprefix
Package reedsolomon enables Erasure Coding. It's a Go port of the JavaReedSolomon.
For encoding high shard counts (>256) a Leopard implementation is used. For most platforms this performs close to the original Leopard implementation in terms of speed.
The dnsutils package provides a Go function to return a map of Service Records (SRV) in the order they should be used for a given service, protocol and name. The order is determined by the records' priority and randomized selection based on their relative weighting. This package is useful for network applications that require accessing services using SRV records.
udiff (micro-diff, or µDiff) is a library that implements the Myers' diffing algorithm. It aims to provide a minimal API to compute and apply diffs with zero dependencies. It also supports generating diffs in the Unified Format.
Package httprc implements a cache for resources available over http(s). Its aim is not only to cache these resources so that it saves on HTTP roundtrips, but it also periodically attempts to auto-refresh these resources once they are cached based on the user-specified intervals and HTTP Expires and Cache-Control headers, thus keeping the entries relativelyfresh.
This library provides a http.Handler that acts as a health endpoint. It can be used by cloud infrastructure or other services to determine the availability of an application.
Rather than simply returning a response with HTTP status code 200, this library allows building health checks that test the availability of all required dependencies. The HTTP response contains the aggregated health result and details about the health status of each component.
This package provides a set of locales generated from the Unicode CLDR Project which can be used independently or within an internalization (i18n) package. Its currently implemented features include
Rules generated from the CLDR data, v31.0.3
Contains Cardinal, Ordinal and Range Plural Rules
Contains Month, Weekday and Timezone translations built in
Contains Date & Time formatting functions
Contains Number, Currency, Accounting and Percent formatting functions
Supports the "Gregorian" calendar only
This package implements a various systemd bindings and provides Golang submodules:
activation- for writing and using socket activation from Godaemon- for notifying systemd of service status changesdbus- for starting/stopping/inspecting running services and unitsjournal- for writing to systemd's logging service, journaldsdjournal- for reading from journald by wrapping its C APIlogin1- for integration with the systemd logind APImachine1- for registering machines/containers with systemdunit- for (de)serialization and comparison of unit files