This package provides functionality for detecting natural languages and scripts (writing systems). Languages are represented by a defined list of constants, while scripts are represented by RangeTable.
lru is a package which implements a fixed-size thread safe Least recently used cache. It is based on the cache in Groupcache.
A Go library providing various concurrency utilities including a backport of sync.Map to Go versions below 1.9 and a cancellable Goroutine with explicit ownership.
Package sortedset provides the data-struct allowing a fast access the element in set by key or by score(order). It is inspired by Sorted Set from Redis.
Package blockservice implements a BlockService interface that provides a single GetBlock/AddBlock interface that seamlessly retrieves data either locally or from a remote peer through the exchange.
Package oglematchers provides a set of matchers useful in a testing or mocking framework. These matchers are inspired by and mostly compatible with Google Test for C++ and Google JS Test.
Assertion library that:
makes spotting differences in equality much easier
uses repr and diffmatchpatch to display structural differences in colour
aborts tests on first assertion failure
Package linebreak wraps text at a given width, it's a translation of linear, an implementation of SMAWK algorithm.
Package gohttpmetrics knows how to measure http metrics in different metric formats, it comes with a middleware that can be used for different frameworks and also the the main Go net/http handler:.
This package is a library for parsing versions and version constraints, and verifying versions against a set of constraints. It can sort a collection of versions properly, handles prerelease/beta versions, can increment versions.
This package implements XOR tries. An XOR trie is a trie for equal-length bit strings. XOR tries support efficient set operations, as well as distance-based operations with respect to the XOR metric.
This package provides cryptography for Go. This version of the package is a fork that adds a more up-to-date OpenPGP implementation. It is completely backwards compatible with golang.org/x/crypto, the official package.
This package allows the kernel's routing tables to be read and altered. Network routes, IP addresses, Link parameters, Neighbor setups,Queueing disciplines, Traffic classes and Packet classifiers may all be controlled. It is based on netlink messages.
Package blocks contains the lowest level of IPLD data structures. A block is raw data accompanied by a Content Identifiers. The CID contains the multihash corresponding to the block.
Prometheus monitoring and https://godoc.org/golang.org/x/net/trace# tracing wrappers net.Conn, both inbound (@codenet.Listener) and outbound (@codenet.Dialer).
Package rtnetlink allows the kernel's routing tables to be read and altered. Network routes, IP addresses, Link parameters, Neighbor setups, Queueing, disciplines, Traffic classes and Packet classifiers may all be controlled. It is based on netlink messages.
This package provides a Golang library implementing the conversion of date and time information from a given calendar time to a character string according to a format string. It is optimized for scenarios where the same pattern is called repeatedly.
go-testmark is a library to parse, patch data and test fixtures from Markdown files, using the testmark format, which itself is a subset of Markdown format.
This package provides a CLI application to execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE and it is mostly compatible with the configuration of imapnotify made with Python.
This package provides a CLI application to execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE and it is mostly compatible with the configuration of imapnotify made with Python.
term provides an API for working with terminals that includes:
Switching a terminal to the raw mode.
Getting, setting and restoring the state of a terminal.
Getting size of a terminal.
Reading passwords from a terminal without a local echo.
This package provides Go modules focused on text parsing, with lexers, parsers, and related tools.
Included modules are:
github.com/tekwizely/go-parsing
github.com/tekwizely/go-parsing/lexer
github.com/tekwizely/go-parsing/lexer/token
github.com/tekwizely/go-parsing/parser
Package levenshtein is a Go implementation to calculate Levenshtein Distance. The library is fully capable of working with non-ascii strings. But the strings are not normalized. That is left as a user-dependant use case. Please normalize the strings before passing it to the library if you have such a requirement.
This package implements a feature of limiting the maximum number of concurrently started routines which has the same role and API as sync.WaitGroup. It could for example be used to start multiples routines querying a database but without sending too much queries in order to not overload the given database.