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.
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.
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.
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.
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.
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.
CIRCL (Cloudflare Interoperable, Reusable Cryptographic Library) is a collection of cryptographic primitives written in Go. The goal of this library is to be used as a tool for experimental deployment of cryptographic algorithms targeting Post-Quantum (PQ) and Elliptic Curve Cryptography (ECC).
Package fiber is an https://github.com/expressjs/express, Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in mind.
The ethtool package aims to provide a library that implements easy access to the Linux SIOCETHTOOL ioctl operations. It can be used to retrieve information from a network device such as statistics, driver related information or even the peer of a VETH interface.
InterConv converts interfaces into any data type.
Data type that can be converted:
Int
Int8
Int32
Int16
Int64
Float32
Float64
Boolean
String
Uint
Uint8
Uint16
Uint32
Uint64
Uintptr
Package ogletest provides a framework for writing expressive unit tests. It integrates with the builtin testing package, so it works with the gotest command. Unlike the testing package which offers only basic capabilities for signalling failures, it offers ways to express expectations and get nice failure messages automatically.
Package logfmt implements utilities to marshal and unmarshal data in the logfmt format. The logfmt format records key/value pairs in a way that balances readability for humans and simplicity of computer parsing. It is most commonly used as a more human friendly alternative to JSON for structured logging.
Package logfmt implements utilities to marshal and unmarshal data in the logfmt format. The logfmt format records key/value pairs in a way that balances readability for humans and simplicity of computer parsing. It is most commonly used as a more human friendly alternative to JSON for structured logging.
Package channels provides a collection of helper functions, interfaces and implementations for working with and extending the capabilities of golang's existing channels. The main interface of interest is Channel, though sub-interfaces are also provided for cases where the full Channel interface cannot be met (for example, InChannel for write-only channels).
goprocess introduces a way to manage process lifecycles in Go. It is much like go.net/context (it actually uses a Context), but it is more like a Context-WaitGroup hybrid. goprocess is about being able to start and stop units of work, which may receive Close signals from many clients.
Package flags provides an extensive command line option parser. The flags package is similar in functionality to the go built-in flag package but provides more options and uses reflection to provide a convenient and succinct way of specifying command line options. It's an alternative fork of https://github.com/jessevdk/go-flags.
This package contains code that supplements the time package from the Go standard library.
In particular:
a Clock interface, with a fake implementation that can be used in tests
implementations of oglematchers.Matcher for time values
This package contains code that supplements the sync package from the Go standard library.
In particular:
Bundle, which makes it easy to write code that spawns multiple cancellation-aware workers that may fail
invariantMutex, which makes it possible to automatically check your invariants at lock and unlock time
This package provides a library for conversion between Hebrew and Gregorian dates, and generation of lists of Jewish holidays for a given year. Shabbat and holiday candle lighting and havdalah times are approximated based on location.
Torah readings, Daf Yomi, and counting of the Omer can also be specified. Algorithms are included to calculate yahrzeits, birthdays, and anniversaries.
This package implements functionality to initialize structs with default values. It supports almost all kind of types: int/8/16/32/64, uint/8/16/32/64, float32/64, uintptr, bool, string, map, slice, struct, f,map[K1]map[K2]Struct, []map[K1]Struct[]
This package implements encoding and decoding of JSON as defined in RFC 4627 and provides interfaces with identical syntax of standard lib encoding/json. Converting from encoding/json to jsoniter is no more than replacing the package with jsoniter and variable type declarations (if any). jsoniter interfaces gives 100% compatibility with code using standard lib.
Package jsoniter implements encoding and decoding of JSON as defined in RFC 4627 and provides interfaces with identical syntax of standard lib encoding/json. Converting from encoding/json to jsoniter is no more than replacing the package with jsoniter and variable type declarations (if any). jsoniter interfaces gives 100% compatibility with code using standard lib.