This source package is a collection of utilities intended to make it easier for Go programs to work with System Package Data Exchange files. It currently works with files conformant to versions 2.1, 2.2 and 2.3 of the SPDX specification and provides the following packages:
spdx - in-memory data model for the sections of an SPDX document
tagvalue - tag-value document reader and writer
rdf - RDF document reader
json - JSON document reader and writer
yaml - YAML document reader and writer
builder - builds empty SPDX document (with hashes) for directory contents
idsearcher - searches for SPDX short-form IDs and builds an SPDX document
licensediff - compares concluded licenses between files in two packages
reporter - generates basic license count report from an SPDX document
spdxlib - various utility functions for manipulating SPDX documents in memory
utils - various utility functions that support the other tools-golang packages
Package archiver facilitates convenient, cross-platform, high-level archival and compression operations for a variety of formats and compression algorithms.
Features:
stream-oriented APIs
automatically identify archive and compression formats
traverse directories, archive files, and any other file uniformly as
io/fsfile systemscompress and decompress files
create and extract archive files
walk or traverse into archive files
extract only specific files from archives
insert (append) into .tar and .zip archives
read from password-protected 7-Zip files
numerous archive and compression formats supported
extensible (add more formats just by registering them)
cross-platform, static binary
pure Golang (no cgo)
multithreaded Gzip
adjust compression levels
automatically add compressed files to zip archives without re-compressing
open password-protected rar archives
Supported compression formats:
brotli (.br)
bzip2 (.bz2)
flate (.zip)
gzip (.gz)
lz4 (.lz4)
lzip (.lz)
snappy (.sz)
xz (.xz)
zlib (.zz)
zstandard (.zst)
Supported archive formats:
.zip
.tar (including any compressed variants like .tar.gz)
.rar (read-only)
.7z (read-only)
Package aurora implements ANSI-colors
compress provides various compression algorithms.
This package provides generic implementations for Go.
Package strcase converts strings to various cases.
This package provides a statistical library for Golang.
Package sortorder implements sort orders and comparison functions.
This package implements column-formatted output for Golang.
This package provides additions to Go's stdlib testing.
This package provides additions to Go's stdlib testing.
Package genetlink implements generic netlink interactions and data types.
This package provides a parser for MIME messages.
Package logutils augments the standard log package with levels.
reflect api that avoids runtime reflect.Value cost
Package errdefs defines the common errors used throughout containerd packages.
Package promise provides a complete promise and future implementation.
This Go package removes ANSI escape codes from strings.
Billy implements an interface based on the OS's standard library to develop applications without depending on the underlying storage. This makes it virtually free to implement mocks and testing over file system operations.
Package quicktest provides a collection of Go helpers for writing tests.
Package flagenv provides the ability to populate flags from environment variables.
This package provides unified and context-aware diffs in Go.
This package provides binary tree and trie data structures for Golang.