Aqwari.net 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 aqwari.net follows the example set by the Go standard library; for example, aqwari.net/encoding/ndb defines functions to decode and encode ndb text.
Of particular significance is the aqwari.net/exp 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 aqwari.net/exp, 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 aqwari.net namespace, for
example, importing the io/tailpipe
package would look like this:
import "aqwari.net/io/tailpipe"
These import paths are served up by the gogive command.
- exp/ndb
- Parser for the ndb file format.
- exp/soap
- Helper functions for dealing with SOAP envelopes.
- exp/display
- Package for setting up an OpenGL window. Uses SDL2 on Linux, GLUT on OSX.
- exp/gl
- OpenGL bindings.
- xml/xmltree
- Manipulate an XML document as a tree. Supports xml namespace resolution at arbitrary points within the tree.
- retry
- Exponential backoff and other retry policies.
- net/styx
- 9P2000 network filesystem protocol, client/server implementation.
- io/tailpipe
- Pure-go implementation of `tail -F` (that's a capital F)
Contributing
The code repositories for aqwari.net packages are hosted on github. Github pull requests, issues, etc are welcome, as are direct inquiries by e-mail (droyo at aqwari dot net).
- Related posts
-
Writing a 9P server from scratch
Sep 2015
Using the plan9 file system protocol -
Don't be afraid to panic
Feb 2015
Using panic and recover for clearer code -
XML Schema and Go
Mar 2015
Generating Go source from XML schema