Activitypub marshalling for Golang
Find a file
2025-04-09 14:52:37 +02:00
examples More example files 2024-08-30 13:47:37 +02:00
general Update module name following host switch, impl masto person from ap 2025-04-07 15:00:43 +02:00
mastodon Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
baseInterface.go Meow 2024-08-28 19:14:23 +02:00
CHANGELOG Update changelog with existing, but not yet versioned changes 2025-04-07 17:37:58 +02:00
commonTypes.go All parsers for the different elements done 2024-08-26 14:01:19 +02:00
constants.go Comment out different sections of constants 2025-04-07 15:01:26 +02:00
errors.go sync for backup 2024-08-22 19:56:32 +02:00
go.mod Update module name following host switch, impl masto person from ap 2025-04-07 15:00:43 +02:00
go.sum Delete old stuff, added full parser 2024-08-26 17:17:08 +02:00
LICENSE Add LICENSE 2024-08-28 17:18:00 +00:00
nsActivitystreams.go Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
nsFedibird.go Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
nsLitepub.go Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
nsMasto.go Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
nsMisskey.go Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
nsOstatus.go And implement the new keys 2024-08-30 13:49:41 +02:00
nsSchema.go All parsers for the different elements done 2024-08-26 14:01:19 +02:00
nsUndefined.go Meow 2024-08-28 19:14:23 +02:00
nsW3.go All parsers for the different elements done 2024-08-26 14:01:19 +02:00
nsW3Security.go TODO is not a doc comment 2025-04-07 15:02:10 +02:00
nsW3Vcard.go All parsers for the different elements done 2024-08-26 14:01:19 +02:00
parser.go Add compactor and marshal func 2025-04-09 14:52:37 +02:00
README.md More stuff 2024-07-29 13:26:31 +02:00
tags.go Add Chain appenders to listed ns files 2025-04-07 17:38:13 +02:00
utils.go More stuff 2024-07-29 13:26:31 +02:00
variousTypes.go All parsers for the different elements done 2024-08-26 14:01:19 +02:00

GoAp

A Go library to more easily work with ActivityPub

Design goal

Provide an extendable and easy to use system for working with ActivityPub activities

Why?

Because the other existing solutions (used by fedbox and gotosocial) are both narrow in scope, only providing a subset of what AP is capable of, while simultaniously locking you into using them in a very specific way.

This library attempts to provide a more flexible interface to ActivityPub (and indirectly and technically jsonld too) by splitting it up into lots of small structs, one per attribute and extendable by implementing a parser func and an interface on the struct, then giving the parser func to the main parser of the library

Additionally the library provides structs that contain information that common ActivityPub servers send, such as Mastodon's Persons

Examples

TODO: Add examples here