This package implements a functionality to marshal/unmarshal XML to/from map[string]interface values (and JSON); extract/modify values from maps by key or key-path, including wildcards.
This package provides a cron expression parser in the Go language. Given a cron expression and a time stamp, you can get the next time stamp which satisfies the cron expression.
This library defines functions to perform string interning in Go, storing only one copy of each unique string in memory. All functions may be called concurrently with themselves and each other.
This package provides a functionality to remove common leading whitespace from multiline strings. Inspired by (code textwrap.dedent) in Python.
This package provides a networking stack and library modularized out of The IPFS Project as specified in libp2p.
This package implements consistent hashing that can be used when the number of server nodes increase or decrease (like in memcached). The hashing ring is built using the same algorithm as libketama.
This package includes a full parser and expander for terminfo capability strings to avoid hard-coding escape strings for formatting. It also favors portability, and includes support for all POSIX systems.
This package implements a "diff" algorithm that compares two JSON objects and generates deltas that describe the differences between them. The deltas can be applied to a JSON object to "patch" them.
This package implements RFC 6979, which describes how to generate deterministic ECDSA signatures. Deterministic signatures remove the need for a random number generator during signing.
This package provides an alternative JSON parser for Go. It does not require to know the structure of the payload (eg. create structs), and allows accessing fields by providing the path to them.
Package borp provides a simple way to marshal Go structs to and from SQL databases. It uses the database/sql package, and should work with any compliant database/sql driver.
This package implements a composable event distribution library, originally created to implement the notifications in Docker Registry 2.
This package contains the main implementation of the HCL. HCL is designed to be a language for expressing configuration which is easy for both humans and machines to read.
This package implements FollowSymlinkInScope which is an extension of path/filepath.EvalSymlinks, as well as a Windows long-path aware version of path/filepath.EvalSymlinks from the Go standard library.
This package provide many tools for testifying that your code will behave as you intend.
Features include:
Easy assertions
Mocking
HTTP response trapping
Testing suite interfaces and functions.
This is a spelling corrector implementing the Damerau-Levenshtein distance. Takes a string value input from the user. Looks for an identical word on a list of words, if none is found, look for a similar word.
This package provides bindings for the https://github.com/cowsql/cowsql C library and a pure Golang client for the https://github.com/cowsql/cowsql/blob/main/doc/protocol.md.
This package provides a library for building powerful interactive prompts inspired by python-prompt-toolkit, making it easier to build cross-platform command line tools using Go.
go-github-com-olebedev-emitter implements a channel-based pubsub pattern. The design goals are to use Golang concurrency model instead of flat callbacks and to design a very simple API that is easy to consume.
Package ttrpc defines and implements a low level simple transfer protocol optimized for low latency and reliable connections between processes on the same host. The protocol uses simple framing for sending requests, responses, and data using multiple streams.
This package provides a hook for Logrus to write directly to a file on the file system. The log levels are dynamic at instantiation of the hook, so it is capable of logging at some or all levels.
BadgerDB implements an embeddable, key-value (KV) database, written in pure Go. It is designed to be highly performant for both reads and writes simultaneously. It uses Multi-Version Concurrency Control, supports concurrent serializable transactions.
Package errors provides errors that have stack-traces. It provides the type *Error which implements the standard golang error interface, so you can use this library interchangeably with code that is expecting a normal error return.
This package provides a library for encoding and decoding ZIP archive format's "Extra Fields". The intention is to eventually support and provide a low-level API for the majority of PKWARE's and Info-ZIP's extra fields.