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).
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
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.
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.
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.
This package provides a cross-platform clipboard library.
Platforms supported:
Linux via
xcliporxselorwl-copy/wl-pasteMacOS via
pbcopy/pbpasteWindows via the Windows clipboard API
WSL via clip.exe/powershell.exe
Android Termux via
termux-clipboard-set/termux-clipboard-getPlan9 via
/dev/snarfAnything else via a user-defined script
This package provides decoding of basic EXIF and TIFF encoded data. Functionality is split into packages:
exif- implements decoding of EXIF data as defined in the EXIF 2.2 specification (http://www.exif.org/Exif2-2.PDF)mknote- provides makernote parsers that can be used withgoexif/exiftiff- implements TIFF decoding as defined in TIFF 6.0 specification at http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
Package echo implements a high performance, minimalist Go web framework. Features:
optimized HTTP router which smartly prioritize routes
build robust and scalable RESTful APIs
group APIs
extensible middleware framework
define middleware at root, group or route level
data binding for JSON, XML and form payload
handy functions to send variety of HTTP responses
centralized HTTP error handling
template rendering with any template engine
define your format for the logger
highly customizable
automatic TLS via Let’s Encrypt
HTTP/2 support
This package provides is a Machine Learning library written in pure Go designed to support relevant neural architectures in Natural Language Processing.
It is self-contained, in that it uses its own lightweight computational graph both for training and inference, easy to understand from start to finish.
It provides:
automatic differentiation via dynamic define-by-run execution
feed-forward layers (Linear, Highway, Convolution...)
recurrent layers (LSTM, GRU, BiLSTM...)
attention layers (Self-Attention, Multi-Head Attention...)
gradient descent optimizers (Adam, RAdam, RMS-Prop, AdaGrad, SGD)
gob compatible neural models for serialization
Dstream is a package for manipulating streams of typed, multivariate data in Go. A Dstream is a dataframe-like container that holds a rectangular array of data in which the columns are variables and the rows are cases or observations.
Dstream is designed to handle large datasets, where it is not possible to load all data for all variables into memory at once. To achieve this, Dstream utilizes a chunked, column-based storage format. A chunk contains the data for a contiguous block of rows. The data are stored by variable (column-wise) in typed Go slices. Only one chunk of the Dstream is held in memory at one time.
Package githubv4 is a client library for accessing GitHub GraphQL API v4.
File system notifications for Go
Go wrapper for taglib
This package provides XOR bitwise code engine.
Package julianday provides Time to Julian day conversions.
Go library for the TOML configuration language
Library to listen for keystrokes from the keyboard
BFloat16 conversion utilities for Go/Golang.
Build Go code from arbitrary value in Go.
This package provides a library to generate unified diffs.