This site is a collection links to Go libraries and support tools implementing the Extensible Messaging and Presence Protocol (XMPP), sometimes known as Jabber for historical reasons.

All of our software is built cooperatively in accordance with the ICA’s Statement on the Cooperative Identity. If you’d like to join us in promoting the XMPP protocol in a friendly and welcoming co-op, you can contribute code, documentation, donate, help us write bylaws, or use just about any other skill you might have! The best way to get started is by joining our chat room and saying hi; we hope to see you there!


Module Synopsis

Core Package sasl implements the Simple Authentication and Security Layer (SASL) as defined by RFC 4422. Package xmlstream provides an API for streaming, transforming, and otherwise manipulating XML data. Package xmpp provides functionality from the Extensible Messaging and Presence Protocol.

Other The legacy module contains outdated XMPP functionality. Package xml implements an experimental XML parser. Package clarkns implements Clark Notation for XML. A library for writing command line interfaces in the style of git or apt. Package reader contains small, reusable APIs that build on the io.Reader interface. Package sysexit contains exit codes from sysexits(3).

Tools The checkdoc command scans Go packages for comment and documentation related issues. The checkmd command checks Markdown files for common problems. A version of the Communiqué instant messaging client with a terminal-based user interface.

Unmaintained The bosh package implements an HTTP based transport for TCP. The blogsync command is a tool for importing and exporting blog posts between Markdown files and The issues tool migrates issues from Bitbucket to GitHub. Package verbmux is an HTTP multiplexer that handles by method.