websspi
is an HTTP middleware for Golang that uses Kerberos/NTLM for single sign-on (SSO) authentication of browser based clients in a Windows environment.
Package testfs provides a simple fs.FS
which is contained in a test (using testing.TB's TempDir
) and with a few helper methods.
Package vfsgen
takes an http.FileSystem
(likely at go generate
time) and generates Go code that statically implements the provided http.FileSystem
.
This package provides isatty
, a Go module that can tell you whether a file descriptor points to a terminal and the type of the terminal.
This package provides functionlaity for common tasks:
Bytes
- format/parse bytesColor
- style terminal textLog
- simple logging
This package provides an implementation of the Alphanum Algorithm developed by Dave Koelle in Go.
go-github-com-klauspost-pgzip
implements reading and writing of gzip format compressed files, as specified in RFC 1952.
This project houses, what I consider to be some help packages for writing Go applications. Your mileage may vary, but I find them to be pretty darn helpful.
This package provides a simple little tool that produces readable diff of 2 JSON-able and convertible to map[string]interface
objects. Useful for diagnostics or debugging
Package urlpath matches paths against a template. It's meant for applications that take in REST-like URL paths, and need to validate and extract data from those paths.
This is a native Go implementation of the xxHash algorithm, an extremely fast non-cryptographic hash algorithm, working at speeds close to RAM limits.
go-github-com-c4milo-unpackit
allows you to easily unpack *.tar.gz, *.tar.bzip2, *.tar.xz, *.zip and *.tar files. CGO is not involved nor hard dependencies of any type.
emacs-git-messenger
provides git-messenger:popup-message
, a function that when called, will popup the last git commit message for the current line. This uses git-blame internally.
The gemini
package implements the Gemini protocol in Go. It provides an API similar to that of NET/HTTP to facilitate the development of Gemini clients and servers.
Osext provides a method for finding the current executable file that is running. This can be used for upgrading the current executable or finding resources located relative to the executable file.
Package snaker provides methods to convert CamelCase names to snake_case and back. It considers the list of allowed initialsms used by github.com/golang/lint/golint (e.g. ID or HTTP)
Package vaxis is a terminal user interface for modern terminals. It supports supports modern terminal features, such as styled underlines and graphics. A widgets package is provided with some useful widgets.
Package vaxis is a terminal user interface for modern terminals. It supports supports modern terminal features, such as styled underlines and graphics. A widgets package is provided with some useful widgets.
GopherLua is a Lua5.1(+ goto statement in Lua5.2) VM and compiler. It provides Go APIs that allow you to easily embed a scripting language to your Go host programs.
Package safehtml provides immutable string-like types which represent values that are guaranteed to be safe, by construction or by escaping or sanitization, to use in various HTML contexts and with various DOM APIs.
This package provides yq
, a command-line YAML, JSON and XML processor. It uses jq
-like syntax but works with YAML files as well as JSON, XML, properties, CSV and TSV.
Package epub generates valid EPUB 3.0 files with additional EPUB 2.0 table of contents (as seen here: @urlhttps://github.com/bmaupin/epub-samples,https://github.com/bmaupin/epub-samples) for maximum compatibility.
go-sdl2
is SDL2 wrapped for Go users. It enables interoperability between Go and the SDL2 library which is written in C. That means the original SDL2 installation is required for this to work.
go-version is a library for parsing versions and version constraints, and verifying versions against a set of constraints. go-version can sort a collection of versions properly, handles prerelease/beta versions, can increment versions, etc.