{"id":13569707,"url":"https://github.com/go-fed/activity","last_synced_at":"2025-05-16T09:00:21.661Z","repository":{"id":39817154,"uuid":"118674872","full_name":"go-fed/activity","owner":"go-fed","description":"ActivityStreams \u0026 ActivityPub in golang, oh my!","archived":false,"fork":false,"pushed_at":"2022-12-04T15:24:57.000Z","size":11834,"stargazers_count":718,"open_issues_count":22,"forks_count":110,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-05-13T02:30:14.529Z","etag":null,"topics":["activitypub","activitystreams","activitystreams-vocabulary","federated","golang","golang-library","json-ld","linked-data","social"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-fed.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-23T21:53:16.000Z","updated_at":"2025-05-11T15:31:49.000Z","dependencies_parsed_at":"2023-01-23T01:16:00.158Z","dependency_job_id":null,"html_url":"https://github.com/go-fed/activity","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-fed%2Factivity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-fed%2Factivity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-fed%2Factivity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-fed%2Factivity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-fed","download_url":"https://codeload.github.com/go-fed/activity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501547,"owners_count":22081526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activitypub","activitystreams","activitystreams-vocabulary","federated","golang","golang-library","json-ld","linked-data","social"],"created_at":"2024-08-01T14:00:43.078Z","updated_at":"2025-05-16T09:00:18.869Z","avatar_url":"https://github.com/go-fed.png","language":"Go","readme":"# activity\n\n\u003e Complete ActivityStreams-based ontologies plus middleware handlers implementing ActivityPub\n\n[![Build Status][Build-Status-Image]][Build-Status-Url] [![Go Reference][Go-Reference-Image]][Go-Reference-Url]\n[![Go Report Card][Go-Report-Card-Image]][Go-Report-Card-Url] [![License][License-Image]][License-Url]\n[![Chat][Chat-Image]][Chat-Url] [![OpenCollective][OpenCollective-Image]][OpenCollective-Url]\n\n`go get github.com/go-fed/activity`\n\nThis repository contains two libraries and a tool:\n\n* `astool`: A linked-data aware tool to generate golang native types for any\nActivityStreams vocabulary.\n* `streams`: The ActivityStreams native types generated with the `astool`.\n* `pub`: ActivityPub Social Protocol (Client-to-Server or C2S) and Federating\nProtocol (Server-to-Server or S2S)\n\nCheck out [go-fed.org](https://go-fed.org/) for tutorials and documentation.\n\n## Status\n\n**1.0.0** ([Semantic Versioning](https://semver.org/))\n\nThis library has been successfully used to\n[federate since May 17, 2019](https://cjslep.com/c/blog/this-blog-is-federated).\n\nAn [official implementation report](https://activitypub.rocks/implementation-report/)\nwas last submitted for version **0.2.0** [here](https://github.com/w3c/activitypub/issues/318).\nUnfortunately, the official implementation report tool is no longer maintained.\nPrevious unofficial implementation reports are available in [issue #46](https://github.com/go-fed/activity/issues/46).\n\nPlease see CHANGELOG for changes between versions.\n\n## Getting Started\n\nCheck out [go-fed.org](https://go-fed.org/) for tutorials and documentation.\n\nAlso, see `astool`, `streams`, or `pub` for their own README.\n\n## FAQ\n\n### What vocabularies are supported?\n\n* [ActivityStreams](https://www.w3.org/TR/activitystreams-vocabulary).\n* A subset of the [toot](https://github.com/tootsuite/mastodon/blob/master/app/lib/activitypub/adapter.rb) vocabulary.\n* A subset of the [security](https://w3c-ccg.github.io/security-vocab/) vocabulary.\n* [ForgeFed](https://forgefed.peers.community/vocabulary.html).\n\n### How well tested are these libraries?\n\nI took great care to add numerous tests using examples directly from\nspecifications, official test repositories, and my own end-to-end tests.\n\n**v1.0.0** has around 200 unit tests. The **federation** or **S2S** portion of\nthe library is very well tested. The **social** or **C2S** portion could use\nadditional unit tests, but is far less popular than federation. About 70% of the\nlines are covered by unit tests.\n\n### Who is using this library currently?\n\nNote: This list only includes those who have reached out to me to explicitly be\nincluded.\n\n| Application | Description                                       | Repository                                                                 | Point Of Contact                                                                                                    | Homepage                             |\n|:-----------:|:-------------------------------------------------:|:--------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:|:------------------------------------:|\n| Anancus       | Self-hosted and federated social link aggregation              | [https://gitlab.com/tuxether/anancus](https://gitlab.com/tuxether/anancus)       | [@tuxether@floss.social](https://floss.social/@tuxether) or [tuxether@protonmail.ch](mailto:tuxether@protonmail.ch) | N/A                                                |\n| WriteFreely   | Simple, open-source, privacy-focused blogging platform         | [https://github.com/writeas/writefreely](https://github.com/writeas/writefreely) | [@write_as@writing.exchange](https://writing.exchange/@write_as) or [hello@write.as](mailto:hello@write.as)         | [https://writefreely.org](https://writefreely.org) |\n| Read.as       | Long-form reader built on open protocols                       | [https://github.com/writeas/Read.as](https://github.com/writeas/Read.as)         | [@write_as@writing.exchange](https://writing.exchange/@write_as) or [hello@write.as](mailto:hello@write.as)         | [https://read.as](https://read.as)                 |\n| go-fed/apcore | Generic ActivityPub server framework in Go                     | [https://github.com/go-fed/apcore](https://github.com/go-fed/apcore)             | [@cj@mastodon.technology](https://mastodon.technology/@cj) or [cjslep@gmail.com](mailto:cjslep@gmail.com)           | [https://go-fed.org](https://go-fed.org)           |\n\n### How do I use these libraries?\n\nCheck out [go-fed.org](https://go-fed.org/) for tutorials and documentation.\n\nPlease see each subdirectory for its own README for further elaboration.\n\n### How can I get help, file issues, or contribute?\n\nPlease see the CONTRIBUTING.md file!\n\n### Useful References\n\n* [ActivityPub Specification](https://www.w3.org/TR/activitypub)\n* [ActivityPub GitHub Repo](https://github.com/w3c/activitypub)\n* [ActivityStreams Core Specification](https://www.w3.org/TR/activitystreams-core)\n* [ActivityStreams Vocabulary Specification](https://www.w3.org/TR/activitystreams-vocabulary)\n* [ActivityStreams GitHub Repo](https://github.com/w3c/activitystreams)\n\n## Thanks\n\nI would like to thank those that have worked hard to create the technologies\nand standards that created the opportunity to implement this suite of\nlibraries.\n\nThanks to those who have been early adopters with v0 and/or provided early\nfeedback.\n\n[Build-Status-Image]: https://github.com/go-fed/activity/workflows/build/badge.svg\n[Build-Status-Url]: https://github.com/go-fed/activity/actions\n[Go-Reference-Image]: https://pkg.go.dev/badge/github.com/go-fed/activity\n[Go-Reference-Url]: https://pkg.go.dev/github.com/go-fed/activity\n[Go-Report-Card-Image]: https://goreportcard.com/badge/github.com/go-fed/activity\n[Go-Report-Card-Url]: https://goreportcard.com/report/github.com/go-fed/activity\n[License-Image]: https://img.shields.io/github/license/go-fed/activity?color=blue\n[License-Url]: https://opensource.org/licenses/BSD-3-Clause\n[Chat-Image]: https://img.shields.io/matrix/go-fed:feneas.org?server_fqdn=matrix.org\n[Chat-Url]: https://matrix.to/#/!BLOSvIyKTDLIVjRKSc:feneas.org?via=feneas.org\u0026via=matrix.org\n[OpenCollective-Image]: https://img.shields.io/opencollective/backers/go-fed-activitypub-labs\n[OpenCollective-Url]: https://opencollective.com/go-fed-activitypub-labs\n","funding_links":["https://opencollective.com/go-fed-activitypub-labs"],"categories":["Go","Libraries"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-fed%2Factivity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-fed%2Factivity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-fed%2Factivity/lists"}