No Description

Cory J Slep 9c3005b17f Merge pull request #78 from cjslep/dev 1 week ago
.github 3a2a980ca2 Add pull request template 6 months ago
as 3076a5410a Add nascent idea to static + dynamic plugin system 3 months ago
deliverer db08c01e85 Initial deliverer tests 6 months ago
pub 806c037e3b Add note to self to check Follow edge case 3 months ago
streams 31482f867e Add constructors for the streams package. 4 weeks ago
tools d2182dc3b9 Tool can now print its intermediate state 1 week ago
vocab a7d2d52351 Add multiply-typed unknown property methods to vocab interfaces. 3 months ago
CHANGELOG ff0fcb60f3 Update README and CHANGELOG in preparation for v0.4.0 release 4 weeks ago
CONTRIBUTING.md cfdfddfda4 Update changelog and contributing 4 months ago
LICENSE e840543714 Initial commit 10 months ago
README.md ff0fcb60f3 Update README and CHANGELOG in preparation for v0.4.0 release 4 weeks ago
go.mod 79f0f3f118 Add go.mod and go.modverify for vgo 6 months ago
go.sum d45efd665a Add go.mod hashes to go.sum via "go get". 3 weeks ago

README.md

activity

go get github.com/go-fed/activity

This repository contains three libraries for use in your golang applications:

  • vocab: An ActivityStreams Vocabulary library
  • streams: A convenience library for the ActivityStreams Vocabulary
  • pub: 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.

Status

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.

Getting Started

See each subdirectory for its own README for further elaboration. The recommended reading order is vocab, streams, and then pub. Others are optional.

How can I get help, file issues, or contribute?

Please see the CONTRIBUTING.md file!

How well tested are these libraries?

I took great care to add numerous tests using examples directly from specifications, official test repositories, and my own end-to-end tests.

Who is using this library currently?

Application Description Repository Point Of Contact Homepage
Anancus Self-hosted and federated social link aggregation https://gitlab.com/tuxether/anancus @tuxether@floss.social or tuxether@protonmail.ch N/A
WriteFreely Simple, open-source, privacy-focused blogging platform https://github.com/writeas/writefreely @write_as@writing.exchange or hello@write.as https://writefreely.org
Read.as Long-form reader built on open protocols https://github.com/writeas/Read.as @write_as@writing.exchange or hello@write.as https://read.as

How do I use these libraries?

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.

Other Libraries

  • tools - Code generation wizardry and ActivityPub-spec-as-data.
  • deliverer - Provides an asynchronous Deliverer for use with the pub lib

FAQ

Please see the CONTRIBUTING.md file!

Useful References

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.