![]() PostOutbox and the SocialAPI can now use either HTTP Signatures or a custom authentication scheme, such as OAuth2. Tests for the handler authentication and authorization need to be written still. |
||
---|---|---|
deliverer | ||
pub | ||
streams | ||
tools | ||
vocab | ||
LICENSE | ||
README.md |
README.md
activity
go get github.com/go-fed/activity
This repository contains three libraries for use in your golang applications:
- An ActivityStreams Vocabulary library
- A convenience library for the ActivityStreams Vocabulary
- ActivityPub Social API (Client-to-Server) and Federation Protocol (Server-to-Server).
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.
Status
There is no stable version of this library (yet).
See each subdirectory for its own README for further elaboration.
Core ActivityPub Libraries
vocab
- ActivityStreams Vocabulary: Functional and testedstreams
- ActivityStreams Convenience Library: Functional and testedpub
- ActivityPub: Under development and testing
Supplemental Libraries
tools
- Code generation wizardry and ActivityPub-spec-as-data.deliverer
- Provides an asynchronousDeliverer
for use with thepub
lib
How To Use This Library
This section will be fleshed out once the library is approaching its first stable release.
FAQ
Why does compilation take so long?
The vocab
and streams
packages are code generated on order of hundreds of
thousands to a million lines long. Use go install
or go build -i
to cache
the build artifacts and do incremental builds.
Useful References
- ActivityPub Specification
- ActivityPub GitHub Repo
- ActivityStreams Core Specification
- ActivityStreams Vocabulary Specification
- ActivityStreams GitHub Repo
Thanks
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.