base: github.com/grailbio/base

Directories

PathSynopsis
admitPackage admit contains utilities for admission control.
backgroundcontextPackage backgroundcontext manages the singleton v23 context.
bitsetPackage bitset provides support for treating a []uintptr as a bitset.
cloud/awssessionPackage awssession provides a simple way to obtain AWS session.Session using GRAIL tickets.
cloud/ec2util
cmdutilPackage cmdutil provides utility routines for implementing command line tools.
cmdutil/cmdline-test
cmdutil/interactivePackage interactive is switching defaults for logging to not output anything to stderr.
cmdutil/naked-test
compressPackage compress provides convenience functions for creating compressors and uncompressors based on filenames.
compress/libdeflate
compress/zstd
configPackage config is used to configure software systems.
config/aws
config/awsticket
config/httpPackage http defines profile providers for local HTTP servers.
crypto/encryptionPackage encryption provides support for encrypting and decrypting data and files with granular key management.
dataPackage data provides functionality for measuring and displaying data quantities.
diagnostic/dumpPackage dump provides the endpoint "debug/dump", registered with http.DefaultServeMux, which returns a dump of useful diagnostic information as a tarball.
digestPackage digest provides a generalized representation for digests computed with cryptographic hash functions.
errorsPackage errors implements an error type that defines standard interpretable error codes for common error conditions.
fatbinPackage fatbin implements a simple fat binary format, and provides facilities for creating fat binaries and accessing its variants.
filePackage file provides basic file operations across multiple file-system types.
file/internal/testutil
fileio
file/s3filePackage s3file implements grail file interface for S3.
flockPackage flock implements a simple POSIX file-based advisory lock.
grailPackage grail contains the Init function that all programs are expected to call.
grail/go/net/http/pprof
intervalmapPackage intervalmap stores a set of (potentially overlapping) intervals.
iofmtPackage iofmt contains various IO utilities used for formatting output.
limitbuf
limiterPackage limiter implements a concurrency limiter with support for contexts.
logPackage log provides simple level logging.
logioPackage logio implements a failure-tolerant log, typically used as a write-ahead log.
mapioPackage mapio implements a sorted, on-disk map, similar to the SSTable data structure used in Bigtable [1], Cassandra [2], and others.
mustPackage must provides a handful of functions to express fatal assertions in Go programs.
pprof
pprof/pprof-test
psortPackage psort includes functions for parallel sorting.
recordioPackage recordio implements the recordio file format.
recordio/deprecated
recordio/internal
recordio/recordioflatePackage recordioflate provides the "flate" transformer.
recordio/recordioiovPackage recordioiov provides utility functions for dealing with [][]bytes, used by recordio transformers.
recordio/recordioutil
recordio/recordiozstd
retryPackage retry contains utilities for implementing retry logic.
security/identityPackage identity defines interfaces for Vanadium identity providers.
security/keycryptPackage keycrypt implements an API for storing and retrieving opaque blobs of data stored in a secure fashion.
security/keycrypt/filePackage file implements a file-based keycrypt.
security/keycrypt/keychain
security/keycrypt/kmsPackage kms implements a Keycrypt using AWS's KMS service and S3.
security/ticket
security/tls/certificateauthorityPackage certificateauthority implements an x509 certificate authority.
shutdownPackage shutdown implements a global process shutdown mechanism.
simdPackage simd provides access to SIMD-based implementations of several common operations on byte arrays which the compiler cannot be trusted to autovectorize within the next several years.
statePackage state implements atomic file-based state management with support for advisory locking.
stateioPackage stateio implements persistent state mechanism based on log files that interleave indexed state snapshots with state updates.
statusPackage status provides facilities for reporting statuses from a number of tasks working towards a common goal.
stress/oomPackage oom contains a single function to trigger Linux kernel OOMs.
sync/ctxsync
sync/multierror
sync/oncePackage once contains utilities for managing actions that must be performed exactly once.
syncqueue
sync/workerpool
traversePackage traverse provides primitives for concurrent and parallel traversal of slices or user-defined collections.
tsvPackage tsv provides a simple TSV writer which takes care of number->string conversions and tabs, and is far more performant than fmt.Fprintf (thanks to use of strconv.Append{Uint,Float}).
ttlcache
unsafe
vcontextPackage vcontext creates a singleton vanadium Context object.
writehashPackage writehash provides a set of utility functions to hash common types into hashes.

Updated 2019-11-12. Refresh now. Tools for package owners.