Go libraries

This site references a number of Go packages. Documentation for these packages may be found by visiting the package’s import path in your web browser. The goal is to produce focused libraries that compose well with Go’s standard library.

The import hierarchy of follows the example set by the Go standard library; for example, defines functions to decode and encode ndb text.

Of particular significance is the prefix – this contains libraries that are not complete. Either some functionality is missing, serious bugs have to be fixed, or the API has not been set in stone yet. These library APIs are subject to change at any time.

Other finished libraries will only have backwards-compatible changes. Once they are moved out of, these libraries should be considered safe to use. There will be exceptions to this rule, and the README of each project takes precedence over what is written here. If you are shipping a critical production application, the usual disclaimers apply – this site may go down, major bug may be found, etc. Nothing is infallible, etc etc. Vendor your dependencies.

List of libraries

All of the packages below are in the namespace, for example, importing the io/tailpipe package would look like this:

import ""

These import paths are served up by the gogive command.

Parser for the ndb file format.
Helper functions for dealing with SOAP envelopes.
Package for setting up an OpenGL window. Uses SDL2 on Linux, GLUT on OSX.
OpenGL bindings.
Manipulate an XML document as a tree. Supports xml namespace resolution at arbitrary points within the tree.
Exponential backoff and other retry policies.
9P2000 network filesystem protocol, client/server implementation.
Pure-go implementation of tail -F (that’s a capital F)


The code repositories for packages are hosted on github. Github pull requests, issues, etc are welcome, as are direct inquiries by e-mail (droyo at aqwari dot net).