go get github.com/go-fed/activity
This repository contains three libraries for use in your golang applications:
vocab
: An ActivityStreams Vocabulary librarystreams
: A convenience library for the ActivityStreams Vocabularypub
: ActivityPub SocialAPI (Client-to-Server) and FederateAPI (Server-to-Server)
This repository supports vgo
and is remotely verifiable.
This library is biased. It forgoes understanding JSON-LD in exchange for static typing. It provides a large amount of default behavior to let Social, Federated, or both kinds of ActivityPub applications just work.
The go-fed.org website has a tutorial. It also hosts godoc documentation for every version of this library.
0.4.0 (Semantic Versioning)
An official implementation report was last submitted for version 0.2.0 here.
Previous unofficial implementation reports are available in issue #46.
Please see CHANGELOG for changes between versions.
See each subdirectory for its own README for further elaboration. The
recommended reading order is vocab
, streams
, and then pub
. Others are
optional.
Please see the CONTRIBUTING.md file!
I took great care to add numerous tests using examples directly from specifications, official test repositories, and my own end-to-end tests.
Application | Description | Repository | Point Of Contact | Homepage |
---|---|---|---|---|
Anancus | Self-hosted and federated social link aggregation | https://gitlab.com/tuxether/anancus | @[email protected] or [email protected] | N/A |
WriteFreely | Simple, open-source, privacy-focused blogging platform | https://github.com/writeas/writefreely | @[email protected] or [email protected] | https://writefreely.org |
Read.as | Long-form reader built on open protocols | https://github.com/writeas/Read.as | @[email protected] or [email protected] | https://read.as |
There is a tutorial available at https://go-fed.org.
Please see each subdirectory for its own README for further elaboration. The
recommended reading order is vocab
, streams
, and then pub
. Others are
optional.
Passing familiarity with ActivityStreams and ActivityPub is recommended.
tools
- Code generation wizardry and ActivityPub-spec-as-data.deliverer
- Provides an asynchronousDeliverer
for use with thepub
lib
Please see the CONTRIBUTING.md file!
- ActivityPub Specification
- ActivityPub GitHub Repo
- ActivityStreams Core Specification
- ActivityStreams Vocabulary Specification
- ActivityStreams GitHub Repo
I would like to thank those that have worked hard to create the technologies and standards that created the opportunity to implement this suite of libraries.