I decided to start sharing parts of as they become mature.

Today, I am releasing a library for decoding ActivityStreams 2.0 objects into native Go objects and also for encoding Go objects into ActivityStreams 2.0 JSON objects.


The usage is your typical Go Marshal/Unmarshal, (see tests for examples).

The license is copyleft (AGPLv3).

Your feedback (and a star) are welcome :-)

@mariusor Interesting. I am working on a complete ActivityPub server as part of a project () and derided to extrapolate this into a library in case it's useful elsewhere, it was actually a monolith until recently.

@mariusor Haha, well, mine is copyleft anyway, so it's audience is going to be somewhat limited. :-)

@MatejLach to be honest it's not going to "complete" in the traditional sense, as it's going to be doing just the ActivityPub server operations. But ideally the clients that can be implemented over it can do whatever they want.

The first target is a simple frontend representing a link aggregator similar to old reddit.

@mariusor I was joking with that. :-D This looks cool. Tbh, I am happy the Go fediverse ecosystem is nowhere as dead as it looked when I started.

@MatejLach yeah same.

I had no idea there were other people involved in go+activitypub projects besides me and

Sign in to participate in the conversation
Matej Lach's mastodon

Hi there! I am a free software developer. I enjoy working on useful software, as well as advocating for software freedom and the use of open standards, promoting data ownership, decentralization and privacy. If this is important to you, I may be worth following. If you like Go, Rust, or Swift, it may be worth following me as well. Besides computing, I enjoy metal, a good read and occasionally some gaming, (not much time for that these days).